From dc2dc1629c5c1de51e2dff2873643f003d19080f Mon Sep 17 00:00:00 2001 From: Thierry Leconte Date: Thu, 16 Apr 2009 16:18:02 +0000 Subject: [PATCH] add NOAA-19 calibration data --- main.c | 6 +++--- satcal.h | 25 +++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index 98434fa..02d6b30 100644 --- a/main.c +++ b/main.c @@ -285,7 +285,7 @@ static void usage(void) { fprintf(stderr, "atpdec [options] soundfiles ...\n"); fprintf(stderr, - "options:\n-d \tDestination directory\n-i [r|a|b|c|t]\tOutput image type\n\t\t\tr: Raw\n\t\t\ta: A chan.\n\t\t\tb: B chan.\n\t\t\tc: False color\n\t\t\tt: Temperature\n-c \tFalse color config file\n-s [15|16|17|18]\tSatellite number (for temperature and false color generation)\n"); + "options:\n-d \tDestination directory\n-i [r|a|b|c|t]\tOutput image type\n\t\t\tr: Raw\n\t\t\ta: A chan.\n\t\t\tb: B chan.\n\t\t\tc: False color\n\t\t\tt: Temperature\n-c \tFalse color config file\n-s [15|16|17|18|19]\tSatellite number (for temperature and false color generation)\n"); exit(1); } @@ -317,8 +317,8 @@ int main(int argc, char **argv) break; case 's': satnum = atoi(optarg)-15; - if (satnum < 0 || satnum > 3) { - fprintf(stderr, "invalid satellite number : must be in [15-18]\n"); + if (satnum < 0 || satnum > 4) { + fprintf(stderr, "invalid satellite number : must be in [15-19]\n"); exit(1); } break; diff --git a/satcal.h b/satcal.h index dc73381..3628ff3 100644 --- a/satcal.h +++ b/satcal.h @@ -7,8 +7,11 @@ const struct { float Ns; float b[3]; } cor[3]; -} satcal[4] = -{/* calibration coeff from NOAA KLM POES satellite user guide */ +} satcal[] = +{ +/* calibration coeff from NOAA KLM POES satellite user guide */ +/* http://www.ncdc.noaa.gov/oa/pod-guide/ncdc/docs/klm/tables.htm */ + {/* NOAA-15 */ { /* PRT coeff d0,d1,d2 */ {276.60157 , 0.051045 , 1.36328E-06}, @@ -80,6 +83,24 @@ const struct { {-2.22 , {2.67 , -0.04360 , 0.00017715}}, /* channel 5 */ {0.0,{0.0,0.0,0.0}} /* channel 3B*/ } +}, +{/* NOAA 19 */ +{ /* PRT coeff d0,d1,d2 */ +{276.6067 , 0.051111 , 1.405783E-06}, +{276.6119 , 0.051090 , 1.496037E-06}, +{276.6311 , 0.051033 , 1.496990E-06}, +{276.6268 , 0.051058 , 1.493110E-06} +}, +{ /* channel radiance coeff vc,A,B*/ +{928.9 , 0.53959 , 0.998534}, /* channel 4 */ +{831.9 , 0.36064 , 0.998913}, /* channel 5 */ +{2670.0 , 1.67396 , 0.997364} /* channel 3B */ +}, +{ /* nonlinear radiance correction Ns,b0,b1,b2 */ +{-5.49 , {5.70 -0.11187 , 0.00054668}}, /* channel 4 */ +{-3.39 , {3.58 -0.05991 , 0.00024985}}, /* channel 5 */ +{0.0,{0.0,0.0,0.0}} /* channel 3B*/ +} } };