NGen
Loading...
Searching...
No Matches
ngen::SurfaceLayer Class Reference

#include <SurfaceLayer.hpp>

+ Inheritance diagram for ngen::SurfaceLayer:
+ Collaboration diagram for ngen::SurfaceLayer:

Public Types

using feature_type = hy_features::HY_Features
 

Public Member Functions

 SurfaceLayer (const LayerDescription &desc, const std::vector< std::string > &p_u, const Simulation_Time &s_t, feature_type &f, geojson::GeoJSON cd, long idx, const std::vector< std::string > &n_u, std::unordered_map< std::string, std::ofstream > &output_files)
 
void update_models () override
 Run one simulation timestep for each model in this layer.
 
time_t next_timestep_epoch_time ()
 Return the next timestep that will be processed by this layer in epoch time units.
 
time_t current_timestep_epoch_time ()
 Return the last timestep that was processed by this layer in epoch time units.
 
int get_id () const
 Return the numeric id of this layer.
 
const std::string & get_name () const
 Return the name of this layer.
 
const double get_time_step () const
 Return this time_step interval used for this layer.
 
const std::string & get_time_step_units () const
 Return the units for the time_step value of this layer.
 

Protected Attributes

const LayerDescription description
 
const std::vector< std::string > processing_units
 
Simulation_Time simulation_time
 
feature_typefeatures
 
const geojson::GeoJSON catchment_data
 
long output_time_index
 

Private Attributes

std::vector< std::string > nexus_ids
 
std::unordered_map< std::string, std::ofstream > & nexus_outfiles
 

Member Typedef Documentation

◆ feature_type

Constructor & Destructor Documentation

◆ SurfaceLayer()

ngen::SurfaceLayer::SurfaceLayer ( const LayerDescription & desc,
const std::vector< std::string > & p_u,
const Simulation_Time & s_t,
feature_type & f,
geojson::GeoJSON cd,
long idx,
const std::vector< std::string > & n_u,
std::unordered_map< std::string, std::ofstream > & output_files )
inline

Member Function Documentation

◆ current_timestep_epoch_time()

time_t ngen::Layer::current_timestep_epoch_time ( )
inlineinherited

Return the last timestep that was processed by this layer in epoch time units.

References Simulation_Time::get_current_epoch_time(), and ngen::Layer::simulation_time.

◆ get_id()

int ngen::Layer::get_id ( ) const
inlineinherited

Return the numeric id of this layer.

References ngen::Layer::description, and ngen::LayerDescription::id.

◆ get_name()

const std::string & ngen::Layer::get_name ( ) const
inlineinherited

Return the name of this layer.

References ngen::Layer::description, and ngen::LayerDescription::name.

◆ get_time_step()

const double ngen::Layer::get_time_step ( ) const
inlineinherited

Return this time_step interval used for this layer.

References ngen::Layer::description, and ngen::LayerDescription::time_step.

◆ get_time_step_units()

const std::string & ngen::Layer::get_time_step_units ( ) const
inlineinherited

Return the units for the time_step value of this layer.

References ngen::Layer::description, and ngen::LayerDescription::time_step_units.

◆ next_timestep_epoch_time()

time_t ngen::Layer::next_timestep_epoch_time ( )
inlineinherited

Return the next timestep that will be processed by this layer in epoch time units.

References Simulation_Time::next_timestep_epoch_time(), and ngen::Layer::simulation_time.

◆ update_models()

void ngen::SurfaceLayer::update_models ( )
overridevirtual

Member Data Documentation

◆ catchment_data

const geojson::GeoJSON ngen::Layer::catchment_data
protectedinherited

◆ description

◆ features

feature_type& ngen::Layer::features
protectedinherited

◆ nexus_ids

std::vector<std::string> ngen::SurfaceLayer::nexus_ids
private

◆ nexus_outfiles

std::unordered_map<std::string, std::ofstream>& ngen::SurfaceLayer::nexus_outfiles
private

Referenced by update_models().

◆ output_time_index

long ngen::Layer::output_time_index
protectedinherited

◆ processing_units

const std::vector<std::string> ngen::Layer::processing_units
protectedinherited

◆ simulation_time


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