Main menu


CESM 2.0 beta Porting to Non-NCAR Machine

2 posts / 0 new
Last post
CESM 2.0 beta Porting to Non-NCAR Machine


I am trying to run the CESM 2.0 beta version on a non-NCAR machine and I noticed that when I try to build a case, option "-mach userdefined" is invalid as "userdefined" is unspecified in config_machines.xml. 

First, I tried editing the script using code from cesm1-2-2's file of the same name. I am not super familiar with editing .xml files so it was no suprise when this tactic didn't work. The code I used was: 

<machine MACH="userdefined">

        <DESC>User Defined Machine</DESC>                                 <!-- can be anything -->

        <OS>USERDEFINED_required_macros</OS>                              <!-- LINUX,Darwin,CNL,AIX,BGL,BGP -->

        <COMPILERS>intel,ibm,pgi,pathscale,gnu,cray,lahey</COMPILERS>     <!-- intel,ibm,pgi,pathscale,gnu,cray,lahey -->

        <MPILIBS>openmpi,mpich,mpt,mpt,ibm,mpi-serial</MPILIBS>                <!-- openmpi, mpich, ibm, mpi-serial -->

        <CESMSCRATCHROOT>USERDEFINED_required_build</CESMSCRATCHROOT>                     <!-- complete path to the 'scratch' directory -->

        <RUNDIR>USERDEFINED_required_build</RUNDIR>                       <!-- complete path to the run directory -->

        <EXEROOT>USERDEFINED_required_build</EXEROOT>                     <!-- complete path to the build directory -->

        <DIN_LOC_ROOT>USERDEFINED_required_build</DIN_LOC_ROOT>           <!-- complete path to the inputdata directory -->

        <DIN_LOC_ROOT_CLMFORC>USERDEFINED_optional_build</DIN_LOC_ROOT_CLMFORC> <!-- path to the optional forcing data for CLM (for CRUNCEP forcing) -->

        <DOUT_S>FALSE</DOUT_S>                                            <!-- logical for short term archiving -->

        <DOUT_S_ROOT>USERDEFINED_optional_run</DOUT_S_ROOT>               <!-- complete path to a short term archiving directory -->

        <DOUT_L_MSROOT>USERDEFINED_optional_run</DOUT_L_MSROOT>           <!-- complete path to a long term archiving directory -->

        <CCSM_BASELINE>USERDEFINED_optional_run</CCSM_BASELINE>           <!-- where the cesm testing scripts write and read baseline results -->

        <CCSM_CPRNC>USERDEFINED_optional_test</CCSM_CPRNC>                <!-- path to the cprnc tool used to compare netcdf history files in testing -->








So my question is this: is there a better version of this code that would be better integrated into the new config_machines.xml? Is there another file that needs adding/editing? Am I completely off base?


Thanks for any help!


Hi Sara,

I've been working on porting a version of the CESM (1.5_beta02) to one of our machines here.  This version uses the CIME configuration method found in the CESM v2, although likely not all has been as fully developed as the version you have.

the method I used was to copy a block that appeared roughly similar to our machine, from each of config_machines.xml, config_batch.xml, and config_compilers.xml, and copy each block into a file of the same name, located in the .cime directory created in my home directory.  I changed the name in "MACH=name" to match our machine name, and modified the characteristics to match our machine characteristics.

trial and error, examining results in my case directory and modifying these three ~/.cime/config_xxx.xml files has so far led me to a spot where I think I have it functioning.

when you create a new case, the scripts add the contents of these three files to the ones found in cime/cime_config/cesm/machines/.  Once I fiigure out all the controls, I'll move the blocks in the ~/.cime/ configuration files to those in cime/cime_config/cesm/machines/ and delete the ones in my home directory.

good luck,


Log in or register to post comments

Who's new

  • matthew.henry@...
  • aelders@...
  • stuecker
  • 18789461762@...
  • bieri2@...