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.