Documentation for polfiles and xcalfiles
Documentation for polfiles and xcalfiles
I'm trying to figure out how the polfiles and xcalfiles are used to perform corrections. Specifically, how does l2gen decide which value to use as the correction for any given pixel (for both polarization and RVS)? As far as I can tell, this determination is not completely based on lat, lon, time/msec, solz, mirror side, senz (which seems surprising for the RVS), or any combination of these. Is it based on pixel number along the scan? Any documentation on how to understand the individual fields within the polcor and RVS .hdf files would be great (the .hdf attributes weren't very helpful)...
In case it matters, I'm using MODISA, SeaDAS74, and
polfile=$OCDATAROOT/modisa/cal/polcor_modisa_2010b
xcalfile=$OCSSWROOT/run/var/modisa/xcal/OPER/xcal_modisa_axc39d
Thanks in advance
-brian
In case it matters, I'm using MODISA, SeaDAS74, and
polfile=$OCDATAROOT/modisa/cal/polcor_modisa_2010b
xcalfile=$OCSSWROOT/run/var/modisa/xcal/OPER/xcal_modisa_axc39d
Thanks in advance
-brian
Tags:
-
- Posts: 9
- Joined: Fri Jan 30, 2004 12:27 pm America/New_York
Documentation for polfiles and xcalfiles
Hey Brian,
Changes to the radiometric and polarimetric sensitivity of the MODIS instrument are only a function of time, and these sensitivities are characterized as a a function of angle-of-incidence (aoi) on the primary mirror and the mirror side. The aoi is directly related to the physical scan pixel, which is really just a timing index. RVS is not directly related to surface zenith angles (the combination of aoi and s/c attitude and the earth surface model get us to observed zenith angle). Neither RVS nor polarization sensitivities change with location or solar zenith, but the resulting polarization correction will vary with the polarization state of the atmosphere/surface.
Hope that helps.
-- bryan
Changes to the radiometric and polarimetric sensitivity of the MODIS instrument are only a function of time, and these sensitivities are characterized as a a function of angle-of-incidence (aoi) on the primary mirror and the mirror side. The aoi is directly related to the physical scan pixel, which is really just a timing index. RVS is not directly related to surface zenith angles (the combination of aoi and s/c attitude and the earth surface model get us to observed zenith angle). Neither RVS nor polarization sensitivities change with location or solar zenith, but the resulting polarization correction will vary with the polarization state of the atmosphere/surface.
Hope that helps.
-- bryan
Documentation for polfiles and xcalfiles
Bryan-
Yes, that's very helpful. Thank you.
So in practice, l2gen will use the timestamp to determine which field within the xcalfile is needed. This xcal dataset (168x2) is then interpolated to 1354x2. Then, for any given pixel, l2gen will extract the pixel number/mframe and line number/nscan from the L1B and use that to determine which coefficient in the xcal dataset to read/apply. Odd numbered lines are RVS-corrected using the first line and even numbered lines use the second. (I'm pretty sure the "mirror side" parameter in the GEO file is not used in practice). Does this sound about right? If so, how can I determine which field in the xcal file (M1*_ncoefs*_ndets*) is used for a given L1B?
For the polfile, I can find the correction that is used for a given pixel using the polcor_nnn l2 products. Is there something like this for the xcal correction?
Thanks again
-brian
Yes, that's very helpful. Thank you.
So in practice, l2gen will use the timestamp to determine which field within the xcalfile is needed. This xcal dataset (168x2) is then interpolated to 1354x2. Then, for any given pixel, l2gen will extract the pixel number/mframe and line number/nscan from the L1B and use that to determine which coefficient in the xcal dataset to read/apply. Odd numbered lines are RVS-corrected using the first line and even numbered lines use the second. (I'm pretty sure the "mirror side" parameter in the GEO file is not used in practice). Does this sound about right? If so, how can I determine which field in the xcal file (M1*_ncoefs*_ndets*) is used for a given L1B?
For the polfile, I can find the correction that is used for a given pixel using the polcor_nnn l2 products. Is there something like this for the xcal correction?
Thanks again
-brian
-
- User Services
- Posts: 1470
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Been thanked: 5 times
Documentation for polfiles and xcalfiles
Brian,
The xcal file contains a set of temporally varying polynomial coefficients for each detector and mirror side. The polynomial expression that uses the coefficients is based on the pixel number. All of the coefficients for a time step/detector/mirror side are necessary to evaluate the expression. The resulting values are interpolated in time to get the correction applied to the pixel. BTW, the mirror side IS used and comes from geolocation file - it's determined when loading the L1B data into the l1rec structure, it is not just an odd/even swap starting with the first scan....you need to know which mirror side that scan is or you might apply the wrong correction.
For how these coefficients are applied in l2gen to derive the correction, see https://oceancolor.gsfc.nasa.gov/docs/ocssw/xcal_8c_source.html (the relevant parts are lines 243-300)
No.
Regards,
Sean
The xcal file contains a set of temporally varying polynomial coefficients for each detector and mirror side. The polynomial expression that uses the coefficients is based on the pixel number. All of the coefficients for a time step/detector/mirror side are necessary to evaluate the expression. The resulting values are interpolated in time to get the correction applied to the pixel. BTW, the mirror side IS used and comes from geolocation file - it's determined when loading the L1B data into the l1rec structure, it is not just an odd/even swap starting with the first scan....you need to know which mirror side that scan is or you might apply the wrong correction.
For how these coefficients are applied in l2gen to derive the correction, see https://oceancolor.gsfc.nasa.gov/docs/ocssw/xcal_8c_source.html (the relevant parts are lines 243-300)
> For the polfile, I can find the correction that is used for a given pixel using the polcor_nnn l2 products. Is there something like this for the xcal correction?
No.
Regards,
Sean