CESMInstall WIKI CESM - hydra
Downloading CESM2
Following CESM2 Quick Start Guide and CESM2 github instructions.
Cloning the code:
git clone -b release-cesm2.2.2 git@github.com:ESCOMP/CESM.git my_cesm_sandbox
This will create a directory my_cesm_sandbox/ in your current working directory.
We got the following
$ cd my_cesm_sandbox/ $ ls ChangeLog CODE_OF_CONDUCT.md Externals.cfg manage_externals ChangeLog_template describe_version Externals_cime.cfg README.rst cime_config doc LICENSE.txt
Verifying that installation was fine:
$ ./manage_externals/checkout_externals $ ls ChangeLog CODE_OF_CONDUCT.md Externals.cfg README.rst ChangeLog_template components Externals_cime.cfg cime describe_version LICENSE.txt cime_config doc manage_externals
Defining the compilation / installation
Machine
We need to create the configuration for hydra. For that purpose we are going to use the exampled configuration for "centos7-linux" from file
cime/config/cesm/machines/config_machines.xml
. This is its content:
<machine MACH="hydra">
<DESC>
Example port to CIMA's hydra
</DESC>
<NODENAME_REGEX>node</NODENAME_REGEX>
<OS>LINUX Debian</OS>
<PROXY> https://howto.get.out </PROXY>
<COMPILERS>gnu</COMPILERS>
<MPILIBS>mpich</MPILIBS>
<PROJECT>none</PROJECT>
<SAVE_TIMING_DIR> </SAVE_TIMING_DIR>
<CIME_OUTPUT_ROOT>$ENV{HOME}/cesm/scratch</CIME_OUTPUT_ROOT>
<DIN_LOC_ROOT>/share/cesm/inputdata</DIN_LOC_ROOT>
<DIN_LOC_ROOT_CLMFORC>/share/cesm/inputdata/lmwg</DIN_LOC_ROOT_CLMFORC>
<DOUT_S_ROOT>$ENV{HOME}/cesm/archive/$CASE</DOUT_S_ROOT>
<BASELINE_ROOT>$ENV{HOME}/cesm/cesm_baselines</BASELINE_ROOT>
<CCSM_CPRNC>$ENV{HOME}/cesm/tools/cime/tools/cprnc/cprnc</CCSM_CPRNC>
<GMAKE>make</GMAKE>
<GMAKE_J>8</GMAKE_J>
<BATCH_SYSTEM>pbs</BATCH_SYSTEM>
<SUPPORTED_BY>soporte@cima.fcen.uba.ar</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>128</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>128</MAX_MPITASKS_PER_NODE>
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED>
<mpirun mpilib="impi">
<executable>mpiexec</executable>
<arguments>
<arg name="ntasks"> -np {{ total_tasks }} </arg>
</arguments>
</mpirun>
<environment_variables>
<env name="OMP_STACKSIZE">256M</env>
</environment_variables>
<resource_limits>
<resource name="RLIMIT_STACK">-1</resource>
</resource_limits>
</machine>
Work-flow
configuration of the work-flow is done via the file
config_batch.xml
http://esmci.github.io/cime/versions/master/html/users_guide/machine.html
Porting and validating CIME on a new platform
http://esmci.github.io/cime/versions/master/html/users_guide/porting-cime.html
Downloading the Input data
All input data will be downloaded in
/share/cesm
Input datasets are needed to run the model. CESM input data are available through a separate Subversion input data repository.
- Change check_input_data header so it runs with Python 2.7.x version:
sed -i -e 's!/usr/bin/env python!/share/anaconda2/bin/python!' ./cime/scripts/Tools/check_input_data