FIMS  v0.10.0
Loading...
Searching...
No Matches
fims_popdy Namespace Reference

The population dynamics of FIMS. More...

Classes

struct  AgeSpecificSelectivity
 Age-specific selectivity calculated using one parameter per age bin. More...
 
struct  AgeToLengthConversionBase
 Base interface for age-length key implementations. More...
 
struct  AgeToLengthConversionDerived
 Growth-derived age-to-length conversion implementation that reads prepared population age-to-size probabilities and maps them into fleet observation bins. More...
 
struct  AgeToLengthConversionFixed
 Fixed age-to-length conversion implementation using a fleet's stored age-to-length conversion matrix. More...
 
class  CatchAtAge
 CatchAtAge is a class containing a catch-at-age model, which is just one of many potential fishery models that can be used in FIMS. The CatchAtAge class inherits from the FisheryModelBase class and can be used to fit both age and length data even though it is called CatchAtAge. More...
 
struct  DimensionInfo
 Structure to hold dimension information for derived quantities. More...
 
struct  DoubleLogisticSelectivity
 DoubleLogisticSelectivity class that returns the double logistic function value from fims_math. More...
 
struct  EWAAGrowth
 EWAAGrowth class that returns the EWAA function value. More...
 
class  FisheryModelBase
 FisheryModelBase is a base class for fishery models in FIMS. More...
 
struct  Fleet
 Base class for all fleets. More...
 
struct  GrowthBase
 Base class for all growth functors. More...
 
class  GrowthDerivedObservationBase
 Generic capability interface for growth models that can feed the growth-derived age-to-length conversion / bin-based WAA path in catch-at-age. More...
 
class  GrowthDerivedSizeProvider
 Size provider that converts growth outputs to population size products. More...
 
class  GrowthModel
 Concrete growth model using VonBertalanffySchnute growth (Phase 1). More...
 
class  GrowthModelBase
 Growth module boundary (product-oriented). More...
 
struct  GrowthProducts
 Growth "products" in a consistent (year, age, sex) space. More...
 
struct  LogDevs
 Log Devs class that returns the log of the input added to the log of the recruitment deviations. More...
 
struct  LogisticMaturity
 LogisticMaturity class that returns the logistic function value from fims_math. More...
 
struct  LogisticSelectivity
 LogisticSelectivity class that returns the logistic function value from fims_math. More...
 
struct  LogR
 Log Devs class that returns the log of the input added to the log of the recruitment deviations. More...
 
struct  MaturityBase
 Base class for all maturity functors. More...
 
struct  Population
 Population class. Contains subpopulations that are divided into generic partitions (e.g., sex, area). More...
 
struct  RecruitmentBase
 Base class for all recruitment functors. More...
 
struct  SelectivityBase
 Base class for all selectivity functors. More...
 
struct  SizeBinMapping
 Helper for mapping population biological size bins to observed fleet bins. More...
 
class  SizeDistributionProviderBase
 Base interface for objects that provide population-level size distributions. More...
 
struct  SizeGrid
 Population-level biological size grid. More...
 
struct  SizeGridBuilder
 Helper for constructing internally consistent population size grids. More...
 
struct  SizeProducts
 Cached population-level size outputs on a biological size grid. More...
 
struct  SRBevertonHolt
 BevertonHolt class that returns the Beverton–Holt stock–recruitment from fims_math. More...
 
class  Subpopulation
 
struct  VonBertalanffySchnuteGrowth
 VonBertalanffySchnute growth functor for length-at-age and weight-at-age. More...
 
class  VonBertalanffySchnuteGrowthModelAdapter
 von Bertalanffy–Schnute growth model adapter implementing the generic growth-derived observation capability for catch-at-age. More...
 

Functions

template<typename Type >
std::shared_ptr< AgeToLengthConversionBase< Type > > BuildAgeToLengthConversionFleet (const std::shared_ptr< Population< Type > > &population, const std::shared_ptr< Fleet< Type > > &fleet)
 Build the active age-to-length conversion for a fleet from the current population and fleet state.
 
template<typename Type >
void EnsureAgeToLengthConversionFleet (const std::shared_ptr< Population< Type > > &population, const std::shared_ptr< Fleet< Type > > &fleet)
 Ensure a fleet has an active age-to-length conversion before length-based calculations.
 
template<typename Type >
void EnsurePopulationFleetAgeToLengthConversion (const std::shared_ptr< Population< Type > > &population)
 Ensure all fleets linked to a population have a usable age-to-length conversion.
 

Detailed Description

The population dynamics of FIMS.

Function Documentation

◆ BuildAgeToLengthConversionFleet()

template<typename Type >
std::shared_ptr< AgeToLengthConversionBase< Type > > fims_popdy::BuildAgeToLengthConversionFleet ( const std::shared_ptr< Population< Type > > &  population,
const std::shared_ptr< Fleet< Type > > &  fleet 
)

Build the active age-to-length conversion for a fleet from the current population and fleet state.

Tries the growth-derived age-to-length conversion path when the linked population growth object exposes the required observation capability. That migrated path depends on a configured population size provider and a valid population biological size grid so prepared population age-to-size products can be mapped into fleet observation bins. When the growth-derived capability exists, that path must succeed or the build fails. Fixed age-to-length conversion is only used for growth objects that do not expose the growth-derived observation capability.

Parameters
populationShared pointer to the owning population.
fleetShared pointer to the fleet.
Returns
Shared pointer to an active age-to-length conversion implementation, or nullptr when no usable age-to-length conversion path exists.

◆ EnsureAgeToLengthConversionFleet()

template<typename Type >
void fims_popdy::EnsureAgeToLengthConversionFleet ( const std::shared_ptr< Population< Type > > &  population,
const std::shared_ptr< Fleet< Type > > &  fleet 
)

Ensure a fleet has an active age-to-length conversion before length-based calculations.

Reuses the current fleet age-to-length conversion when it matches the current population growth path and can prepare for the current model state. For the migrated growth-derived path, this preparation includes both upstream growth products and linked population size-provider products. Otherwise rebuilds the fleet age-to-length conversion from the current population and fleet state. Throws when the fleet has length bins but no usable age-to-length conversion path can be constructed.

Parameters
populationShared pointer to the owning population.
fleetShared pointer to the fleet.

◆ EnsurePopulationFleetAgeToLengthConversion()

template<typename Type >
void fims_popdy::EnsurePopulationFleetAgeToLengthConversion ( const std::shared_ptr< Population< Type > > &  population)

Ensure all fleets linked to a population have a usable age-to-length conversion.

Applies EnsureAgeToLengthConversionFleet() to each fleet linked to the population so runtime length-based calculations can safely assume age-to-length conversion availability.

Parameters
populationShared pointer to the population whose fleets should be checked.