From 6aa48a532ef48c58b3b1f9c213d3ff7ba824bb32 Mon Sep 17 00:00:00 2001 From: Amin Torabi <140189926+AminTorabi-NOAA@users.noreply.github.com> Date: Wed, 29 May 2024 11:55:57 -0400 Subject: [PATCH] canadian_timeslices added (#771) * canadian_timeslices added * update canadian_timeslices * update on da_run * adding the function for NHD * dropping pdb * deleting timeslice --- .../troute/config/compute_parameters.py | 8 ++- src/troute-network/troute/DataAssimilation.py | 61 +++++++++++++++++- .../troute/hyfeature_network_utilities.py | 29 +++++++-- test/LowerColorado_TX/test_AnA_V4_NHD.yaml | 2 + ...024-04-23_00:00:00.15min.wscTimeSlice.ncdf | Bin 0 -> 90120 bytes ...024-04-23_00:15:00.15min.wscTimeSlice.ncdf | Bin 0 -> 90082 bytes ...024-04-23_00:30:00.15min.wscTimeSlice.ncdf | Bin 0 -> 90082 bytes ...024-04-23_00:45:00.15min.wscTimeSlice.ncdf | Bin 0 -> 90082 bytes ...024-04-23_01:00:00.15min.wscTimeSlice.ncdf | Bin 0 -> 90082 bytes .../test_AnA_V4_HYFeature.yaml | 2 + 10 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:00:00.15min.wscTimeSlice.ncdf create mode 100644 test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:15:00.15min.wscTimeSlice.ncdf create mode 100644 test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:30:00.15min.wscTimeSlice.ncdf create mode 100644 test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:45:00.15min.wscTimeSlice.ncdf create mode 100644 test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_01:00:00.15min.wscTimeSlice.ncdf diff --git a/src/troute-config/troute/config/compute_parameters.py b/src/troute-config/troute/config/compute_parameters.py index 48a232428..8ca0a1e44 100644 --- a/src/troute-config/troute/config/compute_parameters.py +++ b/src/troute-config/troute/config/compute_parameters.py @@ -126,11 +126,13 @@ class StreamflowDA(BaseModel, extra='forbid'): diffusive_streamflow_nudging: bool = False -class ReservoirPersistenceDA(BaseModel, extra='forbid'): +class ReservoirPersistenceDA(BaseModel, extra='ignore'): # NOTE: mandatory for USGS reservoir DA, defaults to False reservoir_persistence_usgs: bool = False # NOTE: mandatory for USACE reservoir DA, defaults to False reservoir_persistence_usace: bool = False + # NOTE: mandatory for USACE reservoir DA, defaults to False + reservoir_persistence_canada: bool = False crosswalk_usgs_gage_field: str = "usgs_gage_id" crosswalk_usace_gage_field: str = "usace_gage_id" @@ -152,11 +154,13 @@ class ReservoirDA(BaseModel, extra='forbid'): reservoir_parameter_file: Optional[FilePath] = None -class DataAssimilationParameters(BaseModel, extra='forbid'): +class DataAssimilationParameters(BaseModel, extra='ignore'): # NOTE: required for streamflow nudging and/or USGS reservoir DA usgs_timeslices_folder: Optional[DirectoryPath] = None # NOTE: required for USACE reservoir DA usace_timeslices_folder: Optional[DirectoryPath] = None + # NOTE: required for canada reservoir DA + canada_timeslices_folder: Optional[DirectoryPath] = None # NOTE: required for reservoir DA - suggested value 24 (1 days) timeslice_lookback_hours: int = 24 diff --git a/src/troute-network/troute/DataAssimilation.py b/src/troute-network/troute/DataAssimilation.py index db14cd5dc..6164f00dd 100644 --- a/src/troute-network/troute/DataAssimilation.py +++ b/src/troute-network/troute/DataAssimilation.py @@ -207,7 +207,8 @@ def __init__(self, network, from_files, value_dict, da_run=[]): self._last_obs_df = _reindex_link_to_lake_id(self._last_obs_df, network.link_lake_crosswalk) self._usgs_df = _create_usgs_df(data_assimilation_parameters, streamflow_da_parameters, run_parameters, network, da_run) - + if 'canada_timeslice_files' in da_run: + self._canada_df = _create_canada_df(data_assimilation_parameters, streamflow_da_parameters, run_parameters, network, da_run) def update_after_compute(self, run_results, time_increment): ''' Function to update data assimilation object after running routing module. @@ -262,7 +263,8 @@ def update_for_next_loop(self, network, da_run,): if streamflow_da_parameters.get('streamflow_nudging', False): self._usgs_df = _create_usgs_df(data_assimilation_parameters, streamflow_da_parameters, run_parameters, network, da_run) - + if 'canada_timeslice_files' in da_run: + self._canada_df = _create_canada_df(data_assimilation_parameters, streamflow_da_parameters, run_parameters, network, da_run) class PersistenceDA(AbstractDA): """ @@ -991,6 +993,61 @@ def _create_usgs_df(data_assimilation_parameters, streamflow_da_parameters, run_ return usgs_df +def _create_canada_df(data_assimilation_parameters, streamflow_da_parameters, run_parameters, network, da_run): + ''' + Function for reading USGS timeslice files and creating a dataframe + of USGS gage observations. This dataframe is used for streamflow + nudging and can be used for constructing USGS reservoir dataframes. + + Arguments: + ---------- + - data_assimilation_parameters (dict): user input data re data assimilation + - streamflow_da_parameters (dict): user input data re streamflow nudging + - run_parameters (dict): user input data re subset of compute configuration + - network (Object): network object created from abstract class + - da_run (list): list of data assimilation files separated by for loop chunks + + Returns: + -------- + - usgs_df (DataFrame): dataframe of USGS gage observations + ''' + canada_timeslices_folder = data_assimilation_parameters.get("canada_timeslices_folder", None) + #lastobs_file = streamflow_da_parameters.get("wrf_hydro_lastobs_file", None) + lastobs_start = data_assimilation_parameters.get("wrf_hydro_lastobs_lead_time_relative_to_simulation_start_time",0) + lastobs_type = data_assimilation_parameters.get("wrf_lastobs_type", "error-based") + crosswalk_file = streamflow_da_parameters.get("gage_segID_crosswalk_file", None) + crosswalk_gage_field = streamflow_da_parameters.get('crosswalk_gage_field','gages') + crosswalk_segID_field = streamflow_da_parameters.get('crosswalk_segID_field','link') + da_decay_coefficient = data_assimilation_parameters.get("da_decay_coefficient",120) + qc_threshold = data_assimilation_parameters.get("qc_threshold",1) + interpolation_limit = data_assimilation_parameters.get("interpolation_limit_min",59) + + # TODO: join timeslice folder and files into complete path upstream + + canada_files = [canada_timeslices_folder.joinpath(f) for f in da_run['canada_timeslice_files']] + + + if canada_files: + canada_df = ( + nhd_io.get_obs_from_timeslices( + network.link_gage_df, + crosswalk_gage_field, + crosswalk_segID_field, + canada_files, + qc_threshold, + interpolation_limit, + run_parameters.get("dt"), + network.t0, + run_parameters.get("cpu_pool", None) + ). + loc[network.link_gage_df.index] + ) + + else: + canada_df = pd.DataFrame() + + return canada_df + def _create_reservoir_df(data_assimilation_parameters, reservoir_da_parameters, streamflow_da_parameters, run_parameters, network, da_run, lake_gage_crosswalk, res_source): ''' Function for reading USGS/USACE timeslice files and creating a dataframe diff --git a/src/troute-network/troute/hyfeature_network_utilities.py b/src/troute-network/troute/hyfeature_network_utilities.py index 550527a6c..facccbd33 100644 --- a/src/troute-network/troute/hyfeature_network_utilities.py +++ b/src/troute-network/troute/hyfeature_network_utilities.py @@ -48,26 +48,31 @@ def build_da_sets(da_params, run_sets, t0): "usace_timeslices_folder", None ) - + canada_timeslices_folder = da_params.get( + "canada_timeslices_folder", + None + ) # User-specified DA ON/OFF preferences usace_da = False usgs_da = False + canada_da = False reservoir_persistence_da = da_params.get('reservoir_da', {}).get('reservoir_persistence_da', False) if reservoir_persistence_da: usgs_da = reservoir_persistence_da.get('reservoir_persistence_usgs', False) usace_da = reservoir_persistence_da.get('reservoir_persistence_usace', False) - + canada_da = reservoir_persistence_da.get('reservoir_persistence_canada', False) + nudging = False streamflow_da = da_params.get('streamflow_da', False) if streamflow_da: nudging = streamflow_da.get('streamflow_nudging', False) - if not usgs_da and not usace_da and not nudging: + if not usgs_da and not usace_da and not canada_da and not nudging: # if all DA capabilities are OFF, return empty dictionary da_sets = [{} for _ in run_sets] # if no user-input timeslice folders, a list of empty dictionaries - elif not usgs_timeslices_folder and not usace_timeslices_folder: + elif not usgs_timeslices_folder and not usace_timeslices_folder and not canada_timeslices_folder: # if no timeslice folders, return empty dictionary da_sets = [{} for _ in run_sets] @@ -79,7 +84,8 @@ def build_da_sets(da_params, run_sets, t0): usgs_timeslices_folder = pathlib.Path(usgs_timeslices_folder) if usace_timeslices_folder: usace_timeslices_folder = pathlib.Path(usace_timeslices_folder) - + if canada_timeslices_folder: + canada_timeslices_folder = pathlib.Path(canada_timeslices_folder) # the number of timeslice files appended to the front- and back-ends # of the TimeSlice file interpolation stack pad_hours = da_params.get("timeslice_lookback_hours",0) @@ -132,6 +138,19 @@ def build_da_sets(da_params, run_sets, t0): # Add available TimeSlices to da_sets list da_sets[i]['usace_timeslice_files'] = filenames_usace + # identify available USGS TimeSlices in run set i + if canada_timeslices_folder and canada_da: + filenames_canada = (timestamps.strftime('%Y-%m-%d_%H:%M:%S') + + '.15min.wscTimeSlice.ncdf').to_list() + + # identify available USGS TimeSlices + filenames_canada = _check_timeslice_exists( + filenames_canada, + canada_timeslices_folder + ) + # Add available TimeSlices to da_sets list + da_sets[i]['canada_timeslice_files'] = filenames_canada + # reset initialization time for loop set i+1 t0 = run_sets[i]['final_timestamp'] diff --git a/test/LowerColorado_TX/test_AnA_V4_NHD.yaml b/test/LowerColorado_TX/test_AnA_V4_NHD.yaml index d2c5e9ca8..5e5cf055d 100644 --- a/test/LowerColorado_TX/test_AnA_V4_NHD.yaml +++ b/test/LowerColorado_TX/test_AnA_V4_NHD.yaml @@ -80,6 +80,7 @@ compute_parameters: #---------- usgs_timeslices_folder : usgs_TimeSlice/ usace_timeslices_folder : usace_TimeSlice/ + canada_timeslices_folder : Canadian_timeslices/ timeslice_lookback_hours : 48 qc_threshold : 1 streamflow_da: @@ -97,6 +98,7 @@ compute_parameters: #---------- reservoir_persistence_usgs : False reservoir_persistence_usace : False + reservoir_persistence_canada : True reservoir_rfc_da: #---------- reservoir_rfc_forecasts : False diff --git a/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:00:00.15min.wscTimeSlice.ncdf b/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:00:00.15min.wscTimeSlice.ncdf new file mode 100644 index 0000000000000000000000000000000000000000..2382ff0eed15436227678278202212fadfc3f041 GIT binary patch literal 90120 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 B3rqk2 literal 0 HcmV?d00001 diff --git a/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:15:00.15min.wscTimeSlice.ncdf b/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:15:00.15min.wscTimeSlice.ncdf new file mode 100644 index 0000000000000000000000000000000000000000..d7a1a7f330d1fa6f919268ef91116413f1c1960d GIT binary patch literal 90082 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 K=fH2wf&T$dPkmbe literal 0 HcmV?d00001 diff --git a/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:45:00.15min.wscTimeSlice.ncdf b/test/LowerColorado_TX_v4/Canadian_timeslices/2024-04-23_00:45:00.15min.wscTimeSlice.ncdf new file mode 100644 index 0000000000000000000000000000000000000000..ecc96a57f007b46429dca94dbdf67441e85068c9 GIT binary patch literal 90082 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