Skip to content

Reformed Parameter Model #55

@DocOtak

Description

@DocOtak

As mentioned in cchdo/hydro#56 the data model here is in need of some updates. Some other things that might be needed or nice to have:

  • "Template" Parameters like the url templates in e.g. flask:
    • CDOM{int:wavelength} [/METER]
    • CTDBETA{int:wavelength}_{int:scattering_angle} [M^-1/SR]
    • FDOM_{int:ex_wavelength}_{int:em_wavelength}
    • FDOM_{int:ex_wavelength}_{int:em_wavelength_start}:{int:em_wavelength_end} (needs cf "cell methods" to describe)
  • More generic ancillary variables:
    • Analytical Temperatures
    • Analytical salinities
    • Replicates
    • Whatever else we can think of...
  • Error/uncertainties for everything without needing to add an explicit name

The API also needs some help, right now there is a combination of full_*_name and name properties that not consistent, this has led to at least one bug recently.

How these things are unambiguously represented in both CF netCDF and a CSV (e.g. exchange) needs to be considered and probably experimented on. We probably want to allow the CSV file to be "wide" for working, even if the final exchange format wouldn't have all the parameters.

We should also come up with rules for what the parameter names should be in the netCDF file for the same measurement with different units. Right now, every parameter/unit pair has an explicitly defined ncname, this would be difficult if the NVS is the canonical data source as the units are represented by "related" relationships and not as an explicit property of the name. One idea I've had is to designate any "per mass" units as being the canonical ones and anything else gets some sort of suffix on the ncname. e.g:

  • CTDOXY [UMOL/KG] -> ctd_oxygen (because /kg)
  • CTDOXY [UMOL/L] -> ctd_oxygen_umol_l
  • CTDOXY [ML/L] -> ctd_oxygen_ml_l
    The above is what is currently defined in the params database, but it should be automatic/formalized and not need explicit definitions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions