Algorithm equations

Frequently Asked Questions
Post Reply
NatalyaRV
Posts: 7
Joined: Thu Sep 01, 2022 10:27 pm

Algorithm equations

Post by NatalyaRV »

Hi Quinten! I hope everything is going well for you.

I have a question and I hope that you can help me with, I'm looking for the equations from the next algorithms: chl_oc2, chl_oc2, chl_re_mishra, tur_nechad2016, spm_nechad2016; but it had been fruitless, so Do you know wich are the equations of this models equations? It would be really helpfull for me, thank you!
quinten
Posts: 1010
Joined: Tue Mar 03, 2015 8:13 am

Re: Algorithm equations

Post by quinten »

Hi Natalya

You can find:
- the Nechad algorithm in https://doi.org/10.1016/j.rse.2009.11.022
- an overview of CHL_OC algorithms in https://doi.org/10.1016/j.rse.2019.04.021 and https://oceancolor.gsfc.nasa.gov/atbd/chlor_a/ the 2 and 3 band chlorophyll a coefficients were taken from that site (and originally from https://doi.org/10.1117/1.JRS.9.096070)
- Mishra's Red Edge chlorophyll a algorithm in https://doi.org/10.1016/j.rse.2011.10.016

You can find the code used to compute the parameters on the ACOLITE GitHub, more specifically in acolite_l2w.py For chl_oc algorithms the coefficients are stored in a text file: https://github.com/acolite/acolite/blob ... faults.txt

To see the coefficients used for a particular scene you can use something like ncdump -h on the L2W.nc output file (or look at the variable attributes in SNAP or use some Python code).

E.g. part of the ncdump -h outputs for a S2A L2W output file:
float chl_oc2(y, x) ;
chl_oc2:algorithm = "" ;
chl_oc2:dataset = "rhos" ;
chl_oc2:reference = "Franz et al. 2015" ;
chl_oc2:ds_name = "chl_oc2" ;
chl_oc2:blue_wave_sel = 492LL ;
chl_oc2:green_wave_sel = 560LL ;
chl_oc2:parameter = "chl_oc2" ;
chl_oc2:standard_name = "mass_concentration_of_chlorophyll_a_in_water" ;
chl_oc2:long_name = "chlorophyll a concentration in mg m-3 derived from blue green ratio" ;
chl_oc2:units = "mg m-3" ;
chl_oc2:grid_mapping = "transverse_mercator" ;
float chl_oc3(y, x) ;
chl_oc3:algorithm = "" ;
chl_oc3:dataset = "rhos" ;
chl_oc3:reference = "Franz et al. 2015" ;
chl_oc3:ds_name = "chl_oc3" ;
chl_oc3:blue_wave_sel = 443LL, 492LL ;
chl_oc3:green_wave_sel = 560LL ;
chl_oc3:parameter = "chl_oc3" ;
chl_oc3:standard_name = "mass_concentration_of_chlorophyll_a_in_water" ;
chl_oc3:long_name = "chlorophyll a concentration in mg m-3 derived from blue green ratio" ;
chl_oc3:units = "mg m-3" ;
chl_oc3:grid_mapping = "transverse_mercator" ;
float chl_re_mishra(y, x) ;
chl_re_mishra:algorithm = "Mishra et al. 2014, NDCI" ;
chl_re_mishra:dataset = "rhos" ;
chl_re_mishra:reference = "Mishra et al. 2014" ;
chl_re_mishra:a = 14.039, 86.115, 194.325 ;
chl_re_mishra:waves = 665LL, 704LL ;
chl_re_mishra:parameter = "chl_re_mishra" ;
chl_re_mishra:standard_name = "mass_concentration_of_chlorophyll_a_in_water" ;
chl_re_mishra:long_name = "chlorophyll a concentration in mg m-3 derived from red-edge" ;
chl_re_mishra:units = "mg m-3" ;
chl_re_mishra:grid_mapping = "transverse_mercator" ;
float TUR_Nechad2016_665(y, x) ;
TUR_Nechad2016_665:algorithm = "2016 calibration" ;
TUR_Nechad2016_665:title = "Nechad Turbidity" ;
TUR_Nechad2016_665:reference = "Nechad et al. 2009" ;
TUR_Nechad2016_665:ds_name = "TUR_Nechad2016_665" ;
TUR_Nechad2016_665:A_TUR = 366.14 ;
TUR_Nechad2016_665:C_TUR = 0.19563 ;
TUR_Nechad2016_665:grid_mapping = "transverse_mercator" ;
float SPM_Nechad2016_665(y, x) ;
SPM_Nechad2016_665:algorithm = "2016 calibration" ;
SPM_Nechad2016_665:title = "Nechad SPM" ;
SPM_Nechad2016_665:reference = "Nechad et al. 2010" ;
SPM_Nechad2016_665:ds_name = "SPM_Nechad2016_665" ;
SPM_Nechad2016_665:A_SPM = 342.1 ;
SPM_Nechad2016_665:C_SPM = 0.19563 ;
SPM_Nechad2016_665:grid_mapping = "transverse_mercator" ;

I hope this helps!

Quinten
Post Reply