access_SCM_testcases - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki
ACCESS single column model
The UM has the ability to run as a single column model. This can be useful for investigating physics options and for debugging code.
Met Office documentation is https://nf.nci.org.au/facilities/software/UM/8.2/umdoc_system/UM_docs/papers/pdf/p0c9.pdf
An old (6.3) version is described by Greg Roff et al in http://cawcr.gov.au/publications/BMRC_archive/researchletter/reslett_06.pdf
Charmaine Franklin et al used the UM vn7.1 SCM to investigate the effect of the PC2 cloud scheme in simulations of the TWP-ICE case, http://doi.wiley.com/10.1002/qj.954
For access 1.3, SCM, the build job on accessdev.nci.org.au is vagzs. This is identical to the version on accesscollab.nci.org.au (saads). This job can be located by searching/filtering jxs599. The SCM model is run via an executable script (discussed below).
This SCM uses the ACCESS 1.3 configuration, including PC2 and CABLE. The UMUI build job is saads. This uses the branch https://access-svn.nci.org.au/trac/um/browser/branches/test/mrd599/ACCESS1.3_SCM. This contains a few changes to make the SCM work with the standard 1.3 code branch https://access-svn.nci.org.au/trac/um/browser/branches/pkg/Rel/ACCESS1.3 (e.g. removing need for the OASIS library).
It also uses hand-edit ~access/umui_jobs/hand_edits/coupled/access_scm.ed to set the ACCESS preprocessor directive.
The SCM uses the full model namelists CNTLALL, CNTLATM, INITHIS, SIZES as well as its own namelist.scm that contains SCM specific options and the forcing data. The model ones need to be modified slightly because the SCM doesn’t include the aerosol scheme. Otherwise these have the same physics options as in our ACCESS1-3 runs.
INITHIS should only set VERT_LEV. SIZE should have only the NLSIZES namelist
The SCM specific file is a bit more of a problem. I’m not actually sure where the atmospheric forcing data in the version I’m using came from (it didn’t matter for my purposes). Possibly it was the GABLS Tumbarumba case. You should be able to find a more standard one somewhere and adapt it to CABLE (6 soil levels, 17 tiles). In this version I had to comment out a few namelist variables, so presumably it came from an earlier model version. In my file the soil temperatures and moisture are probably nowhere near being in balance.
All the data files and the executable are in
Note that the SCM prepends the path in the dir_name file to 'namelist.scm' to get the location of the input namelist. Using '.' works if the file is in the current directory.
At vn7.3 the SCM produces text output files (direct netCDF came in vn7.5). These can be converted to netCDF using
(just run it to get a list of the options). The source code for this is in the access_tools repository, https://trac.nci.org.au/trac/access_tools/browser/scm2nc/trunk.
runscm is a batch job that will run the model. However it can equally well be run interactively with a 10 day run taking only about 15s. When running interactively you must still set the UNIT80 and UNIT57 environment variables as in the runscm script. Run produces file cable_test.dat.
scm2nc cable_test.dat out.nc
As an example, this graph shows the 1.5m, surface and top soil temperatures from the test simulation (iris code for plot)
To validate your run, the output from your run can be compared to the output from a standard run using the cdo utility. In the following we assume you have converted your output to out.nc (as described above), and are in that directory.
module load cdo
cdo diff out.nc ~access/data/AccessModelExperimentLibrary/scm_access13/out_std.nc
If the outputs are the same, you will see similar output to the following:
cdo diff: Processed 4649280 values from 560 variables over 960 timesteps ( 11.37s )
Note however that small differences in the output files can arise due to differences in library versions. A simple check of their significance can be made by inspecting your data in ncview (and this is recommended anyway).
module load ncview
Look in particular at the ranges and patterns.
Job uahgs on accesscollab (owned by mrd599) builds a version of the SCM on raijin using the GA4.0 physics options. Note that the aerosols and river routing scheme must be turned off for the model to run correctly.
This case uses a TOGA namelist supplied by Ricky Wong from the Met Office (via Greg Roff).
The model is reduced to 70 levels to match the forcing data. Input files and a prebuilt executable are in
In this version, the UMUI can set some SCM parameters (name of input namelist and output file) from a panel in the model resolution and domain section. This gets written to the SCM_SET file. Files required from the processed job are CNTLALL, CNTLATM, SCM_SET, SHARED and SIZES. Note that these do not have to be modified at all (unlike earlier versions).
The run length is set with the namelist
For direct netCDF output, in the &DIAGS section of the SCM namelist, set
strm_format(1) = 4,
This example job uses an extra code branch that improves the efficiency of writing netCDF and adds a proper time variable, https://access-svn.nci.org.au/trac/um/log/branches/dev/mrd599/vn8.2_scm_netcdf. It is also possible to use text output (strm_format = 3) and scm2nc as with the older SCM. The resulting netCDF files use the same variable names but the model adds extra length 1 dimensions.
float tstar(time, single_level) ;
tstar:long_name = "Surface temperature" ;
tstar:units = "K" ;
float tstar(time, single_level_k, single_level_j, single_level_i) ;
tstar:units = "K" ;
tstar:long_name = "Surface temperature" ;
To run the model
A 10 day run takes about 20 s CPU time with direct netCDF output and 40 s with text output.
Area cloud fraction from the example simulation, (example code)
The standard SCM builds from the UMUI using FCM. It is also possible to set up a stand-alone version that builds from a regular makefile. This may be useful for running on a machine that doesn't have all the ACCESS infrastructure (e.g. the SCM builds/runs fine on any Linux system with a recent gfortran).
For ACCESS1.3, a standalone build is packaged in raijin:~access/AccessModelExperimentLibrary/scm_access13/scm_access13_standalone.tgz.
To build this on raijin, extract the file then
module load intel-fc
module load intel-cc
module load netcdf
make -f Makefile.scm
This creates an executable scm.exe. It should be simple to adapt this to other compilers (gfortran has been tested in the past).
For details on this contact Martin Dix.
If you would like to use land surface model CABLE version 2.0 or above in ACCESS1.3-SCM, the instruction is as follows:
You need to be a member of group access and need to be given permission to access the Unified Model repository
module load netcdf/126.96.36.199
Intel compiler should have been loaded by default when you login
(Part A) build the static library libcable:
(1) svn co https://trac.nci.org.au/svn/cable/tags/CABLE-2.0.1 CABLE-2.0.1
(2) cd CABLE-2.0.1/UM
(3) run: ./build.ksh It will generate static library file libcable.a in ~/CABLE-AUX/UM
(Part B) compile ACCESS1.3-SCM:
(1) svn co https://access-svn.nci.org.au/svn/um/branches/dev/ccc561/ACCESS1.3-SCM-CABLE2-STANDALONE ACCESS1.3-SCM-CABLE2-STANDALONE
(2) cd ACCESS1.3-SCM-CABLE2-STANDALONE/lib
(3) ln -s ~/CABLE-AUX/UM/libcable.a .
(4) cd ..
(5) make -f Makefile.scm
(6) if step (5) progresses successfully, it should be able to generate scm.exe. Then cd test_run
(7) ln -s ../scm.exe .
Note that the veg parameter file will be picked up from cable.nml.
If you have any corrections or comments for ACCESS1.3-SCM-CABLE2.0+, please contact [email protected]
Job u-ar989 (owned by scottwales) optionally builds and then runs one or more SCM simulations using the GA7 configuration of the UM (Walters et al. 2019). The option to build the model can be selected in Rose under 'suite config' > 'NCI Config'. This window also includes a switch ('PARALLEL_SCM') for running multiple simulations in parallel. In this case you need to put the set of SCM namelists in the directory pointed to by PARALLEL_CONFIG_DIR. The default namelist is for a single simulation of a 10-day period from TOGA-COARE (Webster and Lukas 1992).
RCE and RCDE Simulations
Job u-ax544 (owned by raw565) optionally builds and then runs a parallel suite of SCM simulations in radiative-convective equilibrium (RCE) or radiative-convective-dynamical equilibrium (RCDE). The basic set-up of the RCE experiments follows the design of the radiative-convective equilibrium model intercomparison project (RCEMIP; Wing et al. 2018). The RCDE experiments differ only in the inclusion of a time-invariant large-scale vertical velocity profile which acts on the prognostic temperature and humidity fields. By default, the suite includes 18 experiments corresponding to three different fixed SSTs (295, 300, 305 K) and six different values for the maximum large-scale vertical velocity (0, 1, 2, 3, 4, 5 cm/s). Results from these runs are analysed and compared with corresponding cloud-resolving model (CRM) simulations in a paper which is currently under review for JAMES. Please contact [email protected] for further details.
The Python script make_rcde_nml.py can be used to create SCM namelists for running these experiments.
Stochastic Multicloud Model
A version of the Stochastic Multicloud Model (SMCM; Kouider et al. 2010) has been implemented as an alternative closure for the UM convection parameterisation. At each model timestep, the SMCM provides the cloud base area fraction of convective cloud based on two parameters describing the large-scale atmospheric state. This area fraction is used to estimate the cloud base mass flux in the UM deep convection scheme, in place of the standard CAPE closure. The implementation is similar to that detailed in Peters et al. (2017) but with modifications to the transition rate equations and timescales. Results of experiments performed using this configuration will be presented in a future manuscript. Please contact [email protected] for further details.
Job u-aw129 (owned by raw565) optionally builds and then runs one or more SCM simulations which include the SMCM. The default run is for the TWP-ICE experiment (May et al. 2008).# Attachments