Version 5.04f is hopefully the last step until version 5.05 can be implemented. It contains all the physical parameterizations in blocked format.
A few more changes were necessary for the COSMO-ICON Physics:
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.
Default: 1
Default: 0.125
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. |
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.
None.
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).
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:
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 |
|
|||||||||||||||||||||||||||||||||||||||
Winds |
|
|||||||||||||||||||||||||||||||||||||||
Summations / Averages |
|
|||||||||||||||||||||||||||||||||||||||
Cells |
|
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
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. |
Two new subroutines are included in module organize_data.f90 to control the resetting of the statistically processed fields:
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.
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.
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.
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.
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.
Group | Name | Meaning | Default | |
---|---|---|---|---|
/PHYCTL/ | itype_heatcond | new option: 3 | type of soil heat conductivity:
|
1 |
idiag_snowfrac | NEW | method for diagnosis of snow-cover fraction
Extra for 20, 30, 40: |
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):
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 |
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