diff --git a/src/troute-config/troute/config/config.py b/src/troute-config/troute/config/config.py index 0e5ae03cc..fc98a80df 100644 --- a/src/troute-config/troute/config/config.py +++ b/src/troute-config/troute/config/config.py @@ -223,4 +223,14 @@ def check_flowpath_edge_list(cls, values): assert Path(flowpath_edge_list).suffix=='.json', "geo_file_path is json, but flowpath_edge_list is a different file type." return values + + @root_validator(skip_on_failure=True) + def check_lite_restart_directory(cls, values): + if values['output_parameters']: + lite_restart = values['output_parameters'].lite_restart + if lite_restart is not None: + lite_restart_directory = lite_restart.lite_restart_output_directory + assert lite_restart_directory, "lite_restart is present in output parameters, but no lite_restart_output_directory is provided." + + return values \ No newline at end of file diff --git a/src/troute-nwm/src/nwm_routing/__main__.py b/src/troute-nwm/src/nwm_routing/__main__.py index baa575fcb..789d5323f 100644 --- a/src/troute-nwm/src/nwm_routing/__main__.py +++ b/src/troute-nwm/src/nwm_routing/__main__.py @@ -216,13 +216,14 @@ def main_v04(argv): data_assimilation.update_after_compute(run_results, dt*nts) # TODO move the conditional call to write_lite_restart to nwm_output_generator. - if output_parameters.get('lite_restart',{}).get('lite_restart_output_directory', None): - nhd_io.write_lite_restart( - network.q0, - network._waterbody_df, - t0 + timedelta(seconds = dt * nts), - output_parameters['lite_restart'] - ) + if output_parameters: + if output_parameters['lite_restart'] is not None: + nhd_io.write_lite_restart( + network.q0, + network._waterbody_df, + t0 + timedelta(seconds = dt * nts), + output_parameters['lite_restart'] + ) # Prepare input forcing for next time loop simulation when mutiple time loops are presented. if run_set_iterator < len(run_sets) - 1: