Implement BUFRSounding.valid_by_timestamp()

This commit is contained in:
XANTRONIX 2025-04-14 11:20:38 -04:00
parent 17df1e1dba
commit ff65688774

View file

@ -155,3 +155,24 @@ class BUFRSounding(Sounding):
return BUFRSounding.request_sounding(request,
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)