Documentation of the Changes in the COSMO-Model
Version 4.20

31.08.2011

This version summarizes some "small" bug fixes and changes, but most of them also do change the results.

Contents:

  1. Technical changes regarding unified COSMO-ICON physics
  2. Digital Filter Initialization
  3. Changes in the dynamics
  4. Changes in the physics
  5. Idealized Test Cases
  6. Interfaces for coupling with OASIS
  7. Bug Fixes
  8. Some technical modifications
  9. Changes of Results


1. Technical changes regarding unified COSMO-ICON physics

The organizational structure of calling the different schemes within the turbulence has been modified with regard to the future changes for the unified COSMO-ICON physics.

The most important changes are:

Back to Contents


2. Digital Filter Initialization

(by Uli Schättler)

The backward-forward filtering (ndfi=2) has been disabled for the Runge-Kutta scheme. Because of the nature of this scheme, an adiabatic backward integration is not possible.

Back to Contents


3. Changes in the dynamics

Back to Contents


4. Changes in the physics

  • Radiation: (by Jürgen Helmert)
    Bug fix in sub grid scale cloudiness.
  • Microphysics: (by Axel Seifert, Thorsten Reinhardt)
    Correction of size distribution for rain droplets (in hydci_pp, hydci_pp_gr). Generalization of implementation for arbitrary mu_rain. (by Axel Seifert)
    Bugfix in density correction of fall speeds (by Thorsten Reinhardt). Added missing factor zrho1o2 for consideration of density in the sedimentation of rain and snow (in hydci_pp).
  • Turbulence: (by Matthias Raschendorfer)
    Additional 3D arrays for additional TKE sources by the action of other sub grid scale flow patterns have been introduced:
    • tket_conv: TKE-tendency due to convective buoyancy
    • tket_hshr: TKE-tendency due to (seperated) horizontal shear
    • tket_sso: TKE-tendency due to SSO wake production
    These fields are allocated in the long term storage (by src_allocation.f90) To consider the convective buoyancy production for TKE, a new namelist switch has been introduced in /PHYCTL/ (similar to ltkesso):
    Group Name Meaning Default
    /PHYCTL/ ltkecon to consider the convective buoyancy production for TKE .FALSE.
    The reference pressure p0ref, which is used in the Exner function, has been declared in data_constants.f90.
  • Convection: (by Matthias Raschendorfer)
    • src_conv_shallow: Introducing calculation of convective buoyant TKE production tket_conv
    • src_conv_tiedtke: Using tke-field only, if 'lctke=T'.
      Introducing calculation of convective buoyant TKE production tket_conv
  • Soil Model: (by Jürgen Helmert)
    Removed the dependency on diagnostic quantity t_2m by replacing it with the lowest atmospheric temperature level (as is in GME)

Back to Contents


5. Idealized Test Cases

(by Uli Blahak)

  • Additional bug fixes and modifications
  • Possibility to specify theta instead of t in radiosondes files
  • Improved error messages for Namelist-errors by using IOMSG-mechanism (can be used by defining #define HAS_IOMSG, if the compiler supports it.

Back to Contents


6. Interfaces for coupling with OASIS

(by Edouard Davin, Eric Maisonnave, Andy Dobler, et al.)

An interface to the OASIS coupler has been implemented into the COSMO-Model. In the CLM community there have been already activities to couple the Community Land Model (CLM) and an ocean model to the COSMO-Model using such an interface.

The interface is implemented using conditional compilation with -DCOUP_OAS. Sources from applications that should be coupled with the COSMO-Model or the coupler itself are NOT part of the COSMO-Model package. Such sources have to be obtained elsewhere. The COSMO-Model only provides the interfaces.

Necessary changes in the COSMO-Model:

  • lmorg.f90 Call to OASIS routines for initialization (at the beginning) and for update (during the timeloop).
  • src_setup.f90 Added icomm_world to the argument list of subroutine init_procgrid (up to now this routine started with MPI_COMM_WORLD)
  • environment.f90 Changed definition of icomm_world: in case of coupling, this communicator is defined by OASIS; only in case of un-coupled runs, it is MPI_COMM_WORLD. Therefore some uses of MPI_COMM_WORLD have to be replaced by icomm_world.

Back to Contents


7. Bug Fixes

  • Usage of tgrlat: (reported by Andreas Will and Jack Ogaja)
    tgrlat (tangens of transformed latitude) has been computed only on u-latitudes (same latitudes as mass grid points). But it has also to be considered on v-latitudes, which are different from the u-latitudes because of the staggering.
    Modified modules: data_fields.f90, numeric_utilities.f90, src_2timelevel.f90, src_allocation.f90, src_advection_rk.f90, src_setup.f90
  • src_runge_kutta.f90 (reported by Oli Fuhrer)
    The variable govcp was initialized only for itheta_adv >= 1, but was used in some idealized tests also for other cases. Therefore initialize this (and some other variables) in any case.
  • src_radiation.f90: (reported by Thorsten Reinhardt)
    In Section 6: Heating rates and radiation budget at surface: Variables dp0 and zsmu0 must not be referenced with js, but with loop variable jz1
  • organize_satellites.f90: (reported by Oli Fuhrer)
    The variable nsat_steps had only been allocated, if output of synthetic satellite images was switched on. But in the init- and compute-phase of organize_satellites it was accessed in all cases. Therefore allocate this variable also in all cases.
  • src_lheat_nudge.f90: (by Klaus Stephan)
    Bug correction: To consider both, blacklist flag and bright band flag for calculation of pr_obs and the weight, it should be an .AND. instead of .OR. (around line number 2135).

Back to Contents


8. Some technical modifications

  • mpe_io.f90, dummy_mpi.f90
    Modifications and extensions because of some compiler problems.
  • meteo_utilities.f90
    Replaced arguments p0, pp of subroutine cloud_diag with full pressure p_tot.
  • organize_data.f90, src_output.f90
    Replaced variable name namelist (which is a Fortran Keyword) by outblock.
  • src_allocation.f90
    Introduction of additional 3D-arrays tket_(conv, sso, hshr) for additional TKE source by the action of other sub grid scale flow patterns.
    Removed yaction=canopy fully and move allocation of canopy fields to init phase of organize_physics.
  • src_radiation.f90
    Replaced arguments p0, pp of subroutine cloud_diag with full pressure p_tot.
  • src_setup.f90
    Introduction of ifndef for SCLM. Introduction of p0ref and presetting of kcm
  • src_setup_vartab.f90
    Added instantaneous values of swdir_s, swdifd_s, swdifu_s, lwd_s, lwu_s
  • src_soil.f90
    Warning if SCLM mode is used with surface flux forcing (with ifdef)
  • src_turbulence.f90
    Eliminated unnecessary MAX-construct for index computations

Back to Contents


9. Changes of Results

Most of the above modifications do change the results slightly. But no significant changes are expected.

The run times of the very high resolution runs (2-3 km) are increasing by about 2-4 percent. This is mainly (but not only) due to the additional small time step in the 3rd Runge-Kutta step.

Back to Contents