Skip to content

The Service Records ​

Every request Tidemark sends to a public service is answered in that service's own shape, and the package reads each answer through a typed record, a Pydantic model that names the fields it expects and refuses a response that lacks one. A service that renames a field therefore stops a rebuild or a fetch with an error naming the field, rather than writing an empty column into a table the package keeps.

Inside the Station Catalog, The Gauge Series, and The Satellite Passes say what each service is for, and the table below names the records each one answers through, written from the declaration in tidemark.docs.holdings by mise run docs:render.

ServiceRecordsDocumented At
The NERACOOS ERDDAPErddapCatalog, ErddapDataset, ErddapVariablesThe ERDDAP documentation on its allDatasets table and its info responses
NOAA CO-OPSCoopsRoster, CoopsEntry, CoopsStation, CoopsBenchmark, CoopsSensors, CoopsSensor, CoopsSheet, CoopsInventory, CoopsStretchThe CO-OPS Metadata API, the bench mark sheets CO-OPS publishes for each station, which CoopsSheet reads, and the CO-OPS web services listing the Water Level/Met Data Inventory the last two read
The USGS Water Data APIUsgsLocations, UsgsLocation, UsgsTimeSeries, UsgsPageThe USGS Water Data OGC API on its monitoring-locations, time-series-metadata, and continuous collections
PO.DAACGranule, OpendapPassThe CMR Search API on the UMM record NASA Earthdata's search returns for each granule, and the DAP4 specification on the metadata response PO.DAAC's OPeNDAP service answers for each pass
AVISOAvisoPassThe THREDDS Client Catalog Primer on the urlPath of each dataset AVISO's THREDDS catalog lists, and the DUACS Level 3 handbook on the name each file takes (§3.3)

A record keeps only the fields the catalog or a fetch reads and ignores the rest of a response, so a service that adds a field changes nothing here. Where a service spells a field differently from the name the package gives it, the meaning says so, because that spelling is what a reader will find in the raw response.

The Records ​

mise run docs:render writes each section below from the record's own declaration, the sentence beneath a heading from the record's docstring and each row from a field's.

CoopsBenchmark ​

One bench mark the CO-OPS metadata API lists for a NOAA station.

FieldHoldsMeaning
designationtextThe name CO-OPS files the mark under, such as 841 3320 D
publishedtrue or falseWhether the station's published bench mark sheet sets the mark out
pidtext or emptyThe PID NGS files the mark under, which the listing spells idbPid and leaves empty where no NGS datasheet carries the mark
stampingtext or emptyThe words stamped on the mark, such as K 22 1934

CoopsEntry ​

One station in the CO-OPS listing, which reports only the stations NOAA still operates.

FieldHoldsMeaning
identifiertextThe station id NOAA files this gauge under, which the listing spells id
statetext or emptyThe two-letter state code the listing carries, which is absent where the listing files none

CoopsInventory ​

Every stretch of readings one NOAA station holds, as the CO-OPS Water Level/Met Data Inventory lists them, naming the first and the last reading of each unbroken stretch.

FieldHoldsMeaning
stretcheslist of CoopsStretchEvery stretch the inventory lists, one for each parameter element

CoopsRoster ​

The CO-OPS listing of every water level station NOAA still operates.

FieldHoldsMeaning
stationslist of CoopsEntryEvery water level station the listing returned, with one entry for each

CoopsSensor ​

One sensor the CO-OPS sensor listing names for a station.

FieldHoldsMeaning
nametextThe sensor's descriptive name, such as Microwave WL or Wind
enabledtrue or falseWhether CO-OPS lists the sensor as enabled, which the listing spells status and writes as 1 or 0

CoopsSensors ​

The sensors the CO-OPS metadata API lists for one station, which it answers as null at a station it lists none for.

FieldHoldsMeaning
sensorslist of CoopsSensor or emptyEvery sensor the listing names, of any kind, enabled or not

CoopsSheet ​

The height of each bench mark of a NOAA station above the station's tidal datums, as the bench mark sheet CO-OPS publishes for the station sets them out, the sheet https://tidesandcurrents.noaa.gov/benchmarks.html shows, whose table the metadata API does not serve.

FieldHoldsMeaning
heightsmap from text to map from text to numberThe height in meters of each mark above each datum the sheet's table lists, keyed by the stamping or the designation the table names the mark by

CoopsStation ​

One NOAA station, read out of the stations list that wraps it and the bench marks, details, and datums blocks that expand folds into the same response.

FieldHoldsMeaning
latitudenumberWhere the station sits in degrees north, which the response spells lat
longitudenumberWhere the station sits in degrees east, which the response spells lng
accepteddate or emptyThe date CO-OPS accepted the station's datum heights, which stays empty where the datums block names none
benchmarkslist of CoopsBenchmarkEvery bench mark the metadata API lists for the station, read from the benchmarks list inside the response's benchmarks block
datumsmap from text to number or emptyThe height of every datum the station's datum table lists above the station datum, keyed by its name, such as MLLW or NAVD88, read from the datums list inside the response's datums block
epochtextThe years the station's tidal datums average over, such as 1983-2001
identifiertextThe station id NOAA files this gauge under, read from the first entry of the response's stations list
nametextThe place the station sits, as NOAA names it
retireddate or emptyThe date NOAA removed the station, which stays empty while it operates
unitstextThe unit the datums block gives every height in, which the request sets to meters

CoopsStretch ​

One unbroken stretch of one kind of reading a NOAA station holds, as the CO-OPS data inventory lists it.

FieldHoldsMeaning
firstdate and timeThe instant of the stretch's first reading, to the minute in UTC
lastdate and timeThe instant of the stretch's last reading, to the minute in UTC
nametextWhat the stretch holds, such as Verified 6-Minute Water Level

ErddapCatalog ​

Every dataset the NERACOOS ERDDAP publishes a water level for, read from allDatasets, the table the server keeps about its own holdings.

FieldHoldsMeaning
datasetslist of ErddapDatasetEvery dataset the allDatasets table returned, with one entry for each

ErddapDataset ​

One tide dataset as the NERACOOS ERDDAP's allDatasets table describes it.

FieldHoldsMeaning
latitudenumberWhere the gauge sits in degrees north, which the listing spells minLatitude
longitudenumberWhere the gauge sits in degrees east, which the listing spells minLongitude
institutiontextThe organization the server's listing names for the dataset, which the catalog records as the gauge's operator
titletextThe dataset's title, from which the record reads the gauge's place name and, together with the id, its state
identifiertextThe dataset id the server files this gauge under, which the listing spells datasetID

ErddapVariables ​

The variables and attributes one ERDDAP dataset publishes, read from the information table the server keeps for it.

FieldHoldsMeaning
columnslist of textThe column names of the information table, read from table.columnNames
rowslist of list of textEvery row of the information table, each a list of cells in the order columns gives

UsgsLocation ​

One USGS monitoring location, as a feature of the API's monitoring-locations collection describes it, whose altitude is the gage datum a USGS gauge's gage height is measured above.

FieldHoldsMeaning
latitudenumberWhere the location sits in degrees north, the second coordinate of the feature's point
longitudenumberWhere the location sits in degrees east, the first coordinate of the feature's point
accuracynumber or emptyHow far the altitude may be off in feet, which the collection documents as half the contour interval for an altitude read off a map
altitudenumber or emptyThe altitude of the location in feet above vertical_datum, which is empty where USGS records none
identifiertextThe monitoring location id, the agency code and the site number joined by a hyphen, such as USGS-01049505
methodtext or emptyHow USGS set the altitude, such as Interpolated from Digital Elevation Model
site_typetextThe hydrologic setting the collection names for the location, such as Tidal stream or Estuary
vertical_datumtext or emptyThe datum the altitude is referenced to, which the collection spells NAVD88 for NAVD 88

UsgsLocations ​

The USGS monitoring locations inside one box, as features of the API's monitoring-locations collection.

FieldHoldsMeaning
locationslist of UsgsLocationEvery location the box holds, which the collection lists as features

UsgsPage ​

One page of the gage heights the API's continuous collection answers a query with, beside the address of the next page, where the query holds more readings than one page carries.

FieldHoldsMeaning
followingtext or emptyThe address of the next page, which the page's links name under the relation next, and which is empty on the last page
readingslist of map from text to text or list of text or emptyThe properties of every reading the page carries, one for each of the page's features

UsgsTimeSeries ​

The gage heights one USGS monitoring location records at its own interval, as the API's time-series-metadata collection describes the series whose statistic is 00011, the code USGS gives a series of individual points.

FieldHoldsMeaning
begindate and time or emptyThe instant of the series' first reading, which is empty where the location records no such series

Granule ​

One pass as the listing NASA Earthdata returns describes it, read from the UMM record earthaccess.search_data hands back for each granule.

FieldHoldsMeaning
counterwhole numberThe product counter, which rises each time the archive makes the pass's file again under the same CRID, and which the UMM record names ProductCounter among its Identifiers
cridtextThe composite release identifier naming the processing software and inputs that produced the pass, which the UMM record lists among its Identifiers under the type CRID
cycle_numberwhole numberThe cycle the pass belongs to, which the UMM record spells Cycle under its Track
enddate and timeThe last instant the pass covers, in UTC, which the UMM record spells EndingDateTime
opendaptext or emptyThe pass's address on PO.DAAC's OPeNDAP service, the USE SERVICE API entry of subtype OPENDAP DATA among the UMM record's RelatedUrls, and empty where the record lists none
pass_numberwhole numberThe pass within its cycle, which the UMM record spells Pass in the first of the Passes under its Track
startdate and timeThe first instant the pass covers, in UTC, which the UMM record spells BeginningDateTime
urltextThe address the pass's file downloads from in PO.DAAC's archive, which the UMM record lists among its RelatedUrls as the GET DATA entry served over HTTPS

OpendapPass ​

One pass as PO.DAAC's OPeNDAP service describes it in its DAP4 metadata response, its DMR, which names every dimension and every variable the pass holds, at the root or within a group.

FieldHoldsMeaning
sizesmap from text to whole numberThe size of every dimension the DMR names, under the dimension's path, such as /num_lines at the root or /left/num_lines within a group
urltextThe address the service answers for the pass at, which the pass's UMM record names
variableslist of textThe path of every variable the DMR names, in the order it names them

AvisoPass ​

One pass of the Level 3 Unsmoothed product as AVISO's THREDDS catalog lists it, under one of the two directories the handbook names, reproc for the files calibrated from the delayed-time nadir products and forward for those calibrated from the near-real-time ones (§5.8).

FieldHoldsMeaning
cycle_numberwhole numberThe cycle the pass belongs to, which the file's name carries as the handbook spells it (§3.3)
pass_numberwhole numberThe pass within its cycle, which the file's name carries after its cycle
pathtextThe path the catalog gives the pass's file as the urlPath of its dataset, which follows the server's fileServer and dodsC services alike
streamTemporalityThe directory the catalog lists the file under, forward or reproc