Skip to content

Commit b6a01d7

Browse files
committed
🐛 fmu get_property values return float or strings not just strings
1 parent 5054d69 commit b6a01d7

4 files changed

Lines changed: 13 additions & 8 deletions

File tree

corrai/base/model.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,11 @@ def simulate_parameter(
141141
Simulation results as a DataFrame with a DateTimeIndex and one
142142
or more output columns.
143143
"""
144+
sim_kwargs = {} if simulation_kwargs is None else simulation_kwargs
144145
return self.simulate(
145146
self.get_property_from_param(parameter_value_pairs),
146147
simulation_options,
147-
**{} if simulation_kwargs is None else simulation_kwargs,
148+
**sim_kwargs,
148149
)
149150

150151
def get_property_values(self, property_list: list[str]) -> list[str | int | float]:

corrai/base/simulate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def run_simulations(
108108
results = Parallel(n_jobs=n_cpu)(
109109
delayed(
110110
lambda param: model.simulate_parameter(
111-
param, simulation_options, **simulation_kwargs
111+
param, simulation_options, simulation_kwargs
112112
)
113113
)(param)
114114
for param in bar

corrai/sampling.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1356,12 +1356,16 @@ def add_sample(
13561356
num_levels: int = 4,
13571357
simulate: bool = True,
13581358
n_cpu: int = 1,
1359+
simulation_kwargs=None,
13591360
**morris_kwargs,
13601361
):
13611362
morris_sample = morris_sampler.sample(
13621363
self.get_salib_problem(), N, num_levels, **morris_kwargs
13631364
)
1364-
self._post_draw_sample(morris_sample, simulate, n_cpu)
1365+
simulation_kwargs = {} if simulation_kwargs is None else simulation_kwargs
1366+
self._post_draw_sample(
1367+
morris_sample, simulate, n_cpu, simulation_kwargs=simulation_kwargs
1368+
)
13651369

13661370

13671371
class FASTSampler(RealSampler):
@@ -1468,12 +1472,12 @@ def __init__(
14681472
super().__init__(parameters, model, simulation_options)
14691473

14701474
def add_sample(
1471-
self, n: int, rng: int = None, simulate=True, n_cpu: int = 1, **lhs_kwargs
1475+
self, n: int, rng: int = None, simulate=True, n_cpu: int = 1, simulation_kwargs:dict=None, **lhs_kwargs
14721476
):
14731477
lhs = LatinHypercube(d=len(self.parameters), rng=rng, **lhs_kwargs)
14741478
new_dimless_sample = lhs.random(n=n)
14751479
self._post_draw_sample(
1476-
new_dimless_sample, simulate, n_cpu, sample_is_dimless=True
1480+
new_dimless_sample, simulate, n_cpu, sample_is_dimless=True, simulation_kwargs=simulation_kwargs
14771481
)
14781482

14791483

tests/test_fmu.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,13 @@ def test_get_property_values(self):
146146
assert len(values) == 1
147147

148148
vals = simu.get_property_values("x.k")
149-
assert vals == ["2.0"]
149+
assert vals == [2.0]
150150

151151
vals = simu.get_property_values(("x.k",))
152-
assert vals == ["2.0"]
152+
assert vals == [2.0]
153153

154154
vals = simu.get_property_values(["x.k", "y.k"])
155-
assert vals == ["2.0", "2.0"]
155+
assert vals == [2.0, 2.0]
156156

157157
def test_simulate_parallel(self):
158158
simu = ModelicaFmuModel(

0 commit comments

Comments
 (0)