{"schema_version":"1.0","audience":"automated agents and LLMs accessing this Zarr store","domain":"atmosphere","access":{"open":"xarray.open_zarr(store, group=\"<STATION_ID>\", consolidated=True)","layout":"per-station groups — each top-level group (not starting with '_') is one AGAGE station (lower-case site code: mhd, cgo, smo, ...). Inside a group every species is 1-D along its OWN time axis time_<species> (e.g. cfc-11 on time_cfc-11), because the species are measured by different instruments at different cadences. There is NO dense (station x time) combined view, by design.","combined_view":"","available_views":[],"station_dim":"(none — one group per station)","time_coord":"time_<species> (per species, inside each station group): CF int64 seconds since 1970-01-01, timestamp = START of the sampling period, UTC","lat_coord":"latitude (station group .zattr; a species measured at a second inlet of the station carries its own S_inlet_latitude / S_inlet_longitude / S_inlet_elevation beside it)","lon_coord":"longitude (station group .zattr)","entity_groups":"top-level groups not starting with '_' are individual stations; open a group to read its series","station_list":"read each group's .zattrs from the consolidated root .zmetadata (latitude, longitude, elevation, station_name, species, network, wigos_id where OSCAR has the station, per-species calibration_scale / instrument / data_owner / citations, citation, license) — one fetch, no array reads","variables":"per station group and species S: S (dry-air mole fraction, units in the array attrs: 1e-12 = ppt, 1e-9 = ppb, 1e-6 = ppm), S_repeatability, S_variability, S_count (points in the mean), S_inlet_height (m above inlet_base_elevation_masl), S_sampling_period (s), S_instrument_type (integer code; the mapping is in the array's comment attr), S_baseline (0 = polluted / not baseline, 1 = pollution-free baseline, from the AGAGE statistical filtering algorithm)","monthly":"the sub-group <STATION_ID>/monthly holds the pollution-free MONTHLY baseline means with the same per-species layout (S, S_repeatability = monthly standard error, S_variability = monthly standard deviation, S_count, ... on time_<species>, resampled to month starts)","bbox_filter":"read station latitude/longitude from group .zattrs, select stations in range, then open those groups and slice their time_<species> axes"},"conventions":{"metadata":"CF-1.8 source files; store written CF-1.12 + ACDD-1.3 with a canonical cross-store attribute vocabulary","identity_attrs":["station_id","station_name","latitude","longitude","elevation","species","network","wigos_id","source_doi","citation","license","license_url"],"quality_control":"S_baseline is a NUMERIC int8 flag on the same time axis as S: 1 = pollution-free baseline, 0 = not baseline (regional pollution influence). It is NOT a data-quality rejection flag: all points are quality-controlled by the station PIs; keep S_baseline == 1 to study background (baseline) composition. -1 marks a point the baseline product did not cover (none in the 20260716 archive). Missing values in the numeric arrays carry the source fill (-9999 for mole fractions; -99 / -9999 for the integer columns), exposed as the zarr fill_value so xarray masks them.","units":"mole fractions are per-species: read S.attrs['units'] (1e-12, 1e-9 or 1e-6 mole fraction in dry air); calibration scale in S.attrs['calibration_scale']; time axes decode to datetime64"},"discovery":{"variable_catalog":"none — read the store directly; per-station groups are not catalogued for /query","croissant":"agage.croissant.jsonld (sibling of the store directory)","croissant_url":"ICOS zarr proxy: GET /agage.zarr/croissant — same Croissant, also linked (with @id) from the proxy-root schema.org DataCatalog when fetched with Accept: application/ld+json","collection_doi":"(the archive version's DOI, in the root attribute collection_doi)"},"docs":["ZARR_CONVENTIONS.md","ZARR_CONSUMER_MIGRATION.md"]}