Releases: earth-system-radiation/rte-rrtmgp
Refactored two-stream, new LW source functions and quadrature, kernel API
Accumulated changes and bug fixes. Changes LW answers (data repo is alsoupdated).
- New LW weights and secants (Change LW quadrature angles #282)
- A single source function on levels (Simplify LW source functions #250)
- Kernel API header files in Fortran and C (Add kernel API #272)
- Refactored two-stream, fixing RTE shortwave kernel not vectorizing #215 (Re-vectorize SW two-stream #275)
- Buxfixes, change to internal build systems and continuous integration (thanks to @skosukhin for ongoing help)
What's Changed
- Deploy documentation from separate branch by @RobertPincus in #246
- CI should fail when individual tests fail by @RobertPincus in #256
- Backport Levante CI by @skosukhin in #257
- Backport Levante CI with NAG by @skosukhin in #260
- Backport the intent fix in lw_transport_noscat_up by @skosukhin in #262
- Reduce use of CI via manual runs by @RobertPincus in #264
- Refactored two-stream, new LW source functions and quadrature, kernel API by @RobertPincus in #284
Full Changelog: v1.7...v1.8
Reorganization, single precision, MERRA aerosols
New in release 1.7:
- Libraries can be built in single precision by changes in rte-kind/mo_rte_kind.F90. Differences with respect to double precision are roughly 0.13 W/m2.
- A class for computing the optical properties of aerosols following the MERRA representation has been added.
- The repository is reorganized into frontend and kernel directories for rte and rrtmgp. Data has been moved to a separate repository.
- Citation information has been added.
- As usual some bugs have been fixed, the use of OpenACC and OpenMP GPU offload directives continues to evolve, and the continous integration continues to be fine-tuned.
Updated shortwave cloud optics, documentation, continuous integration
Updated shortwave cloud optics changes all-sky answers by several W/m2. Small updates to documentation, other changes related to continuous integration.
Optimal angle, refactored gas optics
Refactored gas optics increases efficiency and reduces memory use. Optimal angle data is added to LW coefficient files; single-angle no-scattering calculations making use of this data are more accurate than using the standard diffusivity angle. See lw_clear_sky_optangle() in tests/clear_sky_regression.F90 for an examples. Other bug fixes (e.g. to multi-angle no-scattering calculations using default kernels), increased consistency between GPU and CPU kernels; small misc. improvements.
Reduced-resolution k-distributions; reduced memory traffic
Reduced-resolution k-distributions are updated and ready for production. Implementation is refined: Shortwave calculations are refactored to improve memory locality. When broadband fluxes are desired they are accumulated within the solvers, rather than in a separate reduction step. Misc. bug fixes and refinements.
Thanks to Dmitry Alexeev, Dustin Swales, Max Balsmeier.
Book keeping, clarifications, simplifications, OpenMP and OpenACC refinements
Updates to OpenMP and OpenACC implementations. Argument intent changed to allow use of a boundary condition. Fixes from ICON including more consistent turning on/off of error checking. Clarifications and removal of unused bits. Self-hosted CI now uses Github Actions. Thanks again to @alexeedm and @naromero77.
OpenMP GPU support, efficiency updates, streamlined make
OpenMP GPU offload, tested with CCE 11.0.0. Longwave Jacobians aren't computed if the optional arguments aren't provided. Finalization methods for optical properties arrays are introduced. Make is streamlined to use environment variables and omit config files. Small changes for efficiency and robustness. Continuous integration is evolved; includes gfortran 9 and 10 on Github actions; current Nvidia and Intel HPC compilers in containers; Cray CPU and OpenMP GPU and PGI 20 OpenACC.
Input sanitizing optional
Minor bug fixes, changes to continuous integrations (now includes Gnu Fortran 8 and 9; Intel fort 19; PGI 19.10 and Cray CCE), input sanitizing is now optional.
Solar variability, surface temperature Jacobians, rescaling approach to LW scattering
This release includes changes accumulated over the last several months.
*) Bug fixes: rescaling LW calculation to treat scattering
*) Sensitivity (Jacobian) of LW fluxes to surface temperature
*) NRLSSI2 model of solar variability including the ability to specify total solar irradiance (#43)
*) Parameterization for optimal single angle at which to do LW no-scattering calculations
Argument lists for ty_gas_optics_rrtmgp%load() are changed for both LW and SW versions.
The optimal angle works but has no effect; updated data to come.
Testing and continuous integration has also been expanded, including a new set of regression tests in tests/
(Re-)release for 10.1029/2019MS001621
This commit was used to create data used in the journal article Pincus, R., E.J. Mlawer, and J.S. Delamere, 2019: Balancing accuracy, efficiency, and flexibility in radiation calculations for dynamical models. doi:10.1029/2019MS001621.
This tag points to the same commit as v1.0 but is needed to trigger Zenodo to mint a DOI.