NOAA AMSU-A/B Precipitation Estimation Software Package
(precip_swath.c)
F.W.
Chen and D.H. Staelin
This file contains
C code for estimating precipitation using the Advanced Microwave Sounding
Unit (AMSU) aboard the NOAA-15, 16, and 17 satellites. This code also can
process data from AMSU and the Humidity Sounder for Brazil (HSB) aboard the
Aqua satellite after some minor changes related to differences in the scan
patterns. This code requires the following data:
- AMSU-A and
AMSU-B brightness temperatures from the NOAA-15, 16, and 17 satellites
- Location (latitude
and longitude)
- Satellite
scan angle
- Satellite
zenith angle
- Land fraction
- Surface elevation
This code produces
the following outputs:
- Flags for
AMSU-A channels 4-8 (50-km and 15-km)
- Brightness
temperature perturbations for AMSU-A channels 4-8 (50-km and 15-km)
- Rain rate
estimates (50-km and 15-km)
This code can be used
by calling the function precip_swath:
precip_swath(int
start_of_data, int start_of_gran, int end_of_gran, int end_of_data);
start_of_data is the
number of the first AMSU-A scan of the data set.
start_of_gran is the number of the first AMSU-A scan of the granule.
end_of_gran is the number of the last AMSU-A scan of the granule.
end_of_data is the number of the last AMSU-A scan of the data set.
If there is no distinction
between the data set and the granule being examined, then start_of_data
and start_of_gran can have the same value, and end_of_gran and end_of_data
can have the same value.
The user must provide
definitions for the following macros:
- AMSUTB(CHANNEL,SCAN,SPOT):
Brightness temperatures (K) for each channel for each AMSU-A footprint
- HSBTB(CHANNEL,SCAN,SPOT):
Brightness temperatures (K) for each channel for each AMSU-B footprint
- LAND(SCAN,SPOT):
Land fraction for each AMSU-A footprint (0 for ocean, 1 for land)
- AMSULAT(SCAN,SPOT):
Latitude (degrees) for each AMSU-A footprint (-90 for the Geographic South
Pole, +90 for the Geographic North Pole)
- AMSULON(SCAN,SPOT):
Longitude (degrees) for each AMSU-A footprint (-180 for 180 W, +180 for
180 E)
- AMSUVIEWANG(SCAN,SPOT):
Satellite scan angle (degrees) for each AMSU-A footprint
- AMSUSATZEN(SCAN,SPOT):
Satellite zenith angle (degrees) for each AMSU-A footprint
- AMSUELEV(SCAN,SPOT):
Surface elevation (meters) for each AMSU-A footprint
- HSBLAT(SCAN,SPOT):
Latitude (degrees) for each AMSU-B footprint (-90 for the Geographic South
Pole, +90 for the Geographic North Pole)
- HSBLON(SCAN,SPOT):
Longitude (degrees) for each AMSU-B footprint (-180 for 180 W, +180 for
180 E)
- HSBVIEWANG(SCAN,SPOT):
Satellite scan angle (degrees) for each AMSU-B footprint
- HSBSATZEN(SCAN,SPOT):
Satellite zenith angle (degrees) for each AMSU-B footprint
- HSBELEV(SCAN,SPOT):
Surface elevation (meters) for each AMSU-B footprint
- RAIN(SCAN,SPOT):
Rain rate estimates for each AMSU-A footprint (mm/h)
- RAIN15(SCAN,SPOT):
Rain rate estimates for each AMSU-B footprint (mm/h)
- CH4_PERT(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-A channel 4 for each AMSU-A footprint
- CH5_PERT(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-A channel 5 for each AMSU-A footprint
- CH6_PERT(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-A channel 6 for each AMSU-A footprint
- CH7_PERT(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-A channel 7 for each AMSU-A footprint
- CH8_PERT(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-A channel 8 for each AMSU-A footprint
- CH4_FLAG(SCAN,SPOT):
Quality flag for CH4_PERT
- CH5_FLAG(SCAN,SPOT):
Quality flag for CH5_PERT
- CH6_FLAG(SCAN,SPOT):
Quality flag for CH6_PERT
- CH7_FLAG(SCAN,SPOT):
Quality flag for CH7_PERT
- CH8_FLAG(SCAN,SPOT):
Quality flag for CH8_PERT
- CH4_PERT_15(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-B
channel 4 for each AMSU-B footprint
- CH5_PERT_15(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-B
channel 5 for each AMSU-B footprint
- CH6_PERT_15(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-B
channel 6 for each AMSU-B footprint
- CH7_PERT_15(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-B
channel 7 for each AMSU-B footprint
- CH8_PERT_15(SCAN,SPOT):
Precipitation-induced brightness temperature perturbation (K) for AMSU-B
channel 8 for each AMSU-B footprint
- CH4_FLAG_15(SCAN,SPOT):
Quality flag for CH4_PERT_15
- CH5_FLAG_15(SCAN,SPOT):
Quality flag for CH5_PERT_15
- CH6_FLAG_15(SCAN,SPOT):
Quality flag for CH6_PERT_15
- CH7_FLAG_15(SCAN,SPOT):
Quality flag for CH7_PERT_15
- CH8_FLAG_15(SCAN,SPOT):
Quality flag for CH8_PERT_15
CHANNEL: channel number
SCAN: scan number
SPOT: spot number (for AMSU-A, SPOT ranges from 0 to 29, and for AMSU-B,
SPOT ranges from 0 to 89)
The data that the
above macros refer to must be available in global variables.
Precipitation-induced
brightness temperature perturbations are defined to be negative. The
quality flags for estimates of precipitation-induced brightness temperature
perturbations can have the following values:
- 0 : |perturbation|
< 0.5 K
- 1 : 0.5 <
|perturbation| < 2 K
- 2 : |perturbation|
> 2 K
- -1 : indeterminate
case
The user may also
choose to redefine MAX_SCANS_A and MAX_SCANS_B, the maximum number of
AMSU-A and AMSU-B scans, respectively, to be examined, depending on the
number of scans in each data set to be processed. MAX_SCANS_B must be equal
to three times MAX_SCANS_A.
All of the above macro
definitions must occur in segments of code that are run when MIT_TEST_HARNESS
is not defined.
#ifdef MIT_TEST_HARNESS
<Macros defined for the MIT testing environment>
#else
<User puts his definitions in this section of code>
#endif
(NOTE: In the comments and macro definitions in precip_swath.c, AMSU
and HSB correspond to AMSU-A and AMSU-B, respectively.)