{
  "place_id": "NMS:FGBNMS",
  "dataset_id": "cmems_salinity",
  "variable": "so",
  "categorical": false,
  "start_date": "2022-06-16",
  "end_date": "2025-02-15",
  "start_datetime": "2022-06-16T00:00:00Z",
  "end_datetime": "2025-02-15T00:00:00Z",
  "record_start": "2022-06-16",
  "lobes": 1,
  "mask_cells": 17,
  "axes": [
    {
      "bbox": [
        -94.30888,
        27.78357,
        -91.97273,
        28.35456
      ],
      "lon": [
        -94.33333,
        -94.25,
        -94.166664,
        -94.08333,
        -94,
        -93.916664,
        -93.83333,
        -93.75,
        -93.666664,
        -93.58333,
        -93.5,
        -93.416664,
        -93.33333,
        -93.25,
        -93.166664,
        -93.08333,
        -93,
        -92.916664,
        -92.83333,
        -92.75,
        -92.666664,
        -92.58333,
        -92.5,
        -92.416664,
        -92.33333,
        -92.25,
        -92.166664,
        -92.08333,
        -92
      ],
      "lat": [
        27.75,
        27.833336,
        27.916672,
        28,
        28.083336,
        28.166672,
        28.25,
        28.333336
      ]
    }
  ],
  "griddap_urls": [
    "https://erddap.oceanmetrics.io/erddap/griddap/cmems_salinity.parquet?so%5B(2022-06-16T00:00:00Z):1:(2025-02-15T00:00:00Z)%5D%5B(0.494025):1:(0.494025)%5D%5B(27.75):1:(28.333336)%5D%5B(-94.33333):1:(-92)%5D"
  ],
  "griddap_url_templates": [
    "https://erddap.oceanmetrics.io/erddap/griddap/cmems_salinity.parquet?so%5B({t0}):1:({t1})%5D%5B(0.494025):1:(0.494025)%5D%5B(27.75):1:(28.333336)%5D%5B(-94.33333):1:(-92)%5D"
  ],
  "griddap_chunks": [
    [
      "2022-06-16T00:00:00Z",
      "2025-02-15T00:00:00Z"
    ]
  ],
  "griddap_requests": 1,
  "rows": 33,
  "bytes": 3537,
  "generated": "2026-10-22T14:32:21Z",
  "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.\"so\"  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.\"so\")                                  AS n,\n  avg(s.\"so\")                                    AS mean,\n  sum(s.\"so\" * m.weight) / sum(m.weight)         AS mean_wt,\n  stddev_samp(s.\"so\")                            AS sd,\n  min(s.\"so\")                                    AS min,\n  max(s.\"so\")                                    AS max,\n  quantile_cont(s.\"so\", 0.10)                    AS p10,\n  quantile_cont(s.\"so\", 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.\"so\" IS NOT NULL\nGROUP BY 1\nORDER BY 1"
}
