|
template<class ParentModel > |
| Vegetation (const std::string &name, const ParentModel &parent_model, const DataIO::Config &custom_cfg={}) |
| Construct the Vegetation model.
|
|
void | perform_step () |
| Iterate a single step.
|
|
void | write_data () |
| Write the cell states (aka plant bio-mass)
|
|
void | monitor () |
| Monitor the current model state; supplies the mean plant mass.
|
|
| Model (const std::string &name, const ParentModel &parent_model, const Config &custom_cfg={}, std::tuple< WriterArgs... > w_args={}, const DataIO::Default::DefaultDecidermap< Vegetation > &w_deciders=DataIO::Default::default_deciders< Vegetation >, const DataIO::Default::DefaultTriggermap< Vegetation > &w_triggers=DataIO::Default::default_triggers< Vegetation >) |
| Constructs a Model instance.
|
|
const std::shared_ptr< Space > & | get_space () const |
| Return the space this model resides in.
|
|
Time | get_time () const |
| Return the current time of this model.
|
|
Time | get_time_max () const |
| Return the maximum time possible for this model.
|
|
Config | get_cfg () const |
| Return the config node of this model.
|
|
std::string | get_name () const |
| Return the name of this model instance.
|
|
std::string | get_full_name () const |
| Return the full name of this model within the model hierarchy.
|
|
std::shared_ptr< DataGroup > | get_hdfgrp () const |
| Return a pointer to the HDF group this model stores data in.
|
|
Time | get_write_start () const |
| Return the parameter that controls when write_data is called first.
|
|
Time | get_write_every () const |
| Return the parameter that controls how often write_data is called.
|
|
DataManager | get_datamanager () const |
| return the datamanager
|
|
hsize_t | get_remaining_num_writes () const |
| Return the number of remaining write_data calls this model will make.
|
|
std::shared_ptr< RNG > | get_rng () const |
| Return a pointer to the shared RNG.
|
|
std::shared_ptr< spdlog::logger > | get_logger () const |
| Return a pointer to the logger of this model.
|
|
Monitor | get_monitor () const |
| Return the monitor of this model.
|
|
std::shared_ptr< MonitorManager > | get_monitor_manager () const |
| Get the monitor manager of the root model.
|
|
Level | get_level () const |
| Return the hierarchical level within the model hierarchy.
|
|
virtual void | prolog () |
| A function that is called before starting model iteration.
|
|
virtual void | epilog () |
| A function that is called after the last iteration of a model.
|
|
void | iterate () |
| Iterate one (time) step of this model.
|
|
void | run () |
| Run the model from the current time to the maximum time.
|
|
std::shared_ptr< DataSet > | create_dset (const std::string name, const std::shared_ptr< DataGroup > &hdfgrp, std::vector< hsize_t > add_write_shape, const std::size_t compression_level=1, const std::vector< hsize_t > chunksize={}) |
| Create a new dataset within the given group.
|
|
std::shared_ptr< DataSet > | create_dset (const std::string name, const std::vector< hsize_t > add_write_shape, const std::size_t compression_level=1, const std::vector< hsize_t > chunksize={}) |
| Create a new dataset within the model's base data group.
|
|
std::shared_ptr< DataSet > | create_cm_dset (const std::string name, const CellManager &cm, const std::size_t compression_level=1, const std::vector< hsize_t > chunksize={}) |
| Create a dataset storing data from a CellManager.
|
|
std::shared_ptr< DataSet > | create_am_dset (const std::string name, const AgentManager &am, const std::size_t compression_level=1, const std::vector< hsize_t > chunksize={}) |
| Create a dataset storing data from a AgentManager.
|
|
|
void | __perform_step () |
| Perform the computation of a step.
|
|
void | __monitor () |
| Monitor information in the terminal.
|
|
void | __write_data () |
| Write data; calls the implementation's write_data method.
|
|
void | __write_initial_state () |
| Write the initial state.
|
|
void | increment_time (const Time dt=1) |
| Increment time.
|
|
void | __prolog () |
| The default prolog of a model.
|
|
void | __epilog () |
| The default epilog of a model.
|
|
Vegetation & | impl () |
| cast to the derived class
|
|
const Vegetation & | impl () const |
| const cast to the derived interface
|
|
const std::string | _name |
| Name of the model instance.
|
|
const std::string | _full_name |
| The full name within the model hierarchy.
|
|
const Level | _level |
| The level within the model hierarchy.
|
|
const Config | _cfg |
| Config node belonging to this model instance.
|
|
const std::shared_ptr< RNG > | _rng |
| The RNG shared between models.
|
|
const std::shared_ptr< spdlog::logger > | _log |
| The (model) logger.
|
|
std::shared_ptr< Space > | _space |
| The space this model resides in.
|
|
Time | _time |
| Model-internal current time stamp.
|
|
const Time | _time_max |
| Model-internal maximum time stamp.
|
|
const std::shared_ptr< DataGroup > | _hdfgrp |
| The HDF group this model instance should write its data to.
|
|
const Time | _write_start |
| First time at which write_data is called.
|
|
const Time | _write_every |
| How often to call write_data from iterate.
|
|
Monitor | _monitor |
| The monitor.
|
|
DataManager | _datamanager |
| Manager object for handling data output; see DataManager.
|
|
static constexpr WriteMode | _write_mode |
| Which data-writing mode the base model should use.
|
|
A very simple vegetation model.