Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

 

The ICTP Regional Climate Model (RegCM), originally developed at the National
Center for Atmospheric Research (NCAR), is maintained in the Earth System
Physics (ESP) section of the ICTP. The latest version includes major upgrades in the structure of the code and its pre- and post- processors, along with the inclusion of some new physics parameterizations.

The model is flexible, portable and easy to use. It can be applied to any region of the World, with grid spacing of up to about 3 km, and for a wide range of studies, from process studies to paleoclimate paleo climate and future climate simulation.

The RegCM application is a state of the art limited are Regional Climate Model
implementing the physical solution to the atmosphere part of an Earth System
Model by solving the primitive Navier-Stokes partial differential equation by
using finite difference methods for the dynamics. Multiple physics packages
are added to compute the terms parametrized in the used equations, providing
to the user a configurable set of options giving her the opportunity to
best represent in the model the area of interest.

For more details about RegCM see the model reference descriptive paper.

The model source code is available under the GPLv3 license at:

https://github.com/ICTP/RegCM

Building and Running example

The model code is written in Fortran programming language using features up to
the 2008 revision of the standard. The compilation is possible using standard
, and thus to compile the model a working Fortran compiler is required, along with the GNU make and the autotools (autoconf/automake/libtool) to create a the configure script.For more details about RegCM see https://github. com/ICTP/RegCM

Building and Running example

The required libraries are:

...

The procedure to obtain the code is straightforward using the git tool:

Code Block
git clone https://github.com/ICTP/RegCM.git

...

For the ISC24, the participants are requested to switch to the ictp-devel target branch:

Code Block
cd RegCM
git checkout ictp_develISC24

Once the model is on disk, the user should create the configure script:

Code Block
autoreconf -f -i

The above command is also contained in a bootstrap.shscript, which has in comment other possible options to use if the autotools are in a non standard path.

...

To configure the build system using the GNU make program should be enough
on most systems to just type in:

Code Block
./configure

The configure script will (hopefully) find a working combination of Fortran compiler and libraries compiled with it for the above required requisites. If the required libraries are not installed on the system, but the user has access to the working compiler toolchain, an example script to download and install in the USER accessible directories the netCDF and OpenMPI is provided in:

...

To compile model executables and copy them in the bin directory, if the GNU
makeprogram is in the path, it is enough to

Code Block
 make version
 make install

...

conditional code options.For the ISC24 competition, the user must uncomment the line adding the pre-processing directive to build build system is configured to make the RCEMIP model. This flag setting will initialize a cyclic boundary box model that is used to evaluate the radiative package in a convection permitting settings over an ocean prescribed initial vertical profile simulation with periodic boundary conditions, that will be used to evaluate the model in the ensemble Radiative-Convective Equilbrium Model Intercomparison Project. In this framework, the model is run in an idealized setting using a prescribed convection permitting configuration over an ocean box domain. The selected configuration it is very much stressing the dynamical core, the radiative radiation package, the model microphysics micro-physics and the turbulence
parameterization of the boundary layer over the ocean.

Recompiling Once the compilation is complete, the model with the RCEMIP line uncommented will create a new executable with the _RCEMIP extension.executable files can by default be found under the bin directory. Only the regcmMPIRCEMIP executable is will be required for the competition.

The user needs two input text files, which can be found in the Testing directory.

In the following, we will identify the model source code root directory (where the configure is) with the shell variable REGCM_ROOT.

...

possibly on a convenient I/O system partition , and with high throughput. The user must then link/copy some files in itthe run directory:

Code Block
ln -sf $REGCM_ROOT/bin/regcmMPIRCEMIP .
cp $REGCM_ROOT/Testing/isc24.in .
cp $REGCM_ROOT/Testing/rcemip.in profile.in
mkdir output

...

To run the model, the user needs to invoke the executable using mpirun
providing as argument the name of the namelist file used for the competition:

Code Block
mpirun ./regcmMPIRCEMIP isc24.in

<add output example>

Tasks and Submissions

You can practice with the input: <tiny input for practice…>While running, the model will produce diagnostic text on the standard output. The below is an example relative to a model test run on an ICTP Intel Core i7-8700 CPU @ 3.20GHz desktop computer with 6 cores:

Code Block

  This is RegCM development version
   GIT Revision: ISC24 compiled at: data : Oct 13 2023  time: 17:15:36

 : this run start at  : 2023-10-16 12:32:24+0200
 : it is submitted by : graziano
 : it is running on   : desktop-123.ictp.it
 : it is using        :            6   processors
 : in directory       : /scratch/graziano
                       
 CPUS DIM1 =            3
 CPUS DIM2 =            2

 Reading model namelist file
 Using default microphysical parameter.
 Initial date of the global simulation:  1900-01-01 00:00:00 UTC        
 Initial date of this run             :  1900-01-01 00:00:00 UTC
 [...]
 A lot of usually fast printout .... ;)
 [...]
 ATM variables written at  1900-01-01 03:00:00 UTC        
 SRF variables written at  1900-01-01 03:00:00 UTC        
 RAD variables written at  1900-01-01 03:00:00 UTC        
 $$$  1900-01-01 03:00:00 UTC        
 $$$ max, min of ps (mb) =  1016.98 1016.27
 ATM variables written at  1900-01-01 06:00:00 UTC        
 SRF variables written at  1900-01-01 06:00:00 UTC        
 RAD variables written at  1900-01-01 06:00:00 UTC        
 $$$  1900-01-01 06:00:00 UTC        
 $$$ max, min of ps (mb) =  1017.45 1016.89
 ATM variables written at  1900-01-01 09:00:00 UTC        
 SRF variables written at  1900-01-01 09:00:00 UTC        
 RAD variables written at  1900-01-01 09:00:00 UTC        
 $$$  1900-01-01 09:00:00 UTC        
 $$$ max, min of ps (mb) =  1017.85 1017.39
[...]
A lot of repetitive printouts....
[...]
 : this run stops at  : YYYY-MM-DD HH:MM:SS+ZZZZ
 : Run has been completed using            6  processors.
 : Total elapsed seconds of run :    xxx.xxxxxxxxxx     
  RegCM V5 simulation successfully reached end

The above diagnostic printout of the surface pressure readings from the model internal status in hPa should show a constant pressure increase throughout the model run of about 10 hPa (mb) per month due to the radiative cooling of the atmosphere.

Tasks and Submissions

To practice with the model, a standard Linux desktop with almost any distribution is enough, but you should use a reduced domain setting by running the model using a different input file, nominally:

Code Block
$REGCM_ROOT/Testing/isc24_small.in

The above input file will run a much smaller simulation, which concludes in some minutes on my 6 core desktop. For convenience, on a clean Ubuntu installation, the required packages to compile the model using GNU gcc compilers are:

build-essential gfortran libopenmpi-dev libnetcdff-dev

The expected tasks for the competition are:

  1. Build and Run the application with the given input isc24.inc using 4 CPU nodes, submit the best performance to the team’s folder.

  2. Run IPM or another MPI profiler and show the most 3 MPI calls being used, show your work in the teams presentation.

  3. Visualize the input <TBD longer input for video>, netCDF files and create video or set of photos based on that using any tool. show your work in the teams presentation. The netCDF output data should contain all the metadata required to use most of the visualization packages.

 4. Bonus task: Try to optimize the code <Give some pointers for example> of the micro physics package in Main/microlib/mod_micro_nogtom.F90 and show your work in the teams presentation.

...