Loading tests/test_doc_examples.py +26 −24 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ def test_example8(): from matplotlib import pyplot as plt # generate simulation samples across desired reservoir properties Nsamples = 1000 Nsamples = 100 thickness_samples = np.random.uniform(low=150, high=300, size=Nsamples) porosity_samples = np.random.uniform(low=0.1, high=0.8, size=Nsamples) ntg_samples = np.random.uniform(low=0.1, high=0.5, size=Nsamples) Loading @@ -300,28 +300,30 @@ def test_example8(): results.plot.scatter(x="permeability", y="npv", ax=axes[1,1]) plt.show() # Calculate Stochastics Across Samples def plot_survival_function(samples, xlabel='Parameter value (x)', ax=None): sorted_samples = np.sort(samples) cdf = np.arange(1, len(samples) + 1) / len(samples) # Compute P(θ > x) survival = 1 - cdf # Plot survival function (expectation curve as P(>x)) if ax is None: fig, ax = plt.subplots(figsize=(8, 5)) ax.plot(sorted_samples, survival, label=r'$P(\theta > x)$', color='blue') ax.set_xlabel(xlabel) ax.set_ylabel('Cumulative probability $P(\\theta > x)$') ax.grid(True) ax.legend() fig, axes = plt.subplots(2,2, figsize=(10,10)) plt.suptitle("Stochastic Measures") plot_survival_function(results.permeability, xlabel="permeability", ax=axes[0,0]) plot_survival_function(results.power, xlabel="power", ax=axes[0, 1]) plot_survival_function(results.utc, xlabel="utc", ax=axes[1, 0]) plot_survival_function(results.npv, xlabel="net-present-value", ax=axes[1, 1]) plt.show() # # Calculate Stochastics Across Samples # def plot_survival_function(samples, xlabel='Parameter value (x)', ax=None): # sorted_samples = np.sort(samples) # cdf = np.arange(1, len(samples) + 1) / len(samples) # # # Compute P(θ > x) # survival = 1 - cdf # # # Plot survival function (expectation curve as P(>x)) # if ax is None: # fig, ax = plt.subplots(figsize=(8, 5)) # ax.plot(sorted_samples, survival, label=r'$P(\theta > x)$', color='blue') # ax.set_xlabel(xlabel) # ax.set_ylabel('Cumulative probability $P(\\theta > x)$') # ax.grid(True) # ax.legend() # # fig, axes = plt.subplots(2,2, figsize=(10,10)) # plt.suptitle("Stochastic Measures") # plot_survival_function(results.permeability, xlabel="permeability", ax=axes[0,0]) # plot_survival_function(results.power, xlabel="power", ax=axes[0, 1]) # plot_survival_function(results.utc, xlabel="utc", ax=axes[1, 0]) # plot_survival_function(results.npv, xlabel="net-present-value", ax=axes[1, 1]) # plt.show() Loading
tests/test_doc_examples.py +26 −24 Original line number Diff line number Diff line Loading @@ -273,7 +273,7 @@ def test_example8(): from matplotlib import pyplot as plt # generate simulation samples across desired reservoir properties Nsamples = 1000 Nsamples = 100 thickness_samples = np.random.uniform(low=150, high=300, size=Nsamples) porosity_samples = np.random.uniform(low=0.1, high=0.8, size=Nsamples) ntg_samples = np.random.uniform(low=0.1, high=0.5, size=Nsamples) Loading @@ -300,28 +300,30 @@ def test_example8(): results.plot.scatter(x="permeability", y="npv", ax=axes[1,1]) plt.show() # Calculate Stochastics Across Samples def plot_survival_function(samples, xlabel='Parameter value (x)', ax=None): sorted_samples = np.sort(samples) cdf = np.arange(1, len(samples) + 1) / len(samples) # Compute P(θ > x) survival = 1 - cdf # Plot survival function (expectation curve as P(>x)) if ax is None: fig, ax = plt.subplots(figsize=(8, 5)) ax.plot(sorted_samples, survival, label=r'$P(\theta > x)$', color='blue') ax.set_xlabel(xlabel) ax.set_ylabel('Cumulative probability $P(\\theta > x)$') ax.grid(True) ax.legend() fig, axes = plt.subplots(2,2, figsize=(10,10)) plt.suptitle("Stochastic Measures") plot_survival_function(results.permeability, xlabel="permeability", ax=axes[0,0]) plot_survival_function(results.power, xlabel="power", ax=axes[0, 1]) plot_survival_function(results.utc, xlabel="utc", ax=axes[1, 0]) plot_survival_function(results.npv, xlabel="net-present-value", ax=axes[1, 1]) plt.show() # # Calculate Stochastics Across Samples # def plot_survival_function(samples, xlabel='Parameter value (x)', ax=None): # sorted_samples = np.sort(samples) # cdf = np.arange(1, len(samples) + 1) / len(samples) # # # Compute P(θ > x) # survival = 1 - cdf # # # Plot survival function (expectation curve as P(>x)) # if ax is None: # fig, ax = plt.subplots(figsize=(8, 5)) # ax.plot(sorted_samples, survival, label=r'$P(\theta > x)$', color='blue') # ax.set_xlabel(xlabel) # ax.set_ylabel('Cumulative probability $P(\\theta > x)$') # ax.grid(True) # ax.legend() # # fig, axes = plt.subplots(2,2, figsize=(10,10)) # plt.suptitle("Stochastic Measures") # plot_survival_function(results.permeability, xlabel="permeability", ax=axes[0,0]) # plot_survival_function(results.power, xlabel="power", ax=axes[0, 1]) # plot_survival_function(results.utc, xlabel="utc", ax=axes[1, 0]) # plot_survival_function(results.npv, xlabel="net-present-value", ax=axes[1, 1]) # plt.show()