Skip to content

Collection D: smoothed WSE field (wse_sm) and associated fields unavailable, returns 400 error #304

@jameshgrn

Description

@jameshgrn
  • Summary

    • Requesting wse_sm with Collection D returns 400 “fields parameter should contain valid SWOT fields”, while plain wse works. According to the PDD for version D, the wse_sm field was added (a smoothed version of the wse). Hoping to expose wse_sm in D (and its associated fields, wse_sm_u, wse_sm_q, and wse_sm_q_b).
  • Impact

    • Downstream analyses relying on smoothed WSE cannot be run against Collection D.
  • Affected endpoint

    • GET /hydrocron/v1/timeseries
  • Repro steps

    • Node, Collection D (400 invalid fields):
curl -sG 'https://soto.podaac.earthdatacloud.nasa.gov/hydrocron/v1/timeseries' \
  --data-urlencode 'feature=Node' \
  --data-urlencode 'feature_id=73254100070011' \
  --data-urlencode 'start_time=2025-05-05T00:00:00Z' \
  --data-urlencode 'end_time=2025-08-31T23:59:59Z' \
  --data-urlencode 'collection_name=SWOT_L2_HR_RiverSP_D' \
  --data-urlencode 'output=csv' \
  --data-urlencode 'fields=node_id,time_str,wse_sm'
# -> { "error": "400: fields parameter should contain valid SWOT fields" }
  • Control (works): Node, Collection D with plain wse:
curl -sG 'https://soto.podaac.earthdatacloud.nasa.gov/hydrocron/v1/timeseries' \
  --data-urlencode 'feature=Node' \
  --data-urlencode 'feature_id=73254100070011' \
  --data-urlencode 'start_time=2025-05-05T00:00:00Z' \
  --data-urlencode 'end_time=2025-08-31T23:59:59Z' \
  --data-urlencode 'collection_name=SWOT_L2_HR_RiverSP_D' \
  --data-urlencode 'output=csv' \
  --data-urlencode 'fields=node_id,time_str,wse'
# -> 200 OK; columns include node_id, time_str, wse, wse_units (m); hits ~14
  • Expected behavior

    • wse_sm (and wse_sm_u, wse_sm_q, and wse_sm_q_b) are valid in Collection D for Node/Reach.
  • Actual behavior

    • wse_sm requests return 400 invalid fields for D; plain wse returns 200.
  • Proposed enhancements

    • Expose wse_sm (and wse_sm_u, wse_sm_q, and wse_sm_q_b) in Collection D Node endpoints.

Maybe this is as easy as just updating the NODE_ALL_COLUMNS in hydrocron/hydrocron/utils/constants.py file? but not sure and will defer to the maintainers, thanks a bunch!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    needs:triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions