TNO Intern

Commit 6689aa9c authored by Hen Brett's avatar Hen Brett 🐔
Browse files

experimenting with chunking of data

parent d0cd9b6e
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ import xarray as xr
import numpy as np
import timeit

from dask_utils.dask_utils import auto_chunk_xarray
from pythermogis import simulate_doublet
from pythermogis.physics.temperature_grid_calculation import calculate_temperature_from_gradient
from pythermogis.thermogis_classes.utc_properties import instantiate_utc_properties_builder
@@ -86,9 +87,13 @@ def calculate_doublet_performance(reservoir_properties: xr.Dataset, utc_properti
    if "transmissivity" not in reservoir_properties:
        reservoir_properties["transmissivity"] = reservoir_properties["permeability"] * reservoir_properties["thickness"]

    # chunk reservoir properties to enable dask parralelization
    chunk_dict = auto_chunk_xarray(reservoir_properties, target_chunk_mb=50)
    reservoir_properties_chunk = reservoir_properties.chunk(chunk_dict)

    # Setup output_data dataset as a copy of reservoir properties
    output_data = reservoir_properties.copy()
    output_data = simulate_doublet(output_data, reservoir_properties, rng_seed, utc_properties)
    output_data = simulate_doublet(output_data, reservoir_properties_chunk, rng_seed, utc_properties).load()
    if print_execution_duration: print(f"Doublet simulation took {timeit.default_timer() - start:.1f} seconds")
    return output_data

+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ class PyThermoGIS(TestCase):


    def read_input_grids(self):
        new_cellsize=5000 # in m
        new_cellsize=1000 # in m
        input_grids = resample_xarray_grid(read_grid(self.test_files_out_path / "ROSL_ROSLU__thick.zmap"), new_cellsize=new_cellsize).to_dataset(name="thickness_mean")
        input_grids["thickness_sd"] = resample_xarray_grid(read_grid(self.test_files_out_path / "ROSL_ROSLU__thick_sd.zmap"), new_cellsize=new_cellsize)
        input_grids["ntg"] = resample_xarray_grid(read_grid(self.test_files_out_path / "ROSL_ROSLU__ntg.zmap"), new_cellsize=new_cellsize)