FIMS  v0.8.0
Loading...
Searching...
No Matches
fims_info::Information< Type > Class Template Reference

Stores FIMS model information and creates model. Contains all objects and data pre-model construction. More...

#include <information.hpp>

Public Types

typedef std::map< uint32_t, std::shared_ptr< fims_data_object::DataObject< Type > > >::iterator data_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::RecruitmentBase< Type > > >::iterator recruitment_models_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::RecruitmentBase< Type > > >::iterator recruitment_process_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::SelectivityBase< Type > > >::iterator selectivity_models_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::GrowthBase< Type > > >::iterator growth_models_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::MaturityBase< Type > > >::iterator maturity_models_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::Fleet< Type > > >::iterator fleet_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_popdy::Population< Type > > >::iterator population_iterator
 
typedef std::map< uint32_t, std::shared_ptr< fims_distributions::DensityComponentBase< Type > > >::iterator density_components_iterator
 
typedef std::unordered_map< uint32_t, std::shared_ptr< fims_popdy::FisheryModelBase< Type > > >::iterator model_map_iterator
 
typedef std::unordered_map< uint32_t, fims::Vector< Type > * >::iterator variable_map_iterator
 

Public Member Functions

void Clear ()
 Clears all containers.
 
std::string State ()
 Get a summary string of the Information object state.
 
void RegisterParameter (Type &p)
 Register a parameter as estimable.
 
void RegisterRandomEffect (Type &re)
 Register a random effect as estimable.
 
void RegisterParameterName (std::string p_name)
 Register a parameter name.
 
void RegisterRandomEffectName (std::string re_name)
 Register a random effects name.
 
void SetupPriors ()
 Loop over distributions and set links to distribution x value if distribution is a prior type.
 
void SetupRandomEffects ()
 Loop over distributions and set links to distribution x value if distribution is a random effects type.
 
void SetupData ()
 Loop over distributions and set links to distribution expected value if distribution is a data type.
 
void SetFleetLandingsData (bool &valid_model, std::shared_ptr< fims_popdy::Fleet< Type > > f)
 Set pointers to landings data in the fleet module.
 
void SetFleetIndexData (bool &valid_model, std::shared_ptr< fims_popdy::Fleet< Type > > f)
 Set pointers to index data in the fleet module.
 
void SetAgeCompositionData (bool &valid_model, std::shared_ptr< fims_popdy::Fleet< Type > > f)
 Set pointers to age composition data in the fleet module.
 
void SetLengthCompositionData (bool &valid_model, std::shared_ptr< fims_popdy::Fleet< Type > > f)
 Set pointers to length composition data in the fleet module.
 
void SetFleetSelectivityModel (bool &valid_model, std::shared_ptr< fims_popdy::Fleet< Type > > f)
 Set pointers to the selectivity module referenced in the fleet module.
 
void SetRecruitment (bool &valid_model, std::shared_ptr< fims_popdy::Population< Type > > p)
 Set pointers to the recruitment module referenced in the population module.
 
void SetRecruitmentProcess (bool &valid_model, std::shared_ptr< fims_popdy::Population< Type > > p)
 Set pointers to the recruitment process module referenced in the population module.
 
void SetGrowth (bool &valid_model, std::shared_ptr< fims_popdy::Population< Type > > p)
 Set pointers to the growth module referenced in the population module.
 
void SetMaturity (bool &valid_model, std::shared_ptr< fims_popdy::Population< Type > > p)
 Set pointers to the maturity module referenced in the population module.
 
void CreateFleetObjects (bool &valid_model)
 Loop over all fleets and set pointers to fleet objects.
 
void SetDataObjects (bool &valid_model)
 Loop over all density components and set pointers to data objects.
 
void CreatePopulationObjects (bool &valid_model)
 Loop over all populations and set pointers to population objects.
 
void CreateModelingObjects (bool &valid_model)
 Loop over all models and set pointers to population objects.
 
bool CreateModel ()
 Create the generalized stock assessment model that will evaluate the objective function. Does error checking to make sure the program has all necessary components for the model and that they're in the right dimensions. This sets up pointers to all memory objects and initializes fleet and population objects.
 
size_t GetNages () const
 Get the Nages object.
 
void SetNages (size_t n_ages)
 Set the Nages object.
 
size_t GetNyears () const
 Get the n_years object.
 
void SetNyears (size_t n_years)
 Set the n_years object.
 
std::vector< Type * > & GetParameters ()
 Get the Parameters object.
 
std::vector< Type * > & GetFixedEffectsParameters ()
 Get the Fixed Effects Parameters object.
 
std::vector< Type * > & GetRandomEffectsParameters ()
 Get the Random Effects Parameters object.
 
bool CheckModel ()
 Checks to make sure all required modules are present for specified model.
 

Static Public Member Functions

static std::shared_ptr< Information< Type > > GetInstance ()
 Returns a singleton Information object for type T.
 

Public Attributes

size_t n_years = 0
 
size_t n_ages = 0
 
std::vector< Type * > parameters
 
std::vector< Type * > random_effects_parameters
 
std::vector< Type * > fixed_effects_parameters
 
std::vector< std::string > parameter_names
 
std::vector< std::string > random_effects_names
 
std::map< uint32_t, std::shared_ptr< fims_data_object::DataObject< Type > > > data_objects
 
std::map< uint32_t, std::shared_ptr< fims_popdy::RecruitmentBase< Type > > > recruitment_models
 
std::map< uint32_t, std::shared_ptr< fims_popdy::RecruitmentBase< Type > > > recruitment_process_models
 
std::map< uint32_t, std::shared_ptr< fims_popdy::SelectivityBase< Type > > > selectivity_models
 
std::map< uint32_t, std::shared_ptr< fims_popdy::GrowthBase< Type > > > growth_models
 
std::map< uint32_t, std::shared_ptr< fims_popdy::MaturityBase< Type > > > maturity_models
 
std::map< uint32_t, std::shared_ptr< fims_popdy::Fleet< Type > > > fleets
 
std::map< uint32_t, std::shared_ptr< fims_popdy::Population< Type > > > populations
 
std::map< uint32_t, std::shared_ptr< fims_distributions::DensityComponentBase< Type > > > density_components
 
std::unordered_map< uint32_t, std::shared_ptr< fims_popdy::FisheryModelBase< Type > > > models_map
 
std::unordered_map< uint32_t, fims::Vector< Type > * > variable_map
 

Static Public Attributes

static std::shared_ptr< Information< Type > > fims_information
 

Detailed Description

template<typename Type>
class fims_info::Information< Type >

Stores FIMS model information and creates model. Contains all objects and data pre-model construction.

Member Typedef Documentation

◆ data_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_data_object::DataObject<Type>>>::iterator fims_info::Information< Type >::data_iterator

iterator for the data objects

◆ density_components_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_distributions::DensityComponentBase<Type>>>::iterator fims_info::Information< Type >::density_components_iterator

iterator for distribution objects>

◆ fleet_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::Fleet<Type>>>::iterator fims_info::Information< Type >::fleet_iterator

iterator for fleet objects>

◆ growth_models_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::GrowthBase<Type>>>::iterator fims_info::Information< Type >::growth_models_iterator

iterator for growth objects>

◆ maturity_models_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::MaturityBase<Type>>>::iterator fims_info::Information< Type >::maturity_models_iterator

iterator for maturity objects>

◆ model_map_iterator

template<typename Type >
typedef std::unordered_map<uint32_t,std::shared_ptr<fims_popdy::FisheryModelBase<Type>>>::iterator fims_info::Information< Type >::model_map_iterator

iterator for variable map>

◆ population_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::Population<Type>>>::iterator fims_info::Information< Type >::population_iterator

iterator for population objects>

◆ recruitment_models_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::RecruitmentBase<Type>>>::iterator fims_info::Information< Type >::recruitment_models_iterator

iterator for recruitment objects>

◆ recruitment_process_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::RecruitmentBase<Type>>>::iterator fims_info::Information< Type >::recruitment_process_iterator

iterator for recruitment process objects>

◆ selectivity_models_iterator

template<typename Type >
typedef std::map<uint32_t,std::shared_ptr<fims_popdy::SelectivityBase<Type>>>::iterator fims_info::Information< Type >::selectivity_models_iterator

iterator for selectivity objects>

◆ variable_map_iterator

template<typename Type >
typedef std::unordered_map<uint32_t,fims::Vector<Type>*>::iterator fims_info::Information< Type >::variable_map_iterator

iterator for variable map>

Member Function Documentation

◆ CheckModel()

template<typename Type >
bool fims_info::Information< Type >::CheckModel ( )
inline

Checks to make sure all required modules are present for specified model.

Returns
True if valid model, False if invalid model, check fims.log for errors.

◆ CreateFleetObjects()

template<typename Type >
void fims_info::Information< Type >::CreateFleetObjects ( bool valid_model)
inline

Loop over all fleets and set pointers to fleet objects.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.

◆ CreateModel()

template<typename Type >
bool fims_info::Information< Type >::CreateModel ( )
inline

Create the generalized stock assessment model that will evaluate the objective function. Does error checking to make sure the program has all necessary components for the model and that they're in the right dimensions. This sets up pointers to all memory objects and initializes fleet and population objects.

Returns
True if valid model, False if invalid model, check fims.log for errors.

◆ CreatePopulationObjects()

template<typename Type >
void fims_info::Information< Type >::CreatePopulationObjects ( bool valid_model)
inline

Loop over all populations and set pointers to population objects.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.

◆ GetFixedEffectsParameters()

template<typename Type >
std::vector< Type * > & fims_info::Information< Type >::GetFixedEffectsParameters ( )
inline

Get the Fixed Effects Parameters object.

Returns
std::vector<Type*>&

◆ GetInstance()

template<typename Type >
static std::shared_ptr< Information< Type > > fims_info::Information< Type >::GetInstance ( )
inlinestatic

Returns a singleton Information object for type T.

Returns
singleton for type T

◆ GetNages()

template<typename Type >
size_t fims_info::Information< Type >::GetNages ( ) const
inline

Get the Nages object.

Returns
size_t

◆ GetNyears()

template<typename Type >
size_t fims_info::Information< Type >::GetNyears ( ) const
inline

Get the n_years object.

Returns
size_t

◆ GetParameters()

template<typename Type >
std::vector< Type * > & fims_info::Information< Type >::GetParameters ( )
inline

Get the Parameters object.

Returns
std::vector<Type*>&

◆ GetRandomEffectsParameters()

template<typename Type >
std::vector< Type * > & fims_info::Information< Type >::GetRandomEffectsParameters ( )
inline

Get the Random Effects Parameters object.

Returns
std::vector<Type*>&

◆ RegisterParameter()

template<typename Type >
void fims_info::Information< Type >::RegisterParameter ( Type p)
inline

Register a parameter as estimable.

Parameters
pparameter

◆ RegisterParameterName()

template<typename Type >
void fims_info::Information< Type >::RegisterParameterName ( std::string  p_name)
inline

Register a parameter name.

Parameters
p_nameparameter name

◆ RegisterRandomEffect()

template<typename Type >
void fims_info::Information< Type >::RegisterRandomEffect ( Type re)
inline

Register a random effect as estimable.

Parameters
rerandom effect

◆ RegisterRandomEffectName()

template<typename Type >
void fims_info::Information< Type >::RegisterRandomEffectName ( std::string  re_name)
inline

Register a random effects name.

Parameters
re_namerandom effects name

◆ SetAgeCompositionData()

template<typename Type >
void fims_info::Information< Type >::SetAgeCompositionData ( bool valid_model,
std::shared_ptr< fims_popdy::Fleet< Type > >  f 
)
inline

Set pointers to age composition data in the fleet module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
fshared pointer to fleet module

◆ SetDataObjects()

template<typename Type >
void fims_info::Information< Type >::SetDataObjects ( bool valid_model)
inline

Loop over all density components and set pointers to data objects.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.

◆ SetFleetIndexData()

template<typename Type >
void fims_info::Information< Type >::SetFleetIndexData ( bool valid_model,
std::shared_ptr< fims_popdy::Fleet< Type > >  f 
)
inline

Set pointers to index data in the fleet module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
fshared pointer to fleet module

◆ SetFleetLandingsData()

template<typename Type >
void fims_info::Information< Type >::SetFleetLandingsData ( bool valid_model,
std::shared_ptr< fims_popdy::Fleet< Type > >  f 
)
inline

Set pointers to landings data in the fleet module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
fshared pointer to fleet module

◆ SetFleetSelectivityModel()

template<typename Type >
void fims_info::Information< Type >::SetFleetSelectivityModel ( bool valid_model,
std::shared_ptr< fims_popdy::Fleet< Type > >  f 
)
inline

Set pointers to the selectivity module referenced in the fleet module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
fshared pointer to fleet module

◆ SetGrowth()

template<typename Type >
void fims_info::Information< Type >::SetGrowth ( bool valid_model,
std::shared_ptr< fims_popdy::Population< Type > >  p 
)
inline

Set pointers to the growth module referenced in the population module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
pshared pointer to population module

◆ SetLengthCompositionData()

template<typename Type >
void fims_info::Information< Type >::SetLengthCompositionData ( bool valid_model,
std::shared_ptr< fims_popdy::Fleet< Type > >  f 
)
inline

Set pointers to length composition data in the fleet module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
fshared pointer to fleet module

◆ SetMaturity()

template<typename Type >
void fims_info::Information< Type >::SetMaturity ( bool valid_model,
std::shared_ptr< fims_popdy::Population< Type > >  p 
)
inline

Set pointers to the maturity module referenced in the population module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
pshared pointer to population module

◆ SetNages()

template<typename Type >
void fims_info::Information< Type >::SetNages ( size_t  n_ages)
inline

Set the Nages object.

Parameters
n_ages

◆ SetNyears()

template<typename Type >
void fims_info::Information< Type >::SetNyears ( size_t  n_years)
inline

Set the n_years object.

Parameters
n_years

◆ SetRecruitment()

template<typename Type >
void fims_info::Information< Type >::SetRecruitment ( bool valid_model,
std::shared_ptr< fims_popdy::Population< Type > >  p 
)
inline

Set pointers to the recruitment module referenced in the population module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
pshared pointer to population module

◆ SetRecruitmentProcess()

template<typename Type >
void fims_info::Information< Type >::SetRecruitmentProcess ( bool valid_model,
std::shared_ptr< fims_popdy::Population< Type > >  p 
)
inline

Set pointers to the recruitment process module referenced in the population module.

Parameters
&valid_modelreference to true/false boolean indicating whether model is valid.
pshared pointer to population module

◆ State()

template<typename Type >
std::string fims_info::Information< Type >::State ( )
inline

Get a summary string of the Information object state.

Returns a string containing the sizes and states of all major containers and model components in the Information object. Useful for debugging and diagnostics.

Returns
std::string summary of the Information object state.

Member Data Documentation

◆ data_objects

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_data_object::DataObject<Type> > > fims_info::Information< Type >::data_objects

map that holds data objects >

◆ density_components

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_distributions::DensityComponentBase<Type> > > fims_info::Information< Type >::density_components

hash map to link each object to its shared location in memory

◆ fims_information

template<typename Type >
std::shared_ptr< Information< Type > > fims_info::Information< Type >::fims_information
static
Initial value:
=
nullptr

singleton instance >

◆ fixed_effects_parameters

template<typename Type >
std::vector<Type *> fims_info::Information< Type >::fixed_effects_parameters

list of all fixed effects parameters >

◆ fleets

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::Fleet<Type> > > fims_info::Information< Type >::fleets

hash map to link each object to its shared location in memory

◆ growth_models

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::GrowthBase<Type> > > fims_info::Information< Type >::growth_models

hash map to link each object to its shared location in memory

◆ maturity_models

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::MaturityBase<Type> > > fims_info::Information< Type >::maturity_models

hash map to link each object to its shared location in memory

◆ models_map

template<typename Type >
std::unordered_map<uint32_t, std::shared_ptr<fims_popdy::FisheryModelBase<Type> > > fims_info::Information< Type >::models_map

hash map of fishery models, e.g., CAA, GMACS, Spatial, etc

◆ n_ages

template<typename Type >
size_t fims_info::Information< Type >::n_ages = 0

number of ages>

◆ n_years

template<typename Type >
size_t fims_info::Information< Type >::n_years = 0

number of years >

◆ parameter_names

template<typename Type >
std::vector<std::string> fims_info::Information< Type >::parameter_names

list of all parameter names estimated in the model

◆ parameters

template<typename Type >
std::vector<Type *> fims_info::Information< Type >::parameters

list of all estimated parameters >

◆ populations

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::Population<Type> > > fims_info::Information< Type >::populations

hash map to link each object to its shared location in memory

◆ random_effects_names

template<typename Type >
std::vector<std::string> fims_info::Information< Type >::random_effects_names

list of all random effects names estimated in the model

◆ random_effects_parameters

template<typename Type >
std::vector<Type *> fims_info::Information< Type >::random_effects_parameters

list of all random effects parameters >

◆ recruitment_models

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::RecruitmentBase<Type> > > fims_info::Information< Type >::recruitment_models

hash map to link each object to its shared location in memory

◆ recruitment_process_models

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::RecruitmentBase<Type> > > fims_info::Information< Type >::recruitment_process_models

hash map to link each object to its shared location in memory

◆ selectivity_models

template<typename Type >
std::map<uint32_t, std::shared_ptr<fims_popdy::SelectivityBase<Type> > > fims_info::Information< Type >::selectivity_models

hash map to link each object to its shared location in memory

◆ variable_map

template<typename Type >
std::unordered_map<uint32_t, fims::Vector<Type> *> fims_info::Information< Type >::variable_map

hash map to link a parameter, derived value, or observation to its shared location in memory


The documentation for this class was generated from the following file: