Loading src/pythermogis/transmissivity/calculate_thick_perm_trans.py +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ def generate_thickness_permeability_transmissivity_for_pvalues(thickness_mean: f return thickness_pvalues, permeability_pvalues, transmissivity_pvalues_sampled def _tpkt_kernel( def calculate_transmissivity( thickness_mean, thickness_sd, ln_perm_mean, Loading src/pythermogis/workflow/utc/utc.py +26 −25 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ from pathlib import Path import numpy as np import xarray as xr from pythermogis.transmissivity.calculate_thick_perm_trans import _tpkt_kernel from pythermogis.transmissivity.calculate_thick_perm_trans import calculate_transmissivity from pythermogis.workflow.utc.configuration import UTCConfiguration from pythermogis.workflow.utc.doublet import DoubletInput, calculate_doublet_performance Loading Loading @@ -144,13 +144,17 @@ def compute_results_for_aquifer( tuple(result) if result is not None else tuple(np.nan for _ in output_names) ) for p_value in config.p_values: # calc transmissivity(_with_ntg) hydro = compute_hydro_properties_mc(aquifer_ds, p_value) aquifer_ds["transmissivity"] = hydro["transmissivity"] aquifer_ds["transmissivity_with_ntg"] = hydro["transmissivity_with_ntg"] aquifer_ds["thickness"] = hydro["thickness"] aquifer_ds["permeability"] = hydro["permeability"] # apply hc mask hc_mask = aquifer_ds["hc_accum"] != 0 vars_to_mask = [ "thickness", "ntg", "depth", "porosity", ] for v in vars_to_mask: aquifer_ds[v] = aquifer_ds[v].where(hc_mask) # calc temperature grid mid_depth = -(aquifer_ds["depth"] + 0.5 * aquifer_ds["thickness"]) Loading @@ -161,19 +165,13 @@ def compute_results_for_aquifer( aquifer_ds["temperature"] = temperature # use hc_accum mask.. hc_mask = aquifer_ds["hc_accum"] != 0 vars_to_mask = [ "thickness", "ntg", "depth", "porosity", "transmissivity", "transmissivity_with_ntg", "temperature", ] for v in vars_to_mask: aquifer_ds[v] = aquifer_ds[v].where(hc_mask) for p_value in config.p_values: # calc transmissivity(_with_ntg) hydro = compute_hydro_properties_mc(aquifer_ds, p_value) aquifer_ds["transmissivity"] = hydro["transmissivity"] aquifer_ds["transmissivity_with_ntg"] = hydro["transmissivity_with_ntg"] aquifer_ds["thickness"] = hydro["thickness"] aquifer_ds["permeability"] = hydro["permeability"] results = xr.apply_ufunc( cell_calculation, Loading Loading @@ -212,8 +210,9 @@ def compute_hydro_properties_mc( ln_perm_mean = np.log(aquifer_ds["permeability"]) ln_perm_sd = aquifer_ds["permeability_lnsd"] start = time.perf_counter() thickness_p, permeability_p, transmissivity_p = xr.apply_ufunc( _tpkt_kernel, calculate_transmissivity, thickness_mean, thickness_sd, ln_perm_mean, Loading @@ -226,6 +225,8 @@ def compute_hydro_properties_mc( dask="parallelized", output_dtypes=[np.float64, np.float64, np.float64], ) end = time.perf_counter() print(end-start) transmissivity_with_ntg = transmissivity_p * aquifer_ds["ntg"] / 1000.0 transmissivity_with_ntg = transmissivity_with_ntg.where( Loading Loading
src/pythermogis/transmissivity/calculate_thick_perm_trans.py +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ def generate_thickness_permeability_transmissivity_for_pvalues(thickness_mean: f return thickness_pvalues, permeability_pvalues, transmissivity_pvalues_sampled def _tpkt_kernel( def calculate_transmissivity( thickness_mean, thickness_sd, ln_perm_mean, Loading
src/pythermogis/workflow/utc/utc.py +26 −25 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ from pathlib import Path import numpy as np import xarray as xr from pythermogis.transmissivity.calculate_thick_perm_trans import _tpkt_kernel from pythermogis.transmissivity.calculate_thick_perm_trans import calculate_transmissivity from pythermogis.workflow.utc.configuration import UTCConfiguration from pythermogis.workflow.utc.doublet import DoubletInput, calculate_doublet_performance Loading Loading @@ -144,13 +144,17 @@ def compute_results_for_aquifer( tuple(result) if result is not None else tuple(np.nan for _ in output_names) ) for p_value in config.p_values: # calc transmissivity(_with_ntg) hydro = compute_hydro_properties_mc(aquifer_ds, p_value) aquifer_ds["transmissivity"] = hydro["transmissivity"] aquifer_ds["transmissivity_with_ntg"] = hydro["transmissivity_with_ntg"] aquifer_ds["thickness"] = hydro["thickness"] aquifer_ds["permeability"] = hydro["permeability"] # apply hc mask hc_mask = aquifer_ds["hc_accum"] != 0 vars_to_mask = [ "thickness", "ntg", "depth", "porosity", ] for v in vars_to_mask: aquifer_ds[v] = aquifer_ds[v].where(hc_mask) # calc temperature grid mid_depth = -(aquifer_ds["depth"] + 0.5 * aquifer_ds["thickness"]) Loading @@ -161,19 +165,13 @@ def compute_results_for_aquifer( aquifer_ds["temperature"] = temperature # use hc_accum mask.. hc_mask = aquifer_ds["hc_accum"] != 0 vars_to_mask = [ "thickness", "ntg", "depth", "porosity", "transmissivity", "transmissivity_with_ntg", "temperature", ] for v in vars_to_mask: aquifer_ds[v] = aquifer_ds[v].where(hc_mask) for p_value in config.p_values: # calc transmissivity(_with_ntg) hydro = compute_hydro_properties_mc(aquifer_ds, p_value) aquifer_ds["transmissivity"] = hydro["transmissivity"] aquifer_ds["transmissivity_with_ntg"] = hydro["transmissivity_with_ntg"] aquifer_ds["thickness"] = hydro["thickness"] aquifer_ds["permeability"] = hydro["permeability"] results = xr.apply_ufunc( cell_calculation, Loading Loading @@ -212,8 +210,9 @@ def compute_hydro_properties_mc( ln_perm_mean = np.log(aquifer_ds["permeability"]) ln_perm_sd = aquifer_ds["permeability_lnsd"] start = time.perf_counter() thickness_p, permeability_p, transmissivity_p = xr.apply_ufunc( _tpkt_kernel, calculate_transmissivity, thickness_mean, thickness_sd, ln_perm_mean, Loading @@ -226,6 +225,8 @@ def compute_hydro_properties_mc( dask="parallelized", output_dtypes=[np.float64, np.float64, np.float64], ) end = time.perf_counter() print(end-start) transmissivity_with_ntg = transmissivity_p * aquifer_ds["ntg"] / 1000.0 transmissivity_with_ntg = transmissivity_with_ntg.where( Loading