diff --git a/.gitignore b/.gitignore index a6ee8d1f5146c81eb3dc09dc2f5bc79c3a501f90..25a01ae5ed071b4399474d4e9c24fb30f601c017 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,9 @@ *.nc +!test/weather_data/*_cropped.nc *.tif *.tif.aux.xml .env .venv mapfile/*.map last_run_timestamp +.~lock.input_data_test.ods# diff --git a/SEPTREFHUM.py b/SEPTREFHUM.py index d1ff4cf290d4a01fb067fab3e9a2c5b39fc12a29..21a2e8ffa96687ffc74c35204a6dfe387bb5a620 100755 --- a/SEPTREFHUM.py +++ b/SEPTREFHUM.py @@ -52,8 +52,11 @@ tmpfile_path = "tmp/" # Names of weather parameters in NetCDF files RR = os.getenv("RR") UM = os.getenv("UM") +TM = os.getenv("TM") local_timezone = pytz.timezone(os.getenv("LOCAL_TIMEZONE")) +TEMPERATURE_THRESHOLD = 8.0 + DEBUG = False if os.getenv("DEBUG") is None or os.getenv("DEBUG").lower() == "false" else True @@ -103,7 +106,7 @@ for file_path in sorted(weatherdata_files): wh_sum_date_str = wh_sum_date.strftime("%Y-%m-%d") wh_sum_hour_str = wh_sum_date.strftime("%H") subprocess.run( - f'cdo -s -O -setdate,{wh_sum_date_str} -settime,{wh_sum_hour_str}:00:00 -chname,WH,WH_DAYSUM -timsum -selname,WH -aexpr,"WH = {RR} > 0.2 || {UM} > 88.0 ? 1 : 0;" {file_path} {tmpfile_path}wh_{wh_sum_date_str}.nc', + f'cdo -s -O -setdate,{wh_sum_date_str} -settime,{wh_sum_hour_str}:00:00 -chname,WH,WH_DAYSUM -timsum -selname,WH -aexpr,"WH = ({TM} >= {TEMPERATURE_THRESHOLD} && ({RR} > 0.2 || {UM} > 88.0)) ? 1 : 0;" {file_path} {tmpfile_path}wh_{wh_sum_date_str}.nc', shell=True ) @@ -175,6 +178,8 @@ subprocess.run(f'cdo -s -seltimestep,1/{number_of_timesteps_to_keep} {tmpfile_pa # 40 <= WHS --> Red subprocess.run(f'cdo -s -aexpr,"WARNING_STATUS = WHS <= 0 ? 0 : -1; WARNING_STATUS = WHS < 20 && WARNING_STATUS == -1 ? 2 : WARNING_STATUS; WARNING_STATUS = WHS < 40 && WARNING_STATUS == -1 ? 3 : WARNING_STATUS; WARNING_STATUS = WHS >= 40 && WARNING_STATUS == -1 ? 4 : WARNING_STATUS" {tmpfile_path}wh_3daysum.nc {tmpfile_path}result_unmasked.nc', shell=True) +subprocess.run(f"rm {tmpfile_path}result.nc", shell=True) + # Mask results using a CSV file with polygons # Env variable MASK_FILE must be set if os.getenv("MASK_FILE") is not None: @@ -247,5 +252,5 @@ with open(f"{mapfile_outdir}/{model_id}.map", 'w') as f: # Remove all temporary/intermediary files subprocess.run(f"rm {tmpfile_path}wh_3daysum*.nc", shell=True) -subprocess.run(f"rm {tmpfile_path}result*.nc", shell=True) +subprocess.run(f"rm {tmpfile_path}result_*.nc", shell=True) subprocess.run(f"rm {tmpfile_path}result*.tif", shell=True) diff --git a/env-sample b/env-sample index 81252ce220cc64f61200c285dc545b8dc5494328..792be08f5bb3b78bcbb92aba94f01b80b2a82a19 100644 --- a/env-sample +++ b/env-sample @@ -15,6 +15,8 @@ FILENAME_DATEFORMAT="met_1_0km_nordic-%Y-%m-%d.nc" RR="RR" # Relative humidity (2m) UM="UM" +# Mean temperature (2m) +TM="TM" # Timezone for weather data/daily aggregations LOCAL_TIMEZONE="Europe/Oslo" # Path to optional CSV file with polygons for masking result. diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000000000000000000000000000000000000..27da7dac1a3ffe070b9618129f98c3a932cba59e --- /dev/null +++ b/test/README.md @@ -0,0 +1,63 @@ +# Testing the model + +Lacking proper pytest design, here's how to test any changes made to the model + +## 1. Get weather data from a single point +In the `weather_data` folder, very small weather data files are available. They are 9x9 grids. You can get weather data in CSV format for a single grid point ([0,0]) by running e.g. + +```bash +$ python3 ./test_util.py printweather > test_input_data.csv +``` + +## 2. Calculate the expected WHS +This has been done in the example file `input_data_test.ods` + +## 3. Compare the spreadsheet calculations with the output from the model + +Run the model on the test data. Remember to set `WEATHER_DATA_DIR=test/` in your .env file + +```bash +$ cd ../ && ./run_SEPTREFHUM.sh && cd test/ +``` + +You can print out the results for the grid point ([0,0]) using + +```bash +$ python3 ./test_util.py printwhs +``` + +Example output (from 2024-05-16): + +```csv +Date,WHS +2024-04-02 00:00:00+00:00,0.0 +2024-04-03 00:00:00+00:00,0.0 +2024-04-04 00:00:00+00:00,0.0 +2024-04-05 00:00:00+00:00,0.0 +2024-04-06 00:00:00+00:00,0.0 +2024-04-07 00:00:00+00:00,0.0 +2024-04-08 00:00:00+00:00,6.0 +2024-04-09 00:00:00+00:00,6.0 +2024-04-10 00:00:00+00:00,6.0 +2024-04-11 00:00:00+00:00,9.0 +2024-04-12 00:00:00+00:00,10.0 +2024-04-13 00:00:00+00:00,10.0 +2024-04-14 00:00:00+00:00,1.0 +2024-04-15 00:00:00+00:00,0.0 +2024-04-16 00:00:00+00:00,0.0 +2024-04-17 00:00:00+00:00,0.0 +2024-04-18 00:00:00+00:00,0.0 +2024-04-19 00:00:00+00:00,0.0 +2024-04-20 00:00:00+00:00,0.0 +2024-04-21 00:00:00+00:00,0.0 +2024-04-22 00:00:00+00:00,0.0 +2024-04-23 00:00:00+00:00,0.0 +2024-04-24 00:00:00+00:00,0.0 +2024-04-25 00:00:00+00:00,0.0 +2024-04-26 00:00:00+00:00,0.0 +2024-04-27 00:00:00+00:00,0.0 +2024-04-28 00:00:00+00:00,0.0 +2024-04-29 00:00:00+00:00,1.0 +2024-04-30 00:00:00+00:00,1.0 +2024-05-01 00:00:00+00:00,1.0 +``` \ No newline at end of file diff --git a/test/input_data_test.ods b/test/input_data_test.ods new file mode 100644 index 0000000000000000000000000000000000000000..70ff2e5f90960d68be2ec429bdf21cd530ede930 Binary files /dev/null and b/test/input_data_test.ods differ diff --git a/test/test_input_data.csv b/test/test_input_data.csv new file mode 100644 index 0000000000000000000000000000000000000000..2bea142b3749de428b8975944a0ac6849585bd76 --- /dev/null +++ b/test/test_input_data.csv @@ -0,0 +1,769 @@ +time,air_temperature_2m,hourly_precipitation,relative_humidity_2m,wind_speed_10m +2024-04-01 00:00:00+00:00,2.8562927,0.0,98.333694,0.9309476 +2024-04-01 01:00:00+00:00,3.334076,0.0,98.330826,2.2638726 +2024-04-01 02:00:00+00:00,3.5220032,0.0,94.67445,2.211714 +2024-04-01 03:00:00+00:00,3.6278992,0.0,87.56682,2.1706364 +2024-04-01 04:00:00+00:00,3.6538696,0.0,82.792786,2.23428 +2024-04-01 05:00:00+00:00,3.603119,0.0,81.76122,1.9989711 +2024-04-01 06:00:00+00:00,3.8006287,0.0,81.78531,1.549314 +2024-04-01 07:00:00+00:00,4.511017,0.0,81.53667,1.2992418 +2024-04-01 08:00:00+00:00,5.510071,0.0,78.60054,1.3781531 +2024-04-01 09:00:00+00:00,6.7626038,0.0,72.72112,2.9515054 +2024-04-01 10:00:00+00:00,7.85376,0.0,67.214195,4.4584346 +2024-04-01 11:00:00+00:00,8.682129,0.0,63.002243,5.1897955 +2024-04-01 12:00:00+00:00,9.061798,0.0,60.733112,5.6876793 +2024-04-01 13:00:00+00:00,10.023407,0.0,60.16156,4.91369 +2024-04-01 14:00:00+00:00,10.232452,0.0,62.010525,4.236514 +2024-04-01 15:00:00+00:00,10.063721,0.0,62.986507,3.8992472 +2024-04-01 16:00:00+00:00,9.477875,0.0,66.598,3.8032753 +2024-04-01 17:00:00+00:00,8.872253,0.0,67.31074,4.0440297 +2024-04-01 18:00:00+00:00,8.143951,0.0,66.10885,4.17318 +2024-04-01 19:00:00+00:00,8.289886,0.0,57.109394,3.8215322 +2024-04-01 20:00:00+00:00,7.375641,0.0,58.42426,4.4535203 +2024-04-01 21:00:00+00:00,6.641754,0.0,60.979465,4.758184 +2024-04-01 22:00:00+00:00,5.9720764,0.0,63.475945,5.241699 +2024-04-01 23:00:00+00:00,5.3795776,0.0,65.85665,5.685889 +2024-04-02 00:00:00+00:00,4.869049,0.0,66.77056,5.8307447 +2024-04-02 01:00:00+00:00,4.4186707,0.0,66.14863,6.984863 +2024-04-02 02:00:00+00:00,3.745575,0.0,69.6627,7.15697 +2024-04-02 03:00:00+00:00,3.2241516,0.0,71.83379,7.308538 +2024-04-02 04:00:00+00:00,2.742157,0.0,73.62445,7.7298365 +2024-04-02 05:00:00+00:00,2.383728,0.0,74.33776,8.085465 +2024-04-02 06:00:00+00:00,2.3536987,0.0,74.400345,8.487386 +2024-04-02 07:00:00+00:00,3.1348572,0.0,68.01688,8.28699 +2024-04-02 08:00:00+00:00,3.38974,0.0,66.673935,8.554916 +2024-04-02 09:00:00+00:00,3.6242065,0.0,63.83827,8.47512 +2024-04-02 10:00:00+00:00,3.6459045,0.0,63.00316,8.636076 +2024-04-02 11:00:00+00:00,3.838623,0.0,60.287586,8.2563925 +2024-04-02 12:00:00+00:00,4.126068,0.0,58.910896,7.9563847 +2024-04-02 13:00:00+00:00,3.887085,0.0,61.616585,7.3189206 +2024-04-02 14:00:00+00:00,4.091339,0.0,60.157753,6.710958 +2024-04-02 15:00:00+00:00,4.3034973,0.0,57.889668,6.1637983 +2024-04-02 16:00:00+00:00,4.4197083,0.0,56.653988,5.515145 +2024-04-02 17:00:00+00:00,4.318573,0.0,56.854927,5.04977 +2024-04-02 18:00:00+00:00,3.9439087,0.0,58.835503,4.363801 +2024-04-02 19:00:00+00:00,3.573822,0.0,59.329266,4.3722434 +2024-04-02 20:00:00+00:00,3.2326965,0.0,59.102146,4.3200755 +2024-04-02 21:00:00+00:00,2.8686523,0.0,59.68112,4.16634 +2024-04-02 22:00:00+00:00,2.5591125,0.0,58.31518,4.1994443 +2024-04-02 23:00:00+00:00,2.1419678,0.0,59.603333,4.2037673 +2024-04-03 00:00:00+00:00,1.7050476,0.0,60.526077,4.3689094 +2024-04-03 01:00:00+00:00,1.6522827,0.0,56.90583,4.3608236 +2024-04-03 02:00:00+00:00,1.3093262,0.0,56.813553,4.18974 +2024-04-03 03:00:00+00:00,0.9499817,0.0,57.41454,4.109295 +2024-04-03 04:00:00+00:00,0.54190063,0.0,59.492973,4.3117485 +2024-04-03 05:00:00+00:00,0.15316772,0.0,60.48242,4.721836 +2024-04-03 06:00:00+00:00,-0.09628296,0.0,59.400547,5.3111253 +2024-04-03 07:00:00+00:00,0.3149109,0.0,54.055756,5.903095 +2024-04-03 08:00:00+00:00,0.6430969,0.0,52.61793,5.654747 +2024-04-03 09:00:00+00:00,1.1213379,0.0,50.496555,5.3786454 +2024-04-03 10:00:00+00:00,1.6361389,0.0,47.964752,4.873324 +2024-04-03 11:00:00+00:00,2.162323,0.0,44.649746,4.5963607 +2024-04-03 12:00:00+00:00,2.5445862,0.0,42.254204,4.375965 +2024-04-03 13:00:00+00:00,3.4481812,0.0,40.06891,4.220579 +2024-04-03 14:00:00+00:00,3.558899,0.0,38.672173,4.021215 +2024-04-03 15:00:00+00:00,3.523285,0.0,38.70809,4.0252156 +2024-04-03 16:00:00+00:00,3.398529,0.0,38.878666,3.8381772 +2024-04-03 17:00:00+00:00,3.2085266,0.0,38.559555,3.7009602 +2024-04-03 18:00:00+00:00,2.8546448,0.0,41.390636,3.462725 +2024-04-03 19:00:00+00:00,2.547821,0.0,40.33598,3.4690297 +2024-04-03 20:00:00+00:00,2.1249695,0.0,40.532978,3.6734562 +2024-04-03 21:00:00+00:00,1.5714417,0.0,44.08991,3.673798 +2024-04-03 22:00:00+00:00,0.8282776,0.0,43.835358,4.626325 +2024-04-03 23:00:00+00:00,0.2414856,0.0,44.234432,4.437567 +2024-04-04 00:00:00+00:00,-0.19433594,0.0,45.361103,4.5543056 +2024-04-04 01:00:00+00:00,-0.14846802,0.0,43.791317,4.6759005 +2024-04-04 02:00:00+00:00,-0.45541382,0.0,48.963123,4.915005 +2024-04-04 03:00:00+00:00,-0.6418762,0.0,55.95747,4.9418387 +2024-04-04 04:00:00+00:00,-0.763855,0.0,62.987343,5.263907 +2024-04-04 05:00:00+00:00,-1.0271301,0.0,66.824615,5.8355794 +2024-04-04 06:00:00+00:00,-1.1898499,0.0,64.93237,5.571018 +2024-04-04 07:00:00+00:00,-0.93182373,0.0,52.85958,6.154656 +2024-04-04 08:00:00+00:00,-0.94366455,0.00024414062,48.941837,6.477585 +2024-04-04 09:00:00+00:00,-0.78045654,0.0,53.296333,6.524919 +2024-04-04 10:00:00+00:00,-1.7154846,0.075927734,73.71455,5.790144 +2024-04-04 11:00:00+00:00,-1.8465881,0.390625,84.256096,5.8309965 +2024-04-04 12:00:00+00:00,-1.4638367,0.29833984,84.936165,6.2191815 +2024-04-04 13:00:00+00:00,-1.2731018,0.6088867,87.75334,5.7889447 +2024-04-04 14:00:00+00:00,-0.92611694,0.3708496,87.695984,5.33497 +2024-04-04 15:00:00+00:00,-0.73703,0.5358887,89.1136,5.0357137 +2024-04-04 16:00:00+00:00,-0.481781,0.4086914,88.65815,4.9058576 +2024-04-04 17:00:00+00:00,-0.3171692,0.31982422,88.3632,5.119213 +2024-04-04 18:00:00+00:00,-0.17962646,0.26904297,88.43097,5.053756 +2024-04-04 19:00:00+00:00,-0.20822144,0.24401855,88.41863,5.314906 +2024-04-04 20:00:00+00:00,-0.2492981,0.43566895,89.43576,5.3088555 +2024-04-04 21:00:00+00:00,-0.27990723,0.6159668,89.64146,5.312844 +2024-04-04 22:00:00+00:00,-0.2762146,0.49194336,89.49389,5.3260045 +2024-04-04 23:00:00+00:00,-0.30422974,0.5961914,90.03201,5.418537 +2024-04-05 00:00:00+00:00,-0.3107605,0.66845703,90.56872,5.472034 +2024-04-05 01:00:00+00:00,-0.4303894,0.8078613,90.90954,5.495349 +2024-04-05 02:00:00+00:00,-0.4762268,0.7858887,90.25252,5.718911 +2024-04-05 03:00:00+00:00,-0.47473145,0.33007812,88.27098,5.8975906 +2024-04-05 04:00:00+00:00,-0.57855225,0.24707031,88.665665,5.798856 +2024-04-05 05:00:00+00:00,-0.6585388,0.26953125,87.56913,5.5685053 +2024-04-05 06:00:00+00:00,-0.54849243,0.034179688,84.831894,5.531725 +2024-04-05 07:00:00+00:00,-0.55081177,0.0014648438,82.96129,5.371696 +2024-04-05 08:00:00+00:00,-0.027862549,0.0,78.58284,4.9049187 +2024-04-05 09:00:00+00:00,0.5852661,0.0,73.77546,4.3927355 +2024-04-05 10:00:00+00:00,1.3722229,0.0,68.85293,3.9675484 +2024-04-05 11:00:00+00:00,2.1225586,0.00048828125,65.1597,3.4425032 +2024-04-05 12:00:00+00:00,2.8171692,0.0,61.798595,2.6294138 +2024-04-05 13:00:00+00:00,2.7470703,0.0,66.47504,2.8987494 +2024-04-05 14:00:00+00:00,2.862091,0.0,66.05948,2.1874442 +2024-04-05 15:00:00+00:00,3.1221008,0.0,65.42936,1.6219805 +2024-04-05 16:00:00+00:00,3.275055,0.0,68.837265,1.4676224 +2024-04-05 17:00:00+00:00,3.238922,0.0053710938,72.37298,1.1304685 +2024-04-05 18:00:00+00:00,2.559906,0.34814453,76.92364,1.4110612 +2024-04-05 19:00:00+00:00,1.02948,0.7689209,91.27027,2.934389 +2024-04-05 20:00:00+00:00,0.97406006,0.50183105,90.570015,3.8258064 +2024-04-05 21:00:00+00:00,1.0038147,0.24804688,90.21907,4.1996713 +2024-04-05 22:00:00+00:00,1.1123962,0.07543945,89.0317,4.1343365 +2024-04-05 23:00:00+00:00,1.0799866,0.05126953,88.99881,4.2748146 +2024-04-06 00:00:00+00:00,1.1556702,0.01953125,88.0825,4.157231 +2024-04-06 01:00:00+00:00,1.1750183,0.0032958984,87.81359,3.6410134 +2024-04-06 02:00:00+00:00,1.2488098,0.00012207031,86.22683,2.9527354 +2024-04-06 03:00:00+00:00,1.2239075,0.0,84.72487,2.5913115 +2024-04-06 04:00:00+00:00,1.2538757,0.0,83.65431,2.3197076 +2024-04-06 05:00:00+00:00,1.2096863,0.0,83.883446,2.3403366 +2024-04-06 06:00:00+00:00,1.2062073,0.0,83.76269,2.0455139 +2024-04-06 07:00:00+00:00,1.8739319,0.0,83.5234,1.9489526 +2024-04-06 08:00:00+00:00,2.2813416,0.0,81.635025,1.5965029 +2024-04-06 09:00:00+00:00,3.1434631,0.0,78.9221,1.0382011 +2024-04-06 10:00:00+00:00,3.6418457,0.0,77.66939,0.42189798 +2024-04-06 11:00:00+00:00,4.059662,0.0,79.04218,1.4116247 +2024-04-06 12:00:00+00:00,4.0786133,0.0,81.646736,2.3658469 +2024-04-06 13:00:00+00:00,3.4353333,0.001953125,87.83113,2.5699515 +2024-04-06 14:00:00+00:00,3.2339783,0.060058594,90.4856,1.908235 +2024-04-06 15:00:00+00:00,3.2747192,0.17407227,92.02422,1.7015759 +2024-04-06 16:00:00+00:00,3.1982727,0.20092773,94.53055,1.503611 +2024-04-06 17:00:00+00:00,3.1080017,0.07714844,95.3775,0.69432306 +2024-04-06 18:00:00+00:00,3.1045837,0.030761719,95.39244,0.8532745 +2024-04-06 19:00:00+00:00,3.3203125,0.12133789,96.30333,1.1892974 +2024-04-06 20:00:00+00:00,3.2562866,0.02734375,96.547745,1.6479532 +2024-04-06 21:00:00+00:00,3.9176636,0.018798828,94.64968,1.3854691 +2024-04-06 22:00:00+00:00,4.223419,0.20605469,94.7386,1.1205533 +2024-04-06 23:00:00+00:00,3.9304504,0.6230469,96.39352,0.9685663 +2024-04-07 00:00:00+00:00,3.7088928,0.93408203,97.19898,0.8801473 +2024-04-07 01:00:00+00:00,4.2461243,0.11352539,96.59502,0.7751249 +2024-04-07 02:00:00+00:00,4.3559875,0.0021972656,97.79733,0.17911695 +2024-04-07 03:00:00+00:00,4.27005,0.040527344,98.69011,1.0604032 +2024-04-07 04:00:00+00:00,4.7933044,0.022949219,99.17988,1.1160059 +2024-04-07 05:00:00+00:00,5.000183,0.0014648438,99.1999,2.099167 +2024-04-07 06:00:00+00:00,5.1367493,0.0024414062,98.148346,3.3830068 +2024-04-07 07:00:00+00:00,5.007141,0.22973633,97.35839,4.0115714 +2024-04-07 08:00:00+00:00,5.6963196,0.11694336,97.70899,4.630433 +2024-04-07 09:00:00+00:00,7.418915,0.14990234,94.24034,7.8342495 +2024-04-07 10:00:00+00:00,8.303009,0.0,87.47245,7.1422944 +2024-04-07 11:00:00+00:00,9.585297,0.0009765625,79.46367,6.462541 +2024-04-07 12:00:00+00:00,11.091217,0.0,67.476425,7.221569 +2024-04-07 13:00:00+00:00,11.053253,0.0,69.5264,7.632928 +2024-04-07 14:00:00+00:00,10.586945,0.0,73.485695,6.434438 +2024-04-07 15:00:00+00:00,9.848358,0.0,78.04891,6.341283 +2024-04-07 16:00:00+00:00,8.807739,0.0,83.452354,6.6762614 +2024-04-07 17:00:00+00:00,7.8778687,0.0,83.52147,7.1858873 +2024-04-07 18:00:00+00:00,7.0188293,0.0,87.15293,6.419716 +2024-04-07 19:00:00+00:00,6.440399,0.0,91.355896,5.1321473 +2024-04-07 20:00:00+00:00,6.057617,0.0,92.910416,4.2871323 +2024-04-07 21:00:00+00:00,5.4489746,0.0,95.36821,4.1434455 +2024-04-07 22:00:00+00:00,5.2469788,0.0,96.071526,4.256836 +2024-04-07 23:00:00+00:00,5.362732,0.0,96.09956,5.027804 +2024-04-08 00:00:00+00:00,5.583313,0.22949219,95.964096,4.978541 +2024-04-08 01:00:00+00:00,5.839386,0.390625,95.08951,5.3183937 +2024-04-08 02:00:00+00:00,6.115387,0.28271484,94.42503,5.176825 +2024-04-08 03:00:00+00:00,6.204376,0.24121094,94.33661,4.9748926 +2024-04-08 04:00:00+00:00,6.256775,0.56884766,94.15594,5.5880775 +2024-04-08 05:00:00+00:00,6.405731,0.26660156,93.640114,4.84716 +2024-04-08 06:00:00+00:00,6.4943237,0.061523438,93.178085,3.8223977 +2024-04-08 07:00:00+00:00,7.032501,0.0,91.998375,3.3824284 +2024-04-08 08:00:00+00:00,7.870514,0.0,87.621994,2.7761152 +2024-04-08 09:00:00+00:00,8.843231,0.0,84.39452,2.7468123 +2024-04-08 10:00:00+00:00,9.430084,0.0,81.24906,3.4527724 +2024-04-08 11:00:00+00:00,10.178864,0.0,74.085236,3.622774 +2024-04-08 12:00:00+00:00,10.066559,0.0,74.297745,3.8406792 +2024-04-08 13:00:00+00:00,10.1319275,0.0,80.45738,4.570635 +2024-04-08 14:00:00+00:00,9.349884,0.0,81.595894,3.85909 +2024-04-08 15:00:00+00:00,8.532288,0.0,86.46512,3.9998019 +2024-04-08 16:00:00+00:00,7.9585266,0.0,88.28384,3.907085 +2024-04-08 17:00:00+00:00,7.504669,0.0,90.1686,3.2543063 +2024-04-08 18:00:00+00:00,6.602417,0.0,92.893936,2.8786297 +2024-04-08 19:00:00+00:00,6.1622925,0.0,93.57551,2.2844539 +2024-04-08 20:00:00+00:00,5.9048157,0.0,94.7666,1.8553166 +2024-04-08 21:00:00+00:00,5.800873,0.0,95.247475,1.6507142 +2024-04-08 22:00:00+00:00,5.6727295,0.0,95.82989,1.6120921 +2024-04-08 23:00:00+00:00,5.642273,0.0,95.93378,1.219395 +2024-04-09 00:00:00+00:00,5.5124817,0.0,96.25256,1.0738498 +2024-04-09 01:00:00+00:00,5.445526,0.0,96.26792,1.1175203 +2024-04-09 02:00:00+00:00,5.396881,0.0,96.54453,0.70584744 +2024-04-09 03:00:00+00:00,5.3457947,0.0,96.836586,0.6387923 +2024-04-09 04:00:00+00:00,5.303009,0.0,97.38588,0.37250495 +2024-04-09 05:00:00+00:00,5.2242737,0.0,97.598564,0.61612296 +2024-04-09 06:00:00+00:00,5.4067993,0.0,97.53114,0.14009172 +2024-04-09 07:00:00+00:00,6.219513,0.0,96.18781,0.88511133 +2024-04-09 08:00:00+00:00,7.116974,0.0043945312,94.51706,1.0116982 +2024-04-09 09:00:00+00:00,8.435913,0.03857422,90.67555,0.6310161 +2024-04-09 10:00:00+00:00,9.7752075,0.030761719,85.9361,0.55993694 +2024-04-09 11:00:00+00:00,10.251984,0.0053710938,85.48323,1.113429 +2024-04-09 12:00:00+00:00,10.772369,0.01171875,84.58219,1.5046566 +2024-04-09 13:00:00+00:00,9.683533,0.5905762,86.083824,2.749221 +2024-04-09 14:00:00+00:00,9.157806,0.99072266,90.24375,2.4404583 +2024-04-09 15:00:00+00:00,9.13562,1.2834473,91.1824,1.6256381 +2024-04-09 16:00:00+00:00,9.777985,0.0009765625,86.83265,1.5393193 +2024-04-09 17:00:00+00:00,9.204803,1.3706055,90.29174,1.4547275 +2024-04-09 18:00:00+00:00,8.1716,0.96435547,95.25483,3.4133775 +2024-04-09 19:00:00+00:00,7.132904,0.9724121,99.47346,4.445505 +2024-04-09 20:00:00+00:00,6.6409607,1.796875,97.85006,5.582636 +2024-04-09 21:00:00+00:00,6.7190247,0.907959,93.626396,5.519356 +2024-04-09 22:00:00+00:00,6.520508,0.027832031,91.67238,5.6951194 +2024-04-09 23:00:00+00:00,6.447052,0.0,91.47698,4.4391713 +2024-04-10 00:00:00+00:00,5.8612366,0.0068359375,94.68083,3.9453177 +2024-04-10 01:00:00+00:00,6.013733,0.4609375,97.0,4.6546755 +2024-04-10 02:00:00+00:00,6.4308167,0.3334961,95.80237,6.1732044 +2024-04-10 03:00:00+00:00,6.4649963,0.25195312,95.788376,6.191921 +2024-04-10 04:00:00+00:00,6.1842957,0.41748047,95.445114,5.3211393 +2024-04-10 05:00:00+00:00,6.4044495,0.47851562,94.88219,5.9993978 +2024-04-10 06:00:00+00:00,6.6148376,0.07714844,89.49442,5.8514433 +2024-04-10 07:00:00+00:00,6.4869385,0.00024414062,91.99851,5.3572426 +2024-04-10 08:00:00+00:00,7.3173523,0.0,84.13718,3.9165316 +2024-04-10 09:00:00+00:00,9.34787,0.00024414062,72.87369,4.93468 +2024-04-10 10:00:00+00:00,10.213989,0.00048828125,65.46654,5.497218 +2024-04-10 11:00:00+00:00,11.356171,0.0,43.57698,8.563902 +2024-04-10 12:00:00+00:00,10.854279,0.0,39.590343,10.409598 +2024-04-10 13:00:00+00:00,10.665405,0.0,40.304874,9.326763 +2024-04-10 14:00:00+00:00,10.488556,0.0,39.949303,8.818977 +2024-04-10 15:00:00+00:00,10.167572,0.0,41.238125,8.520018 +2024-04-10 16:00:00+00:00,9.75296,0.0,42.607414,7.859218 +2024-04-10 17:00:00+00:00,8.974548,0.0,47.60522,6.480658 +2024-04-10 18:00:00+00:00,7.9048767,0.0,53.902416,5.596126 +2024-04-10 19:00:00+00:00,7.6784973,0.0,53.05217,5.312101 +2024-04-10 20:00:00+00:00,6.948883,0.0,56.583202,5.3164773 +2024-04-10 21:00:00+00:00,6.622162,0.0,61.776062,4.92085 +2024-04-10 22:00:00+00:00,6.5922546,0.0,62.416744,5.6402307 +2024-04-10 23:00:00+00:00,6.378296,0.12060547,67.040886,6.9327173 +2024-04-11 00:00:00+00:00,5.8386536,0.05517578,77.13679,6.3210664 +2024-04-11 01:00:00+00:00,6.0641174,0.0690918,78.3705,5.136735 +2024-04-11 02:00:00+00:00,5.8054504,0.0859375,87.686584,4.9802976 +2024-04-11 03:00:00+00:00,5.600464,0.25463867,92.61265,4.661902 +2024-04-11 04:00:00+00:00,5.480133,0.61083984,94.92068,5.4872603 +2024-04-11 05:00:00+00:00,5.7559814,0.6660156,93.31199,7.1845083 +2024-04-11 06:00:00+00:00,6.0278015,0.20019531,91.850494,7.1622467 +2024-04-11 07:00:00+00:00,6.0049133,0.0078125,94.831375,6.659822 +2024-04-11 08:00:00+00:00,6.3566895,0.0029296875,96.65289,4.17604 +2024-04-11 09:00:00+00:00,7.678192,0.0,90.4706,3.0641859 +2024-04-11 10:00:00+00:00,8.682892,0.016601562,83.597275,3.760225 +2024-04-11 11:00:00+00:00,9.776825,0.001953125,80.04365,3.6545496 +2024-04-11 12:00:00+00:00,11.436768,0.0,75.40241,2.8410451 +2024-04-11 13:00:00+00:00,14.610077,0.0,57.9077,4.404601 +2024-04-11 14:00:00+00:00,15.743347,0.0,47.571316,7.2237678 +2024-04-11 15:00:00+00:00,15.53537,0.0,48.721184,6.3266206 +2024-04-11 16:00:00+00:00,14.70108,0.0,52.82286,5.0771704 +2024-04-11 17:00:00+00:00,13.872314,0.0,56.60318,3.411041 +2024-04-11 18:00:00+00:00,12.889435,0.0,54.516476,3.157088 +2024-04-11 19:00:00+00:00,12.66626,0.0,53.22644,2.8113513 +2024-04-11 20:00:00+00:00,11.213654,0.0,58.33933,1.5595393 +2024-04-11 21:00:00+00:00,9.429657,0.0,67.98816,1.3483629 +2024-04-11 22:00:00+00:00,8.507965,0.0,75.03466,1.6798551 +2024-04-11 23:00:00+00:00,8.948822,0.0,69.699295,1.7260531 +2024-04-12 00:00:00+00:00,8.6684265,0.0,69.5155,1.2256329 +2024-04-12 01:00:00+00:00,9.022644,0.0,66.86246,1.1256924 +2024-04-12 02:00:00+00:00,8.332367,0.0,71.40455,1.1937727 +2024-04-12 03:00:00+00:00,7.4996033,0.0,77.34352,1.5535309 +2024-04-12 04:00:00+00:00,7.092987,0.0,77.84567,1.8500116 +2024-04-12 05:00:00+00:00,7.0105896,0.0,80.531624,1.2041076 +2024-04-12 06:00:00+00:00,7.582489,0.0,74.90967,1.3915985 +2024-04-12 07:00:00+00:00,8.150848,0.0,69.637405,2.059132 +2024-04-12 08:00:00+00:00,7.643341,0.16748047,84.172806,3.4630537 +2024-04-12 09:00:00+00:00,7.4018555,0.9555664,93.17435,2.8055942 +2024-04-12 10:00:00+00:00,7.4789124,1.3427734,95.91663,3.313735 +2024-04-12 11:00:00+00:00,7.6111755,0.20751953,94.726845,3.537191 +2024-04-12 12:00:00+00:00,8.015289,0.00048828125,93.873886,2.4872935 +2024-04-12 13:00:00+00:00,8.2464905,0.0,96.348175,3.0490415 +2024-04-12 14:00:00+00:00,8.671051,0.0,93.31881,3.1163816 +2024-04-12 15:00:00+00:00,9.060913,0.0,89.39255,2.5676875 +2024-04-12 16:00:00+00:00,8.939178,0.0,91.12088,2.431833 +2024-04-12 17:00:00+00:00,8.80191,0.0,91.12244,2.2349834 +2024-04-12 18:00:00+00:00,8.639252,0.0,90.048454,2.9563708 +2024-04-12 19:00:00+00:00,8.2908325,0.0,95.547066,2.945219 +2024-04-12 20:00:00+00:00,8.200775,0.0,91.333244,2.269738 +2024-04-12 21:00:00+00:00,8.272858,0.0,87.144875,1.7102059 +2024-04-12 22:00:00+00:00,8.403564,0.0,84.493126,1.4255095 +2024-04-12 23:00:00+00:00,8.228668,0.0,83.93809,1.3249124 +2024-04-13 00:00:00+00:00,8.183228,0.0,81.55364,1.6917689 +2024-04-13 01:00:00+00:00,7.9303284,0.0,82.71886,1.7568287 +2024-04-13 02:00:00+00:00,7.6835938,0.0,81.914764,2.2395387 +2024-04-13 03:00:00+00:00,7.501129,0.0,84.265,3.4686656 +2024-04-13 04:00:00+00:00,7.3115234,0.001953125,88.87397,3.7336433 +2024-04-13 05:00:00+00:00,7.287262,0.4765625,93.558975,3.3148549 +2024-04-13 06:00:00+00:00,7.623108,0.7578125,94.867355,4.016469 +2024-04-13 07:00:00+00:00,8.809967,0.06933594,91.013885,3.5732641 +2024-04-13 08:00:00+00:00,10.649689,0.0,81.54166,4.7078857 +2024-04-13 09:00:00+00:00,11.696869,0.0,73.4719,4.9244127 +2024-04-13 10:00:00+00:00,12.900665,0.0,60.227467,4.58824 +2024-04-13 11:00:00+00:00,13.723541,0.0,45.56167,4.4132366 +2024-04-13 12:00:00+00:00,13.754181,0.0,43.740788,5.4770613 +2024-04-13 13:00:00+00:00,14.039093,0.0,44.049236,4.4883537 +2024-04-13 14:00:00+00:00,14.028473,0.0,43.702377,4.5785937 +2024-04-13 15:00:00+00:00,13.257294,0.0,50.436928,4.5992956 +2024-04-13 16:00:00+00:00,12.599457,0.0,51.22513,4.756186 +2024-04-13 17:00:00+00:00,11.409393,0.0,57.440063,3.7886107 +2024-04-13 18:00:00+00:00,9.408997,0.0,80.28808,4.700229 +2024-04-13 19:00:00+00:00,8.55426,0.0,84.72178,4.366379 +2024-04-13 20:00:00+00:00,8.186371,0.0,85.90698,4.426564 +2024-04-13 21:00:00+00:00,7.6889343,0.0,86.140076,5.253615 +2024-04-13 22:00:00+00:00,7.113434,0.38183594,95.302826,5.1013618 +2024-04-13 23:00:00+00:00,7.4269104,0.13769531,97.33765,4.74804 +2024-04-14 00:00:00+00:00,7.5576477,0.5883789,95.368454,4.9457803 +2024-04-14 01:00:00+00:00,7.3591003,0.60498047,95.86224,5.8684635 +2024-04-14 02:00:00+00:00,7.8615417,0.3010254,85.62282,4.7688823 +2024-04-14 03:00:00+00:00,7.572174,0.0017089844,76.14962,6.028835 +2024-04-14 04:00:00+00:00,7.1187134,0.00048828125,71.48448,5.36974 +2024-04-14 05:00:00+00:00,7.387909,0.0,63.789837,5.688304 +2024-04-14 06:00:00+00:00,7.682617,0.0,60.97128,5.5075054 +2024-04-14 07:00:00+00:00,9.014008,0.0,53.73931,6.157242 +2024-04-14 08:00:00+00:00,10.132294,0.0,46.03289,8.1826935 +2024-04-14 09:00:00+00:00,10.855621,0.0,39.463215,8.544571 +2024-04-14 10:00:00+00:00,11.310822,0.0,35.07463,9.34015 +2024-04-14 11:00:00+00:00,11.357574,0.0,35.558823,9.741136 +2024-04-14 12:00:00+00:00,11.369476,0.0,35.81189,9.452008 +2024-04-14 13:00:00+00:00,11.219391,0.0,36.484642,8.701925 +2024-04-14 14:00:00+00:00,11.209961,0.0,36.351498,7.944374 +2024-04-14 15:00:00+00:00,11.018524,0.0,35.50636,7.4915776 +2024-04-14 16:00:00+00:00,10.511078,0.0,36.538483,6.93826 +2024-04-14 17:00:00+00:00,9.80838,0.0,39.602734,6.0665803 +2024-04-14 18:00:00+00:00,8.780792,0.0,45.968067,4.597508 +2024-04-14 19:00:00+00:00,8.154205,0.0,45.81874,3.8005126 +2024-04-14 20:00:00+00:00,7.5134583,0.0,49.301525,2.8278544 +2024-04-14 21:00:00+00:00,6.9224854,0.0,55.689663,1.775866 +2024-04-14 22:00:00+00:00,6.3174133,0.0,58.251587,1.2482972 +2024-04-14 23:00:00+00:00,5.316742,0.0,70.45517,1.2226496 +2024-04-15 00:00:00+00:00,4.4136047,0.0,81.72863,1.2536682 +2024-04-15 01:00:00+00:00,3.3535461,0.0,91.236,1.2180989 +2024-04-15 02:00:00+00:00,2.4958801,0.0,98.08248,1.2497408 +2024-04-15 03:00:00+00:00,2.0455017,0.0,99.43336,1.0991486 +2024-04-15 04:00:00+00:00,1.8372192,0.0,98.24565,0.9842058 +2024-04-15 05:00:00+00:00,1.9533997,0.0,97.02891,0.9996671 +2024-04-15 06:00:00+00:00,3.744934,0.0,78.74961,0.86757416 +2024-04-15 07:00:00+00:00,4.7121277,0.0,61.969395,1.8758883 +2024-04-15 08:00:00+00:00,5.2005615,0.0,59.954258,1.6872965 +2024-04-15 09:00:00+00:00,6.0125427,0.0,58.148182,1.8162686 +2024-04-15 10:00:00+00:00,6.7383423,0.0,55.240467,2.0333214 +2024-04-15 11:00:00+00:00,7.2642517,0.0,55.511852,1.7377107 +2024-04-15 12:00:00+00:00,7.62204,0.0,55.90734,1.3174257 +2024-04-15 13:00:00+00:00,8.311676,0.0,50.93004,1.55097 +2024-04-15 14:00:00+00:00,8.514557,0.0,48.942,1.450085 +2024-04-15 15:00:00+00:00,8.600372,0.0,52.050358,1.6369854 +2024-04-15 16:00:00+00:00,8.039215,0.0,65.00151,2.3868659 +2024-04-15 17:00:00+00:00,7.0479126,0.0,71.66145,2.681977 +2024-04-15 18:00:00+00:00,6.405121,0.0,75.82724,1.5222374 +2024-04-15 19:00:00+00:00,6.042877,0.0,74.327,0.7372167 +2024-04-15 20:00:00+00:00,5.7478333,0.0,76.27756,0.907608 +2024-04-15 21:00:00+00:00,4.6719666,0.0,82.888565,1.1218538 +2024-04-15 22:00:00+00:00,3.632721,0.0,91.688484,1.3418802 +2024-04-15 23:00:00+00:00,3.5167542,0.0,87.51173,1.7300353 +2024-04-16 00:00:00+00:00,3.7937927,0.0,78.48399,2.0231073 +2024-04-16 01:00:00+00:00,3.5827637,0.0,76.23539,2.592933 +2024-04-16 02:00:00+00:00,3.9397888,0.0,69.49039,2.7157562 +2024-04-16 03:00:00+00:00,4.3667297,0.0,60.342274,2.8788426 +2024-04-16 04:00:00+00:00,4.383301,0.0,56.3757,3.3286338 +2024-04-16 05:00:00+00:00,4.425934,0.0,54.671463,3.472846 +2024-04-16 06:00:00+00:00,4.9854736,0.0,52.07446,4.024436 +2024-04-16 07:00:00+00:00,5.3783264,0.0,50.010216,4.3114324 +2024-04-16 08:00:00+00:00,6.2727966,0.0,46.706924,4.383973 +2024-04-16 09:00:00+00:00,7.2258606,0.0,42.62757,4.0250287 +2024-04-16 10:00:00+00:00,8.024841,0.0,40.442867,3.4474206 +2024-04-16 11:00:00+00:00,8.603424,0.0,37.6911,3.2729356 +2024-04-16 12:00:00+00:00,9.006256,0.0,35.091652,3.3670917 +2024-04-16 13:00:00+00:00,9.939209,0.0,34.87717,2.3868937 +2024-04-16 14:00:00+00:00,10.279755,0.0,34.018215,1.9851272 +2024-04-16 15:00:00+00:00,10.424896,0.0,34.48286,1.741848 +2024-04-16 16:00:00+00:00,10.297791,0.0,37.608284,1.5478538 +2024-04-16 17:00:00+00:00,9.724518,0.0,41.555443,1.5112023 +2024-04-16 18:00:00+00:00,8.837433,0.0,47.154694,0.9557418 +2024-04-16 19:00:00+00:00,8.090088,0.0,50.441116,0.881064 +2024-04-16 20:00:00+00:00,7.133148,0.0,58.639423,0.9867746 +2024-04-16 21:00:00+00:00,6.8372498,0.0,60.1319,0.61458623 +2024-04-16 22:00:00+00:00,6.584564,0.0,59.880665,0.23636632 +2024-04-16 23:00:00+00:00,6.293396,0.0,62.505054,0.4905073 +2024-04-17 00:00:00+00:00,5.907318,0.0,68.65655,0.5485432 +2024-04-17 01:00:00+00:00,4.5300293,0.0,69.411766,0.4820352 +2024-04-17 02:00:00+00:00,4.1789856,0.0,71.09936,0.14866562 +2024-04-17 03:00:00+00:00,3.9931335,0.0,74.27267,0.3541879 +2024-04-17 04:00:00+00:00,3.6181946,0.0,77.23534,0.5994029 +2024-04-17 05:00:00+00:00,3.3575745,0.0,76.331795,0.5095528 +2024-04-17 06:00:00+00:00,3.799408,0.0,74.89869,0.36096787 +2024-04-17 07:00:00+00:00,5.063141,0.0,69.5518,0.59510976 +2024-04-17 08:00:00+00:00,6.000458,0.0,62.738403,0.6508284 +2024-04-17 09:00:00+00:00,7.006256,0.0,58.675606,1.01998 +2024-04-17 10:00:00+00:00,8.151215,0.0,52.080887,1.5475453 +2024-04-17 11:00:00+00:00,8.976227,0.0,44.03083,2.2114937 +2024-04-17 12:00:00+00:00,9.302277,0.0,39.753822,3.5267403 +2024-04-17 13:00:00+00:00,8.510345,0.00024414062,42.464474,4.84201 +2024-04-17 14:00:00+00:00,7.5698853,0.009521484,51.027622,5.4526696 +2024-04-17 15:00:00+00:00,7.4406433,0.0063476562,46.608578,4.7019596 +2024-04-17 16:00:00+00:00,7.4307556,0.013183594,47.644913,2.4173992 +2024-04-17 17:00:00+00:00,7.538025,0.12207031,45.99085,2.7818277 +2024-04-17 18:00:00+00:00,6.998993,0.030273438,48.375046,3.3628855 +2024-04-17 19:00:00+00:00,5.926544,0.0,54.992638,2.6485598 +2024-04-17 20:00:00+00:00,5.020233,0.0,54.58171,2.7746475 +2024-04-17 21:00:00+00:00,4.1767273,0.0,61.59306,3.0931168 +2024-04-17 22:00:00+00:00,3.967163,0.0,57.35077,3.6333122 +2024-04-17 23:00:00+00:00,3.7339172,0.0,55.250343,3.9055321 +2024-04-18 00:00:00+00:00,3.460785,0.0,55.180534,4.2902446 +2024-04-18 01:00:00+00:00,3.2355042,0.0,55.083496,4.07851 +2024-04-18 02:00:00+00:00,3.0948792,0.0,55.3721,3.84697 +2024-04-18 03:00:00+00:00,2.89563,0.0,56.17879,3.5009282 +2024-04-18 04:00:00+00:00,2.58786,0.0,58.36386,2.9778469 +2024-04-18 05:00:00+00:00,2.6367493,0.0,59.88101,2.5220082 +2024-04-18 06:00:00+00:00,3.4404602,0.0,55.35571,2.4207675 +2024-04-18 07:00:00+00:00,4.119995,0.0,52.16807,2.756306 +2024-04-18 08:00:00+00:00,4.701996,0.0,51.757797,2.0650237 +2024-04-18 09:00:00+00:00,5.163849,0.0,53.11599,1.1829072 +2024-04-18 10:00:00+00:00,5.5922546,0.0,52.937584,0.5733803 +2024-04-18 11:00:00+00:00,5.8121033,0.0,51.759533,1.2115383 +2024-04-18 12:00:00+00:00,6.1473694,0.0,47.60745,1.149158 +2024-04-18 13:00:00+00:00,6.07016,0.00024414062,49.39522,1.3229871 +2024-04-18 14:00:00+00:00,5.9598083,0.0,51.741344,1.8392844 +2024-04-18 15:00:00+00:00,5.651703,0.0,58.15219,2.3261092 +2024-04-18 16:00:00+00:00,5.5317383,0.0,66.02381,2.8503861 +2024-04-18 17:00:00+00:00,5.681427,0.00048828125,62.16824,3.9141223 +2024-04-18 18:00:00+00:00,5.1797485,0.0,65.63876,4.687809 +2024-04-18 19:00:00+00:00,4.914154,0.008300781,64.75839,3.9605267 +2024-04-18 20:00:00+00:00,4.5779724,0.01171875,69.09152,3.1898162 +2024-04-18 21:00:00+00:00,4.3075256,0.0,71.2205,2.4322326 +2024-04-18 22:00:00+00:00,3.9320984,0.0068359375,75.18086,2.3025494 +2024-04-18 23:00:00+00:00,3.4595947,0.01171875,79.01439,2.5701532 +2024-04-19 00:00:00+00:00,2.9936829,0.0,81.04295,2.6419718 +2024-04-19 01:00:00+00:00,2.3411255,0.0,70.66642,2.444207 +2024-04-19 02:00:00+00:00,2.0074768,0.0,70.396385,2.264735 +2024-04-19 03:00:00+00:00,1.7460022,0.0,72.90628,2.2694974 +2024-04-19 04:00:00+00:00,1.5421448,0.0,76.07785,2.4933712 +2024-04-19 05:00:00+00:00,1.4578857,0.0,78.07483,2.8478475 +2024-04-19 06:00:00+00:00,1.5808411,0.0,78.94316,2.9633703 +2024-04-19 07:00:00+00:00,2.2428894,0.0015869141,75.55045,3.2801414 +2024-04-19 08:00:00+00:00,3.322052,0.00012207031,66.845634,3.655713 +2024-04-19 09:00:00+00:00,4.4273987,0.0,57.25493,2.8970692 +2024-04-19 10:00:00+00:00,5.0886536,0.0063476562,50.83268,3.4570482 +2024-04-19 11:00:00+00:00,5.4880676,0.021972656,49.527313,2.9043322 +2024-04-19 12:00:00+00:00,5.635895,0.021972656,48.554024,2.8652468 +2024-04-19 13:00:00+00:00,4.7360535,0.1105957,64.46222,2.6683185 +2024-04-19 14:00:00+00:00,4.8296814,0.11010742,63.08271,1.9867463 +2024-04-19 15:00:00+00:00,4.8850403,0.09448242,66.08497,1.580591 +2024-04-19 16:00:00+00:00,4.934906,0.018798828,66.717896,1.3653902 +2024-04-19 17:00:00+00:00,5.0014343,0.0029296875,65.10056,1.2648648 +2024-04-19 18:00:00+00:00,4.8631897,0.0,65.41738,1.2729033 +2024-04-19 19:00:00+00:00,4.4740906,0.0,64.07893,0.5312906 +2024-04-19 20:00:00+00:00,4.297943,0.0,63.447594,0.5488996 +2024-04-19 21:00:00+00:00,4.1964417,0.0,65.32497,1.3224884 +2024-04-19 22:00:00+00:00,4.023468,0.0,69.06662,1.2497987 +2024-04-19 23:00:00+00:00,3.7143555,0.0,71.217155,1.1675766 +2024-04-20 00:00:00+00:00,3.3692932,0.0,72.923935,1.123259 +2024-04-20 01:00:00+00:00,2.891449,0.0,77.07292,1.1998323 +2024-04-20 02:00:00+00:00,2.452301,0.0,82.41941,1.174257 +2024-04-20 03:00:00+00:00,2.0661926,0.0,86.1019,1.1427456 +2024-04-20 04:00:00+00:00,1.7898865,0.0,87.64627,1.1902772 +2024-04-20 05:00:00+00:00,1.8794861,0.0,86.79109,1.1580029 +2024-04-20 06:00:00+00:00,2.7577515,0.0,78.67651,1.1228839 +2024-04-20 07:00:00+00:00,3.703827,0.0,69.42961,1.2918022 +2024-04-20 08:00:00+00:00,4.925995,0.0,63.69572,1.67123 +2024-04-20 09:00:00+00:00,6.256195,0.009765625,57.98156,3.1262333 +2024-04-20 10:00:00+00:00,6.827118,0.015625,52.123795,5.021446 +2024-04-20 11:00:00+00:00,7.033539,0.015625,54.32853,5.055565 +2024-04-20 12:00:00+00:00,7.958893,0.018554688,44.74305,5.687312 +2024-04-20 13:00:00+00:00,8.393951,0.017333984,42.165142,5.3817077 +2024-04-20 14:00:00+00:00,8.578583,0.011474609,41.552223,5.3040137 +2024-04-20 15:00:00+00:00,9.056946,0.0034179688,38.995533,4.6912947 +2024-04-20 16:00:00+00:00,9.332764,0.0,35.30137,4.6648016 +2024-04-20 17:00:00+00:00,9.138763,0.0,35.320248,4.3427486 +2024-04-20 18:00:00+00:00,8.243469,0.0,43.229992,4.269438 +2024-04-20 19:00:00+00:00,7.316986,0.0,45.130405,4.387654 +2024-04-20 20:00:00+00:00,6.619293,0.0,45.65122,5.0505805 +2024-04-20 21:00:00+00:00,5.8664856,0.0,46.031357,5.3282022 +2024-04-20 22:00:00+00:00,5.3388977,0.0,46.96364,4.686637 +2024-04-20 23:00:00+00:00,4.6925964,0.0,54.778156,4.3649163 +2024-04-21 00:00:00+00:00,4.1888733,0.0,60.331223,4.3623347 +2024-04-21 01:00:00+00:00,3.8333435,0.0,64.14085,4.5238247 +2024-04-21 02:00:00+00:00,3.6012878,0.0,63.107906,4.256157 +2024-04-21 03:00:00+00:00,3.403839,0.0,62.945267,4.1988597 +2024-04-21 04:00:00+00:00,3.3125305,0.0,62.40034,3.9446445 +2024-04-21 05:00:00+00:00,3.4474182,0.0,62.292053,3.8043828 +2024-04-21 06:00:00+00:00,4.173004,0.0,58.115013,4.5042467 +2024-04-21 07:00:00+00:00,4.9967346,0.0,53.03405,5.7806773 +2024-04-21 08:00:00+00:00,5.8616943,0.0,46.762444,5.4034033 +2024-04-21 09:00:00+00:00,6.614746,0.0,36.300045,5.162158 +2024-04-21 10:00:00+00:00,7.2513733,0.0,31.443113,4.8601317 +2024-04-21 11:00:00+00:00,7.8645325,0.0,30.483639,4.633645 +2024-04-21 12:00:00+00:00,8.421722,0.0,27.942327,4.6259484 +2024-04-21 13:00:00+00:00,8.674438,0.0,28.535294,4.146007 +2024-04-21 14:00:00+00:00,8.990784,0.0,28.79895,3.99873 +2024-04-21 15:00:00+00:00,9.124756,0.0,28.395012,4.006472 +2024-04-21 16:00:00+00:00,8.986053,0.0,28.647171,3.936831 +2024-04-21 17:00:00+00:00,8.573395,0.0,29.681648,3.4472418 +2024-04-21 18:00:00+00:00,7.77594,0.0,32.626854,2.5631654 +2024-04-21 19:00:00+00:00,7.3971863,0.0,31.433374,2.1327627 +2024-04-21 20:00:00+00:00,6.579468,0.0,29.696518,1.9876478 +2024-04-21 21:00:00+00:00,5.4721985,0.0,33.986256,1.9422133 +2024-04-21 22:00:00+00:00,4.1178894,0.0,46.42848,1.704053 +2024-04-21 23:00:00+00:00,4.034088,0.0,47.840355,1.3909426 +2024-04-22 00:00:00+00:00,3.6875,0.0,55.482407,1.5648953 +2024-04-22 01:00:00+00:00,3.451538,0.0,57.85323,3.3650334 +2024-04-22 02:00:00+00:00,2.5091248,0.0,61.83494,3.6960328 +2024-04-22 03:00:00+00:00,1.9317322,0.0,65.57012,3.1062648 +2024-04-22 04:00:00+00:00,1.4671326,0.0,67.72422,2.9404693 +2024-04-22 05:00:00+00:00,1.2210388,0.0,69.06271,3.1633508 +2024-04-22 06:00:00+00:00,1.1986084,0.0009765625,62.57135,2.8215375 +2024-04-22 07:00:00+00:00,1.7657776,0.0,61.894093,2.027725 +2024-04-22 08:00:00+00:00,2.3908691,0.0,60.00328,1.1456915 +2024-04-22 09:00:00+00:00,2.981598,0.0,55.74398,0.058925465 +2024-04-22 10:00:00+00:00,3.5803833,0.0,55.871094,0.37757307 +2024-04-22 11:00:00+00:00,4.19635,0.0,53.886795,0.85348076 +2024-04-22 12:00:00+00:00,4.8327026,0.0,53.530907,1.0771786 +2024-04-22 13:00:00+00:00,5.337311,0.0,52.14206,1.0279682 +2024-04-22 14:00:00+00:00,5.7859497,0.0,53.85143,1.3910745 +2024-04-22 15:00:00+00:00,6.0417175,0.0,57.808556,1.9697473 +2024-04-22 16:00:00+00:00,5.7957764,0.0,55.25104,2.5905576 +2024-04-22 17:00:00+00:00,6.2478333,0.0,61.868683,2.1314526 +2024-04-22 18:00:00+00:00,6.415863,0.0,65.05884,3.6959677 +2024-04-22 19:00:00+00:00,5.229431,0.0,67.24971,3.8497937 +2024-04-22 20:00:00+00:00,4.482239,0.0,74.725975,2.7157178 +2024-04-22 21:00:00+00:00,4.252777,0.0,76.2895,1.6846927 +2024-04-22 22:00:00+00:00,4.0785217,0.0,76.80307,1.0264502 +2024-04-22 23:00:00+00:00,3.9882507,0.0,77.332085,0.7845331 +2024-04-23 00:00:00+00:00,3.9248657,0.0,78.749,0.3329698 +2024-04-23 01:00:00+00:00,3.7709045,0.0,77.64139,0.0724041 +2024-04-23 02:00:00+00:00,3.6603088,0.0,77.9659,0.467265 +2024-04-23 03:00:00+00:00,3.3385315,0.0,81.05927,1.0064175 +2024-04-23 04:00:00+00:00,2.8139343,0.0,85.78994,1.5297178 +2024-04-23 05:00:00+00:00,3.1366577,0.0,82.46664,1.3897074 +2024-04-23 06:00:00+00:00,4.022705,0.0,75.317276,1.6076818 +2024-04-23 07:00:00+00:00,4.9174805,0.02331543,65.25679,3.0883465 +2024-04-23 08:00:00+00:00,5.610565,0.1439209,64.29889,2.8254883 +2024-04-23 09:00:00+00:00,6.489044,0.03930664,53.615284,4.19208 +2024-04-23 10:00:00+00:00,7.447571,0.0014648438,47.230915,4.719801 +2024-04-23 11:00:00+00:00,8.116516,0.00048828125,42.111946,4.138612 +2024-04-23 12:00:00+00:00,8.5607605,0.00048828125,39.92949,4.189559 +2024-04-23 13:00:00+00:00,8.715454,0.0,42.43622,3.600749 +2024-04-23 14:00:00+00:00,8.91864,0.0,41.67982,3.9156187 +2024-04-23 15:00:00+00:00,8.90329,0.0,42.03324,3.6894202 +2024-04-23 16:00:00+00:00,8.874084,0.0,41.51831,3.7202773 +2024-04-23 17:00:00+00:00,8.439514,0.001953125,44.156746,3.8134673 +2024-04-23 18:00:00+00:00,7.8182983,0.0,51.05476,2.5361798 +2024-04-23 19:00:00+00:00,7.0525208,0.0,52.413044,2.6131065 +2024-04-23 20:00:00+00:00,6.3556824,0.0,57.100655,2.8832939 +2024-04-23 21:00:00+00:00,5.899475,0.001953125,61.217922,3.306443 +2024-04-23 22:00:00+00:00,5.5233154,0.0,63.92855,3.5543165 +2024-04-23 23:00:00+00:00,5.2727966,0.00048828125,65.17146,3.6047792 +2024-04-24 00:00:00+00:00,5.0450745,0.0014648438,66.86217,3.7060091 +2024-04-24 01:00:00+00:00,5.105255,0.001953125,65.548004,3.4136674 +2024-04-24 02:00:00+00:00,4.9095764,0.0,67.38779,3.2556713 +2024-04-24 03:00:00+00:00,4.7877502,0.0,67.6452,3.132599 +2024-04-24 04:00:00+00:00,4.6955566,0.0,67.43901,2.8673396 +2024-04-24 05:00:00+00:00,4.7685547,0.0,65.74544,2.6972296 +2024-04-24 06:00:00+00:00,5.3963623,0.0,62.361176,2.6902933 +2024-04-24 07:00:00+00:00,6.5021973,0.0,54.93966,3.8971038 +2024-04-24 08:00:00+00:00,7.076416,0.0107421875,52.745422,3.666515 +2024-04-24 09:00:00+00:00,7.1688232,0.018554688,53.10156,3.463121 +2024-04-24 10:00:00+00:00,7.5448303,0.0034179688,50.40504,2.9862306 +2024-04-24 11:00:00+00:00,7.9112244,0.022949219,46.854546,2.7350678 +2024-04-24 12:00:00+00:00,8.003998,0.0146484375,48.087677,2.3361795 +2024-04-24 13:00:00+00:00,7.674103,0.10083008,49.82841,1.1917559 +2024-04-24 14:00:00+00:00,7.5698547,0.05053711,53.02451,1.6088953 +2024-04-24 15:00:00+00:00,7.2897644,0.020996094,54.22053,1.2558067 +2024-04-24 16:00:00+00:00,7.097595,0.018554688,56.021725,1.6030777 +2024-04-24 17:00:00+00:00,6.522278,0.103027344,64.68389,1.8161031 +2024-04-24 18:00:00+00:00,5.9430847,0.17675781,70.78577,1.5570128 +2024-04-24 19:00:00+00:00,5.294739,0.20654297,76.06149,1.3432149 +2024-04-24 20:00:00+00:00,4.9407654,0.2524414,78.3583,1.1508412 +2024-04-24 21:00:00+00:00,4.757843,0.12988281,80.36191,0.9959301 +2024-04-24 22:00:00+00:00,4.478302,0.24804688,82.43866,1.0005065 +2024-04-24 23:00:00+00:00,4.220459,0.2919922,83.66206,1.0676312 +2024-04-25 00:00:00+00:00,4.0155334,0.36132812,85.345,1.055581 +2024-04-25 01:00:00+00:00,3.8833618,0.044921875,86.702545,1.3328669 +2024-04-25 02:00:00+00:00,3.7516174,0.0,87.04777,1.3652724 +2024-04-25 03:00:00+00:00,3.638092,0.0009765625,87.63843,1.2827599 +2024-04-25 04:00:00+00:00,3.57724,0.00048828125,88.4414,1.4711014 +2024-04-25 05:00:00+00:00,3.6985474,0.0,87.75682,1.4964194 +2024-04-25 06:00:00+00:00,4.0806885,0.01171875,85.45061,1.5544188 +2024-04-25 07:00:00+00:00,4.5763245,0.19152832,81.86789,1.5397855 +2024-04-25 08:00:00+00:00,5.0164185,0.22595215,78.91693,1.4972743 +2024-04-25 09:00:00+00:00,5.4038696,0.13085938,75.940704,1.8905265 +2024-04-25 10:00:00+00:00,5.840332,0.072753906,75.43754,1.9136623 +2024-04-25 11:00:00+00:00,6.2592163,0.016601562,72.93568,1.5906721 +2024-04-25 12:00:00+00:00,6.7790833,0.0048828125,69.16571,1.5676686 +2024-04-25 13:00:00+00:00,6.665924,0.00390625,69.35728,1.3512064 +2024-04-25 14:00:00+00:00,6.939575,0.0026855469,68.67783,1.0754505 +2024-04-25 15:00:00+00:00,7.094055,0.00024414062,66.7271,0.931481 +2024-04-25 16:00:00+00:00,7.2217407,0.0,62.367226,0.7161129 +2024-04-25 17:00:00+00:00,7.1894836,0.0,58.885742,0.7809062 +2024-04-25 18:00:00+00:00,6.9342957,0.0,61.15625,0.99892926 +2024-04-25 19:00:00+00:00,6.1884766,0.0010986328,66.51751,0.741434 +2024-04-25 20:00:00+00:00,5.919647,0.00012207031,65.37209,0.33953825 +2024-04-25 21:00:00+00:00,5.6572876,0.0,69.43296,0.6232397 +2024-04-25 22:00:00+00:00,5.5875854,0.0,73.00225,1.168253 +2024-04-25 23:00:00+00:00,5.137451,0.00024414062,78.32049,1.372327 +2024-04-26 00:00:00+00:00,4.0327454,0.0,90.69915,1.5724255 +2024-04-26 01:00:00+00:00,3.7532654,0.0,89.46295,1.845319 +2024-04-26 02:00:00+00:00,3.8153381,0.0,85.49382,1.8649486 +2024-04-26 03:00:00+00:00,3.85083,0.0,84.96791,1.7525809 +2024-04-26 04:00:00+00:00,4.1012573,0.0,71.34982,2.1781862 +2024-04-26 05:00:00+00:00,3.874939,0.0,72.27835,3.024815 +2024-04-26 06:00:00+00:00,3.7356567,0.0,77.774345,2.8179574 +2024-04-26 07:00:00+00:00,4.080139,0.010864258,78.03975,2.5943274 +2024-04-26 08:00:00+00:00,4.761841,0.015991211,76.48612,2.6803923 +2024-04-26 09:00:00+00:00,5.9951477,0.00390625,69.07456,2.4863791 +2024-04-26 10:00:00+00:00,6.8957214,0.017089844,62.327488,2.192056 +2024-04-26 11:00:00+00:00,7.480835,0.032226562,58.267715,2.079182 +2024-04-26 12:00:00+00:00,8.114288,0.0546875,53.02577,1.8342217 +2024-04-26 13:00:00+00:00,8.214203,0.009521484,55.45044,2.7652009 +2024-04-26 14:00:00+00:00,8.320465,0.01928711,53.780117,2.5167072 +2024-04-26 15:00:00+00:00,8.326202,0.037597656,53.743797,2.2382083 +2024-04-26 16:00:00+00:00,8.21225,0.026367188,56.657974,1.9499626 +2024-04-26 17:00:00+00:00,8.062103,0.05029297,59.563503,1.7025912 +2024-04-26 18:00:00+00:00,7.758362,0.001953125,66.21208,0.95509946 +2024-04-26 19:00:00+00:00,7.474701,0.0013427734,66.74439,1.0658656 +2024-04-26 20:00:00+00:00,7.0778503,0.014526367,66.32125,1.5928856 +2024-04-26 21:00:00+00:00,6.508423,0.0,63.612644,1.9108456 +2024-04-26 22:00:00+00:00,6.0295715,0.0,68.77411,1.0703753 +2024-04-26 23:00:00+00:00,5.728821,0.0,68.5984,0.79353386 +2024-04-27 00:00:00+00:00,5.498169,0.0,69.75376,0.9672943 +2024-04-27 01:00:00+00:00,4.60907,0.0,71.74274,1.2034513 +2024-04-27 02:00:00+00:00,4.2135315,0.0,73.722145,1.2711867 +2024-04-27 03:00:00+00:00,3.5463257,0.0,81.53453,1.4567157 +2024-04-27 04:00:00+00:00,2.6212463,0.0,94.59507,1.5744503 +2024-04-27 05:00:00+00:00,3.2168274,0.0,91.79008,1.2820845 +2024-04-27 06:00:00+00:00,4.5858765,0.0,76.98324,0.8871858 +2024-04-27 07:00:00+00:00,5.246765,0.0,71.909966,1.3464378 +2024-04-27 08:00:00+00:00,6.204468,0.0,68.40859,1.2751538 +2024-04-27 09:00:00+00:00,7.1713867,0.0,63.49981,1.1226234 +2024-04-27 10:00:00+00:00,8.049866,0.0,58.432182,0.9557798 +2024-04-27 11:00:00+00:00,8.814026,0.0009765625,52.72052,0.6009647 +2024-04-27 12:00:00+00:00,9.385071,0.0,47.02578,0.37362933 +2024-04-27 13:00:00+00:00,9.584106,0.0,45.539234,1.2137225 +2024-04-27 14:00:00+00:00,9.358978,0.0024414062,51.091076,2.042723 +2024-04-27 15:00:00+00:00,9.055542,0.0009765625,54.495182,1.7946904 +2024-04-27 16:00:00+00:00,8.869598,0.00048828125,61.59251,2.817521 +2024-04-27 17:00:00+00:00,8.338715,0.0,62.45854,3.2610574 +2024-04-27 18:00:00+00:00,7.8679504,0.0,67.640015,2.4683347 +2024-04-27 19:00:00+00:00,7.486267,0.0,69.76106,1.3722646 +2024-04-27 20:00:00+00:00,7.089081,0.0,71.034584,0.4359463 +2024-04-27 21:00:00+00:00,6.602051,0.0,77.4318,0.70096564 +2024-04-27 22:00:00+00:00,6.383026,0.0,80.26441,0.77624786 +2024-04-27 23:00:00+00:00,6.404602,0.0,73.613815,1.1063558 +2024-04-28 00:00:00+00:00,6.1905823,0.09277344,69.10425,2.0225573 +2024-04-28 01:00:00+00:00,5.512909,0.0012207031,70.91264,2.5578551 +2024-04-28 02:00:00+00:00,5.294586,0.0,73.08551,2.5374234 +2024-04-28 03:00:00+00:00,5.228058,0.24951172,74.66181,3.037383 +2024-04-28 04:00:00+00:00,5.049164,0.5307617,76.78243,3.603787 +2024-04-28 05:00:00+00:00,4.850128,0.9091797,79.34023,3.82112 +2024-04-28 06:00:00+00:00,4.8979797,0.8701172,80.96774,4.394413 +2024-04-28 07:00:00+00:00,4.99881,0.3959961,84.81943,4.374855 +2024-04-28 08:00:00+00:00,5.2549133,0.104003906,83.90416,4.296364 +2024-04-28 09:00:00+00:00,5.676056,0.24853516,82.199486,4.265175 +2024-04-28 10:00:00+00:00,6.0069885,1.3989258,83.19047,4.54656 +2024-04-28 11:00:00+00:00,6.397644,0.48828125,82.78073,4.522713 +2024-04-28 12:00:00+00:00,6.64682,0.44433594,82.665184,4.5334573 +2024-04-28 13:00:00+00:00,6.575989,0.1809082,86.03838,4.6149035 +2024-04-28 14:00:00+00:00,7.068573,0.018798828,84.10545,4.688749 +2024-04-28 15:00:00+00:00,7.621643,0.00048828125,83.108986,4.530635 +2024-04-28 16:00:00+00:00,7.9348145,0.0,82.61302,4.7353916 +2024-04-28 17:00:00+00:00,8.003021,0.0,83.357635,4.4966016 +2024-04-28 18:00:00+00:00,7.9744873,0.0,83.777145,4.1708117 +2024-04-28 19:00:00+00:00,7.5871277,0.0009765625,86.43382,4.579137 +2024-04-28 20:00:00+00:00,7.4153748,0.16210938,86.72995,4.2614713 +2024-04-28 21:00:00+00:00,7.1901855,0.12011719,86.140205,4.5612197 +2024-04-28 22:00:00+00:00,7.061157,0.023925781,87.288956,4.013466 +2024-04-28 23:00:00+00:00,6.990753,0.52197266,88.31276,3.6469 +2024-04-29 00:00:00+00:00,7.0672607,0.8935547,88.96365,3.339592 +2024-04-29 01:00:00+00:00,7.0477295,2.4177246,91.7085,1.8659027 +2024-04-29 02:00:00+00:00,7.0035706,1.0,91.75287,2.2226489 +2024-04-29 03:00:00+00:00,6.8962708,0.11303711,93.61485,1.0245817 +2024-04-29 04:00:00+00:00,6.8104553,0.0024414062,94.76013,1.0675774 +2024-04-29 05:00:00+00:00,7.303314,0.00048828125,93.196884,4.0187187 +2024-04-29 06:00:00+00:00,7.973175,0.001953125,86.22993,5.5266805 +2024-04-29 07:00:00+00:00,8.575531,0.011474609,81.90838,5.1414967 +2024-04-29 08:00:00+00:00,9.080719,0.0007324219,79.88434,5.7867575 +2024-04-29 09:00:00+00:00,9.745575,0.008300781,73.702156,6.280671 +2024-04-29 10:00:00+00:00,9.83963,0.07324219,71.238205,6.628249 +2024-04-29 11:00:00+00:00,9.906921,0.03515625,71.10199,7.1054225 +2024-04-29 12:00:00+00:00,9.728516,0.03515625,71.93014,6.988843 +2024-04-29 13:00:00+00:00,9.866272,0.0007324219,70.988945,6.583422 +2024-04-29 14:00:00+00:00,10.301819,0.0,68.63367,6.094949 +2024-04-29 15:00:00+00:00,10.334076,0.0,70.14671,5.370132 +2024-04-29 16:00:00+00:00,10.3350525,0.00048828125,70.12314,4.4399157 +2024-04-29 17:00:00+00:00,9.697968,0.0,77.83647,4.140097 +2024-04-29 18:00:00+00:00,8.726105,0.0,84.390274,3.6530101 +2024-04-29 19:00:00+00:00,8.446106,0.0,82.96291,3.6804469 +2024-04-29 20:00:00+00:00,7.713318,0.0,87.23665,3.1584463 +2024-04-29 21:00:00+00:00,7.2232666,0.0,89.86232,2.82387 +2024-04-29 22:00:00+00:00,7.061798,0.0,92.11847,2.582215 +2024-04-29 23:00:00+00:00,6.962311,0.0,92.565636,2.1261163 +2024-04-30 00:00:00+00:00,6.767395,0.0,92.89051,1.6832676 +2024-04-30 01:00:00+00:00,6.602295,0.0,93.70265,1.0137603 +2024-04-30 02:00:00+00:00,6.3303833,0.0,93.87892,0.8134493 +2024-04-30 03:00:00+00:00,6.1614075,0.0,94.12455,0.5102159 +2024-04-30 04:00:00+00:00,5.912689,0.0,95.44503,0.75842786 +2024-04-30 05:00:00+00:00,6.1000977,0.0,95.412796,0.9561791 +2024-04-30 06:00:00+00:00,6.98584,0.0,91.931206,0.74841803 +2024-04-30 07:00:00+00:00,8.258392,0.0,88.20276,0.724378 +2024-04-30 08:00:00+00:00,9.094696,0.0029296875,81.96618,0.5598213 +2024-04-30 09:00:00+00:00,9.947357,0.00048828125,77.198074,0.077476524 +2024-04-30 10:00:00+00:00,10.7630005,0.0,73.51591,0.38415068 +2024-04-30 11:00:00+00:00,10.751556,0.026367188,75.090164,0.6173705 +2024-04-30 12:00:00+00:00,11.376709,0.009277344,74.50444,1.1720618 +2024-04-30 13:00:00+00:00,12.956329,0.0,67.49177,1.2449167 +2024-04-30 14:00:00+00:00,13.684631,0.0,65.87787,0.8429301 +2024-04-30 15:00:00+00:00,13.350739,0.0,73.77886,0.5524691 +2024-04-30 16:00:00+00:00,12.313202,0.0,79.02982,0.73492336 +2024-04-30 17:00:00+00:00,11.350616,0.0,86.08293,0.84361595 +2024-04-30 18:00:00+00:00,10.688538,0.0,80.90212,1.0573696 +2024-04-30 19:00:00+00:00,10.0885315,0.0,77.79492,1.4106649 +2024-04-30 20:00:00+00:00,10.070068,0.0009765625,72.40723,1.4230998 +2024-04-30 21:00:00+00:00,9.603607,0.013671875,72.71415,1.9347988 +2024-04-30 22:00:00+00:00,9.497467,0.0009765625,72.81863,1.8806701 +2024-04-30 23:00:00+00:00,9.628082,0.0,71.75345,1.965621 +2024-05-01 00:00:00+00:00,10.239624,0.0,69.37511,2.071102 +2024-05-01 01:00:00+00:00,9.893402,0.0,68.20996,1.6720743 +2024-05-01 02:00:00+00:00,9.137329,0.0,70.24892,2.0819004 +2024-05-01 03:00:00+00:00,9.389526,0.0,64.40779,2.4620566 +2024-05-01 04:00:00+00:00,9.246033,0.0,62.73049,2.4925423 +2024-05-01 05:00:00+00:00,10.063141,0.0,55.84788,3.0981255 +2024-05-01 06:00:00+00:00,10.915436,0.0,53.02794,3.4027932 +2024-05-01 07:00:00+00:00,11.393036,0.0,57.01251,3.8583665 +2024-05-01 08:00:00+00:00,12.218933,0.0,55.774128,3.5328884 +2024-05-01 09:00:00+00:00,12.985779,0.0,54.529167,3.5465398 +2024-05-01 10:00:00+00:00,13.870087,0.0,51.056313,3.913181 +2024-05-01 11:00:00+00:00,14.934723,0.0,46.93927,4.260437 +2024-05-01 12:00:00+00:00,15.5469055,0.0,46.000587,3.6508586 +2024-05-01 13:00:00+00:00,15.752045,0.0,48.22435,3.4562097 +2024-05-01 14:00:00+00:00,16.148132,0.0,46.056007,3.681794 +2024-05-01 15:00:00+00:00,16.362823,0.0,46.438095,2.9955716 +2024-05-01 16:00:00+00:00,16.00647,0.0,49.500767,3.1267464 +2024-05-01 17:00:00+00:00,15.420563,0.0,50.360046,2.6224718 +2024-05-01 18:00:00+00:00,14.265015,0.0,53.41958,2.189706 +2024-05-01 19:00:00+00:00,13.33017,0.0,56.45411,2.559618 +2024-05-01 20:00:00+00:00,12.89389,0.0,57.48171,2.782973 +2024-05-01 21:00:00+00:00,12.430725,0.0,59.865902,2.9202108 +2024-05-01 22:00:00+00:00,12.473389,0.0,57.17603,3.190044 +2024-05-01 23:00:00+00:00,12.089813,0.0,58.696377,3.1019268 +2024-05-02 00:00:00+00:00,11.940552,0.0,58.714157,3.2389674 +2024-05-02 01:00:00+00:00,11.635712,0.0,60.33913,3.5010443 +2024-05-02 02:00:00+00:00,11.277618,0.0,60.972446,3.6297212 +2024-05-02 03:00:00+00:00,10.917633,0.0,62.45691,3.6121783 +2024-05-02 04:00:00+00:00,10.485779,0.0,62.891483,3.3645892 +2024-05-02 05:00:00+00:00,10.973145,0.0,60.72471,3.8139422 +2024-05-02 06:00:00+00:00,11.540741,0.0,59.283203,4.1272573 +2024-05-02 07:00:00+00:00,12.348419,0.0,58.776344,4.830829 +2024-05-02 08:00:00+00:00,13.294037,0.0,57.325474,4.6732802 +2024-05-02 09:00:00+00:00,14.260101,0.0,55.141907,4.3707075 +2024-05-02 10:00:00+00:00,15.348541,0.0,52.115467,4.326174 +2024-05-02 11:00:00+00:00,16.246826,0.0,49.919994,4.1039114 +2024-05-02 12:00:00+00:00,16.968292,0.0,49.481018,3.8192801 +2024-05-02 13:00:00+00:00,17.388916,0.0,47.622925,3.5089047 +2024-05-02 14:00:00+00:00,17.412079,0.0,47.41534,3.0436134 +2024-05-02 15:00:00+00:00,17.329803,0.0,44.885906,2.9647655 +2024-05-02 16:00:00+00:00,17.0867,0.0,43.071262,2.7201462 +2024-05-02 17:00:00+00:00,16.31369,0.0,44.6324,2.2660558 +2024-05-02 18:00:00+00:00,14.57254,0.0,51.650444,1.5358119 +2024-05-02 19:00:00+00:00,12.520081,0.0,58.907692,1.6140524 +2024-05-02 20:00:00+00:00,11.198212,0.0,63.20818,1.7488884 +2024-05-02 21:00:00+00:00,10.396271,0.0,66.55296,1.6108382 +2024-05-02 22:00:00+00:00,9.672363,0.0,71.650734,1.5350225 +2024-05-02 23:00:00+00:00,9.037476,0.0,76.19055,1.4906 diff --git a/test/test_util.py b/test/test_util.py new file mode 100755 index 0000000000000000000000000000000000000000..567cb561873fc4b9ac16f712f0cfd8313aff88f4 --- /dev/null +++ b/test/test_util.py @@ -0,0 +1,64 @@ +#!/usr/bin/python3 +""" + Copyright (C) 2023 NIBIO <https://www.nibio.no/>. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. +""" + +import sys +import glob +import pytz +import netCDF4 as nc +from datetime import datetime + +local_timezone = pytz.timezone("UTC") + +def printusage(): + print("Usage: test_util.py [printweather|printwhs]") + +if len(sys.argv) < 2: + printusage() + exit(1) + +if sys.argv[1] == "printweather": + parameters = ["air_temperature_2m","hourly_precipitation","relative_humidity_2m","wind_speed_10m"] + print("time,%s" % ",".join(parameters)) + weather_data_files = glob.glob(f"weather_data/daily_archive_*.nc") + weather_data_files.sort() + for filename in weather_data_files: + current_daily_archive = nc.Dataset(filename) + timestep_idx = 0 + for timestep in current_daily_archive.variables["time"][:]: + timestep_date = datetime.fromtimestamp(timestep).astimezone(local_timezone) + param_values_for_hour = [] + for parameter in parameters: + param_values_for_hour.append(current_daily_archive.variables[parameter][timestep_idx][0][0][0]) + + print(f"{timestep_date},{",".join(map(str,param_values_for_hour))}") + timestep_idx = timestep_idx + 1 + #print (timestep[0][0][0]) + current_daily_archive.close() + +elif sys.argv[1] == "printwhs": + result = nc.Dataset(f'../tmp/result.nc', 'r') + timestep_idx = 0 + print("Date,WHS") + for timestep in result.variables["time"][:]: + timestep_date = datetime.fromtimestamp(timestep).astimezone(local_timezone) + print(f"{timestep_date},{result.variables["WHS"][timestep_idx][0][0][0]}") + timestep_idx = timestep_idx + 1 + result.close() + +else: + printusage() \ No newline at end of file diff --git a/test/weather_data/daily_archive_20240401_cropped.nc b/test/weather_data/daily_archive_20240401_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..1408b320c88f21a816a6a0359e33b21caaf86d88 Binary files /dev/null and b/test/weather_data/daily_archive_20240401_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240402_cropped.nc b/test/weather_data/daily_archive_20240402_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..5c32e6c2cbd290b63e6f078abb1aaf89494c3088 Binary files /dev/null and b/test/weather_data/daily_archive_20240402_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240403_cropped.nc b/test/weather_data/daily_archive_20240403_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..900b32da57bbbfb908abaaea2a7c5f144afa3713 Binary files /dev/null and b/test/weather_data/daily_archive_20240403_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240404_cropped.nc b/test/weather_data/daily_archive_20240404_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..5cd2e93154c2628d387a3796facfea0c48234aaa Binary files /dev/null and b/test/weather_data/daily_archive_20240404_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240405_cropped.nc b/test/weather_data/daily_archive_20240405_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..86835d978d09396b3df0ec6af84c7da8fd56f827 Binary files /dev/null and b/test/weather_data/daily_archive_20240405_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240406_cropped.nc b/test/weather_data/daily_archive_20240406_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..fd35c4a5325ce5c774386c7597fe0f5251202fb3 Binary files /dev/null and b/test/weather_data/daily_archive_20240406_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240407_cropped.nc b/test/weather_data/daily_archive_20240407_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..af3e50d7707096aed25877a7560865405af62a98 Binary files /dev/null and b/test/weather_data/daily_archive_20240407_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240408_cropped.nc b/test/weather_data/daily_archive_20240408_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..4407944aeae54e437db4b5408e61b2df659c0f79 Binary files /dev/null and b/test/weather_data/daily_archive_20240408_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240409_cropped.nc b/test/weather_data/daily_archive_20240409_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..d0195ee77ab6e157f1262bd24e8430465ff11287 Binary files /dev/null and b/test/weather_data/daily_archive_20240409_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240410_cropped.nc b/test/weather_data/daily_archive_20240410_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..c3e707aa0db0eef27ff41fac986f83de11ccb3b8 Binary files /dev/null and b/test/weather_data/daily_archive_20240410_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240411_cropped.nc b/test/weather_data/daily_archive_20240411_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..96098ceb90eee228e100d8fe79e3265c7f98b5e4 Binary files /dev/null and b/test/weather_data/daily_archive_20240411_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240412_cropped.nc b/test/weather_data/daily_archive_20240412_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..27330230ca7c55c2adf3d7a1b731811477266779 Binary files /dev/null and b/test/weather_data/daily_archive_20240412_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240413_cropped.nc b/test/weather_data/daily_archive_20240413_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..60a7748728bc60463eae1c4df1e26aa73b9f5d81 Binary files /dev/null and b/test/weather_data/daily_archive_20240413_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240414_cropped.nc b/test/weather_data/daily_archive_20240414_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..a461119afe3c1b27139b18023feafec176fa8b73 Binary files /dev/null and b/test/weather_data/daily_archive_20240414_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240415_cropped.nc b/test/weather_data/daily_archive_20240415_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..709538d1ad6911dd63527067f6b1122ea3423c78 Binary files /dev/null and b/test/weather_data/daily_archive_20240415_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240416_cropped.nc b/test/weather_data/daily_archive_20240416_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..7a32248935543f1eb7d74de32d7f4f1f008b2f41 Binary files /dev/null and b/test/weather_data/daily_archive_20240416_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240417_cropped.nc b/test/weather_data/daily_archive_20240417_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..7b4e459ded0352920046a688e9828cd730fc0dcc Binary files /dev/null and b/test/weather_data/daily_archive_20240417_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240418_cropped.nc b/test/weather_data/daily_archive_20240418_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..56499d3a0ab5d803faefcb447fb29eda7523a993 Binary files /dev/null and b/test/weather_data/daily_archive_20240418_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240419_cropped.nc b/test/weather_data/daily_archive_20240419_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..622b347695ea7cc12b728c4a0e83a772ff4ee74f Binary files /dev/null and b/test/weather_data/daily_archive_20240419_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240420_cropped.nc b/test/weather_data/daily_archive_20240420_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..7be5da3725795014f80e6ac87df50032c746453d Binary files /dev/null and b/test/weather_data/daily_archive_20240420_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240421_cropped.nc b/test/weather_data/daily_archive_20240421_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..e170e1517cc0006b544376936f6f9027851f62ae Binary files /dev/null and b/test/weather_data/daily_archive_20240421_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240422_cropped.nc b/test/weather_data/daily_archive_20240422_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..01ad7e9fc57407e6857d281997c062cc673bac4d Binary files /dev/null and b/test/weather_data/daily_archive_20240422_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240423_cropped.nc b/test/weather_data/daily_archive_20240423_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..49e8c53d396348b16c8a082b511f74b7bf926236 Binary files /dev/null and b/test/weather_data/daily_archive_20240423_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240424_cropped.nc b/test/weather_data/daily_archive_20240424_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..a89be74478e595505eca6e4e40b54e2361bcea65 Binary files /dev/null and b/test/weather_data/daily_archive_20240424_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240425_cropped.nc b/test/weather_data/daily_archive_20240425_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..558cf9850b6b229ff3aa348038732212440b6f40 Binary files /dev/null and b/test/weather_data/daily_archive_20240425_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240426_cropped.nc b/test/weather_data/daily_archive_20240426_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..87b4bcb72fb13d217511631908f1cdab7801ab94 Binary files /dev/null and b/test/weather_data/daily_archive_20240426_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240427_cropped.nc b/test/weather_data/daily_archive_20240427_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..2ebaaa6cd530de41f3237a2d5195631ce5277fb0 Binary files /dev/null and b/test/weather_data/daily_archive_20240427_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240428_cropped.nc b/test/weather_data/daily_archive_20240428_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..b0500ce1b90a895beed27f3534191f03564ebc57 Binary files /dev/null and b/test/weather_data/daily_archive_20240428_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240429_cropped.nc b/test/weather_data/daily_archive_20240429_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..dd14609a6f9eaddf16b35bbd136c8834a13115d8 Binary files /dev/null and b/test/weather_data/daily_archive_20240429_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240430_cropped.nc b/test/weather_data/daily_archive_20240430_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..cd6f76d127eb430e99c187f9146020f0ef462683 Binary files /dev/null and b/test/weather_data/daily_archive_20240430_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240501_cropped.nc b/test/weather_data/daily_archive_20240501_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..c43b23eec5ec1c71ced33a9213014cf9218df960 Binary files /dev/null and b/test/weather_data/daily_archive_20240501_cropped.nc differ diff --git a/test/weather_data/daily_archive_20240502_cropped.nc b/test/weather_data/daily_archive_20240502_cropped.nc new file mode 100644 index 0000000000000000000000000000000000000000..9c2c0bfdff9c5346844e87aabe286cad8abd9849 Binary files /dev/null and b/test/weather_data/daily_archive_20240502_cropped.nc differ