|
1 | 1 | import logging |
| 2 | +import re |
2 | 3 | from datetime import datetime, timedelta |
3 | 4 | from typing import Optional |
4 | 5 |
|
@@ -370,15 +371,39 @@ def CWMS_writeData(USGS_ts, USGS_data, USGS_data_method, days_back): |
370 | 371 | office = row["office-id"] |
371 | 372 | values["quality-code"] = 0 |
372 | 373 |
|
373 | | - # 15 minute conversion to allow storing smaller interval data (eg. 5 minute) as 15 minute data |
374 | | - if ts_id.split(".")[3] == "15Minutes": |
| 374 | + # check for non irregular data interval and resample data to that interval |
| 375 | + if not ( |
| 376 | + "~" in ts_id.split(".")[3] or ts_id.split(".")[3] == "0" |
| 377 | + ): |
| 378 | + interval_number = re.match( |
| 379 | + r"^(\d+)(.*)", ts_id.split(".")[3] |
| 380 | + ).group(1) |
| 381 | + interval_type = re.match( |
| 382 | + r"^(\d+)(.*)", ts_id.split(".")[3] |
| 383 | + ).group(2) |
| 384 | + if interval_type == "Minutes": |
| 385 | + interval_initial = "T" |
| 386 | + else: |
| 387 | + interval_initial = interval_type[0] |
375 | 388 | values_dt = values.copy() |
376 | 389 | values_dt["date-time"] = pd.to_datetime( |
377 | 390 | values_dt["date-time"] |
378 | 391 | ) |
379 | 392 | values_dt.set_index("date-time", inplace=True) |
380 | | - values15 = values_dt.resample("15min").first() |
381 | | - values = values15.reset_index() |
| 393 | + values_new = values_dt.resample( |
| 394 | + interval_number + interval_initial |
| 395 | + ).first() |
| 396 | + values = values_new.reset_index() |
| 397 | + |
| 398 | + # # 15 minute conversion to allow storing smaller interval data (eg. 5 minute) as 15 minute data |
| 399 | + # if ts_id.split(".")[3] == "15Minutes": |
| 400 | + # values_dt = values.copy() |
| 401 | + # values_dt["date-time"] = pd.to_datetime( |
| 402 | + # values_dt["date-time"] |
| 403 | + # ) |
| 404 | + # values_dt.set_index("date-time", inplace=True) |
| 405 | + # values15 = values_dt.resample("15min").first() |
| 406 | + # values = values15.reset_index() |
382 | 407 |
|
383 | 408 | # write values to CWMS database |
384 | 409 | try: |
|
0 commit comments