7#ifndef SEIMS_PLANT_MANAGEMENT_OPERATION_H
8#define SEIMS_PLANT_MANAGEMENT_OPERATION_H
22namespace plant_management {
39 PltMgtOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
45 virtual void dump(std::ostream* fs) = 0;
49 FLTPT GetHUFraction();
55 int GetOperationCode();
80 PltOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
84 int PlantID() {
return m_plantID; }
86 FLTPT CurYearMaturity() {
return m_curYrMat; }
88 FLTPT HeatUnits() {
return m_heatUnits; }
90 FLTPT LAIInit() {
return m_laiInit; }
92 FLTPT BIOInit() {
return m_bioInit; }
94 FLTPT HITarg() {
return m_hiTarg; }
96 FLTPT BIOTarg() {
return m_bioTarg; }
98 FLTPT CNOP() {
return m_CNOP; }
120 IrrOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
124 int IRRSource() {
return m_irrSrc; }
126 int IRRNo() {
return m_irrNo; }
128 FLTPT IRRApplyDepth() {
return m_irrAmt; }
130 FLTPT IRRSalt() {
return m_irrSalt; }
132 FLTPT IRREfficiency() {
return m_irrEfm; }
134 FLTPT IRRSQfrac() {
return m_irrSq; }
154 FertOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
158 int FertilizerID() {
return m_fertID; }
160 FLTPT FertilizerKg_per_ha() {
return m_frtKgHa; }
162 FLTPT FertilizerSurfaceFrac() {
return m_frtSurface; }
181 PestOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
185 int PesticideID() {
return m_pestID; }
187 FLTPT PesticideKg() {
return m_pstKg; }
189 FLTPT PesticideDepth() {
return m_pstDep; }
206 HvstKillOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
212 FLTPT HarvestIndexOverride();
214 FLTPT StoverFracRemoved();
231 TillOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
235 FLTPT CNOP() {
return m_CNOP; }
237 int TillageID() {
return m_tillID; }
253 HvstOnlyOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
257 FLTPT HarvestEfficiency() {
return m_harvEff; }
259 FLTPT HarvestIndexResidue() {
return m_hiRsd; }
261 FLTPT HarvestIndexBiomass() {
return m_hiBms; }
278 KillOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
292 GrazOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
296 int GrazingDays() {
return m_grzDays; }
298 int ManureID() {
return m_manureID; }
300 FLTPT BiomassConsumed() {
return m_bioEat; }
302 FLTPT BiomassTrampled() {
return m_bioTrmp; }
304 FLTPT ManureDeposited() {
return m_manureKg; }
323 AutoIrrOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
327 int WaterStrsIdent() {
return m_wstrsID; }
329 int AutoIrrSrcCode() {
return m_irrSrc; }
331 int AutoIrrSrcLocs() {
return m_irrNoa; }
333 FLTPT AutoWtrStrsThrsd() {
return m_autoWstrs; }
335 FLTPT IrrigationEfficiency() {
return m_irrEff; }
337 FLTPT IrrigationWaterApplied() {
return m_irrMx; }
339 FLTPT SurfaceRunoffRatio() {
return m_irrAsq; }
360 AutoFertOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
364 int FertilizerID() {
return m_afertID; }
366 int NitrogenMethod() {
return m_NStress; }
368 FLTPT NitrogenStrsFactor() {
return m_autoNStrs; }
370 FLTPT MaxMineralN() {
return m_autoNAPP; }
372 FLTPT MaxMineralNYearly() {
return m_autoNYR; }
374 FLTPT FertEfficiency() {
return m_autoEff; }
376 FLTPT SurfaceFracApplied() {
return m_afrtSurface; }
397 RelImpndOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
401 int ImpoundTriger() {
return m_impTrig; }
403 FLTPT MaxPondDepth() {
return m_maxPondDepth; }
405 FLTPT MaxFitDepth() {
return m_maxFitDepth; }
407 FLTPT MinFitDepth() {
return m_minFitDepth; }
414 FLTPT m_maxPondDepth;
425 ContFertOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
429 int FertilizerID() {
return m_cfertID; }
431 int ApplyFrequency() {
return m_ifrtFreq; }
433 int FertilizerDays() {
return m_fertDays; }
435 FLTPT FertilizerKg() {
return m_cfrtKg; }
453 ContPestOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
457 int PesticideID() {
return m_ipstID; }
459 int PesticideFrequency() {
return m_pstFreq; }
461 FLTPT PesticideKg() {
return m_cpstKg; }
463 int PesticideDays() {
return m_pstDays; }
481 BurnOp(
int mgtOp,
bool usebaseHU, FLTPT husc,
int year,
int month,
int day, FLTPT* parameters);
485 FLTPT FractionLeft() {
return m_burnFrlb; }
BMP related const strings.
#define OVERRIDE
A compatible reference to override or blank if not supported by the compiler.
Definition: basic.h:160
Auto Fertilizer operation.
Definition: PlantManagementOperation.h:358
void dump(std::ostream *fs) OVERRIDE
Output.
Auto irrigation operation.
Definition: PlantManagementOperation.h:321
void dump(std::ostream *fs) OVERRIDE
Output.
Burning operation.
Definition: PlantManagementOperation.h:479
void dump(std::ostream *fs) OVERRIDE
Output.
Continuous Fertilizer operation.
Definition: PlantManagementOperation.h:423
void dump(std::ostream *fs) OVERRIDE
Output.
Continuous Pesticide operation.
Definition: PlantManagementOperation.h:451
void dump(std::ostream *fs) OVERRIDE
Output.
Fertilizer operation.
Definition: PlantManagementOperation.h:152
void dump(std::ostream *fs) OVERRIDE
Output.
Grazing operation.
Definition: PlantManagementOperation.h:290
void dump(std::ostream *fs) OVERRIDE
Output.
HarvestKill operation.
Definition: PlantManagementOperation.h:204
void dump(std::ostream *fs) OVERRIDE
Output.
HarvestOnly operation.
Definition: PlantManagementOperation.h:251
void dump(std::ostream *fs) OVERRIDE
Output.
Irrigation operation.
Definition: PlantManagementOperation.h:118
void dump(std::ostream *fs) OVERRIDE
Output.
Kill operation.
Definition: PlantManagementOperation.h:276
void dump(std::ostream *fs) OVERRIDE
Output.
Pesticide operation.
Definition: PlantManagementOperation.h:179
void dump(std::ostream *fs) OVERRIDE
Output.
Base class of plant management operation.
Definition: PlantManagementOperation.h:27
int m_month
month
Definition: PlantManagementOperation.h:65
bool m_useBaseHUSC
use base hu or plant accumulated hu
Definition: PlantManagementOperation.h:59
PltMgtOp(int mgtOp, bool usebaseHU, FLTPT husc, int year, int month, int day, FLTPT *parameters)
Constructor.
int m_mgtOp
management operation code
Definition: PlantManagementOperation.h:69
int m_year
year
Definition: PlantManagementOperation.h:63
FLTPT * m_parameters
parameters, mgt1~mgt10
Definition: PlantManagementOperation.h:71
int m_day
day
Definition: PlantManagementOperation.h:67
virtual void dump(std::ostream *fs)=0
Output.
FLTPT m_frHU
husc
Definition: PlantManagementOperation.h:61
Plant management operation.
Definition: PlantManagementOperation.h:78
void dump(std::ostream *fs) OVERRIDE
Output.
ReleaseImpound operation.
Definition: PlantManagementOperation.h:395
void dump(std::ostream *fs) OVERRIDE
Output.
Tillage operation.
Definition: PlantManagementOperation.h:229
void dump(std::ostream *fs) OVERRIDE
Output.
Base type of all interfaces.
Definition: basic.h:407
All BMPs scenario related data, classes, and functions.
Definition: BMPArealSourceFactory.h:22
Common Cross-platform Geographic Library (CCGL)
The SEIMS related definitions and utilities header.