Loading .idea/pythermogis.iml +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <option name="namespacePackageFolders"> <list> <option value="$MODULE_DIR$/resources" /> <option value="$MODULE_DIR$/pythermogis" /> <option value="$MODULE_DIR$/src" /> </list> </option> </component> Loading tests/test_transmissivity_calculation.py +38 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,44 @@ from src.thermogis_classes.jvm_start import start_jvm class PyThermoGIS(TestCase): test_files_out_path = Path(path.dirname(path.dirname(__file__)), "resources") / "test_output" def test_transmissivity_calculation_for_Hans(self): thickness_mean = 10 thickness_sd = 5 ln_perm_mean = 5 ln_perm_sd = 0.5 nSamples = 1000 p_values_list = [50] # # Python # # convert p_values list to a xarray DataArray; needed to ensure the dimensionality of the calculations p_values = xr.DataArray( data=p_values_list, dims=["p_value"], coords=dict( p_value=(["p_value"], p_values_list), )) # Calculate Thickness, Permeability and Transmissivity for each P-value using the Python implementation transmissivity_store = [] print(f"Calculating Thickness, Permeability and Transmissivity for Pvalue: {p_values_list[0]}") for i in range(10): thickness, permeability, transmissivity = xr.apply_ufunc(generate_thickness_permeability_transmissivity_for_pvalues, thickness_mean, thickness_sd, ln_perm_mean, ln_perm_sd, p_values, kwargs={"nSamples": nSamples}, input_core_dims=[[], [], [], [], []], output_core_dims=[[], [], []], vectorize=True ) transmissivity_store.append(transmissivity.values[0]) print(f"thickness: {thickness.values[0]}, permeability: {permeability.values[0]}, transmissivity: {transmissivity.values[0]}") print(f"transmissivity mean: {np.mean(transmissivity_store)}, sd: {np.std(transmissivity_store)}") def test_transmissivity_calculation(self): """ When calculating the Transmissivity values in the python code, we get a different value than the values from the java benchmark; Loading Loading
.idea/pythermogis.iml +1 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <option name="namespacePackageFolders"> <list> <option value="$MODULE_DIR$/resources" /> <option value="$MODULE_DIR$/pythermogis" /> <option value="$MODULE_DIR$/src" /> </list> </option> </component> Loading
tests/test_transmissivity_calculation.py +38 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,44 @@ from src.thermogis_classes.jvm_start import start_jvm class PyThermoGIS(TestCase): test_files_out_path = Path(path.dirname(path.dirname(__file__)), "resources") / "test_output" def test_transmissivity_calculation_for_Hans(self): thickness_mean = 10 thickness_sd = 5 ln_perm_mean = 5 ln_perm_sd = 0.5 nSamples = 1000 p_values_list = [50] # # Python # # convert p_values list to a xarray DataArray; needed to ensure the dimensionality of the calculations p_values = xr.DataArray( data=p_values_list, dims=["p_value"], coords=dict( p_value=(["p_value"], p_values_list), )) # Calculate Thickness, Permeability and Transmissivity for each P-value using the Python implementation transmissivity_store = [] print(f"Calculating Thickness, Permeability and Transmissivity for Pvalue: {p_values_list[0]}") for i in range(10): thickness, permeability, transmissivity = xr.apply_ufunc(generate_thickness_permeability_transmissivity_for_pvalues, thickness_mean, thickness_sd, ln_perm_mean, ln_perm_sd, p_values, kwargs={"nSamples": nSamples}, input_core_dims=[[], [], [], [], []], output_core_dims=[[], [], []], vectorize=True ) transmissivity_store.append(transmissivity.values[0]) print(f"thickness: {thickness.values[0]}, permeability: {permeability.values[0]}, transmissivity: {transmissivity.values[0]}") print(f"transmissivity mean: {np.mean(transmissivity_store)}, sd: {np.std(transmissivity_store)}") def test_transmissivity_calculation(self): """ When calculating the Transmissivity values in the python code, we get a different value than the values from the java benchmark; Loading