Documentation of the Changes in the COSMO-Model
Version 5.4

29.02.2016

Version 5.4 is a development version, which will not be officially released.

Contents:

  1. Changes in the Assimilation
  2. Changes in the Dynamics
  3. COSMO-ICON Physics
  4. Digital Filter Initialization
  5. Technical Changes and GPU Management
  6. Further Bug Fixes
  7. Changes to the Namelists
  8. Changes of Results


1. Changes in the Assimilation

(by C. Schraff)

Removal of AOF interface

The following source modules have been removed from the active code:

One new namelist variable has been introduced to specify the directory, where the NetCDF fof output file shall be written.

Several other namelist variables, dealing with the AOF interface, have been eliminated:

Also the namelist variable lgpsbias has been eliminated.

Back to Contents


2. Changes in the Dynamics

Targeted diffusion of cold pools (by Oliver Fuhrer, Pascal Spoerri, Xavier Lapillonne)

The targeted diffusion for cold pools should avoid unrealistic undershootings in the temperature field near the bottom, if the value of a grid point is considerable colder than the average value of the surrounding. This diffusion is switched on, if the difference is larger than a pre-determined threshold value. Up to now this threshold has been hard-coded to 10 degree Kelvin. Also, targeted diffusion was always switched on in the model.

Targeted diffusion has now been made configurable by introducing two new namelist variables in the group /DYNCTL/:

Group Name Meaning Default
/DYNCTL/ l_diff_cold_pools NEW Use targeted diffusion for cold pools. .TRUE.
thresh_cold_pool NEW Threshold to activate targeted diffusion for cold pools.
Reasonable values are from 5.0 to 20.0 degree Kelvin
10.0

If the default settings are used, the results will not be changed

Implement simple clipping for Semi-Lagrange advection scheme (by Oliver Fuhrer)

A simple clipping for the Semi-Lagrange advection scheme has been implemented by introducing the option "SL3_SC" for the namelist variable y_scalar_advect.

Hardcode the number of saturation adjustment iterations to 3 for CPP_DYCORE (by O. Fuhrer)

In the COSMO-Model the number of saturation adjustment iterations depends on the maximal vertical velocity. Usually only one iteration is enough, only for larger velocities, 2 or 3 iterations are done. In order to have reproducible results, independent of the domain decomposition, the maximal vertical velocity is determined over the full domain. This requires a global communication.

To save this global communication in the CPP_DYCORE case, the number of iterations to do is always 3. This has been hardcoded.

Update of serialization statements (by P. Spoerri)

The serialization statements were updated to cosmo 5.04. Several fields were added to serialize data consistently and to provide effective tagging of the individual serialized fields.

Affected files:

Back to Contents


3. COSMO-ICON Physics

(by X. Lapillonne)

The module src_block_field.f90 has been refactored to allow for future optimizations (for example doing a multi-copy).

Note, that the OpenACC statements in the copy function are still deactivated at the moment. They can only be activated, if the full physics runs on the GPU.

In addition, some editorial changes have been done:

Back to Contents


4. Digital Filter Initialization

(by L. Torrisi)

Better treatment of clouds and precipitation during diabatic DFI initialization

The subroutine dfi_initialization.f90 has been modified to have a better treatment of clouds / precipitation during the diabatic DFI step. Filtering the qx-variables tends to smooth the structure of the initial state clouds. To mitigate this problem, two new namelist parameter have been introduced to change the treatment of the qx-variables but also of the soil variables in the DFI. Note that these new variables are only active for the option ndfi=1.

Group Name Meaning Default
/INICTL/ itype_dfi_qx NEW Treatment of qx-variables in DFI:
  1. All qx-variables are filtered in the forward stage (default)
  2. qv is filtered, other variables are initialized with instantaneous values valid at nhalf step of forward stage
  3. qv is filtered but corrected to maintain saturated points at nhalf step of forward stage, other variables are initialized with instantaneous values valid at nhalf step of forward stage
0
itype_dfi_soil NEW Treatment of soil variables in DFI (for consistency with clouds / precipitation treatment):
  1. All soil variables are derived from the average of values at the initial and final step of forward stage (default).
  2. All soil variables are initialized with instantaneous values valid at nhalf step of forward stage.
0

If the default values are used, the results will not be changed. The recommended settings that were tested (results shown at COSMO-GM 2015) are:

Activating output for diabatic DFI for step 0

For diabatic digital filtering initialization (ndfi==1) no output was produced for step 0 up to now. As this is needed for many operational applications, this has been implemented now by calling:

from the DFI-run.

Back to Contents


5. Technical Changes and GPU Management

Added tracking of boundary fields and copying to GPU (by O. Fuhrer)

The fields which are read as boundary conditions need to be copied from CPU to GPU. Since this is implemented as a dynamic process and since copying from CPU to GPU is an expensive operation, we track the fields which are actually being read in src_input.f90 (only in case #ifdef _OPENACC) and fill a data structure with the information required for the copy from CPU to GPU (which is implemented in acc_utilities.f90 and called from lmorg.f90).

Running on GPU (by X. Lapillonne)

At the moment, only the radiation scheme can run on GPUs. For all other parts of the model, which already contained some OpenACC statements, these are de-activated for now.
(In modules: gscp_interface, meteo_utilities, src_block_fields)

Some corrections and adaptations have been done in modules:
organize_physics, radiation_interface, radiation_rg, radiation_utilities; does not change results!

Device Management on GPUs (by X. Lapillonne)

A module acc_device_management.f90 has been added. This module also contains the routine printGPUMem, which has been in acc_utilities.f90 before.

Further Technical Changes

Back to Contents


6. Bug Fixes

Back to Contents


7. Changes to the Namelists

Group Name Meaning Default
/DYNCTL/ l_diff_cold_pools NEW Use targeted diffusion for cold pools. .TRUE.
thresh_cold_pool NEW Threshold to activate targeted diffusion for cold pools.
Reasonable values are from 5.0 to 20.0 degree Kelvin
10.0
y_scalar_advect additional value added a new option for simple clipping: SL3_SC BOTT2_STRANG
/NUDGING/ yfofdir NEW directory for output NetCDF fof file. ./
itype_obfile deleted type of observation input file (AOF/NetCDF)
yaofpath deleted path of AOF file (directory + file name)
lpraof deleted diagnostic output of AOF interface
dinlat, dislat, diwlon, dielon deleted diagnostic print area for AOF interface
noctrq deleted obs type of diagnostic print
lgpsbias deleted bias correction (GPS ASCII interface)
/INICTL/ itype_dfi_qx NEW Treatment of qx-variables in DFI:
  1. All qx-variables are filtered in the forward stage (default)
  2. qv is filtered, other variables are initialized with instantaneous values valid at nhalf step of forward stage
  3. qv is filtered but corrected to maintain saturated points at nhalf step of forward stage, other variables are initialized with instantaneous values valid at nhalf step of forward stage
0
itype_dfi_soil NEW Treatment of soil variables in DFI (for consistency with clouds / precipitation treatment):
  1. All soil variables are derived from the average of values at the initial and final step of forward stage (default).
  2. All soil variables are initialized with instantaneous values valid at nhalf step of forward stage.
0

Back to Contents


8. Changes of Results

With the default settings of the namelist variables, there are no changes to the results.

On the Cray XC there are numerical changes to the results due to compiler optimizations.

Back to Contents