DLESyMv0_ISCCP_ERA5#

class earth2studio.models.px.DLESyMv0_ISCCP_ERA5(
*args,
use_ttr=True,
ttr_clim_mean=None,
ttr_clim_std=None,
olr_clim_mean=None,
olr_clim_std=None,
olr_floor=0.0,
**kwargs,
)[source]#
GlobalCM202440 GB

DLESyMv0_ISCCP_ERA5 prognostic model for climate-timescale rollouts.

This model packages the atmosphere and ocean checkpoints distributed by AtmosSci-DLESM/DLESyM (the University of Washington group, Cresswell-Clay et al. 2024). It is designed and validated for multi-decadal to millennial climate integration (100–1000 year rollouts), as demonstrated in the original paper. This distinguishes it from DLESyM (DLESyM-V1-ERA5), which was optimised for subseasonal-to-seasonal (S2S) ensemble forecasting over lead times of days to weeks.

The architecture is similar to DLESyM – both use physicsnemo.models.dlwp_healpix on a HEALPix nside=64 (≈ 1°) grid with coupled atmosphere/ocean rollout – but the upstream checkpoints carry a different variable set (9 atmospheric variables including outgoing longwave radiation trained on ISCCP-distributed OLR, and a 3-variable ocean coupling) rather than ERA5 TTR.

When use_ttr=True (default), the wrapper accepts ERA5 ttr and applies the upstream team’s per-day-of-year moment-matching transform to convert it to ISCCP-distributed OLR before the forward pass. The transform requires bundled climatology netCDFs (era5_ttr_doy_stats_hpx64.nc with ttr1h_mean / ttr1h_std and isccp_olr_doy_stats_hpx64.nc with olr_mean / olr_std) inside the model package, each indexed by (dayofyear, face, height, width). When use_ttr=False, supply pre-transformed OLR (rlut) directly.

Parameters:
  • *args (Any) – Positional arguments forwarded to DLESyM.

  • use_ttr (bool, optional) – If True, declare ttr as the radiative input variable and apply the TTR -> OLR transform internally. If False, declare rlut directly. Defaults to True.

  • ttr_clim_mean (np.ndarray | None, optional) – Per-day-of-year mean of ERA5 TTR, shape (D, F, H, W) with D typically 366 (one entry per DOY) and F, H, W matching the HEALPix grid. Required when use_ttr=True.

  • ttr_clim_std (np.ndarray | None, optional) – Per-day-of-year std of ERA5 TTR (same shape as ttr_clim_mean).

  • olr_clim_mean (np.ndarray | None, optional) – Per-day-of-year mean of ISCCP OLR (same shape).

  • olr_clim_std (np.ndarray | None, optional) – Per-day-of-year std of ISCCP OLR (same shape).

  • olr_floor (float, optional) – Lower bound applied to the transformed OLR (the upstream pipeline uses a small positive quantile floor). Defaults to 0.0.

  • **kwargs – Keyword arguments forwarded to DLESyM.

Note

For more information see:

See DLESyM for details on the coupled rollout, retrieve_valid_atmos_outputs / retrieve_valid_ocean_outputs, and the HEALPix grid layout.

Example

pkg = DLESyMv0_ISCCP_ERA5.load_default_package()
model = DLESyMv0_ISCCP_ERA5.load_model(pkg, use_ttr=True)
for step, (x, coords) in enumerate(model.create_iterator(x0, coords0)):
    ...
__call__(x, coords)[source]#

Runs upstream DLESyM forward 1 coupled step.

Parameters:
  • x (torch.Tensor) – Input tensor of shape (B, T, LT, V, F, H, W).

  • coords (CoordSystem) – Input coordinate system (with ttr in variable when use_ttr=True).

Returns:

Output tensor and output coordinates (in model variable space: rlut rather than ttr).

Return type:

tuple[torch.Tensor, CoordSystem]

create_iterator(x, coords)[source]#

Create a time-integration iterator (yields initial condition first).

Parameters:
  • x (torch.Tensor) – Input tensor.

  • coords (CoordSystem) – Input coordinate system.

Yields:

Iterator[tuple[torch.Tensor, CoordSystem]](x, coords) at each step. The first yield is the initial condition in model variable space (rlut, post-transform).

Return type:

Iterator[tuple[Tensor, OrderedDict[str, ndarray]]]

classmethod load_default_package()[source]#

Default DLESyMv0_ISCCP_ERA5 model package on HuggingFace.

Return type:

Package

classmethod load_model(
package,
use_ttr=True,
atmos_model_idx=0,
ocean_model_idx=0,
)[source]#

Load the DLESyMv0_ISCCP_ERA5 prognostic from a package.

Parameters:
  • package (Package) – Model package containing config.yaml, atmos_model_*.mdlus, ocean_model_*.mdlus, the HEALPix lat/lon and constant fields, and (when use_ttr=True) era5_ttr_doy_stats_hpx64.nc and isccp_olr_doy_stats_hpx64.nc.

  • use_ttr (bool, optional) – See DLESyMv0_ISCCP_ERA5. Defaults to True.

  • atmos_model_idx (int, optional) – Index into cfg.models.atmos_model_checkpoints. Defaults to 0.

  • ocean_model_idx (int, optional) – Index into cfg.models.ocean_model_checkpoints. Defaults to 0.

Returns:

Loaded DLESyMv0_ISCCP_ERA5 instance.

Return type:

PrognosticModel

Examples using earth2studio.models.px.DLESyMv0_ISCCP_ERA5#

Running the DLESyM ISCCP-ERA5 Model

Running the DLESyM ISCCP-ERA5 Model