The main changes in Version 4.17 have been for running idealized cases. Therefore the module src_artifdata.f90 has changed completely. There is a namelist group /ARTIFCTL/ to specify a range of artificial setups. There were also some changes in other routines, which are documented below.
In this version the rationale for performing idealized cases has been modified. Instead of having to clone a src_artifdata.f90 file for each different case and to modify it by hand, there is now one src_artifdata.f90, which includes all ingredients for idealized simulations in a modular fashion and which allows to configure the simulations by namelist parameters.
For example, the user may choose between different types of artificial orography (arbitrary number of Gaussian or bellshaped hills, or reading from ASCII file), and different types of initial T- and relative humidity profiles (polytrope atmosphere layers, constant Brunt-Vaisala-frequency layers, Weisman-Klemp-type profiles, or again reading from an ASCII-file). The modular fashion is designed to enable the user to add his/her own ingredient at a specific location within the code, if it is not already available. Restart runs are now also possible for idealized simulations.
There have also been improvements in the hydrostatic pressure initialization, with regards to the determination of the surface pressure, to the treatment of moisture, and to the consistency with the choice of the dynamical core.
Note that older versions of src_artifdata.f90 will probably not work any more. In that case contact Ulrich Blahak. It is likely that your particular idealized case might now be configurable via the new namelist parameters, or it might be possbile to add your particular idealized case to the already implemented cases.
A detailed documentation is under way from Ulrich Blahak. In the meantime, users can consult an exemplary runscript run_ideal, which contains all new namelist parameters in a documented and cookbook-like fashion (see below, Changes in the namelists).
Periodic boundary conditions have now been implemented separate for the x- and the y-direction. 2 new namelist parameters lperi_x and lperi_y do now replace the old parameter lperi. Also the model variable my_peri_neigh has been removed. The variable my_cart_neigh is now set depending on lperi_x and lperi_y.
All necessary boundary exchange for periodic conditions is now handled in the routine exchg_boundaries. The interface to this routine has been changed to pass the values of lperi_x, lperi_y, l2dim and num_compute. This makes it necessary to call this routine also in case of single processor runs. An additional advantage of this is, that there are no more code branches outside exchg_boundaries for lperi_x, lperi_y or l2dim.
Implemented the option of linear interpolation to constant p- and z-levels in addition to the traditional cubic tension splines. This scheme uses the subroutine lininterp2D_xinter1D_vec. A new namelist parameter itype_vertint has been introduced (1=cubic spline, 2=linear); (see below, Changes in the namelists).
For the interpolation of pressure P to z-levels, the surface pressure PS is now used as lower boundary for the vertical interpolation instead of the pressure at the lowest main level (for both types of vertical interpolation). This changes the results of interpolated pressure near the surface.
The lower boundary conditions for U, V, W, and T for *linear* z_int()-interpolation now depend on the setting of lnosurffluxes_m/h (free-slip boundary condition or not)
There were the following changes for the Namelist variables:
Group | Name | Meaning | Default |
---|---|---|---|
/RUNCTL/ | lperi | eliminated | - |
lperi_x | enforce periodic boundary conditions in x-direction This can only be chosen together with lartif_data=.TRUE. |
.FALSE. | |
lperi_y | enforce periodic boundary conditions in y-direction This can only be chosen together with lartif_data=.TRUE. |
.FALSE. | |
/GRIBOUT/ | itype_vertint | to specify the type of vertical interpolation
to p- and z-levels
|
1 |
/PHYCTL/ | lfreeslip_sfc | eliminated; can now be imposed by namelist parameters lnosurffluxes_m=.true. (for momentum) and/or lnosurffluxes_h=.true. (for heat). | - |
/ARTIFCTL/ | Documentation is work in progress. |
Back to Contents
There are (nearly) no changes in the operational results.
The only slight difference is in the pressure interpolated to constant z-levels
near the surface, which stems from the use of surface pressure instead of
the lowest main level of atmospheric pressure as lower boundary condition.
(see above).
5. Changes of Results