Files
ResInsight/GrpcInterface/Python/rips/PythonExamples/case_grid_group_generated_results.py
Magne Sjaastad f20a83c710 Add create_statistics_case
Remove original implementation not working in gridcasegroup.py
Add create_statistics_case object method
2023-07-11 09:22:14 +02:00

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)