Using hourly accumulated precipitation observation data #463
Replies: 3 comments 2 replies
-
Can you infer that from the minutes portion of the timestamp field? |
Beta Was this translation helpful? Give feedback.
-
METAR stations (even predating the API) tend to report at the same interval within 10 minutes of the top of the hour so that a "top of the hour" report is available. Although there is no guarantee, from observation I've seen them be pretty consistent. But note that precipitation measurements aren't a part of the "rawMessage" METAR (although I assume taken at the same times). What led you to believe that the value given isn't just the previous 60 minutes (or 3 / 6 hours) from the timestamp value? |
Beta Was this translation helpful? Give feedback.
-
Thanks for the info, confirmation from a NOAA employee that at least at the BTV station rainfall data is reported at 54 past the hour and the accumulator is reset at that point. I will work off that assumption for the other stations (using their minute info from the timestamp). I believe the value given when reported on those hourly intervals is for the prior 60 minutes, i.e precipitationLastHour value from 12:54 is for the 60 minutes prior to 12:54. However it appears to me when the value is reported in a shorter timeframe during a rain event, it is only for the period since the rain accumulation total was reset. So in the case of the BTV station whatever the duration between 54 minutes past the prior hour and the current report timestamp. Example here:
The precipitationLastHour value given at 23:09 is .001. However the precipitationLastHour difference between 22:44 and 22:54 is .0218-.0196 = .0022, so at least .0022m of rain must have fallen between 22:44 and 22:54, which if the precipitationLastHour value from 23:09 was actually reporting the prior 60 minutes, would have to include that interval between 22:44 and 22:54. Because the value given of .001 is < the .0022 we know that period is not included in the reported total and thus the value must only go back to the last 'reset' time which I believe to be (and was confirmed by the NOAA employee at BTV) 22:54. I'm sure there is a reason for doing things this way , but using the key of precipitationLastHour makes this value a bit confusing/misleading for me, but now that I've updated my understanding on it, I can at least update the script to be accurate. Does that sound like solid reasoning or perhaps a hole in the logic? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Before I begin I should state just how much I appreciate this amazing service being offered by NOAA to the public at no charge.
For reference and example of the api endpoint I am accessing for the is the Burlington VT station is
https://api.weather.gov/stations/KBTV/observations
Here is my issue. I am attempting to write a script that can determine precip totals at this station for any given time interval. I.e for the past hour, two hours, three hours etc. So if I make that api call at say, 11:20 am, and the most recent observational data returned is from 11:15, the result of my script using the returned data would be a 1hr total of rain between 10:15 and 11:15, a 2hr hour total from 9:15 am to 11:15 am, a 3hr totalling from 8:15 to 11:15 etc.
I am finding this difficult to execute and here is why:
The JSON I am seeing is has the key=> value pair precipitationLastHour: {precip}. Which I initially interpreted to mean a total precip recorded in the last hour. Upon further inspection I now interpret this to mean total precip recorded since the last 'breakpoint' where the breakpoints are a) unique to each station b) do not fall on the hour or other obvious interval. For example as far as I can tell the breakpoints for the Burlington station are at 54 minutes past the hour. Therefore the precipitationLastHour value I would expect to find from the api call descripted previously (most recent observation data returned being from 11:15) would only be the total accumulated from between 10:54 and 11:15.
This would not be an issue if I knew where these breakpoints were for each station - as a matter of fact it would make my life much easier. Unfortunately without knowing, it is very hard to tell my script which "precipitationLastHour" values to total in order to arrive my desired reporting intervals.
I would greatly appreciate any insight into how to resolve this - specifically if there is any information contained in the JSON that would indicate when the accumulator for the precipitationLastHour is reset / when the breakpoints are for each individual station, or if there is another way to get at the data. Or am I missing something all together?
Beta Was this translation helpful? Give feedback.
All reactions