Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Transition from holylfs & kuanglfs to holystore01

Table of Contents
maxLevel3

...

CESM2 with SPCAM (Jun 2018 or later): instructions to download yourself
CESM1.1.1 with SPCAM (Feb 2013) is downloaded in ~pchan/spcam2_0-cesm1_1_1/
CESM1.2.2 (Jun 2014) is downloaded in /n/holylfsholystore01/INTERNAL_REPOS/CLIMATE_MODELS/cesm1_2_2/
SPCAM3.5.0 (Feb 2009) is downloaded in ~kuang/Model/origSPCAM/

...

Register in http://www.cesm.ucar.edu/models/register/register.html

Edit ~/.bashrc to include following lines (for If you do not yet have "huce file access", request it from RC. If you see groups=...10047(huce)... when you run id, then you already have the access.

Edit ~/.bashrc to include following lines (May 2018, also known as CentOS7):

module load intel/17.0.4-fasrc01 impi/2017.2.174-fasrc01 netcdf/4.1.3-fasrc02

module load perl-modules/5.10.1-fasrc13

...

If you need POP2 (e.g. compset B), enter cpan, key in: install Switch, then exit cpan.

cp /n/home05/pchan/spcam2_0-cesm1_1_1/scripts/create_new_build.sh ~/  #please copy a newer version after after May 2018 (the CentOS7 update)

2. Edit create_new_build.sh

...

Partition is default to be huce_amd, which works in most of the case. For more about HUCE(huce_amd decomissioned, 2/3/2020) For more about HUCE's partitions, see Harvard cluster job queues.

...

4. Run create_new_build.sh (~12 mins)

Make sure you are not in nx nodes (not in rcnx01 or holynx01).Make sure you have modules loaded as step 1.

...

echo -n `date +%FT%T` TEST-ONLY-; sbatch --test-only ${CASE}.run

6. Submit the model

Make sure you are not in nx nodes (not in rcnx01 or holynx01).Make sure you have modules loaded as step 1.

...

OUTPUT is the path of large file storage where all Build/Run and Short Term Archive will be located. Default is kuanglfs, which works only for Kuang's group. "/n/regal$SCRATCH/`id -gn`/$USER/cesm_output/${CASE}" will work well if you want to use regal$SCRATCH.

Partition is default to be huce_amd. To use huce_intel, uncomment the 3rd-4th lines.

...

The above figure is adapted from http://www.cesm.ucar.edu/events/tutorials/2016/practical1-bertini.pdf p.48.

CESM1.1.1 (with SPCAM) is downloaded in ~pchan/spcam2_0-cesm1_1_1/

CESM1.2.2 is downloaded in ~leiw/cesm1_2_2/

There is no need There is no need to copy the CESM download folder. (for CESM1, which someone already downloaded for you)

The inputdata directory is located in /n/holystore01/kuanglfs/pchan/CAM_input. Packard INTERNAL_REPOS/CLIMATE_MODELS/cesm_2_1/inputdata. Seb has opened write access so everyone should be able to download inputdata when needed. Please only download data that you need, as the whole data set is >20T in size.

...

Expand

Namelist in this page refers to text files read in by Fortran NAMELIST statements. In many Fortran numerical models (including CESM), namelist are used to specify runtime options, without having to rebuild the model. Sample namelist looks like:

&GROUP_NAME
 char_variable = "a char variable",
 logical_variable = .true.,
 real_variable = 12.3,
 int_array = 1, 2, 3, 4,
/

Read more about Fortran namelist in: link1, link2, link3.

How namelists are built in CESM?

$RUNDIR/*_in are namelists directly read by Fortran program. They are recommended NOT to be edited directly, but instead, indirectly through user_nl_* and env_*.xml. The processes of indirectly creating namelists are as follows:

...

  • preview_namelists 
    • calls Buildconf/$comp.buildnml.csh
    • copies *_in to CaseDocs/
  • Buildconf/$comp.buildnml.csh 
    • call $CCSMROOT/models/**/bld/build-namelist, which create namelist Buildconf/*conf/*_in
    • copy *_in to $RUNDIR (overwrite)
  • build-namelist 
    • takes “infile” from user_nl_*
    • writes out Buildconf/*conf/*_in and Buildconf/*.input_data_list

When job is submitted:

  • $CASE.submit submits $CASE.run
  • $CASE.run calls preview_namelists
  • Same things happen again.

...

How to modify namelists in CESM?

If possible, always use user_nl_* and env_*.xml.

E.g. ./xmlchange SSTICE_DATA_FILENAME=/path/to/new_sst.nc

...

If impossible, manually change $RUNDIR/*_in, and disable copying (overwriting) in Buildconf/$comp.buildnml.csh

...

  1. grep -Ev '^\s*$|^\s*!' user_nl_*
    can display all non-empty uncommented lines in user_nl_*

  2. ./preview_namelists can update namelists (and input_data_list)

  3. grep '' Buildconf/*.input_data_list
    can list out all input data.
  4. DIN_LOC_ROOT=`./xmlquery -valonly -silent DIN_LOC_ROOT`
    ./check_input_data -inputdata $DIN_LOC_ROOT -check
    can check input data

  5. Section &seq_infodata_inparm in drv_in can be checked in $RUNDIR/cpl.log.$LID

  6. Always compare default namelist and new namelist

  7. Sometimes, user_nl_* are not interpreted literally. E.g. specifying prescribed_ozone_file could remove lines for prescribed_ozone_cycle_yr, prescribed_ozone_name, etc.

  8. Never edit namelist in CaseDocs/ or Buildconf/, they are overwritten every time and NOT read by Fortran program.


References:

http://jules-lsm.github.io/vn4.2/namelists/intro.html

http://www.lahey.com/docs/lfpro73help/f95arnameliststmt.htm

http://www.codezone.co.uk/fortran/namelist.shtml

http://www.cesm.ucar.edu/models/cesm1.1/cesm/doc/usersguide/c1128.html

http://www.cesm.ucar.edu/events/tutorials/2016/practical4-hannay.pdf


Compset

Compset is a short form for "component set", which specifies component models, forcing scenarios and physics options for those models.

...

https://docs.google.com/document/d/1pev8G4OmJGacKhtK8Bh3t_B4yh4DFc_pvGc6I6BtWl8/edit?usp=sharing


Bugs and technical notes

Technical notes on how the model is ported to Harvard cluster: https://github.com/PackardChan/spcam2_0-cesm1_1_1-port

Starting CESM1.2.2, cesm_postrun_setup is problematic.

CESM1.2.2 obtained from NCAR is missing a few directories since google apps no longer works.  If you are running in to this problem:

...

 

Unconfirmed: aquaplanet - src.aquap do not take effect.

References

http://www.cesm.ucar.edu/events/tutorials/2016/coursework.html (look for practical sessions)

spcam-workshop-jul2013.pdf

...

styleposition:sticky;bottom:0;
titleinputdata disk

...

/n/holylfs & /n/kuanglfs are near end of life. Both disks store inputdata. Please transition to /n/holystore01/INTERNAL_REPOS/CLIMATE_MODELS/cesm_2_1.
For CESM1, the command is ./xmlchange DIN_LOC_ROOT="/n/holystore01/INTERNAL_REPOS/CLIMATE_MODELS/cesm_2_1/inputdata"
For CESM2 (who follows our GoogleDoc instructions), the command is ln -sfT /n/holystore01/INTERNAL_REPOS/CLIMATE_MODELS/cesm_2_1/inputdata $CESMDATAROOT/inputdata
A temporary link has been created pointing from /n/holylfs/INTERNAL_REPOS/CLIMATE_MODELS to /n/holystore01/INTERNAL_REPOS/CLIMATE_MODELS. This temporary link will be removed when /n/holylfs decommission. Please run the above commands before the decommission.
The new place is limited to huce group. Updates (if any) will be posted here.
(last update: 7/30/2020)


Technical notes on how the model is ported to Harvard cluster: https://github.com/PackardChan/spcam2_0-cesm1_1_1-port


Starting CESM1.2.2, cesm_postrun_setup is problematic.


CESM1.2.2 obtained from NCAR is missing a few directories since google apps no longer works.  If you are running in to this problem:

1. Missing pio directory in /models/utils/pio
Solution:
svn checkout https://github.com/NCAR/ParallelIO.git/tags/pio1_8_12/pio ./cesm1_2_2/models/utils/pio

2. Missing genf90.pl file
Solution:
svn checkout https://github.com/PARALLELIO/genf90/tags/genf90_140121 ./cesm1_2_2/tools/cprnc/genf90


 

Unconfirmed: aquaplanet - src.aquap do not take effect.


References

http://www.cesm.ucar.edu/events/tutorials/2016/coursework.html (look for practical sessions)

spcam-workshop-jul2013.pdf



Div
styleposition:sticky;bottom:0;
titleinputdata disk


Note

Transition from holylfs & kuanglfs to holystore01. Read more. (last update: 7/30/2020)