65 static double cumppt[
PPTDAYS] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,
66 0.0,0.0,0.0,0.0,0.0,0.0,0.0};
67 static double pl[
PLDAYS] = {1.0,1.0};
68 static double pm[
PMDAYS] = {1.0,1.0,1.0,1.0,1.0,1.0};
69 static double ph[
PHDAYS] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,
71 static double mtplr[
PHDAYS] = {1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,
73 static int npl=0, npm=0, nph=0, nppt=0, mptr=0;
82 indx = (nppt+ii) % PPTDAYS;
83 sumppt += cumppt[indx];
90 }
else if ((sumppt <= 1.0) && (*ppt > 0.1)) {
93 for (ii=0; ii<
PLDAYS; ii++) {
94 indx = (npl+ii) % PLDAYS;
95 pl[indx] = 2.8 * exp(-0.805 * (ii+1));
98 }
else if ((*ppt >= 0.5) && (*ppt <= 1.5)) {
99 for (ii=0; ii<
PMDAYS; ii++) {
100 indx = (npm+ii) % PMDAYS;
101 pm[indx] = 3.67 * exp(-0.384 * (ii+1));
105 for (ii=0; ii<
PHDAYS; ii++) {
106 indx = (nph+ii) % PHDAYS;
107 ph[indx] = 4.615 * exp(-0.208 * (ii+1));
112 mtplr[mptr] =
max3(pl[npl],pm[npm],ph[nph]);
114 }
else if (pflag > 0) {
115 mtplr[mptr] =
max3(pl[npl],pm[npm],ph[nph]);
121 retval = mtplr[mptr];
127 npl = (npl+1) % PLDAYS;
128 npm = (npm+1) % PMDAYS;
130 nppt = (nppt+1) % PPTDAYS;
#define PHDAYS
Definition: nox_pulse.c:59
#define PMDAYS
Definition: nox_pulse.c:58
#define PPTDAYS
Definition: nox_pulse.c:56
#define PLDAYS
Definition: nox_pulse.c:57
double max3(double a, double b, double c)
Definition: nox_pulse.c:165