CESM
(→Downloading the Input data) |
(→Machine) |
||
Línea 126: | Línea 126: | ||
== Machine == |
== Machine == |
||
− | We need to create the configuration for ''hydra''. For that purpose we are going to use the exampled configuration for <CODE>"centos7-linux"</CODE> from file <PRE>cime/config/cesm/machines/config_machines.xml</PRE>. This is its content_ |
+ | We need to create the configuration for ''hydra''. For that purpose we are going to use the exampled configuration for <CODE>"centos7-linux"</CODE> from file <PRE>cime/config/cesm/machines/config_machines.xml</PRE>. This is its content: |
<PRE> |
<PRE> |
||
− | <machine MACH="centos7-linux"> |
+ | <machine MACH="hydra"> |
<DESC> |
<DESC> |
||
− | Example port to centos7 linux system with gcc, netcdf, pnetcdf and mpich |
+ | Example port to CIMA's hydra |
− | using modules from http://www.admin-magazine.com/HPC/Articles/Environment-Modules |
||
</DESC> |
</DESC> |
||
− | <NODENAME_REGEX>regex.expression.matching.your.machine</NODENAME_REGEX> |
+ | <NODENAME_REGEX>node</NODENAME_REGEX> |
− | <OS>LINUX</OS> |
+ | <OS>LINUX Debian</OS> |
<PROXY> https://howto.get.out </PROXY> |
<PROXY> https://howto.get.out </PROXY> |
||
<COMPILERS>gnu</COMPILERS> |
<COMPILERS>gnu</COMPILERS> |
||
Línea 140: | Línea 140: | ||
<SAVE_TIMING_DIR> </SAVE_TIMING_DIR> |
<SAVE_TIMING_DIR> </SAVE_TIMING_DIR> |
||
<CIME_OUTPUT_ROOT>$ENV{HOME}/cesm/scratch</CIME_OUTPUT_ROOT> |
<CIME_OUTPUT_ROOT>$ENV{HOME}/cesm/scratch</CIME_OUTPUT_ROOT> |
||
− | <DIN_LOC_ROOT>$ENV{HOME}/cesm/inputdata</DIN_LOC_ROOT> |
+ | <DIN_LOC_ROOT>/share/cesm/inputdata</DIN_LOC_ROOT> |
− | <DIN_LOC_ROOT_CLMFORC>$ENV{HOME}/cesm/inputdata/lmwg</DIN_LOC_ROOT_CLMFORC> |
+ | <DIN_LOC_ROOT_CLMFORC>/share/cesm/inputdata/lmwg</DIN_LOC_ROOT_CLMFORC> |
<DOUT_S_ROOT>$ENV{HOME}/cesm/archive/$CASE</DOUT_S_ROOT> |
<DOUT_S_ROOT>$ENV{HOME}/cesm/archive/$CASE</DOUT_S_ROOT> |
||
<BASELINE_ROOT>$ENV{HOME}/cesm/cesm_baselines</BASELINE_ROOT> |
<BASELINE_ROOT>$ENV{HOME}/cesm/cesm_baselines</BASELINE_ROOT> |
||
Línea 147: | Línea 147: | ||
<GMAKE>make</GMAKE> |
<GMAKE>make</GMAKE> |
||
<GMAKE_J>8</GMAKE_J> |
<GMAKE_J>8</GMAKE_J> |
||
− | <BATCH_SYSTEM>none</BATCH_SYSTEM> |
+ | <BATCH_SYSTEM>pbs</BATCH_SYSTEM> |
− | <SUPPORTED_BY>me@my.address</SUPPORTED_BY> |
+ | <SUPPORTED_BY>soporte@cima.fcen.uba.ar</SUPPORTED_BY> |
− | <MAX_TASKS_PER_NODE>8</MAX_TASKS_PER_NODE> |
+ | <MAX_TASKS_PER_NODE>128</MAX_TASKS_PER_NODE> |
− | <MAX_MPITASKS_PER_NODE>8</MAX_MPITASKS_PER_NODE> |
+ | <MAX_MPITASKS_PER_NODE>128</MAX_MPITASKS_PER_NODE> |
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED> |
<PROJECT_REQUIRED>FALSE</PROJECT_REQUIRED> |
||
− | <mpirun mpilib="default"> |
+ | <mpirun mpilib="impi"> |
<executable>mpiexec</executable> |
<executable>mpiexec</executable> |
||
<arguments> |
<arguments> |
||
Línea 158: | Línea 158: | ||
</arguments> |
</arguments> |
||
</mpirun> |
</mpirun> |
||
− | <module_system type="module" allow_error="true"> |
||
− | <init_path lang="perl">/usr/share/Modules/init/perl.pm</init_path> |
||
− | <init_path lang="python">/usr/share/Modules/init/python.py</init_path> |
||
− | <init_path lang="csh">/usr/share/Modules/init/csh</init_path> |
||
− | <init_path lang="sh">/usr/share/Modules/init/sh</init_path> |
||
− | <cmd_path lang="perl">/usr/bin/modulecmd perl</cmd_path> |
||
− | <cmd_path lang="python">/usr/bin/modulecmd python</cmd_path> |
||
− | <cmd_path lang="sh">module</cmd_path> |
||
− | <cmd_path lang="csh">module</cmd_path> |
||
− | <modules> |
||
− | <command name="purge"/> |
||
− | </modules> |
||
− | <modules compiler="gnu"> |
||
− | <command name="load">compiler/gnu/8.2.0</command> |
||
− | <command name="load">mpi/3.3/gcc-8.2.0</command> |
||
− | <command name="load">tool/netcdf/4.6.1/gcc-8.1.0</command> |
||
− | <command name="load">tool/parallel-netcdf/1.12.1/mpich</command> |
||
− | </modules> |
||
− | </module_system> |
||
<environment_variables> |
<environment_variables> |
||
<env name="OMP_STACKSIZE">256M</env> |
<env name="OMP_STACKSIZE">256M</env> |
Revisión de 11:24 13 mayo 2024
Contenido |
Model description
'*** IMPORTANTE: PAGINA EN CONSTRUCCION***
The Community Earth System Model (CESM) is a fully-coupled, community, global climate model that provides state-of-the-art computer simulations of the Earth's past, present, and future climate states. The CESM project is supported primarily by the National Science Foundation (NSF). Administration of the CESM is maintained by the Climate and Global Dynamics Laboratory (CGD) at the National Center for Atmospheric Research (NCAR).
For the latest CESM release and CESM2 components see CESM2 documentation.
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 fileconfig_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