U
    ™rf±  ã                   @   s¨   d Z ddlZddlZej ej ej e¡¡dddd¡Zej 	ej edd¡¡ ddl
T ddlmZ ddlmZ dd	lmZ e e¡Zd
d„ Zdd„ Zedkr¤eƒ  dS )z
build model executable
é    Nz..ÚscriptsÚTools)Ú*)Úparse_input)ÚCase)Úexpectc              	   C   sÈ   |  d¡}|  d¡}|  d¡}|  d¡}t|d kp<t|ƒdkdƒ ttj |dd¡d	ƒ:}| tj |d
d¡d ¡ | tj |dd¡d ¡ W 5 Q R X ttj |dd¡d	ƒ}| d¡ W 5 Q R X d S )NÚ	CASEBUILDÚCASEROOTÚSRCROOTZNUM_COMP_INST_ESPé   z(ESP component restricted to one instanceÚcplconfÚFilepathÚwÚ
SourceModszsrc.drvÚ
z
driver-mctÚmainZCIME_cppdefsÚ )Ú	get_valuer   ÚintÚopenÚosÚpathÚjoinÚwrite)ÚbldrootÚinstallpathÚcaseÚ	casebuildÚcaserootÚsrcrootZnum_espÚout© r!   úN/global/u1/q/qinyi/eagles_code/eaglesrrm/driver-mct/cime_config/buildlib_cmakeÚbuildlib   s    



$r#   c               	   C   s8   t tjƒ\} }}t| dd}t|||ƒ W 5 Q R X d S )NF)Ú	read_only)r   ÚsysÚargvr   r#   )r   Úlibrootr   r   r!   r!   r"   Ú
_main_func%   s    r(   Ú__main__)Ú__doc__r%   r   r   r   ÚdirnameÚabspathÚ__file__Ú	_CIMEROOTÚappendÚstandard_script_setupZCIME.buildlibr   Ú	CIME.caser   Ú
CIME.utilsr   ÚloggingÚ	getLoggerÚ__name__Úloggerr#   r(   r!   r!   r!   r"   Ú<module>   s   $
