- Refactor names in 1M microphysics q_liq -> q_lcl, q_ice -> q_icl
- Refactor names in 0M microphysics q_liq_rai -> q_liq, q_ice_sno -> q_ice
- Refactor names in 0M microphysics q_tot_safe -> q_tot_nonneg
-
Replace
InitialConditionsmodule withSetupsmodule. Removesurface_temperatureconfig key. -
#4361 Refactor reproducibility infrastructure to use rms deviations in prognostic variables and only fail when rms deviation exceeds tolerance.
-#4285 Delete moisture_model. Rename microphysics_models.
-
#4252 Add option to write diagnostics in pressure coordinates
-
#4260 Add option to use quadrature for microphysics tendencies. Updated to CloudMicrophysics v0.31, and use the BulkMicrophysicsTendencies API.
- 4276 Create IC type to allow initializing AMIP with ERA5 on model levels. Add artifact which corresponds to default AMIP start date (Jan 1, 2010). Also removes unused ᶜspecific in the precomputed cache.
-
#4225 Add an option for vertical water borrowing limiter. Configure via
tracer_nonnegativity_method: "vertical_water_borrowing"and optionallyvertical_water_borrowing_species(defaults to all tracers if not specified). The limiter enforces non-negativity using a single threshold (0.0) that applies uniformly to all selected tracers.Rename
limitertosem_quasimonotone_limiterin cache numerics for clarity. The cache now stores the quasi-monotone limiter instance assem_quasimonotone_limiterto better distinguish it from other limiter types (e.g.,vertical_water_borrowing_limiter). -
#4231 badge-💥breaking removes grid-scale thermo state, including ᶜts in p.precomputed.sfc_conditions.
-
#4211 add experimental methods to remove negative microphysical condensate values
-
#4245 Refactor hyperdiffusion to use Prandtl number parameterization. The scalar hyperdiffusion coefficient is now computed as
ν₄_scalar = ν₄_vorticity / prandtl_number, replacing the previous directν₄_scalar_coeffparameter. Configure viahyperdiffusion_prandtl_number(default: 1.0). TheCAM_SEhyperdiffusion configuration maintains a 5x ratio between vorticity and scalar coefficients by usingprandtl_number = 0.2.
-
#4198 badge-💥breaking modifies surface conditions to use SurfaceFluxes v0.15.
-
#4220 modifies
SphereGridto use spacefillingcurve.
-
PR #4185 adds a new cloud fraction parameterization
MLCloud. It can be set in the toml undercloud_model. -
PR #4191 renames ρatke to ρtke and move it out of sgs⁰.
-
PR #4175 adds support for lazy diagnostics, as introduced in
ClimaDiagnostics.jlv0.2.13.
badge-💥breaking Remove the options
co2_modelandprescribe_ozone. These are both fixed by default now, and can be set to time-varying by including one or both in the optiontime_varying_trace_gases: ["CO2", "O3].
-
PR #4162 adds an option for reproducible restart. It is set to false by default. This shouldn't affect restart in the coupler as the coupler save the cache for restarting.
-
PR #4021 uses ClimaCore convenience constructors to create spaces without an AtmosConfig.
PR #3975 updates the pressure gradient formulation to subtract a reference state and use the Exner pressure.
PR #3946 adds rainwater path diagnostic variable.
PR #3917 adds common numerics configs for different resolutions. These configurations are intended to serve as the default settings. Please modify them only if you are certain of the implications.
PR #3886 renames PrognosticSurfaceTemperature -> SlabOceanSST, PrescribedSurfaceTemperature -> PrescribedSST and deprecates the prognostic_surface = "Prognostic/PrescribedSurfaceTemperature" config argument
PR #3883 adds atmosphere initial condition for WeatherQuest from ERA5
PR #3870 adds externally driven SCM models forced by monthly-averaged ERA5 reanalysis which are less data intensive and more stable. The simulation also employs the new implicit solver yielding a several factor speedup. The associated documentation section, "Single Column Model", was also improved.
PR #3856 adds number adjustment tendencies to the two-moment microphysics scheme.
PR #3820 adds support for computing convective available potential energy (CAPE), or the vertical integral of the buoyancy differential between a parcel lifted from the surface and the environment. Exemplified in the TRMM deep convection case.
This is part of a larger refactoring of the Eddy Diffusivity code for EDMF
PR #3758 adds support for driving single-column model (SCM) simulations with time-varying ERA5 reanalysis data. This extends the existing GCM-driven SCM interface to allow site-specific simulations that resolve the diurnal cycle and are suited for calibration against observations. Users can now run reanalysis-driven cases globally using only a date and lat/lon, thanks to integrated data handling via ClimaArtifacts.jl. See the updated “Single Column Model” docs page for details on setup, variable requirements, and how to prepare ERA5 input files.
PR#3761 introduces support for intermittent calls to update the computation of non-orographic gravity wave tendencies. This PR closes issue#3434.
The option to save the solution to the integrator object (dt_save_to_sol) was
removed from the configurable options.
PR#3721 Diffusion of condensate (liq, ice) and precip (rai, sno) vars no longer contributes to the mass tendency terms (updates in vert diffusion boundary layer, smag-lilly, implicit solver terms)
Passing a non zero t_start is useful in conditions where one wants to have a
specific start_date, but start the simulation from a different point. This is
used by ClimaCoupler to restart simulations.
And move all the fields into precomputed
Surface flux tendency is not controlled by vert_diff or edmfx_sgs_diffusive_flux anymore.
Instead, it is controlled by the new flag disable_surface_flux_tendency. When it is set to
true, no surface flux tendency is applied, no matter what surface_setup is.
This flag is set to false by default. PR 3670.
If netcdf_interpolation_num_points is not provided, ClimaAtmos will
determine it automatically by matching approximately the same number of points
as the model grid.
PR 3584 changes the weighted
interpolation of density from centers to faces so that it uses ᶜJ and ᶠJ,
rather than ᶜJ and ᶠint(ᶜJ). As of ClimaCore v0.14.25, ᶠJ is no longer
equivalent to ᶠint(ᶜJ) for stretched grids.
PR 3622 adds a new simplified EDMF model that only implements the Eddy-Diffusivity part of the scheme (not the Mass-Flux).
PR 3422
Updates the default_config to set deep_atmosphere=true, and updates the
rv relative vorticity diagnostic to store the curl of horizontal velocity.
Added functionality to allow five different size bins of dust and sea salt aerosols for radiation calculation. This feature requires RRTMGP version v0.20.0 or later. PR 3555
The option FriersonDiffusion is removed from vert_diff config. Use DecayWithHeightDiffusion instead.
PR 3592
The .dev was deprecated. The two utilities in this folder can be replaced with
more established and better developed tools:
- instead of
clima_format, useJuliaFormatter, - instead of
up_deps, usePkgDevTools. See the documentation for more information.
ClimaAtmos now only support equilibrium moisture + 0-moment microphysics and
nonequilibrium + 1-moment microphysics (No precipitation is still supported too).
PR 3557
ClimaAtmos now supports logging to stdout and file simultaneously using
ClimaComms.FileLogger. To enable, set the configuration with log_to_file = false.
See ClimaComms documentation
for more background on logging.
ClimaAtmos now support using data from the Mauna Loa CO2 measurements to set
CO2 concentration. This is currently only relevant for radiation transfer with
RRTGMP.
The override_precip_timescale config has been removed.
To recover the previous behavior, set
precipitation_timescale to dt in the
toml. PR 3534
Added a new vertical transport option vanleer_limiter (for tracer and energy
variables) which uses methods described in Lin et al. (1994) to apply
slope-limited upwinding. Adds operator
Added functionality to allow initial conditions to be overwritten by interpolated NetCDF datasets.
To use this feature from the YAML interface, just pass the path of the file. We expect the file to contain the following variables:
p, for pressure,t, for temperature,q, for humidity,u, v, w, for velocity,cswc, crwcfor snow and rain water content (for 1 moment microphysics).
For example, to use the DYAMONDSummer initial condition, set
initial_condition: "artifact\"DYAMONDSummer\"/DYAMOND_SUMMER_ICS_p98deg.nc"
in your configuration file.
Added functionality to write diagnostics in DictWriter to text files. This is useful for outputting scalar diagnostics, such as total mass of the atmosphere. PR 3476
When vert_diff is set to DecayWithHeightDiffusion, diffusion decays
exponentially with height.
PR 3475
When prescribe_clouds_in_radiation is set to true, clouds in radiation
is prescribed from a file (monthly cloud properties in 2010 from ERA5).
PR 3405
- Update artifacts to use 60arc-second ETOPO2022 ice-surface topography
dataset. Update surface smoothing functions to rely only on spectral
Laplacian operations. Update raw-topo gravity wave parameterization
dataset. Update interfaces in
make_hybrid_spacesto support new inputs usingSpaceVaryingInpututility. Include a simple example to generate spectra from scalar variables. PR 3378
-
Reset the RNG seed before calling RRTGMP to a known value (the iteration number). When modeling cloud optics, RRTGMP uses a random number generator. Resetting the seed every time RRTGMP is called to a deterministic value ensures that the simulation is fully reproducible and can be restarted in a reproducible way. Disable this option when running production runs.
Note: Setting this option to
trueis behavior-changing. PR 3382
-
Update RRTMGP to v0.19.1, which fixes the sea salt aerosol lookup table. Sea salt aerosol is added to the target amip config. PR 3374
-
Fixed radiation diagnostics conflicting with each other. Prior to this change, adding multiple diagnostics associated to the same variable would lead to incorrect results when the more diagnostics were output at the same time. PR 3365
-
ClimaAtmos no longer fails when reading restart files generated with versions of ClimaAtmos prior to
0.27.6. PR 3388
The prescribe_ozone flag was turned into a type, allowing for prescribing
arbitrary ozone concentrations. The two types that are currently implemented are
IdealizedOzone (implementing a static profile from Wing 2018), and
PrescribedOzone (reading from CMIP6 forcing files).
Prescribed aerosol and ozone concentrations require external files. Now, a low-resolution version of such files is automatically downloaded when a higher-resolution version is not available. Please, refer to ClimaArtifacts for more information.
-
Fixed incorrect time/date conversion in diagnostics when restarting a simulation. PR 3287
-
Switch to hyperbolic tangent grid stretching, which only requires z_elem and dz_bottom. PR 3260
-
Fixed restarts with radiation and idealized ozone.
- Update RRTMGP and allow multiple aerosols for radiation. Note: Don't use sea salt as there is an issue with the lookup table. PR #3264
- Add artifact decoding from YAML PR #3256
- Add support for monthly calendar diagnostics PR #3235
- Use period filling interpolation for aerosol time series PR [#3246] (#3246)
- Add prescribe time and spatially varying ozone PR #3241
- Use new aerosol artifact and change start date PR #3216
- Add a gpu scaling job with diagnostics PR #2852
- Allow different aerosol types for radiation. PR #3180
Switch from
DierckztoInterpolations.Interpolationsis type-stable and GPU compatible. The order of interpolation has decreased to first. PR #3169
Change
radiation_modelin the radiation cache torrtmgp_model. PR #3167Change the
idealized_insolationargument toinsolation, and add RCEMIP insolation. PR #3150- Add lookup table for aerosols PR #3156
- Add ClimaCoupler downstream test. PR #3152
- Add an option to use aerosol radiation. This is not fully working yet. PR #3147
- Update to RRTMGP v0.17.0. PR #3131
- Add diagnostic edmf cloud scheme. PR #3126
- Limit temperature input to RRTMGP within the lookup table range. PR #3124
- Updated RRTMGP compat from 0.15 to 0.16 PR #3114
Removed the filter for shortwave radiative fluxes. PR #3099.
Add precipitation fluxes to 1M microphysics output. Rename col_integrated_rain (and snow) to surface_rain_flux (and snow) PR #3084.
Remove reference state from the dycore and the relevant config. PR #3074.
- Make prognostic and diagnostic EDMF work with 1-moment microphysics on GPU PR #3070
- Add precipitation heating terms for 1-moment microphysics PR #3050
Fixed incorrect surface fluxes for uh. PR [#3064] (#3064).
. CPU/GPU runs can now share the same yaml files. The driver now calls
AtmosConfigvia(; config_file, job_id) = ClimaAtmos.commandline_kwargs(); config = ClimaAtmos.AtmosConfig(config_file; job_id), which recovers the original behavior. PR #2994, issue #2651.- Move config files for gpu jobs on ci to config/model_configs/. PR #2948.
-
. Use ClimaUtilities for
TimeVaryingInputsto read in prescribed aerosol mass concentrations. This PR is considered breaking because it changesAtmosCacheadding a new field,tracers. PR #2815. -
. Use ClimaUtilities for
OutputPathGeneratorto handle where the output of a simulation should be saved. Previously, the output was saved to a folder named$job_id. Now, it is saved to$job_id/output-active, whereoutput-activeis a link that points to$job_id/output-XXXX, withXXXXa counter that increases ever time a simulation is run with this output directory. PR #2606.