Proposed design change to population->Evaluate #732
Andrea-Havron-NOAA
started this conversation in
Developers
Replies: 1 comment 1 reply
-
We’ll just need to make sure the proposed design doesn’t impact the derivative chain in a negative way.
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The evaluate function in population follows a design pattern that is a bit restrictive for random effects models. The current design pattern sets up each module (eg. maturity) as a scalar function and evaluates it inside the year loop of population->evaluate(). This setup necessitates that evaluations are hard coded at ages[age], preventing expansion into random effect structures such as RW or AR1.
A proposed change would be to call module specific evaluate functions (maturity, selectivity, growth) prior to the year loop in
population-> Evaluate()
and evaluate the entire vector instead of a scalar in the specific module functions. This way, the functions could be evaluated deterministically or as a random effect based on the previous age.So instead of :
I propose:
This is all just from a Friday morning brainstorming session. I'fd be happy to write up a more formal design doc to present to the group if others don't see any problems with this change.
@kellijohnson-NOAA @msupernaw @Bai-Li-NOAA @nathanvaughan-NOAA
Beta Was this translation helpful? Give feedback.
All reactions