ICON Release#
ICON releases are scheduled semi-annual, usually in April and October.
The latest release available is icon-2026.04, see below for the release notes or browse the ICON release git repository:
https://gitlab.dkrz.de/icon/icon-model
Please note that downloading the tarball from the gitlab repository instead of cloning the repository will result in an error during configuration (see also the FAQ).
Release Notes#
Release notes for icon-2026.04#
ICON-Atmo#
Dynamics#
Swap dimensions of coefficient fields for igradp_method from (sparse, nproma, …) to (nproma, sparse, …) for consistency with icon4py.
The velocity tendencies are now accessed with same pattern as prognostics (using nnow and nnew). This assumes
itime_scheme>=4for the dycore.Fixed computation of total integrals diagnostic with output namelist option “totint”
Performance optimization on GPU for the computation of runtime maximum wind speed diagnostic
Assimilation Interfaces#
Update of
dace_iconand changes in data assimilation interfaces.EMVORADO: Replace NetCDF77 procedures by NetCDF90 procedures.
AES Physics#
Turbulent mixing (TMX)
Use Memory Manager library for data management
Use tile-specific relative wind speed for land/ocean/sea ice tiles in computations of surface roughness, exchange coefficients and fluxes
Added namelist options to not use Louis stability formula over land and/or sea ice
Fixes
Fixed GPU async queues in surface module to prevent possible race conditions
Implemented several OpenACC-related fixes to prevent model crashes in some circumstances
Fixed loop indexing in surface module to prevent acting on cells outside of valid domain
Fixed the vertical interpolation in the computation of near-surface diagnostics effecting 2m temperature and 10m wind
Microphysics
Added C++/Kokkos implementation of AES microphysics (used with
--enable-ragnarok)
Development of the Fortran implementation of AES microphysics is frozen and it may be removed in a future releaseAdded a
cloud_migtuning parameterciato change the ice sticking efficiencyChanged the default maximum height up to which microphysics is computed from 33000m to 22500m (same as default height up to which transport of water tracers is computed)
Fixed double definition of cloud droplet number concentration
Corrections for rain microphysics (evaporation and accretion)
RTE-RRTMGP radiation
Simplified the radiation interface by using only one unique criterion for the presence of clouds
Restructured the radiation interface for better readability
NWP Physics#
Implementation of gravity waves parametrization MS-GWaM
Revision of diagnostics for ceiling and visibility to provide a better agreement with SYNOP measurements.
Tuning options to improve 10m-winds in mountainous regions.
Modified cloud fraction for two-moment cloud ice microphysics.
Change default setting for
init_latbc_from_fgtoTRUE, to prevent mismatches between initial conditions and the initial set of lateral boundary data in LAM setups.Synchronization of ecRad with ECMWF code.
Provide interactive CO2 to ecRad radiation.
Finish when using Intel+OpenMP+ecRad: Using OpenMP for ecRad with Intel compiler leads to non-reproducible results due to various race conditions.
Coupling CAMS aerosols with Segal and Khain cloud droplets activation scheme.
Upgrades to Single Column and LES Mode.
Added diagnostic output fields: accumulated freezing rain, optional turbulence diagnostics, hail diagnostics for the 2-moment microphysics.
Remove init mode
MODE_IAU_OLD.Deprecate RRTM radiation and associated ozone option (
irad_o3 = 6).Fix uninitialized variables in ecRad interface.
Fix OpenMP directive in Kinne aerosol preparation for ecRad.
Upper atmosphere physics#
Further encapsulation and consolidation of the code base
ICON-Ocean#
Implementation of symmetric incremental analysis update (IAU) in the ocean
Implement the core features for limited area ocean setups
Ocean ERA5 forcing via python provider script and YAC coupling
Solver option lhs_direct=.true. now also available for zstar
Optimizations
Port solver global sums on GPU
OpenMP improvements
Diagnostics
Ocean vorticity on cells for output with hiopy
Surface-level-type for Sea Ice Vars changed to ice_class
Seaice principal stress diagnostic
Fixes
Fix write_initial_state (variable assignments and transfer to GPU)
Include jstep_shift to fix timing of ocean output in case of enabled timeshift
Bugfix for HAMOCC binary identical restarts
Correct unit of amoc26n diagnostic
Add shallow water as supported configuration
ICON-Waves#
Support NetCDF file input for model initialization
Restructure analytic wave spectrum initialization
Revise wave propagation testcase
Improve memory layout of 4D wave fields
Support grib2 encoding of wave energy spectra
Add coupling to the ocean component
Code improvements regarding active and passive diagnostics
Add diagnostics: wave steepness, kurtosis, Benjamin-Feir index, peak frequency and direction
Fixes:
Boundary condition for wave group velocity at ocean-land boundary
Units and descriptions for wave-specific fields
Soil and Surface#
Climate: ICON-Land#
Enabled running ICON-Land standalone for one or more single sites
Enabled JSBACH simulations with natural and anthropogenic land cover change
Refactored the calculation of global diagnostics and ported to GPU
QUINCY
Improved vegetation Nitrogen uptake in high latitudes
Added interactive nitrogen and phosphorus flags in soil biogeochemistry
Fixed the effects of ice and supercooled water on vegetation growth and nutrient leaching
Fixed a bug in the vegetation litter decomposition in the carbon-only model
Fixed an issue in restart file comparisons caused by a purely diagnostic variable only used with optimality code
Fixed a bug in the soil nutrient vertical transport
Fixed multiple issues in soil biogeochemistry Langmuir kinetics
Refactored the execution control of the slow pool spinup accelerator in the soil biogeochemistry
Removed code parts not required in ICON-Land
Removed deprecated code from the SPP1685 project
Hydrology
Fix concerning the effect of supercooled water on plant water stress
Removed checks needed with deprecated initial files
Simplified the reading of soil boundary condition data
Code cleaning and technical fixes
Cleaned up the use of string functions from
fortran-supportlibraryFixed freeing of some leftover memory when reading initial data
Fixed error message in case of invalid variable names defined in the output namelist
Pre- and postprocessing scripts
New script to process ERA5 data for ICON-Land standalone forcing
Updated the script to equilibrate JSBACH humus carbon pools
NWP: TERRA#
Fix to avoid soil ice content exceeding total soil water content.
ICON-ART#
GPU optimization of OEM and VPRM
Introduction of MieAI
enable overwriting of GFAS data at selected time intervals
Emissions of natural aerosols and trace gases from fully coupled and interactive ocean and land modules:
Dust emission parameterization with JSBACH and vdiff coupling
Dry deposition for aerosols with JSBACH and VDIFF
JSBACH PFTs mapped to MEGAN
Updated submodule CloudJ from version 7.4 to version 8.0.2
Daily varying solar irradiances / photon fluxes for CloudJ
Rename diagnostic variables of MECCA and CLOUDJ; completed/corrected photolysis indices
DMS online emissions for MECCA tracers
Adjustment for allowing more than one time interval for latbc
Reintroduce calculation of effective radii for cloud-j to fixe an issue where droplet radii were evaluated as zero, effectively ignoring clouds
Added TLEV_UPDATE_ADVECTION group to all ART tracers to allow ComIn to properly reference them when forwarded to plugins
Externals#
Added Memory Manager library 1.0.0 as external in externals/memman
Added Gravity waves parametrization MS-GWaM as external in externals/msgwam
Switch to fortran-support 2.2.1
Switch to iconmath 1.3.0
Switch to probtest v3.1
Switch to YAC v3.14.0_p1
Switch to CDI v2.6.0
Switch to ComIn 0.5
Switch to YAXT 0.11.5
Switch to mkexp 1.5.0
Documentation#
Rework of the documentation frontpage
Include contribution, reviewing, merging and documentation guidelines
Convert the namelist overview PDF to markdown and include it in the documentation
Add section to announce deprecated features
Various updates to the Getting Started and Documentation parts
Infrastructure#
Support file input for RBF coefficients
Fix timeshift crosscheck for single precision runs
Add single precision tests for buildbot-CI
Refactor output coupling to allow masking and half-levels
Enable coupling between atmosphere on GPU and ocean on CPU
Coupling of icon-waves and ocean
Avoid read-in of deprecated
output_jfileparameter from restart for model initializationImprove distributed patch generation from grid files
Added support for new Memory Manager library in ICON variable lists infrastructure
Logical switch
lmemmanin run config, currently only set to true if--enable-aesand TMX turbulence in AES physics is usedAdded
lmemmantoadd_varparameters in order to register and allocate variables in Memory Manager (no effect on using such variables in traditional way)
Fix computation of
lon_dim/lat_dimfor regular output grids. In rare cases one line of lon/lat was missing.
Scripting and testing#
mkexp
Simplify CI using mkexp 1.5.0 extended command line features
Update documentation/examples (input file, jsbach offline config)
Update model coupling (fix restart, output coupling integration)
Fix config handling (name handling “R02B10”, lists in job environment)
Improve scripting (run-time helpers, name handling “R02B10”, progress indicator, non-SLURM systems, log timestamps, Python override at run-time)
Extend/update platform support (host settings, OpenMP support, vector blocking)
Extend/update supported configurations (AES AMIP: fix defaults, add R2B7, output config; OES: shallow water setup)
hiopy
Rewrite hiopy integration
Handle unimplemented time intervals and calendars
Fix interaction with mkexp Python settings
Added hiopy configuration to store simulated data directly to S3
Extended hiopy scripting to allow creating Zarr 2 datasets
make_runscripts and buildbot
Added parameter changes for the Sapphire-2.0 configuration and basic settings and links for more resolutions to the AES AMIP template
Removed unused and deprecated hiopy content from the templates
Updated several run scripts: use recent land data to allow running the current ICON-Land version
Increased stacksize for default targets
Implemented experiment template for Jablonowski Williamson test case
jabwand added it to single precision buildersCleanup of experiment lists for single precision and related bugfixes
Avoid pre-fetching for ocean Williamson test
Deleted outdated templates
Test cases
Fixed the RCE test case by making explicit which surface temperatures it can be run with and by adding the correct initial profiles for each
Added constant u-velocity from namelist to some ocean torus tests
Building#
BLAS is made an optional dependency
Report to the relevant
config.logwhen callingconfig.statusof the bundled packagesFix detection of an external ComIn
Configure YAC and YAXT in parallel when possible
Fix usage of configure option
--disable-async-io-rmaFetch DACE from the private repository at build time when
--enable-daceFix inconsistent usage of the
GRIBAPImacroAdded option
--enable-lvectorto control optimizations for vector engines in the ocean component of ICONRefactored ICON-Land model version and release handling following ICON OSR naming scheme
Add mkexp setup config to
make installtargetMake the generic GCC wrapper more flexible
Allow for CMake definitions as configure script command-line arguments
Optionally enable tests of CMake-based bundled packages
Disentangle dependency of NWP physics on LES configuration on GPUs (make
--disable-leswork with--enable-gpu)
Miscellaneous#
Replace frettify with Codee for Fortran formatting
Ragnarok:
Add contributing guidelines
Refactoring and cleanup
Fix a CPU/GPU divergence in snow fraction
Implemented workarounds to support Cray compiler 20 for AMD GPUs
Support filter-based NetCDF-4 compression for output
Introduction of in-place variant for
mpi_allreduceClean up
USEdeclarations: removed unnecessary includes and enforced the usage of the ONLY keywordReorganize grid-related modules
Improve error handling in case of memory tracing
Fix mtime-related memory leaks
Replace deprecated Intel SIMD directives with OMP SIMD
Release notes for icon-2025.10-2#
ICON-Atmo#
Improved consistency of surface roughness, drag and momentum flux over ocean/sea ice in VDIFF
Added viscous term in computation of surface roughness over ocean in VDIFF
Implement a new version of the Mironov scheme that accounts for the thermal effects of snow on seaice
NWP Physics#
Correction of the roughness length computation over ocean in TMX
Add multiscale stochastic pattern generator and iSPPT
Bugfixes for restart issues with NWP sea ice
Added diagnostics: pressure at convective cloud top/base
Added C-cycle flags for C4MIP in XPP configuration
ICON-Ocean#
Vectorization of HAMOCC subroutines
Use consistent freezing temperature for sea ice in coupled XPP and AES
Bugfixes for extended N-cycle in HAMOCC
Soil and Surface#
Climate: ICON-Land#
QUINCY development
Enable anthropogenic land cover change with QUINCY biogeochemistry
Updated the Jena-Soil-Model for use with QUINCY as an alternative to the simple soil-biogeochemistry model
Improve paramaterization of vegetation phosphorus (P) uptake to avoid crops and natural vegetation dying by P limitation
Improve the calculation of plant water stress with frozen soil
Minor refactoring: unification of namelist names
Correction of aggregation of area-dependent variables in the QUINCY model
Update default PI control values for atmospheric 13CO2 and 14CO2 composition according to CMIP7 forcing (Graven, H. (2025))
Revisit QUINCY output ensuring that all output variables required for diagnostics and global budget calculations are present
Update nitrogen cycle parameters
Add script to generate CMIP7 based deposition data
Refactor vegetation memory structure to reduce code complexity
Assure restart identity
Refactoring of anthropogenic land cover change process
Hydrology: Added ford inline documentation
Land initial files
Major update: 12 and 13 tile setups for jsbach and quincy
Fix for the skin layer conductivity
Estimation of initial soil moisture from vegetation fraction
Automized HD parameter file generation also for high resolution grids (internal HD)
Land initialization: Initial soil moisture is turned to ice at temperatures below zero degrees.
Revised ‘basic’ output list
Anthropogenic emission files: Created anthropogenic emission data including aviation sources from the CMIP7 dataset
Update BSD-3C licence year to 2026
More flexible handling of the number of PFTs
Infrastructure#
Building#
Fix building of the YAC Python interface when the Python interface of MTIME is disabled
Consistently install ICON and the relevant bundled packages to the specified installation prefixes and subdirectories
Release notes for icon-2025.10-1#
ICON-Atmo#
NWP Physics#
Bugfix in vdiff interface concerning restart reproducibility
Introducing CO2 prognostic tracer to ecRad to enable emission-driven simulations with interactive land-ocean-atmosphere carbon cycle
Allow more than one time interval for lateral boundary conditions
Set taudecay in cover_koe separately for shallow, mid-level and deep convection
Modified call to SR set_cdnc_from_extdata to get correct update for cloud_num in radiation after restarts
Clean-up of mo_nwp_gscp_interface and 2mom microphysics scheme
Fixes in Emvorado:
determination of nearest ICON cell
fix interface to eccodes routine codes_open_file
ICON-Ocean#
Use ice class as vertical axis attribute for 3d sea ice variables
ICON-ART#
Update the testsuite setup and scripts
Externals#
Switch to ComIn 0.4.0
Infrastructure#
Add distributed GRIB decoding
Merge 2-Moment Microphysics Type Extensions into Parent Types
Building#
Clean up and clarify single-precision options
Fixes:
Handle apostrophes in the hostname
Release notes for icon-2025.10#
ICON-Atmo#
AES Physics#
Implemented a new convective boundary layer (CBL) test case for TMX validation
Optimization of the read-in of ozone data
Updated the atm_qubicc_test experiment and its checksuite
Re-introduced optimized simple plumes
Implemented full (interactive) carbon cycle with hamocc and land coupling, anthropogenic emissions and CO2 tracer transport
Implemented new rain microphysics
Added gustiness to surface turbulent exchange
Decreased albedo of ocean water from 0.07 to 0.05
Implemented riming of cloud water and snow and faster snow fall velocity
Refactored implementation of inhomx factors
Removed snow from the radiation
Ported AES Thermodynamics to Kokkos
Fixes for:
GPU port of solar_parameters function
reading ozone input data
atmospheric energy diagnostics for GPU
tropopause height calculation when using vertical nesting
initialization of TMX with nested mesh dt_loc
surface exchange coefficients in TMX
Implemented additional checks and fixes for using 6-hourly SST/SIC data
NWP Physics#
Allow for external specification of trace gases in ecrad
New mixed-phase Spectral Bin Microphysics
enable reading and interpolating ozone and Kinne aerosol data using YAC
Tuning changes for better prediction of fog / low stratus
Extension of adaptive parameter tuning to reduce cold/moist bias around sunset
Improved tuning of filtering time scales for adaptive parameter tuning
Modified shallow cloud cover as function of cloud droplet number
New deep convection options to improve precipitation in the tropics
Use cdnc scaling factor of the year 1850 in picontrol mode
Extensions for prognostic 2D-Aerosol Prog2DAero
Include a namelist switch to enable linear dependency of gwd momentum flux on precipitation
Regime-dependent FSD parameterization
More flexible options for entrainment/detrainment tuning in convection scheme
Implementing interactive carbon-cycle
Fixes:
Inconsistent initialization time step length in vdiff interface and jsbach
Use functions for sat. vapor pressure consistently between NWP physics and VDIFF/ICON-Land (ICON-XPP)
Make ecRad compilable with Cray 17.0.1 for AMD GPUs
Fix echotop and echotopinm diagnostics for clouds reaching model top
fix P-E lake double counting in JSBACH
LHN: Correction of some smaller bugs in observation processing
LHN: event bugfix
Bug fix for nudging interpolation
Bug fix in pressure bias correction for IFS lateral boundary data
Bugfix in mo_nonhydro_state for turbdiff, affecting SCM
ICON-Ocean#
Add optimised variant of the CG-solver for ocean sea surface height
Improve sea ice evp solver convergence
Routines to read in First Guess and Analysis Files in the Ocean
GPU, OMP, vectorisation improvements of ocean and sea ice code
Optional fillValues on dry ocean cells
Output of vertical integrals in HAMOCC
Compilation of sea ice thermodynamics for atmosphere-only builds
Fixes:
Fix dimension mismatch in ocean analytic forcing
Prevent Langmuir cell depth from becoming zero
Bugfix for the mixed layer depth diagnostics on vector/gpu
Fix concurrent HAMOCC
Correct vertical axis attributes for some HAMOCC and sea ice variables
ICON-Waves#
Implementation of Stokes depth diagnostic
new diagnostic: peak wavenumber
Introducing the ocean layers table in Icon-Waves
Restructure wave model initialization
Soil and Surface#
Climate: ICON-Land#
QUINCY development
Integrated QUINCY processes with JSBACH physics processes (HYDRO, SEB, SSE, TURB, RAD)
Implementation of land management processes incl. reading of land-use data
Forest management (harvest)
Agriculture (8 crop functional types, cropland phenology, harvest and fertilisation)
First implementation allowing anthropogenic land cover change with QUINCY biogeophysics processes (canopy mode)
Improved calibration of nitrogen biogeochemistry
Enabled reading of biogeochemical vegetation and soil states from input file (external spin-up)
Enabled setting of selected calibration vegetation and soil-biogeochemistry parameters via namelist
Reduced number of restart variables
Refactored canopy configuration of QUINCY to permit calculation on GPU for standalone and coupled runs
Fixes:
Fixes in turnover, mortality and growth to prevent negative vegetation pools with extremely small fluxes
Fixed unit conversion for land CO2 flux in QUINCY
Implemented a common interface for QUINCY and JSBACH
Updated the anthropogenic land cover change process, including reading next years land cover map as target in case of daily land cover changes
Added JSBACH usecase with 12 PFTs now including C4 crops
Updated inline documentation of hydrology process
Fixes:
Verification check for some JSBACH lctlib parameters when compiling with single precision
Account for proc0_shift from the parallel namelist when running ICON-Land standalone
OpenACC fixes for lumi
Fix needed with jsbach standalone simulations on GPUs
Fixed sequence of variables in surface temperature routine calls
Removed unnecessary mpi-all-reduce calls to reduce run time
Fixed uninitialized value for function get_time_dt in standalone model
Code cleaning:
Only use one variable representing time step length
Revised surface temperature computation wrt variable names and comments
Updated JSBACH usecase with TMX and PFTs
Added support for CUDA graphs with AES physics (VDIFF and TMX)
Implemented fix for using older restart files when not using skin temperature scheme (TMX or standalone)
Surface water ponds (if enabled) now modify the top layer soil heat capacity
Updated soil and root depths in land initial files
Revised effect of phase change in snow, surface water and top layer soil storages
Updated snow density parametrization to include a dependency on mean snow temperature
NWP: TERRA and other surface issues#
Fixes:
rime formation term for interception storage
w_i nonconservation
bug fix for bare-soil evaporation
ICON-ART#
Implement heat emission from wildfire as sensible heat flux from the surface
Update of OEM and VPRM code
no limit for number of point sources
Fixes:
check if numbers in xml are numbers
removed clipping of tracers in diagnostics interface
optical properties
colum calculation in full chemistry
Coupling#
Optimization of synchronization between atmosphere and ocean in coupled configurations
Expose valid_masks in output_coupling
Implement component-specific finish.status files
Fixes for using vertex-based 3d fields in the output coupling
Add support for AES model start date being shifted back in time by timeshift
Bugfix to ensure restartability of coupled ocean-atmosphere configurations
Fix overwriting of Tskin after ocean coupling
Externals#
Switch to fortran-support 2.2.0
Switch to CDI 2.5.2.1
Switch to HD v5.2.4
Switch to probtest v1.1
Switch to YAC v3.9.2_p2
Switch to mkexp 1.4.3
Infrastructure#
Add option to build ICON in single precision (experimental)
single precision for ecRad
Add infrastructure for the Kokkos C++ development (Ragnarok)
Add infrastructure for unit testing
Stochastic pattern generator based on spherical harmonics
refactor SST(SIC reader and time interpolation classes
Read/Write RBF coefficients from/to file
Port CDNC Scaling to GPU
CUDA graphs support for NWP seaice
Empa GPU developments
Fix for the CUDA 13 release coming with NVHPC 25.9
Scripting and testing#
Added AMIP test for TMX with PFTs in ICON-Land
Added 158, 49, 5 and 2.1 km AMIP template with AES physics for mkexp (cpu + gpu, distributed IO)
Added 49km AMIP BuildBot test with AES physics on one Levante GPU
Support more ocean setups and output options in omip run script template
Allow mkexp experiments to use CUDA graph utilization when configured for current host environment
Refactor QUBICC test scripts
Add low-resolution mkexp test setups for AES based bubble, Radiative Convective Equilibrium, Aquaplanet, AMIP, nested, A/O coupled and OMIP
New AMIP setup in exp.aes_amip
Re-enable restart mechanism in AMIP-runscripts, generated with make_runscripts
Building#
Find and check MPI_LAUNCH command in the configure script
Detect GPU architecture in the configure script
Configure CUDA/HIP C++ compiler and flags
Pass ICON_LDFLAGS to the Fortran compiler only
Fixes for disable switches –disable-aes and –disable-jsbach
Drop the HIP event handling suppression of the Cray OpenACC runtime
Fix cached configuration
Miscellaneous#
Some OpenACC optimizations and fixes
Cleaned up obsolete workarounds for NVHPC/PGI compiler (OpenACC and OpenMP)
Further extension of skin temperature over the ocean in Vdiff
Add option to disable GPU memory usage output
Fixes for the quad-precision handling
Release notes for icon-2025.04-2#
Infrastructure#
Increase buffer size for auxiliary field during nest start
Release notes for icon-2025.04-1#
ICON-Atmo#
NWP Physics#
Fixes:
Enables using spun-up FLake variables from first guess in MODE_COMBINED
ICON-ART#
Fixes:
changed used height array (z_mc -> z_ifc) for column computation in chemistry
changed usage of tracer names to mode names in diagnostics routine regarding optical properties
fixed setup information for standard configurations
Externals#
Switch to the latest version of ICON-TIXI
Switch to YAXT 0.11.4
Release notes for icon-2025.04#
ICON-Atmo#
AES Physics#
Add new radiation fields:
rsntcs: toa net clear-sky shortwave
rsnscs: surface net clear sky shortwave
rlntcs: toa net clear-sky longwave
rlnscs: surface net longwave
Added support for time steps with fractional seconds in AES/ICON-Land
Add diagnostics for cloud condensed water and total water mass fraction
OpenACC port of solar_parameters() and pre_rte_rrtmgp_radiation()
Fixes for:
TMX: GPU and OpenMP, _wp inconsistency, gcc-14
Bubble test
Vertical integrals for cloud condensed water + ice and related diagnostics
Total ice in cloud microphysics
Phillips nucleation von GPU
Initialization for nesting and latbc
Nesting and restarting with sea-ice on GPU
NWP Physics#
1-moment Microphysics
Option to use more accurate coefficients for saturation pressure from IFS: itype_satpres_coeffs
Three new namelist variables for tuning of graupel microphysics to reduce overprediction of high precip intensities:
tune_supsat_limfac: allows for supersaturation in updrafts in the saturation adjustment
lvariable_rain_n0: if .TRUE., the variable intercept parameter is activated. The multiplicative factor rain_n0_factor is used for drizzle (small qr) while the default value is approached for heavy rain (large qr).
tune_box_ice: scales the ice cloud cover in cloud cover scheme
GPU port for icpl_aero_gscp = 3 (MODIS climatology for cloud-droplet number)
2-moment Microphysics
Aerosol-cloud interaction for cloudice2mom using ART dust for ice nucleation
icpl_aero_ice=3: simplified coupling with fixed modal diameters
icpl_aero_ice=4: full coupling with aerosol size information from ART
Removed a confusion between specific mass and mean mass in the parameterization of homogeneous ice nucleation in cloudice2mom (gscp=3)
Added consistent treatment of effective radius for the two-moment cloud ice scheme (gscp=3). In addition, the cloud ice number source for the snow drift term is introduced.
New ensemble perturbation parameters are added (range_ccn_Ncn0, range_in_fact, range_avel_i, range_avel_g, range_cap_snow, range_cap_ice).
Radiation
CAMS climatology: The format of the CAMS aerosol climatologies has changed, and aerosol is now provided as mixing ratio (kg/kg) instead of layer integrated mass.
ecRad: new logical namelist variable ecrad_check_input: if .TRUE., several input fields are checked for physical consistency and the verbosity of ecRad is increased.
Convection: new namelist tune_grzdc_offset: Scaling factor for offset in CAPE closure for grayzone deep convection. Positive values reduce the activity of the convection scheme and suppress convective drizzle (recommendation: 0.1–0.2)
Turbulence: The complexity of the operational turbulence scheme for NWP has been reduced in several steps.
SSO: Fix of array access for inwp_sso=2 in a diagnostic computation.
Tuning: New NWP physics options for tuning and improved physical consistency
itype_dissip_heat=2: new option to take into account dissipative heating from turbulent momentum dissipation in the turbulence interface
icpl_o3_tp=2: improved option for ozone-tropopause coupling to avoid excessive additional ozone for low tropopauses (in combination with itune_o3=3)
shift_ratsea: option to shift ensemble mean of rat_sea w.r.t. the deterministic value
shift_boxliq_asy: option to shift ensemble mean of tune_box_liq_asy w.r.t. the deterministic value
Diagnostics
Update visibility diagnostic to be consistent with icpl_rad_reff=1 (typical RUC settings)
GPU port of the diagnosis of planetary boundary layer height
Add accumulated and max/min diagnostic fields to nest start interpolation
EMVORADO: Bugfix call to polarimetric dbz diagnostic in case of Tmatrix
Modifications by the CLM Community#
Fixes in soil-moisture dependent albedo tuning to enable reproducibilty of ICON-CLM on GPU
ICON-Ocean#
Add diagnostics for all terms of the temperature and salinity budget
Add diagnostics for upper ocean heat content (hc300m and hc700m)
Add new output variables (tos, sos, sivol, snvol)
Add GRIB codes for ocean variables (mld, mlotst, normal_velocity, stretch_c, hctm, hc300m, hc700m, snhc, sihc)
Improved GPU code and performance optimizations and validation tests
More consistent precision of literal floating point values used in TKE and IDEMIX
Bugfix correct unit conversion for tos
Bugfix for dynamic short wave radiation absorption
Bugfix when initializing the ocean from restart files
ICON-Waves#
Memory layout (blocks as last dimension) and runtime improvements (precomputation of expensive operations where possible)
Revision of wave-atmosphere coupling, specifically for the usage of z0 (roughness length) passed from the wave model to the atmosphere
Wave initialization and coupling:
Similar to the atmosphere model, the wave model start date can be shifted backwards in time (new Namelist parameter dt_shift in initwave_nml)
When shifting the YAC startdate backwards in time as well (using src_lag/tgt_lag to match with dt_shift of the coupled models) it is possible to start the coupling at the very first integration step.
Implement depth-limited level of energy
Add timers for ICON-waves
Several fixes for:
Asynchronous output writing in coupled mode
Calculation of 10m wind direction for wind forcing
Implementation of a minimum allowed level of wave energy for each frequency
Setting of the output source time level for prognostic wave energy
Usage of bathymetry versus water depth field
Formula for Charnock output parameter
Soil and Surface#
Climate: ICON-Land#
Added per-process namelist option lrestart_cont to allow restarting from other experiments run without that process
QUINCY development
Added experiment file for ICON-Land standalone runs using QUINCY in CANOPY mode (no biogeochemistry)
Initial GPU port of QUINCY - running in CANOPY mode with the ICON-Land standalone driver
Minor scientific updates
Improvement in the first soil-layer hydrology
Bugfix: snow melt calculations
Bugfix: calculation of grassland phenology
Bugfix: added minimum level of C limitation on nitrification and denitrification
Bugfix: diffusion water flux limitation in QUINCY soil physics
Fixed calculation of saturated water content from input data
Improvements in the computation of several rate modifiers used in soil biogeochemistry calculations
Clean-up of calculation of stand-replacing harvest
Runtime optimisation: reduced number of aggregated variables
Reduced number of variables in the restart file
Included forcing and output of carbon isotopes
Read elevation external parameter for QUINCY from file
Improved handling of n and p deposition reading from forcing data
Inclusion of self-thinning and herbivory in grasslands and pastures (but not crops)
Improvements regarding C:N and N:P ratios in leaves and soil organic matter
Merged the radiation process of QUINCY into the radiation process of JSBACH
Use JSBACH4 canopy, soil and snow albedos with QUINCY albedo calculations
Use the turbulence process of JSBACH in QUINCY replacing QUINCY-specific turbulence-code
Preparations for using further JSBACH physics processes with QUINCY
Consolidated and cleaned up namelist handling and physical parameters between QUINCY and JSBACH
Implementation of a harvest process for QUINCY (for now using a global constant)
Technical implementation of an agriculture process for QUINCY (scientifically not yet ready for use)
Bugfix: static reals were missing decimal
Bugfix: some local REAL variables were missing kind statement
Made PFT parameters available in memory init functions
New optional tag for the memory usage report
New functions for time control: get_previous_month_length and get_previous_year_length
Memory reduction: array allocation only if needed with the specific setup
The script suite to generate ICON-Land input data now also includes scripts to generate HD parameter files (for internal HD) and HD receive masks (for external HD), besides high-resolution Merit-Rema topography data is used.
Added diagnostic variable for volumetric soil moisture content for soil layers
Represent soil ice as ice volume, not as water equivalent anymore, thereby fixing an energy balance inconsistency during soil ice melt
Changed handling of excess soil moisture
Changes and fixes for inline documentation
Improved vectorization on NEC machines
Clean-up of ICON-Land code
Introduction of an output group for jsbach monitoring variables
Implemented soil hydrology parametrization for uniform scale
Updated thaw depth diagnostics
Enabled JSBACH usecase with PFTs when using TMX
Interface: New switch to supress YAC call during initialization phase
Updated HD-YAC coupling interface to use mo_coupling_utils
Implemented experimental formulation of skin temperature
Fixes:
Bare soil evaporation and modification of roughness (heat) and photosynthetic efficiency parameters
Calculation of snow aging
Computation of fast drainage within the ARNO scheme of JSBACH hydrology
For supporting single precision
Initialization of carbon pools from file (read_cpools)
ICON-Land standalone concerning nproma
Simulations with JSBACH assimilation and LAI prescribed from climatology
HD global water conservation test
NWP: TERRA and other surface issues#
Modularization: The one long TERRA routine has been split into smaller subroutines containing one task each. Some issues for the water budget have been fixed
nwp_sfc_interface: move accumulation of runoff_[sg] to nwp_statistics
itype_ahf=3: Option for time-dependent specification of anthropogenic heat flux based on time-filtered T2M
Improve coupled-model water conservation by adding TERRA’s water nonconservation diagnostic to the subsurface runoff that gets passed to the HD model.
Implementation of ocean surface layer parameterization: warm layer, cold skin
Fix for extpar data and the usage of snow analysis increments on subgrid-scale glacier points
ICON-ART#
Implemented LinozV3 ozone chemistry parameterization
Added Upper Boundary NOy to stratospheric SimNOy scheme
Enhanced simplified OH chemistry with O(1D) calculation and consideration of CFC
Fixed bugs in LinozV2 polar chemistry
Added a dedicated module for chemical constants
Improved flexibility and configuration for prescribed aerosol optical properties
Introduced Subpollen Particles (SPP) parameterization
Updated FPlume module
Improved robustness of dust radiation calculations
Implemented a new dry deposition scheme for gases
Added wet deposition processes for trace gases
Coupling#
First implementation of coupling the nested AES atmosphere to the ocean model
Support coupled setups with one component starting from IAU
Support component wise model initialization from restarts
Improvements for coupling timers, metadata handling and GPU setups
Output coupling improvements for prognostic variables, variables on pressure levels and more vertical grids
Add coupling infrastructure for one-way coupling with Super-Droplet cloud micropphysics model CLEO
Externals#
Replace math-support and math-interpolation with iconmath 1.2.0
Make use of the math-horizontal component of iconmath 1.2.0
Switch to fortran-support 2.1.0
Switch to mtime 1.3.0
Switch to YAXT 0.11.2
Switch to CDI 2.5.2
Switch to Comin 0.3.0
Switch to YAC v3.6.2_p2
Switch to the latest version of HD
Infrastructure#
Several improvements for single precision: communication, mpi, io
Fix the generation of index lists on GPUs for LAM and nested simulation runs
Scripting and testing#
Update land data for simulations with ICON-Land on R02B04 grid 0049
Add check for memory consumption on vector machines
Add tests for LAM/Nest and AMIP
Add offline check for global water conservation of coupled ICON XPP
Add 40km mesh size (R02B06) for AMIP development test
Add mkexp setup for ICON-Land standalone and AMIP-style (NWP ATM)
Add 10km AMIP template for mkexp (cpu + gpu, distributed IO)
Restructure mkexp templates and add bubble test
Add log file monitoring to mkexp
Building#
Improve building on macOS
Update the generic configure wrapper and its documentation
Miscellaneous#
Improve support for Cray compiler 17+ for AMD GPUs
Single precision improvements for TMX
Add contribution guidelines
Add various issue and merge request templates
Replace Poisson routine in stochastic NWP convection code
Add logging of GPU memory usage
Clean up documentation
Integration of online documentation
Release notes for icon-2024.10#
The following lists give an overview on the main changes since the last release icon-2024.07. Note that this release now also contains the external model HD-couple, which is ready for open source now.
ICON-Atmo#
DyCore#
Revise projection to tangent plane for the FFSL scheme
Algorithmic optimization of the MIURA3 transport scheme
Optimize quadrature routines for tracer transport
Bug fix for linear advection quadrature
Namelist option for CFL monitoring frequency
Fixed accumulation of small epsilon on contravariant mass flux (in PPM)
AES: Fix faulty usage of NWP variable
prm_diagwith nested domainsOpenACC bugfix in interpolation of ozone from pressure levels to model levels
Cleaned up some time-related constants (wrong place / doubled definitions)
NWP Physics#
Extension of adaptive parameter tuning
Preparing a major revision of the NWP turbulence code including the integration of some not yet considered effects of surface roughness
Tuning for prognostic 2D aerosol scheme
VDIFF turbulence: deep-atmosphere fixes
Consistently use full geopotential when converting between dry static energy and temperature
Relax limits on vapor pressure table lookups
Cleanup in radiation and aerosol code parts
Initialise aerosol fields in case of Kinne/CAMS Aerosol
AES Physics#
VDIFF turbulence: deep-atmosphere fixes (similar to NWP Physics)
Consistently use full geopotential when converting between dry static energy and temperature
Relax limits on vapor pressure table lookups
TMX turbulence
Refactoring for increased modularization
Add 2m dewpoint temperature diagnostic
Fixes for OpenACC
Add diagnostics to trace atmospheric energy
Re-activate output of aerosol optical properties with RTE-RRTMGP
Revise clear sky radiation computations
ICON-Ocean#
Add ocean isopycnal transport diagnostic
Bug fix: calculate sea water density always on fixed depth levels
Bug fix and refactoring of the ocean age tracer
Optimize ocean surface solver
Continue GPU porting of ocean
ICON-Waves: prepare coupling of surface waves to the ocean
ICON-Waves: Add restart and checkpointing functionality
Soil and Surface#
Climate: ICON-Land#
Fixes for using older restart files from before the JSBACH pond scheme was implemented
Improvements in JSBACH soil hydrology
Change lower and upper limits of soil moisture
Add option to use uniform distribution of soil moisture for infiltration and drainage as alternative to semi-distributed parameterization that accounts for sub-grid variability (Arno scheme)
New option to force initialization of soil moisture from a file instead of from IFS analysis
Fixes for OpenACC loops in JSBACH hydrology
Bug fixes for JSBACH pond scheme
Update of the scripts to generate ICON-Land initial (ic) and boundary condition (bc) files
Implement daily execution of anthropogenic land cover change by interpolation of annual maps
Allow running both: anthropogenic and natural land cover change
QUINCY development
Refactoring of the quincy soil physics process
Updates incl. first implementation of coupling with ICON-Atmo
Implementation of a spin-up accelerator for the slow biogeochemical soil pools
Implementation of wood product pools
Implementation of a carbon conservation test
Minor code fixes towards usability and style recommendations
Minor scientific updates
First step to include stem area (SAI, stem area index) into radiation scheme
Fix of slow growth in early season in cold grassland sites
Calibration of self-thinning for trees
Switch from deprecated YAC interface in HD model
Several fixes for DSL pre-processor script
dsl4jsb.pyPort JSBACH carbon and disturbance modules to GPU
New options to reduce diagnostic output in log file from water balance checks
Fix for the land cover fraction diagnostics of simulations with natural or anthropogenic land cover change
Fix too cold soil temperatures for partially snow-covered grid cells
Fixes for natural land cover change
NWP: TERRA#
Encapsulate initialization of land use-related parameters for NWP
Add option for ICON-internal soil moisture adjustment
Externals#
Update HD model
ComIn 0.2.0
Updates for YAC
Switch to version 3.4.0_p2
Fix output coupling and enable python interfaces (yac,mtime,comin) for testing
Introduce the math-support and math-interpolation libraries
Update to MTIME 1.2.2
Infrastructure#
MPI: check worker architecture during communicator creation
Restructured Subroutine initicon_inverse_post_op
Update the mechanism for source provenance collection
Coupling#
Add detailed timers for output_coupling
Fix OpenACC bugs that affect coupled het jobs
Do runoff diagnostic only when new data are received from YAC
Interface aes/ocean: move ocean coupling call from
mo_interface_iconam_aes.f90tomo_nh_stepping.f90
Scripting and testing#
Fix component names in mkexp experiment to prevent wrong coupling setups
New option -P for mars4icon_smi to use surface pressure instead of lnsp
Activate test for lgrayzone_deepconv
Several improvements to the experiment setup with the
mkexprun script generation systemAdjust LUMI-G defaults in create_target_header
Additional experiment runscript template
run/exp.atm_nwp_jsbach-Cto test carbon cycle with ICON-XPP (NWP atmosphere simulations with jsbach)DCMIP Tropical Cyclone experiments: removed
dcmip_tc_51test case and activateddcmip_tc_52also for AES physicsClean up and consolidate several run script templates with AES physics (NextGEMS, AMIP, nested, land)
Update of JSC run scripts
Fix buildbot test scripts for Juwels and Booster
Building#
Several minor fixes for the configure script
Fix
USE mtime,INCLUDE netcdf.incand check for NetCDF Fortran 77 APINew makefile target ‘env’ to retrieve the build environment (
BUILD_ENV) set in a configure wrapperExpose BUILD_ENV to the runscript generators
Several minor fixes and improvements for the build system
Introduce configure option
--enable-bundled-pythonto build the Python interfaces ofMTIME,YACandCOMIN
GPU port, technical developments and optimizations#
GPU port of radiation namelist switch irad_o3=5
Prepare for eccodes versions >= 2.32.0
GPU port for stratocumulus tuning parameters
tune_sc_*Disentangle ext_data state construction, separates the state construction from its initialization
Adjust nproma to 256 B alignment to improve GPU performance
Optionally suppress HIP event handling of the Cray OpenACC runtime
Move and split CUDA/HIP source files
Several bug fixes for OpenMP and OpenACC
Release notes for icon-2024.07#
These are the release notes of the ICON model. Below the main changes as compared to the previous ICON release.
ICON-Atmo#
DyCore#
Improve adaptive CFL reduction at model start
Update and extend diagnostics in supervise_total_integrals_nh
Fix OpenACC loops in vertical advection
NWP Physics#
Improvements to adaptive parameter tuning
Implemented option for Cloud droplet number from MODIS climatology
RUC (Rapid Update Cycle) diagnostics, fixes and testcases
DeMott ice nucleation parametrization
New output variables: diagnostic tot_pr_max; surface radiative fluxes without islope_rad corrections
changed random normal values generation in Stochastically Perturbed Physics Tendencies (SPPT)
Gust diagnosis option for large-eddy permitting configurations
Option for moisture diffusion (water vapor and cloud water)
2-moment-microphysics: new hail/graupel shedding and limitation of graupel production
Tuning parameters for TERRA-URB (Soil parameterization) and wind gusts
fix atmospheric water budget issues
Optimize emvorado compile time, bugfix and new namelist parameters
Aerosol optical depth (AOD) output from Kinne and enabling fr_glac
Computation of instantaneous grid scale precipitation rate at every physics time step
Include parametrization of wave breaking into the ICON-waves physics
GPU Port of the
ldass_lhnswitch for the two-moment microphysics schemeFix for atmo-wave roughness length coupling
Wave-dependent sea surface roughness in icon-nwp
Fix initialisation of aerosol fields in case of Kinne/CAMS Aerosol
Modifications by the CLM Community#
CDNC scaling for climate projections
Removed the alteration of Modis Cdnc
Add namelist parameter (rat_lam,rsmin_fac) to enhance tuning capabilities
Added correction for albedo dependent on soil moisture for soil types 3 to 6
Various bug fixes#
Several bug fixes for OpenACC and Cray compiler
Make limited-area model (LAM) and nested grids work on CPU
Add fixes to graupel microphysics (synchronize with granule)
Surface net longwave radiation flux
init call with OpenMP in aes-ocean coupling
nextGEMS prefinal
Forgot loop indices in OpenMP PRIVATE statement for one loop in TMX turbulence package
Removed inconsistency for turbulent diffusion coefficients between TTE and Smagorinsky schemes for VDIFF and TMX turbulence packages
Replace two ACC KERNELS constructs with explicit loops to improve performance in TMX turbulence package
Make sensible heat flux in surface energy balance consistent with atmosphere when using TMX turbulence package
Remove ACC TILE constructs from single (not nested) loops in TMX turbulence package
Performance fixes for OpenACC and fixes for OpenMP in TMX turbulence package
Fixed some potentially non-contiguous OpenACC transfers in coupling code plus removed some OpenACC KERNELS constructs in VDIFF
New features and other modifications#
Replace
lrad_yacfor coupling O3 and aerosols via python processesAdd namelist parameter for lower tropospheric stability correction
Add output diagnostic for relative humidity
Expose
output_nmlvariables via YACAdd diagnostic for 2m specific humidity in TMX turbulence package
Add tuning options in TMX turbulence package (kinetic energy dissipation and stability correction) and change cloud droplet number concentration from 200 to 50
Consistently apply the physical tendencies at constant mass and volume in the cloud microphysics (mig), the radiant energy transfer (rad) and the turbulent mixing (vdf/tmx)
Updates for energetics with TMX turbulence package - consistently use internal energy and account for the energetic contributions of temperature-varying phase change energy
Various fixes and updates for TMX turbulence package (diffusion of internal energy, diffusion of u/v velocities)
Added a cloud inhomogeneity factor for snow and clean-up of factors for cloud liquid water
Remove unused code in the RTE-RRTMGP interface
Change setup for Sapphire base/nextGEMS prefinal
ICON-ART#
Changed initialization of chemtracers for init_gas=0 in ART (now sets tracers to 0)
INAS ice nucleation scheme preparation, dusty cirrus, meteogram output
Repair ICON-ART standard cases
New plume rise model implementation as option…
Clean-up of constants and adding emissions into wet air
Remove usage of RRTM in ART
Avoid double execution of the phenology update…
Fix exponent sign bug in Hande et al 2016 CCN activation
Fix for double allocation of some variables
Bugfix for wrong pressure unit in PSC scheme in ART
Water content computation of sea salt aerosol
Refactored and GPU-ported OEM (Online Emission Module) code
ICON-Ocean#
New feature: Add diagnostic for ocean bottom pressure
New Feature: Add ocean potential temperature in Kelvin as optional output
New feature: Add diagnostic age tracer and age tracer squared
Bugfix: Enable sea-ice drag on ocean as default
Bugfix: Reintroduce missing coupling fields in ocean restart files
Refactoring: Improve initialization of 2D variables
Call interface_aes_ocean only if coupled_to_ocean
ICON-Land#
Adapted ICON-Land to the interface change of init and copy functions of mo_fortran_tools
Bugfix: Fixed restartability of offline model
New feature: Ported offline model to GPU
Bugfix: Fixed an indexing bug in phenology
Remove hard-coded number of soil layers in JSBACH and get it from input data instead
New feature: Implementation of QUINCY biogeochemistry model
Update of inline documentation and code cleaning
Added various pre-processing scripts for ICON-Land/JSBACH
New feature: Implemented ponds in JSBACH
Replaced copyrighted code for solver of tridiagonal linear equation system
New feature: Updates for ICON-Land offline simulations (filter for surface drag computation, refactor of driver)
New feature: Ported (internal) Hydrologic Discharge (HD) model to GPU
Bugfix: Fixed wrong vector assignment inside loop
Use new versions of JSBACH input data for NextGEMS atmosphere-only experiments
New feature: Improvements for JSBACH soil hydrology (soil organic matter, soil freezing and thawing, soil moisture, new solver for vertical water transport) plus cleanup of code and variable names
Updates to the bookkeeping of how processes in ICON-Land run on different tiles
New feature: Implementation of forest age classes
Refactoring and fixes for the LCC (land cover change) framework including the processes for disturbances (wind/fire), fuel/carbon and anthropogenic land cover change
OpenACC updates and fixes: use of ASYNCs and other changes to follow ICON OpenACC programming guidelines; remove some ACC WAITs for optimization
Externals#
Updates to ecRad: gas model split & spectral weights; fixes from ecrad master
CAMS forecasted aerosol as an option for ecRad radiation
Update ComIn to version 0.1.1
Update libfortran-support to version 1.2.0
Update YAXT to version 0.10.2
Update to CDI version 2.4.0
Update to RTE+RRTMGP version 1.7
Infrastructure#
Several bug and technical fixes, below the most relevant ones:
1mom-microphysics granule: Build and Testing Infrastructure
Extensions of the action feature, which is used in ICON to reinitialize variables at regular intervals
Configure: try to find python3 before python
Fixes bug in mo_communication_yaxt
Fix for array bound violation in src/atm_phy_nwp/mo_nwp_phy_init.f90
Improve configure for use with external comin
Fix the time and date exposure when ComIn is enabled
Fix abort_mpi: exit with a non-zero exit code on error
Switch to NetCDF Fortran 90 interface
And some modifications to coupling:
Moved coupler initialisation
Refactoring of coupling
Hd (Hydrological Discharge) updates
Coupled TERRA - HD through YAC
Online diagnose of global sum runoffs before and after the YAC coupling
Correct calculation of Qtop and re-enable LSM patching in NWP-Ocean coupling
GPU#
GPU performance fixes and workarounds for NVIDIA and AMD GPUs
Removing majority of i_am_accel_node instances (deprecated debugging feature)
Adding nblocks_e namelist option + updated logic for nproma, nblocks_c
Cuda graph : activation through logicals + testing infrastructure
Added WAITS for bit reproducibility on GPU
Release notes for icon-2024.01-1#
A workaround for the NVIDIA compiler has been implemented to be able to compile yac.
Necessary backports from the main ICON repository for buildbot testing are also included.
Release notes for icon-2024.01#
It took a lot of work, sweat and tears: ICON’s first Open Source (BSD 3 Clause) release is out!
Nevertheless, a lot of changes have been applied to icon-2024.01 since the last released version icon-2.6.6. The given list might not contain all changes (eg.bug fixes, …), but is a good overview.
Buildbot#
Consolidate probtest
Read/write access for experiment directory on NEC
MCH: Add mch_kenda-ch1_small experiment
Reorganization of nwp buildbot data
Refactor START_MODEL_function
Migrate data pool on Balfrin
Add qubicc tests to levante_gpu/cpu_nvhpc builders
Add bubble update test
Add mixed precision builders on balfrin with performance test
Introduces the concept of one tolerance hash per experiment and builder
Add build-only tests on LUMI
New
aes_bubble_landtest case with land (JSBACH)Move the configuration of the bundled libraries to the build stage
GPU port of tracer transport and HAMOCC functions
Introduction of new experiment list merge2rc (== icon-dev + dwd)
Introduction of new experiment lists: art, oce for specific component tests
Several improvements and fixes for buildbot
Add latest GPU build wrapper for levante
Add the ocean-gpu Buildbot list for variants of ocean_omip experiments with NVHPC on Levante
NWP#
Redesign of bias corretion of reference precipitation.
Modified time dependence of EPS perturbations for LHN tuning parameters
Revision of adaptive parameter tuning for seaice scheme
Anthropogenic aerosol for 2D-aerosol scheme
Coupling with hydrological model HD
First set of tuning changes / new tuning options for ICON-D05
adapt HZEROCL diagnostic for MCH
WAVES:
new diagnostic output fields
Horizontal transport of ocean surface wave energy (part I)
Bugfix in vertical interpolation in cams climatology
WAVES: Coupling yac3 ICON-NWP <-> ICON-waves
Modified z_pbl output for NWP
CAMS climatological aerosol as an option for ecRad radiation
Modification to rh based vis diagnostic and clean up of vis diagnostic.
sfc_seaice: heat transfer from the sea-ice slab is modified
EMVORADO: New option for dynamic wet growth T-limits in radar forward operator
Additional namelist options for improved SSO/gravity-wave tuning
JSBACH/VDIFF: add interface between NWP physics package and vdiff
Remove optional mass fixer from (incremental) feedback routine
Remove optional divergence averaging
Remove the turbulence scheme EDMF from ICON
Rewrite gamma functions to avoid license issues
Remove RTTOV coefficients from /data directory due to license isssues
EMVORADO:
Move two radar interface modules from ICON source code to submodule emvorado
update emvorado headers and gamma functions
Integrate separate deep-atmosphere dycore into standard dycore
Two-moment scheme changes for RUC and CLC
Implementation of warm-rain spectral bin microphysics (SBM)
Generic hydrometors for ecrad
latitude-dependent decorrelation length scale for cloud overlap
set of changes needed to allow numerically stable integrations at mesh sizes below about 100 m
waves: implement full suite of parameterizations
waves standalone: Read-in of forcing data
new namelist parameter
tune_capethreshECRAD: updated version by ECMWF
ECRAD: activate ecckd gas optics
TERRA-URB: anthropogenic heat flux added
Latent heat nudging: fixed several incorrect loop boundaries (nproma -> i_endidx)
Enable reduced radiation grid for ART+ecrad
wave model: additional model components added
ext_data state, read in, output
wave energy initialization
time loop
Removed
__ICON__,__COSMO__andHAVE_FC_ATTRIBUTE_CONTIGUOUSmacrosRemove optional mass fixer from (incremental) feedback routine
Remove optional divergence averaging
Remove the turbulence scheme EDMF from ICON
Remove RTTOV coefficients from /data directory due to license isssues
EMVORADO:
Move two radar interface modules from ICON source code to submodule emvorado
Update emvorado headers and gamma functions
EMVORADO: Fix serious problem with the new dt_obs(1:3) notation in automatic reading from radar meta data from obs file
ICON-seamless prototype 2
Revised NWP ocean interface
Updates to the two-moment microphysics scheme
New option for horizontal Smagorinsky diffusion on vertical wind speed
TERRA-URB: prevent evaporation from bare soil
Option to modify diagnostic cloud scheme to enhance cloud cover in stratocumulus regions
Add option for slope-dependent radiation with shading but no sky-view factor effects
waves: add complete set of wave physics
MVSTREAM: Horizontal mean for local grids (LAM)
New namelist switch for ozone tuning
New namelist parameter for specifying the CFL-W threshold for adaptive time step reduction
New configure option for disabling/enabling the NWP physics package
iterative IAU: revised implementation by looping over perform_nh_stepping
Cleanup advection schemes used for density and potential temperature
Remove optional open upper boundary condition l_open_ubc=.TRUE. and remnants of the hexagonal code
DACE: Changes to allow DACE to be used on daint on GPU
securing that cloud water is not being diffused above the level ‘kstart_moist’
Bug fix for nest initialization during runtime: add filtered wind speed increment
GPU#
GPU port of the visibility diagnostic
GPU port of the explicit two-moment microphysics scheme
Fix uninitialized data reads in kenda-ch1_small
port of Hailcast
initial ART port and port of the pollen-related processes to GPU
add missing ASYNC(1) clause to PARALLEL regions
Fix out-of-bound memory access in vertical advection for GPU
CUDA Graphs for Terra and turbtran and GPU optimizations
OpenACC port of totint
Optimized OpenACC port of two-moment microphysics scheme and LHN
Make ICON buildable on LUMI
Add GPU testing for levante to the default test suites
OpenACC port of
vertical output interpolation
3D turbulence scheme
diagnostics
SPPT
sstice_mode=6 (update with user-defined interval)
fix for iterative IAU test on GPU
Workaround for cray mpi bug using async/IO
MPIM Atmosphere#
Rewrite and corrections of one-moment microphysics (graupel)
ICON-Land update for land offline simulations
Separate orbit and solar calculations from radiation in
src/atm_phy_rte_rrtmgpto enable any combination of--en/disable-jsbachand--en/disable-rte-rrtmgpFix potential array bounds error in ocean
Revision of the interface structure for the AES physics
clean up the Hadley test runscript
remove graupel (mig) namelist parameter that are no longer in use
collect changes for nextGEMS cycle 3 except hiopy and compresm
Refactoring of coupling via YAC
MPIM Ocean#
refactor TKE (ocean)
port the ocean time loop to GPU
OpenACC port of the ocean tracer transport
OpenACC port of LVECTOR code used in ocean tracer transport
enable concurrent hamocc to work with the ICON-O z-star levels
Bugfixes and refactoring for MOC diagnostic
JSBACH#
Replaced CLAW directives and preprocessing with pure OpenACC
JSBACH workarounds for Cray compiler on lumi GPU
Prepare ICON-Land for
mo_exceptionAPI change and new math library in ICON-Cmprove NEC vectorization in JSBACH for ICON-Seamless
fix a bug in carbon conservation test
harmonize scripts for ICON-Land ic and bc file generation
Update yac2 -> yac3#
XML config file is replaced by yaml
all coupled experiments in buildbot are converted to yaml
many non-buildbot tests are converted to yaml
ART#
Ensemble and VPRM functionality of the Online Emission Module
Extension of the pollen treatment with hazel (CORY)
Tuning, additional diagnostics and introduction of SI units for dust
Possibility of choosing between 32- and 64-bit float output applied to ART
XML reading accepts comments in XML-file
Moving of src/art_interface from the ICON-Code to interface in the ART-Code
Diagnostics for emissions and washout and reintroducing accidentally lost emission call
Coagulation and mode shifting to mixed modes
Aerosol climatology naming
Release notes for icon-2.6.6#
Later than expected: this is another ICON release
OpenACC port for Nvidia GPUs and enabling HPE-Cray OpenACC use with AMD GPUs
almost all of the ICON atmospheric components are ready for use on GPU equiped machines. This has been a big effort by Nvidia, HPE/Cray, MeteoSwiss, DWD, CSCS, CSC, and MPIM (the order is arbitrary).
there is further progress coming up
CSCS
preparation of daint/dom transition for Nvidia compiler bumb to 22.5.
added Docker files for EXCLAIM project in scripts/docker/exclaim
more test cases
DWD
still persisting problem with OpenMP (non-reproducability) in buildbot tests.
bufixes and improvements in the data assimilation part and physics
two-moment cloud microphysics has been replaced by a new version
initial steps for wave model implementation
added jsbach/vdiff from former ICON echam-physics
enable/fix more problems with respect to run icon-seamless
some code moves and consolidation
OpenACC beautification application running to allow passing a required CI test
more test cases
MPIM
bugfixes in the ocean
added additional diagnostics
improvements in JSBACH (HD mask, LCC, former dynveg)
updating of build on levante and macos
fixes for claw
fixes for building ICON with some data assimilation components
Nvidia 22.9 is needed for JSBACH
ocean updated to zstar vertical coordinate
bump rte-rrtmgp to new version
DKRZ
fix many errors and enabled new features with respect to coupling external components
new and updated config-wrappers
improve buildbot testing
For details take a look at:
https://gitlab.dkrz.de/icon/wiki/-/wikis/Protocol-of-Release-Commits
Release notes for icon-2.6.5#
It is time for yet another ICON release.
After 10 month we managed to provide a new ICON release with new machine configurations, a new buildbot, significantly extended, improved GPU capabilities, first steps into ICON seamless and a cleaned up version of the MPIM AES physics (now available as aes physics and not echam anymore.
CSCS: Introduction of more and optimized OpenACC code parts and introducing work to allow later more modularization for improving and consolidating of the ICON code.
DKRZ: Bugfixes and more bugfixes, cdi-1.8.4 incorporates nom (joint effort of DKRZ and CIMD) cdi-pio, new versions of all tools maintained by DKRZ, a new buildbot (Ralf Müller) and strong support for getting ICON running on levante.
DWD: Introduction of many improvements in the parameterizations, in tuning and adding bugfixes. Setting up on the new ECMWF system and supporting the data assimilation system. First steps for ICON-seamless are done, especially the coupling to ICON ocean is technically available and most of the time varying external data for climate simulations have been added. However, the code variant has to be tuned and extensively tested and some parts are still missing. This activity is a joint effort of DWD and MPIM colleagues.
MCH: Is actively providing more, and more model components of the NWP physics for the use on GPUs. Furthermore they are supporting all activities related to GPUs and testing of large parts of the ICON code.
MPIM AES: To simplify and streamline further high resolution modelling only, the echam physics has been renamed as aes physics and some former components have been removed as are the SSO gravity drag parameterization, as well the gravity drag parameterization for the middle atmosphere, and most prominent the convection parameterization. As cloud paramterizations the DWD graupel and two-moment scheme are available. A few more, minor, changes have been applied. Newly added is the former large eddy model component the Smagorinsky ‘vertical’ diffusion scheme.
MPIM OES: Added a new C-grid seaice model (C. Mehlmann) and extensive improvements of OpenMP for hamocc.
MPIM LES: JSBACH got more model components and has been adapted for to all changes above its top-level. - KIT: The aerosoly microphysics and plume components have been added as well as a large number of bugfixes.
MPIM CIMD: just a lot of things in the area of coupling, configuring and building and model infrastrucuture, new machine setups for lumi (CSC), juwels/booster (JSC) and levante (DKRZ)
All developers: many of the work has been done in cross institutional working groups.
A special thanks is going to Sergey Kosukhin (MPIM-CIMD) for his work on the configuration and build system of ICON making life of developers much easier.
The work on the GPU code version, implemented based on OpenACC has been supported by NVIDIA. Thanks a lot, Dmitry Alexeev (and his colleagues).
For detailed information, please, have a look at
https://gitlab.dkrz.de/icon/wiki/-/wikis/Protocol-of-Release-Commits
Release notes for icon-2.6.4#
Another new release of icon is available.
It consists of
fix for the soil water budget and snow-tiles
integrate YAC2, corresponding changes in jsbach and the yaxt version are included
bundled libraries are no checked at DWD and DKRZ
fix current CDI-PIO setup for coupled setups
use plain netcdf intead of CDI for restart IO
fixes for the building system regarding new compilers, CLAW compatibility, changes in RTTOV and building against eccodes/grib_api
bugfix for hfbasin diagnostic
changes for the DWD NEC Aurora
adjustments for ruby-0 setup (clean up of lsm masks, coupling, add irad_aero=12, buildbot test, scripts)
New ICON-Land/JSBACH version: jsbach:master@39758f03 This merge contains many changes, bug fixes, and improvements/new features in ICON-Land/JSBACH. The most important new features are: Time handling in JSBACH now supports nested domains (with ECHAM physics), plus fix for the time albedo is calculated for radiation New formulation for computation of roughness length (ported from JSBACH3) Implementation of anthropogenic land cover change Diagnostic 1d global mean JSBACH output for monitoring Implementation of the standalone JSBACH model as an ICON model component
Implementation of the two-moment microphysics scheme by Seifert and Beheng (2006). The original NWP routines are used ‘as is’. Use encapsulation.
Unify variable long names.
Add new testcases and/or bug fixes: RCEMIP_analytical, RCEtorus, Tconst, bubble.
Add buildbot tests (S. Rast).
Make iqneg output distinguishable. Fix typos.
Add templates for 2 moment in NWP and SP physics.
Add minmax diagnostics for microphysics inside SP.
make dom_start_time and dom_end_time relative to experiment start/end time (Hauke Schulz)
Simple fix of integer range in interface function for CDI-PIO
update to icon-oes-1.3.05
optional seaice initialization
optional calculation of windstress in uncoupled ocean runs
coupled ruby/dyamond: combine ocean and ice velocities in the coupling interface to the atmosphere
extended_N-cycle (c8d10814 to 421c584e)
update of mkexp scripts and mtime
add perp. month/day
For coupled configurations, the land and runoff are created using a fractional mask which is generated from a selected pair of ocean and atmosphere grids and mask. For clarity, these data are stored in a directories with names made up of both - atmosphere and ocean - grid IDs.
With the current physics coupling only one set of pressure variables is needed. Pressure variables in mo_echam_phy_memory are therefore replaced. Use add_ref instead of add_var for several more fields. Reintroduce an optimised reading of Kinne aerosols, only those month are read in which are need for the current job rather than reading always the full year.
introduce standard emissivity to all test cases
Fix for Cariolle scheme
Fix a problem with 10 m wind diagnostics in the coupled model
In icon-dev.checksuite: Change LC-CTYPE to LC-ALL. With this correction icon-dev.checksuite works again on MacOS Big Sur.
Bugfix for graupel initialization in Sapphire physics.
Bug fix for ocean surface coupling in VDIFF: Missing A_klev+1/2 term is added, which induce ocean surface momentum stress to the opposite direction. Missing alpha term in wind stress diagnostic is added. Timing of wind stress diagnostic calculation is fixed.
new test script exp.atm_ape_mlo_test for mixed layer ocean together with aquaplanet
adjust experiment test scripts, remove several outdated and unused templates
changes paths in templates from /pool/data/ICON/grids/private/rene/mpim to /pool/data/ICON/grids/public/mpim
remove unused and completely outdated icon-authors.txt file
update simple plume input file for amip reference experiment.
New reference data, tolerance ranges and AMIP reference experiment.
New option for adaptive pressure bias correction at lateral boundaries (limited-area mode only)
Revised upper boundary condition for vertically nested grids: reduces spurious reflection of vertically propagating sound and gravity waves at the uppermost nest interface level.
Improved process description for gravity wave emission in SSO scheme (NWP)
Update of Emvorado radar forward operator, including new options for dual polarization radars
Update of effective radius coupling with radiation (NWP)
OpenACC port for LHN code (NWP)
optional diagnostic of lightning potential index and lightning flash density (NWP) new output fields: lfd_con, lfd_con_max, lpi_con, lpi_con_max, mlpi_con, mlpi_con_max, koi
close output stream if open: fixes rare and random model crashes at simulation end on NEC
removed hydrostatic DyCore
removed interface to PSRAD radiation scheme (for NWP)
removed COSMO ifdefs
removed unused options for snow-cover fraction diagnosis (for NWP)
Release notes for icon-2.6.3#
The new release of icon is available.
It consists of
a large number of bugfixes, refactorings, and optimizations for the models infrastructure
bugfixes and improvements in the build environment
consolidation of all QUBICC based enhancements and bugfixes (for the sapphire physics)
many add-ons for the sapphire physics port to GPUs based on OpenACC and many further steps on porting the NWP physics to GPUs
ART has made its first step to an git submodule external (draft implementation not to be used yet- no warranty)
fixes and improvements in the ocean code including hamocc
improvements in the data assimilation NWP physics coupling
tuning of data assimilation
added rrtm-gp as radiation scheme for the sapphire physics on GPU
much progress on cdi-pio use in many icon components
refactoring of mpi communication library (with a focus on GPU to GPU communication)
For many more details visit:
https://gitlab.dkrz.de/icon/wiki/-/wikis/Protocol-of-Release-Commits
June 7th, 2021