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.
...
Presentation file:
View file | ||
---|---|---|
|
Building and Running example
The model code is written in Fortran programming language using features up to the 2008 revision of the 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 the configure script.
...
Code Block |
---|
git clone https://github.com/ICTP/RegCM.git |
For the ISC24, the participants are requested to switch to the target branch:
Code Block |
---|
cd RegCM
git checkout ISC24 |
Once the model is on disk, the user should create the configure script:
Code Block |
---|
cd RegCM
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 makeinc
file must then be manually edited to uncomment an option line as described in the below diff:
Code Block |
---|
diff --git a/makeinc b/makeinc
index edb543c1a..a42066da5 100644
--- a/makeinc
+++ b/makeinc
@@ -47,7 +47,7 @@ ifeq ($(findstring DCLM45, $(CPPFLAGS)),DCLM45)
#CPPFLAGS += $(DEFINE)VICHYDRO
endif
-#CPPFLAGS += $(DEFINE)RCEMIP
+CPPFLAGS += $(DEFINE)RCEMIP
space :=
space +=
|
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:
...
Code Block |
---|
make version make install |
Sample build script on PSC:
Code Block |
---|
#!/bin/bash source /jet/packages/oneapi/v2023.2.0/<path>/compiler/2023.2.1/env/vars.sh source /jet/packages/oneapi/v2023.2.0/<path>/mpi/2021.10.0/env/vars.sh export MPIFC=mpiifort export CC=mpiicc export FC=$MPIFC export HDF5_DIR=<path> export NETCDF_DIR=<path> export PATH=$NETCDF_DIR/bin:$PATH autoreconf -f -i ./configure --prefix=$BASE/build-$MPI # Modify makeinc file make version make install |
For the ISC24 competition, the build system is by editing the makeinc
file as described above it has been configured to make the RCEMIP model. This setting will initialize a 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 radiation package, the model micro-physics and the turbulence parameterization of the boundary layer over the ocean.
...
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:
Build and Run the application with the given input isc24.in 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 output netCDF files (in the output directory) 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.
...
Run RegCM with
.View file name regcm-input.zip Submit your best result. Do not include binary output files nor multiple results.