eWaterCycle / eWaterCycle/remotebmi

Add update+get_value functions

Open
#11 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.