@@ -114,6 +114,8 @@ def make_ciofs_kerchunk(start: str, end: str, name: str) -> dict:
114114
115115 if name == "CIOFS" :
116116 output_dir_single_files = "/mnt/vault/ciofs/HINDCAST/.kerchunk_json"
117+ elif name == "CIOFS3" :
118+ output_dir_single_files = "/mnt/vault/ciofs/CIOFS3/HINDCAST/.kerchunk_json"
117119 elif name == "CIOFSFRESH" :
118120 output_dir_single_files = "/mnt/vault/ciofs/HINDCAST_FRESHWATER/.kerchunk_json"
119121 elif name == "CIOFSOP" :
@@ -123,21 +125,24 @@ def make_ciofs_kerchunk(start: str, end: str, name: str) -> dict:
123125
124126 fs2 = fsspec .filesystem ("" ) # local file system to save final jsons to
125127
126- if name in ["CIOFS" , "CIOFSFRESH" ]:
128+ if name in ["CIOFS" , "CIOFSFRESH" , "CIOFS3" ]:
127129
128130 # base for matching
129131 def base_str (a_time : str ) -> str :
130132 return f"{ output_dir_single_files } /{ a_time } _*.json"
131133
134+ file_date_format = "%Y_0%j"
132135 date_format = "%Y_0%j"
133136
134137 elif name == "CIOFSOP" :
135138
136139 # base for matching
137140 def base_str (a_time : str ) -> str :
138- return f"{ output_dir_single_files } /ciofs_{ a_time } -*.json"
141+ return f"{ output_dir_single_files } /ciofs_{ a_time } *.json"
142+
143+ file_date_format = "ciofs_%Y-%m-%d"
144+ date_format = "%Y-%m-%d"
139145
140- date_format = "ciofs_%Y-%m-%d"
141146 else :
142147 raise ValueError (f"Name { name } not recognized" )
143148
@@ -146,21 +151,24 @@ def base_str(a_time: str) -> str:
146151 if end [:4 ] != start [:4 ]:
147152 json_list += fs2 .glob (base_str (end [:4 ]))
148153
154+ start_date = datetime .strptime (start , date_format )
155+ end_date = datetime .strptime (end , date_format )
156+
149157 # forward in time
150- if end > start :
158+ if end_date >= start_date :
151159 json_list = [
152160 j
153161 for j in json_list
154- if datetime .strptime (Path (j ).stem , date_format ). isoformat () >= start
155- and datetime .strptime (Path (j ).stem , date_format ). isoformat () <= end
162+ if datetime .strptime (Path (j ).stem , file_date_format ) >= start_date
163+ and datetime .strptime (Path (j ).stem , file_date_format ) <= end_date
156164 ]
157165 # backward in time
158- elif end < start :
166+ elif end_date < start_date :
159167 json_list = [
160168 j
161169 for j in json_list
162- if datetime .strptime (Path (j ).stem , date_format ). isoformat () <= start
163- and datetime .strptime (Path (j ).stem , date_format ). isoformat () >= end
170+ if datetime .strptime (Path (j ).stem , file_date_format ) <= start_date
171+ and datetime .strptime (Path (j ).stem , file_date_format ) >= end_date
164172 ]
165173
166174 if json_list == []:
0 commit comments