Namelist changes from CAM tag cam3_3_15 and beyond
Originator(s): Erik Kluzek
Date: Thu Jul 13 21:17:44 MDT 2006
Purpose of changes: Put in top level initialization and clock objects at driver level for moving forward with sequential CCSM.
This separates out the driver from the internals of the CAM time-manager. Making the top level driver separable from CAM itself, and moves it toward a Sequential CCSM where the sub-components can be swapped for other CCSM components (such as the CCSM data models or active ice and active ocean models).
Describe any changes made to the namelist: Split into 4 namelists.
The ccsm_inparm namelist is managed by the shr_inputInfo_mod.F90 module and objects. The timemgr_inparm namelist is managed by the eshr_timemgr_mod.F90 module and objects. These are both sequential CCSM top level driver objects that are passed into sub-components (atmosphere, land, sea-ice, and ocean) to manage information that is shared between sub-components.
CHANGE SO THAT THE NAMELIST IS NO LONGER READ FROM STDIN -- THE NAMELIST NAME IS ASSUMED AND THE FILE OPENED EXPLICITLY. When namelists read the file is opened, and namelists are read until the correct one is found, then the file is closed. If the needed namelist does not exist -- OR THERE IS AN ERROR IN IT -- the program will abort with an error.
The interface to build-namelist still uses the input namelists of: camexp and clmexp and will divide the relevant namelist items to the appropriate namelists.
Option added to build-namelist: -ignore_ic_date
by default build-namelist will match the start date/time (start_ymd,start_tod) for initial condition datasets. If a suitable dataset with the correct starting date (as well as resolution and other matching criteria) isn't found -- an initial condition dataset will NOT be provided.
If you use the -ignore_ic_date option is used datasets will be matched without examining the starting date/time of the dataset.
Namelist items removed:
Namelist items moved to different namelist:
Namelist items that changed names:
Namelist items added:
Example creation of the old and new namelist using build-namelist:
build-namelist -runtype initial -namelist "&camexp nelapse=-1, restart_monthly=.true., iyear_AD=1990/ "
build-namelist -runtype startup -namelist "&camexp stop_option='ndays', stop_n=1, restart_option='monthly' , orb_iyear_AD=1990 /"
So build-namelist figures out that all of the above options belong in the timemgr_inparm namelist and deal with it appropriately. And results in the following namelist:
case_name = 'camrun'
start_type = "startup"
atm_cpl_dt = 1200
orb_iyear_ad = 1950
restart_option = 'monthly'
start_ymd = 901
stop_n = 1
stop_option = 'ndays'
absems_data = '/fs/cgd/csm/inputdata/atm/cam/rad/abs_ems_factors_fastvx.c030508.nc'
aeroptics = '/fs/cgd/csm/inputdata/atm/cam/rad/AerosolOptics_c050419.nc'
bnd_topo = '/fs/cgd/csm/inputdata/atm/cam/topo/USGS-gtopo30_64x128_c050520.nc'
bndtvaer = '/fs/cgd/csm/inputdata/atm/cam/rad/AerosolMass_V_64x128_clim_c031022.nc'
bndtvo = '/fs/cgd/csm/inputdata/atm/cam/ozone/pcmdio3.r8.64x1_L60_clim_c970515.nc'
bndtvs = '/fs/cgd/csm/inputdata/atm/cam/sst/sst_HadOIBl_bc_64x128_clim_c020411.nc'
dtime = 1200
ncdata = '/fs/cgd/csm/inputdata/atm/cam/inic/gaus/cami_0000-09-01_64x128_L26_c030918.nc'
fpftcon = '/fs/cgd/csm/inputdata/lnd/clm2/pftdata/pft-physiology-cn16.c040719'
fsurdat = '/fs/cgd/csm/inputdata/lnd/clm2/srfdata/cam/clms_3.1_64x128_c050523.nc'
How to override information on the restart file from the namelist: **
By default for a continue or branch type of simulation -- driver information is read from the restart file and namelist information is ignored. In order to explicitly use driver level restart information you have to do the following:
1.) Set given namelist item(s) you want to override.
2.) Set restart_file_override (or restart_file_TGRoverride for timemgr_inparm namelist) to include the colon delimited list of items you want to override on the namelist.
3.) To override the case_name -- set the brnch_retain_casename namelist item to true.
List of ccsm_inparm items that can be overridden: mss_irt, mss_wpass, and case_desc
(and case_name is brnch_retain_casename is set to true)
List of timemgr_inparm items that can be overridden: restart_option, restart_n
build-namelist -runtype continue -namelist \
"&camexp mss_irt=45, mss_wpass='example', restart_file_override='mss_irt:mss_wpass' /"
The above example will override the values of mss_irt, mss_wpass from the restart file with those given on the namelist. Note if restart_file_override were missing, the values on the restart file would be used an the values on the namelist ignored.
build-namelist -runtype continue -namelist \
"&camexp restart_option='nyears', restart_n=2, restart_file_TGRoverride='restart_option:restart_n' /"
The above example will override the values of restart_option, and restart_n from the restart file with those given on the namelist. Note if restart_file_override were missing, the values on the restart file would be used an the values on the namelist ignored.