Esempio n. 1
0
 def test_get_var_units(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta.get_var_units('channel_exit_water_flow__speed') == 'm s-1'
     assert delta.get_var_units(
         'channel_exit_water_x-section__width') == 'm'
     assert delta.get_var_units(
         'channel_exit_water_x-section__depth') == 'm'
     assert delta.get_var_units('sea_water_surface__mean_elevation') == 'm'
     assert delta.get_var_units(
         'sea_water_surface__rate_change_elevation') == 'm yr-1'
     assert delta.get_var_units(
         'channel_exit_water_sediment~bedload__volume_fraction'
     ) == 'fraction'
     assert delta.get_var_units(
         'channel_exit_water_sediment~suspended__mass_concentration'
     ) == 'm3 m-3'
     assert delta.get_var_units('sea_water_surface__elevation') == 'm'
     assert delta.get_var_units('sea_water__depth') == 'm'
     assert delta.get_var_units('sea_bottom_surface__elevation') == 'm'
Esempio n. 2
0
 def test_get_input_item_count(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta.get_input_item_count() == len(delta._input_var_names)
Esempio n. 3
0
 def test_set_model_output__out_dir_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'changed_dir_name')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert 'changed_dir_name' in delta._delta.out_dir
Esempio n. 4
0
 def test_get_time_units(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta.get_time_units() == 's'
Esempio n. 5
0
 def test_get_end_time(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta.get_end_time() == pytest.approx(np.finfo('d').max)
Esempio n. 6
0
 def test_set_coeff__topographic_diffusion_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__topographic_diffusion', 10)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.alpha == 10
Esempio n. 7
0
 def test_set_channel__flow_depth_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'channel__flow_depth', 6)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.h0 == 6
Esempio n. 8
0
 def test_set_model__random_seed(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model__random_seed', 42)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.seed == 42
Esempio n. 9
0
 def test_set_coeff__sedimentation_lag_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__sedimentation_lag', 10)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.sed_lag == 10
Esempio n. 10
0
 def test_set_coeff__depth_dependence__mud_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__depth_dependence__mud', 1)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.coeff_theta_mud == 1
Esempio n. 11
0
 def test_set_sediment__number_parcels_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'sediment__number_parcels', 6000)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.Np_sed == 6000
Esempio n. 12
0
 def test_update_frac(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     delta.update_frac(0.2)
     assert delta._delta.time_step == 25000.0
Esempio n. 13
0
 def test_set_model_output__opt_time_interval_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__opt_time_interval', 5)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.save_dt == 5
Esempio n. 14
0
 def test_set_model_output__opt_velocity_grids_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__opt_velocity_grids', True)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.save_velocity_grids is True
Esempio n. 15
0
 def test_set_sediment__influx_concentration_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'sediment__influx_concentration', 0.001)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.C0_percent == 0.001
Esempio n. 16
0
 def test_set_sediment__bedload_fraction_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'sediment__bedload_fraction', 0.2)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.f_bedload == 0.2
Esempio n. 17
0
 def test_set_basin__maximum_subsidence_rate_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'basin__maximum_subsidence_rate', 0.00033)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.subsidence_rate == 0.00033
Esempio n. 18
0
 def test_set_basin__subsidence_start_timestep_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'basin__subsidence_start_timestep', 10)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.start_subsidence == 10
Esempio n. 19
0
 def test_set_coeff__iterations_smoothing_algorithm_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__iterations_smoothing_algorithm', 1)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.Nsmooth == 1
Esempio n. 20
0
 def test_set_coeff__velocity_erosion_sand_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__velocity_erosion_sand', 10)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.coeff_U_ero_sand == 10
Esempio n. 21
0
 def test_set_sea_water_surface__mean_elevation_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'sea_water_surface__mean_elevation', 3)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.H_SL == 3
Esempio n. 22
0
 def test_set_model__max_iteration_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model__max_iteration', 3)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.itermax == 3
Esempio n. 23
0
 def test_set_land_surface__width_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'land_surface__width', 100)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.L0_meters == 100
Esempio n. 24
0
 def test_get_grid_node_count(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     _id = delta.get_var_grid('sea_water_surface__elevation')
     assert delta.get_grid_node_count(_id) == delta.get_grid_size(_id)
Esempio n. 25
0
 def test_set_model_grid__cell_size_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_grid__cell_size', 50)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.dx == 50
Esempio n. 26
0
 def test_get_grid_edge_count(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     _id = delta.get_var_grid('sea_water_surface__elevation')
     with pytest.raises(NotImplementedError):
         assert delta.get_grid_edge_count(_id)
Esempio n. 27
0
 def test_default_vals(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.h0 == 5.0
     assert delta._delta.u0 == 1.0
     assert delta._delta.S0 == 0.00015
Esempio n. 28
0
 def test_set_coeff__under_relaxation__water_surface_config(self, tmp_path):
     filename = 'user_parameters.yaml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'coeff__under_relaxation__water_surface',
                             0.3)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta._delta.omega_sfc == 0.3
Esempio n. 29
0
 def test_get_var_nbytes(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert delta.get_var_nbytes('sea_water_surface__elevation') > 0
     assert delta.get_var_nbytes('sea_water__depth') > 0
     assert delta.get_var_nbytes('sea_bottom_surface__elevation') > 0
Esempio n. 30
0
 def test_get_var_grid(self, tmp_path):
     filename = 'user_parameters.yml'
     p, f = create_temporary_file(tmp_path, filename)
     write_parameter_to_file(f, 'model_output__out_dir',
                             tmp_path / 'out_dir')
     f.close()
     delta = BmiDelta()
     delta.initialize(p)
     assert type(delta.get_var_grid('sea_water_surface__elevation')) in [
         np.int, np.float
     ]