eWaterCycle / eWaterCycle/remotebmi
Add update+get_value functions
- Dominant language
- Julia
- Stars
- 0
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
A very common way to call the BMI methods is
```python
while m.get_current_time() < m.get_end_time():
m.update()
for v in variables:
output[m.get_current_time()][v] = m.get_value(v)
```
Lots of requests are needed to get a value after each update, this could be slow.
To speed up running a model it would be nice to have additional run functions like
1. `update_until_and_get_value_of_variables(time, variables): Mapping>`
1. `update_until_and_get_value(time, variables): list>`
1. `update_until_and_get_value_at_indices(time, variable, indices): list`
1. `update_until_and_get_value_of_variables_at_indices(time, variables, indices): Mapping>`
We should benchmark to see if this how slow it is, if slow we should implement those functions.
The responses can get quite big, the client and server should support this.
Could those functions be a BMI extension, see https://github.com/csdms/bmi/discussions/138 ?
Similar to https://github.com/eWaterCycle/grpc4bmi/issues/152
Contributor guide
Assessment
This issue has not been assessed yet.