run_ccam – CCAM simulation scripts

run_ccam.sh and run_ccam.py are scripts used to run the CCAM climate and downscaling simulations.  The role of these scripts is outlined below:

run_ccam.sh

This script configures the CCAM simulation and calls on run_ccam.py to run the simulation.  In addition to configuration information, run_ccam.sh also includes machine dependent information such as directives for the machine’s scheduler.  The configuration options are outlined as follows:

General experiment definition:

Variable Description
hdir Base directory for the experiment (this should be changed for each new experiment) 
wdir Working directory for temporary files
machinetype Options for running MPI.  machinetype=mpirun is typical, machinetype=srun for Cray systems.
nproc Number of processes to run CCAM.  CCAM can reduce the number of specified processes if required.
nnode Number of processes on a node for pre-processing CCAM input.
midlon The longitude corresponding to the centre of the high resolution simulation region (degrees)
midlat The latitude corresponding to the centre of the high resolution simulation region (degrees)
gridres The grid resolution of the simulation (km).  This effectively specifies the amount of stretching for the grid.  A value of -999. will correspond to a uniform global simulation
gridsize The number of grid points for the simulation.  Each of the six panels of the cube have gridsize x gridsize horizontal grid points.  The high resolution region will also approximately correspond to gridsize x gridsize number of grid points.  gridsize effectively determines the width of the high resolution domain.
name A description of the experiment used for the output file names.

Run length and output domain:

Variable Description
iys Start year of the simulation
ims Start month of the simulation
ids Start day of the month for the simulation
iye End year of the simulation
ime End month of the simulation
ide End day of the month for the simulation
leap Employ leap years if leap=leap.  Otherwise ignore leap years if leap=noleap and a 360 day calendar with leap=360.  This option is useful for GCMs that do not support leap years. 
ncountmax  Number of simulation months to complete before resubmitting the script back to the scheduler.  This option can be used to optimise the simulation length for different schedulers. 
reqres  Resolution of output domain (degrees).  A value of -999. will automatically assign the output resolution.

CCAM output domain and variable configuration:

Variable Description
ncout Format of standard output (ncout=off, ncout=all, ncout=ctm, ncout=basic).  These variables are typically 6 hourly output.
ncsurf CORDEX output variables and near surface variables (ncsurf=off, ncsurf=cordex).  These variables are typically hourly output.
nchigh High-frequency variables, typically every 10 mins (nchigh=off, nchigh=latlon)
nctar Storage of raw output files (nctar=off, nctar=tar, nctar=delete)
ktc Standard output time period (mins).  Typically 6 hourly output.
ktc_surf Output period of CORDEX output files (mins).  Typically hourly output.
ktc_high Output period of high-frequency output (mins).  Typically 10 min output.
minlat Minimum latitude for output domain (degrees).  A value of -999. will automatically assign the minimum latitude. 
maxlat Maximum latitude for output domain (degrees).  A value of -999. will automatically assign the maximum latitude. 
minlon Minimum longitude for output domain (degrees).  A value of -999. will automatically assign the minimum longitude. 
maxlon Maximum longitude for output domain (degrees).  A value of -999. will automatically assign the maximum longitude. 
reqres  Resolution of output domain (degrees).  A value of -999. will automatically assign the output resolution.
outlevmode Vertical levels for output format (outlevmode=pressure, outlevmode=height, outlevmode=pressure_height)
plevs  List of pressure levels for the standard output (hPa). 
mlevs List of height levels for the standard output (m)
dlevs List of depths for ocean variables in the standard output (m)

CCAM CMOR options (configuration for additional processing):

Variable Description
drsmode Mode for generating CMOR configuration files (drsmode=off, drsmode=on)
drshost Host GCM name
drsensemble Host GCM ensemble number
drsdomain CORDEX domain description
drsproject Project description (e.g., CORDEX)

model_id

CCAM model name (e.g., CSIRO-CCAM-2203)
contract Contact details for CCAM experiment data (e.g., ccam@csiro.au)
rcm_version_id Number of RCM version (e.g., v1)

CCAM model configuration:

Variable Description
dmode 

Option to specify downscaling method.

dmode=nudging_gcm is spectral nudging for non-native CCAM hosts (e.g., ERA-Interim).

dmode=sst_only is for SST-only forcing (e.g., AMIP).

dmode=nudging_ccam is for spectral nudging with CCAM hosts.

dmode=sst_6hour is for SST-only forcing with sub-daily data.

dmode=generate_veg is for processing vegetation files (e.g., pre-processing of vegetation data when land-use changes are included)

dmode=postprocess is for only post-processing.  This can be run concurrently as CCAM is running if the run_ccam.sh script is copied to a new filename.

dmode=nudging_gcm_with_sst is for spectral nudging of the atmosphere with user defined SSTs.

cmip  CMIP experiment (cmip5 or cmip6)
rcp  Greenhouse gas emission pathway (e.g., historical, RCP45, RCP85 for CMIP5 or historical, ssp126, ssp370, etc).
mlev Number of atmospheric model levels.  Valid options are 27, 35, 54, 72, 108 and 144 levels.
sib Land surface model to use (sib=cable_vary, sib=modis, sib=cable_sli, sib=cable_const)
aero  Aerosol model to use (aero=off, aero=prognostic) 
conv  Convection model to use (conv=2014, conv=2015a, conv=2015b and conv=2017, conv=Mod2015a) 
cloud  Cloud model to use (cloud=liq_ice, cloud=liq_ice_rain, cloud=liq_ice_rain_snow_graupel) 
rad Radiation model (rad=SE3, rad=SE4)
bmix  Boundary layer turbulence model to use (bmix=ri, bmix=tke_eps, bmix=hbg)
mlo  Ocean model to use (mlo=prescribed, mlo=dynamical) 
casa  Carbon cycle model to use (casa=off, casa=casa_cnp, casa=casa_cnp_pop) 
tracer Directory for tracer emissions

Customization options for vegetation and urban datasets:

Variable Description
uclemparm Urban configuration filename (default=disabled)
cableparm CABLE vegetation configuration filename (default=disabled)
soilparm

Soil texture configuration filename (default=disabled)

vegindex Cross-indexing of vegetation numbering and vegetation name (default=disabled).  This links the user defined vegetation maps and the user defined vegetation classes.
uservegfile Netcdf file defining locations of vegetation classes
userlaifile Netcdf file defining values of leaf area index for user vegetation classes

Boundary conditions for nesting experiments:

Variable Description
bcdom Prefix for host model filenames (for dmode=nudging_gcm, nudging_ccam, sst_6hour)
bcdir Directory of host model files (for dmode=nudging_gcm, nudging_ccam, sst_6hour)
bcsoil Use climatology for initial soil conditions (bcsoil=constant, bcsoil=climatology, bcsoil=recycle)
bcsoilfile File to use for initializing soil data

Boundary conditions for SST-only experiments:

Variable Description
sstfile File name of host SST data (for dmode=sst_only or nudging_gcm_with_sst)
sstinit Initial conditions for SST-only experiment (for dmode=sst_only or nudging_gcm_with_sst) 
sstdir Directory of host SST files (for dmode=sst_only or nudging_gcm_with_sst) 

Location of CCAM data files:

Variable Description
insdir Base directory of CCAM installation
exedir  Location of run_ccam.py 
stdat  Location of standard CCAM datafiles 

Location of CCAM executables:

Variable Description
terread Path to terread used to create orography datasets
igbpveg Path to igbpveg used to create vegetation datasets
sibveg Path to sibveg used to create vegetation datasets (sib=modis)
ocnbath Path to ocnbath used to create bathymetry datasets
casafield Path to casafield used to create carbon cycle datasets
aeroemiss Path to aeroemiss used to create aerosol emissions
model  Path to globpea that performs the simulation 
pcc2hist  Path to pcc2hist for post-processing the cubic output to lat/lon 

run_ccam.py

run_ccam.py is the python script used to configure, pre-process, run CCAM and post-process CCAM output for climate and downscaling simulations.  run_ccam.py will create a file called year.qm that records the year and month that has been completed by the simulation.  restart.qm indicates whether the simulation has finished, requires resubmission to the scheduler or has stopped unexpectedly.