Table of Contents | ||
---|---|---|
|
...
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 the CentOS7 update
...
xxx: migrating from https://docs.google.com/document/d/1ap8b3lsA9f89Li5dKICReYuz8bAf1yYACfavivX9joU/edit
What is namelist?
Expand |
---|
Namelist in this page refers to text files read in by Fortran NAMELIST statements. In many numerical models (including CESM), namelist are used to specify runtime options, without having to rebuild the model. Sample namelist looks like:
|
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
...
grep -Ev '^\s*$|^\s*!' user_nl_*
can display all non-empty uncommented lines in user_nl_*./preview_namelists can update namelists (and input_data_list)
- grep '' Buildconf/*.input_data_list
can list out all input data. DIN_LOC_ROOT=`./xmlquery -valonly -silent DIN_LOC_ROOT`
./check_input_data -inputdata $DIN_LOC_ROOT -check
can check input dataSection &seq_infodata_inparm in drv_in can be checked in $RUNDIR/cpl.log.$LID
Always compare default namelist and new namelist
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.
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.
...