You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is not causing any current problems, but it is unintuitive behavior and can be quite confusing when debugging.
The data API collects all files that match the parameters passed to it by URL:
model
ensemble
timescale
variable
And then constructs a separate timeseries for each run that matches the parameters. Before constructing each run's timeseries, it checks that all variable in that run have the same units, using get_units_from_run_object, filtering datasets by the following parameters:
run
variable
Notably, get_units_from_run_object does not filter by ensemble. This means that while timeseries are constructed only from the datasets contained in an ensemble, an error will be thrown if any file in the database, even one not in the ensemble, uses incorrect or conflicting units for that variable. This is pretty unintuitive.
Practically speaking, this issue would be 95% resolved if the backend accepted synonymous units using a units library (#105), though get_units_from_run_object and its helpers could also be modified to accept an ensemble and search only within it, to make them behave more intuitively when used by within-ensemble API endpoints to construct timeseries.
The text was updated successfully, but these errors were encountered:
This issue is not causing any current problems, but it is unintuitive behavior and can be quite confusing when debugging.
The
data
API collects all files that match the parameters passed to it by URL:And then constructs a separate timeseries for each run that matches the parameters. Before constructing each run's timeseries, it checks that all variable in that run have the same units, using
get_units_from_run_object
, filtering datasets by the following parameters:Notably,
get_units_from_run_object
does not filter by ensemble. This means that while timeseries are constructed only from the datasets contained in an ensemble, an error will be thrown if any file in the database, even one not in the ensemble, uses incorrect or conflicting units for that variable. This is pretty unintuitive.Practically speaking, this issue would be 95% resolved if the backend accepted synonymous units using a units library (#105), though
get_units_from_run_object
and its helpers could also be modified to accept an ensemble and search only within it, to make them behave more intuitively when used by within-ensemble API endpoints to construct timeseries.The text was updated successfully, but these errors were encountered: