ocssw
V2022
|
get_pft_uitz.c
Go to the documentation of this file.
1 /*Uitz algorithm for determining the distribution of phytoplankton communities based upon surface chlorophyll
3 * This algorithm utilizes the near-surface chlorophyll a concentration as derived from satellite ocean color observation to infer the the phytoplankton functional type composition.
6 * Uitz,J.,H. Claustre, A. Morel, and S.B. Hooker (2006), Vertical distributin of phytoplankton communities in open ocean: An assessment based on surface chlorophyll, J. Geophys. Res., 111, C08005, doi:10.1029/2005JC003207.
17 /*Check Chlorophyll and mixed layer depth (mld) inputs and pixel fill values with ERROR CODES (2 if chl<0 and 5 if mld <=0) */
49 * trophcat = Trophic categories defined with respect to the chlorophyll a concentration within the surface layer, [Chla]surf
54 /* Values of the five parameters (Table 5) to be used in equation (7) bbtained for the average dimensionless vertical profiles of
55 * Chla,Micro-Chla,Nano-Chla, and Pico-Chla, for each trophic class of stratified water (S1 to S9) (Table 5)*/
57 // If the variable has a number at the end of it,it is related to a PFT size class.1=chla, 2= micro, 3= nano, 4 = pico. //
90 /*Trophic Categories for Stratified Waters were Defined With Respect to the Chlorophyll a Concentration Within the Surface Layer,
91 * [Chla]surf, and the Associated Parameters. Stratified Waters were separated into 9 trophic categories"trophcat". */
93 float avgchlasurf_stratified [9] = {.032, 0.062, 0.098, 0.158, 0.244, 0.347, 0.540, 1.235, 2.953};
128 // Returns the proper lower and upper Table 5 coeffecients necessary for Equation 7 using the calculated Trophic Category / Stratified Class
130 /* weighting scheme uses Kd490 as input into Gordon and Clark 1980. Estimate Kd490 using Chl Eq. 8 of Morel et al., RSE 111, 69-88, 2007. */
162 /* Equation 7: The upper and lower PFTs fractional values are calulated to provide the upper/lower interpolation boundaries */
163 //czeta1[i] = cb1[trophcatlo]-s1[trophcatlo]*od + cmax1[trophcatlo] * exp(-(pow(od-zetamax1[trophcatlo])/deltazeta1[trophcatlo]),2) *wt;
164 sumczetachlalo += (cb1[trophcatlo] - s1[trophcatlo] * od + cmax1[trophcatlo] * exp(-pow((od - zetamax1[trophcatlo]) / deltazeta1[trophcatlo], 2))) * wt;
166 sumczetamicrolo += (cb2[trophcatlo] - s2[trophcatlo] * od + cmax2[trophcatlo] * exp(-pow((od - zetamax2[trophcatlo]) / deltazeta2[trophcatlo], 2))) * wt;
168 sumczetananolo += (cb3[trophcatlo] - s3[trophcatlo] * od + cmax3[trophcatlo] * exp(-pow((od - zetamax3[trophcatlo]) / deltazeta3[trophcatlo], 2))) * wt;
170 sumczetapicolo += (cb4[trophcatlo] - s4[trophcatlo] * od + cmax4[trophcatlo] * exp(-pow((od - zetamax4[trophcatlo]) / deltazeta4[trophcatlo], 2))) * wt;
172 //czeta1[i] = cb1[trophcathi]-s1[trophcathi]*od + cmax1[trophcathi] * exp(-(pow(od-zetamax1[trophcathi])/deltazeta1[trophcathi]),2) *wt;
173 sumczetachlahi += (cb1[trophcathi] - s1[trophcathi] * od + cmax1[trophcathi] * exp(-pow((od - zetamax1[trophcathi]) / deltazeta1[trophcathi], 2))) * wt;
175 sumczetamicrohi += (cb2[trophcathi] - s2[trophcathi] * od + cmax2[trophcathi] * exp(-pow((od - zetamax2[trophcathi]) / deltazeta2[trophcathi], 2))) * wt;
177 sumczetananohi += (cb3[trophcathi] - s3[trophcathi] * od + cmax3[trophcathi] * exp(-pow((od - zetamax3[trophcathi]) / deltazeta3[trophcathi], 2))) * wt;
179 sumczetapicohi += (cb4[trophcathi] - s4[trophcathi] * od + cmax4[trophcathi] * exp(-pow((od - zetamax4[trophcathi]) / deltazeta4[trophcathi], 2))) * wt;
207 f = (chl - avgchlasurf_stratified[trophcatlo]) / (avgchlasurf_stratified[trophcathi] - avgchlasurf_stratified[trophcatlo]);
242 /* The following statements determine the corresponding PFTs fractional proportions in GLOBALLY MIXED WATERS (southern mixed waters excluded). */
249 /* The following procedure determines the high and low fractional values needed to interpolate the average fractional proportion of each PFTs class.
250 * The mixed waters into five trophic classes based upon average surface chlorophyll a (mg m-3) */
282 f = (chl - avgchlasurf_global_mixed[trophcatlo]) / (avgchlasurf_global_mixed[trophcathi] - avgchlasurf_global_mixed[trophcatlo]);
287 fmicro = ((1 - f) * global_mixed_waters_fmicro[trophcatlo]) + (f * global_mixed_waters_fmicro[trophcathi]);
288 fnano = ((1 - f) * global_mixed_waters_fnano[trophcatlo]) + (f * global_mixed_waters_fnano[trophcathi]);
289 fpico = ((1 - f) * global_mixed_waters_fpico[trophcatlo]) + (f * global_mixed_waters_fpico[trophcathi]);
314 /* The following procedure determines the high and low fractional values needed to interpolate the average fractional proportion of each PFTs class.
315 * The mixed waters are separated into five trophic classes based upon average surface chlorophyll a (mg m-3) */
355 f = (chl - avgchlasurf_southern_mixed[trophcatlo]) / (avgchlasurf_southern_mixed[trophcathi] - avgchlasurf_southern_mixed[trophcatlo]);
360 fmicro = ((1 - f) * southern_mixed_waters_fmicro[trophcatlo]) + (f * southern_mixed_waters_fmicro[trophcathi]);
361 fnano = ((1 - f) * southern_mixed_waters_fnano[trophcatlo]) + (f * southern_mixed_waters_fnano[trophcathi]);
void get_pft_uitz(l2str *l2rec, l2prodstr *p, float prod[])
Definition: get_pft_uitz.c:387
void calc_pft_uitz(float mld, float lat, float chl, float *fm, float *fn, float *fp)
Definition: get_pft_uitz.c:15
void unix2yds(double usec, short *year, short *day, double *secs)
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
Definition: HISTORY.txt:424