mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Remove original implementation not working in gridcasegroup.py Add create_statistics_case object method
65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
import os
|
|
import rips
|
|
|
|
resinsight = rips.Instance.find()
|
|
|
|
# ResInsight includes some test models. Adjust this path to fit your system
|
|
test_model_path = "e:/gitroot-second/ResInsight/TestModels"
|
|
|
|
case_paths = []
|
|
case_paths.append(test_model_path + "/Case_with_10_timesteps/Real0/BRUGGE_0000.EGRID")
|
|
case_paths.append(test_model_path + "/Case_with_10_timesteps/Real10/BRUGGE_0010.EGRID")
|
|
case_paths.append(test_model_path + "/Case_with_10_timesteps/Real30/BRUGGE_0030.EGRID")
|
|
case_paths.append(test_model_path + "/Case_with_10_timesteps/Real40/BRUGGE_0040.EGRID")
|
|
|
|
for case_path in case_paths:
|
|
assert os.path.exists(
|
|
case_path
|
|
), "You need to set valid case paths for this script to work"
|
|
|
|
case_group = resinsight.project.create_grid_case_group(case_paths=case_paths)
|
|
|
|
cases = case_group.descendants(rips.EclipseCase)
|
|
print("Got " + str(len(cases)) + " cases: ")
|
|
|
|
for case in cases:
|
|
time_step_info = case.time_steps()
|
|
porv_results = case.active_cell_property("STATIC_NATIVE", "PORV", 0)
|
|
|
|
for time_step_index in range(0, len(time_step_info)):
|
|
pressure_results = case.active_cell_property(
|
|
"DYNAMIC_NATIVE", "PRESSURE", time_step_index
|
|
)
|
|
|
|
results = []
|
|
for pressure, porv in zip(pressure_results, porv_results):
|
|
results.append(pressure * porv)
|
|
|
|
# set the computed values in the case
|
|
case.set_active_cell_property(
|
|
results, "GENERATED", "PRESSURE_PORV", time_step_index
|
|
)
|
|
|
|
print(
|
|
"Case id: " + str(case.id),
|
|
" Case name: " + case.name,
|
|
" : Calculation complete",
|
|
)
|
|
|
|
|
|
print("Transferred all results back to ResInsight")
|
|
|
|
# one of "GENERATED", "DYNAMIC_NATIVE", "STATIC_NATIVE", "IMPORTED"
|
|
# https://api.resinsight.org/en/main/rips.html#result-definition
|
|
property_type = "GENERATED"
|
|
|
|
property_name = "PRESSURE_PORV"
|
|
|
|
statistics_case = case_group.create_statistics_case()
|
|
statistics_case.set_source_properties(property_type, [property_name])
|
|
statistics_case.compute_statistics()
|
|
|
|
view = statistics_case.create_view()
|
|
statistics_property_name = property_name + "_MEAN"
|
|
view.apply_cell_result(result_type=property_type, result_variable=statistics_property_name)
|