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 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.
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
autotools (autoconf/automake/libtool) to create a configure script.
For more details about RegCM see https://github.com/ICTP/RegCM
Building and Running example
The required libraries are:
MPI - Any MPI will do. Most users pick OpenMPI https://www.open-mpi.org/
The procedure to obtain the code is straightforward using git tool:
git clone https://github.com/ICTP/RegCM.git
For the ISC24, the participants are requested to switch to the ictp-devel branch:
git checkout ictp_devel
Once the model is on disk, the user should create the configure script:
autoreconf -f -i
The command is contained in a bootstrap.sh script which has in comment possible options to use if the autotools are in a non standard path.
The created configure script contains various options to conditionally activate some part of the code, provide different I/O options or optimize for some HPC platforms the ICTP has had access to in the past years.
Not all the legacy platforms/compilers combination are anymore relevant, supported or even tested if the ICTP has not access to them.
To configure the build system using the GNU make program should be enough
on most systems to just
./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:
./Tools/Scripts/prereq_install.sh
The user can modify it to mirror what is available on the target system.
To compile model executables and copy them in the bin directory, if the GNU
make program is in the path, it is enough to
make version make install
The file makeinc beside the configure contains additional possible
conditional code options.
For the ISC24 competition, the user must uncomment the line adding the pre-processing directive to build the RCEMIP model. This flag initialize a cyclic boundary box model that is used to evaluate the radiative package in a convection permitting settings over an ocean domain. The selected configuration it is very much stressing the dynamical core, the radiative package, the model microphysics and the turbulence
parameterization of the boundary layer over the ocean.
Recompiling the model with the RCEMIP line uncommented will create a new executable with the _RCEMIP extension.
Only the regcmMPIRCEMIP executable is required.
The user needs two input text files, which can be found in the Testing directory. In the following, we identify the model source code root directory (where the configure is) with the shell variable REGCM_ROOT.
To run the model, the standard procedure is to create a running directory:
mkdir run && cd run
possibly on a convenient I/O system partition, and link/copy some files in it:
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 for the competition:
mpirun ./regcmMPIRCEMIP isc24.in
<add output example>
Tasks and Submissions
You can practice with the input: <tiny input for practice…>
Build and Run the application with the given input isc24.inc using 4 CPU nodes, submit the best performance to the team’s folder.
Run IPM or another MPI profiler and show the most 3 MPI calls being used, show your work in the teams presentation.
Visualize the input <TBD longer input for video>, create video or set of photos based on that using any tool. show your work in the teams presentation.
4. Bonus task: Try to optimize the code <Give some pointers for example> show your work in the teams presentation.
Add Comment