-
Notifications
You must be signed in to change notification settings - Fork 16
BMI interface with user-defined input/output variables #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
BMI interface with user-defined input/output variables #26
Conversation
…-NextGen Feature/functions required by next gen
Input variables accepted: forcings Output variables accepted: state variables and outflow (special case) BMI config file now requires the definition of both input and output variables
…t variables Also variables types changed from 'state' and 'derived' to 'hru_state' and 'subbasin_state', respectively.
for more information, see https://pre-commit.ci
As pModel->Initialize() changes the value of Options.duration to 365 (the default), the setting of Options.duration to "almost infinite" needs to take place after pModel->Initialize() to persist. This commit moves the setting of Options.duration to the right place.
|
Hi @adlzanchetta - just getting around to this now. Apologies for the delay. Can you merge with newest branch and re-pull. Can't figure out how to resolve the (unimportant) conflicts via GitHub. Such a non-intuitive UI. |
analytophile
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you merge with current branch such that all diffs are in Raven_BMI.cpp/.h? It will be easier for me to merge afterwards. Sorry for the massive delay.
Hi @analytophile . Unfortunately, it has been so long since I've touched it that the amount of time I would have to dedicate just to reconnect with the project would be prohibitive for me at the moment... |
|
No worries. I'll take a stab at it.
…On Sat, Mar 15, 2025, 1:50 p.m. Andre Della Libera Zanchetta < ***@***.***> wrote:
Can you merge with current branch such that all diffs are in
Raven_BMI.cpp/.h? It will be easier for me to merge afterwards. Sorry for
the massive delay.
Hi @analytophile <https://github.com/analytophile> . Unfortunately, it
has been so long since I've touched it that the amount of time I would have
to dedicate just to reconnect with the project would be prohibitive for me
at the moment...
—
Reply to this email directly, view it on GitHub
<#26 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AH3MFXRAP3RQHTJIFYC5A3D2URR6JAVCNFSM6AAAAABY4SPNDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMRWHA2TIMZVGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
[image: adlzanchetta]*adlzanchetta* left a comment
(CSHS-CWRA/RavenHydroFramework#26)
<#26 (comment)>
Can you merge with current branch such that all diffs are in
Raven_BMI.cpp/.h? It will be easier for me to merge afterwards. Sorry for
the massive delay.
Hi @analytophile <https://github.com/analytophile> . Unfortunately, it
has been so long since I've touched it that the amount of time I would have
to dedicate just to reconnect with the project would be prohibitive for me
at the moment...
—
Reply to this email directly, view it on GitHub
<#26 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AH3MFXRAP3RQHTJIFYC5A3D2URR6JAVCNFSM6AAAAABY4SPNDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMRWHA2TIMZVGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
What kind of change does this PR introduce?
The BMI interface had hardcoded 2 input and 3 output variables. This PR makes the number and the type of input/output variables dynamic and defined by the user through the BMI config file.
Does this PR introduce a breaking change?
It only affects the BMI interface (only files changed were
Raven_BMI.cppandRaven_BMI.h).Prior to this PR, a valid BMI .yaml config file would have the following one-line content:
After this PR, the BMI .yaml NEEDs to include input/output variables. The following content would provide the same output as the above-mentioned example:
Other information:
forcingvariables are currently supported asinput_vars, but the code is structured to be easily expanded in the future to supportsubbasin_stateandhru_statevariables;subbasin_stateandhru_statevariables are currently supported asoutput_vars;subbasin_statevariables supported:RESERVOIR_STAGE,STREAMFLOWandOUTFLOW(STREAMFLOW=OUTFLOW).