Recent Releases of Earth2Studio

Earth2Studio - v0.16.0

Earth2Studio general release 0.16.0

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

🌎 Added

  • Added AIFS 2.0 prognostic model (AIFS2) with wave and 10 hPa pressure level support
  • Added AIFS 2.0 ensemble prognostic model (AIFS2ENS) with stochastic noise injection
  • Added U-CAST prognostic model (UCast) with 1.5-degree global ERA5
    forecasting support
  • Added wave variables to IFS data source for AIFS2 support
  • Added NCEP CFSv2 operational forecast data sources for the pressure-level
    pgbf and surface-flux flxf products (CFS_FX, CFS_FX_Flux), backed by
    either NOMADS (real-time) or the AWS Open Data mirror (archive)
  • Added NCEP CFSv2 6-hourly 9-month reforecast data sources
    (CFS_Reforecast_FX, CFS_Reforecast_FX_Flux), covering 1981-12-12
    through 2011-03-27 with cycles every 5 days, served from the NCEI HTTPS
    archive
  • Added IBTrACS tropical cyclone track DataFrame source (IBTrACS)
  • Added checkpoint/session utilities and restart support for deterministic,
    diagnostic, and ensemble inference workflows
  • Added EUMETNET OPERA European weather radar composite DataSource for DBZH
    reflectivity, rain rate, and 1-hour accumulation (OPERA)
  • Added support for cumulative variables in ARCO data source
  • Added DLESyM-v0-ISCCP-ERA5 climate model

βš™οΈ Changed

  • UFS GSI observation sources (UFSObsConv, UFSObsSat) now fetch from S3 via native
    obstore instead of s3fs to avoid the Python-GIL bottleneck that caps fsspec's
  • Renamed AIFS runoff and snowfall variables to ro06 and sf06 and added six-hour
    accumulated IFS/AIFS data aliases.
  • Automatic test skipping for missing optional dependencies via
    pytest_ignore_collect hook in test/conftest.py

πŸ”¨ Fixed

  • Fixed ARCO data source ARCO_TIME_STOP fallback to 2025-12-31,
    reflecting the most recent available data in the bucket
  • Fixed ZarrBackend chunk metadata reload to skip coordinate arrays when reopening Zarr stores.

πŸ“¦ Dependencies

  • Added obstore>=0.8 to core dependency list
  • Removed aifs and aifsens from the [all] extra due to dependency conflicts with
    aifs2 (incompatible anemoi-models versions).

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 29 days ago

Earth2Studio - v0.15.0

Earth2Studio general release 0.15.0

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

🌎 Added

  • Added Himawari-8/9 AHI ISatSS L2 Full Disk satellite data source (HimawariAHI)
  • Added GHCN-Daily global station observation data frame source (GHCNDaily)
  • Added NNJA conventional (in-situ + GPS RO) observation data source (NNJAObsConv)
  • Added GOES Geostationary Lightning Mapper L2 LCFA event data source (GOESGLM)
  • Added real-time GDAS conventional observation data source (NomadsGDASObsConv)
  • Added quality field to E2STUDIO_SCHEMA for observation QC markers
  • Added Climate in a Bottle tropical cyclone guidance and odds ration example
  • Added Orbit-2 precipitation downscaling model

βš™οΈ Changed

  • UFS Satellite Obs source is now the only one that provides the UFS specific channel_index and general sensor_index fields, all other now provide sensor_index only which can be used to consistently map from UFS to L1 products
  • Added wavenumber (cm⁻¹) field to all satellite schemas
  • Changed channel_index to sensor_index in E2STUDIO_SCHEMA
  • Disabled Atlas example from documentation build due to slow performance

πŸ”¨ Fixed

  • Fixed potential uint16 underflow in UFS channel index expansion
  • Fixed S3 upload bug in server utilities
  • Fixed pres obs from UFS to be Pascal units
  • Fixed chunk downloading race condition in file system cache for Zarr data sources
  • Fixed 180Β° longitude misalignment in ECMWF open-data sources for some GRIB files with non-standard lon origin

πŸ“¦ Dependencies

  • Removed nested_asyncio for Python 3.14 compatibility and updated async data sources
  • Bumping minimum ecmwf-opendata version to 0.3.29 to resolve IFS data request errors

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 2 months ago

Earth2Studio - v0.14.0

Earth2Studio general release 0.14.0

🚨 Breaking Changes 🚨

  • Following PyTorch 2.11, Earth2Studio dependencies now point to CUDA 13.X installs by default. Later CUDA versions are still usable, however special install procedures might be required.

πŸ“• Changelog

🌎 Added

  • Added GenCast 1 degree Mini model
  • Added CAMS Global atmospheric composition forecast data source (CAMS_FX)
  • Added MetOp AMSU-A Level 1B brightness temperature data source (MetOpAMSUA)
  • Added MetOp AVHRR Level 1B radiance/brightness temperature data source (MetOpAVHRR)
  • Added JPSS ATMS Level 1 BUFR brightness-temperature data source (JPSS_ATMS)
  • Added JPSS CrIS FSR Level 1 spectral radiance data source (JPSS_CRIS)
  • Added MetOp IASI Level 1C infrared brightness temperature data source (MetOpIASI)
  • Added NClimGrid daily CONUS gridded climate data source (NClimGridDaily)
  • Added MTG-I FCI Level-1C Full Disk satellite radiance data source (MeteosatFCI)

πŸ”¨ Fixed

  • Fixed source code links in documentation

πŸ“¦ Dependencies

  • Added eumdac>=3.1.0 to data optional dependency group for EUMETSAT Data Store access
  • Moved package dependencies defaults to CUDA 13.0 following torch
  • Moving suggested Python version to 3.13
  • Pointing physicsnemo to git main source for torch 2.11 compatibility
  • Updated ACE2 dependency hash with setuptools fix
  • Updated models using PhysicsNeMo to compliance with nvidia-physicsnemo>=2.0

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 3 months ago

Earth2Studio - v0.13.0

Earth2Studio general release 0.13.0

🚨 Breaking Changes 🚨

  • Renamed tolerance parameter in ISD data source to time_tolerance
  • Changed GraphCastOperational and GraphCastSmall latitude input / output to be [90,-90]
  • Removed device from cbottle SR load_model API

πŸ“• Changelog

🌎 Added

  • Added NOAA UFS observation dataframe sources for satellite and conventional data
  • Added Earth2Studio base schema for dataframe sources
  • Added Planetary Computer data source for ECMWF IFS analysis data
  • Added accumulated variable support to NCAR ERA5 data source
  • Added routine to tile tensors to higher-dimensional tensors
  • Added routine to concatenate tensors along specified coordinate dimension
  • Added Planetary Computer data source for GOES cloud and moisture imagery
  • Added ability to have seperate data and model cache locations via env variables
  • Added random dataframe source
  • Added base reflectivity to MRMS data source
  • Added fetch_dataframe utility function
  • Added data assimilation model class
  • Added equirectangular interpolation data assimilation model
  • Added StormCast SDA model
  • Added beta serve utils with inference server and client implementations
  • Added HealPix data assimilation (HealDA) model
  • Added energy_score metric for multivariate ensemble forecast verification

βš™οΈ Changed

  • Changed available date for ARCO data source to be dynamically updated
  • Changed ISD data frame return to master schema
  • handshake_coords is now accepting list of dimensions while remaining backwards-compatible
  • Updated CBottle infill to mixture of model checkpoints
  • Updated GraphCastOperational and GraphCastSmall latitude input / output to be [90,-90]
  • Updated GraphCast models to support multiple time inputs, multiple times will be looped not batched
  • Renamed tolerance parameter in ISD data source to time_tolerance

❌ Removed

  • Removed device from cbottle SR load_model API

πŸ”¨ Fixed

  • Fixed timezone bug in CBottleVideo that converted UTC time to local system time
  • Bug in cbottle datasource resulting identical samples for multiple samples
  • Bug in StormCast loading out-of-date model package, introduced in 5518edecbabee371c824b34f0f2ec269a4d6094f
  • Bug in spherical perturbations which did not use lmax from the SHT transform

πŸ“¦ Dependencies

  • Added pyarrow explicitly to core dependencies
  • Updated CBottle repo to NVlabs location
  • Updated Makani dependency hash to later version with pyproject toml fix
  • Updated ACE2 dependency hash with setuptools fix
  • Updated models using PhysicsNeMo to compliance with nvidia-physicsnemo>=2.0

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 4 months ago

Earth2Studio - v0.12.1

Earth2Studio patch release 0.12.1

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

βš™οΈ Changed

  • Moved (most) cBottle checkpoints to huggingface repo
  • Added config.json download for HF models to track downloads

πŸ“¦ Dependencies

  • Added onnxscript to onnx models to add support for newer torch versions
  • Moved lock file / CI system to torch 2.9.1

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 6 months ago

Earth2Studio - v0.12.0

Earth2Studio general release 0.12.0

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

🌎 Added

  • Added CorrDiff CMIP6->ERA5 diagnostic model
  • Added derived TCWV diagnostic model
  • Added verbose option for inference workflows in run.py to toggle off tqdm
  • Added Atlas prognostic model
  • Added StormScope GOES and MRMS models

βš™οΈ Changed

  • Removed AIFS-ENS invariants from model input / outputs and moved into model wrapper
  • CDS and NCAR lexica have been updated with variables for AIFS-ENS
  • Switch grib reads in HRRR data sources from xarray to pygrib to fix memory leak
  • Updated AIFS model to 1.1 checkpoint version
  • Updated GFS lexicon to include composite reflectivity
  • Moved most data sources from cfgrib to pygrib

πŸ”¨ Fixed

  • Made tp in HRRR and GFS units m for package consistency
  • Fixed batched inference support for AIFS and AIFS ENS

πŸ“¦ Dependencies

  • Added pygrib to core dependency group
  • Moved cfgrib to optional dependency group
  • Resolved conflict between AIFS and AIFS ENS groups
  • Removed old numcodecs limit

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 6 months ago

Earth2Studio - v0.11.0

Earth2Studio general release 0.11.0

🚨 Breaking Changes 🚨

  • Removed IMERG data source
  • ECMWF data sources for IFS and AIFS have been updated to separate classes for getting analysis data and forecast data

πŸ“• Changelog

🌎 Added

  • Added general PlanetaryComputerData source for pulling Planetary Computer STAC assets
  • Added ECMWF AIFSENS ensemble prognostic model wrapper
  • Added MRMS data source
  • Added IFS and IFS-ENS initial state datasources
  • Added local datasource example with Microsoft Aurora model
  • Added NOAA's Integrated Surface Database (ISD) data frame source

βš™οΈ Changed

  • Removed tp06 field from Graphcast operational model
  • Removed static fields from Graphcast model input / outputs
  • Moved StormCast and DLESyM checkpoints to Huggingface
  • Change previous IFS, IFS_ENS, AIFS and AIFS_ENS sources to IFS_FX, IFS_ENS_FX, AIFS_FX
    and AIFS_ENS_FX to reflect that they are forecast sources
  • Support multiple x, coords pairs in batch function decorator

❌ Removed

  • Removed support for returning multiple samples at once from IFS ENS data sources
  • IMERG datasource

πŸ”¨ Fixed

  • Vertical wind variables in GFS / GEFS to be Pa s-1

πŸ“¦ Dependencies

  • Removed Aurora-fork option which had a temporary patch for package conflict that is
    resolved in the source aurora package
  • Capped PhysicsNeMo to below 2.0

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 7 months ago

Earth2Studio - v0.10.0

Earth2Studio general release 0.10.0

🚨 Breaking Changes 🚨

  • Dropped Python 3.10 support

πŸ“• Changelog

🌎 Added

  • Added CMIP6 data source
  • Added CBottle Tropical Cyclone guidance diagnostic
  • Added CBottle Video prognostic model
  • Exposed backend arguments of netcdf/zarr to datasource_to_file signature
  • Added vertical wind speed support in GFS
  • Added ModelOutputDatasetSource to use written model output to start a new model run
  • Added FCN3 noise handling routines
  • Added ACE2-ERA5 model and data source
  • Added tp06 support to CDS data source
  • Added IFS_ENS, AIFS, and AIFS_ENS data sources.
  • Added Multi-Storage Client integration into ARCO data source
  • Ensemble forecasting with downscaling example

βš™οΈ Changed

  • Updated CBottle data source to mixture of experts models, added additional parameters
    to load_model to align with other cBottle models.
  • Fixed duplicate geo-potential at surface ids in AIFS, IFS data source and orography
    source, orography is denoted by lower case z
  • Updated package caching default to None, which will default to true for remote
    packages and false for local packages
  • Changed IFS to be a forecast data source.
  • InferenceOutputSource can now accept an Xarray Dataset directly as an argument
  • InferenceOutputSource returns data consistently in ("time", "lead_time", "variable")
    order
  • Added support for ERA5 model levels and additional variables in ARCO data source
  • Changed the HRRR_X and HRRR_Y coordinates of the HRRR data source to match the native
    LCC coordinates
  • Updated CorrDiffTaiwan model wrapper to use latest PhysicsNeMo APIs.

⚠️ Deprecated

  • Added depricated warning for IMERG data source. This will be removed in the next
    release.

πŸ”¨ Fixed

  • Fixed typo: InferenceOuputSource renamed to InferenceOutputSource
  • StormCast ensures that conditioning variables are in the correct order
  • NetCDFBackend unit change to ensure timedeltas are correctly decoded by xarray
  • GFS data source for early 2021 dates
  • Updated corrdiff wrapper for newer physicsnemo performance improvements

πŸ“¦ Dependencies

  • Dropped support for Python 3.10
  • Bumped CBottle (and Earth2Grid) versions
  • Capped JAX version, due to numpy 2.0 requirement conflicting with NV PyTorch containers
  • Temp limit globus-sdk for intake-esgf
  • Added multi-storage client into data dependency group

Special thank you to our external contributors:

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 8 months ago

Earth2Studio - v0.9.0

Earth2Studio general release 0.9.0

🚨 Breaking Changes 🚨

  • This is the last release with Python 3.10 support! Please upgrade Python version to at least 3.11 for main branch and future releases.

πŸ“• Changelog

🌎 Added

  • Async Zarr IO backend with non-blocking write calls
  • Different compression codec support in the ZarrBackend with zarr_codecs parameter
  • IO performance example
  • Unified CorrDiff Wrapper
  • Added UV script dependencies to all examples
  • New metrics: Brier score, fractions skill score, log spectral distance, mean absolute error.
  • Option to compute error of ensemble mean in rmse and mae.
  • Added FourCastNet 3 model

βš™οΈ Changed

  • Zarr IO Backend now uncompressed by default
  • Allow HCBV perturbation to handle constant outputs (like land sea mask, or
    geopotential at surface)
  • test/models/dx/test_corrdiff.py is now test/models/dx/test_corrdiff_taiwan.py
  • Updated APIs for optional dependency managment utils with improved error messages
  • Allow Zarr backends to user datetime and timedelta arrays for Zarr 3.0

πŸ”¨ Fixed

  • Incorrect datetime utc timezone calculation in SFNO wrapper was fixed.
  • DLWP output coords lead_time array to have proper shape
  • Fixed data sources using GCFS throwing error at end of script from aiohttp session
    clean up
  • Fixed HRRR_FX valid lead time check for date times not on 6 hour interval
  • Removed time limits for WB2 climatology data source

πŸ“¦ Dependencies

  • Adding rich to core dependencies
  • Updated torch-harmonics to 0.8.0
  • Updated Makani to 0.2.1

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva 11 months ago

Earth2Studio - v0.8.1

Earth2Studio patch release 0.8.1

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

βš™οΈ Changed

  • Updated default StormCast package version to 1.0.2

πŸ”¨ Fixed

  • NGC filesystem from API change in version >=3.158.1 of ngcsdk

πŸ“¦ Dependencies

  • Removed ngcsdk dependency requirement for public NGC packages

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva about 1 year ago

Earth2Studio - v0.8.0

Earth2Studio general release 0.8.0

🚨 Breaking Changes 🚨

  • No notable breaks this release πŸŽ‰

πŸ“• Changelog

🌎 Added

  • Added GraphCast operational model (0.25 degree resolution)
  • Added Graphcast 1 degree model
  • Added SolarRadiationAFNO diagnostic model for predicting surface solar radiation
  • Added DataArrayPathList for reading local data using glob patterns or explicit file lists
  • Added Climate in a Bottle (cBottle) data source
  • Added Climate in a Bottle (cBottle) Infilling diagnostic model
  • Added Climate in a Bottle (cBottle) Super Resolution diagnostic model
  • Added S2S recipe

βš™οΈ Changed

  • In recipes, renamed requirements.txt -> recipe-requirements.txt

πŸ”¨ Fixed

  • Fixed NCAR data source lat / lon labels and cache reads
  • Fixed FuXi tp06 field input to be mm
  • Fixed fsspec async filesystem initialization in data sources
  • Fixed bug in GFS_FX forecast source which had lead time fixed at 0

πŸ“¦ Dependencies

  • Moved NGC SDK to optional dependencies due to it causing slow version resolutions
  • Removing upper Python restriction on Rapids install for TC trackers

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva about 1 year ago

Earth2Studio - v0.7.0

Earth2Studio general release 0.7.0

🚨 Breaking Changes 🚨

  • Many data sources have been completely refactored with new Async functionality, main call APIs remain the same but could impact more advanced use cases
  • WeatherBench2 updated to Zarr 3.0 async only, this data source does not support Zarr 2.0
  • Stormcast coordinates have been updated to HRRR index based coordinates versus lat/lon
  • Curvi-linear grid functionality removed from the Random data source

πŸ“• Changelog

🌎 Added

  • Added AIFS model wrapper with state caching functionality for improved performance
  • Added two cyclone trackers and related utilities
  • Added HENS checkpoint example
  • Added Earth2Studio recipes folder, documentation and template
  • Added DLESyM and DLESyMLatLon atmosphere and ocean prognostic models
  • Added HENS recipe with TC tracking and storm ensembling examples

βš™οΈ Changed

  • Hemispheric centred bred vector perturbation now supports single/odd batch sizes
  • Refactored NCAR ERA5 source to have async structure
  • Refactored GFS and GFS_FX to have async structure
  • Refactored GEFS and GEFS_FX to have async structure
  • Refactored HRRR and HRRR_FX to have async structure
  • Refactored WB2ERA5 and WB2Climatology for async Zarr 3.0
  • Expanded the data source protocol to also include async fetch functions for async data sources
  • Updated StormCast coords to be HRRR index, output coords still provide lat lon
  • Interpolation AFNO model load_model now accepts prognostic model

❌ Removed

  • Removed curvilinear from Random data source

πŸ”¨ Fixed

  • Fixed the asyncio zarr access in the ARCO data source
  • Partially fixed multiple tqdm print outs when using the built in workflows
  • Generalized CorrelatedSphericalGaussian to support input tensors of higher dims

πŸ”’ Security

  • Remove pickle load from Aurora model with direct numpy array loads

πŸ“¦ Dependencies

  • Set default torch version to cuda 12.8

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva about 1 year ago

Earth2Studio - v0.6.0

Earth2Studio general release 0.6.0

🚨 Breaking Changes 🚨

  • PhysicsNeMo and other packages removed from core dependencies. Optional dependencies needed for all models now. See install guide for details
  • UV package manager is used now for development and is the recommended way to interact with Earth2studio. This allows us to give users a better package install experience for the growing number of models Earth2Studio supports

πŸ“• Changelog

🌎 Added

  • Hemispheric centered bred vector perturbation from HENS
  • Add Aurora model to prognostic models
  • Added check_extra_imports util for informative errors when optional dependencies are not installed
  • Added wind gust AFNO diagnostic model
  • Added diagnostic for relative humidity from temperature and specific humidity
  • Added diagnostic for relative humidity from temperature and dew point
  • Added diagnostic for wind speed magnitude
  • Added diagnostic for vapor-pressure deficit
  • Added PrecipitationAFNOv2 model for predicting tp06
  • Added InterpModAFNO model for temporal interpolation of forecasts

πŸ”¨ Fixed

  • WeatherBench2 Climatology data source with Zarr 3.0

πŸ“¦ Dependencies

  • Migrated repo / package to uv package manager
  • Removed physics-nemo, torch harmonics from base packages to enable CPU install
  • Added optional dependency groups for all models
  • Added optional dependency groups for other submodules
  • Added docuementation for build, install and package management for developers
  • Migrated build system to hatch
  • Moved dev and doc optional dependencies to uv dependency groups

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva over 1 year ago

Earth2Studio - v0.5.0

Earth2Studio general release 0.5.0

🚨 Breaking Changes 🚨

  • For Zarr users, newer Zarr 3.0 support removes datetime / timedelta support in the coordinates. Will be fixed in later versions.
  • Modulus package renamed to PhysicsNeMo, dependency updated accordingly

πŸ“• Changelog

🌎 Added

  • Add StormCast model to prognostic models
  • Interpolation between arbitrary lat-lon grids
  • Added hybrid level support to HRRR data source
  • Added NCAR ERA5 data source
  • Added multidim IO support
  • Added forecast data source support to fetch_data
  • Added stormcast deterministic and ensemble examples
  • Added Random_FX as a random forecast data source
  • Added interpolation support to run functions
  • Added fair CRPS metric
  • Added basic coordinate roll support in map_coords

βš™οΈ Changed

  • Switched HRRR data source back to AWS grib
  • Make source an argument for IFS, default of aws
  • Changed CorrDiff output coordinates to actual lat/lon instead of ilat/ilon
  • Changed the NetCDF4Backend to use proleptic gregorian calendar for time
  • Changed the units assigned from the NetCDF4Backend to hours instead of h

πŸ”¨ Fixed

  • Fixed bug in prep_data_array that implicitly assumed order of coordinates
  • Fixed bug in rank_histogram that assumed broadcastable ensemble dimension
  • Fixed spread/skill ratio to actually return spread/skill instead of skill/spread
  • Fixed NGC download APIs and public API fetching for model files
  • Fixed bug when using HRRR datasource in Jupyter notebooks
  • Fixed ARCO for Zarr 3.0 and made proper async running with notebook support
  • Fixed WB2 data source for Zarr 3.0 support
  • Fixed Zarr IO for Zarr 3.0, for Zarr 3.0 datetime and timedeltas stored as int64
  • Fixed CorrDiff and Stormcast for Zarr 3.0 support
  • Fixed examples for Zarr 3.0 support updates

πŸ“¦ Dependencies

  • Updates to multiple dependencies for Python 3.12 support
  • Added StormCast to optional dependencies
  • Update to physicsnemo version 1.0.0
  • Added nest asyncio to data dependencies for async data sources

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva over 1 year ago

Earth2Studio - v0.4.0

Earth2Studio general release 0.4.0

🚨 Breaking Changes 🚨

  • Removed available function from CDS datasource
  • Moved HRRR data source to Zarr datastore on S3, resulting in reduced historical range

πŸ“• Changelog

🌎 Added

  • Added NCEP data store to GFS data source for real-time forecast apps

βš™οΈ Changed

  • Set zarr chunks for lead time to size 1 in examples.
  • Updated HRRR tp to be hourly accumulated (Grib index 090)
  • Added tp to GFS_FX datasource (not supported by GFS)
  • Moved HRRR data source to Zarr datastore on S3

❌ Removed

  • Removed available function from CDS datasource

πŸ”¨ Fixed

  • Fixed caching of data sources to be controlled with EARTH2STUDIO_CACHE env var

πŸ“¦ Dependencies

  • Moving several ECMWF dependencies to optional
  • Adding minimum version for numpy
  • Bump minimum CDS API version for new API
  • Moving unique data packages to optional deps
  • Removed Herbie as dependency

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva over 1 year ago

Earth2Studio - v0.3.0

Earth2Studio general release 0.3.0

🚨 Breaking Changes 🚨

  • Removed tp06 from ARCO, use WB2 instead
  • Updated NetCDF4 constructor API for better control

πŸ“• Change Log

🌎 Added

  • Forecast datasource API
  • GFS forecast datasource
  • GEFS (0.5deg and 0.25deg) forecast datasource
  • HRRR forecast datasource
  • Support for private NGC model packages

βš™οΈ Changed

  • Refactored ARCO datasource to use asyncio
  • Updated NetCDF4 and Zarr IO to take kwargs for root storage objects allowing better control over storage behavior. Breaking changes to NetCDF4 init API
  • Changed the da property to DataSetFile and DataArrayFile to no longer be a property and moved xr_args to object instantiation.
  • Improved map_coords to handle slices and identical coords more efficiently; removed unused ignore_batch argument.

❌ Removed

  • Removed tp06 from ARCO, use WB2 instead

πŸ”¨ Fixed

  • Fixed caching of data sources to be controlled with EARTH2STUDIO_CACHE env var

πŸ“¦ Dependencies

  • Restrict torch_harmonics version to >=0.5.0, <0.7.1
  • Removed specific ONNX version requirement, newer ORT-gpu versions appear to operate fine with CUDA 12

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva almost 2 years ago

Earth2Studio - v0.2.0

Earth2Studio general release 0.2.0

🚨 Breaking Changes 🚨

  • Changed utility function extract_coords to split_coords.
  • Updated perturbation methods API PerturbationMethod -> Perturbation.
  • Change 'input_coords' and 'output_coords' for models from a property to methods 'output_coords' accepts an input coordinates to determine the corresponding outputs.

πŸ“• Change Log

🌎 Added

  • Built in diagnostic workflow
  • Basic diagnostic example
  • Batch dimension userguide
  • Parallel inference example
  • Perturbation method section in userguide
  • WeatherBench Climatology and ERA5 data source
  • Added datasource_to_file utility function
  • Add lagged ensemble perturbation method
  • Add ACC and CRPS metrics
  • Added the ability to reload zarr and netcdf backends
  • Added the ability to read from an IOBackend
  • Add spread/skill ratio
  • Added FuXi weather model
  • Added rank histogram
  • Added reduction_dimensions as required property in statistics and metrics API
  • Added Lexicon and Automodel userguide
  • Added an 'output_coords' method to Statistics and Metrics.
  • Added IMERG data source

βš™οΈ Changed

  • Changed utility function extract_coords to split_coords
  • Batched coordinate arrays now use np.empty(0) instead of np.empty(1)
  • Improving user guide layout and developer documentation
  • Updated perturbation methods API PerturbationMethod -> Perturbation
    These now generate noise and apply it to the input tensor
  • Removed original Perturbation class
  • Updated SFNO coordinates to include optional batch dimension
  • NetCDF reads are now mode='r+' instead of 'w'
  • Change 'input_coords' and 'output_coords' for models from a property to methods 'output_coords' accepts an input coordinates to determine the corresponding outputs
  • Updated Package to use WholeFileCacheFileSystem. Extend package API to open and resolve. Deprecation warning added to get()

πŸ”¨ Fixed

  • Enable version switch in documentation site
  • Longitude coordinates of precip and climatenet diagnostic models
  • Fixed pressure levels of IFS datasource to include all available

πŸ“¦ Dependencies

  • Bump Modulus required version to 0.6.0
  • PyUpgrade pre-commit hook for Python 3.10
  • Removed boto3
  • Added ruamel.yaml, torch-harmonics, tensorly and tensorly-torch as optional deps for SFNO

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva about 2 years ago

Earth2Studio - v0.1.0

Earth2Studio general release 0.1.0

(Initial OSS release)

Climate Change - Earth and Climate Modeling - Python
Published by NickGeneva over 2 years ago