Documentation of the Changes in INT2LM
Version 2.07

21.04.2020

Contents:

  1. Reading and writing RBF coefficient files to save setup time
  2. Implementing a technical testsuite for INT2LM
  3. Modifications for MESSy
  4. eccodes and grib_api
  5. Technical Changes and Bug Fixes
  6. Changes in the Namelists
  7. Changes of the Results

1. Reading and writing RBF coefficient files to save setup time

(by Ulrich Schättler)

Computing the coefficients for the ICON RBF interpolation already takes rather long on CPUs. On NEC vector processors it even takes much longer, as the computations cannot be vectorized fully. In addition, the computations are not parallelized and are done on one task only. For an interpolation from ICON-EU to COSMO-D2, the time on the Cray takes about 40 seconds, on the NEC it takes about 250 seconds.

The RBF coefficients depend on the domain for the ICON driving data, the COSMO compute domain and the value of nproma_icon. As long as these characteristics are not changed, precalculated coefficients can be used for every INT2LM run, which are saved to external files, the RBF coefficient files for scalar, u- and v-grid points:

These files are written in NetCDF format using a module from the ICON tools: mo_netcdf_storage.f90 (new in INT2LM source code).

Reading and writing the RBF coefficient files has been implemented in the module icon_interp_utilities.f90, subroutine rbf_setup_interpol_lonlat_grid_cell.

The following fields are written to these files:

To check the ICON domain and the nproma_icon value, the following attributes are also written to the NetCDF files:

Reading or computing these coefficients is controlled by 3 namelist variables in the group /CONTRL/:

Group Name Meaning Default
/CONTRL/ l_read_precalc If .TRUE., RBF coefficients are read from files.
This namelist variable already existed, but was deactivated up to now.
.FALSE.
l_write_precalc NEW If .TRUE., RBF coefficients are computed and written to files. File names are:
  • RBF_COEFFS_s.nc: scalar grid points
  • RBF_COEFFS_u.nc: u grid points
  • RBF_COEFFS_v.nc: v grid points
NOTE that l_read_precalc has to be .FALSE., if l_write_precalc=.TRUE.
.FALSE.
y_precalc_cat Directory, where to write / read the files with precalculated RBF coefficients. './'

In order to be able to use this tool, the component rdist of the TYPE t_lon_lat_intp has to be stored in working precision, which for INT2LM still is DOUBLE. Up to now it was only stored in single precision (just to save some computation time). But mo_netcdf_storage.f90 cannot handle single precision.

Back to Contents


2. Implementing a technical testsuite for INT2LM

(by Guy de Morsier)

A technical test suite has been implemented for INT2LM. For that, INT2LM has to write a file YUPRTEST, which contains min, max and average values of the prognostic variables (similar to COSMO). This file is only written, if the new namelist switch ltestsuite in the namelist group /DATA/ is set to .TRUE. (default is .FALSE.).

The software of the testsuite is placed in testsuite/test/src as a git subtree from git@github.com:C2SM-RCM/testsuite.git (https://github.com/C2SM-RCM/testsuite) The documentation is in testsuite/test/src/doc/userguide.pdf

Writing of the file YUPRTEST has been implemented to module src_lm_output.f90.

Back to Contents


3. Modifications for MESSy

(by Astrid Kerkweg)

Back to Contents


4. eccodes and grib_api

(by Ulrich Schättler)

In module src_read_coarse_grid.f90, the pragma NOECCODES has been implemented, to avoid calls to the computed key localUsePresent, which is available for Grib 1 and for GRIB 2 only in eccodes and in grib_api version 1.23. If earlier versions of grib_api are used, the grib_get call will fail. For ifdef NOECCODES, different keys have to be evaluated for GRIB 1 and for GRIB 2.

Back to Contents


5. Technical Changes and Bug Fixes

Back to Contents


6. Changes of the Namelists

Group Name Meaning Default
/CONTRL/ l_read_precalc If .TRUE., RBF coefficients are read from files.
This namelist variable already existed, but was deactivated up to now.
.FALSE.
l_write_precalc NEW If .TRUE., RBF coefficients are computed and written to files. File names are:
  • RBF_COEFFS_s.nc: scalar grid points
  • RBF_COEFFS_u.nc: u grid points
  • RBF_COEFFS_v.nc: v grid points
NOTE that l_read_precalc has to be .FALSE., if l_write_precalc=.TRUE.
.FALSE.
y_precalc_cat Directory, where to write / read the files with precalculated RBF coefficients. './'
/DATA/ ltestsuite NEW Indicates whether to write output for the testsuite. .FALSE.

Back to Contents


7. Changes of the Results

NONE

Back to Contents