Recent Releases of MPTRAC
MPTRAC - v3.2
Changes in this release
Documentation & Metadata
- Updated README, quick-start instructions, MkDocs and Doxygen manuals, application documentation, model-physics documentation, references,
CITATION.cff, andDEPENDENCIES.md. - Clarified example workflows, mesoscale diffusion, compression APIs, meteorological model-level limitations, UTM-grid usage, and
dd_testcomparison semantics. - Added CLI help messages for tools, a Matrix chat room link,
AGENTS.md, and updated MPTRAC architecture and module diagrams. - Fixed Doxygen warnings, parameter descriptions, documentation deployment, and various script and interface descriptions.
Build System, Dependencies & CI/CD
- Updated Makefiles, compiler flags, library build scripts, dependency definitions, and GitHub Actions workflows.
- Improved MPI compiler-wrapper handling and propagated compile-time dimension overrides to the Fortran interface.
- Added and strengthened CI tests for the Fortran wrapper, LZ4, compression configurations, GPU builds, and domain decomposition.
- Upgraded ZSTD from version 1.5.5 to 1.5.7 and enabled pthread support.
- Fixed compilation issues involving the Fortran wrapper, CMS, PCK+ZSTD, MPI, NVHPC, GPU code, and optional dependencies.
- Improved build defaults, wrapper rebuild behavior, coverage builds, and GPU memory pinning.
Code Quality & Refactoring
- Added const qualifiers, cleaned up interfaces, comments, pragmas, logging, timers, and obsolete conditional compilation.
- Refactored shared compression helpers, meteorological writers, CLI initialization, and utility-program setup.
- Unified compression diagnostics and simplified codec-specific logging.
- Removed obsolete warnings, debug statements, NVTX markers, redundant flags, and unsupported code paths.
- Improved error messages and corrected stale comments, declarations, and type definitions.
Domain Decomposition
- Reworked domain decomposition to use index-based particle ownership and MPI all-to-all communication.
- Added
dd_push()implementations for CPUs and GPUs as an alternative to repeated particle sorting. - Replaced the fixed particle buffer with a dynamically resized buffer.
- Revised particle communication interfaces, MPI datatype registration, DD grid initialization, and GPU memory allocation.
- Improved DD netCDF reading, halo setup, longitude handling, particle ordering, and support for
MET_CONVENTION=1. - Added GPU support, edge-case handling, guarding pragmas, local test execution, and improved DD comparison tests.
- Fixed issues involving particle quantities, vertical velocity checks, sorting types, missing domain-decomposition calls, and CPU/GPU consistency.
Physics, Numerics & Algorithms
- Revised horizontal, mesoscale, PBL, and vertical turbulent diffusion schemes.
- Added drift and density corrections to vertical diffusion and improved reflection at the surface and model top.
- Refined the Hanna-style PBL turbulence closure, boundary handling, initialization, and optional control parameters.
- Adopted the ECMWF heat-flux sign convention and extended GRIB surface-data reading for PBL closure fields.
- Added PBL-relative particle initialization and density-weighted initialization through the new
INIT_RHOparameter. - Added validation of
DT_MODagainstDT_METand updated themet_check_dtutility. - Updated pressure-level definitions, wind defaults, wind-field generation, and well-mixed tracer sampling.
- Disabled the unsupported
ADVECT = 0option and fixed geopotential, KPP, and related physics code.
UTM Coordinates & Output Timing
- Added support for meteorological data and simulations on UTM grids.
- Introduced the
MET_COORD_TYPEconfiguration option and UTM reference coordinates for climatology-based physics. - Updated atmospheric initialization and particle splitting for UTM coordinates.
- Added UTM documentation, validation, logging, safeguards, and dedicated test cases.
- Added support for sub-minute trajectory output.
- Trajectory and gridded output filenames now always include a seconds component.
I/O, Data Handling & Formats
- Added a netCDF trajectory export option to the web runner.
- Refactored the wind tool to use the shared meteorological writer and auxiliary fields.
- Added a time dimension and additional surface and boundary-layer fields to generated wind data.
- Improved meteorological availability checks, data validation, model-level handling, and netCDF layout support.
- Updated ERA5.1 retrieval scripts for the 2000–2006 period.
- Added a flag to convert surface geopotential to surface height.
- Updated reference data and example outputs to reflect revised file naming, physics, diffusion, compression, and particle ordering.
Compression
- Added LZ4 support for compressed meteorological data and tuned its default acceleration.
- Added optional PCK+ZSTD recompression and configurable multithreaded ZSTD compression via
MET_ZSTD_NWORKERS. - Added level-dependent scaling for ZFP and SZ3 compression.
- Introduced codec-specific control arrays for CMS, ZFP, and SZ3 precision settings.
- Retuned the default ZFP, SZ3, ZSTD, and strong-compression settings, particularly for ERA5 data.
- Improved handling of near-zero relative tracer deviations and compression-rate diagnostics.
- Revised compression interfaces, helper functions, tests, reference outputs, logging, and round-trip validation.
- Fixed CMS, ZSTD, ZFP, SZ3, and PCK-related compilation and documentation issues.
GPU & Performance
- Improved GPU support for domain decomposition, particle communication, dynamic buffers, diffusion tests, and sorting.
- Added a fallback for Thrust-based sorting on GPUs.
- Revised GPU memory allocation and fixed memory-pinning and timer issues.
- Added CPU and GPU execution paths for particle pushing and DD edge cases.
- Updated GPU test datasets and associated reference results.
- Cleaned up GPU pragmas, compiler flags, and conditional compilation.
Fortran Interface
- Fixed the Fortran wrapper ABI, declarations, string lengths, configuration fields, and generated documentation.
- Added support for
MET_COORD_TYPE, UTM reference coordinates, and compression control arrays. - Updated interfaces for revised MPTRAC APIs and compile-time dimensions.
- Added a dedicated Fortran-wrapper CI test and ensured the interface is rebuilt during testing.
Tests & Examples
- Refreshed Python example plots, documentation, simulation outputs, and reference datasets.
- Aligned Python examples with current MPTRAC output and clarified the example README workflow.
- Added tests for UTM grids, sub-minute trajectory output, DD push behavior, local DD execution, GPU edge cases, and updated diffusion schemes.
- Updated compression, CMS, GPU, trajectory, wind, and domain-decomposition reference data.
- Improved
dd_testlocal mode, tabular comparison behavior, particle ordering, and documentation.
Web Runner & User Interface
- Modernized the web runner interface, layout, form labels, presets, and visual hierarchy.
- Added local test mode, selectable output quantities, netCDF trajectory export, and improved dataset validation.
- Added meteorological data-availability checks and clearer guidance through the submission and execution workflow.
- Improved input validation, runtime messaging, progress handling, and stale-modal cleanup.
- Refined presets, default values, copy, form organization, and dataset-specific warnings.
Tracer Chemistry & Specialized Modules
- Added a new module for radionuclide tracers.
- Updated tracer quantity naming and related loss-rate handling.
- Fixed KPP chemistry code and updated associated build and documentation components.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 about 1 month ago
MPTRAC - v3.1
Changes in this release
Documentation & Metadata
- Updated README, documentation, mkdocs manual, model-physics.md, references, CITATION.cff, and DEPENDENCIES.md.
- Added quick-start README and links to the MPTRAC Web Runner.
- Fixed Doxygen documentation and script descriptions.
Build System, Dependencies & CI/CD
- Updated build scripts, requirements, dependencies, and compilation conditionals.
- Fixed MPI, OpenMP, OpenACC, CPU, and GPU compilation issues.
- Added and updated CI tests (Fortran wrapper, GRIB, ZFP, ZSTD, GPU).
- Fixed eccodes, SZ3, ZFP installation paths.
- Removed obsolete dependencies (CUDA runtime for Thrust, curl).
- Ignored HDF5 build check failures where appropriate.
Code Quality & Refactoring
- General code cleanup, formatting, const qualifiers, and style fixes.
- Unified error handling and revised logging/info messages.
- Removed unused variables, imports, deprecated types (e.g.
bool), and excessive debugging code. - Improved memory handling and cleanup routines.
Domain Decomposition (DD)
- Major redesign and stabilization of domain decomposition
- Introduced
dd_t,ctl->dd,dd_init(), andmodule_dd. - Refactored MPI communication, requests, sorting buffers, halos, and periodic boundaries.
- Fixed DD bugs (poles, halos, memory handling, CPU/GPU builds).
- Added conditional compilation, DD tests, and Makefile targets.
- Improved initialization, logging, and neighbor handling.
Physics, Numerics & Algorithms
- Revised advection schemes (etadot/zetadot), interpolation, eta-level handling, and time-step computation.
- Improved NRMSE calculation and compression-rate metrics.
- Added fast pressure-to-eta conversion.
- Updated diffusivity control parameters and vertical coordinate determination.
- Fixed geopotential and other physics routines.
I/O, Data Handling & Formats
- Added netCDF parallel I/O with additional I/O timing.
- Improved GRIB and netCDF readers (date/time handling, flexible vertical levels).
- Updated CSI writing and merged ensemble/non-ensemble routines.
- Improved working-directory cleanup and periodic maintenance.
Compression
- Revised CMS, SZ3, ZSTD, and ZFP compression code.
- Added SZ3 compression for meteorological data.
- Added new ZFP control parameters and fixed compression-ratio calculations.
GPU & Performance
- Ported core routines to GPUs (particles↔atmosphere, DD, advection).
- Added GPU-compatible DD (initial working version).
- Improved OpenMP scheduling, sorting fallbacks (GSL/Thrust), and performance logging.
- Added experimental GPU pragmas and alternative communication paths.
Tests & Examples
- Added and updated tests for DD, GPU, GRIB, meteo data, and trajectories.
- Updated examples, simulation settings, plots, and visualization options.
- Added quick-look plots and parallelized their generation.
Web Runner & User Interface
- Updated input forms, plot settings, defaults, and output options.
- Added play/stop controls, sliders, runtime warnings, and contact buttons.
- Added and updated support for ECMWF (IFS, AIFS), NCEP GFS, ERA5, JRA-3Q, and JRA-55.
- Fixed dataset paths, disabled unsupported reanalyses, and improved data retrieval scripts.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 8 months ago
MPTRAC - v3.0
Changes in this release:
- Added JOSS paper.
- Fixed name of timer of module_chem_grid_ens().
- Update doxygen and mkdocs documentation.
- Fixed Fortran wrapper.
- Fixed GPU code for ensemble output.
- Update write_csi_ens() for esemble processing of some scores
- Added error handling to pressure level definitions
- Update CMS code.
- Update ERA5 retrieve script.
- Fix incorrect Fortran Interface for ctl.met_pbl_min etc.
- Added check of pressure on model levels.
- Added alternative variable names for hybrid level coefficients.
- Added control parameter MET_ZSTD_LEVEL to set compression level.
- Added check of total number of trajectories.
- Added link to AI documentation.
- Added code for web runner.
- Fixed quantity definition of snow water content.
- Renamed dependencies file.
- Update interoper_test.
- Added template for pull requests.
- Added dependencies.md file.
- Update bug report template.
- Create CODE_OF_CONDUCT.md
- Added contributing guidelines.
- Set dynamic linking as default option in Makefile.
- Fixed interpolation error in diabatic advection.
- Fix Fortran wrapper.
- Added const qualifiers.
- Update check of lower boundary in module_advect().
- Update cms_test.
- Fixed bug in INTPOL_SPACE_ALL macro.
- Added function to check longitude and latitude range of meteo data.
- New option to use a and b half level coefficients.
- Modified check of grid level spacing.
- Enabled irregular latitude spacing (Gaussian grid).
- Added control parameters for model level a and b coefficients.
- Include high-level functions in Fortran wrapper.
- Added option to calculate pressure on model levels.
- Update KPP test.
- Revised vertical interpolation on model levels.
- Integration of cache_t comparison between Fortran and C
- Added documentation for high-level interace.
- Moved GPU memory updates to mptrac_init().
- Added meteo data to functions for device/host memory updates.
- Added high-level functions to update device and host memory.
- Fix rounding error of lon-lat grid in met- and tropo-tools.
- Added high-level functions to allocate and free memory for MPTRAC.
- Added a function to run a single time step with MPTRAC.
- Changed memory allocation of control parameters.
- Fix MPI code.
- Added high-level interface functions for MPTRAC.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 about 1 year ago
MPTRAC - v2.8
Updates in this release:
- Update list of contributors.
- Update Makefile.
- Update README.md
- Update doxygen docs.
- Revised timers.
- Moved random numbers to cache struct.
- Update to new branch of cmultiscale.
- Update cmultiscale log message.
- Extended netCDF meteo output.
- Checked and revised meteo file output.
- Fixed calculation of Langevin equation.
- Added option for vertical mixing in the PBL.
- Moved Python venv to working directories.
- Added new control parameter DIFFUSION to selection diffusion scheme.
- Added surface stress and heat flux to meteo variables.
- Added warnings regarding use of DP2DZ and DZ2DP macros.
- Improved method to calculate PBL height with stability approach.
- Added option to set diffusivities in the PBL.
- Fix OpenACC pragma for module_position().
- Selected Squares as default random number generator.
- Removed REFLECT flag, always enforce reflection of particles.
- Removed ADVECT_ZETA_PRESS_MODULES flag, enforce p-to-zeta interpolation.
- Moved random number generation to physics modules.
- New control parameter WET_DEPO_SO2_PH to calculate H_eff for SO2.
- Removed WRAPPER flag in Makefile. Use
make wrapperto compile. - Modified compilation of dynamic library.
- Changed back to static compilation by default.
- Update library build script.
- Fix compilation of zfp library.
- Modified thresholds for detecting cloud top and cloud bottom pressure.
- Added flag for reading CAPE and CIN from meteo file.
- Revised code to read or calculate PBL.
- Include README for Fortran wrapper
- Update python plot scripts.
- Update get_era5.sh for new CDO version.
- Fix GFS retrieval script.
- Update README.md for meteo data retrieval.
- Added test case for cmultiscale.
- Removed benchmarking project.
- Added szlib to libs.
- Added notes for zlib and zstd compression for netCDF.
- Changed netCDF quantization method to Granular BitRound.
- Added compression for netCDF grid files.
- Added compression for netCDF atmospheric data files.
- Disabled quantization for meteo surface data.
- Made netCDF4 default file type. Added compression of netCDF meteo files.
- Extended write_met() to write meteo data as netCDF file.
- Modifed compile flags for coverage testing.
- Update library build script and update to zfp v1.0.1.
- Update KPP code.
- Added check of time range to module_advect_init() and module_chem_init().
- Update of code to read CLaMS meteo data.
- Update reading of ZETA_DOT.
- Added helper function to read photolysis rates.
- Added timers to met_conv.
- Update read_met_pv().
- Update OH climatology code.
- Optimized cart2geo() and geo2cart().
- Added DEG2RAD and RAD2DEG macros.
- Fix longitude-latitude grid in cmultiscale.
- Added Wu et al. (2023) to reference list.
- Enabled tests for Ubuntu 24.04.
- Sort control parameters into groups.
- Removed -mcodel flag for nvc.
- Modifed checks of array dimensions.
- Modified maximum array sizes for meteo data.
- Removed static array to enable larger meteo fields.
- add intel compiler, add intel and nvx compiler for fortran wrapper
- Added code for MPI broadcast of large data.
- Added Fortran wrapper.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 1 year ago
MPTRAC - v2.7
- Added boundary checks for reading compressed meteo data.
- Added control parameters for cmultiscale compression.
- Added compression rate to cmultiscale log messages.
- Added check of pressure profiles.
- Added option to calculate kinematic trajectories using model level meteo data.
- Added interpolation functions for meteo data on model levels.
- Update write_csi() for the particle filter.
- Merged module_advect() and module_advect_diabatic().
- Revised initialization functions.
- Added code for MPI broadcasting of meteo data.
- Added RWC and SWC as separate meteo data variables.
- Modified checks of VERT_COORD_AP and VERT_COORD_MET.
- Added Makefile target
libto create dynamic or static library of MPTRAC. - Renamed libtrac.c/h to mptrac.c/h.
- Replaced call to gsl_finite() by isfinite().
- Removed calls of GSL macros.
- Fixed displaying of equations in doxygen.
- Added example on creating ParaView output to projects.
- Added function module_press_init to factorize the code.
- Moved all modules, static variables and macros from trac.c to libtrac.c.
- Added script to retrieve ERA5 data.
- Modified code to read meteo data on model levels.
- Added script to retrieve NCEP-NCAR Reanalysis 1 data.
- Added script to download GFS forecasts.
- Added script to retrieve GFS forecasts.
- Added script to retrieve MERRA-2 data.
- Started integrating cmultiscale.
- Modified ZFP compression settings.
- Added clang compiler to Makefile.
- Added project directory for benchmarking.
- Added selection based on potential temperature to atm_select.
- Modified GPU offloading of mixing module.
- Added GPU compilation for gcc.
- Added COMPILER flag to Makefile.
- Revised mixing code.
- Check fix of CURAND compilation flag.
- Update tropopause climatology file format.
- Added new tool tropo_clim to calculate tropopause climatology.
- Added CLaMS photolysis data.
- Added new function read_met_polar_winds() to fix winds at the poles.
- Revised timers. Added flag for GPU memory pinning.
- Added level definitions for ml2pl operator.
- Added const qualifiers.
- Add new tool atm2grid.c.
- Minor change on module_mixing and kpp_chem.
- Update TUV photolysis data of o2,o3,h2o2.
- Use a finer pressure grid in photolysis data.
- Modified pragmas for module_mixing_help().
- Refined grid levels at the bottom for predefined levels.
- Update user manual.
- Add dt_kpp as time step size for KPP chemistry.
- Added checks of meteo data layout for packed netCDF files.
- Implemented different meteo data layouts for 2-D variables.
- Added control parameter RNG_TYPE to select random number generator.
- Added counter-based random number generator.
- Code cleaning.
- Modified control parameters for reading netCDF meteo files.
- Build zlib with -fPIC flag.
- Added timer for read_met_monotonoize().
- Update build.sh.
- Add python plot scripts.
- Update documentation.
- Update GPU test case.
- Revised interpolation method in convection module.
- Added total column ozone to output of met tools.
- Fixed compilation error on JUWELS Cluster.
- Add standard deviation output to write_grid.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 about 2 years ago
MPTRAC - v2.6
- Update CITATION.cff file.
- Simplified the example for the Puyehue case.
- Removed OpenMP quicksort algorithm.
- Update documentation.
- Update test cases.
- Bugfix: Correcting CLaMS filenames.
- Integrated photolysis rates in climatological data struct.
- Modify the dimension of sza to unit rad.
- Switch the photolysis rate to Roeth's scheme.
- Added tuv photolysis data.
- Added check of surface pressure to read_met_ozone().
- Added total column ozone to interpolation functions.
- Added function to calculate total column ozone.
- Removed uvw cache for diabatic calculations. It needs further considerations.
- Added a test to spot changes in the diabatic calculations.
- Added parameter to read meteo data in different conventions.
- Added interoper_test, the part for testing IO of atmospheric data.
- Added the diabatic transport scheme.
- Added option to select pre-defined pressure level sets.
- Optimized calculation of solar zenith angle.
- Optimized tracer chemistry code.
- Fixed compilation warning for ZFP code.
- Obsolete output omitted for make check
- Bugfix zfp code.
- Added const qualifiers.
- Update README.md
- Renamed variables of climatological data.
- Update unit strings for volume mixing ratios.
- Fix for NVIDIA C compiler.
- Added control parameters for ZFP compression.
- Update grid output to include quantity mean values.
- Add compilation of KPP in build.sh
- Added macro for particle loop.
- Changed group assignment of sorting timer.
- Fix in module_chemgrid.
- Check conflict of THRUST and STATIC flags in Makefile.
- Update library build script.
- Added an overview image showing the MPTRAC modules.
- Added CLaMS radical species files with concentrations converted to vmr.
- Removed redundant mixing of O3 in module_mixing().
- Revised code for tracer concentrations and fixes of GPU code.
- Fix for KPP code.
- Added new function clim_ts() and clim_zm() to interpolate climatological data.
- Update references.
- Read HNO3 climatology from file.
- Update GOZCARDS data files.
- Added module_h2o2_chem() and module_chemgrid() to trac_test.
- Added language/locales setting to run scripts.
- Renamed chem_test into kpp_test.
- Added module_mixing to trac_test.
- Added check of KPP flag in trac.
- Merged module_h2o2_chemgrid() and module_kpp_chemgrid() into module_chemgrid().
- Revised atm_init to initialize for age of air calculation.
- Revised control parameter defaults for boundary condition module.
- Fixed boundary conditions for CCl4 and SF6.
- Removed CFC-13 from tracer chemistry.
- Added code to calculate age of air.
- Revised reaction rates of chemical tracers.
- Added trends for CFCs and N2O boundary conditions.
- Added climatological time series of CFCs, N2O, and SF6.
- Revised preprocessor directives for KPP.
- Fix OpenACC pragma for sza_calc().
- Added control switch TRACER_CHEM for first-order tracer chemistry.
- Changed default values for mixing module.
- Added module for inter-parcel mixing.
- Add o3 climatology from CAMS reanalysis.
- Removed setting of GPU vector length.
- Changed ordering of calls to boundary condition module in trac.
- Added VTK output to trac_test.
- Added new quantities for H2O2, HO2, and O(1D) number concentrations.
- Added HO2 and O(1D) to output of met tools.
- Revised clim_oh() function to use clim_var().
- Removed clim_h2o2() function.
- Implemented a separate function for VTK output.
- Modified GPU vector length of advection kernel.
- Added dry deposition to trac_test.
- Revised code for reading species defaults.
- Added vtk output for particle data.
- Fix for OH diurnal correction.
- Added const qualifier to locate functions.
- Revised function call for clim_var().
- Update OH climatology code.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 almost 3 years ago
MPTRAC - v2.5
- update README.md
- update doxygen and mkdocs documentation
- fix doxygen and mkdocs actions
- new module for KPP chemistry
- new test case for KPP chemistry
- fix for reading/writing binary data
- update ERA-Interim netCDF data files.
- fixed code for reading SST.
- added cloud cover, land-sea mask, and sea surface temperature to meteo data
- added code to read relative humidity as meteo input
- implemented "sp" and "SP" as additional netCDF variable names for surface pressure.
- update netCDF calls
- added function to read time from filename
- added a function to read kernel data file
- added a function to extract weighting factors from kernel function
- added kernel function to CSI output, grid output, and sample output
- update example
- revised sorting code and thrustsort wrapper
- added a logo
- revised dry deposition module
- use (WMO, 2018) to calculate T_ice
- added option to terminate trajectories at boundaries of local meteo data sets
- added surface pressure and height to tropo tools
- added a function to calculate buoyancy frequency
- added checks to chemgrid module.
- added a tool to add CAPE data to CLaMS netCDF files
- updates of module_h2o2_chem()
- updates of module_chemgrid
- revised netCDF grid output
- added new criteria for boundary conditions
- update GPU test data.
- changed convection module default parameter settings
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 about 3 years ago
MPTRAC - v2.4
- Update doxygen manual.
- Bugfix of layer packing code.
- Update of H2O2 chemistry.
- Fix library build script.
- Added OpenMP parallelization to write_grid().
- Revised wet deposition module.
- Revised ensemble output. Added a test case.
- Added CSI output to trac_test.
- Revised write_csi() function.
- Added GPU test case.
- Added new function to read observation data.
- Revised profile output including test case.
- Update CITATION.cff
- Update codecov.yml, doxygen.yml and tests.yml.
- Revised sample output. Extended trac_test.
- Fix of mass loss calculation.
- Added netCDF output for grid data.
- Added mkdocs manual for RTD.
- Added tests for compression of meteo data.
- Added macros to access 2-D and 3-D arrays.
- Added netCDF I/O for air parcel data.
- Revised tropopause climatology code.
- Revised HNO3 climatology code.
- Revised advection code.
- Added Makefile flag for UVW cache.
- Fixed meteo filename extensions.
- Convective mixing based on density.
- Added option to redefine physical constants.
- Bug fix for backward trajectories.
- Added vertical velocity to wind tool.
- Added timer statistics.
- Added tests of tropopause code.
- Added control parameter MET_NC_SCALE to check scaling factor and offset of meteo files.
- Added quantities to track mass loss.
- Added control parameter MET_CLOUD_MIN to specify minimum CLWC and CIWC.
- Added macros for netCDF.
- Revised I/O functions for atmospheric data.
- Added tool to calculate zonal men tropopause statistics.
- Update wet deposition module.
- Added H2O2 chemistry module.
- Added new quantity IDX for air parcel index.
- Added Thrust library for sorting.
- Added netcdf4 reading and writing functions similar to CLaMS.
- Updates of wet deposition module.
- Added new quantity RHO for density of air.
- Renamed quantities RP and RHOP for particle radius and density.
- Add asyncIO (to be tested).
- Revised sorting code.
- Added GOZCARDS climatology data files.
- Moved example to project directory.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 3 years ago
MPTRAC - v2.3
- Added new function read_clim() to read climatological data files.
- Added linear trends to boundary condition module.
- Renamed group timers.
- Update GPU code.
- Read CLaMS data, save as netcdf files
- Tentative interpolations in zeta coordinates and functions for diabatic simulations.
- Added H2O as a species.
- Added module for sorting of particles.
- Added zstd compression.
- Added zfp compression.
- Revised code for mesoscale diffusion.
- Added cache for wind data.
- Added checks for binary data.
- Added code to read/write binary meteo data.
- Added tools test.
- Update Makefile. Renamed lapse and subgrid tools.
- Added tests for atm tools.
- Added option for multiple test cases.
- Update bug_report.md
- Update feature_request.md
- Added test for code coverage.
- Added citation file.
- Added cppcheck. Fixed minor issues.
- Add Codacy badge
- Minor fixes (SoftWipe analysis).
- Added 4th-order Runge-Kutta method for advection.
- Added control parameter REFLECT for reflection of particles at top and bottom boundary.
- Added check of CONV_CAPE and COVE_CIN to met tools.
- Added output of the number of data points in met tools.
- Changed calculations of mean values in met tools.
- Added CIN threshold to convection module.
- Added code to calculate convective inhibition (CIN).
- Added control parameter CONV_WMAX to limit vertical velocities.
- Update mesoscale diffusion.
- Added option to initialize with cosine bell in atm_init.
- Added tool for synthetic wind fields.
- Changed code to calculate standard deviations.
- Modified OpenMP scheduling for read_met_help().
- Take into account fill values and missing values in meteo netCDF files.
- Modified code to read packed netCDF meteo files.
- Added control parameter MET_CACHE for preloading meteo data into disk cache.
- Use disk cache for meteo data.
- Revised example to include convection, wet deposition, and boundary conditions.
- Update to HDF5 v1.12.1 and netCDF v4.8.1.
- Added module for timesteps.
- Modified spatial interpolation methods.
- Replaced pgcc by nvc.
- Added group timers.
- Added log message for read_atm() and write_atm().
- Added output of git version number.
- Modified time filter for atmospheric data output.
- Modified get_met() function to ignore DIRECTION flag.
- Added tool "tnat" to calculate PSC temperatures. Fix for negative H2O vmr.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 about 4 years ago
MPTRAC - v2.2
- Update met tools (additional output variables).
- Bugfix for latitudes in met_zm output.
- Changed DT_MET to 3600s to match ERA5 data. GPU managed memory switched off by default.
- Added code to estimate cloud bottom pressure.
- Added function to calculate weighting factor from tropopause distance.
- Fixed calculation of lifetime in wet deposition module.
- Fixed GPU code.
- Revised OpenMP collapse clauses.
- Added new quantity definitions.
- Revised 2-D interpolation scheme to consider NaNs.
- Added default coefficients for OH reactions.
- Added output of particle Reynolds number to sedi tool.
- Added tools to calculate sedimentation velocity and grid-scale wind variances.
- Added wet deposition coefficients for various species.
- Revised check for observation time in write_csi, write_prof, and write_sample.
- Added longitude range to met_zm tool.
- Revised profile output.
- Added time range for station output.
- Update to GSL v2.7.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 almost 5 years ago
MPTRAC - v2.1
- Revised OH chemistry code.
- Revised profile output.
- Added outlier filter for atm_dist.
- Added macro for log messages.
- Revised doxygen documentation.
- Added check for time information in meteo data files.
- Fixed linear interpolation in tropopause code.
- Added control parameters for tropopause calculation.
- Faster time interpolation of meteo data.
- Use different rng seeds for different MPI tasks.
- Added function to estimate pressure of the planetary boundary layer.
- Added quantity for (explicit) volume mixing ratios.
- Added a module to apply boundary conditions.
- Bugfix dry deposition module.
- Added zeta hybrid vertical coordinate as a quantity.
- Added linear interpolation to lapse rate tool.
- Added time interval for convection module.
- Faster index calculation in write_grid().
- Bugfix for surface variables.
- Revised write_output function in trac.c.
- Added IO tuning parameters to the control parameters: chunkszhint, readmode
- Revised equation to calculate molecular density of air.
- New code to read RWC and SWC.
- Update doxygen documentation.
- Revised interpolation methods in clim_hno3 and clim_oh.
- Added a tool to calculate lapse rate statistics.
- Fixed quantity names.
- Revised example (maps of meteo data). Revised timers.
- Added dew point and frost point temperature to output of met tools.
- Allow for "nan" in observation data.
- Added generic sampling function.
- Added a detrending method for temperature and winds.
- Revised interpolation scheme in tropo_sample.
- Revised grid output.
- Additional verification statistics in CSI output.
- Added delta-Z filter in tropo_sample.
- Added option to extract meteo maps on isentropic levels.
- Revised 3-D interpolation scheme for tropopause data.
- Fixed problem with building HDF5 and netCDF-4 on JURECA.
- Added surface variables (T2m, U10m, V10m) to meteo data.
- Revised consistency check of meteo grids.
- Revised code to read meteo data. Removed MET_STAGE option.
- Added new control parameter METBASE.
- Added macro to calculate geopotential height differences.
- Added macro to calculate lapse rate between pressure levels.
- Added interpolation macros. Added tropopause T, z, and q to trac output.
- Added function to calculate T_NAT.
- Made identification of quantity names case-independent.
- Revised wet deposition scheme.
- Added module to simulate convection.
- Added code to calculate convective available potential energy (CAPE).
- Bugfix OpenMP parallelization of grid output.
- Revised code for humidity calculations.
- Improved calculation of geopotential heights near the surface.
- Modified horizontal smoothing method for geopotential heights.
- Added function to calculate frost point temperature.
- Added code to calculate dew point temperature and lapse rate.
- Added module to calculate dry deposition.
- Changed default time step DT_MOD to 180s.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 almost 5 years ago
MPTRAC - v2.0
- Revised GPU code.
- Minor fix to allow for compilation on JURECA-DC and JUWELS.
- Update to gsl-2.6 and netcdf-c-4.7.4.
- Added HDF5 and zlib libraries to enable netCDF-4.
- Modified read_met for ERA5 netcdf files created by new cdo version.
- Added NVTX markers.
- Minor changes in Makefile.
- Publication of releases on zenodo.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 almost 5 years ago
MPTRAC - v1.9
- Added module to calculate wet deposition.
- Added option to read surface geopotential for NCEP reanalysis.
- Revised output of cloud parameters.
- Bugfix geopot function.
- Added new function to read surface data.
- Added cloud liquid water content and ice water content to meteo data.
- Added simple scheme for SO2 chemistry.
- Added OH climatology.
- Revised interpolation schemes for meteo data.
- Added code to calculate relative humidity.
- Revised code for multi-GPU runs.
- Replaced extract tool by atm_select.
- Modified netCDF output of tropo tool.
- Fixed spline interpolation in tropopause code.
- Modified interpolation functions to deal with missing values.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.8
- Added new tool to sample tropopause data.
- Added tropopause water vapor to meteo tools.
- Added stride for particle output.
- Added water vapor to tropo tool.
- Revised and added test for decay module.
- Added GPU code.
- Revised example.
- Added fix for polar latitudes to PV code.
- Added OpenMP parallelization to tropopause code.
- Added tool to create tropopause climatology.
- Modified calculation of lapse rate.
- Faster calculation of geopotential heights and tropopause.
- Use virtual temperature to calculate geopotential heights.
- Revised smoothing filter in met_geopot.
- Added initial check of particle position.
- Added vertical interpolation to met_prof and met_zm.
- Added split based on kernel function to atm_split.
- Removed tools smago and wind.
- Added more flexible scheme for meteo filenames.
- Changed parameters of some tools.
- Added spatial interpolation to met_map.
- Added number of particles to grid output.
- Removed calculation of tracer conservation errors from atm_dist tool.
- Added filters to atm_stat tool.
- Removed ensemble filter from atm_dist tool.
- Update air parcel statistics tool.
- Renamed some of the tools for consistency.
- Added check that meteo grids are consistent.
- Added periodic boundary conditions in met_sample.
- Update PV code.
- Update GSL and netCDF libraries.
- New control parameter MET_DT_OUT.
- New tool "invert" to estimate volcanic emissions.
- Added day2doy and doy2day utilities.
- Added code to calculate dynamical tropopause.
- Revised time step control.
- Modifications of grid and profile output.
- Revised downsampling code.
- Enabled separate calculation of horizontal and vertical diffusion.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.7
- Modified met_sample to work with geopotential heights.
- Added quantity flags to extract horizontal wid and vertical velocities.
- Allow for different grid spacing of geopotential data.
- Added code to calculate tropopause.
- Added low-pass filter to downsampling code.
- Changed standard pressure for calculation of potential temperature.
- Fixed initialization of random number generators.
- Revised code to calculate PV on pressure levels.
- Modified approach to calculate RQTDs and RTCEs in dist tool.
- Added coordinate check when reading netCDF files.
- Added code to read CLaMS netCDF files.
- Added code for downsampling of meteo data.
- Added tool to convert between atmospheric data file formats.
- Added code to calculate tracer conservation errors in dist tool.
- Added relative transport deviations for quantities in dist tool.
- Tuning of dist and trac tool.
- Minor performance improvement of sedi module.
- Bugfix dist, met_zm and met_prof tools.
- Removed unused quantities.
- Extended Makefile to allow for compilation on KNL.
- Added option to strip binaries to Makefile.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.6
- Added binary I/O for atmospheric data.
- Removed position checks from init tool.
- Fixed check of CFL criterion.
- Added code to stage meteorological data.
- Extended read_met function for ERA5 data.
- Added check for CFL criterion.
- Added low-level wind components to meteo diagnostics.
- Added new tool for k-means clustering of trajectories.
- Added boundary conditions and options for evenly distribution to init tool.
- Added HNO3 climatology for PSC diagnostics.
- Added gravity wave diagnostics to meteo module.
- Modification of timers in the trac tool.
- Updates center, dist, meteo, trac and wind tool.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.5
- Added module to gather PSC data.
- Added code to estimate T_ice and T_NAT.
- Added time filter for air parcel data.
- Added code to calculate potential vorticity.
- Output of surface pressure in profile data.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.4
- Added code to read meteo data on model levels.
- Allow for meteo data at -180..+180 or 0..360 degrees.
- Implemented different options to get surface pressure.
- Removed nearest neighbor and cubic interpolation schemes.
- Added profile output.
- Revised grid and sample output.
- Use fixed units for known quantities.
- Removed sampling code.
- Added example script.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.3
- Read time information from meteo data filenames.
- Added different interpolation schemes for meteorological data.
- Added new tool to calculate zonal means of meteo data.
- Bugfix isosurface module.
- Update Smagorinsky code.
- Revised grid output.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago
MPTRAC - v1.2
- Added new tool to sample meteorological data files.
- Added new tool to calculate deviations of trajectories.
- Added code to force air parcels to balloon pressure levels.
- Added code to restrict trajectories to isosurfaces.
- Added code to create periodic boundary conditions for meteorological data.
- Added code to get zonal mean tropopause pressure from NCAR/NCEP climatology.
- Modified parameter names for the split tool.
Atmosphere - Atmospheric Dispersion and Transport
- C
Published by lars2015 over 5 years ago