NOAA-FIMS / FIMS

The repository for development of FIMS
https://noaa-fims.github.io/FIMS/
GNU General Public License v3.0
13 stars 8 forks source link

[Developer Issue]: Add variable_map #645

Open Andrea-Havron-NOAA opened 2 months ago

Andrea-Havron-NOAA commented 2 months ago

Description

Andrea-Havron-NOAA commented 1 month ago

@Cole-Monnahan-NOAA and @cmlegault, what would be the total dimensions of these vectorized parameters, e.g. nyears, nages?

msupernaw commented 1 month ago

nyears

On Fri, Jul 26, 2024 at 4:52 PM Andrea-Havron-NOAA @.***> wrote:

  • vectorize call to scalar parameters:
    • rcpp_recruitment: logit_steep, log_rzero, log_sigma_recruit
    • rcpp_selectivity: inflection_point, slope, inflectin_point_asc, slope_asc, inflection_point_desc, slope_desc

@Cole-Monnahan-NOAA https://github.com/Cole-Monnahan-NOAA and @cmlegault https://github.com/cmlegault, what would be the total dimensions of these vectorized parameters, e.g. nyears, nages?

— Reply to this email directly, view it on GitHub https://github.com/NOAA-FIMS/FIMS/issues/645#issuecomment-2253490728, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABFUSECBSRVP4QY2K4KCMY3ZOKZINAVCNFSM6AAAAABKTOSEGCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJTGQ4TANZSHA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Matthew Supernaw Mathematical Statistician National Oceanic and Atmospheric Administration Office Of Science and Technology NOAA Fisheries | U.S. Department of Commerce Phone 248 - 396 - 7797

msupernaw commented 1 month ago

https://github.com/NOAA-FIMS/FIMS/blob/proto_length/inst/include/population_dynamics/population/population.hpp#L656

Cole-Monnahan-NOAA commented 1 month ago

It depends on the process.

logit_steep, log_rzero, log_sigma_recruit would be the number of subpopulations or areas. sigmaR can be a vector of 2 in WHAM even for single species models b/c the age 1+ fish are allowed to have a different (lower in theory) sigma than the recruits. Perhaps that would be a separate parameter though.

inflection_point, slope, inflectin_point_asc, slope_asc, inflection_point_desc, slope_desc: these will typically be nyears.

Edit: but the selex ones could also be the number of populations/areas, or perhaps more likely the number of fisheries. One could in theory assume selectivity among the nfleets were exchangeable and share information among them. That's likely never been done and may be a terrible idea.

msupernaw commented 1 month ago

I totally agree with what Cole is saying, however if the division was by areas or sub populations, they would be different instances of a recruitment functor in FIMS. Same idea, just functional vs object-oriented programming!