9#ifndef LDNDC_DATASYNTH_GROUNDWATER_H_
10#define LDNDC_DATASYNTH_GROUNDWATER_H_
12#include "synthesizers/synth-base-streamdata.h"
13#include "groundwater/groundwatertypes.h"
14#include "time/cbm_date.h"
17#define SYNTH_GROUNDWATER_REC_SIZE SYNTH_REC_SIZE_(groundwater)
19#define SYNTH_GROUNDWATER_REC_S_DECL_GET(__reg__,__item__) SYNTH_REC_DECL_GET_(groundwater,__reg__,s,__item__)
20#define SYNTH_GROUNDWATER_REC_D_DECL_GET(__reg__,__item__) SYNTH_REC_DECL_GET_(groundwater,__reg__,d,__item__)
22#define SYNTH_GROUNDWATER_REC_S_DECL_GET_AND_CHK_VALID(__reg__,__item__) SYNTH_REC_DECL_GET_AND_CHK_VALID_(groundwater,__reg__,s,__item__)
23#define SYNTH_GROUNDWATER_REC_D_DECL_GET_AND_CHK_VALID(__reg__,__item__) SYNTH_REC_DECL_GET_AND_CHK_VALID_(groundwater,__reg__,d,__item__)
25#define SYNTH_GROUNDWATER_INVALIDATE_BUFFER(__buf__) SYNTH_INVALIDATE_BUFFER_(groundwater,__buf__)
27#define SYNTH_GROUNDWATER_CHK_MATCHING(__item__) SYNTH_CHK_MATCHING_(groundwater,__item__)
29#define SYNTH_GROUNDWATER_CALL_LOOP_TEST_AND_SET(__item__) SYNTH_CALL_LOOP_TEST_AND_SET_(groundwater,__item__)
30#define SYNTH_GROUNDWATER_RETURN_SUCCESS(__item__) SYNTH_RETURN_SUCCESS_(groundwater,__item__)
32#define SYNTH_GROUNDWATER_RECORD_ITEM_COMMON_DECL(__class__,__item_enum__) SYNTH_RECORD_ITEM_COMMON_DECL_(groundwater,__class__,__item_enum__)
35template <
typename,
unsigned int >
38namespace ldndc{
namespace groundwater{
namespace synth
40typedef record::item_type record_item_t;
41struct scratch_t :
public ldndc::synth::streamdata_scratch_base_t< streamdata_info_t >
44 groundwater_info_t
const * ,
49 groundwater_info_t
const * ,
54struct CBM_API item_base_t :
public ldndc::synth::streamdata_item_base_t< streamdata_info_t, scratch_t >
59class CBM_API lsynth_groundwater_t :
public ldndc::synth::streamdata_synth_base_t< streamdata_info_t >
62 lsynth_groundwater_t();
64 groundwater_info_t
const * ,
68 virtual ~lsynth_groundwater_t();
76 unsigned int = ldndc::invalid_t< unsigned int >::value );
82 lerr_t synthesize_record(
83 record_item_t
const * , record_item_t * ,
84 record_item_t
const * , record_item_t * ,
88 lvector_t< unsigned int, 1 > * = NULL );
98 record_item_t
const * ,
99 record_item_t
const * )
const;
102 unsigned int subday()
105 return this->scratch_.subday;
109 unsigned int time_resolution_inout()
112 return this->scratch_.t_res_inout;
116 groundwater_info_t info_;
119extern item_base_t
const * groundwater_synthesizers[record::RECORD_SIZE];
Spatially explicit groundwater model.
Definition airchemistryput.h:15