|
| | GrowthDerivedSizeProvider (std::shared_ptr< GrowthDerivedObservationBase< Type > > growth) |
| | Construct a provider linked to a Growth-derived observation object.
|
| const SizeGrid * | TryGetSizeGrid () const override |
| | Return the biological size grid used by this provider.
|
| void | SetPopulationSizeGrid (const SizeGrid *population_size_grid) override |
| | Configure the provider to use the canonical population size grid.
|
| void | SetPopulationDimensions (std::size_t n_years, std::size_t n_ages) override |
| | Configure the provider dimensions for prepared size products.
|
| void | PrepareSizeProducts () override |
| | Prepare size products for the current model state.
|
| void | InvalidatePreparedSizeProducts () override |
| | Invalidate any prepared size state held by this provider.
|
| const Type & | MeanLAA (std::size_t year_index, std::size_t age_index) const override |
| | Read prepared mean length-at-age.
|
| const Type & | SdLAA (std::size_t year_index, std::size_t age_index) const override |
| | Read prepared spread of length-at-age.
|
| const Type & | ProbSize (std::size_t year_index, std::size_t age_index, std::size_t size_bin_index) const override |
| | Read prepared age-to-size probability on the population grid.
|
| const Type & | MeanWeightAtAge (std::size_t year_index, std::size_t age_index) const override |
| | Mean weight-at-age averaged over the population length-at-age distribution.
|
| void | SetGrowth (std::shared_ptr< GrowthDerivedObservationBase< Type > > growth) |
| | Replace the Growth-derived observation object used by this provider.
|
template<typename Type>
class fims_popdy::GrowthDerivedSizeProvider< Type >
Size provider that converts growth outputs to population size products.
The provider reads mean length, length standard deviation, and weight-at-age from a Growth-derived observation object, then builds probability rows on the population biological size grid and the mean weight-at-age averaged over those rows.
- Template Parameters
-
| Type | Numeric or automatic-differentiation scalar type. |
Mean weight-at-age averaged over the population length-at-age distribution.
\[\bar{W}_{y,a} = \sum_l P(l \mid y, a) \, W(c_l)
\]
where \(c_l\) is the center of population size bin \(l\) and \(W\) is the length-weight relationship. Unlike the growth products' MeanWAA, which is weight at the mean length, this includes the effect of the spread of lengths at age on mean weight. Values are from the last call to PrepareSizeProducts(), which the catch-at-age model makes on every evaluation.
- Parameters
-
| year_index | Year index. |
| age_index | Age index. |
- Returns
- Mean weight-at-age on the natural scale.
Implements fims_popdy::SizeDistributionProviderBase< Type >.