NREL / SSRS

A stochastic agent-based model for predicting raptor movements during updraft-subsidized directional flights
https://www.osti.gov/doecode/biblio/63192
BSD 3-Clause "New" or "Revised" License
11 stars 5 forks source link

Pressure levels for heights AGL between 100 and 250 m in HRRR #17

Open rthedin opened 2 years ago

rthedin commented 2 years ago

Working my way through PR #16, I noticed some problems on the HRRR interface.

When getting data from HRRR using wind_velocity_direction_at_altitude, at any height AGL height_above_ground above 100 m, we fall into the following else to get the appropriate pressure level: https://github.com/NREL/SSRS/blob/a9114c7a65fd1d71c8c9eb8f2f7d53f1685dfccb/ssrs/hrrr/hrrr.py#L350-L363 where ground_level_m is used as an argument to nearest_pressures. However, oftentimes the call to wind_velocity_direction_at_altitude does not include ground_level_m, but rather height_above_ground_m. The ground_level_m is zero by default: https://github.com/NREL/SSRS/blob/a9114c7a65fd1d71c8c9eb8f2f7d53f1685dfccb/ssrs/hrrr/hrrr.py#L260

According to the nearest_pressures function's docstring, h is the height above sea level: https://github.com/NREL/SSRS/blob/a9114c7a65fd1d71c8c9eb8f2f7d53f1685dfccb/ssrs/hrrr/hrrr.py#L92-L93 so I'm not sure if it is appropriate to use height_above_ground_m

What should we use here? Not specifying ground_level_m does not work because of the default 0 (and would not even be appropriate). Should we first get the ground level and then combine it with the height AGL?

Right now, in the latest commit from PR #16, I replaced line 359 above with https://github.com/NREL/SSRS/blob/43a728fe9559ed2d2b668eb6a905de795c4963f6/ssrs/hrrr/hrrr.py#L376 However, I do understand that this is not really appropriate.

What would be appropriate path forward here?

rthedin commented 2 years ago

@ewquon @rimplesandhu

ewquon commented 2 years ago

Hi @rthedin, good catch. I think it should be ground_level_m + height_above_ground_m to give the altitude above sea level. However, I don't think we need to be too concerned about this because we need to rework nearest_pressures() anyway and--correct me if I'm wrong @rimplesandhu--I don't think this is currently used. I think we can use the hypsometric equation instead of a hard-coded lookup table.

rimplesandhu commented 2 years ago

No, I have only focused on 10 and 80 m for annotating telemetry data