{
  "place_id": "NMS:CBNMS",
  "dataset_id": "cmems_biogeochem_co2",
  "variable": "spco2",
  "categorical": false,
  "start_date": "2021-10-16",
  "end_date": "2025-02-15",
  "start_datetime": "2021-10-16T12:00:00Z",
  "end_datetime": "2025-02-15T00:00:00Z",
  "record_start": "2021-10-16",
  "lobes": 1,
  "mask_cells": 12,
  "axes": [
    {
      "bbox": [
        -123.99988,
        37.7668698,
        -123.08237,
        38.29989
      ],
      "lon": [
        -124,
        -123.75,
        -123.5,
        -123.25,
        -123
      ],
      "lat": [
        37.75,
        38,
        38.25
      ]
    }
  ],
  "griddap_urls": [
    "https://erddap.oceanmetrics.io/erddap/griddap/cmems_biogeochem_co2.parquet?spco2%5B(2021-10-16T12:00:00Z):1:(2025-02-15T00:00:00Z)%5D%5B(37.75):1:(38.25)%5D%5B(-124):1:(-123)%5D"
  ],
  "griddap_url_templates": [
    "https://erddap.oceanmetrics.io/erddap/griddap/cmems_biogeochem_co2.parquet?spco2%5B({t0}):1:({t1})%5D%5B(37.75):1:(38.25)%5D%5B(-124):1:(-123)%5D"
  ],
  "griddap_chunks": [
    [
      "2021-10-16T12:00:00Z",
      "2025-02-15T00:00:00Z"
    ]
  ],
  "griddap_requests": 1,
  "rows": 41,
  "bytes": 3900,
  "generated": "2026-10-22T14:36:33Z",
  "erddap_base": "https://erddap.oceanmetrics.io/erddap",
  "erddap_version": "2.31.1",
  "sql": "-- daily key statistics for one place from an ERDDAP griddap slab.\n--   s.\"spco2\"  the value expression over the slab alias `s` (e.g. s.\"CRW_SST\", or\n--             (s.\"analysed_sst\" - 273.15) to convert Kelvin to Celsius)\n--   (SELECT DISTINCT * FROM read_parquet([<one griddap slab per lobe for the chunk>]))  the registered griddap file (parquet) or view\n--   mask  the mask table: latitude, longitude, weight (0,1]\n-- the join is an exact equality on ROUND(x, 3): the ERDDAP axis is float32 in the parquet and float64\n-- in the JS mask, so 21.375 arrives as 21.374999... on one side; rounding to the grid's 3 decimals\n-- (0.05 spacing) makes the two match without a tolerance join.\nSELECT\n  -- utc day; via epoch_ms because duckdb-wasm ships without icu, so TIMESTAMPTZ::DATE is unimplemented there\n  make_timestamp(epoch_ms(s.\"time\") * 1000)::DATE   AS date,\n  count(s.\"spco2\")                                  AS n,\n  avg(s.\"spco2\")                                    AS mean,\n  sum(s.\"spco2\" * m.weight) / sum(m.weight)         AS mean_wt,\n  stddev_samp(s.\"spco2\")                            AS sd,\n  min(s.\"spco2\")                                    AS min,\n  max(s.\"spco2\")                                    AS max,\n  quantile_cont(s.\"spco2\", 0.10)                    AS p10,\n  quantile_cont(s.\"spco2\", 0.90)                    AS p90,\n  sum(m.weight)                                     AS weight_sum\nFROM (SELECT DISTINCT * FROM read_parquet([<one griddap slab per lobe for the chunk>])) s\nJOIN mask m\n  ON  ROUND(s.latitude::DOUBLE,  3) = ROUND(m.latitude::DOUBLE,  3)\n  AND ROUND(s.longitude::DOUBLE, 3) = ROUND(m.longitude::DOUBLE, 3)\nWHERE s.\"spco2\" IS NOT NULL\nGROUP BY 1\nORDER BY 1"
}
