When calculating the Transmissivity values in the python code, we get a different value than the values from the java benchmark;
This is because we have to calculate Transmissivity using a sampling method as it is the combination of a normal and log-normal distribution,
The java code and the python code only use 10000 samples for ensuring the calculation is sped up; however this is course enough that with different random number generators they can be off by a few Dm,
This test is simply to show that with enough samples the different methods converge; but the problem still exists; how do we efficiently calculate Transmissivity?
:return:
"""
thickness_mean=10
thickness_sd=5
ln_perm_mean=5
ln_perm_sd=0.5
nSamples=100000000
p_values_list=[10,20,30,40,50,60,70,80,90]
#
# 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