16.10.2019
- Some Fixes for 5.06b
- Implementation of the radar forward operator EMVORADO
- Testing and Tuning of the Revised Cloud Radiation Coupling
- Unification of Soil and Surface Modules with ICON
- Changes in the Data Assimilation
- Added interfaces for GHG extensions
- GPU optimizations
- Running COSMO-LEPS in GRIB 2
- Additional output options
- Additional packing for GRIB 2 fields
- Unification with CLM
- Technical Changes and Bug Fixes
- Changes to the Namelists
- Changes of Results
Version 5.06b_1 (16.10.19)
Fixing a compilation problem for the single precision version in
radar_interface.f90.
Version 5.06b_2 (22.10.19)
Bug fix for computing ECHOTOP in module calc_tracks.f90.
This version has been put to operations on 06.11.19
Back to Contents
(by U. Blahak and Colleagues)
The code of the radar forward operator EMVORADO has been implemented into
an extra subdirectory LOCAL/EMVORADO. This directory also contains the
list of additional object files (ObjFiles.radar) and dependencies
(ObjDependencies.radar). Input of these two files in the Makefile has to
be activated, when the radar forward operator should be compiled.
Compilation can be activated in Fopts by setting -DRADARFWO.
Some additional technical changes in the COSMO code were necessary for
a clean implementation of the EMVORADO code in COSMO.
A detailed documentation of EMVORADO can be found on the COSMO Web Site:
../coreDocumentation/default.htm"
Back to Contents
(by Priority Project T2RC2)
As part of the COSMO priority project Testing and Tuning of the Revised Cloud
Radiation Coupling T2RC2, the calculation of the optical properties at the model
layers was significantly revised, and an additional version of a radiative solver
was implemented.
A detailed (scientific) description of all the modifications and the full list
of parameters of the new cloud-radiation coupling scheme is presented in the
COSMO Newsletters 2019.
Activating the new parameterizations
To activate the new parameterizations, you have to modify Fopts and Makefile:
- Include the preprocessor flag "-DCLOUDRAD" in the Fopts file.
- In the Section Declaration of the Object Files activate (uncomment) the line
#include LOCAL/TWOMOM/ObjFiles.cloud_opt.
- In the Section Dependencies of the Data Modules activate (uncomment) the line
#include LOCAL/TWOMOM/ObjDependencies.cloud_opt.
The following five new source modules will then be compiled and linked to the
COSMO binary:
- reff_calc_utilities.f90
- data_cloud_opt.f90
- src_cloud_opt_reff.f90
- src_reff_calc.f90
- src_nccn_diag.f90
Note that these modules are not located in the src-directory, but in the subdirectory
LOCAL/TWOMOM.
Highlights of the changes, which can be divided into three topics:
Radiative solver
In an attempt to both reduce errors and to decrease the run-time we implemented
an approach to decrease the spectral resolution by a method known as Monte
Carlo Spectral Integration (MCSI) (namelist parameter itype_mcsi). In this method
the spectrum is transferred from wavelength space to cumulative probability space.
This space is divided to intervals which are called g-points. In COSMO for each
gas and for each spectral interval there are between two to eight g-points. In
the operational mode of COSMO the Fast Exponential Sum Fitting Technique (FESFT)
is used to fully calculate all the mentioned g-points. In MCSI only one g-point
is calculated in each time step according to its probability. In COSMO we used a
softer version of MCSI where a g-point is selected in each of the spectral intervals
which increases the computational cost but does not neglect either of the spectral
intervals in every time step. The MCSI radiation scheme should be called more
frequently than the operational one.
Clear sky optical properties
Besides the already existing aerosol climatologys (default and Tegen)
a new option of an aerosol climatology was introduced
(namelist parameter itype_aerosol):
- Tegen (already existing: itype_aerosol=2):
This is a 2-dimensional monthly map of optical thicknesses for 5 aerosol classes.
In COSMO it is interpolated in time, and 3-dimensional optical properties are
calculated assuming a predefined exponentially decaying vertical profile.
- Kinne (new: itype_aerosol=3):
This is a 2-dimensional climatology which is considered to better describe
real aerosol loading.
In addition, two new options have been implemented to use time- and space-
interpolated 3-dimensional aerosol fields of external prognostic
forecast models. The interpolation of the external prognostic fields has
been implemented in INT2LM, so that INT2LM provides these fields via the
initial (and eventually boundary) data sets.
- CAMS (itype_aerosol=4):
With this option, CAMS-ECMWF 3-dimensional aerosol mixing ratio fields,
which include sea salt, mineral dust, black carbon, organic matter and
sulphate are processed.
These aerosols are sub-divided to eleven tracers, because sea salt and
dust have three size bins while black carbon and organic matter have
both hydrophobic and hydrophilic types.
- ICON-ART (itype_aerosol=5):
With this option, ICON-ART 3-dimensional aerosol mixing ratio fields can
be processed; currently the operational ICON-ART only includes mineral dust,
but it might be expanded to other species in the future.
Cloudy part optical properties
- In addition to cloud water and ice, the optical effect of prognostic snow,
graupel and rain water contents was (optionally) included.
- The optical properties of solid particles in clouds have been formulated
as function of effective radius and aspect ratio for the 8 COSMO spectral
bands, using the spectroscopic scattering function data for single needles.
- The optical properties of water particles in clouds have been formulated as function
of particles' water content and effective radius for the 8 COSMO spectral bands up
to about 60 micron with an own asymptotically correct extrapolation towards larger sizes
up to mm diameters.
- For the large particles (snow, graupel and rain) a geometrical-optics large-size
approximation based on semi-transparent spheres for the optical properties was
(optionally) implemented.
- Several new options for calculation of water contents, effective radii and aspect
ratios (both are functions of number concentration and mass concentration) for
various hydrometeors were implemented.
Back to Contents
(by U. Schättler)
The COSMO modules for the soil and surface processes (sfc_*.f90) have been brought
back to ICON, introducing some technical adaptations and a few bug fixes (implemented
earlier in ICON):
- Numerical stability bug fixes for soil ice freezing / melting
- Distinction between density for new snow and graupel
- Increased hydraulic conductivity for clay (variable ckw0(7) in sfc_terra_data.f90)
These bug fixes will change the results slightly!
Back to Contents
(by C. Schraff)
Changes in the Code
- For processing steps (e.g. blacklisting, gross error checking, superobbing)
affecting the state (active, passive...) of an upper-air observation (report)
for which the vertical level is reported as height rather than pressure or
flight level (e.g. for wind profiler, RASS, radar VAD, AMV, some PILOTs),
the pressure derived from the reported height by using the model profile is
replaced by a 'pressure' derived from height by using the standard atmosphere.
This is done in order to render these processing steps and hence the number
of reports and observations in the 'fof' feedback file independent from
the model state and consequently identical for all members of an ensemble.
This is required for the 'online' LETKF to avoid lethal crashes in the LETKF
code (for ICON-LAM, but also for COSMO for safety).
There is one exception:
Setting aircraft or AMV reports to passive close to the model orography still
needs to deploy the model state, namely the surface pressure.
Moreover, first guess checks must of course still depend on the model state,
but these checks only affect the first guess check flags and do not alter
the number of reports and observations in the feedback file.
- Definition and processing of new types of observations, read from the
following new observation input files:
input file name |
description of code type |
cdfin_tower |
tower profile reports (e.g. Falkenberg) (as a subtype of
observation type PILOT) |
cdfin_temphirs |
high-resolution BUFR land radiosondes,
high-resolution BUFR ship radiosondes, and
high-resolution BUFR dropsondes |
cdfin_tempdesc |
high-resolution BUFR radiosonde descent data |
For these new code types, switches are introduced to define their active or
only passive use.
- Obs input file names cdfin_*.x are now inquired and read also for x = 1.
- Superobbing of high-resolution profiles introduced.
- The criterion for which profiles superobbing is applied depends on the new
namelist variable av_reso. The target superobbing layers depend on the new
namelist variables av_levs and av_incr.
- Superobbed levels get a proprietary level significance.
- The redundancy check is adjusted to avoid supplementing a superobbed profile
by data from the original report (with state 'merged').
- Processing of relative humidity and mixing ratio is added to dewpoint
temperature as observed humidity variable for multi-level reports.
- Any obs levels from multi-level reports are now discarded with height above
'model top' (defined here as the mean of top main and half model level) or
with pressure smaller than certain limits (e.g. pressure limit = 30.1 hPa for
model top ≤ 22 km).
- Observation operators (subroutine surf_obs_opr_1h) added for temporally
non-local obs (1-h sums of precipitation and radiation), in order to write
model equivalents for these 1-hour sums to the feedback file.
- Update for DACE modules (mo_*.f90) to DACE V2_00; this includes the
definition of new observation types, code types, and variable numbers.
Use of mo_mpi is replaced by mo_mpi_dace.
- In the VOF (YUVERIF) files, an additional bit flag is written to the
station characteristics for upper-air reports for which the vertical levels
are reported as height, not as pressure or flight level.
- Bug fixes:
- Corrected computation of the cloud base height (replacing cloud
top height) for output in the feedback files.
- Fix to strictly avoid two levels in a multi-level report with
the same pressure;
if the surface level is one of these levels, it will be kept.
- If frames are used for lateral boundaries (lbd_frame=.true.)
then the secondary first guess check against the lateral boundary
fields is switched off (by setting the namelist variable qcflbcp=0.0).
- Minor fix in list_of_neighbours (if n_ngb is zero).
- Corrected initialisation of variable rc_tv.
- Corrected (de-)allocation of several fields in module
src_obs_cdfin_mult.f90.
- Code clean-up and formal changes:
- Code related to 1DVar of satellite retrievals is removed (or commented out).
Some other unused variables are also removed.
- In all data assimilation modules used for KENDA (i.e. all modules used for
nudging except those on lateral spreading, applying the nudging equations
and the subsequent field correction steps),
- all iintegers are removed and replaced by standard integers, and
- the use of data_parameters is replaced by kind_parameters.
- In all the modules jointly used by COSMO and DACE, the default is changed
from PUBLIC to PRIVATE and variables and subroutines used by other
modules are set to public explicitly one by one.
Changes of the namelist variables
Are described below.
Changes of the results
Are described below.
Back to Contents
(by Michael Jaehn)
Interfaces have been added to the COSMO-Model to use a model that computes
green house gas.
Back to Contents
(by Remo Dietlicher, Xavier Lapillonne)
- Added claw-directives optimization for GPU in gscp_graupel.f90.
- Copy to and from block structure in the Physics on GPU is made asynchronously.
This requires appropriate acc wait statements in organize_physics.f90.
- Changed device mapping to use local slurm id (in acc_device_management.f90).
- Assimilation:
- Allocation of fields depending on ALLOC_WKARR.
- Moved GPU transfer and computation for lgetai.
- Latent Heat Nudging:
Back to Contents
(by D. Liermann)
To store the COSMO-LEPS GRIB 2 data in the ECMWF MARS archive, it is necessary to
set some specific meta data in the local use section of GRIB 2. These meta data
are defined in a special ECMWF local use section with localDefinitionNumber 28.
To enable INT2LM and the COSMO-Model to also write this special group of meta
data with the same localInformationNumber 28 directly and without any further
post-processing, this group of meta data is also included in the DWD definition
files with localDefinitionNumber 28. With the linking mechanism for other centers
this group will be available for other centers running INT2LM and the COSMO-Model.
Changes to the COSMO-Model
- data_io.f90:
- Added variables for keys in local use section 28
- io_metadata.f90:
Subroutine make_grib_init:
- Initialization of localDefinitionNumber, if not set per namelist
- Initialization of constant keys for localDefinitionNumber 28, which have
been read by input files
Subroutine make_grib_product:
- Set special keys depending on localDefinitionNumber 28
- src_input.f90:
- Read necessary keys from input data
- Because not every MPI task necessarily reads a record with these
information, the keys have to be distributed to all other MPI tasks
- Special treatment for localDefinitionNumber 28
- src_output.f90:
- in case of running COSMO-LEPS and still doing output with GRIB 1 using
DWD libgrib1.a, the center has to be DWD (78). Therefore, just for such
an output, ncenter is (temporarily) set to 78.
How to run COSMO for COSMO-LEPS
To write GRIB 2 data, the DWD definition set for eccodes is needed:
definitions.edzw/grib2. This set contains modifications to include the definitions
of local use section 28 (from ECMWF) and 250 (COSMO). With the linking mechanism,
every center can create links to all necessary files within definitions.edzw/grib2
and can therefore use the same set of definitions as DWD.
Settings for namelist variables:
- in /RUNCTL/: leps = .TRUE.
- in /EPSCTL/: iepstyp=203
Back to Contents
(by U. Schättler)
Some time ago, several additional output options have been implemented to a special
COSMO version, which was used for the UERRA project (Uncertainties in Ensembles of
Regional ReAnalyses). Some of these options have been used by CLM and other partners,
so they are now implemented in the official version:
z-interpolation to levels above ground
Up to now, the interpolation to z-levels has always been to z-heights above sea level,
which is interesting e.g. for fleight heights above 1000 meters or so. In lower heights,
it is also interesting to have z-levels above ground.
The option to interpolate to z-levels above ground has been implemented in src_output,
subroutine z_int. A namelist variable lzint_above_ground has been introduced, which can
be set for every /GRIBOUT/ namelist block.
New Namelist variable: lzint_above_ground (default: .FALSE.)
Technical modifications necessary
When interpolating to heights above mean sea level, the height for all grid points is
the same. This is not the case for interpolating to heights above ground, because of the
underlying orography. Therefore, the x-axis in the interpolation routines (spline3D,
lininterp3D_xinter1D_vec) has to be a field depending on the grid point and now has
one dimension more as before. Accordingly, the corresponding fields in the calling
routines (pfls in p_int, zfls in z_int) have one dimension more.
For clarity we renamed subroutine lininterp3D_xinter1D_vec in module utilities.f90 to
lininterp3D_xinter2D_vec.
Added output fields for wind speed and wind direction
The possibility to write wind speed (SP) and wind direction (DD) on model, pressure-
and z-levels has been added. Also, the 10 meter fields (DD_10M, SP_10M) can be written.
Back to Contents
(by U. Schättler)
Up to now the packing type in INT2LM and the COSMO-Model was hard-coded as 'grid_simple'.
But for GRIB 2 additional packing types have been introduced, which offer an additional
packing and therefore result in smaller Grib files. The following packing types can now
be used by INT2LM (2.06a) and COSMO by setting the new namelist variable: ypackingType
(INT2LM: /DATA/; COSMO-Model: /GRIBOUT/)
- grid_ccsds:
The Consultative Committee for Space Data Systems uses a Golomb-Rice
packing scheme, which is rather efficient in terms of size and encoding
size for transmitting gridded data. This algorithm can also be applied
to meteorological data and is available in GRIB 2 now.
Note that this is a lossless packing, but acts upon the grid_simple
packing, which looses accuracy.
- grid_jpeg:
JPEG 2000 Code Stream Format (Joint Photographic Experts Group) is
also a lossless compression method, which acts upon grid_simple.
- grid_png:
The png compression engine is based on the deflate method, which is
a widely used, patent-free algorithm for universal, lossless data
compression.
New Namelist Variable in /GRIBOUT/: ypackingType (Default: 'grid_simple')
NOTES:
- To use these additional packing types, they also have to be activated for
eccodes (with -DENABLE_JPG=ON, -DENABLE_PNG=ON, -DENABLE_AEC=ON).
See also the installation instructions for eccodes.
- The additional packing also takes additional computational time.
Back to Contents
(by B. Rockel, K. Silverthorne-Osterried)
Option to write restart files in NetCDF
The option to write restart files in NetCDF format (instead of binary format)
has been implemented. It is activated with the new namelist switch
yform_restart = 'ncdf' (default is 'bina')
Modifications to Spectral Nudging
Extend the spectral nudging subroutine src_spectral_nudging.f90 to the
possibility of grid nudging.
Back to Contents
- fast_waves_sc.f90:
Need fields lgs_[A|B|C] for serialization as PUBLIC.
- src_runge_kutta.f90:
Additional fields for serialization.
- src_output.f90:
Output of TKETENS: to compute TKETENS the wrong time
level for TKE was used. This has been corrected.
Back to Contents
Group |
Name |
Meaning |
Default |
/IOCTL/ |
yform_restart |
NEW |
To choose the format for the restart files:
- 'bina': (default) as is up to now.
- 'ncdf': Restart files are written in NetCDF.
|
'bina' |
/GRIBOUT/ |
lzint_above_ground |
NEW |
To choose z-interpolation to levels above ground
(default is to interpolate to levels above mean sea level). |
.FALSE. |
ypackingType |
NEW |
To choose GRIB 2 packing type. Possible values are
(depends on configuration settings of eccodes!)
- 'grid_simple': as is up to now (default)
- 'grid_ccsds':
- 'grid_jpeg':
- 'grid_png':
|
'grid_simple' |
/NUDGING/ |
lcd139 |
NEW |
Switch for active use of tower profile data. |
.FALSE. |
lcd109 |
NEW |
Switch for active use of high-resolution BUFR land radiosondes. |
.TRUE. |
lcd111 |
NEW |
Switch for active use of high-resolution BUFR ship radiosondes. |
.TRUE. |
lcd230 |
NEW |
Switch for active use of high-resolution BUFR dropsondes. |
.TRUE. |
lcd231 |
NEW |
Switch for active use of high-resolution BUFR radiasonde
descent data. |
.TRUE. |
av_levs |
NEW |
Level definition list. |
(1075.0, 755.0, 710.0, 90.0, 75.0, 5.0) |
av_incr |
NEW |
Level increment list for superobbing layers of
high-resolution radiosonde data. |
(10.0, 15.0, 20.0, 15.0, 10.0, 0.0) |
av_reso |
NEW |
Superobbing is applied if the averaged resolution of the
observed profile exceeds av_reso times the vertical
model resolution. |
2.0 |
lcd022 |
DELETE |
Switch for active use of abbreviated ship reports. |
.TRUE. |
lcd023 |
DELETE |
Switch for active use of reduced 'shred' ship reports. |
.TRUE. |
lcd241 |
DELETE |
Switch for colba constant level balloon reports. |
.TRUE. |
lcd188 |
DELETE |
Switch for active use of SST as dribu reports. |
.TRUE. |
lcd063 |
DELETE |
Switch for active use of bathy dribu reports. |
.TRUE. |
l1dvar |
DELETE |
Inactive switch for 1DVar to derive satellite retrievals. |
.FALSE. |
Back to Contents
Physics
The fixes in the TERRA scheme will change the results slightly.
Data Assimilation
The changes of the results as described below affect the model fields directly
only if nudging is active. However, they also affect the feedback file ('fof')
and hence a KENDA-LETKF assimilation cycle.
- Using the standard atmosphere instead of the model state in order to convert
reported height into a specification of pressure e.g. for blacklisting,
gross error checking, superobbing, etc. will often lead to changes in the
results, if any of the observation types concerned with this are used, i.e.
wind profiler, RASS, radar VAD, AMV, and some PILOTs.
- In the (occasional) occurrence of profiles e.g. from wind profilers with
a resolution high enough to meet the criteria (roughly more than 3 times
higher resolution than the model resolution) for superobbing, the
superobbed profile will have a smaller (and more appropriate!) amount of
(single-level) data to be fed into the LETKF, and this modifies locally the
influence of that report on the analysis;
larger changes would occur if very high-resolution BUFR radiosonde reports
were present in the observation input file for radiosondes (cdfin_temp).
- Discarding observation levels from multi-level (usually radiosonde) reports
above the model top may alter the outcome of the multi-level and / or height
and thickness quality control checks and change the use of data further below
(i.e. below the model top and in the range where data can be used actively)
and hence the results occasionally (often slightly);
since it is not consistent to use data from outside the 3-D model domain to
control (based on extrapolation of model values) the quality of data from
inside the model domain (as is done in the old version), this change can be
considered a bug correction.
- Minor bug fixes in the redundancy check may change the results only rarely
and slightly.
Back to Contents