NumericalEarth needs an end-to-end dynamical-downscaling workflow: ingest a global reanalysis dataset, build a NumericalEarth.NestedSimulation that drives a limited-area NumericalEarth.AtmosphereLandModel (Breeze AtmosphereModel + SlabLand + RRTMGP radiation) through open lateral boundary conditions and volumetric Oceananigans.Forcings.Relaxation nudging. This issue tracks the cross-repo work spanning NumericalEarth, Breeze, and Oceananigans.
parent: PrescribedAtmosphere(ERA5)
│
│ coupling: open lateral BCs + Oceananigans.Forcings.Relaxation
▼
NumericalEarth.NestedSimulation
│
│ (DFI: balance the interpolated IC)
▼
NumericalEarth.AtmosphereLandModel
├─ Breeze AtmosphereModel
│ ├─ acoustic substepping (over terrain)
│ ├─ open lateral BCs (mass-fluxed)
│ ├─ WENO advection
│ ├─ microphysics (1M non-eq / 2M / P3)
│ └─ boundary-layer turbulence parameterization
├─ NumericalEarth SlabLand
└─ RRTMGP radiation
Status legend: ✅ merged · 🟡 open · ⚪ closed/superseded. "Recent" = closed since 2026-05-01.
NumericalEarth needs an end-to-end dynamical-downscaling workflow: ingest a global reanalysis dataset, build a
NumericalEarth.NestedSimulationthat drives a limited-areaNumericalEarth.AtmosphereLandModel(BreezeAtmosphereModel+SlabLand+ RRTMGP radiation) through open lateral boundary conditions and volumetricOceananigans.Forcings.Relaxationnudging. This issue tracks the cross-repo work spanning NumericalEarth, Breeze, and Oceananigans.End-to-end test target:
examples/era5_breeze.jl(#233) — SGP-centered ~3 km LAM, HI-SCALE 2016-09-10 case day.Status legend: ✅ merged · 🟡 open · ⚪ closed/superseded. "Recent" = closed since 2026-05-01.
1. NestedSimulation utility (NumericalEarth)
NestedSimulationabstraction + ERA5 regional hindcast example — NestedSimulation abstraction + ERA5 regional hindcast example #233PrescribedAtmosphere: notation, microphysical variables, surface-vs-nesting role — Refactor PrescribedAtmosphere: notation, microphysical variables, surface-vs-nesting role #2662. Parent data ingest (NumericalEarth)
set!map-projection support forRectilinearGrid(projected-Cartesian LAM variant) — Add map projection support toset!forRectilinearGridtargets #232MetadataSetcore + adoption sweep — MetadataSet (#235): core + adoption sweep #259 (closes Introduce MetadataSet (and a generic download) for multi-variable Metadata workflows #235)download_datasetreturns; drop ERA5 dead code — DataWrangling cleanup: standardize download_dataset returns, drop ERA5 dead code #208AbstractPrescribedComponentabstract type — Add AbstractPrescribedComponent abstract type #2283. Parent ↔ child coupling
3a. Open lateral boundary conditions
Breeze:
OpenBoundaryConditionon momentum silently clobbered → NaN —OpenBoundaryConditionon momentum is silently clobbered by impenetrable-default on derived velocities → NaN Breeze.jl#721 (fixed by #722)3b. Volumetric Relaxation (
Oceananigans.Forcings.Relaxation)Oceananigans:
Relaxation: dropContinuousForcingdependency, addtransformandFieldtargets — Simplify Relaxation: drop ContinuousForcing dependency, add transform and Field targets CliMA/Oceananigans.jl#5620FieldTimeSeriestargets inRelaxation— SupportFieldTimeSeriestargets inRelaxationCliMA/Oceananigans.jl#5575Breeze:
🟡 AddFieldTimeSeriesRelaxation— Add FieldTimeSeriesRelaxation Breeze.jl#5623c. Digital filter initialization (DFI)
4. Child: Breeze AtmosphereModel
4a. Acoustic substepping
FloatTypeinSplitExplicitTimeDiscretization— Allow passing the float type as argument toSplitExplicitTimeDiscretizationBreeze.jl#678, #680 (closes #679), #681AcousticSubstepper— Add / Re-factorAcousticSubstepperBreeze.jl#5674b. Microphysics
1M non-equilibrium (default for moist downscaling cases):
NonEquilibriumCloudFormationin RICO example with 1M precipitation — UseNonEquilibriumCloudFormationin the RICO example with 1M precipitation Breeze.jl#326NonEquilibriumCloudFormation(foundation) — Implement NonEquilibriumCloudFormation for 1M microphysics Breeze.jl#284P3 (advanced single-moment, mixed-phase):
PredictedParticlePropertyMicrophysics— Implement PredictedParticlePropertyMicrophysics Breeze.jl#3955. Child: SlabLand
SlabLandand atmosphere–land coupling — Add composable SlabLand and atmosphere–land coupling #220EarthSystemModelcomponent — (0.3.0) Add land as a top-level EarthSystemModel component #149