Documentation of the Changes in the COSMO-Model
Version 5.07

21.02.2020

Contents:

  1. Bug Fix in Shallow-Convection Interface
  2. Modifications for GPU Implementation
  3. Running Surface Modules in Double Precision
  4. Modifications for EMVORADO
  5. Modifications for MESSy
  6. Technical Changes and Bug Fixes
  7. Changes to the Namelists
  8. Changes of Results


1. Bug Fix in Shallow-Convection Interface

(by Yannick Boetzel, MCH)

When computing the final tendencies after the shallow convection (itype_conv=3), erroneously the loop index k was used instead of kdim to indicate the lowest model level (for variable pdtdiab_con in file conv_shallow.f90).

This fix modifies the results!

Back to Contents


2. Modifications for GPU Implementation

Performance Optimizations for PGI

Various bugfixes and performance optimizations for PGI have been implemented. A large part of this is the use of asynchronous kernel launching in OpenACC: All physical parametrizations and some utility subroutines now use the 'async' clause in all OpenACC directives. Additionally some kernels have been improved by use of collapse and default(present) clause, and reordering OpenACC directives.

GPU port of Tiedtke-Bechtold scheme and update to latest ICON version

(by Riccardo Scatamacchia, ITAF MET, and colleagues from MCH)

The Tiedtke-Bechtold scheme has been ported to GPUs. At the same time, the code has been updated technically to the latest ICON version (Commit c322005cdfc69fa245598c40606e150fb5dfb0e8).

Replaced STELLA by GRIDTOOLS

This is un-noticed by Fortran users (although some changes in lmorg.f90 and organize_dynamics.f90

Moved GCL Bindings to exchg_boundaries

All communications within GPUs are now done in subroutine exchg_boundaries in module environment.f90.

GCL bindings have been removed therefore in: lmorg.f90, organize_dynamics.f90, organize_physics.f90, src_nudging.f90, src_output.f90, src_setup.f90, src_sfcana.f90, src_tracer.f90.

Port computation of LPI to GPU

Computation of LPI is now done on GPU. The subroutine lightning_potential_index has been ported using OpenACC.

The interface to the subroutine lightning_potential_index has been modified, to add the start- and end-index for the computations in j-direction (jstartpar, jendpar). This affects also calc_tracks.f90.

Back to Contents


3. Running Surface Modules in Double Precision

(by MCH)

It turned out that for small timesteps the changes to the prognostic variables in the surface schemes are very small and cannot be represented correctly in single precision. Therefore the possibility has been implemented to run the surface schemes (TERRA, FLake, Seaice) in double precision, also when running the rest of the model in single precision.

A new KIND parameter vpp (variable precision for physics) has been implemented in kind_parameters.f90, which can be set to double precision by setting the pragma -DVAR_PHYSICS_PREC. But this pragma only is active, if also the pragma -DSINGLEPRECISION is set.

Chosen Method

The prognostic surface variables are still stored in single precision in long term memory, and additional single precision fields are stored, which contain the differences between double and single precision values, instead of storing the full double precision field.

In this way, the "copy-to/from-block" mechanism still works, which is written that it can work either for single or for double precision fields. But the additional "differences fields" are not written to restart files, so at the moment no restart is possible then.
(Note: this has been added in Version 5.07a)

Other modules of the COSMO-Model, which use variables from sfc_terra_data are also affected, because these variables have to be transferred from vpp to the working precision wp.

Back to Contents


4. Modifications for EMVORADO

(by Ulrich Blahak, DWD)

General Update of EMVORADO. The interfaces in lmorg.f90 have been updated accordingly.

Back to Contents


5. Modifications for MESSy

(by Astrid Kerkweg)

For the re-unification between the COSMO NWP- and CLM-Versions, also the MESSy part is updated.

Back to Contents


6. Technical Changes and Bug Fixes

Back to Contents


7. Changes to the Namelists

Group Name Meaning Default
/PHYCTL/ htop_moist_proc NEW To switch off saturation adjustment in the higher stratosphere. (important for high atmosphere version only; only used for MESSy). 999999.0
ldetrain_conv_prec NEW Detrain convective rain and snow for Tiedtke-Bechtold scheme. .TRUE.
/TUNING/ tune_capdcfac_tr NEW Fraction of CAPE diurnal cycle correction applied in the tropics. 0.5
tune_rprcon NEW Coefficient for conversion of cloud water into precipitation. 1.4E-3
tune_rdepths NEW Maximum shallow convection depth (Pa). 2.0E4

Back to Contents


8. Changes of Results

The bug fix in the shallow convection scheme will modify results for itype_conv=3

Change in the GRIB 2 metadata: CEILING is now written with

Back to Contents