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*/
+}
}
};