-
Notifications
You must be signed in to change notification settings - Fork 173
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
fix feasibilty and slow convergences issues related bii_target_apr24 #760
Conversation
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.
Why is a lock_timeout of six hours needed?
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.
Because the FSEC start script starts many runs with c200 and in addition for all runs a c1000 high resolution run is started. If some c200 runs finish before all runs are submitted (what happend in my tests), the starting of c1000 runs locks the model folder and delays the start of the remaining c200 runs. Therefore, a longer lock_timeout is needed.
CHANGELOG.md
Outdated
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.
Pat will probably have the key input for the biodiversity changes. Since I only partially understand what you did besides the scaling and clean-up, I have a few understanding questions. Are the changes made in the biodiversity module related to what you mentioned about having a too low boundary for vm_bv? If so, How is this associated with removing p44_target_value(i,biome44)
?
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.
I cleaned-up the code for the linear interpolation because it was confusing. p44_target_value(i,biome44)
is just no longer needed.
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.
Thanks a lot for these fixes! I only have a brief clarification question.
*** | MAgPIE License Exception, version 1.0 (see LICENSE file). | ||
*** | Contact: [email protected] | ||
|
||
q44_bii.scale(i,biome44) = 1e10; |
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.
Why is the scaling needed here?
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.
This is based on recommendations from the CONOPT support. Without the scaling, some test runs are infeasible.
🐦 Description of this PR 🐦
This PR aims to fix feasibilty and slow convergences issues related to
modules/44_biodiversity/bii_target_apr24
i44_biome_share(j,biome44)
has been revised to avoid very small numbers.p44_bii_lower_bound(t2,i,biome44)
was executed even if s44_bii_lower_bound = 0, which is not meaningful and rather confusing. With this PR the calculation is only excuted if s44_bii_lower_bound > 0.q44_bii
is scaled to avoid very small numbers.lock_timeout = 6
is used.This PR has been sucessfully tested with with default test runs (
test_runs.R
) and all FSEC (c200 and c1000) test runs.Changelog
q44_bii
lock_timeout
as option tostart_run
function🔧 Checklist for PR creator 🔧
Label pull request from the label list.
Self-review own code
magpie4
R library has been updated accordingly and backwards compatible where necessary.scenario_config.csv
has been updated accordingly (important ifdefault.cfg
has been updated)Document changes
CHANGELOG.md
goxygen::goxygen()
and verify the modified code is properly documentedPerform test runs
Rscript start.R --> "compilation check"
Rscript start.R --> "test runs"
Rscript start.R --> "test runs"
📉 Performance changes 📈
🚨 Checklist for reviewer 🚨
CHANGELOG
is updated correctly