EXPERTS: How do I add a new user-defined component set?

Numerous component sets (i.e. compsets) are provided "out-of-the-box" with CESM release. You can also call create_newcase giving it the -user_compset argument to point to your own customized component set name.

In CESM1.2, the component set definition file, $CCSMROOT/scripts/ccsm_utils/Case.template/config_compsets.xml has been redefined to be hierarchical. The following documents the rules involved for generating a compset from the hierarchy. The compononent set longname is given by the following notation:


TIME_ATM[%phys]_LND[%phys]_ICE[%phys]_OCN[%phys]_ROF[%phys]_GLC[%phys]_WAV[%phys][_BGC%phys]

TIME = Time period (e.g. 2000, 20TR, RCP8...)
ATM  = [CAM4, CAM5, DATM, SATM, XATM]
LND  = [CLM40, CLM45, DLND, SLND, XLND]
ICE  = [CICE, DICE, SICE, SICE]
OCN  = [POP2, DOCN, SOCN, XOCN,AQUAP]
ROF  = [RTM, DROF, SROF, XROF]
GLC  = [CISM1, SGLC, XGLC]
WAV  = [SWAV, XWAV]
BGC  = optional BGC scenario

The optional %phys attributes specify submodes of the given system ALL the possible %phys choices for each component are listed with the -list command for create_newcase and also summarized below.


=========================================
Time period (first four characters)
=========================================
1850 => pre-industrial       
2000 => present day          
20TR => transient 1850 to 2000 
5505 => transient 1955 to 2005 
9205 => transient 1992 to 2005 
RCP8 => transient RCP8.5 future scenario
RCP6 => transient RCP6.0 future scenario
RCP4 => transient RCP4.5 future scenario
RCP2 => transient RCP2.6 future scenario
NUKE => Nuclear winter hypothetical scenario (based on RCP4.5)
1996 => present day with conditions for solar minimum in 1996
AMIP => transient for "stand-alone" CAM (1979 startdate)
GEOS => GEOS5 metereology for "stand-alone" CAM 

=========================================
CAM 
=========================================
CAM4% => cam4 physics 
CAM5% => cam5 physics 
CAM[45]%WCCM => CAM WACCM with daily solar data and SPEs: 
CAM[45]%WCMX => CAM WACCM-X:                    
CAM[45]%WCSC => CAM WACCM specified chemistry:  
CAM[45]%WCBC => CAM WACCM with the stratospheric black carbon CARMA model: 
CAM[45]%WCSF => CAM WACCM with sulfur chemistry and the sulfate CARMA model: 
CAM[45]%FCHM => CAM super_fast_llnl chemistry:  
CAM[45]%TMOZ => CAM trop_mozart chemistry:      
CAM[45]%MOZM => CAM trop_mozart_mam3 chemistry: 
CAM[45]%MOZS => CAM trop_mozart_soa chemistry:  
CAM[45]%SMA3 => CAM trop_strat_mam3 chemistry:  
CAM[45]%SMA7 => CAM trop_strat_mam7 chemistry:  
CAM[45]%SSOA => CAM trop_strat_soa chemistry: 
CAM[45]%RCO2 => CAM CO2 ramp: 

=========================================
CLM 
=========================================
note: [^_]* means match zero or more of any character BUT an underbar.
(in other words make sure there is NOT a underbar before the string afterwards)

CLM40            => clm4.0 Physics
CLM40%[^_]*SP    => clm4.0 Satellite phenology
CLM40%[^_]*CN    => clm4.0 Carbon Nitrogen
CLM40%[^_]*CNDV  => clm4.0 Carbon Nitrogen Dynamic Vegetation
CLM40%[^_]*CROP  => clm4.0 Prognostic crop
CLM40%[^_]*SNCR  => clm4.0 SNICAR radiative forcing calculation on

CLM45            => clm4.5 Physics
CLM45%[^_]*SP    => clm4.5 Satellite phenology
CLM45%[^_]*CN    => clm4.5 Carbon Nitrogen Biogeochemistry (BGC) (as in CLM4.0)
CLM45%[^_]*CNDV  => clm4.5 Carbon Nitrogen BGC with Dynamic Vegetation
CLM45%[^_]*BGC   => clm4.5 BGC (CN with vertically resolved soil BGC, based on Century with Methane)
CLM45%[^_]*CROP  => clm4.5 Prognostic crop
CLM45%[^_]*VIC   => clm4.5 VIC hydrology
CLM40%[^_]*SNCR  => clm4.0 SNICAR radiative forcing calculation on
CLM45%[^_]*BGCDV => clm4.5 BGC (CN with vertically resolved soil BGC, based on Century with Methane) with dynamic veg 

=========================================
CICE 
=========================================
CICE      => prognostic cice
CICE%PRES => prescribed cice 

=========================================
POP2 
=========================================
POP2     => POP2 default
POP2%ECO => POP2/Ecosystem
POP2%DAR => Darwin marine ecosystem (not supported in community releases) 

=========================================
RTM 
=========================================
RTM       => default RTM model
RTM%FLOOD => RTM model with flood 

=========================================
CISM
=========================================
CISM1  => cism1 (default, serial only) 

=========================================
DATM 
=========================================
DATM%QIA   => QIAN atm input data (1948-1972)
DATM%CRU   => CRUNCEP atm input data for (1901-2010)
DATM%S1850 => CPL history atm input data
DATM%1PT   => single point tower site atm input data
DATM%NYF   => COREv2 datm normal year forcing
DATM%IAF   => COREv2 datm interannual year forcing 

=========================================
DLND 
=========================================
DLND%NULL => dlnd_mode is NULL   , dlnd_sno_mode is NULL
DLND%SCPL => dlnd_mode is NULL   , dlnd_sno_mode is CPLHIST (used for TG)
DLND%LCPL => dlnd_mode is CPLHIST, dlnd_sno_mode is NULL 

=========================================
DROF 
=========================================
DROF%NYF  => COREv2 drof normal year forcing
DROF%IAF  => COREv2 drof interannual year forcing
DROF%NULL => null mode 

=========================================
DICE 
=========================================
DICE%SSMI => dice mode is ssmi	    
DICE%SIAF => dice mode is ssmi_iaf 
DICE%PRES => dice mode is prescribed
DICE%COPY => dice mode is copy
DICE%NULL => dice mode is null 

=========================================
DOCN 
=========================================
DOCN%NULL => docn null mode
DOCN%SOM  => docn slab ocean mode
DOCN%DOM  => docn data mode
DOCN%US20 => docn us20 mode
DOCN%COPY => docn copy mode 

There are two ways to create a customized user-defined component set. If the component set you want is not listed in the supported component sets, and you have no new optional %phys definitions for any of the components, then using the above definitions you can create your own component set on the fly by using your own longname definition to create_newcase. As an example, the following will create a compset that is not currently supported out-of-the-box in CESM1.2.

 
> ./create_newcase -case mycompset \ 
  -user_compset 1850_CAM5_CLM45%CN_CICE_POP2_RTM_SGLC_SWAV \ 
  -res ne30_g16 \ 
  -mach yellowstone 

If you want to create a component set that has new physics definitions, then the process is a bit more complicated. You will need to first edit $CCSMROOT/scripts/ccsm_utils/Case.template/config_compset.xml and fill in the appropriate sections specified by the string "USER_DEFINED section" as necessary. At that point, you can then call ./create_newcase as above with the -user_compset argument that is now customized to our requirements.