{
  "place_id": "NMS:OCNMS",
  "dataset_id": "moda_npp_mo_glob",
  "variable": "npp",
  "categorical": false,
  "start_date": "2002-07-31",
  "end_date": "2023-12-31",
  "start_datetime": "2002-07-31T00:00:00Z",
  "end_datetime": "2023-12-31T00:00:00Z",
  "record_start": "2002-07-31",
  "lobes": 1,
  "mask_cells": 176,
  "axes": [
    {
      "bbox": [
        -125.6816635,
        47.1291657,
        -124.18389889999999,
        48.5058899
      ],
      "lon": [
        -125.666664,
        -125.583336,
        -125.5,
        -125.416664,
        -125.333336,
        -125.25,
        -125.166664,
        -125.083336,
        -125,
        -124.916664,
        -124.833336,
        -124.75,
        -124.666664,
        -124.583336,
        -124.5,
        -124.416664,
        -124.333336,
        -124.25,
        -124.166664
      ],
      "lat": [
        48.480778,
        48.397408,
        48.314034,
        48.230663,
        48.14729,
        48.06392,
        47.980545,
        47.897175,
        47.8138,
        47.73043,
        47.64706,
        47.563686,
        47.480316,
        47.396942,
        47.313572,
        47.230198,
        47.146828
      ]
    }
  ],
  "griddap_urls": [
    "https://erddap.oceanmetrics.io/erddap/griddap/moda_npp_mo_glob.parquet?npp%5B(2002-07-31T00:00:00Z):1:(2010-02-08T12:00:00Z)%5D%5B(48.480778):1:(47.146828)%5D%5B(-125.666664):1:(-124.166664)%5D",
    "https://erddap.oceanmetrics.io/erddap/griddap/moda_npp_mo_glob.parquet?npp%5B(2010-02-09T12:00:00Z):1:(2017-08-20T12:00:00Z)%5D%5B(48.480778):1:(47.146828)%5D%5B(-125.666664):1:(-124.166664)%5D",
    "https://erddap.oceanmetrics.io/erddap/griddap/moda_npp_mo_glob.parquet?npp%5B(2017-08-21T12:00:00Z):1:(2023-12-31T00:00:00Z)%5D%5B(48.480778):1:(47.146828)%5D%5B(-125.666664):1:(-124.166664)%5D"
  ],
  "griddap_url_templates": [
    "https://erddap.oceanmetrics.io/erddap/griddap/moda_npp_mo_glob.parquet?npp%5B({t0}):1:({t1})%5D%5B(48.480778):1:(47.146828)%5D%5B(-125.666664):1:(-124.166664)%5D"
  ],
  "griddap_chunks": [
    [
      "2002-07-31T00:00:00Z",
      "2010-02-08T12:00:00Z"
    ],
    [
      "2010-02-09T12:00:00Z",
      "2017-08-20T12:00:00Z"
    ],
    [
      "2017-08-21T12:00:00Z",
      "2023-12-31T00:00:00Z"
    ]
  ],
  "griddap_requests": 3,
  "rows": 258,
  "bytes": 13719,
  "generated": "2026-10-22T14:38:41Z",
  "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.\"npp\"  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.\"npp\")                                  AS n,\n  avg(s.\"npp\")                                    AS mean,\n  sum(s.\"npp\" * m.weight) / sum(m.weight)         AS mean_wt,\n  stddev_samp(s.\"npp\")                            AS sd,\n  min(s.\"npp\")                                    AS min,\n  max(s.\"npp\")                                    AS max,\n  quantile_cont(s.\"npp\", 0.10)                    AS p10,\n  quantile_cont(s.\"npp\", 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.\"npp\" IS NOT NULL\nGROUP BY 1\nORDER BY 1"
}
