Implement BUFRSounding.valid_by_timestamp()
This commit is contained in:
parent
17df1e1dba
commit
ff65688774
1 changed files with 21 additions and 0 deletions
|
@ -155,3 +155,24 @@ class BUFRSounding(Sounding):
|
||||||
|
|
||||||
return BUFRSounding.request_sounding(request,
|
return BUFRSounding.request_sounding(request,
|
||||||
datatimes[-1].validPeriod)
|
datatimes[-1].validPeriod)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def valid_by_timestamp(station: str, timestamp: datetime.datetime) -> Self:
|
||||||
|
epoch = timestamp.timestamp()
|
||||||
|
request = BUFRSounding.create_request(station)
|
||||||
|
|
||||||
|
datatimes = DataAccessLayer.getAvailableTimes(request)
|
||||||
|
by_delta = dict()
|
||||||
|
|
||||||
|
for datatime in datatimes:
|
||||||
|
ts = datatime.getRefTime().time / 1000.0
|
||||||
|
delta = epoch - ts
|
||||||
|
|
||||||
|
by_delta[delta] = datatime
|
||||||
|
|
||||||
|
for delta in sorted(by_delta.keys()):
|
||||||
|
if delta < 0:
|
||||||
|
continue
|
||||||
|
|
||||||
|
return BUFRSounding.request_sounding(request,
|
||||||
|
by_delta[delta].validPeriod)
|
||||||
|
|
Loading…
Add table
Reference in a new issue