This document is meant to be a short description of the inter-calibration code as of 28 Feb 2011. This documentation probably should find a more permanent home somehwere more visible someday. Thus far, there are 3 different radiance comparison use cases for the code in here: 1. Pixel-by-pixel comparisons between Aqua AIRS and Aqua MODIS 2. SNO-based AIRS / Terra MODIS inter-cal 3. SNO-based IASI / MODIS (Aqua or Terra) inter-cal In the SNO-based cases, we take a single radiance average for each SNO using pixels that are filtered using a distance and sensor zenith angle threshold. For any of the above use cases the end product includes comparable BTs for MODIS and AIRS (or IASI) that are separated by MODIS band. On the MODIS side, all we need to do is average radiances. In case (1) we average all MODIS observations within each AIRS FOV while in cases (2) and (3) we average all MODIS observations near the SNO point. On the hyperspectral side, we must use each MODIS band's spectral response function to "convolve" the AIRS or IASI observations so they are comparable to the MODIS bands. (For AIRS, there is an additional needed step called "convolution corrections", needed to deal with AIRS's spectral gaps, which is not yet implemented or applied in this code. Dave Tobin developed the corrections in MATLAB.) For the SNO cases (2) and (3) multiple AIRS or IASI observations are averaged to give a single value for the whole SNO. The inter-cal code is structured as a series of scripts. Here's how they can be used: (1) Aqua AIRS-MODIS ------------------- - airs2modis_pre.py: Takes an AIRS channel properties file and MODIS SRF file and produces an intermediate "pre" file that contains weights that will be applied to AIRS data - airs2modis.py: Takes a "pre" file and an AIRS granule and applies the per-MODIS-band convolutions. (I call the output an "A2M" file since it has AIRS radiances in terms of MODIS.) - modis2airs.py: Takes an AIRS granule and the MODIS granules that overlap it. Runs the AIRS-MODIS per-pixel collocation binary (part of the collocation package). Averages MODIS radiances on a per-AIRS-pixel basis and produces a single output granule that corresponds to the AIRS granule. (I call the output a "M2A" file). (2) AIRS-MODIS or (3) IASI-MODIS using SNOs ------------------------------------------- - {airs,iasi}2modis_pre.py: Same as in case (1). For iasi2modis_pre.py the inputs are any IASI L1C file and a MODIS SRF file. - {airs,iasi}2modis_sno.py: Takes a "pre" file and a list of AIRS or IASI granules. Applies the convolutions according to the "pre" file and also averages observations that meet the distance and angle requirements (which are currently given as constants in the code). - modis_sno.py: Takes a list of MODIS granules and averages observations that meet the distance and angle requirements.
Forked from
Collocation / intercal
Source project has a limited visibility.
authored