Every access function stamps its result with where the values came from, and
this reads it back. The tag is short and stable — "copernicus:...",
"fvcom:GOM3", "hycom:GLBv53X", "cefi:NWA12-hindcast-r20250715",
"ccmp:v03.1", "erddap:MUR", "obdaac:MODISA-4km" — naming the source and
the particular archive, release or dataset within it.
Arguments
- x
an object from
accessCopernicus(),accessFVCOM(),accessHYCOM(),accessCEFI(),accessCCMP(),accessERDDAP()oraccessOBDAAC()
Value
NA if the object carries none — which is
the case for anything built by hand or produced before this was recorded
Why this exists
The sources deliberately share variable names, so an SST column means the
same quantity whichever produced it and everything downstream works
unchanged. That is the point of the design and also its hazard: the column
name alone cannot say whether a value came from a global reanalysis, a
regional coastal model, an independent global model or a satellite
retrieval, and those are not the same number.
The detail after the colon is not decoration. A CEFI tag names the release the values came from, because releases revise the record; an OB.DAAC tag names the sensor, because two sensors disagree where they overlap; a HYCOM tag names the archive, because the record crosses from a reanalysis into operational experiments.
The package already records provenance where a value's origin is ambiguous —
fill_satellite_gaps() writes a <var>_source column, and a derived BOTS
returns BOTS_depth. This extends the same habit to the thing that varies
most: which model the value came from at all.
See also
matchData(), which carries this into <var>_source columns
Examples
if (FALSE) { # \dontrun{
env <- accessHYCOM(vars = "BOTS", dates = "2010-06-15", bounding_box = bb)
source_of(env)
#> [1] "hycom:GLBv53X"
} # }