SeaWiFS water vapour absorption/transmittance calculation in SeaDAS l2gen
Posted: Thu May 10, 2018 11:52 am America/New_York
Hi all,
I’m trying to isolate the SeaWiFS trace gas absorption for water vapour as a sanity check on something. The calculation for two-way transmittance is a fairly simple expression in water_vapor.c within l2gen:
/* Returns SeaWiFS water-vapor transmittance */
float water_vapor (int iband, float uH2O, float airmass)
{
static float a[4] = {-8.62884,-6.94310,-5.81033,-5.51066};
static float b[4] = {0.766159,0.813607,0.617758,0.678041};
int i = iband - 4;
if (i < 0 || i > 3)
return(1.0);
else
return(exp(-exp(a[ i ]+b[ i ]*log(airmass*uH2O))));
}
Here airmass is 1/mu0 + 1/mu and the code comments indicate that uH2O is expected in units of g/cm2 (which is equivalent to cm); log is natural logarithm. setanc.c also notes units of g/cm2.
So if I take band 8 (865 nm), which has the strongest absorption, for an example airmass of 2.5 (just off-nadir, high sun) and uH2O = 1 then I get:
exp(-1*exp(-5.51066+0.678041*log(2.5*1)))=0.992501
So that’s less than 0.1% absorption, which is somewhat less than I expected. If we take a somewhat more oblique observation geometry and more water (e.g. air mass 4, UH20=3) then I get:
exp(-1*exp(-5.51066+0.678041*log(4*4)))=0.973851
Which also seems like not a lot of absorption to me, compared to my experience with e.g. MODIS and VIIRS bands centred near 870 nm (where water vapour absorption is definitely not negligible).
I went to Howard Gordon’s 1995 paper (Remote sensing of ocean color: a methodology for dealing with broad spectral bands and significant out-of-band response, Appl Opt. 1995 Dec 20;34(36):8363-74. doi: 10.1364/AO.34.008363.) since that’s got a plot of spectral response function and gas absorption (Figure 3) but from the scale it’s a bit hard to eyeball an expected number.
Is SeaWiFS really that much less sensitive to atmospheric water vapour absorption than MODIS or VIIRS? Or have I got the units or something else wrong? If I assume it is expecting water vapour in mm (equivalent to kg/m2) rather than cm (equivalent to g/cm2) then my transmittances look more similar to what I’d expect from e.g. MODIS/VIIRS:
exp(-1*exp(-5.51066+0.678041*log(2.5*10)))=0.964775 (for the drier, near-nadir high sun case)
exp(-1*exp(-5.51066+0.678041*log(4*40))) =0.881394 (for the more extreme case)
I am assuming I am doing something wrong in the above, because if typical transmittances are 0.97-0.99 or so at 865 nm (and much closer to 1 at 550/670/760 nm bands) then it seems like it wouldn’t be a correction one needs to bother with?
Thanks,
Andy
I’m trying to isolate the SeaWiFS trace gas absorption for water vapour as a sanity check on something. The calculation for two-way transmittance is a fairly simple expression in water_vapor.c within l2gen:
/* Returns SeaWiFS water-vapor transmittance */
float water_vapor (int iband, float uH2O, float airmass)
{
static float a[4] = {-8.62884,-6.94310,-5.81033,-5.51066};
static float b[4] = {0.766159,0.813607,0.617758,0.678041};
int i = iband - 4;
if (i < 0 || i > 3)
return(1.0);
else
return(exp(-exp(a[ i ]+b[ i ]*log(airmass*uH2O))));
}
Here airmass is 1/mu0 + 1/mu and the code comments indicate that uH2O is expected in units of g/cm2 (which is equivalent to cm); log is natural logarithm. setanc.c also notes units of g/cm2.
So if I take band 8 (865 nm), which has the strongest absorption, for an example airmass of 2.5 (just off-nadir, high sun) and uH2O = 1 then I get:
exp(-1*exp(-5.51066+0.678041*log(2.5*1)))=0.992501
So that’s less than 0.1% absorption, which is somewhat less than I expected. If we take a somewhat more oblique observation geometry and more water (e.g. air mass 4, UH20=3) then I get:
exp(-1*exp(-5.51066+0.678041*log(4*4)))=0.973851
Which also seems like not a lot of absorption to me, compared to my experience with e.g. MODIS and VIIRS bands centred near 870 nm (where water vapour absorption is definitely not negligible).
I went to Howard Gordon’s 1995 paper (Remote sensing of ocean color: a methodology for dealing with broad spectral bands and significant out-of-band response, Appl Opt. 1995 Dec 20;34(36):8363-74. doi: 10.1364/AO.34.008363.) since that’s got a plot of spectral response function and gas absorption (Figure 3) but from the scale it’s a bit hard to eyeball an expected number.
Is SeaWiFS really that much less sensitive to atmospheric water vapour absorption than MODIS or VIIRS? Or have I got the units or something else wrong? If I assume it is expecting water vapour in mm (equivalent to kg/m2) rather than cm (equivalent to g/cm2) then my transmittances look more similar to what I’d expect from e.g. MODIS/VIIRS:
exp(-1*exp(-5.51066+0.678041*log(2.5*10)))=0.964775 (for the drier, near-nadir high sun case)
exp(-1*exp(-5.51066+0.678041*log(4*40))) =0.881394 (for the more extreme case)
I am assuming I am doing something wrong in the above, because if typical transmittances are 0.97-0.99 or so at 865 nm (and much closer to 1 at 550/670/760 nm bands) then it seems like it wouldn’t be a correction one needs to bother with?
Thanks,
Andy