NOAA-OWP / ngen

Next Generation Water Modeling Engine and Framework Prototype
Other
84 stars 63 forks source link

Dealing with internal provided evapotranspiration units #352

Open hellkite500 opened 2 years ago

hellkite500 commented 2 years ago

In the NGen Framework, when a BMI formulation expects an evapotranspiration input and there is no configured provider for that input, then a default, internal library calculation is used to provide ET.

The issue here is that this internal library is advertised (in forcing provider) model inputs as kg/m^2. When using a rate as precip forcing, we cannot directly convert this unit automatically using UDUNITS, and so the original value is passed through to the ET function.

This provides incorrect behavior, and should be handled different.

I propose adding a unique name to forcing provider which can be mapped to the forcing input, and assigning this name units in the form of mm/hr. Then the internal ET calculation can query the provider for this name, and if it is present, can use it (along with any required unit conversion). Effectively, this provides the means to treat kg/m^2 as mm/hr only in specifically configured instances.

jmframe commented 2 years ago

I don't think that the PET calculation should be using precipitation... does it? so the unit shouldn't really matter.

mattw-nws commented 1 year ago

Is this also effectively moot after #387 ? Does the scope need adjusting or narrowing?