Skip to content

Create Endpoint to Expose Authoritative TimeSeries #955

@krowvin

Description

@krowvin

Statement

Propose we create an endpoint that allows end-users to query a project and have it return the authoritative TimeSeries for a given gage or project.

Goal

Data consistency, to ensure districts and other outside sources use the same timeseries. If one changes, the other could still be present unless we pull from these authoritative timeseries.

Background

These TimeSeries are deemed to be authoritative through the CWMS Management Application (CMA) and are upward reported to A2W

Tables exist now for these TimeSeries.

Note

Here is an example URL/ response from the new A2W API:
URL:
https://domain/cda/reporting/providers/lrl/locations/caesarcreek

Click to see the response

JSON Response

Details

[
  {
    "provider": "lrl",
    "code": "CaesarCreek",
    "slug": "caesarcreek",
    "elevation": 846,
    "horizontal_datum": "NAD27",
    "vertical_datum": "NGVD29",
    "state": "OH",
    "kind": "PROJECT",
    "nearest_city": "Waynesville, OH",
    "public_name": "Caesar Creek Lake",
    "location_code": 1064109,
    "nidid": "",
    "aliases": {
      "NIDID": "OH00927"
    },
    "timeseries": [
      {
        "tsid": "CaesarCreek.Elev.Inst.0.0.lrldlb-rev",
        "label": "Elevation",
        "base_parameter": "Elev",
        "parameter": "Elev",
        "unit": "ft",
        "unit_long_name": "Feet",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 846.41,
        "delta24hr": -0.11,
        "sort_order": 1
      },
      {
        "tsid": "CaesarCreek.Precip.Total.~1Day.1Day.lrldlb-rev",
        "label": "Precipitation",
        "base_parameter": "Precip",
        "parameter": "Precip",
        "unit": "in",
        "unit_long_name": "Inches",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 0.13,
        "delta24hr": 0.13,
        "sort_order": 16
      },
      {
        "tsid": "CaesarCreek.Flow-Inflow.Ave.1Hour.6Hours.lrldlb-comp",
        "label": "Inflow",
        "base_parameter": "Flow",
        "parameter": "Flow-Inflow",
        "unit": "cfs",
        "unit_long_name": "Cubic feet per second",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 0,
        "delta24hr": -65.87,
        "sort_order": 6
      },
      {
        "tsid": "CaesarCreek.Stor.Inst.1Hour.0.lrldlb-comp",
        "label": "Conservation Storage",
        "base_parameter": "Stor",
        "parameter": "Stor",
        "unit": "ac-ft",
        "unit_long_name": "Acre-feet",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 94825.4,
        "delta24hr": -301.4,
        "sort_order": 13
      },
      {
        "tsid": "CaesarCreek.Stor.Inst.1Hour.0.lrldlb-comp",
        "label": "Flood Storage",
        "base_parameter": "Stor",
        "parameter": "Stor",
        "unit": "ac-ft",
        "unit_long_name": "Acre-feet",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 94825.4,
        "delta24hr": -301.4,
        "sort_order": 11
      },
      {
        "tsid": "CaesarCreek.Flow-Outflow.Inst.0.0.lrldlb-comp",
        "label": "Outflow",
        "base_parameter": "Flow",
        "parameter": "Flow-Outflow",
        "unit": "cfs",
        "unit_long_name": "Cubic feet per second",
        "latest_time": "2024-11-21T11:00:00Z",
        "latest_value": 239.41,
        "delta24hr": -0.11,
        "sort_order": 7
      }
    ],
    "levels": [
      {
        "slug": "elev.bottom of flood",
        "label": "Bottom of Flood",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Bottom of Flood",
        "latest_value": 846.32,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.bottom of flood control",
        "label": "Bottom of Flood Control",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Bottom of Flood Control",
        "latest_value": 846.32,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.bottom of inlet",
        "label": "Bottom of Inlet",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Bottom of Inlet",
        "latest_value": 740.56,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.bottom of normal",
        "label": "Bottom of Normal",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Bottom of Normal",
        "latest_value": 846,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.guide curve",
        "label": "Guide Curve",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Guide Curve",
        "latest_value": 846,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.streambed",
        "label": "Streambed",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Streambed",
        "latest_value": 740.56,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.top of conservation",
        "label": "Top of Conservation",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Top of Conservation",
        "latest_value": 849,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.top of dam",
        "label": "Top of Dam",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Top of Dam",
        "latest_value": 904,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.top of flood",
        "label": "Top of Flood",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Top of Flood",
        "latest_value": 883,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.top of normal",
        "label": "Top of Normal",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Top of Normal",
        "latest_value": 846,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "elev.top of overflow",
        "label": "Top of Overflow",
        "parameter": "Elev",
        "base_parameter": "Elev",
        "tsid": "CaesarCreek.Elev.Inst.0.Top of Overflow",
        "latest_value": 883,
        "units": "ft",
        "units_long_name": "Feet"
      },
      {
        "slug": "stor.bottom of flood",
        "label": "Bottom of Flood",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Bottom of Flood",
        "latest_value": 94601.33,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.bottom of flood control",
        "label": "Bottom of Flood Control",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Bottom of Flood Control",
        "latest_value": 94582.26,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.bottom of inlet",
        "label": "Bottom of Inlet",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Bottom of Inlet",
        "latest_value": 0,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.bottom of normal",
        "label": "Bottom of Normal",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Bottom of Normal",
        "latest_value": 93700,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.guide curve",
        "label": "Guide Curve",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Guide Curve",
        "latest_value": 93700,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.streambed",
        "label": "Streambed",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Streambed",
        "latest_value": 0,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.top of conservation",
        "label": "Top of Conservation",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Top of Conservation",
        "latest_value": 102000,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.top of flood",
        "label": "Top of Flood",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Top of Flood",
        "latest_value": 242200,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.top of normal",
        "label": "Top of Normal",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Top of Normal",
        "latest_value": 93700,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      },
      {
        "slug": "stor.top of overflow",
        "label": "Top of Overflow",
        "parameter": "Stor",
        "base_parameter": "Stor",
        "tsid": "CaesarCreek.Stor.Inst.0.Top of Overflow",
        "latest_value": 242200,
        "units": "ac-ft",
        "units_long_name": "Acre-feet"
      }
    ],
    "geometry": {
      "type": "Point",
      "coordinates": [-84.05389, 39.49028]
    }
  }
]

Not to completely take what they have done, but consider the keys presented and if it makes sense for us to return those as well.

PS. I know LRL is needing this to move forward

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussion-pointSomething to talk about but take no action yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions