8#ifndef LM_OUTPUT_SOILCHEMISTRYMETRX_H_
9#define LM_OUTPUT_SOILCHEMISTRYMETRX_H_
11#include "mbe_legacymodel.h"
13#include "soilchemistry/metrx/output-soilchemistry-metrx-daily.h"
14#include "soilchemistry/metrx/output-soilchemistry-metrx-yearly.h"
15#include "soilchemistry/metrx/output-soilchemistry-metrx-layer-daily.h"
16#include "soilchemistry/metrx/output-soilchemistry-metrx-layer-yearly.h"
17#include "soilchemistry/metrx/output-soilchemistry-metrx-fluxes-layer-subdaily.h"
18#include "soilchemistry/metrx/output-soilchemistry-metrx-pools-layer-daily.h"
19#include "soilchemistry/metrx/output-soilchemistry-metrx-subdaily.h"
21#define LMOD_OUTPUT_MODULE_BASE MBE_LegacyModel
22#define LMOD_OUTPUT_MODULE_NAME OutputSoilchemistryMeTrX
23#define LMOD_OUTPUT_MODULE_ID "output:soilchemistry:metrx"
24#define LMOD_OUTPUT_MODULE_DESC "SoilchemistryMETRX Output"
26class LDNDC_API LMOD_OUTPUT_MODULE_NAME :
public LMOD_OUTPUT_MODULE_BASE
28 LMOD_EXPORT_MODULE_INFO(LMOD_OUTPUT_MODULE_NAME,LMOD_OUTPUT_MODULE_ID,LMOD_OUTPUT_MODULE_DESC);
42 LMOD_OUTPUT_MODULE_NAME(
45 timemode_e _timemode);
47 ~LMOD_OUTPUT_MODULE_NAME();
51 ldndc::config_file_t
const *);
59 lerr_t wake() {
return LDNDC_ERR_OK; }
61 lerr_t sleep() {
return LDNDC_ERR_OK; }
64 bool write_daily()
const {
return this->output_writer_daily.active(); }
65 lerr_t write_daily( ldndc_flt64_t * );
67 bool write_yearly()
const {
return this->output_writer_yearly.active(); }
68 lerr_t write_yearly( ldndc_flt64_t * );
70 bool write_layer_daily()
const {
return this->output_writer_layer_daily.active(); }
71 lerr_t write_layer_daily(
unsigned int , ldndc_flt64_t * );
73 bool write_layer_yearly()
const {
return this->output_writer_layer_yearly.active(); }
74 lerr_t write_layer_yearly(
unsigned int , ldndc_flt64_t * );
76 bool write_fluxes()
const {
return this->output_writer_fluxes.active(); }
77 lerr_t write_fluxes(
unsigned int , ldndc_flt64_t * );
79 bool write_pools()
const {
return this->output_writer_pools.active(); }
80 lerr_t write_pools(
unsigned int , ldndc_flt64_t * );
82 bool write_subdaily()
const {
return this->output_writer_subdaily.active(); }
83 lerr_t write_subdaily( ldndc_flt64_t * );
86 size_t record_size( writer_id_e )
const;
87 size_t max_record_size()
const;
90 OutputSoilchemistryMeTrXDaily output_writer_daily;
91 OutputSoilchemistryMeTrXYearly output_writer_yearly;
93 OutputSoilchemistryMeTrXLayerDaily output_writer_layer_daily;
94 OutputSoilchemistryMeTrXLayerYearly output_writer_layer_yearly;
95 OutputSoilchemistryMeTrXFluxes output_writer_fluxes;
96 OutputSoilchemistryMeTrXPools output_writer_pools;
97 OutputSoilchemistryMeTrXSubdaily output_writer_subdaily;
100 lerr_t configure_output(
101 MBE_LegacyOutputModel * , ldndc::config_file_t
const * ,
107#undef LMOD_OUTPUT_MODULE_BASE
108#undef LMOD_OUTPUT_MODULE_NAME
109#undef LMOD_OUTPUT_MODULE_ID
110#undef LMOD_OUTPUT_MODULE_DESC
Spatially explicit groundwater model.
Definition: airchemistryput.h:15