06.10.2016
Version 5.4c (and some fixes in 5.4c1) is also a development version, which will not be officially released.
It does not contain new features, but mainly consolidation work for the COSMO-ICON
physics and the GPU version.
- Physics Perturbation
- Minor Adaptations for COSMO-ICON Physics
- Updates and Fixes for GPU-Version
- Changes in the Tracer Module
- C++ Dynamical Core Integration
- Technical Changes and Bug Fixes
- New Tuning variables for Convection Scheme (5.04c1)
- Changes to the Namelists
- Changes of Results
(by Michael Buchhold et al.)
Introduction of new tuning parameters radqc_fact, radqi_fact
for the radiatively active part of qc and qi for
icldm_rad ≥ 3.
Up to now these parameters were hardcoded with 0.5. Now they are new namelist
variables in the group /TUNING/. The default is 0.5, so there are no changes
to the results, if no other values are chosen.
Group |
Name |
Meaning |
Meaningful Range |
Default |
/TUNING/ |
radqc_fact |
NEW |
portion of gridscale qc+qr
seen by the radiation |
[0.5, 1.0] |
0.5 |
radqi_fact |
NEW |
portion of gridscale qi+qs+qg
seen by the radiation |
[0.5, 1.0] |
0.5 |
Note that values > 0.0 are accepted!
Back to Contents
(by Ulrich Schättler)
Because of optimization problems on the Cray, we had to re-introduce the
automatic arrays in the turbulence and convection schemes again. If they
are declared as !$OMP threadprivate, the loops containing such fields are
not vectorized.
This affects the blocked versions only.
Back to Contents
(These changes have been introduced in 5.04c1)
- acc_global_data: Integrated fields for C++ Dynamical Core Bug Fixes
- conv_data: Replaced OPENACC with ALLOC_WKARR
for use of allocatable work arrays
- conv_interface: Fixes and replaced OPENACC with ALLOC_WKARR
- conv_shallow: Updated acc present list and replaced
OPENACC with ALLOC_WKARR
- data_runcontrol: Defined ntke without TARGET
attribute, which is not possible on GPUs
- src_block_fields_org: Fixed some syntax errors in the GPU part
Back to Contents
(by Pascal Spoerri)
Creation of two new tracers:
- SPPTPERT: A tracer that enables SPPT
- SEDIM: A tracer that enables sedimentation
changes in data_tracer.f90 and src_tracer.f90.
Back to Contents
(by Pascal Spoerri)
To integrate the C++ dynamical core, several adaptations have been done:
Adaptations in the Fortran code:
- acc_global_data.f90:
Adapted to also copy the fields used in the C++ Dynamical Core to GPU.
- lmorg.f90:
- Integrated GPU update for C++ Dynamical Core
- Replacing the hhlr variable with hhl_prof as done in the Relaxation.
- Increase of the DycoreWrapper interface version because of the name change.
- src_cpp_dycore.f90:
Integrated host and device update calls for the C++ Dynamical core
Adaptations in the C++ dynamical core:
- Adapted the C++ Dynamical Core interface to use the specific hhl
profile instead of the vertical coordinates.
- Enabling l_satad_dyn_iter in the kenda test to allow testing with
lcpp_dycore.
- Adding guards to calls to the C++ Dynamical core when COSMO was compiled with
C++ Dynamical core support but it is disabled.
- Minor fixes in the Dycore to fix issue with inflow boundary conditions.
- Removal of the KCaches in AdvectionPDBottPrepareStep since
u_half and v_half are also accessed horizontally.
- Enabling of the C++ Dynamical core in Jenkins to allow for automated testing.
- Activation of the SPPT and SEDIM tracers in the C++ dycore and its interface.
- Integrated irk_order 1,2.
- Fixed a compiler warning regarding the use of stringstream.
- Fixed the FastWavesRK implementation.
Back to Contents
- conv_interface.f90: (by L. Torrisi, U. Schaettler)
Adapted computation of mean approximate model resolution, because evaluation
of crlat is not possible at je_tot/2 (is only a local field).
- io_metadata.f90: (by U. Schaettler)
Set bitsPerValue of T_SO for GRIB2 to same value
as for P, HHL (24 bit).
- lmorg.f90, organize_data.f90: (by T. Schad, KIT)
Adaptations for tracers in artificial runs.
- organize_data.f90: (by U. Blakah, T. Schad, KIT)
Bug fix for restarts in case of TWOMOM_SB for PRH_GSP, HAIL_GSP
Adaptations for tracers in artificial runs.
- pp_utilities.f90: (by U. Blahak; DWD Version 5.04b2)
Again modified error treatment in LPI computations, to avoid
model crashes due to problematic thermodynamic profiles.
- radiation_utilities.f90: (by U. Schaettler)
Use isoiltyp instead of soiltyp now
Adaptations for TWOMOM_SB.
- src_input.f90: (by J. Helmert)
Set values of T_SO in soil layers not to 0, but to T_SO(0),
because of unacceptable GRIB packing deviations otherwise.
- src_lheat_nudge.f90: (by K. Stephan)
Some bug fixes:
- correct handling of leap year
- correct evaluation of delta_t0 depending on lhn_dt_obs (data frequency)
- limiting variable nread to nrec_max (in case of more records within grib file)
- src_obs_cdfout_feedobs.f90: (by X. Lapillonne)
Bug fix in formatting of a PRINT statement.
- src_obs_operator_conv.f90: (by K. Stephan)
PATCH 20160922 to avoid division by zero in the very seldom case of zpsvob = 0.
- src_setup_vartab.f90: (by U. Schaettler)
Added check that pp is allocated and set idef_stat
for P to -1 otherwise.
- src_traj.f90:
Ask for idef_stat ≥ 0, to check for allocated variables.
- utilities.f90: (by L. Torrisi, U. Schaettler)
- Some compilers do not return TRUE, if the comparison value/=value is
done for value=NaN.
Therefore we introduced also the checking with the non-standard intrinsic
function isnan. This must be activated with the compiler directive -DISNAN
- An interface and a 8-byte integer version of procedure sortrx has been
implemented.
Back to Contents
(by Ulrich Blahak)
Four parameters of the convection schemes have been introduced as tuning
variables for Tiedtke and shallow convection. Variation of these parameters
has proven to be beneficial in arid climates and km-scale resolution
to enhance convective precipitation.
Group |
Name |
Meaning |
Meaningful Range |
Default |
/TUNING/ |
thick_dc |
NEW |
Threshold of cloud thickness for precipitating deep
convection mode in Tiedtke deep convection
parameterization. |
[5000.0, 45000.0] |
20000.0 |
cmfctop |
NEW |
Relative mass flux above level of non-buoyancy for both
shallow and deep convection parameterizations. |
[0.1, 0.33] |
0.33 |
cprcon_dc |
NEW |
Conversion rate cloud water to precipitation for deep
convection parameterization. |
[0.0001, 0.001] |
0.0002 |
Tmpmin_dc |
NEW |
Minium temperature of the mixed-phase temperature range
for deep convection parameterization [K]. |
[230.0, 273.0] |
250.16 |
For arid climates choose something like this to enhance convective precipiation:
- cprcon_dc = 0.0005
- Tmpmin_dc = 270.0
- thick_dc = 10000.0
Back to Contents
Group |
Name |
Meaning |
Meaningful Range |
Default |
/TUNING/ |
radqc_fact |
NEW |
portion of gridscale qc+qr
seen by the radiation |
[0.5, 1.0] |
0.5 |
radqi_fact |
NEW |
portion of gridscale qi+qs+qg
seen by the radiation |
[0.5, 1.0] |
0.5 |
thick_dc |
NEW |
Threshold of cloud thickness for precipitating deep
convection mode in Tiedtke deep convection
parameterization. |
[5000.0, 45000.0] |
20000.0 |
cmfctop |
NEW |
Relative mass flux above level of non-buoyancy for both
shallow and deep convection parameterizations. |
[0.1, 0.33] |
0.33 |
cprcon_dc |
NEW |
Conversion rate cloud water to precipitation for deep
convection parameterization. |
[0.0001, 0.001] |
0.0002 |
Tmpmin_dc |
NEW |
Minium temperature of the mixed-phase temperature range
for deep convection parameterization [K]. |
[230.0, 273.0] |
250.16 |
Back to Contents
Changes to T_SO-values:
- There are no more 0-values of T_SO variable now. This holds for all output
formats and also for the values in YUCHKDAT.
- If T_SO is written in GRIB2, 24 bits per values are now used, to get a
higher precision.
If the default values of the new namelist variables are not changed, all other
results are bit-identical.
Back to Contents