NCEPNCAR_Surface
NCEP/NCAR Reanalysis 1 regridding model — the coupler half of the ncep_ncar loader+regridding-model split (RFC pure-io-data-loaders §6/§7; bead esm-3nc.2, esm-3nc.1 era5 pattern). Exposes 6-hourly pressure-level atmospheric variables (temperature, geopotential height, vertical velocity, horizontal winds) and static surface geopotential on the simulation's target grid.
Description
NCEP/NCAR Reanalysis 1 regridding model — the coupler half of the ncep_ncar loader+regridding-model split (RFC pure-io-data-loaders §6/§7; bead esm-3nc.2, esm-3nc.1 era5 pattern). Exposes 6-hourly pressure-level atmospheric variables (temperature, geopotential height, vertical velocity, horizontal winds) and static surface geopotential on the simulation’s target grid.
Structure (RFC §6): at 0.7.0 it declared two pure-I/O loaders as subsystems — NCEPNCAR_Pressure (./ncep_ncar_pressure_loader.esm, time-varying) and NCEPNCAR_Surface (./ncep_ncar_surface_loader.esm, static); at esm 1.0.0 both files are merged BACK into this one as the data_sources entries NCEPNCAR_Pressure and NCEPNCAR_Surface, keeping the SAME registry names, and their fields are re-exposed as model observeds (T, Z, omega, u, v, Z_sfc). Each merged file’s own metadata is preserved verbatim under its registry entry’s metadata.merged_file_metadata. Native grids are geographic (longlat/WGS84) → longlat identity reprojection (esd-47z.1). Regridding is per-variable (regrid): horizontal winds uwnd/vwnd → B-spline (esd-47z.3); centered scalars air/hgt/omega and the static hgt_sfc → conservative.
Data covers 1948–present at 2.5°×2.5° global resolution with 17 standard pressure levels (10–1000 hPa). Migrated from EarthSciData.jl src/NCEP-NCAR_Reanalysis.jl:224 (NCEPNCARReanalysis, esm-k3bb); split into pure loaders + regridding model by esm-3nc.2.
Reference
Kalnay, E. et al. (1996). The NCEP/NCAR 40-year reanalysis project. Bull. Amer. Meteor. Soc. 77, 437–471.
Data source
| Kind | static |
| URL template | https://downloads.psl.noaa.gov/Datasets/ncep.reanalysis/surface/{var}.sfc.nc |
Raw .esm
Raw .esm JSON (this component)
{
"kind": "static",
"source": {
"url_template": "https://downloads.psl.noaa.gov/Datasets/ncep.reanalysis/surface/{var}.sfc.nc"
},
"reference": {
"citation": "Kalnay, E. et al. (1996). The NCEP/NCAR 40-year reanalysis project. Bull. Amer. Meteor. Soc. 77, 437–471.",
"url": "https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html"
},
"metadata": {
"tags": [
"meteorology",
"static",
"surface",
"geopotential",
"ncep",
"ncar"
],
"earthscidata_source": "src/NCEP-NCAR_Reanalysis.jl::NCEPNCARReanalysisFileSet (surface variables)",
"native_resolution_deg": {
"longitude": 2.5,
"latitude": 2.5
},
"native_extent": {
"longitude": [
-180.0,
180.0
],
"latitude": [
-90.0,
90.0
]
},
"regridding_provenance": "Former co-located data_loaders.regridding block (fill_value=0.0, extrapolation=clamp) removed in the 0.6.0 hard break; at 0.7.0 regridding became a per-variable model `regrid` map; 0.8.0 removed that too — the kernel is now a coupling expression (esm-spec §8.6), and ncep_ncar.esm keeps the per-variable choice verbatim in Model.reference.notes.",
"cadence_note": "No `temporal` block (kind: static) → CONST cadence (ess-v9a.5): the static surface geopotential is folded once at bind.",
"native_grid_family": "cartesian",
"native_crs_epsg": "EPSG:4326 (geographic longlat / WGS84). At esm 0.8.0 the crs is documentation only — a data source no longer carries a `grid`/crs descriptor; the longlat identity reprojection is applied at the coupling edge via ESD reprojection/longlat.esm (esd-47z.1).",
"native_crs_descriptor": {
"projection": "longlat",
"datum": "WGS84"
},
"native_dimensions": [
"lon",
"lat"
],
"native_dimension_extents": {
"lon": {
"n": 144,
"spacing": "uniform"
},
"lat": {
"n": 72,
"spacing": "uniform"
}
},
"native_staggering": "Not stated by the former `grid` block, which recorded family/crs/dimensions/extents only — no staggering field was ever serialized for this source, so none is asserted here. The only staggering-adjacent statement in the corpus is ncep_ncar.esm's demoted `regrid` map, which describes air/hgt/omega/hgt_sfc as centered scalars carried by a conservative kernel and uwnd/vwnd as horizontal winds carried by a B-spline kernel. At esm 0.8.0 that kernel choice is a coupling expression, not a model `regrid` block.",
"native_grid_description": "Native NCEP/NCAR Reanalysis 1 grid: regular global 2.5°×2.5° longitude/latitude lattice (single static surface level). Geographic (unprojected) longlat/WGS84 crs — the regridding model applies the longlat IDENTITY reprojection (ESD reprojection/longlat.esm, esd-47z.1). Migrated from the loader's former DataLoaderSpatial block (RFC pure-io-data-loaders §4.1). Documented native geometry: lon ∈ [-180°,180°] (144 cells, 2.5°), lat ∈ [-90°,90°] (72 cells, 2.5°).",
"migration_note": "esm 0.7.0 -> 0.8.0: removed the `grid` block (family/crs/dimensions/extents/description), which no schema at or after 0.8.0 permits — 0.8.0 deleted the native-grid descriptor outright (esm-spec §8.4; the 1.0.0 DataSource is additionalProperties:false over {kind, source, temporal, determinism, reader_options, select, record_filter, extent, reference, metadata}, with no `grid` key). Nothing was dropped: `family` → native_grid_family; `crs` → native_crs_epsg + native_crs_descriptor (verbatim); `dimensions` → native_dimensions; `extents` (per-dimension cell count + spacing) → native_dimension_extents; `description` → native_grid_description (verbatim). Native grid geometry is now ordinary data — a source exposes its coordinates/connectivity/metric arrays as ordinary `file_variable`s bound to consuming parameters, and reprojection/regridding are ordinary `aggregate` coupling expressions (esm-spec §8.6), not a loader `grid` or a model `regrid` block. No other field changed.",
"merged_from": "components/earthsci_data/ncep_ncar_surface_loader.esm",
"merge_note": "Merged from the standalone pure-I/O file components/earthsci_data/ncep_ncar_surface_loader.esm, which is deleted by the same commit. The 0.x `X.esm` + `X_loader.esm` split existed only because a loader was a COMPONENT and a {\"ref\"} target had to contain exactly one component. At esm 1.0.0 a data source is NOT a component, not a coupling endpoint and not a scoped-name path root, and `data_sources` no longer counts toward a file's top-level system count — so one file may hold a model AND the data_sources that model consumes and still be mountable by {\"ref\"}. This registry entry is byte-identical to the one the deleted file declared (it was already mirrored here so this document would validate), and the deleted file's own top-level metadata — name, description, tags, created, authors, references — is preserved verbatim in `merged_file_metadata` so no provenance, citation or migration note is lost.",
"merged_file_metadata": {
"name": "NCEPNCAR_Surface_loader",
"description": "Pure-I/O data loader for the NCEP/NCAR Reanalysis 1 static surface geopotential height (hgt.sfc.nc) on the native 2.5°×2.5° global longitude/latitude grid, from NOAA PSL.\n\nThis is the static loader half of the ncep_ncar loader+regridding-model split (RFC pure-io-data-loaders §4.1/§7; bead esm-3nc.2). It is PURE I/O with NO `temporal` block (kind: static) → CONST cadence (ess-v9a.5): the surface geopotential does not vary in time and is folded once at bind. It performs NO reprojection and NO regridding — those are per-variable concerns of the regridding model (components/earthsci_data/ncep_ncar.esm), which references this file as the subsystem NCEPNCAR_Surface via {\"ref\": \"./ncep_ncar_surface_loader.esm\"}.\n\nIt declares NO grid: esm 0.8.0 removed the loader `grid`/GDD-Grid descriptor outright, so the native 2.5°×2.5° longlat/WGS84 lattice is recorded as documentation in the data source's metadata and is materialized downstream by `aggregate` coupling expressions. The removed co-located blocks: the old DataLoaderSpatial block became the GDD `grid` at 0.7.0 and, at 0.8.0, metadata documentation (see metadata.migration_note on the data source); the old per-loader `regridding` block is gone, and so is the model-level `regrid` map — at 0.8.0 the conservative/centered kernel for hgt_sfc is a coupling expression, and ncep_ncar.esm keeps that choice verbatim in Model.reference.notes.\n\nMigrated from EarthSciData.jl src/NCEP-NCAR_Reanalysis.jl (NCEPNCARReanalysisFileSet, surface variables). Split out of the pre-migration components/earthsci_data/ncep_ncar.esm (esm-k3bb).",
"tags": [
"earthsci_data",
"meteorology",
"reanalysis",
"ncep",
"ncar",
"surface",
"static",
"data_loader",
"pure-io",
"longlat"
],
"created": "2026-06-25T00:00:00Z",
"authors": [
"NOAA NCEP",
"NCAR",
"EarthSciModels migration (esm-3nc.2)"
],
"references": [
{
"citation": "Kalnay, E., Kanamitsu, M., Kistler, R., Collins, W., Deaven, D., Gandin, L., Iredell, M., Saha, S., White, G., Woollen, J., Zhu, Y., Leetmaa, A., Reynolds, R., Chelliah, M., Ebisuzaki, W., Higgins, W., Janowiak, J., Mo, K. C., Ropelewski, C., Wang, J., Jenne, R., Joseph, D. (1996). The NCEP/NCAR 40-year reanalysis project. Bulletin of the American Meteorological Society, 77(3), 437–471.",
"url": "https://psl.noaa.gov/data/gridded/data.ncep.reanalysis.html",
"doi": "10.1175/1520-0477(1996)077<0437:TNYRP>2.0.CO;2"
},
{
"citation": "Source: EarthSciData.jl src/NCEP-NCAR_Reanalysis.jl:4-66 (NCEPNCARReanalysisFileSet), :72-79 (relpath), :224 (NCEPNCARReanalysis constructor). Test: test/NCEP-NCAR_Reanalysis_test.jl."
}
]
}
}
}