EarthSciData.CEDSFileSetType

CEDS (Community Emissions Data System) gridded emissions data.

Data is from the CEDS-CMIP release, providing global monthly anthropogenic emissions at 0.5° × 0.5° resolution. Each file contains one species and has dimensions (time, sector, lat, lon) with units kg m⁻² s⁻¹.

Reference: Hoesly et al., 2018, https://doi.org/10.5194/gmd-11-369-2018

species specifies which emission species to load (e.g., "SO2"). sectors is an optional vector of sector indices (0-7) to include; nothing means sum all sectors (default).

source
EarthSciData.DataFrequencyInfoType

Information about the temporal frequency of archived data.

  • start: Beginning of time of the time series.

  • frequency: Interval between each record.

  • centerpoints: Time representing the temporal center of each record.

source
EarthSciData.DataSetInterpolatorType

DataSetInterpolators are used to interpolate data from a FileSet to represent a given time and location. Data is loaded (and downloaded) lazily, so the first time you use it on a for a given dataset and time period it may take a while to load. Each time step is downloaded and loaded as it is needed during the simulation and cached on the hard drive at the path specified by the \$EARTHSCIDATADIR environment variable, or in a scratch directory if that environment variable has not been specified. The interpolator will also cache data in memory representing the data records for the times immediately before and after the current time step.

varname is the name of the variable to interpolate. default_time is the time to use when initializing the interpolator. spatial_ref is the spatial reference system that the simulation will be using. stream specifies whether the data should be streamed in as needed or loaded all at once.

source
EarthSciData.EDGARv81MonthlyEmisFileSetType

EDGAR v8.1 monthly air pollutant emissions data. Global 0.1°×0.1° gridded flux data for 2000-2022.

Substances: BC, CO, NH3, NMVOC, NOx, OC, PM10, PM2.5, SO2

Available from: https://edgar.jrc.ec.europa.eu/dataset_ap81

source
EarthSciData.ERA5PressureLevelFileSetType

A FileSet for ERA5 reanalysis data on pressure levels from the Copernicus Climate Data Store (CDS).

Data is retrieved via the CDS API (requires an API key in ~/.cdsapirc or ENV["CDSAPI_KEY"]) or from pre-downloaded local files (set mirror to "file:///path/to/data").

For local files, the expected directory structure is: {path}/era5_pl_{YYYY}_{MM}.nc where each file contains all variables for one month.

source
EarthSciData.FileSetType

An interface for types describing a dataset, potentially comprised of multiple files.

To satisfy this interface, a type must implement the following methods:

  • mirror(::FileSet) (Return the base URL or path for the dataset)
  • relpath(::FileSet, ::DateTime, [varname]) (varname is optional, for per-variable file datasets)
  • url(::FileSet, ::DateTime, [varname])
  • localpath(::FileSet, t::DateTime, [varname])
  • DataFrequencyInfo(::FileSet)::DataFrequencyInfo
  • loadmetadata(::FileSet, varname)::MetaData
  • loadslice!(cache::AbstractArray, ::FileSet, ::DateTime, varname)
  • varnames(::FileSet)
  • get_geometry(::FileSet, ::MetaData) (Returns the geometry of the data)
source
EarthSciData.GEOSFPFileSetType

GEOS-FP data as archived for use with GEOS-Chem classic.

Domain options (as of 2022-01-30):

  • 4x5
  • 0.125x0.15625_AS
  • 0.125x0.15625_EU
  • 0.125x0.15625_NA
  • 0.25x0.3125
  • 0.25x0.3125_AF
  • 0.25x0.3125_AS
  • 0.25x0.3125_CH
  • 0.25x0.3125_EU
  • 0.25x0.3125_ME
  • 0.25x0.3125_NA
  • 0.25x0.3125_OC
  • 0.25x0.3125_RU
  • 0.25x0.3125_SA
  • 0.5x0.625
  • 0.5x0.625_AS
  • 0.5x0.625_CH
  • 0.5x0.625_EU
  • 0.5x0.625_NA
  • 2x2.5
  • 4x5
  • C180
  • C720
  • NATIVE
  • c720

Possible filetypes are:

  • :A1
  • :A3cld
  • :A3dyn
  • :A3mstC
  • :A3mstE
  • :I3

See http://geoschemdata.wustl.edu/ExtData/ for current options.

source
EarthSciData.GridSpecType

A lightweight specification of a model grid, providing an alternative to EarthSciMLBase.DomainInfo for use cases that don't require ModelingToolkit integration.

  • coords: Coordinate ranges for each spatial dimension, ordered (x, y, [z]).

  • spatial_ref: The spatial reference system, e.g. "+proj=longlat +datum=WGS84 +no_defs".

source
EarthSciData.LANDFIREFileSetType

A FileSet for LANDFIRE (Landscape Fire and Resource Management Planning Tools) fuel model data, providing Anderson 13 or Scott & Burgan 40 fire behavior fuel model classifications at 30m resolution over the contiguous United States.

Data is downloaded from the LANDFIRE ImageServer REST API as GeoTIFF files. This is a static (time-invariant) dataset.

The pixel values are integer fuel model codes (e.g. 1–13 for Anderson 13, or 91=urban/developed, 92=snow/ice, 93=agriculture, 98=water, 99=barren).

See https://landfire.gov/ for more information.

source
EarthSciData.LANDFIREFileSetMethod
LANDFIREFileSet(domaininfo; product, version, resolution)

Create a LANDFIREFileSet covering the spatial extent of the given domain.

Arguments

  • domaininfo: A DomainInfo or GridSpec providing the spatial domain.
  • product: LANDFIRE product name (default "FBFM13" for Anderson 13 fuel models; use "FBFM40" for Scott & Burgan 40 fuel models).
  • version: LANDFIRE version (default "LF2022").
  • resolution: Target resolution in arc-seconds (default 1.0 ≈ 30m). Note: the LANDFIRE ImageServer limits requests to 4000×4000 pixels. For large domains at fine resolution, the image will be silently downsampled.
source
EarthSciData.MetaDataType

Information about a data array.

  • coords: The locations associated with each data point in the array.

  • unit_str: Physical units of the data, e.g. m s⁻¹.

  • description: Description of the data.

  • dimnames: Dimensions of the data, e.g. (lat, lon, layer).

  • varsize: Dimension sizes of the data, e.g. (180, 360, 30).

  • native_sr: The spatial reference system of the data, e.g. "+proj=longlat +datum=WGS84 +no_defs" for lat-lon data.

  • xdim: The index number of the x-dimension (e.g. longitude)

  • ydim: The index number of the y-dimension (e.g. latitude)

  • zdim: The index number of the z-dimension (e.g. vertical level)

  • staggering: Grid staggering for each dimension. (true=edge-aligned, false=center-aligned)

source
EarthSciData.NetCDFOutputterType

Create an EarthSciMLBase.Operator to write simulation output to a NetCDF file.

  • filepath::String: The path of the NetCDF file to write to

  • file::Any: The netcdf dataset

  • vars::Any: The netcdf variables corresponding to the state variables

  • tvar::Any: The netcdf variable for time

  • h::Int64: Current time index for writing

  • time_interval::AbstractFloat: Simulation time interval (in seconds) at which to write to disk

  • extra_vars::AbstractVector: Extra observed variables to write to disk

  • extra_var_fs::AbstractVector: Functions to get the extra vars

  • grid::Any: Spatial grid specification

  • dtype::Any: Data type of the output

  • tref::Any: Reference time for the simulation, used to convert to Unix time

source
EarthSciData.OpenAQFileSetType

A FileSet for OpenAQ air quality monitoring data.

Data is sourced from the OpenAQ AWS S3 archive (gzip-compressed CSV files). Station locations within the model domain are discovered via the OpenAQ API and cached locally. Measurement data is downloaded from S3 (no API key needed for data download).

Point observations from monitoring stations are mapped to model grid cells by averaging all stations that fall within each cell. Grid cells with no stations receive a configurable fill value (default NaN).

The station_filter function can be used to filter stations, e.g. by name or ID. It should accept an OpenAQStation and return true to include the station.

source
EarthSciData.OpenAQFileSetMethod
OpenAQFileSet(
    parameter,
    starttime,
    endtime,
    bbox;
    grid_lon_edges,
    grid_lat_edges,
    api_key,
    station_filter,
    fill_value
)

Construct an OpenAQFileSet for the given parameter and time range.

parameter is the OpenAQ parameter name (e.g. "pm25", "o3", "no2").

bbox is a named tuple (lon_min, lat_min, lon_max, lat_max) in degrees specifying the bounding box for station discovery.

api_key is the OpenAQ API key. Defaults to ENV["OPENAQ_API_KEY"].

station_filter is an optional function f(::OpenAQStation) -> Bool to filter stations. Note: station coordinates (lon, lat) are in radians when the filter is applied.

fill_value is used for grid cells with no stations (default 0.0).

source
EarthSciData.OpenAQStationType

Information about an OpenAQ monitoring station.

  • id: OpenAQ location ID

  • name: Station name

  • lon: Longitude in radians

  • lat: Latitude in radians

source
EarthSciData.TemporalCacheType

Cache for time-varying interpolation state within a DataSetInterpolator.

  • data: The actual data array, with the last dimension being time.

  • interp_cache: Buffer used for interpolation.

  • load_cache: Buffer that data is read into from file (separate from data for async loading).

  • itp: The interpolation object.

  • times: Timestamps corresponding to each time index in data.

  • currenttime: The current time that the interpolator has been loaded for.

  • loadtask: Async task for loading the next time step.

  • initialized: Whether the cache has been initialized with real data.

source
EarthSciData.USGS3DEPFileSetType

A FileSet for USGS 3D Elevation Program (3DEP) data, providing terrain elevation at approximately 1/3 arc-second (~10m) resolution over the United States.

Data is downloaded from the USGS National Map ImageServer REST API as GeoTIFF files and read with TiffImages.jl. Because we control the request parameters (bounding box, output CRS, and pixel dimensions), the coordinates are computed directly from the request rather than from GeoTIFF metadata tags.

This is a static (time-invariant) dataset.

See https://elevation.nationalmap.gov/ for more information.

source
EarthSciData.USGS3DEPFileSetMethod
USGS3DEPFileSet(domaininfo; resolution)

Create a USGS3DEPFileSet covering the spatial extent of the given domain.

US coverage only

3DEP provides elevation data for the United States (CONUS, Alaska, Hawaii, and US territories). Requests for domains outside this coverage will return nodata values.

Arguments

  • domaininfo: A DomainInfo or GridSpec providing the spatial domain.
  • resolution: Target resolution in arc-seconds (default 1/3 ≈ 10m). The pixel count is capped at 4000×4000 to avoid excessive download sizes.
source
EarthSciData.USGS3DEPSlopeFileSetType

A FileSet that computes terrain slope from USGS 3DEP elevation data.

Wraps a USGS3DEPFileSet and computes the dimensionless elevation gradient in either the x (east) or y (north) direction using central finite differences on the elevation grid, with coordinate conversion from lon/lat to metric distances.

The component field selects which gradient to compute: :dzdx or :dzdy.

source
Base.closeMethod

Close resources associated with a DataSetInterpolator, including the underlying FileSet.

source
Base.closeMethod

Close resources associated with a FileSet. Default is a no-op. Concrete subtypes with open file handles should override this.

source
EarthSciData.CEDSMethod
CEDS(
    domaininfo;
    species,
    sectors,
    mirror,
    version,
    data_version,
    name,
    stream
)

A data loader for CEDS (Community Emissions Data System) global gridded anthropogenic emissions.

CEDS provides monthly emissions at 0.5° × 0.5° resolution from 1750 to 2023 in units of kg m⁻² s⁻¹, with 8 anthropogenic sectors.

Reference: Hoesly et al., 2018, https://doi.org/10.5194/gmd-11-369-2018

Available species: BC, CH4, CO, CO2, N2O, NH3, NMVOC, NOx, OC, SO2.

Sectors (0-7): 0: Agriculture; 1: Energy; 2: Industrial; 3: Transportation; 4: Residential, Commercial, Other; 5: Solvents production and application; 6: Waste; 7: International Shipping.

Keyword Arguments

  • species: Vector of species to load. Default is all: ["BC", "CH4", "CO", "CO2", "N2O", "NH3", "NMVOC", "NOx", "OC", "SO2"].
  • sectors: Vector of sector indices (0-7) to include, or nothing for all (default).
  • mirror: Base URL for data download. Default is the ORNL ESGF THREDDS server.
  • version: CEDS source version. Default is "CEDS-CMIP-2025-04-18".
  • data_version: Data version string. Default is "v20250421".
  • name: System name. Default is :CEDS.
  • stream: Whether to stream data on demand. Default is true.
source
EarthSciData.EDGARv81MonthlyEmisMethod
EDGARv81MonthlyEmis(
    substance,
    sector,
    domaininfo;
    scale,
    name,
    stream
)

A data loader for EDGAR v8.1 monthly global air pollutant emissions data at 0.1°×0.1° resolution. Data spans 2000-2022 and is available from: https://edgar.jrc.ec.europa.eu/dataset_ap81

substance is the pollutant name (one of: BC, CO, NH3, NMVOC, NOx, OC, PM10, PM2.5, SO2).

sector is the emission sector (e.g. "POWER_INDUSTRY", "TRANSPORT", "AGRICULTURE", etc.).

domaininfo should specify lon, lat, and lev coordinate variables.

scale is a scaling factor to apply to the emissions data.

stream specifies whether the data should be streamed in as needed or loaded all at once.

Note: emissions are applied only at the surface level (lev < 2) and converted from flux (kg m⁻² s⁻¹) to volumetric rate (kg m⁻³ s⁻¹) by dividing by the first-layer height Δz.

source
EarthSciData.ERA5Method
ERA5(domaininfo; name, mirror, variables, stream)

A data loader for ERA5 reanalysis data on pressure levels from the Copernicus Climate Data Store (CDS).

ERA5 is the fifth generation ECMWF atmospheric reanalysis of the global climate, covering 1940 to present with hourly temporal resolution and 0.25deg x 0.25deg spatial resolution on 37 pressure levels.

Authentication: Requires a CDS API key. Either:

  • Set ENV["CDSAPI_KEY"]
  • Create ~/.cdsapirc with url: https://cds.climate.copernicus.eu/api and key: <your-key>

Pre-downloaded data: Pass mirror="file:///path/to/data" to use local NetCDF files. Expected filenames: era5_pl_YYYY_MM.nc containing all variables for that month.

Available variables (all on pressure levels): temperature, u/v wind, vertical velocity, specific/relative humidity, geopotential, divergence, vorticity, ozone, cloud fractions, potential vorticity.

The native data type for this dataset is Float32.

stream specifies whether the data should be streamed in as needed or loaded all at once.

source
EarthSciData.GEOSFPMethod
GEOSFP(domain, domaininfo; name, stream)

A data loader for GEOS-FP data as archived for use with GEOS-Chem classic.

Domain options (as of 2022-01-30):

  • 4x5
  • 0.125x0.15625_AS
  • 0.125x0.15625_EU
  • 0.125x0.15625_NA
  • 0.25x0.3125
  • 0.25x0.3125_AF
  • 0.25x0.3125_AS
  • 0.25x0.3125_CH
  • 0.25x0.3125_EU
  • 0.25x0.3125_ME
  • 0.25x0.3125_NA
  • 0.25x0.3125_OC
  • 0.25x0.3125_RU
  • 0.25x0.3125_SA
  • 0.5x0.625
  • 0.5x0.625_AS
  • 0.5x0.625_CH
  • 0.5x0.625_EU
  • 0.5x0.625_NA
  • 2x2.5
  • 4x5
  • C180
  • C720
  • NATIVE
  • c720

The native data type for this dataset is Float32.

stream specifies whether the data should be streamed in as needed or loaded all at once.

See http://geoschemdata.wustl.edu/ExtData/ for current data domain options.

source
EarthSciData.LANDFIREMethod
LANDFIRE(
    domaininfo;
    name,
    product,
    version,
    resolution,
    stream
)

Create a ModelingToolkit System that provides fuel model data from LANDFIRE.

The system exposes a single variable fuel_model (dimensionless) interpolated to the simulation coordinates using nearest-neighbour interpolation (appropriate for categorical data).

Arguments

  • domaininfo: A DomainInfo specifying the spatial and temporal domain.
  • name: System name (default :LANDFIRE).
  • product: LANDFIRE product (default "FBFM13" for Anderson 13 fuel models).
  • version: LANDFIRE version (default "LF2022").
  • resolution: Target resolution in arc-seconds (default 1.0 ≈ 30m).
  • stream: Whether to stream data lazily (default true).

Example

using EarthSciData, EarthSciMLBase, ModelingToolkit, Dates
domain = DomainInfo(
    DateTime(2018, 11, 8), DateTime(2018, 11, 9);
    lonrange = deg2rad(-121.7):deg2rad(0.01):deg2rad(-121.5),
    latrange = deg2rad(39.7):deg2rad(0.01):deg2rad(39.8),
    levrange = 1:1
)
fuel = LANDFIRE(domain)
source
EarthSciData.NEI2016MonthlyEmisMethod
NEI2016MonthlyEmis(sector, domaininfo; scale, name, stream)

A data loader for CMAQ-formatted monthly US National Emissions Inventory data for year 2016, available from: https://gaftp.epa.gov/Air/emismod/2016/v1/gridded/monthly_netCDF/. The emissions here are monthly averages, so there is no information about diurnal variation etc.

The emissions are returned as mixing ratios in units of kg/kg/s by converting from the native flux density (kg/m²/s) using:

mixing_ratio = flux / (g0_100 * delp_dry_surface)

where g0100 ≈ 10.197 kg/m² and delpdry_surface is the dry pressure thickness (physically unit in hPa, but here is unitless) that varies spatially across the domain.

scale is a scaling factor to apply to the emissions data. The default value is 1.0.

stream specifies whether the data should be streamed in as needed or loaded all at once.

Conservative regridding (via ConservativeRegridding.jl) is used by default to map emissions from the native NEI Lambert Conformal Conic grid to the simulation domain grid, preserving total emissions mass.

source
EarthSciData.OpenAQMethod
OpenAQ(
    parameter,
    domaininfo;
    api_key,
    station_filter,
    fill_value,
    name,
    stream
)

Create a ModelingToolkit System that provides interpolated OpenAQ air quality observations for the given parameter.

parameter is the OpenAQ parameter name (e.g. "pm25", "o3", "no2").

domaininfo is a DomainInfo specifying the model domain and time span.

api_key defaults to ENV["OPENAQ_API_KEY"].

station_filter is a function f(::OpenAQStation) -> Bool to filter stations.

fill_value is used for grid cells with no stations (default 0.0).

stream specifies whether data should be streamed or loaded all at once.

source
EarthSciData.USGS3DEPMethod
USGS3DEP(domaininfo; name, resolution, stream)

Create a ModelingToolkit System that provides terrain elevation and slope data from the USGS 3D Elevation Program (3DEP).

The system exposes three variables interpolated to the simulation coordinates:

  • elevation (m): terrain elevation above sea level
  • dzdx (dimensionless): terrain slope in the x (east) direction (rise/run)
  • dzdy (dimensionless): terrain slope in the y (north) direction (rise/run)

Slopes are computed from the elevation grid using central finite differences with coordinate conversion from lon/lat to metric distances.

The domain may use any coordinate reference system (lon-lat, UTM, Lambert Conformal Conic, etc.). The domain bounding box is automatically reprojected to WGS84 for the USGS API request, and coordinate transforms between the domain CRS and the data's native lon-lat grid are handled by the interpolation infrastructure.

Note that 3DEP coverage is limited to the United States (CONUS, Alaska, Hawaii, and US territories).

Arguments

  • domaininfo: A DomainInfo specifying the spatial and temporal domain.
  • name: System name (default :USGS3DEP).
  • resolution: Target resolution in arc-seconds (default 1/3 ≈ 10m).
  • stream: Whether to stream data lazily (default true).

Example

using EarthSciData, EarthSciMLBase, ModelingToolkit, Dates
domain = DomainInfo(
    DateTime(2018, 11, 8), DateTime(2018, 11, 9);
    lonrange = deg2rad(-121.7):deg2rad(0.01):deg2rad(-121.5),
    latrange = deg2rad(39.7):deg2rad(0.01):deg2rad(39.8),
    levrange = 1:1,
)
elev = USGS3DEP(domain)
source
EarthSciData._domain_bbox_wgs84Method

Compute the WGS84 bounding box (west, south, east, north) in degrees for the given domain, handling arbitrary projections.

For longlat domains the grid extrema are converted from radians to degrees. For projected domains (e.g. LCC) every point along the four edges of the domain rectangle is transformed to WGS84 and the envelope is returned.

source
EarthSciData._load_station_dayMethod

Load and cache parsed rows for a station's daily CSV file, filtered to the FileSet's parameter. Returns a vector of (datetime_utc, value) tuples. The cache is scoped to the OpenAQFileSet instance and protected by a lock.

source
EarthSciData._match_domain_coordsMethod

Map data dimension names to domain coordinate variables.

For lon-lat domains the mapping is direct (lon→lon, lat→lat). For projected domains where the domain has x and y variables, lon maps to x and lat maps to y. The coordinate transform between the domain CRS and the data CRS is handled by coord_trans inside DataSetInterpolator.

Accepts both String and Symbol dimension names.

source
EarthSciData._nearest_interpolate_from!Method

Nearest-neighbour version of interpolate_from!, suitable for categorical (integer-valued) data such as fuel model codes. Uses BSpline(Constant()) instead of BSpline(Linear()).

source
EarthSciData._parse_openaq_datetimeMethod

Parse an OpenAQ datetime string, converting timezone offsets to UTC. Supports formats: "2024-01-15T12:00:00+00:00", "2024-01-15T12:00:00Z", "2024-01-15T12:00:00".

source
EarthSciData._read_station_hourMethod

Read measurements for a single station for a single hour. Returns (total, count) for computing an average. Uses cached daily data to avoid repeated decompression.

source
EarthSciData.cds_retrieveMethod
cds_retrieve(dataset, request, output_path; api_key)

Submit a CDS API request, wait for completion, and download the result. Returns the local file path.

source
EarthSciData.cds_submitMethod
cds_submit(dataset, request; api_key)

Submit a CDS API retrieve request and return the job ID. dataset is the CDS dataset identifier (e.g. "reanalysis-era5-pressure-levels"). request is a Dict with the request parameters.

source
EarthSciData.cds_waitMethod
cds_wait(job_id; api_key, poll_interval, timeout)

Poll a CDS API job until completion. Returns the download URL.

source
EarthSciData.create_interp_equationMethod
create_interp_equation(
    itp,
    filename,
    t,
    t_ref,
    coords;
    wrapper_f
)

Create an equation that interpolates the given dataset at the given time and location. filename is an identifier for the dataset, and t is the time variable. wrapper_f can specify a function to wrap the interpolated value, for example eq -> eq / 2 to divide the interpolated value by 2.

source
EarthSciData.data2vecormatMethod

Convert an N-D array to a 2-D matrix with where the horizontal dimensions are rows and the vertical dimension is the columns. If the input is 2-D, it is converted to a vector.

source
EarthSciData.dayofweek_itp_COMethod
dayofweek_itp_CO(t, lon)

Day of week interpolation function that returns the scale factor for a given time. Returns different emission scaling factors based on the day of week.

source
EarthSciData.delp_dry_surface_itpMethod
delp_dry_surface_itp(lon, lat)

Interpolate the delpdrysurface field at a given longitude and latitude. Returns the dry pressure thickness value in Pa.

source
EarthSciData.discover_stationsMethod
discover_stations(parameter, bbox, api_key, station_filter)

Discover OpenAQ stations within the given bounding box for the specified parameter. Uses the OpenAQ v3 API with pagination. Results are cached locally. bbox values are in degrees.

source
EarthSciData.diurnal_itpMethod
diurnal_itp(t, lon)

Diurnal interpolation function that returns the scale factor for a given time. Returns different emission scaling factors based on the hour of day.

source
EarthSciData.interpMethod
interp(itp, t, locs)

Return the value of the given variable from the given dataset at the given time and location.

source
EarthSciData.knots2rangeFunction

Convert a vector of evenly spaced grid points to a range. The reltol parameter specifies the relative tolerance for the grid spacing, which is necessary to account for different numbers of days in each month and things like that.

source
EarthSciData.loadslice!Method
loadslice!(data, fs, t, varname)

Load a time slice from the CEDS dataset, summing across sectors (or filtering by selected sectors). The result is a 2D (lat, lon) array in kg m⁻² s⁻¹.

source
EarthSciData.loadslice!Method
loadslice!(data, fs, t, varname)

Load the NEI data for the given variable name at the given time. This loads data in kg/s/m^2 units on the NEI source grid for regridding.

source
EarthSciData.loadslice!Method
loadslice!(data, fs, t, varname)

Load OpenAQ measurement data for the given time into data. Data is binned onto the grid by averaging all stations within each cell.

source
EarthSciData.localpathFunction
localpath(fs, t)
localpath(fs, t, varname)

Return the local path for the file for the given DateTime. An optional varname can be provided for datasets with per-variable files.

source
EarthSciData.localpathFunction
localpath(fs, t)
localpath(fs, t, varname)

Local cache path for CEDS data files, using a short directory structure to avoid exceeding Windows' 260-character MAX_PATH limit.

source
EarthSciData.maybedownloadFunction
maybedownload(fs, t)
maybedownload(fs, t, varname)

Check if the specified file exists locally. If not, download it. An optional varname can be provided for datasets with per-variable files.

source
EarthSciData.partialderivatives_δPδlev_era5Method
partialderivatives_δPδlev_era5(; default_lev)

Return a function to calculate coefficients to multiply the δ(u)/δ(lev) partial derivative operator by to convert from δ(u)/δ(lev) to δ(u)/δ(P), i.e. from vertical level index to pressure in Pa.

Usage (mirrors the GEOSFP pattern):

era5 = ERA5(domain; ...)
domain2 = EarthSciMLBase.add_partial_derivative_func(
    domain,
    partialderivatives_δPδlev_era5(),
)
composed = couple(sys, domain2, Advection(), era5)
source
EarthSciData.partialderivatives_δPδlev_geosfpMethod
partialderivatives_δPδlev_geosfp(geosfp; default_lev)

Return a function to calculate coefficients to multiply the δ(u)/δ(lev) partial derivative operator by to convert a variable named u from δ(u)/δ(lev)toδ(u)/δ(P), i.e. from vertical level number to pressure in hPa. The return format iscoordinateindex => conversionfactor`.

source
EarthSciData.regridderMethod

Create a regridding function for the given file set, metadata, and domain. If any dimensions are staggered, use interpolation; otherwise, use conservative regridding. extrapolate_type specifies the extrapolation method for interpolation; it is only used when interpolation is selected.

source
EarthSciData.relpathMethod
relpath(fs, t)

File path on the server relative to the mirror root; also used for local caching. The t parameter determines which 50-year chunk file to select.

source
EarthSciData.relpathMethod
relpath(fs, t)

File path on the server relative to the host root. For EDGAR, this returns the zip file path (all times are in one archive).

source
EarthSciData.relpathMethod

Default 3-argument relpath falls back to the 2-argument version, ignoring varname. Subtypes with per-variable files should override this.

source
EarthSciData.relpathMethod
relpath(fs, t)

File path on the server relative to the host root; also path on local disk relative to ENV["EARTHSCIDATADIR"] (or a scratch directory if that environment variable is not set).

source
EarthSciData.relpathMethod
relpath(fs, t)

File path on the server relative to the host root; also path on local disk relative to ENV["EARTHSCIDATADIR"].

source
EarthSciData.urlFunction
url(fs, t)
url(fs, t, varname)

Return the URL for the file for the given DateTime. An optional varname can be provided for datasets with per-variable files.

source
EarthSciData.verify_fileset_interfaceMethod
verify_fileset_interface(_)

Check that type T implements all required FileSet interface methods. Throws an error listing any missing methods. This is an opt-in check intended for use when implementing a new FileSet subtype.

Example

struct MyFileSet <: EarthSciData.FileSet ... end
# After defining all methods:
EarthSciData.verify_fileset_interface(MyFileSet)
source