Go to the documentation of this file.
87 ifc = rt1out->
ifc[0][0][0];
103 rho = rt1out->
rho[0][0][0];
114 int olm = ilm-rt2in->
ilm1;
115 int osd = isd-rt2in->
isd1;
118 for (
int i=0;
i<ntf;
i++) {
120 for (
int k=0;
k<nstk;
k++) {
121 t[
k][
i] = phsout->
t[olm][osd][
k][
i];
128 for (
int i=0;
i<nsza;
i++) {
129 for (
int j=0;
j<nthe;
j++) {
130 for (
int l=0; l<nphi; l++) {
131 for (
int k=0;
k<16;
k++) {
155 for (
int i=0;
i<
nmu;
i++) {
158 for (
int i=0;
i < 2*
nmu;
i++) {
159 for (
int k=1;
k<nstk;
k++ ) {
164 for (
int i=0;
i<2;
i++) {
168 for (
int i = 0;
i <
nx;
i++) {
172 for (
int i = 0;
i <
nmu+1;
i++) {
175 for (
int i = 0;
i <
nmu;
i++) {
176 double xmu = (
rmu[
i] +
rmu[
i+1])/2.0;
188 for (
int l=0; l<
nophi+1; l++) {
195 for (
int i = 0;
i <
nmu;
i++) {
228 for (
int j=0;
j<
nmu;
j++) {
236 for (
int ii = 0; ii <
nmu; ii++) {
239 for (
int k = 0;
k < 32;
k++) {
245 for (
int i = 0;
i <
nx-1;
i++) {
248 for (
int ii = 0; ii <
nmu; ii++) {
249 for (
int kk = 0; kk <
nmu; kk++) {
252 for (
int k = 0;
k < 32;
k++) {
260 for (
int k = 0;
k <
nx-1;
k++) {
262 for (
int m = 0; m <
jpart; m++) {
266 if (m==0 || m==
jpart-1) {
269 qspp = qspp + 2.0*xfot;
277 for (
int i = 0;
i <
nx-1;
i++) {
293 double d1px[nphi][nsza][2];
294 double d2px[nphi][nsza][2];
295 for (
int k = 0;
k < 2;
k++) {
296 for (
int i = 0;
i <
nx-1;
i++) {
315 for (
int k=0;
k<2;
k++) {
332 for (
int ka = 0; ka < nump; ka++) {
344 }
else if (
kzz == 1 &&
iref == 0) {
353 for (
int i=0;
i<
nx-1;
i++ ) {
355 d1px[
j][
i][0]=d1px[
j][
i][1];
356 d2px[
j][
i][0]=d2px[
j][
i][1];
359 for (
int i=0;
i<
nx-1;
i++) {
364 double rat=(r3-r2)/(r2-r1);
365 double r4=r1+(r2-r1)/(1.0-rat);
369 for (
int i=0;
i<
nx-1;
i++) {
374 double uat=(u3-u2)/(u2-u1);
375 double u4=u1+(u2-u1)/(1.0-uat);
379 double df1[nphi][nsza];
380 double df2[nphi][nsza];
382 for (
int i=0;
i<
nx-1;
i++ ) {
384 df1[
j][
i]=100.0*(d1px[
j][
i][1]-d1px[
j][
i][0])/d1px[
j][
i][1];
385 df2[
j][
i]=100.0*(d2px[
j][
i][1]-d2px[
j][
i][0])/d2px[
j][
i][1];
391 for (
int i=0;
i<
nx-1;
i++ ) {
393 if(df1[
j][
i]>xmax1) xmax1=df1[
j][
i];
394 if(df2[
j][
i]>xmax2) xmax2=df2[
j][
i];
397 d3 =
max(xmax1, xmax2);
402 if (d3 <= 0.1 || jpass >= 20)
break;
427 for (
int ir=0; ir<
nx-1; ir++) {
428 for (
int s=0;
s<nstk;
s++) {
447 int nm,
double lp,
double rmu[],
double thd[],
int ixy)
449 double p[nstk][nstk];
450 memset(
p, 0, nstk*nstk*
sizeof(
double));
458 for (
int k=0;
k<ni1;
k++) {
470 for (
int kl=0; kl<nm/2; kl++) {
471 double deg =
rmu[kl+1] -
rmu[kl];
472 double nodeg = deg/deldeg;
473 deldeg = deg / nodeg;
474 double thetd = (
rmu[kl]+
rmu[kl+1])/2.0;
475 double amup = cos(thetd*
D2R);
476 for (
int i=0;
i<nodeg+1;
i++) {
477 dcmu[
i] = cos((thetd-deg/2.0+((
double)
i)*deldeg)*
D2R)-
478 cos((thetd-deg/2.0+((
double)(
i+1))*deldeg)*
D2R);
481 double amup2=pow(amup,2.0);
482 for (
int i=0;
i<nstk;
i++) {
484 for (
int j=0;
j<nstk;
j++) {
488 for (
int i=0;
i<nodeg;
i++) {
489 double amu=cos((thetd-(deg-deldeg)/2.0+((
double)
i)*deldeg)*
D2R);
493 memset(
p, 0, nstk*nstk*
sizeof(
double));
494 double amusq=pow(amu,2.0);
495 double amumu=amu*amup;
496 double anunu = sqrt((1.0-amup2)*(1.0-
amusq));
497 for (
int j=0;
j<ni1;
j++) {
502 double sisq=pow(
copsi,2.0);
514 double t1, t2, t3, t4;
519 p[2][2]=
p[2][2]+(sifi-
g)*(t1+t2)+(
cfisq+sisq-e)*t3;
520 p[1][1]=
p[1][1]+sisq*t1+
cfisq*t2+2.0 *sifi * t3;
523 p[0][0]=
p[0][0]+
cfisq*t1+sisq*t2+2.0 * sifi *t3;
526 p[3][3]=
p[3][3]+(sifi+
g)*(t1+t2)+(
cfisq+sisq+e)*t3;
528 for (
int k=0;
k<nstk;
k++) {
530 for (
int l=0; l<nstk; l++) {
538 for (
int k=0;
k<nstk;
k++) {
540 for (
int l=0; l<nstk; l++) {
541 tp[l][kk]=
tp[l][kk]/ddmu;
561 for (
int i=0;
i<
nx;
i++) {
562 double cnuw = sqrt(1.0-pow(
cmu[
i],2.0))/
xrw;
563 rmuw[
i]=asin(cnuw)/
D2R;
566 for (
int i=0;
i<
nx-1;
i++) {
567 double thew = 0.5*(rmuw[
i]+rmuw[
i+1]);
568 double dnxy = pow(
xrw,2.0)+pow(
xiw,2.0);
584 int Afrt::frs(
double xx,
double xr,
double xi,
double& rfsea)
586 double cost = cos(xx*
D2R);
588 double sinsq = (1.0-pow(cost,2.0));
589 double sinsq2 = pow(sinsq,2.0);
590 double a = (pow(xr,2.0)-pow(xi,2.0)-1.0 + pow(cost,2.0));
591 double b = (-2.0 * xr * xi);
592 double r = sqrt(pow(
a,2.0) + pow(
b,2.0));
593 double tmr = pow(cost,2.0)*
r;
594 double xp = sqrt(2.0*
r + 2.0*
a);
595 double xmm = (2.0*
r - 2.0*
a);
596 if(xmm < 0.0 && xmm > -9.0) xmm = -xmm;
598 double dnmr1 = sinsq2 + tmr + cost*sinsq*xp;
599 double qrmu = (sinsq2 - tmr)/dnmr1;
600 double qimu = (cost*sinsq*xm)/dnmr1;
601 double dnmr2 = pow(cost,2.0) +
r + cost*xp;
602 double rrr = (pow(cost,2.0) -
r)/dnmr2;
603 double rri = cost*xm/dnmr2;
604 double rer = qrmu*rrr - qimu*rri;
605 double rei = qimu*rrr + qrmu*rri;
606 double r11 = pow(rer,2.0) + pow(rei,2.0);
607 double r22 = pow(rrr,2.0) + pow(rri,2.0);
610 rfsea = 0.5*(r11+r22);
627 for (
int l=0; l<
jpart; l++) {
633 int iq, ip, ir, jp, mn;
642 for (
int ik=0; ik<16; ik++) {
665 for (
int ik=mn; ik<=mn+15; ik++) {
669 p[l][ik-mn]=
qq[ir][ip];
700 if(
abs(
x) < 1.0e-6)
x = 0.0;
701 double tf = 10.0*(acos(
x)/
D2R);
702 double tfm1 = floor(tf + 0.01);
703 double tfp1 = tfm1 + 1.0;
705 if ((l -
jpart) <= 0) {
708 double tmt1, tmt2, tmt3, tmt4;
709 xntpln(tf, tfm1, tfp1,
t[0][mt],
t[0][mt+1], tmt1);
710 xntpln(tf, tfm1, tfp1,
t[1][mt],
t[1][mt+1], tmt2);
711 xntpln(tf, tfm1, tfp1,
t[2][mt],
t[2][mt+1], tmt3);
712 xntpln(tf, tfm1, tfp1,
t[3][mt],
t[3][mt+1], tmt4);
766 double gam =
rho/(2.0-
rho);
767 double agm = (1.0-gam)/(1+2.0*gam);
768 double bgm = gam/(1.0+2.0*gam);
769 double cgm = (1.0-3.0*gam)/(1.0+2.0*gam);
770 for (
int i=0;
i<3;
i++) {
771 for (
int j=0;
j<3;
j++) {
774 if(
i==2 ||
j==2) dgm = 0.0;
775 p[l][
k] = agm *
p[l][
k] + dgm;
778 p[l][31] =
p[l][31] + cgm;
800 for (
int il=0; il<
nolyr; il++) {
805 for (
int is=0;
is<nstk;
is++) {
808 for (
int it=0; it<(
nx-1); it++) {
809 for (
int ip=0; ip<
jpart; ip++) {
810 for (
int is=0;
is<nstk;
is++) {
813 for (
int i=0;
i<nstk;
i++) {
814 for (
int j=0;
j<nstk;
j++) {
837 for (
int il=0; il<
nolyr; il++) {
844 for (
int is=0;
is<nstk;
is++) {
847 for (
int it=
nx-1; it<
nmu; it++) {
848 for (
int ip=0; ip<
jpart; ip++) {
849 for (
int is=0;
is<nstk;
is++) {
852 for (
int i=0;
i<nstk;
i++) {
853 for (
int j=0;
j<nstk;
j++) {
897 for (
int il=0; il<=
nolyr; il++) {
920 for (
int il=0; il<
nolyr; il++) {
925 for (
int i=0;
i<
nmu;
i++) {
927 for (
int k=0;
k<nstk;
k++) {
934 for (
int i=0;
i<
nmu;
i++) {
936 for (
int k=0;
k<nstk;
k++) {
947 for (
int il=0; il<
nolyr; il++) {
952 for (
int i=0;
i<(
nx-1);
i++) {
954 for (
int k=0;
k<nstk;
k++) {
960 for (
int i=0;
i<(
nx-1);
i++) {
962 for (
int k=0;
k<nstk;
k++) {
974 for (
int il=0; il<
nolyr; il++) {
999 for (
int i=0;
i<
nx-1;
i++ ) {
1001 for (
int k=0;
k<2;
k++ ) {
1004 psum = psum + 2.0*
fio.f[
j][
i][
k];
1009 double sumdwn = suma;
1012 for (
int i=0;
i<
nx-1;
i++ ) {
1031 for (
int k=0;
k<2;
k++) {
1034 for (
int k=0;
k<2;
k++) {
1036 psum = psum + 2.*
fio.f[
j][
i][
k];
1041 double sumup =
abs(suma);
1060 for (
int il=0; il<
nolyr; il++) {
1067 for (
int i=0;
i<
nmu;
i++) {
1069 for (
int k=0;
k<nstk;
k++) {
1080 for (
int i=0;
i<
nx-1;
i++) {
1082 for (
int k=0;
k<nstk;
k++) {
1102 for (
int i=0;
i<
nx-1;
i++) {
1104 for (
int k=0;
k<nstk;
k++) {
1130 for (
int il=0; il<
nolyr; il++) {
1137 for (
int i=0;
i<
nmu;
i++) {
1139 for (
int k=0;
k<nstk;
k++) {
1152 for (
int k=0;
k<nstk;
k++) {
1164 for (
int i=0;
i<
nmu;
i++) {
1166 for (
int k=0;
k<nstk;
k++) {
1180 for (
int k=0;
k<nstk;
k++) {
1204 for (
int il=0; il<
nolyr; il++) {
1209 for (
int i=0;
i<
nmu;
i++) {
1211 for (
int k=0;
k<nstk;
k++) {
1222 for (
int i=0;
i<
nx-1;
i++) {
1224 for (
int k=0;
k<nstk;
k++) {
1241 for (
int i=0;
i<
nx-1;
i++) {
1243 for (
int k=0;
k<nstk;
k++) {
1253 for (
int il=0; il<
nolyr; il++) {
1258 for (
int i=0;
i<
nmu;
i++) {
1260 for (
int k=0;
k<nstk;
k++) {
1273 for (
int k=0;
k<nstk;
k++) {
1282 for (
int i=0;
i<
nmu;
i++) {
1284 for (
int k=0;
k<nstk;
k++) {
1298 for (
int k=0;
k<nstk;
k++) {
1322 double tup[nphi][nthe][nsza];
1323 double tdn[nphi][nthe][nsza];
1347 for (
int k=0;
k<nstk;
k++) {
1361 for (
int k=0;
k<nstk;
k++) {
1377 for (
int k=0;
k<nstk;
k++) {
1387 for (
int i=0;
i<
nx-1;
i++) {
1389 for (
int k=0;
k<nstk;
k++) {
1403 for (
int i=0;
i<
nx-1;
i++) {
1419 for (
int i=0;
i<
nx-1;
i++) {
1426 for (
int i=0;
i<
nx-1;
i++) {
1434 double ftot=(gz+ef);
1435 for (
int i=0;
i<
nx-1;
i++) {
1448 for (
int i=0;
i<
nx-1;
i++) {
1450 for (
int s=0;
s<nstk;
s++) {
1459 double ftot=(gz+ef);
1461 for (
int i=0;
i<
nx-1;
i++) {
1463 for (
int s=0;
s<nstk;
s++) {
1483 double tempa[nphi][2*nsza][nstk];
1484 double tempc[nphi][2*nsza][nstk];
1485 double tss[nphi][2*nsza][nstk];
1486 for (
int i=0;
i<
nmu;
i++) {
1488 for (
int k=0;
k<nstk;
k++) {
1499 double pflx = pflx0+sumdnz;
1501 for (
int it=0; it<(
nx-1); it++) {
1503 for (
int ip=0; ip<
jpart; ip++) {
1504 for (
int is=0;
is<nstk;
is++) {
1505 for (
int k=0;
k<nstk;
k++) {
1507 tempa[ip][itt][
is]=tempa[ip][itt][
is] +
1516 for (
int it=0; it<(
nx-1); it++) {
1518 for (
int ip=0; ip<
jpart; ip++) {
1519 for (
int is=0;
is<nstk;
is++) {
1520 for (
int itp=0; itp<(
nx-1); itp++) {
1522 for (
int ipp=0; ipp<
nophi; ipp++) {
1524 int jpx=
abs(ipp-ip);
1525 double fiit[nphi][2*nsza][nstk];
1528 for (
int i=0;
i<2;
i++) {
1529 fiit[jpp][itp][
i]=
fio.f[jpp][itp][
i];
1530 fiit[jpp][itp][
i+2]=
fio.f[jpp][itp][
i+2];
1532 fiit[jpp][itp][
i+2]= -fiit[jpp][itp][
i+2];
1536 for (
int k=0;
k<nstk;
k++) {
1538 prodt3a=prodt3a+
txx[it][itp][jpx][m]*fiit[jpp][itp][
k];
1540 tempc[ip][itt][
is]=tempc[ip][itt][
is]+prodt3a*sangi;
1548 for (
int i=0;
i<
nmu;
i++) {
1550 for (
int k=0;
k<nstk;
k++) {
1561 for (
int k=0;
k<nstk;
k++) {
1562 tss[
j][
i][
k]=tempa[
j][
i][
k]+tempc[
j][
i][
k];
1569 double flxza, flxzc;
1579 0.220,0.220,0.220,0.220,0.220,0.220,0.215,0.210,0.200,0.190,
1580 0.175,0.155,0.130,0.080,0.100,0.105,0.100,0.080,0.045,0.055,
1581 0.065,0.060,0.055,0.040,0.000,0.000,0.000,0.000,0.000,0.000,
1582 0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000};
1583 double radxi[nphi][2*nsza];
1584 memset(radxi, 0.0, nphi*2*nsza*
sizeof(
double));
1585 double wl=
wvlth*1.0e4;
1587 int iwl=(
int)((wl-0.2)/0.1);
1588 double wlp=0.5+(iwl-1)*0.1;
1589 double afoam=
ref[iwl+1]+(wl-wlp)/0.1*(
ref[iwl]-
ref[iwl+1]);
1590 double fracfm, ffoam, xifm;
1592 fracfm=2.95e-6*pow(
vz,3.52);
1594 xifm=(ffoam*pflx)/
M_PI;
1610 for (
int i=0;
i<(
nx-1);
i++) {
1612 for (
int k=0;
k<2;
k++) {
1615 psum=psum+2.*
fio.f[
j][
i][
k];
1624 double radu=sumu/
M_PI;
1630 for (
int i=0;
i<(
nx-1);
i++) {
1644 qsumz=qsumz+radxi[
j][
i];
1646 qsumz=qsumz+2.0*radxi[
j][
i];
1652 for (
int it=
nx-1; it<
nmu; it++) {
1653 for (
int ip=0; ip<
jpart; ip++) {
1654 for (
int ks=0; ks<nstk; ks++) {
1656 fio.f[ip][it][ks]=(1.0-fracfm)*tss[ip][it][ks] +
1657 0.5*xifm+0.5*radxi[ip][it];
1659 fio.f[ip][it][ks]=(1.0-fracfm)*tss[ip][it][ks];
1665 for (
int it=
nx-1; it<
nmu; it++) {
1667 for (
int ip=0; ip<
jpart; ip++) {
1668 raddir[ip][itp][
ksza-1]=tempa[ip][it][0]+tempa[ip][it][0];
1670 radsky[ip][itp][
ksza-1]=tempc[ip][it][0]+tempc[ip][it][0];
1697 for (
int i=m;
i<n;
i++) {
1699 for (
int k=0;
k<2;
k++) {
1700 psumg=buft[0][
i][
k]+buft[
jpart-1][
i][
k]+psumg;
1702 psumg=psumg+2.0*buft[
j][
i][
k];
1705 sumg=sumg+psumg*
dcmu2[
i]*6.2831854/anophi;
1723 double dif1 =
b -
a;
1724 double dif2 =
c -
b;
1725 double dif2p =
abs(100.0 * dif2 /
c);
1726 if (dif2p >= 1.0e-2) {
1728 g =
a + dif1 / (1.0 -
r);
1742 double slope=(y1-y2)/(x1-x2);
1756 double fiit[nphi][2*nsza][nstk];
1757 double fiiz[nphi][nthe][2*nsza][nstk];
1759 for (
int kk=0; kk<
nmu; kk++) {
1760 for (
int ll=0; ll<
jpart; ll++) {
1761 for (
int is=0;
is<nstk;
is++) {
1772 for (
int kk=0; kk<
nmu; kk++) {
1773 for (
int ip=0; ip<
jpart; ip++) {
1774 for (
int ll=0; ll<=
nophi; ll++) {
1779 for (
int is=0;
is<nstk;
is++) {
1780 fiiz[ll][ip][kk][
is]=fiit[mmp][kk][
is];
1785 for (
int ii=0; ii<
nmu; ii++) {
1786 for (
int kk=0; kk<
nmu; kk++) {
1788 for (
int is=0;
is<nstk;
is++) {
1789 for (
int j=0;
j<nstk;
j++) {
1804 for (
int it=ib; it<=ie; it++) {
1805 for (
int ip=0; ip<
jpart; ip++) {
1806 for (
int is=0;
is<nstk;
is++) {
1808 for (
int kk=0; kk<
nmu; kk++) {
1810 for (
int ll=0; ll<
nophi; ll++) {
1812 for (
int j=0;
j<nstk;
j++) {
1814 prod1=prod1+(
c[kk]*
tmsl*
ppin[kk][it][ll][ij]+
1819 sumta=sumta+sumtb*
dcmu[kk];
int hump(double cnst, double t[][ntf], double tp[][nlyr], int nm, double lp, double rmu[], double thd[], int ixy)
double xzeroz[nphi][nthe][nsza][nstk]
double pfs[2 *nsza][2 *nphi][32]
int mdiffn(int ib, int ie, int il, double dlyr)
double radsky[nphi][nthe][nsza]
double emdtm[2 *nsza][nlyr]
int geom(double a, double b, double c, double &r, double &g)
std::vector< fdat > unit65
int matrx(int ii, int kk)
std::vector< fdat > unit53
double tdwnz[nphi][nthe][nsza][nstk]
double geoiup[nphi][nsza][20]
this program makes no use of any feature of the SDP Toolkit that could generate such a then geolocation is calculated at that and then aggregated up to Resolved feature request Bug by adding three new int8 SDSs for each high resolution offsets between the high resolution geolocation and a bi linear interpolation extrapolation of the positions This can be used to reconstruct the high resolution geolocation Resolved Bug by delaying cumulation of gflags until after validation of derived products Resolved Bug by setting Latitude and Longitude to the correct fill resolving to support Near Real Time because they may be unnecessary if use of entrained ephemeris and attitude data is turned resolving bug report Corrected to filter out Aqua attitude records with missing status helping resolve bug MOD_PR03 will still correctly write scan and pixel data that does not depend upon the start thereby resolving MODur00108 Changed header guard macro names to avoid reserved name resolving MODur00104 Maneuver list file for Terra satellite was updated to include data from Jecue DuChateu Maneuver list files for both Terra and Aqua were updated to include two maneuvers from recent IOT weekly reports The limits for Z component of angular momentum was and to set the fourth GEO scan quality flag for a scan depending upon whether or not it occurred during one of them Added _FillValue attributes to many and changed the fill value for the sector start times from resolving MODur00072 Writes boundingcoordinate metadata to L1A archived metadata For PERCENT *ECS change to treat rather resolving GSFcd01518 Added a LogReport Changed to create the Average Temperatures vdata even if the number of scans is
double raddir[nphi][nthe][nsza]
std::vector< fdat > unit64
double txx[nsza][nthe][nphi][16]
std::vector< fdat > unit55
double geoidn[nphi][nsza][20]
int fluxlvl(double buft[][2 *nsza][nstk], double &sumg, int iflag)
int mats(int ii, int kk, int l)
double xzerod[nphi][nthe][nsza][nstk]
integer, parameter double
std::vector< fdat > unit71
int frs(double xx, double xr, double xi, double &rfsea)
std::vector< fdat > * irad
std::vector< fdat > unit54
double tupz[nphi][nthe][nsza][nstk]
std::vector< fdat > unit72
int rt2(int ilm, int isd, int itau, int iwnd, rt2_in *rt2in, rt2_out *rt2out, rt1_in *rt1in, rt1_out *rt1out, ocn_in *ocnin, ocn_out *ocnout, phs_in *phsin, phs_out *phsout)
double f[nphi][2 *nsza][nstk]
int depol(int ii, int kk, int l)
double ppin[2 *nsza][2 *nsza][2 *nphi][32]
std::vector< fdat > * iwrt
no change in intended resolving MODur00064 Corrected handling of bad ephemeris attitude resolving resolving GSFcd00179 Corrected handling of fill values for[Sensor|Solar][Zenith|Azimuth] resolving MODxl01751 Changed to validate LUT version against a value retrieved from the resolving MODxl02056 Changed to calculate Solar Diffuser angles without adjustment for estimated post launch changes in the MODIS orientation relative to incidentally resolving defects MODxl01766 Also resolves MODxl01947 Changed to ignore fill values in SCI_ABNORM and SCI_STATE rather than treating them as resolving MODxl01780 Changed to use spacecraft ancillary data to recognise when the mirror encoder data is being set by side A or side B and to change calculations accordingly This removes the need for seperate LUTs for Side A and Side B data it makes the new LUTs incompatible with older versions of the and vice versa Also resolves MODxl01685 A more robust GRing algorithm is being which will create a non default GRing anytime there s even a single geolocated pixel in a granule Removed obsolete messages from seed as required for compatibility with version of the SDP toolkit Corrected test output file names to end in per delivery and then split off a new MYD_PR03 pcf file for Aqua Added AssociatedPlatformInstrumentSensor to the inventory metadata in MOD01 mcf and MOD03 mcf Created new versions named MYD01 mcf and MYD03 where AssociatedPlatformShortName is rather than Terra The program itself has been changed to read the Satellite Instrument validate it against the input L1A and LUT and to use it determine the correct files to retrieve the ephemeris and attitude data from Changed to produce a LocalGranuleID starting with MYD03 if run on Aqua data Added the Scan Type file attribute to the Geolocation copied from the L1A and attitude_angels to radians rather than degrees The accumulation of Cumulated gflags was moved from GEO_validate_earth_location c to GEO_locate_one_scan c
double xzero_btm[nphi][nthe][nsza]
int xntpln(double x, double x1, double x2, double y1, double y2, double &y)
double radocn[nphi][nthe][nsza]
PGE01 indicating that PGE02 PGE01 V6 for and PGE01 V2 for MOD03 were used to produce the granule By convention adopted in all MODIS Terra PGE02 code versions are The fourth digit of the PGE02 version denotes the LUT version used to produce the granule The source of the metadata environment variable ProcessingCenter was changed from a QA LUT value to the Process Configuration A sign used in error in the second order term was changed to a
double xzero_up[nphi][nthe][nsza]
double emtm[2 *nsza][nlyr]