Documentation of the Changes in the COSMO-Model
Version 4.18

24.05.2011

There have been several changes for this new version, but most of them are pure technical and do not change the results.

Contents:

  1. COSMO-ART Interfaces for Runge-Kutta Dynamical Core
  2. Changes in the Horizontal Advection
  3. Introduction of Interface for RTTOV9
  4. Conditional Compilation
  5. Changes in the Digital Filtering Initialization
  6. Changes to some diagnostic variables variables
  7. Extensions to NetCDF I/O
  8. Technical Changes
  9. Bug Fixes
  10. Summary of Namelist Variables Changes
  11. Changes of Results


1. COSMO-ART Interfaces for Runge-Kutta Dynamical Core

The interfaces to use COSMO-ART have been implemented now also in the Runge-Kutta dynamical core. The modules affected are

There have also been some additional modifications:

Back to Contents


2. Changes in the Horizontal Advection
(by Michael Baldauf, Guy DeMorsier)

Back to Contents


3. Introduction of Interface for RTTOV9
(by Robin Faulwetter)

In addition to the module src_sat_tbs.f90 (which is the interface to the RTTOV7 library) a new module src_sat_rttov.f90 has been introduced as interface to the RTTOV9 library. The synthetic satellite images can now also be computed using the RTTOV9 library.

In contrast to the RTTOV7 library, multiple-scattering effects are not computed explicitly, but are parametrised. Also, microphysical cloud properties are now taken into account better than before. For areas with a complex cloud coverage in the vertical there can be differences in the brightness temperatures up to some Kelvin. With low / high brightness temperatures (high / low clouds) the values will be lower / higher. The contrasts between lower and higher brightness temperatures will be intensified.

To choose between the libraries, a new Namelist parameter itype_rttov has been introduced in the group /SATCTL/:

Name Meaning Default
itype_rttov to specify the RTTOV version that should be used
7 to use RTTOV7 library
9 to use RTTOV9 library
7

Back to Contents


4. Conditional Compilation

Conditional compilation has been introduced for Nudging, the synthetic satellite images and the use of the NetCDF library. Not all users of the COSMO-Model do use these components, but have to compile and link them together with the additional libraries needed. Up to now we were offering "dummy"-files, but now we introduced conditional compilation (using the #ifdef pragma) for switching on / off these components during compilation time:

  • ifdef NUDGING:
    if -DNUDGING is defined for compilation, all source code for the assimilation part of the COSMO-Model will be compiled and linked with the binary.
  • if defined RTTOV7 || defined RTTOV9 || defined RTTOV10:
    if one of the above variables is defined for compilation, (-DRTTOV7, -DRTTOV9) the source code for the corresponding RTTOV-interfaces is compiled and the additional RTTOV-library is linked.
  • ifdef NETCDF:
    if -DNETCDF is defined for compilation, all parts of the source code using NetCDF calls is compiled and linked with the binary and the NetCDF library is linked.

    Note: NetCDF can only be switched off, if also Nudging is switched off, because the treatment of observations in the Nudging is done with NetCDF and cannot be switched off then.

If the source code is NOT compiled with these extensions, but the corresponding component is initiated during a model run, the model will stop with an appropriate error message.

Back to Contents


5. Changes in the Digital Filtering Initialization

Some technical adaptations were necessary to run the forward launching filter (ndfi=1), because the forecast then starts for nstart > 0, but some initializations (e.g. in the soil model) were done only for nstart = 0.

For the forward launching (ndfi=1), the soil processes are now taken into account. The initial values of all soil variables are saved and after the filtering step, all soil variables are initialized again as mean values of the initially saved values and the newly computed ones.

Note: The reproducibility problem for the backward-forward initialization (ndfi=2) still is not solved.

Back to Contents


6. Changes to some diagnostic variables

There have been changes to few diagnostic variables:

  • Modification of computation for snow fall limit (SNOWLMT) and 0-degree height (HZEROCL) (by Guy DeMorsier, MeteoSwiss):
    The search algorithms for snow fall limit (1.3C) and 0-degree height are now started from top of the model and not from the bottom as before. Search from the bottom of the model could lead to a much too low snow fall limit, if there is a bend in the temperature profile.
  • Changes in the maximal wind gust:
    Up to now, the values on the western and southern boundaries of the total domain were only copied from the first interior line. Now they are also computed as the values in the interior.
    For the option itype_diag_gusts=2, a bug has been fixed.
  • Shortwave diffuse upward flux in the radiation ASWDIFU_S:
    Introduced smoothing of this field after computation of radiation on a coarse grid.
  • Possibility to write instantaneous values of fluxes:
    The instantaneous values of the fluxes SHFL_S, LHFL_S, UMFL_S, VMFL_S can now also be written.

Back to Contents


7. Extensions to NetCDF I/O
(by Anne Roches)

  • data_io.f90:
    Introduced additional entries in idims_id_out for
    • sectors of the horizon (for 3D ext. parameter field skyview
    • number of products for synthetic satellite images
    • number of products used for special MSG images
  • io_utilities.f90, src_input.f90, src_output.f90:
    Extensions to set the additional dimensions and write these variables.
  • src_setup_vartab.f90: Only for NetCDF Output, 4 additional fields for the synthetic satellite images have been introduced:
    • MSG_TB MSG brightness temperature
    • MSG_TBC MSG clear-sky brightness temperature
    • MSG_RAD MSG radiance
    • MSG_RADC MSG clear-sky radiance
    Output of these fields does NOT work in Grib!

Back to Contents


8. Technical Changes

  • New Namelist variable in the /TUNING/ list: thick_sc (by Martin Köhler
    thick_sc is the limit for convective clouds to be "shallow" (in Pa) Default: 25000.0 Pa (was hard coded up to now in src_conv_shallow.f90)

    This tuning parameter will be tested for COSMO-DE-EPS:
    Shallow convection parameterization becomes active only if cloud thickness from cloud base to cloud top exceeds a threshold. To evaluate this condition a parcel is launched. This threshold is typically set to values between 20000.0 Pa and 30000.0 Pa with a COSMO_DE default of 25000.0 Pa. (for comparison: IFS default is 20000.0 Pa set by Peter Bechtold). Reasonable values are between 10000.0 and 45000.0 Pa.

  • Changes in the output (by Uli Schättler)
    The namelist variable yform_write was moved from the group /IOCTL/ to the group(s) /GRIBOUT/. Now it is possible to specify a different output format for every output group.
  • For some modules the code owner has been changed (adapted to current situation).
  • Idealized test cases (by Uli Blahak)
    There were several bug fixes and some extensions to the module src_artifdata.f90 One bug has been fixed in organize_data.f90, regarding restart runs in case of idealized tests.
  • There are 2 new subroutines in src_integrals.f90 (by Michael Baldauf)
    check_qx_conservation, calc_cuboid_geometry

Back to Contents


9. Bug Fixes

  • src_output.f90:
    Settings of the product definition section (pds): Some parameters of the pds (for the SLEVE coordinate) were not set, when using the new reference atmosphere, but not the SLEVE coordinate. This leads to problems, when decoding these grib data with grib_api. The SLEVE parameters are now set to 0 in this case. (by Uli Schättler)

    In case of luvmasspoint=.TRUE. there were stripes from the processor grid in the output of AUMFL_S and AVMFL_S because of the averaging to the mass grid point. The boundaries of these variables must be exchanged before computing the averaging.

    Call to subroutine potential_vorticity_rho: variable zvarlev is now passed within (1:ke) to this subroutine. (by Jean-Marie Bettems)

  • numeric_utilities.f90:
    The interface of subroutine calc_Theta_Tppp expected reference temperature and temperature deviation from the calling routine. But in the output, only full temperature is available. The interface has been modified to expect the full temperature now. (by Jean-Marie Bettems)
  • pp_utilities.f90:
    A height query must be changed from "<=" to ">=" when computing accumulation of CAPE and CIN in subroutine ascent (for cape3km) (by Daniel Leuenberger)
  • src_runge_kutta.f90:
    Subroutine coriolis is now called with the correct timelevels in the case l_coriolis_every_RK_substep=.TRUE. (by Michael Baldauf)
  • near_surface.f90:
    for itype_diag_gusts=2 the values in 30m have to be used (up to now the 10m values were used erroneously) (by Oli Fuhrer)
  • src_input.f90:
    There were some cases, in which the variable ydatchk has not been set. This has been repaired (by Burkhardt Rockel et al.)
  • src_radiation.f90:
    Use local 2D array zskyview and use 1D slice of it (because global array is allocated only for lradtopo=.TRUE., but was used in SR interfaces) Smoothing local field for swdifu_s after computation on coarse grid.

    The computation of qc_rad and qi_rad was wrong, when using a coarser grid for the radiation. This has been fixed. (by Victor Venema, Uni Bonn)

  • organize_data.f90:
    Bug fix for restart runs with idealized cases. (by Uli Blahak)
  • dfi_initialization.f90:
    In case of ndfi=1 (forward launching) the start events for meanvalues, grid point output and computing synthetic satellite images has to be adapted, because nstart > 0 then. (by Uli Schättler)

Back to Contents


10. Summary of Namelist Variables Changes

There were the following changes for the Namelist variables:

Group Name Meaning Default
/DYNCTL/ lsl_adv_qx eliminated -
yef_adv_qx eliminated -
y_scalar_advect string to specify the horizontal advection scheme for scalar variables in the Runge-Kutta dynamics. The string is case-insensitive, lower and upper case letters are accepted.
'SL3_MF' SL-Advection with tricubic interpolation, multiplicative filling-option
'SL3_SFD' SL-Advection with tricubic interpolation, selective filling diffusion-option
'Bott2' Bott 2nd order finite-volume scheme
'Bott2_Strang' Bott 2nd order finite-volume scheme, with Strang splitting ('z-y-2x-y-z')
'Bott4' Bott 4th order finite-volume scheme
'Bott4_Strang' Bott 4th order finite-volume scheme, with Strang splitting ('z-y-2x-y-z')
'vanLeer'
'vanLeer_Strang'
'PPM'
'PPM_Strang'
'MPDATA' not yet available, work at MeteoCH
For a translation from lsl_adv_qx, yef_adv_qx to y_scalar_advect please see above.
'SL3_MF'
/TUNING/ thick_sc limit for convective clouds to be "shallow" (in Pa)
Range: 10000.0 ... 45000.0
25000.0
/IOCTL/ yform_write eliminated -
/GRIBOUT/ yform_write to specify output format for every output group separately. 'grb1'
/SATCTL/ itype_rttov to specify the RTTOV version that should be used
7 to use RTTOV7 library
9 to use RTTOV9 library
7
the following namelist variables are new and are only in effect for using RTTOV9
sat_long_01 position of first satellite (longitude) -999.0
sat_long_02 position of second satellite (longitude) -999.0
extrp_type Type of extrapolation above highest model level
  1. constant
  2. linear
  3. extrapolate towards a climatological value
0
iceshape To specify, whether ice particles are
  1. hexagonal
  2. or ice aggregates
1
iwc2effdiam Type of conversion of ice water content to effective diameter of ice particles
  1. Scheme by Ou and Liou, 1995, Atmos. Res., 35, 127-138.
  2. Scheme by Wyser et al. (see McFarquhar et al. (2003))
  3. Scheme by Boudala et al., 2002, Int. J. Climatol., 22, 1267-1284.
  4. Scheme by McFarquhar et al. (2003)
CAUTION: only type 4 has been tested extensively.
4

Back to Contents


11. Changes of Results

The modifications are purely technical, so that the results do not change. Only few diagnostics are affected because of bug fixes / technical changes:

VMAX_10M because of computations on the boundaries;
more changes, if itype_diag_gusts=2 is used, because of a bug fix.
HZEROCL changed search algorithm
SNOWLMT changed search algorithm
ASWDIFU_S introduced smoothing of this field after computation of radiation on a coarse grid
SYNMSG if RTTOV9 is used, the results will change
z-levels fields on z-levels do change, because the lower boundary condition for the vertical interpolation has changed.

Back to Contents