Documentation of the Changes in the COSMO-Model
Version 5.04f

01.09.2017

Version 5.04f is hopefully the last step until version 5.05 can be implemented. It contains all the physical parameterizations in blocked format.

Contents:

  1. Additional Changes for COSMO-ICON Physics
  2. Reproducing the Behaviour of the old COSMO Physics
  3. Changes in the Data Assimilation
  4. New Diagnostic Output Variables to Highlight Convective Cell Tracks between Output Timesteps
  5. Changes in Handling Statistically Processed Fields:
  6. Changes for shortNames
  7. GPU Version of TERRA
  8. Changes for using RTTOV
  9. Technical Changes and Bug Fixes
  10. Changes to the Namelists
  11. Changes of Results


1. Additional Changes for COSMO-ICON Physics

(by Matthias Raschendorfer, Jürgen Helmert, Martin Köhler, Ulrich Schättler)

A few more changes were necessary for the COSMO-ICON Physics:

Back to Contents


2. Reproducing the Behaviour of the old COSMO Physics

(by Matthias Raschendorfer, Ulrich Schättler)

It is possible to reproduce the behaviour of the old non-blocked physics of COSMO rather closely with this new version. To do so, some hardcoded variables in the turbulence scheme need a different value. This is implemented in turb_data.f90 with the pragma COSMO_OLD. If you want to have results as close as possible to the non-blocked version compile the model with -DCOSMO_OLD.

In addition you have to check the settings of the following namelist variables, which have to be set as in the old versions:

Settings for COSMO-DE from DWD before:

Group Name Old Value
/TUNING/ tkhmin 0.4
tkmmin 0.4
rat_sea 20.0
pat_len 500.0
tur_len 150.0
a_hshr 0.2
c_soil 1.0
/PHYCTL/ itype_vdif -1
ltkeshs .FALSE.
itype_sher 1
imode_tran 1
imode_turb 1
icldm_tran 0
lconf_avg .TRUE.
itype_albedo 3
itype_aerosol 1
itype_root 1
itype_heatcond 1
itype_evsl 2
lmulti_layer .TRUE.

Back to Contents


3. Changes in the Data Assimilation

(by Christoph Schraff)

Modifications

Modifications in the redundancy check for multi-level reports:

Conversion of the (observed and simulated) wind components from the rotated to the real geographical coordinate system for output to the NetCDF feedback file ('fof'; this defines a new version of the feedback file: 1.01 → 1.02) and the VOF ASCII feedback file ('YUVERIF', this defines a new version of the VOF file: VOF Version 4 → VOF Version 5)

Observation reading and processing modules which are also used by DACE-LETKF are updated to the DACE-LETKF DWD Tag Version V1_51. This includes some technical adaptations, minor bug fixes, and modifications to make the code, notably the grid point assignment, applicable to the ICON grid.

Changes to the results:

Changes to the namelist:

None.

Note:

In a KENDA or MEC context, this COSMO version (writing feedback file Version 1.02) should be used with DACE Version 'commit 547f1ab' (as of 14 May 2017) or later (or in terms of DWD Tag Versions: V1_52 or later).

Back to Contents


4. New Diagnostic Output Variables to Highlight Convective Cell Tracks between Output Timesteps

(by Ulrich Blahak)

7 new diagnostic 2-dimensional output fields have been implemented which may be specified in the first yvarml-list. These fields contain the minima/maxima of the following quantities between the actual and the last output time step:

In order to be able to use these variables for grib2, the DWD-definition files of grib_api version 1.20.0 are necessary.

Back to Contents


5. Changes in Handling Statistically Processed Fields

(by Ulrich Schättler)

Introduction

The new diagnostic output variables for tracking of convective cells need a modified treatment of statistically processed fields, because they should be reset after every output step.

Up to now only the following methods are possible in the COSMO-Model:
Statistical processing by

A more generalized way has been implemented now in the COSMO-Model, how the resetting of statistically processed fields is organized:

All statistically processed fields are grouped into four categories.

Category Variables included
Temperatures
TMIN_2M   TMAX_2M  
Winds
VMAX_10M   VABSMX_10M   VGUST_DYN_10M   VGUST_CON_10M  
Summations / Averages
T_2M_AV   TD_2M_AV   U_10M_AV   V_10M_AV   ASOB_S   ATHB_S   ASOB_T   ATHB_T  
ALHFL_S   ASHFL_S   AUMFL_S   AVMFL_S   APAB_S   ALHFL_BS   ALHFL_PL   ASWDIR_S  
ASWDIFD_S  ASWDIFU_S  ATHD_S   ATHU_S   ASOD_T   AUSTR_SSO  AVSTR_SSO  AVDIS_SSO 
AEVAP_S   TOT_PREC   SNOW_CON   SNOW_GSP   RUNOFF_S   RUNOFF_G   SNOW_MELT  DURSUN  
TDIV_HUM   RAIN_GSP   RAIN_CON   GRAU_GSP   HAIL_GSP   DURSUN_M   DURSUN_R  
Cells
TCOND_MAX   TCOND10_MX   LPI_MAX   DBZ_CTMAX   UH_MAX   VORW_CTMAX   W_CTMAX  

For every category the type of resetting can be chosen. For that there are four new Namelist variables in /GRIBOUT/ to control the type of resetting:

   ireset_temps, ireset_winds, ireset_sums, ireset_cells

Allowed values for these variables are

  1. no resetting at all (default for sums and averages)
  2. reset after given interval (only for temps and winds; this is the default)
  3. reset after every output (default for cells).

The default values of the four new namelist variables in /GRIBOUT/ are in a way that the current behaviour of the COSMO-Model regarding statistically processed fields is retained.

Note: There is one exception: For lbdclim=.TRUE. the namelist variable ireset_sums=2 has to be chosen to reset all summation variables after every output.
New Subroutines in organize_data.f90

Two new subroutines are included in module organize_data.f90 to control the resetting of the statistically processed fields:

Changes to current COSMO-Model implementation

The resetting of temperatures in near_surface.f90 and of winds in initialize_loops (lmorg.f90) has been removed. Resetting of statistically processed fields is now done in organize_data.f90 after output of fields by calling the new subroutine reset_satt_proc.

To control resetting "after every output", an additional entry in the structure ar_des for the variable table has been added: lout_done
After output, this logical flag is set to .TRUE., the routine reset_stat_proc checks this flag and resets the variable, if itype_reset==2. lout_done is then set to .FALSE. again.

Back to Contents


6. Changes for shortNames

(by Ulrich Schättler)

There were changes in the shortnames for output fields from radiation, the multi-layer snow model and the wind gusts due to a unification with ICON names:

Description of Variable Old Name New Name
direct downward shortwave radiation at the surface SWDIR_S SWDIRS_RAD
diffuse downward shortwave radiation at the surface SWDIFD_S SWDIFDS_RAD
diffuse upward shortwave radiation at the surface SWDIFU_S SWDIFUS_RAD
downward longwave radiation at the surface LWD_S THDS_RAD
averaged downward longwave radiation at the surface ALWD_S ATHD_S
upward longwave radiation at the surface LWU_S THUS_RAD
averaged upward longwave radiation at the surface ALWU_S ATHU_S
solar downward radiation at top SOD_T SODT_RAD
average of u-stress due to SSO AUSTRSSO AUSTR_SSO
average of v-stress due to SSO AVSTRSSO AVSTR_SSO
average of vertical integrated dissipation of kinetic energy due to SSO AVDISSSO AVDIS_SSO
liquid water content in snow (multi-layer snow) WLIQ_SNOW WLIQ_SNOW_M
fraction of snow FR_SNOW SNOW_C
maximum 10 meter dynamical gust VGUST_DYN VGUST_DYN_10M
maximum 10 meter convective gust VGUST_CON VGUST_CON_10M

Having the 10M specification in the short names for the dynamical and convective wind gusts has the advantage that the corresponding GRIB2 specifications can be put to the shortName.def.

Another necessary change is to increase the length of the short names in COSMO to 13 characters. This has implications to the formatting of YUCHKDAT.

There are new fields, which are only active, if the radar forward operator is activated (which will be added in one of the next versions):

For development purposes an extra GRIB (1) table 254 has been added with dummy variables. These can be used during development to write special model variables which do not have an official Grib coding. This table 254 is coded with COSMO internal number 13 in lst_gribtabs.

Back to Contents


7. GPU Version of TERRA

(by Clement Valentin, MCH)

OpenACC statements have been implemented in TERRA (module sfc_terra.f90) in order to run also this scheme on GPUs. For a better optimization on GPUs the index lists for rock and ice have been eliminated.

The changes are bit reproducible, at least when using GNU compiler and Cray compiler with the flag -hflex_mp=intolerant. With -hflex_mp=conservative the results are modified due to different compiler optimizations.

Back to Contents


8. Changes for using RTTOV

(by Axel Hutt, Robin Faulwetter, Ulrich Schättler)

Usage of RTTOV12 has been implemented in the model: To use RTTOV12 the COSMO-Model has to be compiled with pragma -DRTTOV12.

Usage of RTTOV9 has been eliminated.

Vertical interpolation of COSMO model levels to RTTOV pressure levels:

Up to now this vertical interpolation has been done with RTTOV internal routines. To do that, the argument addinterp for calling rttov_fill_input in module src_sat_rttov.f90 has been set to .TRUE. But these routines are very expensive in terms of CPU time, therefore, COSMO routines are now used to do the vertical interpolation. A new subroutine "prepare_rttovlevels" has been added to compute all input values on the RTTOV pressure levels. The routine rttov_fill_input is now called with addinterp=.FALSE.

To do the vertical interpolation, it is necessary to know the RTTOV pressure levels. nlev_rttov is a new variable in data_satellites to specify the number of RTTOV pressure levels and pres_rttov is a variable, which is preset with the correct pressure levels, depending on the RTTOV version chosen.

Back to Contents


9. Technical Changes and Bug Fixes

Back to Contents


10. Changes to the Namelists

Group Name Meaning Default
/PHYCTL/ itype_heatcond new option: 3 type of soil heat conductivity:
  1. use average soil moisture
  2. take into account soil moisture/soil ice
  3. NEW: use a special (hardcoded) tuning factor to indirectly account for the impact of vegetation, which does not depend on soil moisture.
1
idiag_snowfrac NEW method for diagnosis of snow-cover fraction
  • 1 : old parameterization depending on soil water equivalent only
  • 2, 20: more advanced parameterization depending on snow depth, accounts also for vegetation and SSO
  • 3, 30: similar to option 2, but somewhat less snow cover and limit over high vegetation
  • 4, 40: same as option 3, but even more restrictive snow cover limit over high vegetation

Extra for 20, 30, 40:
Artificially reduce snow-cover fraction in case of melting snow in order to reduce the ubiquitous cold bias in such situations.

1
lmulti_layer DELETED Now only the multi-layer snow model can be run. .TRUE.
nlgw DELETED Configuration variable for the old 2/3-layer soil model is not needed any more. 2
/TUNING/ tune_minsnowfrac NEW Minimum value to which the snow cover fraction is artificially reduced in case of melting snow (in case of idiag_snowfrac = 20/30/40) 0.125
wichfakt DELETED Belongs to non-blocked formulation of prognostic TKE turbulence scheme. 0.0
securi DELETED Belongs to non-blocked formulation of prognostic TKE turbulence scheme. 0.5
/GRIBIN/ nlgw_ini, nlgw_bd DELETED Configuration variable for the old 2/3-layer soil model is not needed any more. 2
/GRIBOUT/

Four namelist variables have been introduced to control the type of resetting for the different categories of variables of statistically processed fields:

Allowable values are (in principal):

  1. no resetting at all (default for sums and averages)
  2. reset after given interval (only for temps and winds; this is the default)
  3. reset after every output (default for cells)

But not every type of resetting is possible for every category. The allowed values are given below.

ireset_temps NEW type of resetting for temperatures; allowed values are: 0, 1, 2 1
ireset_winds NEW type of resetting for winds; allowed values are: 0, 1, 2 1
ireset_sums NEW type of resetting for summations and averages; allowed values are: 0, 2 0
ireset_cells NEW type of resetting for cell tracking variables; allowed values are: 0, 2 2
/SATCTL/ itype_rttov new option 12 to use RTTOV12 7

Back to Contents


11. Changes of Results

The following modifications in the COSMO-ICON physics do change the results:

Eventually results are changed by the modifications in the data assimilation (see above).

All other changes are bit reproducible with GNU compiler and with Cray compiler using -hflex_mp=intolerant

Changes to ASCII output

Back to Contents