Skip to content

Commit de3ce28

Browse files
Merge pull request #70 from karnesh/main
Updated code to check for previous day output data and recursively run for previous days
2 parents 0bfde73 + 0d9faa9 commit de3ce28

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

Model/Neural_Network/sweml_hindcast.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from tqdm import tqdm
33
import MLP_Model
44
import sys
5+
56
sys.path.insert(0, '..')
67
from shared_scripts import DataProcess, Hindcast_Initialization, NSM_SCA
78
import warnings
@@ -17,15 +18,26 @@
1718
def sweml_hindcast(new_year, threshold, Region_list, fSCA, frequency, NewSim, single_day):
1819
model = 'Neural_Network'
1920

21+
retries = 0
2022
if single_day:
21-
dt = datetime.datetime.now() - datetime.timedelta(days=4)
22-
datelist = [dt.strftime('%Y-%m-%d')]
23+
prev_data_flag = True
24+
days = 4
25+
while prev_data_flag and retries < 60:
26+
dt = datetime.datetime.now() - datetime.timedelta(days=days)
27+
prev_dt = dt - datetime.timedelta(days=1)
28+
datelist = [dt.strftime('%Y-%m-%d')]
29+
if os.path.isfile(f"Predictions/Hold_Out_Year/Daily/fSCA_True/Prediction_DF_SCA_{prev_dt.strftime('%Y-%m-%d')}.pkl"):
30+
prev_data_flag = False
31+
else:
32+
days += 1
33+
retries += 1
34+
2335
if datelist[0][-5:] == '10-01':
2436
Hindcast_Initialization.Hindcast_Initialization(cwd, datapath, new_year, threshold, Region_list,
2537
frequency, fSCA=fSCA)
2638
else:
2739
datelist = Hindcast_Initialization.Hindcast_Initialization(cwd, datapath, new_year, threshold, Region_list,
28-
frequency, fSCA=fSCA)
40+
frequency, fSCA=fSCA)
2941

3042
# Run data processing script to partition key regional dataframes
3143
# note, need to load RegionTrain_SCA.h5,
@@ -73,6 +85,9 @@ def sweml_hindcast(new_year, threshold, Region_list, fSCA, frequency, NewSim, si
7385
for file_type in file_types:
7486
Hindcast_Initialization.Hindcast_to_AWS(modelname, folderpath, AWSpath, file_type)
7587

88+
if retries > 0:
89+
sweml_hindcast(new_year, threshold, Region_list, fSCA, frequency, NewSim, single_day)
90+
7691

7792
if __name__ == "__main__":
7893
new_year = 2023

0 commit comments

Comments
 (0)