29.10.2018 / 14.12.2018
- Latest Modifications (on 14.12.18)
- Finalize port to GPU
- Enabled writing radar composites to restart files
- Technical Changes and Bug Fixes
- Changes to the Namelists
- Changes of Results
Some technical changes were identified after implementation of 5.05b into
the VCS of DWD:
- hori_diffusion.f90: (by M. Baldauf)
Apply Smagorinski diffusion only in the inner domain (necessary
to guarantee proper boundary exchange in the case iadv_order < 5).
- radiation_utilities.f90: (by M. Baldauf)
Introduced clipping to 0.0 for computation of cloud variables to avoid negative
values when running in single precision.
- src_setup.f90: (by U. Schaettler)
Correction of a check for nprocx, nprocy.
Back to Contents
(by Xavier Lapillonne, Katherine Silverthorne-Osterried,
Guy de Morsier, Philippe Marti)
The following parts of COSMO have been ported to GPU using OpenACC directives:
- Latent Heat Nudging:
- lhn_utilities.f90:
- Several loops have been restructured to make then parallel
- Introduced new l_to_ij map between linear buffer and ij indices
- src_lheat_nudge.f90:
Reorder/adapt several computations and subroutines to make them GPU compatible
- Nudging: Minor modification in
- src_gather_info.f90
- src_nudging.f90
- src_obs_use_org.f90
- Climate Mode (lbdclim): Ported subroutine init_canopy in
turb_utilities.f90 and adaptations in organize_physics
- Physics:
- sfc_flake.f90: Full port of sfc_flake;
could remove update of host/device in sfc_interface
- conv_tiedtke.f90: Modified treatment of ptrcr_tend and ptrcr_tran
to avoid deep copies on GPU
- conv_interface.f90: Removed update device for variable zpref
in SR conv_init (not necessary)
- gscp_graupel.f90: Corrected a parallel region (over loop_over_levels)
- Time Measurement:
- time_utilities.f90: Added time measurement with MPI_WTIME
(instead of SYSTEM_CLOCK), if pragma USE_MPI_WTIME is set
- environment.f90: Added acc_wait in combination with
MPI_BARRIER in SR comm_barrier
- General Organization:
- All GPU-CPU synchronization during the time step have been removed
- Reactivate sppt test after bug fix.
Back to Contents
(by Uli Blahak, DWD)
When working with the radar forward operator, it is also necessary to write
fields for radar composites to restart files. To identify the fields properly,
modifications have been done for leveltypes 25 and 199 in case of restart
files.
- io_metadata.f90:
- Fixed top level for leveltypes 25 and 199 to be able to identify the different
records in restart files
- Added level type radarElevComposite
- src_input.f90:
- Set top level for leveltypes 25 and 199 to be able to identify the different
records in restart files
- Added level type radarElevComposite (UB)
- Added treatment of hail (qh) in TWOMOM_SB (UB)
- Added option to read TKE from input files (AL)
- src_output.f90:
- Added a special section to write radar composites to restart files
- Renamed VTERM / EXT_DBZ to DUMMY_1 / DUMMY_2 (?)
- Further adaptations have been implemented to the interface of the radar forward operator.
Some variables have already been implemented for the possibility to choose
asynchronous output processors for writing radar data, which are not in
use right now.
The operator itself will be implemented in one of the next versions.
Back to Contents
- organize_data.f90: Bug for resetting statistically processed fields:
If there are several GRIBOUT groups and the last group does not contain a yvarml-list,
the resetting of statistically processed fields failed, because the initialization
of the internal table for organizing the resetting was wrong.
This has been corrected now in the subroutine setup_stat_proc.
- organize_data.f90, data_io.f90: (by Alberto de Lozar)
Implemented option to read initial data for TKE. This can be chosen by the
(new) switch lana_tke in namelist group /GRIBIN/.
- io_metadata.f90, netcdf_io.f90, organize_data.f90:
(by Witold Interewicz)
When modifying the shortnames for the dynamical and convective gusts, not all
places in the COSMO-Model were adapted accordingly. This has been corrected
now in io_metadata.f90 and netcdf_io.f90
In addition, there were several places in organize_data.f90, where still the
hard coded length of shortnames (10) was used. This has been replaced now
with the variable clen.
- data_modelconfig.f90, lmorg.f90, organize_data.f90:
- use a global switch lcalc_sometracks for switching off calc_tracks completely.
- some additional fixes for EMVORADO
- src_bott_dc.f90:
Cosmetic clean up
- calc_tracks.f90 (by Lucio Torrisi, Uli Blahak)
Get pointers also in case of zlcalc_lpi or zlcalc_mconv
- src_obs_cdfin_org.f90 (by Christoph Schraff, Davide Cesari)
Fix to ensure that nbsu and nbsv never have missing values.
- radiation_interface.f90 (by Davide Cesari)
Set zswdir_cor also if lradtopo is not computed, because this variable
is at least used during sp/dp conversion.
Back to Contents
Group |
Name |
Meaning |
Default |
/GRIBIN/ |
lana_tke |
NEW |
For optional input of TKE values with initial data. |
.FALSE. |
Back to Contents
None.
Back to Contents