Regional Climate Modeling

The RegCM is the ICTP Regional Climate Model.

What is a Regional Model

A Regional model is a limited area model which needs boundary conditions from a Global Circulation Model to simulate the climate at high resolution over a limited domain described as a portion of the earth limited generally on a projected grid with fixed horizontal and vertical resolution.

The model uses physical parametrizations to resolve subgrid processes, and is used to downscale GCM outputs using high resolution information on the topography and surface characteristics to enhance the physical representation of the real world and obtain better representation of the future Climate forecast.

The RegCM history

The RegCM has been the first limited area model developed in the late ‘80 for long term regional climate simulation, it has participated to numerous regional model intercomparison projects, and it has been applied by a large community for a wide range of regional climate studies, from process studies to paleo-climate and future climate projections. Throughout the years it has undergone major evolution phases, up to the actual RegCM4 series.

It is designed to be a public, open source, user friendly and portable code that can be applied to any region of the World. It is supported through the Regional Climate research NETwork, or RegCNET, a widespread network of scientists coordinated by the Earth System Physics section of the Abdus Salam International Centre for Theoretical Physics ICTP, being the foster the growth of advanced studies and research in developing countries one of the main aims of the ICTP.

The Model Code

The model is distributed as FORTRAN source code through the ICTP Gforge site:

https://gforge.ictp.it/gf/project/regcm

under the GPL Free Software License, available for download without any restriction for any use. The model is actively developed by the ICTP ESP section and other researcher throughout the world using SVN software versioning and revision control system. Under the Files section pre-packaged source tarballs are prepared by ICTP to be used by researchers.

Under the Doc Section, the User Guide and the Reference Manual can be found, along with the latest slides of the last ICTP held tutorial.

Compiling and Installing the Model

The model requires to be compiled of a recent FORTRAN compiler. The developers do test its functionalities using a LINUX system and GNU/Intel and PGI compilers. The model is known to compile with:

  • GNU gfortran compiler V 4.6 on
  • Intel ifort compiler V 11 on
  • PGI pgf95 compiler V 11 on
  • IBM xlf2003 compiler

The model depends on the presence of the netCDF library in the host system. The GNU make program is also required for the build process.

If the user wants to run the model in parallel on multiple processors/cores, the MPI V2 library is needed. The model is known to work with:

  • OpenMPI V 1.4 on
  • MPICH V 2 on
  • Intel MPI V 11 on

The model source code comes as a packaged tarball, so we need first to extract the files:

tar zxf RegCM-4.4-rcXX.tar.gz

the model build system is prepared using GNU autotools, so a configure script is present in the source directory. If the nf-config/nc-config programs and mpif90 compiler are in the path, usually it is enough to type

./configure CC=gcc FC=gfortran

To build the needed Makefile structure. By default the model executables are installed in the local bin directory. Just type make install to compile and make a local copy of the executables.

make install

We will now assume to refer to the model root with the $MODELDIR environment variable.

The datasets needed to run a simulation

The model needs dataset to be present on disk or accessible through OPeNDAP server:

  1. High resolution Digital Elevation Model and Global Land Characteristics Classification datasets at 30s.
  2. SST dataset from observation or model
  3. 6 hourly GCM model either reanalisys or Climate prediction data

The datasets above must be in a hardcoded path.

[inpter]  -
           | - SURFACE -
                        | - GTOPO_DEM_30s.nc
                        | - GLCC_BATS_30s.nc
[inpglob] -
           | - SST     -
           |            | - sstERAIN.1989-2009.nc
           |            | - sst.wkmean.1990-present.nc
           |            | - ....
           |
           | - EIN15   -
           |            | - 1990 -
           |            |         | - air.1990.00.nc
           |            |         | - air.1990.06.nc
           |            |         | - [...]
           |            |         | - vwnd.1990.18.nc
           |            | - 1991 -
           |            |         | - air.1990.00.nc
           |            |         | - air.1990.06.nc
           |            |         | - [...]
           |            | - [...]
           |
           | - HadGEM2 -
                        | - HIST  -
                        |          | - hus -
                        |          |         | - hus_6hrLev_HadGEM2-[...].nc
                        |          |         | - [...]
                        |          | - ta  -
                        |          |         | - ta_6hrLev_HadGEM2-[...].nc
                        |          |         | - [...]
                        |          | - [...]
                        | - RCP85 -
                                   | - hus -
                                   |        | - [...]
                                   | - ta  -
                                   |        | - [...]
                                   | - [...]

The actual data structure has grown by accrection, and doesn’t have still a consistent structure, but mostly reflects coders contribution or data providers quirks. An OPeNDAP URL can be given for the inpter or inpglob starting path. We will assume here data are on disk with the above structure and we refer to the root directory with the $DATADIR environment variable.

For a more detailed information about data available for RegCM4 model please check doc:regcm-dataset

The configuration of the model: the namelist file

The model uses a FORTRAN namelist file to setup the simulation. The structure of such an input file is fixed in the FORTRAN standard:

&namelist_name
  key1 = value,
  key2 = value1, value2, valuen
  key3 = 'a text value',
/ ! the / ends a namelist

The RegCM splits in different sections namelists a single namelist input file shared by the PreProcessing and model run. All the possible commented entries can be found in a commented file README.namelist in the Doc directory.

Pre-Processing phase: Static data, SST and ICBC

The model need to interpolate the global static datasets, the SST and the global model data on the local model grid.

We will first overview the normal operation sequence, and then we will analyze in depth the possible configuration.

The first tutorial step is to run a very small simulation over a pre-defined domain using a fixed input file where we are going to change only the path to the input, intermaediate and output model data.

# setup a sample run directory
mkdir run
cd run
mkdir input output
ln -sf $DATADIR .
ln -sf $MODELDIR/bin .
cp $MODELDIR/Testing/test_001.in .
[ edit the namelist file test_001.in : change the inpter path ]
[ edit the namelist file test_001.in : change the dirter path ]
./bin/terrain test_001.in
[ edit the namelist file test_001.in : change the inpglob path ]
[ edit the namelist file test_001.in : change the dirglob path ]
./bin/sst test_001.in
./bin/icbc test_001.in

We have here prepared the input to run the model.

Model run in MPI environment

To run the model in an MPI environment, we will rely on the presence of the mpirun executable in our path.

[ edit the namelist file test_001.in : change the output path ]
mpirun -np XX ./bin/regcmMPI test_001.in

The output directory now has the model output files.

The output data: first look

The data produced by the model are in netCDF format, compliant to the CF convention and with attributes extended to support some geospatial data conventions.

The model output is split in different files, each file can or cannot be created. In each file, any of the output variables can be included or removed from the file.

  • ATM file: this file has inside the model vertical atmospherical status variables, along with information on ground tenperature and moisture.
  • RAD file: this file has inside input, output and control variables of the radiation model.
  • SRF file: this file contains the surface scheme input and output variables, and is the one mostly used to extract the climatological data.
  • STS file: statistical daily surface output, is used to compute climatological indexes
  • SAV file: contains model status needed for model restart.

The model, if other schemes/features are activated, can write also other output files, but we will examine them in the advanced configuration tutorial later on.

The overall structure of the netCDF files is the following:

dimensions:
  jx = XX ; <- This is the number of points in the namelist -3
  iy = YY ; <- This is the number of points in the namelist -3
  kz = ZZ ; <- Vertical levels
  time = UNLIMITED ; // (8 currently) <- Timesteps. Usually 8 per day
  m10 = 1 ;     <- From this point on, the dimension are needed to
  m2 = 1 ;      <-   respect the CF convention.
  soil_layer = 2 ;
  time_bounds = 2 ;
variables:
[...]
  float ts(time, iy, jx) ;  <- the variable dimensions
      ts:long_name = "Ground surface temperature" ; <- this is used for plot
      ts:standard_name = "surface_temperature" ; <- The geophysical variable
      ts:units = "K" ;  <- All units should be in SI
      ts:coordinates = "xlat xlon" ;    <- Geo mapping information
      ts:grid_mapping = "rcm_map" ;     <-        ""
      ts:cell_methods = "time: point" ; <- Eventual time statistical window
 [...]
   // global attributes:
      :title = "ICTP Regional Climatic model V4" ;
      :institution = "ICTP" ;
      :source = "RegCM Model output file" ;
      :Conventions = "CF-1.4" ;
      :references = "http://gforge.ictp.it/gf/project/regcm" ;
      :model_revision = "4058" ;
   [...] A (big) number of configuration parameters. All configurable
        model parameters are listed here: the experiment MUST be
        reproducible.

We will now examine the data using some plotting programs.