Skip to content

Commit

Permalink
parse metadata passed to WellModel
Browse files Browse the repository at this point in the history
  • Loading branch information
dbrakenhoff committed Mar 22, 2023
1 parent b5c972b commit ed56bcf
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions pastas/stressmodels.py
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ def __init__(
settings = len(stress) * [settings]

# parse stresses input
stress = self._handle_stress(stress, settings)
stress = self._handle_stress(stress, settings, metadata)

# sort wells by distance
self.sort_wells = sort_wells
Expand Down Expand Up @@ -764,7 +764,7 @@ def simulate(
return h

@staticmethod
def _handle_stress(stress, settings):
def _handle_stress(stress, settings, metadata):
"""Internal method to handle user provided stress in init.
Parameters
Expand All @@ -773,6 +773,8 @@ def _handle_stress(stress, settings):
stress or collection of stresses.
settings: dict or iterable
settings dictionary.
metadata : dict or list of dict
metadata dictionaries corresponding to stress
Returns
-------
Expand All @@ -782,13 +784,23 @@ def _handle_stress(stress, settings):
data = []

if isinstance(stress, Series):
data.append(TimeSeries(stress, settings=settings))
data.append(TimeSeries(stress, settings=settings, metadata=metadata))
elif isinstance(stress, dict):
for i, (name, value) in enumerate(stress.items()):
data.append(TimeSeries(value, name=name, settings=settings[i]))
if metadata is not None:
imeta = metadata[i]
else:
imeta = None
data.append(
TimeSeries(value, name=name, settings=settings[i], metadata=imeta)
)
elif isinstance(stress, list):
for i, value in enumerate(stress):
data.append(TimeSeries(value, settings=settings[i]))
if metadata is not None:
imeta = metadata[i]
else:
imeta = None
data.append(TimeSeries(value, settings=settings[i], metadata=imeta))
else:
msg = "Cannot parse 'stress' input. Provide a Series, dict or list."
logger.error(msg)
Expand Down

0 comments on commit ed56bcf

Please sign in to comment.