#include #include #include #include "nfdr32.h" using namespace std; int main(int argc,char * argv[]) { enum {EXE,START100,START1000,OBSTEMP,OBSRH,TMAX,RHMAX,TMIN,RHMIN,PRCPDUR,PRCPTOT,SOW,JDAY,YEAR}; if(argc != 14) { cout << "Usage: nfdrs_forecast " << endl; return EXIT_FAILURE; } NFDRCalc nfdrs; // Set the input values double fStart100 = atof(argv[START100]); double fStart1000= atof(argv[START1000]); int obstemp = atoi(argv[OBSTEMP]); int obsrh = atoi(argv[OBSRH]); int tmax = atoi(argv[TMAX]); int rhmax = atoi(argv[RHMAX]); int tmin = atoi(argv[TMIN]); int rhmin = atoi(argv[RHMIN]); int prcpdur = atoi(argv[PRCPDUR]); double prcptot = atof(argv[PRCPTOT]); int sow = atoi(argv[SOW]); int jday = atoi(argv[JDAY]); int year = atoi(argv[YEAR]); double fMC1 = 3,fMC10 = 4,fMC100 = 5,fMC1000 = 10,fMCWood = 120,fMCHerb = 120; int iRainEvent = 0, iKBDI = 800,iGreenWoody = 20,iGreenHerb = 20,iSeason = 2; /* Initialize the NFDRS calculator */ nfdrs.SetStartFM100(fStart100); nfdrs.SetStartFM1000(fStart1000); //nfdrs.InitFM(); double fROS=0,fERC=0,fFL=0,fGren = 0.0, fX1000 = 0.0; int iSC=0,iFIL=0,iBI=0,iWS=0,iSlopeCls=1,iStage = 1; nfdrs.iCalcMoist(1,obstemp,obsrh,tmax,rhmax,tmin,rhmin, prcpdur,prcptot,SOW,(double) 0.0, jday,year,0,0,iGreenHerb,iGreenWoody, iSeason,&fMC1,&fMC10,&fMC100,&fMC1000,&fMCHerb,&fMCWood, &iStage,&fGren,&fX1000,&iRainEvent,&iKBDI); fMCHerb = 60; fMCWood = 90; nfdrs.iSetMoistures(fMC1,fMC10,fMC100,fMC1000,fMCWood,fMCHerb, iRainEvent,iKBDI,iGreenHerb,iGreenWoody, iSeason,SOW); nfdrs.iCalcIndexes(iWS,iSlopeCls,&fROS,&iSC,&fERC,&fFL,&iFIL,&iBI); cout << fMC100 << "," << fMC1000 << "," << fERC << endl; return EXIT_SUCCESS; }