Page 1 of 1

SeaWiFS water vapour absorption/transmittance calculation in SeaDAS l2gen

Posted: Thu May 10, 2018 11:52 am America/New_York
by amsayer
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(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:


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:


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?



SeaWiFS water vapour absorption/transmittance calculation in SeaDAS l2gen

Posted: Thu May 10, 2018 1:14 pm America/New_York
by amsayer
Oh hang on, I think I'm an idiot and the numbers I was getting in the above were right. :) Mea culpa.

The VIIRS/MODIS figures I had pulled for comparison were not what I thought they were. Going back to my code and getting the correct numbers, I get similar corrections of up to a few percent for VIIRS and MODIS's bands around 870 nm. (And incidentally similar numbers for 550 and 670 nm, where ozone is more dominant, comparing SeaWiFS with MODIS/VIIRS.)