13.03.2013
This version again is a consolidation version. There are more adaptations for the new
fast waves solver and several technical changes. Two bugs have been fixed in the Runge-Kutta
advection schemes and, as a bigger technical change, the interface for the MESSy system have
been implemented with ifdefs.
- Adaptations for the new Fast Waves Solver
- Advection in the Runge-Kutta scheme
- Bug Fix in the Microphysics
- More Adaptations in the Nudging Code to the 14-digit date format
- Implementation of MESSy Interfaces
- Problems with conditional compilation
- Bug Fixes and Technical Changes
- Changing default values for several Namelist Variables
- Changes to the Namelists
- Changes of Results
(by Michael Baldauf)
Again, there has been some consolidation work in the new fast-waves solver.
The changes are:
- A new Namelist parameter divdamp_slope has been introduced to exceed the theoretical
slope stability criterion of the divergence damping (only for itype_fast_waves=2).
The default value is 20.0, which was hard-coded up to now. But for some tests a different
value might be necessary.
The modules affected are: data_runcontrol.f90, fast_waves_sc.f90, organize_dynamics.f90
- The new routine has been consolidated regarding the old solver in fast_waves_rk:
- optional use of the upper boundary damping layer by Klemp et al. (2008)
- lw_freeslip can now be used
- new version of the radiative lateral boundary condition
These items are optional and do not change the results, if they are not used.
NOTE: COSMO_EU and COSMO_DE use lw_freeslip=.TRUE., therefore results ARE changed.
- Setting the lateral boundary conditions for u and v: These are set at the beginning
of the small time steps now, because values are used later on. They were set too late
before. This also changes the results.
- Introduced a new action "cleanup" in organize_dynamics for
deallocation of fields from the new fast-waves solver. This is called at the end of lmorg.
Back to Contents
(by Michael Baldauf, Andreas Will)
There have been two corrections in the Runge-Kutta advection scheme (in module
src_advection_rk.f90), which do change the results:
- Bug correction for the earth curvature term in the advection of v:
There was an unnecessary averaging factor 0.5, which has been eliminated
(A. Will/J. Ogaja).
- A limiter for density has been introduced (by Michael Baldauf):
In the case, that density is transported additionally in the finite volume
advection schemes (as in the Bott-scheme), it can occur, that a grid box is
completely emptied due to the direction splitting. This would result in an
explosion of the specific mass of cloud variables. Therefore a limiter is
introduced, which sets the density to at least 10% of the density of the
reference state.
Back to Contents
(by Felix Rieper)
In the microphysics, several physical coefficients have been modified, which
were wrongly initialized:
- cloud ice scheme hydci_pp:
- ccsdxp: now use variable zv1s instead of zbms
for initialization
- zbsmel, ccsdep, zbev: The factor sqrt(0.5) must be eliminated
- graupel scheme hydci_pp_gr:
- ccsdxp: now use variable zv1s instead of zbms
for initialization
Also, the values of variables zcsdep, zsamel have been
adapted to lately modified diffusion coefficient zdv in the cloud
ice scheme hydci_pp
These changes affect the results of COSMO_EU and COSMO_DE.
Back to Contents
(by Christoph Schraff)
Several places still had to be adapted to the use of the 14-digit date format.
This includes the fact that the new version now writes VOF Version 4:
Affected modules are:
- data_obs_lib_cosmo.f90
- src_nudging.f90
- src_obs_cdfin_comhead.f90
- src_obs_cdfin_org.f90
- src_obs_print_vof.f90
- src_obs_use_org.f90
Back to Contents
(by Astrid Kerkweg, et al., University of Mainz)
Interfaces have been implemented to use the COSMO within the "Modular Earth Sub-System"
(MESSy). Especially, the use within this system requires a special treatment of tracers.
All changes have been introduced using conditional compilation with the
pragma -DMESSY.
Back to Contents
(by Uli Schättler)
-
Problem when compiling without -DNETCDF:
When compiling without the pragma -DNETCDF, there was a problem in the compilation of
src_output.f90, because the variable nmsgchan was not defined then. This variable has
now been introduced as global variable in data_satellites.f90, which is used in
src_output.f90 and in netcdf_io.f90.
-
Problem when compiling only with -DRTTOV and without -DNUDGING:
In addition, several ifdef NUDGING pragmas have been inserted in src_obs_rad.f90 to
separate the Nudging part from the SYNSAT part.
Back to Contents
- data_constants.f90:
Moved subroutine set_constants from src_setup to this module,
so that it can also be used easily by other programs.
- data_runcontrol.f90, src_setup.f90:
Introduced new logical switch ldebug_mpe, for debug prints in
mpe_io2 module.
- fast_waves_rk.f90:
Removed unused variables iup, jup;
Introduced error message, if wrong values for itype_bbc_w are used.
- meteo_utilities.f90:
Used p0ref in computations of subroutine reference_atmosphere_BV
and introduced this variable in the argument list of that subroutine.
- mpe_io2.f90:
The strategy of the asynchronous output, to sort all grib records in the same way as the
usual synchronous output, can use much memory because of the necessary buffering. This lead
already to problems on some machines. Therefore the buffering is avoided now.
- netcdf_io.f90:
- In subroutine start_ionode, now%nextstep has to be increased
by 1 in order to get the correct output times for the calculation of time_bnds.
- Bug fix in the calculation of list_out_nsteps: nstart has to be
added to the variable minamongvars, otherwise the calculation of
variables time and time_bnds is wrong.
- numeric_utilities.f90:
Modified some error messages for better understanding
- organize_data.f90:
Split long global attributes (len=200) for NetCDF for distribution using
charbuf (len=100)
- src_artifdata.f90, src_input.f90:
Introduced p0ref in argument list to subroutine reference_atmosphere_BV.
- src_runge_kutta.f90:
Introduced call to new subroutine init_fast_waves_sc_3
(from module fast_waves_sc.f90)
- src_setup.f90:
Moved subroutine set_constants from src_setup to
data_constants, so that it can also be used easily by other programs.
- src_setup_vartab.f90:
Adaptation of units of output variables to GRIB standard:
The shortly introduced additional albedo fields need to have the grib-factor 100.0,
because the GRIB unit is %, while in the model they are used in the interval [0..1].
This factor has been forgotten before.
- src_tracer_metadata.f90:
Some syntax adaptation (due to complaints by Intel Compiler).
Back to Contents
The defaults of some Namelist parameters have been modified, mainly to reflect now the
usage of the Runge-Kutty dynamical scheme with the new fast-waves solver as standard.
If values are different depending on the horizontal resolution, most values now reflect
the settings of COSMO-EU application (with 7 km) at DWD.
Group |
Parameter |
New Default |
Old Default |
/TUNING/ |
v0snow |
25.0 |
20.0 |
wichfakt |
0.0 |
0.15 |
tkhmin |
0.4 |
1.0 |
tkmmin |
0.4 |
1.0 |
/DYNCTL/ |
l2tls |
.TRUE. |
.FALSE. |
iadv_order |
3 |
5 |
itype_fast_waves |
2 |
1 |
itype_bbc_w |
114 |
1 |
l_diff_Smag |
.TRUE. |
.FALSE. |
y_scalar_advect |
BOTT2_STRANG |
SL3_MF |
lexpl_lbc |
.TRUE. |
.FALSE. |
rlwidth |
85000.0 |
50000.0 |
nrdtau |
5 |
10 |
ldiabf_lh |
.TRUE. |
.FALSE. |
hd_corr_u_in |
0.25 |
1.0 |
hd_corr_u_bd |
0.25 |
1.0 |
hd_corr_t_in |
0.0 |
0.75 |
hd_corr_t_bd |
0.0 |
0.75 |
hd_corr_p_in |
0.0 |
0.75 |
hd_corr_p_bd |
0.0 |
0.75 |
hd_corr_trcr_in |
0.0 |
0.5 |
hd_corr_trcr_bd |
0.0 |
0.5 |
/PHYCTL/ |
limpltkediff |
.TRUE. |
.FALSE. |
lsso |
.TRUE. |
.FALSE. |
lseaice |
.TRUE. |
.FALSE. |
lexpcor |
.FALSE. |
.TRUE. |
nincconv |
4 |
10 |
Back to Contents
There were no changes to the Namelists.
Back to Contents
The results of COSMO_EU and COSMO_DE are influenced by the following modifications:
- fast_waves_sc.f90:
Setting of lateral boundaries for u, v, w has been modified compared
to former versions.
- src_advection_rk.f90:
- bug fix in the advection of v
- limiter for the density instead of clipping
- src_gscp.f90:
Bug fix in microphysics (ice and graupel scheme)
(These modifications had already be implemented in an intermediate
version 4.26.1).
Back to Contents