VLab Issue #2866 - EDEX and EDEX Common delivery for 14.2.1
Updates to GRIB decoder tables. Changes to some decoder plugins to support data ingest through qpid. Change-Id: Id42e993b1ac76040ad19c970c43036d3f852def0 Former-commit-id:e64020e271
[formerly185f06495f
] [formerlya12b83ddfb
] [formerlye64020e271
[formerly185f06495f
] [formerlya12b83ddfb
] [formerly2bd1588ad4
[formerlya12b83ddfb
[formerly f64ce96da2871e55b40b6fe4ba0e77eaed266103]]]] Former-commit-id:2bd1588ad4
Former-commit-id:2e2034bb1d
[formerly081ef1a246
] [formerly ed33756c50a2ab718a474d22ed268e2af3dd027b [formerlycfa9fdb6cf
]] Former-commit-id: 8112316f71b8de964aa381a2f1d759b4e42d961e [formerly6ef117ac7d
] Former-commit-id:e75a572abf
This commit is contained in:
parent
80ca139a7b
commit
f62797e088
62 changed files with 14762 additions and 12986 deletions
18
edexOsgi/build.edex/opt/db/ddl/ncep/importNcepShapeFile.sh
Normal file → Executable file
18
edexOsgi/build.edex/opt/db/ddl/ncep/importNcepShapeFile.sh
Normal file → Executable file
|
@ -35,29 +35,31 @@ fi
|
||||||
|
|
||||||
if [ -z $7 ] ; then
|
if [ -z $7 ] ; then
|
||||||
PGBINDIR=''
|
PGBINDIR=''
|
||||||
|
PSQLBINDIR=''
|
||||||
else
|
else
|
||||||
PGBINDIR=${7}/bin/
|
PGBINDIR=${7}/bin/
|
||||||
|
PSQLBINDIR=/awips2/psql/bin/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo " Importing `basename ${SHAPEFILE}` into ${SCHEMA}.${TABLE} ..."
|
echo " Importing `basename ${SHAPEFILE}` into ${SCHEMA}.${TABLE} ..."
|
||||||
if [ -n "$LOGFILE" ] ; then
|
if [ -n "$LOGFILE" ] ; then
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
DELETE FROM public.geometry_columns WHERE f_table_schema = '${SCHEMA}' AND f_table_name = '${TABLE}';
|
DELETE FROM public.geometry_columns WHERE f_table_schema = '${SCHEMA}' AND f_table_name = '${TABLE}';
|
||||||
DROP TABLE IF EXISTS ${SCHEMA}.${TABLE}
|
DROP TABLE IF EXISTS ${SCHEMA}.${TABLE}
|
||||||
" >> $LOGFILE 2>&1
|
" >> $LOGFILE 2>&1
|
||||||
${PGBINDIR}shp2pgsql -s 4326 -I ${SHAPEFILE} ${SCHEMA}.${TABLE} 2>> $LOGFILE | ${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -f - >> $LOGFILE 2>&1
|
${PGBINDIR}shp2pgsql -s 4326 -g the_geom -I ${SHAPEFILE} ${SCHEMA}.${TABLE} 2>> $LOGFILE | ${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -f - >> $LOGFILE 2>&1
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom_0','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom_0','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
||||||
UPDATE ${SCHEMA}.${TABLE} SET the_geom_0=ST_Segmentize(the_geom,0.1);
|
UPDATE ${SCHEMA}.${TABLE} SET the_geom_0=ST_Segmentize(the_geom,0.1);
|
||||||
CREATE INDEX ${TABLE}_the_geom_0_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom_0);
|
CREATE INDEX ${TABLE}_the_geom_0_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom_0);
|
||||||
" >> $LOGFILE 2>&1
|
" >> $LOGFILE 2>&1
|
||||||
else
|
else
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
DELETE FROM public.geometry_columns WHERE f_table_schema = '${SCHEMA}' AND f_table_name = '${TABLE}';
|
DELETE FROM public.geometry_columns WHERE f_table_schema = '${SCHEMA}' AND f_table_name = '${TABLE}';
|
||||||
DROP TABLE IF EXISTS ${SCHEMA}.${TABLE}
|
DROP TABLE IF EXISTS ${SCHEMA}.${TABLE}
|
||||||
"
|
"
|
||||||
${PGBINDIR}shp2pgsql -s 4326 -I ${SHAPEFILE} ${SCHEMA}.${TABLE} | ${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -f -
|
${PGBINDIR}shp2pgsql -s 4326 -g the_geom -I ${SHAPEFILE} ${SCHEMA}.${TABLE} | ${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -f -
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom_0','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom_0','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
||||||
UPDATE ${SCHEMA}.${TABLE} SET the_geom_0=ST_Segmentize(the_geom,0.1);
|
UPDATE ${SCHEMA}.${TABLE} SET the_geom_0=ST_Segmentize(the_geom,0.1);
|
||||||
CREATE INDEX ${TABLE}_the_geom_0_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom_0);
|
CREATE INDEX ${TABLE}_the_geom_0_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom_0);
|
||||||
|
@ -73,12 +75,12 @@ if [ -n "$SIMPLEVS" ] ; then
|
||||||
SUFFIX=
|
SUFFIX=
|
||||||
for x in $LEV ; do SUFFIX=${SUFFIX}_${x} ; done
|
for x in $LEV ; do SUFFIX=${SUFFIX}_${x} ; done
|
||||||
if [ -n "$LOGFILE" ] ; then
|
if [ -n "$LOGFILE" ] ; then
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom${SUFFIX}','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom${SUFFIX}','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
||||||
UPDATE ${SCHEMA}.${TABLE} SET the_geom${SUFFIX}=ST_Segmentize(ST_Multi(ST_SimplifyPreserveTopology(the_geom,${LEV})),0.1);
|
UPDATE ${SCHEMA}.${TABLE} SET the_geom${SUFFIX}=ST_Segmentize(ST_Multi(ST_SimplifyPreserveTopology(the_geom,${LEV})),0.1);
|
||||||
CREATE INDEX ${TABLE}_the_geom${SUFFIX}_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom${SUFFIX});" >> $LOGFILE 2>&1
|
CREATE INDEX ${TABLE}_the_geom${SUFFIX}_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom${SUFFIX});" >> $LOGFILE 2>&1
|
||||||
else
|
else
|
||||||
${PGBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
${PSQLBINDIR}psql -d ncep -U ${PGUSER} -q -p ${PGPORT} -c "
|
||||||
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom${SUFFIX}','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
SELECT AddGeometryColumn('${SCHEMA}','${TABLE}','the_geom${SUFFIX}','4326',(SELECT type FROM public.geometry_columns WHERE f_table_schema='${SCHEMA}' and f_table_name='${TABLE}' and f_geometry_column='the_geom'),2);
|
||||||
UPDATE ${SCHEMA}.${TABLE} SET the_geom${SUFFIX}=ST_Segmentize(ST_Multi(ST_SimplifyPreserveTopology(the_geom,${LEV})),0.1);
|
UPDATE ${SCHEMA}.${TABLE} SET the_geom${SUFFIX}=ST_Segmentize(ST_Multi(ST_SimplifyPreserveTopology(the_geom,${LEV})),0.1);
|
||||||
CREATE INDEX ${TABLE}_the_geom${SUFFIX}_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom${SUFFIX});"
|
CREATE INDEX ${TABLE}_the_geom${SUFFIX}_gist ON ${SCHEMA}.${TABLE} USING gist(the_geom${SUFFIX});"
|
||||||
|
|
|
@ -6810,6 +6810,8 @@
|
||||||
</grib1Parameter>
|
</grib1Parameter>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ECMWF -->
|
||||||
|
|
||||||
<grib1Parameter>
|
<grib1Parameter>
|
||||||
<center>98</center>
|
<center>98</center>
|
||||||
<grib1TableVersion>128</grib1TableVersion>
|
<grib1TableVersion>128</grib1TableVersion>
|
||||||
|
@ -6891,6 +6893,26 @@
|
||||||
<grib2Value>255</grib2Value>
|
<grib2Value>255</grib2Value>
|
||||||
</grib1Parameter>
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<!-- Below added for ECENSMEAN by BradS 03-20-12 -->
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>98</center>
|
||||||
|
<grib1TableVersion>128</grib1TableVersion>
|
||||||
|
<grib1Value>15</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>4</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>98</center>
|
||||||
|
<grib1TableVersion>128</grib1TableVersion>
|
||||||
|
<grib1Value>16</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>5</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
<!-- Above added for ECENSMEAN by BradS 03-20-12 -->
|
||||||
|
|
||||||
<grib1Parameter>
|
<grib1Parameter>
|
||||||
<center>98</center>
|
<center>98</center>
|
||||||
<grib1TableVersion>128</grib1TableVersion>
|
<grib1TableVersion>128</grib1TableVersion>
|
||||||
|
@ -8741,4 +8763,251 @@
|
||||||
<grib2category>0</grib2category>
|
<grib2category>0</grib2category>
|
||||||
<grib2Value>13</grib2Value>
|
<grib2Value>13</grib2Value>
|
||||||
</grib1Parameter>
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<!-- end fnmocWave -->
|
||||||
|
|
||||||
|
<!-- ukmetHR -->
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>1</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>0</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>2</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>1</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>5</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>3</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>7</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>5</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>11</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>0</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>15</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>4</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>16</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>5</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>20</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>19</grib2category>
|
||||||
|
<grib2Value>0</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>33</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>2</grib2category>
|
||||||
|
<grib2Value>2</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>34</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>2</grib2category>
|
||||||
|
<grib2Value>3</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>40</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>2</grib2category>
|
||||||
|
<grib2Value>9</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>51</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>1</grib2category>
|
||||||
|
<grib2Value>0</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>52</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>1</grib2category>
|
||||||
|
<grib2Value>1</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>59</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>1</grib2category>
|
||||||
|
<grib2Value>7</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>61</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>1</grib2category>
|
||||||
|
<grib2Value>8</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>72</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>6</grib2category>
|
||||||
|
<grib2Value>2</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>73</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>6</grib2category>
|
||||||
|
<grib2Value>3</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>74</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>6</grib2category>
|
||||||
|
<grib2Value>4</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>75</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>6</grib2category>
|
||||||
|
<grib2Value>5</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>111</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>4</grib2category>
|
||||||
|
<grib2Value>0</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>128</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>1</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>138</grib1Value>
|
||||||
|
<grib2discipline>255</grib2discipline>
|
||||||
|
<grib2category>255</grib2category>
|
||||||
|
<grib2Value>255</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>143</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>1</grib2category>
|
||||||
|
<grib2Value>195</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>144</grib1Value>
|
||||||
|
<grib2discipline>2</grib2discipline>
|
||||||
|
<grib2category>0</grib2category>
|
||||||
|
<grib2Value>192</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>146</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>6</grib2category>
|
||||||
|
<grib2Value>15</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>147</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>3</grib2category>
|
||||||
|
<grib2Value>16</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
|
||||||
|
<grib1Parameter>
|
||||||
|
<center>74</center>
|
||||||
|
<grib1TableVersion>3</grib1TableVersion>
|
||||||
|
<grib1Value>149</grib1Value>
|
||||||
|
<grib2discipline>0</grib2discipline>
|
||||||
|
<grib2category>2</grib2category>
|
||||||
|
<grib2Value>14</grib2Value>
|
||||||
|
</grib1Parameter>
|
||||||
|
<!-- end ukmetHR -->
|
||||||
</grib1ParameterSet>
|
</grib1ParameterSet>
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162001</name>
|
||||||
|
<description>UKMet HiRes tile - Northern Hemisphere
|
||||||
|
Longitude range 341.25E - 70.416E </description>
|
||||||
|
<la1>0.279</la1>
|
||||||
|
<lo1>341.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>89.722</la2>
|
||||||
|
<lo2>70.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162002</name>
|
||||||
|
<description>UKMet HiRes tile - Northern Hemisphere
|
||||||
|
Longitude range 71.25E - 160.416E </description>
|
||||||
|
<la1>0.279</la1>
|
||||||
|
<lo1>71.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>89.722</la2>
|
||||||
|
<lo2>160.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162003</name>
|
||||||
|
<description>UKMet HiRes tile - Northern Hemisphere
|
||||||
|
Longitude range 161.25E - 250.416E </description>
|
||||||
|
<la1>0.279</la1>
|
||||||
|
<lo1>161.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>89.722</la2>
|
||||||
|
<lo2>250.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162004</name>
|
||||||
|
<description>UKMet HiRes tile - Northern Hemisphere
|
||||||
|
Longitude range 251.25E - 340.416E </description>
|
||||||
|
<la1>0.279</la1>
|
||||||
|
<lo1>251.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>89.722</la2>
|
||||||
|
<lo2>340.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162005</name>
|
||||||
|
<description>UKMet HiRes tile - Southern Hemisphere
|
||||||
|
Longitude range 341.25E - 70.416E </description>
|
||||||
|
<la1>-89.721</la1>
|
||||||
|
<lo1>341.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>-0.278</la2>
|
||||||
|
<lo2>70.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162006</name>
|
||||||
|
<description>UKMet HiRes tile - Southern Hemisphere
|
||||||
|
Longitude range 71.25E - 160.416E </description>
|
||||||
|
<la1>-89.721</la1>
|
||||||
|
<lo1>71.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>-0.278</la2>
|
||||||
|
<lo2>160.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162007</name>
|
||||||
|
<description>UKMet HiRes tile - Southern Hemisphere
|
||||||
|
Longitude range 161.25E - 250.416E </description>
|
||||||
|
<la1>-89.721</la1>
|
||||||
|
<lo1>161.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>-0.278</la2>
|
||||||
|
<lo2>250.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>108162008</name>
|
||||||
|
<description>UKMet HiRes tile - Southern Hemisphere
|
||||||
|
Longitude range 251.25E - 340.416E </description>
|
||||||
|
<la1>-89.721</la1>
|
||||||
|
<lo1>251.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>108</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>-0.278</la2>
|
||||||
|
<lo2>340.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>864162001</name>
|
||||||
|
<description>UKMet HiRes combined - Northern Hemisphere
|
||||||
|
Longitude range 71.25E - 70.416E </description>
|
||||||
|
<la1>0.279</la1>
|
||||||
|
<lo1>71.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>864</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>89.722</la2>
|
||||||
|
<lo2>70.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>864162002</name>
|
||||||
|
<description>UKMet HiRes combined - Southern Hemisphere
|
||||||
|
Longitude range 71.25E - 70.416E </description>
|
||||||
|
<la1>-89.721</la1>
|
||||||
|
<lo1>71.25</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>864</nx>
|
||||||
|
<ny>162</ny>
|
||||||
|
<dx>0.833</dx>
|
||||||
|
<dy>0.556</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
<la2>-0.278</la2>
|
||||||
|
<lo2>70.416</lo2>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>115001</name>
|
||||||
|
<description> SWPC IRGF C </description>
|
||||||
|
<la1>38.0</la1>
|
||||||
|
<lo1>250.0</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>11</nx>
|
||||||
|
<ny>5</ny>
|
||||||
|
<dx>1</dx>
|
||||||
|
<dy>1</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>18060001</name>
|
||||||
|
<description> SWPC Enlil C </description>
|
||||||
|
<la1>59.0</la1>
|
||||||
|
<lo1>1.0</lo1>
|
||||||
|
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
|
||||||
|
<nx>180</nx>
|
||||||
|
<ny>60</ny>
|
||||||
|
<dx>2</dx>
|
||||||
|
<dy>2</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>18090001</name>
|
||||||
|
<description> SWPC XRAY C </description>
|
||||||
|
<la1>89.0</la1>
|
||||||
|
<lo1>178.0</lo1>
|
||||||
|
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
|
||||||
|
<nx>180</nx>
|
||||||
|
<ny>90</ny>
|
||||||
|
<dx>2</dx>
|
||||||
|
<dy>2</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>2090001</name>
|
||||||
|
<description> SWPC Conductivity C </description>
|
||||||
|
<la1>-90.0</la1>
|
||||||
|
<lo1>180.0</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>20</nx>
|
||||||
|
<ny>90</ny>
|
||||||
|
<dx>18</dx>
|
||||||
|
<dy>2</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>2091001</name>
|
||||||
|
<description> SWPC Ion Temperature C </description>
|
||||||
|
<la1>-90.0</la1>
|
||||||
|
<lo1>0.0</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>20</nx>
|
||||||
|
<ny>91</ny>
|
||||||
|
<dx>18</dx>
|
||||||
|
<dy>2</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>360180001</name>
|
||||||
|
<description> SWPC SXI C </description>
|
||||||
|
<la1>90.0</la1>
|
||||||
|
<lo1>0.0</lo1>
|
||||||
|
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
|
||||||
|
<nx>360</nx>
|
||||||
|
<ny>180</ny>
|
||||||
|
<dx>1</dx>
|
||||||
|
<dy>1</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>3636001</name>
|
||||||
|
<description> SWPC SOLAR FLUX C </description>
|
||||||
|
<la1>87.5</la1>
|
||||||
|
<lo1>185.0</lo1>
|
||||||
|
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
|
||||||
|
<nx>36</nx>
|
||||||
|
<ny>36</ny>
|
||||||
|
<dx>10</dx>
|
||||||
|
<dy>5</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>9050001</name>
|
||||||
|
<description> SWPC Ovation C </description>
|
||||||
|
<la1>40.0</la1>
|
||||||
|
<lo1>0.0</lo1>
|
||||||
|
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
|
||||||
|
<nx>90</nx>
|
||||||
|
<ny>50</ny>
|
||||||
|
<dx>4</dx>
|
||||||
|
<dy>1</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
<latLonGridCoverage>
|
||||||
|
<name>9090001</name>
|
||||||
|
<description> SWPC DRAP20 C </description>
|
||||||
|
<la1>89.0</la1>
|
||||||
|
<lo1>182.0</lo1>
|
||||||
|
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
|
||||||
|
<nx>90</nx>
|
||||||
|
<ny>90</ny>
|
||||||
|
<dx>4</dx>
|
||||||
|
<dy>2</dy>
|
||||||
|
<spacingUnit>degree</spacingUnit>
|
||||||
|
</latLonGridCoverage>
|
|
@ -11,6 +11,20 @@
|
||||||
<gribModelSet>
|
<gribModelSet>
|
||||||
|
|
||||||
<!-- SUBCENTER 0 -->
|
<!-- SUBCENTER 0 -->
|
||||||
|
<model>
|
||||||
|
<name>ecens</name>
|
||||||
|
<center>98</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>360181001</grid>
|
||||||
|
<process>
|
||||||
|
<id>141</id>
|
||||||
|
<id>142</id>
|
||||||
|
<id>143</id>
|
||||||
|
<id>144</id>
|
||||||
|
<id>145</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
<model>
|
<model>
|
||||||
<name>ecmwfP25</name>
|
<name>ecmwfP25</name>
|
||||||
<center>98</center>
|
<center>98</center>
|
||||||
|
|
|
@ -2879,6 +2879,7 @@
|
||||||
<name>HPCGuide</name>
|
<name>HPCGuide</name>
|
||||||
<center>7</center>
|
<center>7</center>
|
||||||
<subcenter>5</subcenter>
|
<subcenter>5</subcenter>
|
||||||
|
<grid>197</grid>
|
||||||
<process>
|
<process>
|
||||||
<id>183</id>
|
<id>183</id>
|
||||||
</process>
|
</process>
|
||||||
|
@ -3131,6 +3132,16 @@
|
||||||
</process>
|
</process>
|
||||||
</model>
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>AK-RTMA-HR</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>4</subcenter>
|
||||||
|
<grid>1023</grid>
|
||||||
|
<process>
|
||||||
|
<id>109</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
<model>
|
<model>
|
||||||
<name>GFSLAMPTstorm</name>
|
<name>GFSLAMPTstorm</name>
|
||||||
<center>7</center>
|
<center>7</center>
|
||||||
|
@ -3184,4 +3195,90 @@
|
||||||
|
|
||||||
<!-- END SUBCENTER 14: NWS METEOROLOGICAL DEVELOPMENT LABORATORY -->
|
<!-- END SUBCENTER 14: NWS METEOROLOGICAL DEVELOPMENT LABORATORY -->
|
||||||
|
|
||||||
|
<!-- SUBCENTER 16: SPACE WEATHER PREDICTION CENTER -->
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>Conductivity</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>2090001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>SXI</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>360180001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>DRAP20</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>9090001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>ENLIL</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>18060001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>EPFlux</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>3636001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>SolarFlux</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>18090001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>IonTemperature</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>2091001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>IRGF</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>115001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
<model>
|
||||||
|
<name>Ovation</name>
|
||||||
|
<center>7</center>
|
||||||
|
<subcenter>16</subcenter>
|
||||||
|
<grid>9050001</grid>
|
||||||
|
<process>
|
||||||
|
<id>255</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<!-- END SUBCENTER 16: SPACE WEATHER PREDICTION CENTER -->
|
||||||
|
|
||||||
</gribModelSet>
|
</gribModelSet>
|
||||||
|
|
|
@ -5,7 +5,10 @@
|
||||||
an_export_license_or_other_authorization. Contractor_Name:________Raytheon_Company
|
an_export_license_or_other_authorization. Contractor_Name:________Raytheon_Company
|
||||||
Contractor_Address:_____6825_Pine_Street,_Suite_340 ________________________Mail_Stop_B8
|
Contractor_Address:_____6825_Pine_Street,_Suite_340 ________________________Mail_Stop_B8
|
||||||
________________________Omaha,_NE_68106 ________________________402.291.0100
|
________________________Omaha,_NE_68106 ________________________402.291.0100
|
||||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for further_licensing_information. -->
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for further_licensing_information.
|
||||||
|
History:
|
||||||
|
F.Achorn/OPC 10/15/13 Added Ukmet HR tiles 1-8
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
<gribModelSet>
|
<gribModelSet>
|
||||||
|
@ -182,6 +185,100 @@
|
||||||
</process>
|
</process>
|
||||||
</model>
|
</model>
|
||||||
|
|
||||||
<!-- END SUBCENTER 0 -->
|
<!-- UKMET HiRes Tiles -->
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-1</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162001</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-2</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162002</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-3</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162003</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-4</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162004</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-5</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162005</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-6</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162006</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-7</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162007</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
|
|
||||||
|
<model>
|
||||||
|
<name>UkmetHR-8</name>
|
||||||
|
<center>74</center>
|
||||||
|
<subcenter>0</subcenter>
|
||||||
|
<grid>108162008</grid>
|
||||||
|
<process>
|
||||||
|
<id>15</id>
|
||||||
|
<id>44</id>
|
||||||
|
<id>45</id>
|
||||||
|
</process>
|
||||||
|
</model>
|
||||||
</gribModelSet>
|
</gribModelSet>
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
#Code Table 0.0: Discipline of processed data in the GRIB message, number of GRIB Master table
|
||||||
|
3:3:Satellite remote sensing products
|
||||||
|
4:4:Space Weather Products
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,5 @@
|
||||||
|
# CODE TABLE 3.2, Shape of the reference system
|
||||||
|
10:10:Earth model assumed WGS84 with corrected geomagnetic coordinates (latitude and longitude) defined by Gustafsson et al., 1992
|
||||||
|
11:11:Sun assumed spherical with radius = 695,990,000 m (Allen, C.W., 1976 Astrophysical Quantities (3rd Ed.; London: Athlone) and Stonyhurst latitude and longitude system with origin at the intersection of the solar central meridian (as seen from Earth) and the solar equator (Thompson, W, Coordinate systems for solar image data, A&A 449, 791–803 (2006))
|
||||||
|
# 192- 254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,15 @@
|
||||||
|
# CODE TABLE 4.1, Parameter category by product discipline
|
||||||
|
0:0:Temperature
|
||||||
|
1:1:Momentum
|
||||||
|
2:2:Charged particle mass and number
|
||||||
|
3:3:Electric and magnetic fields
|
||||||
|
4:4:Energetic particles
|
||||||
|
5:5:Waves
|
||||||
|
6:6:Solar electromagnetic emissions
|
||||||
|
7:7:Terrestrial electromagnetic emissions
|
||||||
|
8:8:Imagery
|
||||||
|
9:9:Ion-neutral coupling
|
||||||
|
#10-191 Reserved
|
||||||
|
#192-254 Reserved for Local Use
|
||||||
|
255:255:Missing
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 0: Temperature
|
||||||
|
0:0:Temperature:K:TMPSWP
|
||||||
|
1:1:Electron Temperature:K:ELECTMP
|
||||||
|
2:2:Proton Temperature:K:PROTTMP
|
||||||
|
3:3:Ion Temperature:K:IONTMP
|
||||||
|
4:4:Parallel Temperature:K:PRATMP
|
||||||
|
5:5:Perpendicular Temperature:K:PRPTMP
|
||||||
|
# 6-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 1: Momentum
|
||||||
|
0:0:Velocity Magnitude (Speed):m*s^1:SPEED
|
||||||
|
1:1:1st Vector Component of Velocity (Coordinate system dependent):m*s^1:VEL1
|
||||||
|
2:2:2nd Vector Component of Velocity (Coordinate system dependent):m*s^1:VEL2
|
||||||
|
3:3:3rd Vector Component of Velocity (Coordinate system dependent):m*s^1:VEL3
|
||||||
|
# 4-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 2: Charged Particle Mass and Number
|
||||||
|
0:0:Particle Number Density:m^3:PLSMDEN
|
||||||
|
1:1:Electron Density:m^3:ELCDEN
|
||||||
|
2:2:Proton Density:m^3:PROTDEN
|
||||||
|
3:3:Ion Density:m^3:IONDEN
|
||||||
|
4:4:Vertical Electron Content:m^2:VTEC
|
||||||
|
5:5:HF Absorption Frequency:Hz:ABSFRQ
|
||||||
|
6:6:HF Absorption:dB:ABSRB
|
||||||
|
7:7:Spread F:m:SPRDF
|
||||||
|
8:8:h'F:m:HPRIMF
|
||||||
|
9:9:Critical Frequency:Hz:CRTFRQ
|
||||||
|
10:10:Scintillation:Numeric:SCINT
|
||||||
|
# 11-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 3: Electric and Magnetic Fields
|
||||||
|
0:0:Magnetic Field Magnitude:T:BTOT
|
||||||
|
1:1:1st Vector Component of Magnetic Field:T:BVEC1
|
||||||
|
2:2:2nd Vector Component of Magnetic Field:T:BVEC2
|
||||||
|
3:3:3rd Vector Component of Magnetic Field:T:BVEC3
|
||||||
|
4:4:Electric Field Magnitude:V*m^1:ETOT
|
||||||
|
5:5:1st Vector Component of Electric Field:V*m^1:EVEC1
|
||||||
|
6:6:2nd Vector Component of Electric Field:V*m^1:EVEC2
|
||||||
|
7:7:3rd Vector Component of Electric Field:V*m^1:EVEC3
|
||||||
|
# 8-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 4: Energetic Particles
|
||||||
|
0:0:Proton Flux (Differential):(m^2*s*sr*eV)^1:DIFPFLUX
|
||||||
|
1:1:Proton Flux (Integral):(m^2*s*sr)^1:INTPFLUX
|
||||||
|
2:2:Electron Flux (Differential):(m^2*s*sr*eV)^1:DIFEFLUX
|
||||||
|
3:3:Electron Flux (Integral):(m^2*s*sr)^1:INTEFLUX
|
||||||
|
4:4:Heavy Ion Flux (Differential):((m^2*s*sr*eV)/nuc)^1:DIFIFLUX
|
||||||
|
5:5:Heavy Ion Flux (iIntegral):(m^2*s*sr)^1:INTIFLUX
|
||||||
|
6:6:Cosmic Ray Neutron Flux:h^1:NTRNFLUX
|
||||||
|
# 7-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 5: Waves
|
||||||
|
# 0-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 6: Solar Electromagnetic Emissions
|
||||||
|
0:0:Integrated Solar Irradiance:W*m^2:TSI
|
||||||
|
1:1:Solar X-ray Flux (XRS Long):W*m^2:XLONG
|
||||||
|
2:2:Solar X-ray Flux (XRS Short):W*m^2:XSHRT
|
||||||
|
3:3:Solar EUV Irradiance:W*m^2:EUVIRR
|
||||||
|
4:4:Solar Spectral Irradiance:W*m^2*n*m^1:SPECIRR
|
||||||
|
5:5:F10.7:W*m^2*H*z^1:F107
|
||||||
|
6:6:Solar Radio Emissions:W*m^2*Hz^1:SOLRF
|
||||||
|
# 7-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 7: Terrestrial electromagnetic emissions
|
||||||
|
0:0:Limb Intensity:J*m^2*s^1:LMBINT
|
||||||
|
1:1:Disk Intensity:j*m^2*s^1:DSKINT
|
||||||
|
2:2:Disk Intensity Day:J*m^2*s^1:DSKDAY
|
||||||
|
3:3:Disk Intensity Night:J*m^2*s^1:DSKNGT
|
||||||
|
# 4-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 8: Imagery
|
||||||
|
0:0:X-Ray Radiance:W*s*r^1*m^2:XRAYRAD
|
||||||
|
1:1:EUV Radiance:W*s*r^1*m^2:EUVRAD
|
||||||
|
2:2:H-Alpha Radiance:W*s*r^1*m^2:HARAD
|
||||||
|
3:3:White Light Radiance:W*s*r^1*m^2:WHTRAD
|
||||||
|
4:4:CaII-K Radiance:W*s*r^1*m^2:CAIIRAD
|
||||||
|
5:5:White Light Coronagraph Radiance:W*s*r^1*m^2:WHTCOR
|
||||||
|
6:6:Heliospheric Radiance:W*s*r^1*m^2:HELCOR
|
||||||
|
7:7:Thematic Mask:Numeric:MASK
|
||||||
|
# 8-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Product Discipline 4: Space Weather Products, Parameter Category 9: Ion-Neutral Coupling
|
||||||
|
0:0:Pedersen Conductivity:S*m^1:SIGPED
|
||||||
|
1:1:Hall Conductivity:S*m^1:SIGHAL
|
||||||
|
2:2:Parallel Conductivity:S*m^1:SIGPAR
|
||||||
|
# 3-191 Reserved
|
||||||
|
# 192-254 Reserved for local use
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Code:table:4.5: Fixed surface types and units
|
||||||
|
170:170:Ionospheric D-region level::IDRL
|
||||||
|
171:171:Ionospheric E-region level::IERL
|
||||||
|
172:172:Ionospheric F1-region level::IF1RL
|
||||||
|
173:173:Ionospheric F2-region level::IF2RL
|
||||||
|
174:174:Specified radius from the center of the Sun:m:SRCS
|
||||||
|
175:175:Solar photosphere::SP
|
||||||
|
#192-254 Reserved for local use
|
||||||
|
200:200:Entire Atmosphere::EATM:EA
|
||||||
|
201:201:Entire Ocean::EOCN
|
||||||
|
204:204:Highest Tropospheric Freezing Level::HTFL
|
||||||
|
206:206:Grid Scale Cloud Bottom Level::GCBL
|
||||||
|
207:207:Grid Scale Cloud Top Level::GCTL
|
||||||
|
209:209:Boundary Layer Cloud Bottom Level::BCBL
|
||||||
|
210:210:Boundary Layer Cloud Top Level::BCTL
|
||||||
|
211:211:Boundary Layer Cloud Layer::BCY
|
||||||
|
212:212:Low Cloud Bottom Level::LCBL
|
||||||
|
213:213:Low Cloud Top Level::LCTL
|
||||||
|
214:214:Low Cloud Layer::LCY
|
||||||
|
215:215:Cloud Ceiling::CLG
|
||||||
|
220:220:Planetary Boundary Layer:: BLD
|
||||||
|
221:221:Layer Between Two Hybrid Levels::LBTHL
|
||||||
|
222:222:Middle Cloud Bottom Level::MCBL
|
||||||
|
223:223:Middle Cloud Top Level::MCTL
|
||||||
|
224:224:Middle Cloud Layer::MCY
|
||||||
|
232:232:High Cloud Bottom Level::HCBL
|
||||||
|
233:233:High Cloud Top Level::HCTL
|
||||||
|
234:234:High Cloud Layer::HCL
|
||||||
|
235:235:Ocean Isotherm Level:1/10 ℃:OITL
|
||||||
|
236:236:Layer Between Two Depths Below Ocean Surface::OLYR
|
||||||
|
237:237:Bottom of Ocean Mixed Layer (m):m:OBML
|
||||||
|
238:238:Bottom of Ocean Isothermal Layer:m:OBIL
|
||||||
|
239:239:Layer Ocean Surface and 26C Ocean Isothermal Level::LOS
|
||||||
|
240:240:Ocean Mixed Layer::OML
|
||||||
|
241:241:Ordered Sequence of Data::OSD
|
||||||
|
242:242:Convective Cloud Bottom Level::CCBL
|
||||||
|
243:243:Convective Cloud Top Level::CCTL
|
||||||
|
244:244:Convective Cloud::CCY
|
||||||
|
245:245:Lowest Level of the Wet Bulb Zero::WBZ
|
||||||
|
246:246:Maximum Equivalent Potential Temperature level::MTHE:MEPT
|
||||||
|
247:247:Equilibrium Level::EHLT:EL
|
||||||
|
248:248:Shallow Convective Cloud Bottom Level::SCBL
|
||||||
|
249:249:Shallow Convective Cloud Top Level::SCTL
|
||||||
|
251:251:Deep Convective Cloud Bottom Level::DCBL
|
||||||
|
252:252:Deep Convective Cloud Top Level::DCTL
|
||||||
|
253:253:Lowest Bottom Level of Supercooled Liquid Water Layer::LSCLW
|
||||||
|
254:254:Highest Top Level of Supercooled Liquid Water Layer::HSCLW
|
||||||
|
255:255:Missing
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Product Discipline 2: Land surface products, Parameter Category 0: Vegetation/Biomass
|
||||||
|
#192-254 Reserved for local use
|
||||||
|
192:192:Volumetric soil moisture content:Proportion:SOILW
|
||||||
|
255:255:Missing
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="2.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<compositeModel>
|
||||||
|
<modelName>UkmetHR-NorthernHemisphere</modelName>
|
||||||
|
<grid>864162001</grid>
|
||||||
|
<componentModels>UkmetHR-2:UkmetHR-3:UkmetHR-4:UkmetHR-1</componentModels>
|
||||||
|
</compositeModel>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!--
|
||||||
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||||
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||||
|
|
||||||
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||||
|
This_software_product_contains_export-restricted_data_whose
|
||||||
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||||
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||||
|
an_export_license_or_other_authorization.
|
||||||
|
|
||||||
|
Contractor_Name:________Raytheon_Company
|
||||||
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||||
|
________________________Mail_Stop_B8
|
||||||
|
________________________Omaha,_NE_68106
|
||||||
|
________________________402.291.0100
|
||||||
|
|
||||||
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||||
|
further_licensing_information.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<compositeModel>
|
||||||
|
<modelName>UkmetHR-SouthernHemisphere</modelName>
|
||||||
|
<grid>864162002</grid>
|
||||||
|
<componentModels>UkmetHR-6:UkmetHR-7:UkmetHR-8:UkmetHR-5</componentModels>
|
||||||
|
</compositeModel>
|
|
@ -137,4 +137,8 @@
|
||||||
<alias base="GCBL">GCBL</alias>
|
<alias base="GCBL">GCBL</alias>
|
||||||
<alias base="SCBL">SCBL</alias>
|
<alias base="SCBL">SCBL</alias>
|
||||||
<alias base="SCTL">SCTL</alias>
|
<alias base="SCTL">SCTL</alias>
|
||||||
|
<alias base="SP">SPXX</alias>
|
||||||
|
<alias base="IDRL">IDRL</alias>
|
||||||
|
<alias base="SRCS">SRCS</alias>
|
||||||
|
<alias base="NTAT">NTAT</alias>
|
||||||
</aliasList>
|
</aliasList>
|
|
@ -91,7 +91,7 @@
|
||||||
<alias base="CICEP18hr">WXTP18</alias>
|
<alias base="CICEP18hr">WXTP18</alias>
|
||||||
<alias base="CICEP24hr">WXTP24</alias>
|
<alias base="CICEP24hr">WXTP24</alias>
|
||||||
<alias base="CICEP48hr">WXTP48</alias>
|
<alias base="CICEP48hr">WXTP48</alias>
|
||||||
<alias base="CIn">CINH</alias>
|
<alias base="CIn">CINS</alias>
|
||||||
<alias base="CLWMR">CLWMR</alias>
|
<alias base="CLWMR">CLWMR</alias>
|
||||||
<alias base="CP">ACPCP</alias>
|
<alias base="CP">ACPCP</alias>
|
||||||
<alias base="CP1hr">C01M</alias>
|
<alias base="CP1hr">C01M</alias>
|
||||||
|
@ -294,15 +294,15 @@
|
||||||
<alias base="T24hr">TMPK24</alias>
|
<alias base="T24hr">TMPK24</alias>
|
||||||
<alias base="T48hr">TMPK48</alias>
|
<alias base="T48hr">TMPK48</alias>
|
||||||
<alias base="Ta">TMPKA</alias>
|
<alias base="Ta">TMPKA</alias>
|
||||||
<alias base="TCC">CLD</alias>
|
<alias base="TCC">TCLD</alias>
|
||||||
<alias base="TCC1hr">CLD01</alias>
|
<alias base="TCC1hr">TCLD01</alias>
|
||||||
<alias base="TCC3hr">CLD03</alias>
|
<alias base="TCC3hr">TCLD03</alias>
|
||||||
<alias base="TCC6hr">CLD06</alias>
|
<alias base="TCC6hr">TCLD06</alias>
|
||||||
<alias base="TCC9hr">CLD09</alias>
|
<alias base="TCC9hr">TCLD09</alias>
|
||||||
<alias base="TCC12hr">CLD12</alias>
|
<alias base="TCC12hr">TCLD12</alias>
|
||||||
<alias base="TCC18hr">CLD18</alias>
|
<alias base="TCC18hr">TCLD18</alias>
|
||||||
<alias base="TCC24hr">CLD24</alias>
|
<alias base="TCC24hr">TCLD24</alias>
|
||||||
<alias base="TCC48hr">CLD48</alias>
|
<alias base="TCC48hr">TCLD48</alias>
|
||||||
<alias base="ThP">TSTM</alias>
|
<alias base="ThP">TSTM</alias>
|
||||||
<alias base="TOZNE">TOZO</alias>
|
<alias base="TOZNE">TOZO</alias>
|
||||||
<alias base="TP">APCP</alias>
|
<alias base="TP">APCP</alias>
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
* 12/2009 144 T. Lee Migrated to TO11D6
|
* 12/2009 144 T. Lee Migrated to TO11D6
|
||||||
* 01/2010 201 M. Li Split into dataplugin project
|
* 01/2010 201 M. Li Split into dataplugin project
|
||||||
* 05/2010 144 L. Lin Migration to TO11DR11.
|
* 05/2010 144 L. Lin Migration to TO11DR11.
|
||||||
|
* 11/2013 1066 G. Hull call constructCRSfromWKT
|
||||||
* Nov 14, 2013 2393 bclement added getGridGeometry()
|
* Nov 14, 2013 2393 bclement added getGridGeometry()
|
||||||
*
|
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -24,8 +24,6 @@ package gov.noaa.nws.ncep.common.dataplugin.mcidas;
|
||||||
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
|
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
|
||||||
|
|
||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
@ -69,16 +67,18 @@ import com.vividsolutions.jts.geom.Polygon;
|
||||||
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
|
@Cache(usage = CacheConcurrencyStrategy.TRANSACTIONAL)
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
public class McidasMapCoverage extends PersistableDataObject implements ISpatialObject {
|
public class McidasMapCoverage extends PersistableDataObject implements
|
||||||
|
ISpatialObject {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1;
|
private static final long serialVersionUID = 1;
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
private int pid;
|
private int pid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The projection of the map coverage 1 = Mercator, 3 = Lambert Conformal or TANC
|
* The projection of the map coverage 1 = Mercator, 3 = Lambert Conformal or
|
||||||
* 5 = Polar Stereographic
|
* TANC 5 = Polar Stereographic 7585 = native satellite navigation e.g.
|
||||||
* 7585 = native satellite navigation e.g. GVAR, ...
|
* GVAR, ...
|
||||||
*/
|
*/
|
||||||
@Column
|
@Column
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
|
@ -116,10 +116,11 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
private Float clon;
|
private Float clon;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The standard latitude 1. For the Lambert Conformal projection this is the latitude
|
* The standard latitude 1. For the Lambert Conformal projection this is the
|
||||||
* of the proection cone intersects the earth. For the Polar Stereographic this is the
|
* latitude of the proection cone intersects the earth. For the Polar
|
||||||
* latitude at which projection plan intersects the earth. For Mercator this is the
|
* Stereographic this is the latitude at which projection plan intersects
|
||||||
* latitude at which the Mercator projection cylinder intersects the earth.
|
* the earth. For Mercator this is the latitude at which the Mercator
|
||||||
|
* projection cylinder intersects the earth.
|
||||||
*/
|
*/
|
||||||
@Column
|
@Column
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
|
@ -127,8 +128,8 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
private Float stdlat1;
|
private Float stdlat1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The standard latitude 2 is the second latitude of a secant cone which intersects the
|
* The standard latitude 2 is the second latitude of a secant cone which
|
||||||
* earth for the Lambert Conformal projection.
|
* intersects the earth for the Lambert Conformal projection.
|
||||||
*/
|
*/
|
||||||
@Column
|
@Column
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
|
@ -245,9 +246,10 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
* @param geometry
|
* @param geometry
|
||||||
* The geometry
|
* The geometry
|
||||||
*/
|
*/
|
||||||
public McidasMapCoverage(Integer projection, Integer nx, Integer ny, Float dx,
|
public McidasMapCoverage(Integer projection, Integer nx, Integer ny,
|
||||||
Float dy, Float clon, Float stdlat1, Float stdlat2, Float lllat, Float lllon,
|
Float dx, Float dy, Float clon, Float stdlat1, Float stdlat2,
|
||||||
Float urlat,Float urlon, CoordinateReferenceSystem crs, Geometry geometry) {
|
Float lllat, Float lllon, Float urlat, Float urlon,
|
||||||
|
CoordinateReferenceSystem crs, Geometry geometry) {
|
||||||
this.projection = projection;
|
this.projection = projection;
|
||||||
this.nx = nx;
|
this.nx = nx;
|
||||||
this.ny = ny;
|
this.ny = ny;
|
||||||
|
@ -274,14 +276,22 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
* Constructs a new SatMapCoverage Object for native satellite navigation
|
* Constructs a new SatMapCoverage Object for native satellite navigation
|
||||||
*
|
*
|
||||||
* @param mapProjection
|
* @param mapProjection
|
||||||
* @param nx The number of horizontal scan lines
|
* @param nx
|
||||||
* @param ny The number vertical scan lines
|
* The number of horizontal scan lines
|
||||||
* @param reflon Reference Longitude
|
* @param ny
|
||||||
* @param upperLeftElement image element coordinate of area line 0, element 0
|
* The number vertical scan lines
|
||||||
* @param upperLeftLine image line coordinate of area line 0, element 0
|
* @param reflon
|
||||||
* @param xres Element resolution
|
* Reference Longitude
|
||||||
* @param yres Line resolution
|
* @param upperLeftElement
|
||||||
* @param crs The coordinate reference system
|
* image element coordinate of area line 0, element 0
|
||||||
|
* @param upperLeftLine
|
||||||
|
* image line coordinate of area line 0, element 0
|
||||||
|
* @param xres
|
||||||
|
* Element resolution
|
||||||
|
* @param yres
|
||||||
|
* Line resolution
|
||||||
|
* @param crs
|
||||||
|
* The coordinate reference system
|
||||||
* @param geometry
|
* @param geometry
|
||||||
*/
|
*/
|
||||||
public McidasMapCoverage(Integer projection, Integer nx, Integer ny,
|
public McidasMapCoverage(Integer projection, Integer nx, Integer ny,
|
||||||
|
@ -342,39 +352,9 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
if (crsObject == null) {
|
if (crsObject == null) {
|
||||||
try {
|
try {
|
||||||
crsObject = CRS.parseWKT(crsWKT);
|
crsObject = CRS.parseWKT(crsWKT);
|
||||||
// ReferencingFactoryFinder.getCRSFactory(null).createFromWKT(crsWKT);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
/*
|
crsObject = McidasSpatialFactory.getInstance()
|
||||||
* parseWKT() doesn't recognize PROJCS PARAMETERS whose value is a "String" (it
|
.constructCRSfromWKT(crsWKT);
|
||||||
* assumes all PARAMETER values are doubles.)
|
|
||||||
* If this crsWKT is a MCIDAS NAV, use McidasSpatialFactory instead.
|
|
||||||
*/
|
|
||||||
//e.printStackTrace();
|
|
||||||
Pattern p = Pattern.compile("PROJCS\\[\"MCIDAS\\sAREA\\s(.*)\"");
|
|
||||||
Matcher m = p.matcher(crsWKT);
|
|
||||||
m.find();
|
|
||||||
|
|
||||||
if ( m.groupCount() == 1 ) {
|
|
||||||
String type = m.group(1);
|
|
||||||
//System.out.println("FOUND PROJCS:"+m.group(0)+":"+type);
|
|
||||||
p = Pattern.compile("\\[\"NAV_BLOCK_BASE64\",\\s\"(.*)\"\\]");
|
|
||||||
m = p.matcher(crsWKT);
|
|
||||||
boolean found = m.find();
|
|
||||||
|
|
||||||
//System.out.println(m.group());
|
|
||||||
//System.out.println(m.groupCount()+m.group(1));
|
|
||||||
if ( found ) {
|
|
||||||
String navBlock = m.group(1);
|
|
||||||
crsObject = McidasSpatialFactory.getInstance().constructCRS(type, navBlock);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
crsObject = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
crsObject = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return crsObject;
|
return crsObject;
|
||||||
|
@ -541,7 +521,6 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
this.ny = ny;
|
this.ny = ny;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the upperLeftElement
|
* @return the upperLeftElement
|
||||||
*/
|
*/
|
||||||
|
@ -550,7 +529,8 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param upperLeftElement the upperLeftElement to set
|
* @param upperLeftElement
|
||||||
|
* the upperLeftElement to set
|
||||||
*/
|
*/
|
||||||
public void setUpperLeftElement(int upperLeftElement) {
|
public void setUpperLeftElement(int upperLeftElement) {
|
||||||
this.upperLeftElement = upperLeftElement;
|
this.upperLeftElement = upperLeftElement;
|
||||||
|
@ -564,7 +544,8 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param upperLeftLine the upperLeftLine to set
|
* @param upperLeftLine
|
||||||
|
* the upperLeftLine to set
|
||||||
*/
|
*/
|
||||||
public void setUpperLeftLine(int upperLeftLine) {
|
public void setUpperLeftLine(int upperLeftLine) {
|
||||||
this.upperLeftLine = upperLeftLine;
|
this.upperLeftLine = upperLeftLine;
|
||||||
|
@ -578,7 +559,8 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param elementRes the elementRes to set
|
* @param elementRes
|
||||||
|
* the elementRes to set
|
||||||
*/
|
*/
|
||||||
public void setElementRes(int elementRes) {
|
public void setElementRes(int elementRes) {
|
||||||
this.elementRes = elementRes;
|
this.elementRes = elementRes;
|
||||||
|
@ -592,7 +574,8 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param lineRes the lineRes to set
|
* @param lineRes
|
||||||
|
* the lineRes to set
|
||||||
*/
|
*/
|
||||||
public void setLineRes(int lineRes) {
|
public void setLineRes(int lineRes) {
|
||||||
this.lineRes = lineRes;
|
this.lineRes = lineRes;
|
||||||
|
@ -603,8 +586,10 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCrsWKT(String crsWKT) {
|
public void setCrsWKT(String crsWKT) {
|
||||||
//TODO new 2.6 version of geotools adds \r\n to long String parameters in WKT format
|
// TODO new 2.6 version of geotools adds \r\n to long String parameters
|
||||||
// this temp hack removes the extraneous characters, but we may want to investigate
|
// in WKT format
|
||||||
|
// this temp hack removes the extraneous characters, but we may want to
|
||||||
|
// investigate
|
||||||
// using a specific formatter to keep this consistent and in our control
|
// using a specific formatter to keep this consistent and in our control
|
||||||
this.crsWKT = crsWKT.replaceAll("\r\n", "");
|
this.crsWKT = crsWKT.replaceAll("\r\n", "");
|
||||||
// this.crsWKT = crsWKT;
|
// this.crsWKT = crsWKT;
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 10/2009 144 T. Lee Created
|
* 10/2009 144 T. Lee Created
|
||||||
* 12/2009 144 T. Lee Migrated to TO11D6
|
* 12/2009 144 T. Lee Migrated to TO11D6
|
||||||
|
* 11/2013 1066 G. Hull constructCRSfromWKT (from McidasMapCoverage)
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -18,6 +19,9 @@
|
||||||
|
|
||||||
package gov.noaa.nws.ncep.common.dataplugin.mcidas;
|
package gov.noaa.nws.ncep.common.dataplugin.mcidas;
|
||||||
|
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.mcidas.dao.McidasMapCoverageDao;
|
import gov.noaa.nws.ncep.common.dataplugin.mcidas.dao.McidasMapCoverageDao;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
|
@ -28,6 +32,7 @@ import org.geotools.referencing.operation.DefaultMathTransformFactory;
|
||||||
import org.opengis.parameter.ParameterValueGroup;
|
import org.opengis.parameter.ParameterValueGroup;
|
||||||
import org.opengis.referencing.FactoryException;
|
import org.opengis.referencing.FactoryException;
|
||||||
import org.opengis.referencing.NoSuchIdentifierException;
|
import org.opengis.referencing.NoSuchIdentifierException;
|
||||||
|
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||||
import org.opengis.referencing.crs.ProjectedCRS;
|
import org.opengis.referencing.crs.ProjectedCRS;
|
||||||
import org.opengis.referencing.operation.MathTransform;
|
import org.opengis.referencing.operation.MathTransform;
|
||||||
|
|
||||||
|
@ -408,6 +413,30 @@ public class McidasSpatialFactory {
|
||||||
return new String(coded);
|
return new String(coded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ProjectedCRS constructCRSfromWKT( String crsWKT) {
|
||||||
|
Pattern p = Pattern.compile("PROJCS\\[\"MCIDAS\\sAREA\\s(.*)\"");
|
||||||
|
Matcher m = p.matcher(crsWKT);
|
||||||
|
m.find();
|
||||||
|
ProjectedCRS crsObject=null;
|
||||||
|
|
||||||
|
if ( m.groupCount() == 1 ) {
|
||||||
|
String type = m.group(1);
|
||||||
|
//System.out.println("FOUND PROJCS:"+m.group(0)+":"+type);
|
||||||
|
p = Pattern.compile("\\[\"NAV_BLOCK_BASE64\",\\s\"(.*)\"\\]");
|
||||||
|
m = p.matcher(crsWKT);
|
||||||
|
boolean found = m.find();
|
||||||
|
|
||||||
|
//System.out.println(m.group());
|
||||||
|
//System.out.println(m.groupCount()+m.group(1));
|
||||||
|
if ( found ) {
|
||||||
|
String navBlock = m.group(1);
|
||||||
|
crsObject = McidasSpatialFactory.getInstance().constructCRS(type, navBlock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return crsObject;
|
||||||
|
}
|
||||||
|
|
||||||
public ProjectedCRS constructCRS(String type, String encoded) {
|
public ProjectedCRS constructCRS(String type, String encoded) {
|
||||||
|
|
||||||
ParameterValueGroup pvg = null;
|
ParameterValueGroup pvg = null;
|
||||||
|
|
|
@ -167,6 +167,6 @@ public class NcscatRecord extends PersistablePluginDataObject {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPluginName() {
|
public String getPluginName() {
|
||||||
return "ncsat";
|
return "ncscat";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,25 +3,21 @@
|
||||||
*/
|
*/
|
||||||
package gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion;
|
package gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion;
|
||||||
|
|
||||||
import java.util.Comparator;
|
import gov.noaa.nws.ncep.edex.common.metparameters.Amount;
|
||||||
|
import gov.noaa.nws.ncep.edex.common.metparameters.PressureLevel;
|
||||||
import java.util.List;
|
import gov.noaa.nws.ncep.edex.common.metparameters.WetBulbPotentialTemp;
|
||||||
|
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
|
||||||
|
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer2;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.measure.unit.NonSI;
|
import javax.measure.unit.NonSI;
|
||||||
import javax.measure.unit.SI;
|
import javax.measure.unit.SI;
|
||||||
import javax.measure.unit.Unit;
|
import javax.measure.unit.Unit;
|
||||||
|
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.AirTemperature;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.Amount;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.DewPointTemp;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.PressureLevel;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.WetBulbPotentialTemp;
|
|
||||||
////import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidRangeException;
|
////import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidRangeException;
|
||||||
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer;
|
|
||||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer2;
|
|
||||||
/**
|
/**
|
||||||
* @author archana
|
* @author archana
|
||||||
*
|
*
|
||||||
|
@ -30,10 +26,13 @@ public final class PSLibrary {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the cross totals index
|
* Computes the cross totals index
|
||||||
* @param td850 - dewpoint at 850 mb ( in Celsius )
|
*
|
||||||
* @param t500 - temperature at 500 mb ( in Celsius )
|
* @param td850
|
||||||
* @return the difference between the dewpoint and the temperature if neither of them are missing
|
* - dewpoint at 850 mb ( in Celsius )
|
||||||
* and RMISSD ( -9999 ) otherwise.
|
* @param t500
|
||||||
|
* - temperature at 500 mb ( in Celsius )
|
||||||
|
* @return the difference between the dewpoint and the temperature if
|
||||||
|
* neither of them are missing and RMISSD ( -9999 ) otherwise.
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
|
@ -41,33 +40,37 @@ public final class PSLibrary {
|
||||||
public final static Amount psCtot(Amount td850, Amount t500) {
|
public final static Amount psCtot(Amount td850, Amount t500) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute the cross totals index by subtracting 500 mb
|
* Compute the cross totals index by subtracting 500 mb temperature from
|
||||||
* temperature from the 850 mb dewpoint.
|
* the 850 mb dewpoint.
|
||||||
*/
|
*/
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(td850)
|
if (!PRLibrary.checkNullOrInvalidValue(td850)
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(t500)) {
|
|| !PRLibrary.checkNullOrInvalidValue(t500)) {
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
}
|
}
|
||||||
Amount psCtot = new Amount( td850.getValue().floatValue() - t500.getValue().floatValue() , Unit.ONE );
|
Amount psCtot = new Amount(td850.getValue().floatValue()
|
||||||
|
- t500.getValue().floatValue(), Unit.ONE);
|
||||||
return psCtot;
|
return psCtot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes low, middle, and high elevation Haines indices
|
* Computes low, middle, and high elevation Haines indices from the
|
||||||
* from the temperature and the dewpoint.
|
* temperature and the dewpoint.
|
||||||
* @param tc1 - temperature ( in Celsius )
|
*
|
||||||
* @param tc2 - temperature ( in Celsius )
|
* @param tc1
|
||||||
* @param dwpc - dewpoint ( in Celsius )
|
* - temperature ( in Celsius )
|
||||||
* @param itype - Haines index:
|
* @param tc2
|
||||||
* 1- Low
|
* - temperature ( in Celsius )
|
||||||
* 2 - Middle
|
* @param dwpc
|
||||||
* 3 - High
|
* - dewpoint ( in Celsius )
|
||||||
|
* @param itype
|
||||||
|
* - Haines index: 1- Low 2 - Middle 3 - High
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
public static Amount psHans ( Amount tc1Amt, Amount tc2Amt, Amount dwpcAmt, Amount itypeAmt) {
|
public static Amount psHans(Amount tc1Amt, Amount tc2Amt, Amount dwpcAmt,
|
||||||
|
Amount itypeAmt) {
|
||||||
Amount pshans = new Amount();
|
Amount pshans = new Amount();
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(tc1Amt)
|
if (!PRLibrary.checkNullOrInvalidValue(tc1Amt)
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(tc2Amt)
|
|| !PRLibrary.checkNullOrInvalidValue(tc2Amt)
|
||||||
|
@ -84,12 +87,10 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
if (itype == 1) {
|
if (itype == 1) {
|
||||||
a = ((tc2 - tc1) - 3) * (2 / 5) + 1;
|
a = ((tc2 - tc1) - 3) * (2 / 5) + 1;
|
||||||
b = ((tc1 - dwpc) - 5) * (2 / 5) + 1;
|
b = ((tc1 - dwpc) - 5) * (2 / 5) + 1;
|
||||||
}
|
} else if (itype == 2) {
|
||||||
else if ( itype == 2 ) {
|
|
||||||
a = ((tc1 - tc2) - 5) * (2 / 6) + 1;
|
a = ((tc1 - tc2) - 5) * (2 / 6) + 1;
|
||||||
b = ((tc1 - dwpc) - 5) * (2 / 8) + 1;
|
b = ((tc1 - dwpc) - 5) * (2 / 8) + 1;
|
||||||
}
|
} else if (itype == 3) {
|
||||||
else if ( itype == 3 ) {
|
|
||||||
a = ((tc1 - tc2) - 17) * (2 / 5) + 1;
|
a = ((tc1 - tc2) - 17) * (2 / 5) + 1;
|
||||||
b = ((tc1 - dwpc) - 14) * (2 / 7) + 1;
|
b = ((tc1 - dwpc) - 14) * (2 / 7) + 1;
|
||||||
}
|
}
|
||||||
|
@ -106,17 +107,24 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Computes the 'K' index
|
* Computes the 'K' index
|
||||||
* @param t850 - 850 mb temperature ( in Celsius )
|
*
|
||||||
* @param t700 - 700 mb temperature ( in Celsius )
|
* @param t850
|
||||||
* @param t500 - 500 mb temperature ( in Celsius )
|
* - 850 mb temperature ( in Celsius )
|
||||||
* @param td850 - 850 mb dewpoint ( in Celsius )
|
* @param t700
|
||||||
* @param td700 - 700 mb dewpoint ( in Celsius )
|
* - 700 mb temperature ( in Celsius )
|
||||||
|
* @param t500
|
||||||
|
* - 500 mb temperature ( in Celsius )
|
||||||
|
* @param td850
|
||||||
|
* - 850 mb dewpoint ( in Celsius )
|
||||||
|
* @param td700
|
||||||
|
* - 700 mb dewpoint ( in Celsius )
|
||||||
* @return returns the 'K' index if all the input values are valid and
|
* @return returns the 'K' index if all the input values are valid and
|
||||||
* RMISSD ( -9999 ) otherwise
|
* RMISSD ( -9999 ) otherwise
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
public final static Amount pskinx ( Amount t850, Amount t700, Amount t500, Amount td850, Amount td700) {
|
public final static Amount pskinx(Amount t850, Amount t700, Amount t500,
|
||||||
|
Amount td850, Amount td700) {
|
||||||
Amount pskinx = new Amount();
|
Amount pskinx = new Amount();
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(t850)
|
if (!PRLibrary.checkNullOrInvalidValue(t850)
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(t700)
|
|| !PRLibrary.checkNullOrInvalidValue(t700)
|
||||||
|
@ -124,22 +132,30 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(td850)
|
|| !PRLibrary.checkNullOrInvalidValue(td850)
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(td700))
|
|| !PRLibrary.checkNullOrInvalidValue(td700))
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
pskinx = new Amount ( ( t850.getValue().floatValue() - t500.getValue().floatValue() )
|
pskinx = new Amount(
|
||||||
+ td850.getValue().floatValue() - ( t700.getValue().floatValue() - td700.getValue().floatValue() ) , Unit.ONE);
|
(t850.getValue().floatValue() - t500.getValue().floatValue())
|
||||||
|
+ td850.getValue().floatValue()
|
||||||
|
- (t700.getValue().floatValue() - td700.getValue()
|
||||||
|
.floatValue()), Unit.ONE);
|
||||||
|
|
||||||
return pskinx;
|
return pskinx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the Showalter index
|
* Computes the Showalter index
|
||||||
* @param t850 - 850 mb temperature ( in Celsius )
|
*
|
||||||
* @param td850 - 850 mb dewpoint ( in Celsius )
|
* @param t850
|
||||||
* @param t500 - 500 mb temperature ( in Celsius )
|
* - 850 mb temperature ( in Celsius )
|
||||||
* @return the Showalter index if all the three input parameters are valid and the parcel temperature is computed correctly.
|
* @param td850
|
||||||
* Otherwise, it returns RMISSD (-9999).
|
* - 850 mb dewpoint ( in Celsius )
|
||||||
|
* @param t500
|
||||||
|
* - 500 mb temperature ( in Celsius )
|
||||||
|
* @return the Showalter index if all the three input parameters are valid
|
||||||
|
* and the parcel temperature is computed correctly. Otherwise, it
|
||||||
|
* returns RMISSD (-9999).
|
||||||
*/
|
*/
|
||||||
public final static Amount psShow ( Amount t850Amt, Amount td850Amt, Amount t500Amt ) {
|
public final static Amount psShow(Amount t850Amt, Amount td850Amt,
|
||||||
|
Amount t500Amt) {
|
||||||
float psshow = GempakConstants.RMISSD;
|
float psshow = GempakConstants.RMISSD;
|
||||||
|
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(t850Amt)
|
if (!PRLibrary.checkNullOrInvalidValue(t850Amt)
|
||||||
|
@ -153,22 +169,27 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
* Find equivalent potential temperature at the LCL using 850 mb
|
* Find equivalent potential temperature at the LCL using 850 mb
|
||||||
* temperature and dewpoint.
|
* temperature and dewpoint.
|
||||||
*/
|
*/
|
||||||
Amount thtlcl = PRLibrary.prThte ( new Amount ( p850, NcUnits.MILLIBAR ), t850Amt, td850Amt );
|
Amount thtlcl = PRLibrary.prThte(new Amount(p850, NcUnits.MILLIBAR),
|
||||||
|
t850Amt, td850Amt);
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(thtlcl))
|
if (!PRLibrary.checkNullOrInvalidValue(thtlcl))
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
/*Find parcel temperature along pseudoadiabat at 500 mb.
|
/*
|
||||||
* The parcel temperature tp is the temperature in Celsius at 500 mb of a parcel,
|
* Find parcel temperature along pseudoadiabat at 500 mb. The parcel
|
||||||
|
* temperature tp is the temperature in Celsius at 500 mb of a parcel,
|
||||||
* which lies on the moist adiabat determined by the sounding at 850 mb
|
* which lies on the moist adiabat determined by the sounding at 850 mb
|
||||||
*/
|
*/
|
||||||
Amount tp = PRLibrary.prTmst(thtlcl,
|
Amount tp = PRLibrary.prTmst(thtlcl,
|
||||||
new Amount( p500, NcUnits.MILLIBAR ),
|
new Amount(p500, NcUnits.MILLIBAR), new Amount(0, Unit.ONE));
|
||||||
new Amount ( 0, Unit.ONE ) );
|
|
||||||
|
|
||||||
/*Subtract the parcel temperature from the temperature at 500 mb, is the parcel temperature is valid*/
|
/*
|
||||||
|
* Subtract the parcel temperature from the temperature at 500 mb, is
|
||||||
|
* the parcel temperature is valid
|
||||||
|
*/
|
||||||
|
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(tp))
|
if (!PRLibrary.checkNullOrInvalidValue(tp))
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
t500Amt = PRLibrary.checkAndConvertInputAmountToExpectedUnits(t500Amt, SI.KELVIN);
|
t500Amt = PRLibrary.checkAndConvertInputAmountToExpectedUnits(t500Amt,
|
||||||
|
SI.KELVIN);
|
||||||
float t500 = t500Amt.getValue().floatValue();
|
float t500 = t500Amt.getValue().floatValue();
|
||||||
psshow = t500 - tp.getValue().floatValue();
|
psshow = t500 - tp.getValue().floatValue();
|
||||||
|
|
||||||
|
@ -177,10 +198,14 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the vertical totals index
|
* Computes the vertical totals index
|
||||||
* @param t850 - 850 mb temperature ( in Celsius )
|
*
|
||||||
* @param t500 - 500 mb temperature ( in Celsius )
|
* @param t850
|
||||||
* @return the vertical totals index as a difference of the temperature at 850 mb and the temperature at 500 mb, if neither value is missing.
|
* - 850 mb temperature ( in Celsius )
|
||||||
* Else it returns RMISSD (-9999)
|
* @param t500
|
||||||
|
* - 500 mb temperature ( in Celsius )
|
||||||
|
* @return the vertical totals index as a difference of the temperature at
|
||||||
|
* 850 mb and the temperature at 500 mb, if neither value is
|
||||||
|
* missing. Else it returns RMISSD (-9999)
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
|
@ -189,17 +214,22 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(t500))
|
|| !PRLibrary.checkNullOrInvalidValue(t500))
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
|
|
||||||
return new Amount ( t850.getValue().floatValue() - t500.getValue().floatValue() , Unit.ONE );
|
return new Amount(t850.getValue().floatValue()
|
||||||
|
- t500.getValue().floatValue(), Unit.ONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the total Totals index from the temperature and dewpoint at 850 mb and the temperature at 500 mb
|
* Computes the total Totals index from the temperature and dewpoint at 850
|
||||||
|
* mb and the temperature at 500 mb
|
||||||
*
|
*
|
||||||
* @param t850 - 850 mb temperature ( in Celsius )
|
* @param t850
|
||||||
* @param td850 - 850 mb dewpoint ( in Celsius )
|
* - 850 mb temperature ( in Celsius )
|
||||||
* @param t500 - 500 mb temperature ( in Celsius )
|
* @param td850
|
||||||
* @return the total totals index if none of the input parameters are missing and
|
* - 850 mb dewpoint ( in Celsius )
|
||||||
* RMISSD (-9999) otherwise
|
* @param t500
|
||||||
|
* - 500 mb temperature ( in Celsius )
|
||||||
|
* @return the total totals index if none of the input parameters are
|
||||||
|
* missing and RMISSD (-9999) otherwise
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
|
@ -227,20 +257,28 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the SWEAT index. Winds must be input in m/sec
|
* Computes the SWEAT index. Winds must be input in m/sec
|
||||||
* @param t850 - 850 mb temperature
|
*
|
||||||
* @param td850 - 850 mb dewpoint
|
* @param t850
|
||||||
* @param t500 - 500 mb temperature
|
* - 850 mb temperature
|
||||||
* @param spd850 - 850 mb windspeed ( in m/sec )
|
* @param td850
|
||||||
* @param spd500 - 500 mb windspeed ( in m/sec )
|
* - 850 mb dewpoint
|
||||||
* @param dir850 - 850 mb wind direction
|
* @param t500
|
||||||
* @param dir500 - 500 mb wind direction
|
* - 500 mb temperature
|
||||||
* @return the SWEAT index if none of the inputs are missing and RMISSD ( -9999 ) otherwise
|
* @param spd850
|
||||||
|
* - 850 mb windspeed ( in m/sec )
|
||||||
|
* @param spd500
|
||||||
|
* - 500 mb windspeed ( in m/sec )
|
||||||
|
* @param dir850
|
||||||
|
* - 850 mb wind direction
|
||||||
|
* @param dir500
|
||||||
|
* - 500 mb wind direction
|
||||||
|
* @return the SWEAT index if none of the inputs are missing and RMISSD (
|
||||||
|
* -9999 ) otherwise
|
||||||
* @throws InvalidValueException
|
* @throws InvalidValueException
|
||||||
* @throws NullPointerException
|
* @throws NullPointerException
|
||||||
*/
|
*/
|
||||||
public final static Amount psSwet(Amount t850, Amount td850, Amount t500,
|
public final static Amount psSwet(Amount t850, Amount td850, Amount t500,
|
||||||
Amount spd850, Amount spd500,
|
Amount spd850, Amount spd500, Amount dir850, Amount dir500) {
|
||||||
Amount dir850, Amount dir500 ) {
|
|
||||||
float pssweat = GempakConstants.RMISSD;
|
float pssweat = GempakConstants.RMISSD;
|
||||||
if (!PRLibrary.checkNullOrInvalidValue(t500)
|
if (!PRLibrary.checkNullOrInvalidValue(t500)
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(td850)
|
|| !PRLibrary.checkNullOrInvalidValue(td850)
|
||||||
|
@ -251,14 +289,15 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|| !PRLibrary.checkNullOrInvalidValue(dir500))
|
|| !PRLibrary.checkNullOrInvalidValue(dir500))
|
||||||
return new Amount(Unit.ONE);
|
return new Amount(Unit.ONE);
|
||||||
/*
|
/*
|
||||||
* (Non-Javadoc):
|
* (Non-Javadoc): All computations are from Miller, R.C., 1972: Notes on
|
||||||
* All computations are from
|
* Severe Storm Forecasting Procedures of the Air Force Global Weather
|
||||||
* Miller, R.C., 1972: Notes on Severe Storm Forecasting Procedures of
|
* Central, AWS Tech. Report 200
|
||||||
* the Air Force Global Weather Central, AWS Tech. Report 200
|
|
||||||
*/
|
*/
|
||||||
/* Convert meters per second to knots */
|
/* Convert meters per second to knots */
|
||||||
Amount skt850 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(spd850, NonSI.KNOT) ;
|
Amount skt850 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(
|
||||||
Amount skt500 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(spd500, NonSI.KNOT) ;
|
spd850, NonSI.KNOT);
|
||||||
|
Amount skt500 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(
|
||||||
|
spd500, NonSI.KNOT);
|
||||||
|
|
||||||
/* Compute the total totals index. If < 49, set term to zero. */
|
/* Compute the total totals index. If < 49, set term to zero. */
|
||||||
float total = psTotl(t850, td850, t500).getValue().floatValue();
|
float total = psTotl(t850, td850, t500).getValue().floatValue();
|
||||||
|
@ -268,7 +307,8 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
|
|
||||||
/* Compute shear term. */
|
/* Compute shear term. */
|
||||||
|
|
||||||
float dif = dir500.getValue().floatValue() - dir850.getValue().floatValue();
|
float dif = dir500.getValue().floatValue()
|
||||||
|
- dir850.getValue().floatValue();
|
||||||
float s = (float) (Math.sin(dif * GempakConstants.DTR));
|
float s = (float) (Math.sin(dif * GempakConstants.DTR));
|
||||||
float shear = 125 * (s + 0.2f);
|
float shear = 125 * (s + 0.2f);
|
||||||
|
|
||||||
|
@ -298,37 +338,58 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds the most unstable level of a sounding from the surface to the input pressure level.
|
* Finds the most unstable level of a sounding from the surface to the input
|
||||||
* @param listOfNcSoundingLayer - the list of NcSoundingLayer to search
|
* pressure level.
|
||||||
* @param plev - input pressure level
|
*
|
||||||
* @return the most unstable level of a sounding from the surface to the input pressure level (plev),
|
* @param listOfNcSoundingLayer
|
||||||
* if plev is not -1 and all computations fall through correctly.Else it returns an empty NcSoundingLayer object
|
* - the list of NcSoundingLayer to search
|
||||||
|
* @param plev
|
||||||
|
* - input pressure level
|
||||||
|
* @return the most unstable level of a sounding from the surface to the
|
||||||
|
* input pressure level (plev), if plev is not -1 and all
|
||||||
|
* computations fall through correctly.Else it returns an empty
|
||||||
|
* NcSoundingLayer object
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static NcSoundingLayer2 psUstb(List<NcSoundingLayer2> listOfNcSoundingLayer, PressureLevel plev ) throws Exception{
|
public static NcSoundingLayer2 psUstb(
|
||||||
|
List<NcSoundingLayer2> listOfNcSoundingLayer, PressureLevel plev)
|
||||||
|
throws Exception {
|
||||||
|
// System.out.println(" PSLibrary/psUstb !!!!!!!!! ");
|
||||||
// TODO: update to find pressure value between 2 levels
|
// TODO: update to find pressure value between 2 levels
|
||||||
NcSoundingLayer2 outputNcSoundingLayer = new NcSoundingLayer2();
|
NcSoundingLayer2 outputNcSoundingLayer = new NcSoundingLayer2();
|
||||||
class PressureComparator implements Comparator<NcSoundingLayer2> {
|
class PressureComparator implements Comparator<NcSoundingLayer2> {
|
||||||
public int compare(NcSoundingLayer2 n1, NcSoundingLayer2 n2) {
|
public int compare(NcSoundingLayer2 n1, NcSoundingLayer2 n2) {
|
||||||
return Float.compare(n2.getPressure().getValue().floatValue(), n1.getPressure().getValue().floatValue());
|
return Float.compare(n2.getPressure().getValue().floatValue(),
|
||||||
|
n1.getPressure().getValue().floatValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// System.out.println(" PSLibrary/psUstb 1 ");
|
||||||
|
|
||||||
if (listOfNcSoundingLayer != null && listOfNcSoundingLayer.size() > 0) {
|
if (listOfNcSoundingLayer != null && listOfNcSoundingLayer.size() > 0) {
|
||||||
if (listOfNcSoundingLayer.size() > 1)
|
if (listOfNcSoundingLayer.size() > 1)
|
||||||
Collections.sort(listOfNcSoundingLayer, new PressureComparator() );
|
Collections.sort(listOfNcSoundingLayer,
|
||||||
|
new PressureComparator());
|
||||||
|
// System.out.println(" PSLibrary/psUstb 2 ");
|
||||||
|
|
||||||
NcSoundingLayer2 surfaceLevelNcSoundingLayer = listOfNcSoundingLayer.get( 0 );
|
NcSoundingLayer2 surfaceLevelNcSoundingLayer = listOfNcSoundingLayer
|
||||||
PressureLevel pressureAtSurfaceLevel = surfaceLevelNcSoundingLayer.getPressure();
|
.get(0);
|
||||||
NcSoundingLayer2 topLevelNcSoundingLayer = PCLibrary.pcFtop( listOfNcSoundingLayer );
|
PressureLevel pressureAtSurfaceLevel = surfaceLevelNcSoundingLayer
|
||||||
PressureLevel pressureAtTopLevel = topLevelNcSoundingLayer.getPressure();
|
.getPressure();
|
||||||
|
NcSoundingLayer2 topLevelNcSoundingLayer = PCLibrary
|
||||||
|
.pcFtop(listOfNcSoundingLayer);
|
||||||
|
PressureLevel pressureAtTopLevel = topLevelNcSoundingLayer
|
||||||
|
.getPressure();
|
||||||
float plevVal = plev.getValue().floatValue();
|
float plevVal = plev.getValue().floatValue();
|
||||||
float presAtSurfaceLevelValue = pressureAtSurfaceLevel.getValue().floatValue();
|
float presAtSurfaceLevelValue = pressureAtSurfaceLevel.getValue()
|
||||||
float presAtTopLevelVal = pressureAtTopLevel.getValue().floatValue();
|
.floatValue();
|
||||||
|
float presAtTopLevelVal = pressureAtTopLevel.getValue()
|
||||||
|
.floatValue();
|
||||||
if (plevVal > presAtSurfaceLevelValue)
|
if (plevVal > presAtSurfaceLevelValue)
|
||||||
return outputNcSoundingLayer;
|
return outputNcSoundingLayer;
|
||||||
else if (plevVal == -1 || plevVal <= presAtTopLevelVal)
|
else if (plevVal == -1 || plevVal <= presAtTopLevelVal)
|
||||||
plev = pressureAtTopLevel;
|
plev = pressureAtTopLevel;
|
||||||
|
// System.out.println(" PSLibrary/psUstb 3 ");
|
||||||
|
|
||||||
int sizeOfList = listOfNcSoundingLayer.size();
|
int sizeOfList = listOfNcSoundingLayer.size();
|
||||||
boolean done = false;
|
boolean done = false;
|
||||||
|
@ -336,55 +397,96 @@ if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|
||||||
float eps = GempakConstants.RMISSD;
|
float eps = GempakConstants.RMISSD;
|
||||||
|
|
||||||
while (!done && lev < sizeOfList) {
|
while (!done && lev < sizeOfList) {
|
||||||
NcSoundingLayer2 currNcSoundingLayer = listOfNcSoundingLayer.get( lev );
|
NcSoundingLayer2 currNcSoundingLayer = listOfNcSoundingLayer
|
||||||
|
.get(lev);
|
||||||
|
// System.out.println(" PSLibrary/psUstb 4 ");
|
||||||
|
|
||||||
Amount pressure = new Amount ( currNcSoundingLayer.getPressure().getValue(), NcUnits.MILLIBAR );
|
Amount pressure = new Amount(currNcSoundingLayer.getPressure()
|
||||||
Amount tmpc = new Amount ( currNcSoundingLayer.getTemperature().getValue(), SI.CELSIUS );
|
.getValue(), NcUnits.MILLIBAR);
|
||||||
Amount dwpc = new Amount ( currNcSoundingLayer.getDewpoint().getValue(), SI.CELSIUS );
|
Amount tmpc = new Amount(currNcSoundingLayer.getTemperature()
|
||||||
if ( pressure.hasValidValue() && tmpc.hasValidValue() && dwpc.hasValidValue() ){
|
.getValue(), SI.CELSIUS);
|
||||||
|
Amount dwpc = new Amount(currNcSoundingLayer.getDewpoint()
|
||||||
|
.getValue(), SI.CELSIUS);
|
||||||
|
if (pressure.hasValidValue() && tmpc.hasValidValue()
|
||||||
|
&& dwpc.hasValidValue()) {
|
||||||
WetBulbPotentialTemp thwc = new WetBulbPotentialTemp();
|
WetBulbPotentialTemp thwc = new WetBulbPotentialTemp();
|
||||||
|
// System.out.println(" PSLibrary/thwc " +
|
||||||
|
// thwc.doubleValue()
|
||||||
|
// + " pressure " + pressure.doubleValue() + " tmpc "
|
||||||
|
// + tmpc.doubleValue() + " dwpc "
|
||||||
|
// + dwpc.doubleValue());
|
||||||
|
|
||||||
thwc.setValue(PRLibrary.prThwc(pressure, tmpc, dwpc));
|
thwc.setValue(PRLibrary.prThwc(pressure, tmpc, dwpc));
|
||||||
if ( thwc.getValue().floatValue() > eps && ( pressure.getValue().floatValue() >= plevVal ) ){
|
if (thwc.getValue().floatValue() > eps
|
||||||
|
&& (pressure.getValue().floatValue() >= plevVal)) {
|
||||||
eps = thwc.getValue().floatValue();
|
eps = thwc.getValue().floatValue();
|
||||||
outputNcSoundingLayer.setPressure( currNcSoundingLayer.getPressure() );
|
outputNcSoundingLayer.setPressure(currNcSoundingLayer
|
||||||
outputNcSoundingLayer.setTemperature( currNcSoundingLayer.getTemperature() );
|
.getPressure());
|
||||||
outputNcSoundingLayer.setDewpoint( currNcSoundingLayer.getDewpoint() );
|
outputNcSoundingLayer
|
||||||
outputNcSoundingLayer.setWindSpeed( currNcSoundingLayer.getWindSpeed() );
|
.setTemperature(currNcSoundingLayer
|
||||||
outputNcSoundingLayer.setWindDirection( currNcSoundingLayer.getWindDirection() );
|
.getTemperature());
|
||||||
outputNcSoundingLayer.setWindU( currNcSoundingLayer.getWindU() );
|
outputNcSoundingLayer.setDewpoint(currNcSoundingLayer
|
||||||
outputNcSoundingLayer.setWindV( currNcSoundingLayer.getWindV() );
|
.getDewpoint());
|
||||||
outputNcSoundingLayer.setGeoHeight( currNcSoundingLayer.getGeoHeight() );
|
outputNcSoundingLayer.setWindSpeed(currNcSoundingLayer
|
||||||
outputNcSoundingLayer.setOmega( currNcSoundingLayer.getOmega() );
|
.getWindSpeed());
|
||||||
outputNcSoundingLayer.setSpecificHumidity( currNcSoundingLayer.getSpecificHumidity() );
|
outputNcSoundingLayer
|
||||||
|
.setWindDirection(currNcSoundingLayer
|
||||||
|
.getWindDirection());
|
||||||
|
outputNcSoundingLayer.setWindU(currNcSoundingLayer
|
||||||
|
.getWindU());
|
||||||
|
outputNcSoundingLayer.setWindV(currNcSoundingLayer
|
||||||
|
.getWindV());
|
||||||
|
outputNcSoundingLayer.setGeoHeight(currNcSoundingLayer
|
||||||
|
.getGeoHeight());
|
||||||
|
outputNcSoundingLayer.setOmega(currNcSoundingLayer
|
||||||
|
.getOmega());
|
||||||
|
outputNcSoundingLayer
|
||||||
|
.setSpecificHumidity(currNcSoundingLayer
|
||||||
|
.getSpecificHumidity());
|
||||||
// System.out.println("Outdat: "
|
// System.out.println("Outdat: "
|
||||||
// + outputNcSoundingLayer.getPressure().getValueAs( NcUnits.MILLIBAR ).floatValue() + " "
|
// + outputNcSoundingLayer.getPressure().getValueAs(
|
||||||
// + outputNcSoundingLayer.getTemperature().getValueAs( SI.CELSIUS ).floatValue() + " "
|
// NcUnits.MILLIBAR ).floatValue() + " "
|
||||||
// + outputNcSoundingLayer.getDewpoint().getValueAs( SI.CELSIUS ).floatValue() + " "
|
// + outputNcSoundingLayer.getTemperature().getValueAs(
|
||||||
// + outputNcSoundingLayer.getWindSpeed().getValueAs( SI.METERS_PER_SECOND ).floatValue() + " "
|
// SI.CELSIUS ).floatValue() + " "
|
||||||
// + outputNcSoundingLayer.getWindDirection().getValueAs( NonSI.DEGREE_ANGLE ).floatValue() + " "
|
// + outputNcSoundingLayer.getDewpoint().getValueAs(
|
||||||
// + outputNcSoundingLayer.getGeoHeight().getValueAs( SI.METER ).floatValue() );
|
// SI.CELSIUS ).floatValue() + " "
|
||||||
|
// + outputNcSoundingLayer.getWindSpeed().getValueAs(
|
||||||
|
// SI.METERS_PER_SECOND ).floatValue() + " "
|
||||||
|
// +
|
||||||
|
// outputNcSoundingLayer.getWindDirection().getValueAs(
|
||||||
|
// NonSI.DEGREE_ANGLE ).floatValue() + " "
|
||||||
|
// + outputNcSoundingLayer.getGeoHeight().getValueAs(
|
||||||
|
// SI.METER ).floatValue() );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// System.out.println("Pressure value is " + pressure.getValue().floatValue() + " " + pressure.getUnit().toString() );
|
// System.out.println("Pressure value is " +
|
||||||
|
// pressure.getValue().floatValue() + " " +
|
||||||
|
// pressure.getUnit().toString() );
|
||||||
// System.out.println("lev is " + lev );
|
// System.out.println("lev is " + lev );
|
||||||
lev++;
|
lev++;
|
||||||
if ( pressure.hasValidValue() && pressure.getValue().floatValue() <= plevVal ){
|
if (pressure.hasValidValue()
|
||||||
|
&& pressure.getValue().floatValue() <= plevVal) {
|
||||||
done = true;
|
done = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("From PS_USTB Outdat: "
|
//System.out.println("PSLibrary/psUstb Outdat: "
|
||||||
+ outputNcSoundingLayer.getPressure().getValue().floatValue() + " "
|
// + outputNcSoundingLayer.getPressure().getValue().floatValue()
|
||||||
+ outputNcSoundingLayer.getTemperature().getValue().floatValue() + " "
|
// + " "
|
||||||
+ outputNcSoundingLayer.getDewpoint().getValue().floatValue() + " "
|
// + outputNcSoundingLayer.getTemperature().getValue()
|
||||||
+ outputNcSoundingLayer.getWindSpeed().getValue().floatValue() + " "
|
// .floatValue()
|
||||||
+ outputNcSoundingLayer.getWindDirection().getValue().floatValue() + " "
|
// + " "
|
||||||
+ outputNcSoundingLayer.getGeoHeight().getValue().floatValue() );
|
// + outputNcSoundingLayer.getDewpoint().getValue().floatValue()
|
||||||
|
// + " "
|
||||||
|
// + outputNcSoundingLayer.getWindSpeed().getValue().floatValue()
|
||||||
|
// + " "
|
||||||
|
// + outputNcSoundingLayer.getWindDirection().getValue()
|
||||||
|
// .floatValue() + " "
|
||||||
|
// + outputNcSoundingLayer.getGeoHeight().getValue().floatValue());
|
||||||
|
|
||||||
return outputNcSoundingLayer;
|
return outputNcSoundingLayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
||||||
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
|
|
||||||
<inventoryName>QSCT</inventoryName>
|
|
||||||
<inventoryParameters>pluginName,dataTime</inventoryParameters>
|
|
||||||
<baseConstraints>
|
|
||||||
<mapping key="reportType">
|
|
||||||
<constraint constraintValue="quikscat%" constraintType="LIKE"/>
|
|
||||||
</mapping>
|
|
||||||
<mapping key="pluginName">
|
|
||||||
<constraint constraintValue="ncscat" constraintType="EQUALS"/>
|
|
||||||
</mapping>
|
|
||||||
</baseConstraints>
|
|
||||||
</NcInventoryDefinition>
|
|
|
@ -615,6 +615,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>TRV</stid>
|
||||||
|
<stnnum>000276</stnnum>
|
||||||
|
<stnname>TREASURE</stnname>
|
||||||
|
<state>FL</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>27.68</latitude>
|
||||||
|
<longitude>-80.49</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO TRV (ABOVE); KEEP VRB ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>VRB</stid>
|
<stid>VRB</stid>
|
||||||
<stnnum>000276</stnnum>
|
<stnnum>000276</stnnum>
|
||||||
<stnname>VERO_BEACH</stnname>
|
<stnname>VERO_BEACH</stnname>
|
||||||
|
@ -759,6 +771,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>RSW</stid>
|
||||||
|
<stnnum>000104</stnnum>
|
||||||
|
<stnname>LEE_COUNTY</stnname>
|
||||||
|
<state>FL</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>26.53</latitude>
|
||||||
|
<longitude>-81.78</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station><!-- REPLACED BY RSW (ABOVE); KEEP FMY ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>FMY</stid>
|
<stid>FMY</stid>
|
||||||
<stnnum>000104</stnnum>
|
<stnnum>000104</stnnum>
|
||||||
<stnname>FT_MEYERS</stnname>
|
<stnname>FT_MEYERS</stnname>
|
||||||
|
@ -1011,6 +1035,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>PZD</stid>
|
||||||
|
<stnnum>000004</stnnum>
|
||||||
|
<stnname>PECAN</stnname>
|
||||||
|
<state>GA</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>31.66</latitude>
|
||||||
|
<longitude>-84.29</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY PZD (ABOVE); KEEP ABY ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>ABY</stid>
|
<stid>ABY</stid>
|
||||||
<stnnum>000004</stnnum>
|
<stnnum>000004</stnnum>
|
||||||
<stnname>ALBANY</stnname>
|
<stnname>ALBANY</stnname>
|
||||||
|
@ -1131,6 +1167,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>IIU</stid>
|
||||||
|
<stnnum>000159</stnnum>
|
||||||
|
<stnname>LOUISVILLE</stnname>
|
||||||
|
<state>KY</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>38.10</latitude>
|
||||||
|
<longitude>-85.58</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO IIU (ABOVE); KEEP LOU ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>LOU</stid>
|
<stid>LOU</stid>
|
||||||
<stnnum>000159</stnnum>
|
<stnnum>000159</stnnum>
|
||||||
<stnname>LOUISVILLE</stnname>
|
<stnname>LOUISVILLE</stnname>
|
||||||
|
@ -1395,6 +1443,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>AXC</stid>
|
||||||
|
<stnnum>000070</stnnum>
|
||||||
|
<stnname>ADDERS</stnname>
|
||||||
|
<state>IL</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>39.74</latitude>
|
||||||
|
<longitude>-88.86</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO AXC (ABOVE); KEEP DEC ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>DEC</stid>
|
<stid>DEC</stid>
|
||||||
<stnnum>000070</stnnum>
|
<stnnum>000070</stnnum>
|
||||||
<stnname>DECATUR</stnname>
|
<stnname>DECATUR</stnname>
|
||||||
|
@ -1491,6 +1551,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>MHZ</stid>
|
||||||
|
<stnnum>000142</stnnum>
|
||||||
|
<stnname>MAGNOLIA</stnname>
|
||||||
|
<state>MS</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>32.43</latitude>
|
||||||
|
<longitude>-90.10</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY MHZ (ABOVE); KEEP JAN ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>JAN</stid>
|
<stid>JAN</stid>
|
||||||
<stnnum>000142</stnnum>
|
<stnnum>000142</stnnum>
|
||||||
<stnname>JACKSON</stnname>
|
<stnname>JACKSON</stnname>
|
||||||
|
@ -1503,6 +1575,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>HRV</stid>
|
||||||
|
<stnnum>000195</stnnum>
|
||||||
|
<stnname>HARVEY</stnname>
|
||||||
|
<state>LA</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>29.85</latitude>
|
||||||
|
<longitude>-90.00</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY HRV (ABOVE); KEEP MSY ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>MSY</stid>
|
<stid>MSY</stid>
|
||||||
<stnnum>000195</stnnum>
|
<stnnum>000195</stnnum>
|
||||||
<stnname>NEW_ORLEANS</stnname>
|
<stnname>NEW_ORLEANS</stnname>
|
||||||
|
@ -1887,6 +1971,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>MCI</stid>
|
||||||
|
<stnnum>000177</stnnum>
|
||||||
|
<stnname>KANSAS_CITY</stnname>
|
||||||
|
<state>MO</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>39.29</latitude>
|
||||||
|
<longitude>-94.74</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY MCI (ABOVE); KEEP MKC ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>MKC</stid>
|
<stid>MKC</stid>
|
||||||
<stnnum>000177</stnnum>
|
<stnnum>000177</stnnum>
|
||||||
<stnname>KANSAS_CITY</stnname>
|
<stnname>KANSAS_CITY</stnname>
|
||||||
|
@ -2055,6 +2151,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>TTT</stid>
|
||||||
|
<stnnum>000072</stnnum>
|
||||||
|
<stnname>MAVERICK</stnname>
|
||||||
|
<state>TX</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>32.87</latitude>
|
||||||
|
<longitude>-97.04</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY TTT (ABOVE); KEEP DFW ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>DFW</stid>
|
<stid>DFW</stid>
|
||||||
<stnnum>000072</stnnum>
|
<stnnum>000072</stnnum>
|
||||||
<stnname>DALLAS-FT_WORTH</stnname>
|
<stnname>DALLAS-FT_WORTH</stnname>
|
||||||
|
@ -2175,6 +2283,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>CWK</stid>
|
||||||
|
<stnnum>000020</stnnum>
|
||||||
|
<stnname>CENTEX</stnname>
|
||||||
|
<state>TX</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>30.38</latitude>
|
||||||
|
<longitude>-97.53</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- REPLACED BY CWK (ABOVE); KEEP AUS ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>AUS</stid>
|
<stid>AUS</stid>
|
||||||
<stnnum>000020</stnnum>
|
<stnnum>000020</stnnum>
|
||||||
<stnname>AUSTIN</stnname>
|
<stnname>AUSTIN</stnname>
|
||||||
|
@ -2295,6 +2415,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>MMB</stid>
|
||||||
|
<stnnum>000110</stnnum>
|
||||||
|
<stnname>MITBEE</stnname>
|
||||||
|
<state>OK</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>36.34</latitude>
|
||||||
|
<longitude>-99.88</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO MMB (ABOVE); KEEP GAG ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>GAG</stid>
|
<stid>GAG</stid>
|
||||||
<stnnum>000110</stnnum>
|
<stnnum>000110</stnnum>
|
||||||
<stnname>GAGE</stnname>
|
<stnname>GAGE</stnname>
|
||||||
|
@ -2679,6 +2811,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>CME</stid>
|
||||||
|
<stnnum>000233</stnnum>
|
||||||
|
<stnname>CHISUM</stnname>
|
||||||
|
<state>NM</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>33.34</latitude>
|
||||||
|
<longitude>-104.62</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO CME (ABOVE); KEEP ROW ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>ROW</stid>
|
<stid>ROW</stid>
|
||||||
<stnnum>000233</stnnum>
|
<stnnum>000233</stnnum>
|
||||||
<stnname>ROSWELL</stnname>
|
<stnname>ROSWELL</stnname>
|
||||||
|
@ -2727,6 +2871,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>FTI</stid>
|
||||||
|
<stnnum>000163</stnnum>
|
||||||
|
<stnname>FT_UNION</stnname>
|
||||||
|
<state>NM</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>35.66</latitude>
|
||||||
|
<longitude>-105.14</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO FTI (ABOVE); KEEP LVS ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>LVS</stid>
|
<stid>LVS</stid>
|
||||||
<stnnum>000163</stnnum>
|
<stnnum>000163</stnnum>
|
||||||
<stnname>LAS_VEGAS</stnname>
|
<stnname>LAS_VEGAS</stnname>
|
||||||
|
@ -2919,6 +3075,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>RSK</stid>
|
||||||
|
<stnnum>000103</stnnum>
|
||||||
|
<stnname>RATTLESNAKE</stnname>
|
||||||
|
<state>NM</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>36.75</latitude>
|
||||||
|
<longitude>-108.10</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO RSK (ABOVE); KEEP FMN ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>FMN</stid>
|
<stid>FMN</stid>
|
||||||
<stnnum>000103</stnnum>
|
<stnnum>000103</stnnum>
|
||||||
<stnname>FARMINGTON</stnname>
|
<stnname>FARMINGTON</stnname>
|
||||||
|
@ -3759,6 +3927,18 @@
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
<station>
|
||||||
|
<stid>HUH</stid>
|
||||||
|
<stnnum>000035</stnnum>
|
||||||
|
<stnname>WHATCOM</stnname>
|
||||||
|
<state>WA</state>
|
||||||
|
<country>US</country>
|
||||||
|
<latitude>48.95</latitude>
|
||||||
|
<longitude>-122.58</longitude>
|
||||||
|
<elevation>0</elevation>
|
||||||
|
<priority>0</priority>
|
||||||
|
<wfo></wfo>
|
||||||
|
</station>
|
||||||
|
<station> <!-- RENAMED TO HUH (ABOVE); KEEP BLI ENTRY ONLY AS LONG AS NEEDED TO DECODE LEGACY PRODUCTS, THEN DISCARD -->
|
||||||
<stid>BLI</stid>
|
<stid>BLI</stid>
|
||||||
<stnnum>000035</stnnum>
|
<stnnum>000035</stnnum>
|
||||||
<stnname>BELLINGHAM</stnname>
|
<stnname>BELLINGHAM</stnname>
|
||||||
|
@ -4658,138 +4838,6 @@
|
||||||
<priority>0</priority>
|
<priority>0</priority>
|
||||||
<wfo></wfo>
|
<wfo></wfo>
|
||||||
</station>
|
</station>
|
||||||
<station>
|
|
||||||
<stid>RSW</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>LEE_COUNTY</stnname>
|
|
||||||
<state>FL</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>26.53</latitude>
|
|
||||||
<longitude>-81.78</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>PZD</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>PECAN</stnname>
|
|
||||||
<state>GA</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>31.66</latitude>
|
|
||||||
<longitude>-84.29</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>IIU</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>LOUISVILLE</stnname>
|
|
||||||
<state>KY</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>38.10</latitude>
|
|
||||||
<longitude>-85.58</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>HRV</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>HARVEY</stnname>
|
|
||||||
<state>LA</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>29.85</latitude>
|
|
||||||
<longitude>-90.00</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>MCI</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>KANSAS_CITY</stnname>
|
|
||||||
<state>MO</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>39.29</latitude>
|
|
||||||
<longitude>-94.74</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>TTT</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>MAVERICK</stnname>
|
|
||||||
<state>TX</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>32.87</latitude>
|
|
||||||
<longitude>-97.04</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>CWK</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>CENTEX</stnname>
|
|
||||||
<state>TX</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>30.38</latitude>
|
|
||||||
<longitude>-97.53</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>CME</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>CHISUM</stnname>
|
|
||||||
<state>NM</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>33.34</latitude>
|
|
||||||
<longitude>-104.62</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>FTI</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>FT_UNION</stnname>
|
|
||||||
<state>NM</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>35.66</latitude>
|
|
||||||
<longitude>-105.14</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>RSK</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>RATTLESNAKE</stnname>
|
|
||||||
<state>NM</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>36.75</latitude>
|
|
||||||
<longitude>-108.10</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
|
||||||
<stid>HUH</stid>
|
|
||||||
<stnnum>0</stnnum>
|
|
||||||
<stnname>WHATCOM</stnname>
|
|
||||||
<state>WA</state>
|
|
||||||
<country>US</country>
|
|
||||||
<latitude>48.95</latitude>
|
|
||||||
<longitude>-122.58</longitude>
|
|
||||||
<elevation>0</elevation>
|
|
||||||
<priority>0</priority>
|
|
||||||
<wfo></wfo>
|
|
||||||
</station>
|
|
||||||
<station>
|
<station>
|
||||||
<stid>ASRF</stid>
|
<stid>ASRF</stid>
|
||||||
<stnnum>948640</stnnum>
|
<stnnum>948640</stnnum>
|
||||||
|
|
|
@ -18,6 +18,7 @@ import com.raytheon.edex.plugin.AbstractDecoder;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
|
import com.raytheon.uf.edex.decodertools.core.DecoderTools;
|
||||||
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
import com.raytheon.uf.edex.decodertools.time.TimeTools;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -261,7 +262,10 @@ public class McidasDecoder extends AbstractDecoder {
|
||||||
record.setAreaName(areaName);
|
record.setAreaName(areaName);
|
||||||
String fileName = "";
|
String fileName = "";
|
||||||
if (headers != null) {
|
if (headers != null) {
|
||||||
fileName = (String) headers.get("traceId");
|
// fileName = (String) headers.get("traceId");
|
||||||
|
File ingestFile = new File(
|
||||||
|
(String) headers.get(DecoderTools.INGEST_FILE_NAME));
|
||||||
|
fileName = ingestFile.getName();
|
||||||
}
|
}
|
||||||
record.setInputFileName(fileName);
|
record.setInputFileName(fileName);
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<requestPatterns xmlns:ns2="group">
|
<requestPatterns xmlns:ns2="group">
|
||||||
<regex>^MANUAL INGEST.*</regex>
|
<regex>^MOSAIC.*</regex>
|
||||||
</requestPatterns>
|
</requestPatterns>
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
|
|
||||||
<ncgribModelNameMap>
|
<ncgribModelNameMap>
|
||||||
<mapping>
|
<mapping>
|
||||||
|
<entry>
|
||||||
|
<key>ecavg_.*</key>
|
||||||
|
<value>ecensDerv</value>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<key>gens_cmce.*_cmc_geavg.*</key>
|
<key>gens_cmce.*_cmc_geavg.*</key>
|
||||||
<value>cmceDerv</value>
|
<value>cmceDerv</value>
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<bean id="ncscatDistRegistry" factory-bean="distributionSrv"
|
<bean id="ncscatDistRegistry" factory-bean="distributionSrv"
|
||||||
factory-method="register">
|
factory-method="register">
|
||||||
<constructor-arg value="ncscat" />
|
<constructor-arg value="ncscat" />
|
||||||
<constructor-arg value="jms-dist:queue:Ingest.ncscat" />
|
<constructor-arg value="jms-dist:queue:Ingest.Ncscat" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="ncscatCamelRegistered" factory-bean="contextManager"
|
<bean id="ncscatCamelRegistered" factory-bean="contextManager"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<requestPatterns xmlns:ns2="group">
|
<requestPatterns xmlns:ns2="group">
|
||||||
|
<regex>^NCSCAT.*</regex>
|
||||||
</requestPatterns>
|
</requestPatterns>
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
* 02/2010 210 T. Lee Fixed TTCC tropopause
|
* 02/2010 210 T. Lee Fixed TTCC tropopause
|
||||||
* 09/2011 Chin Chen add batch parsing methods for better performance
|
* 09/2011 Chin Chen add batch parsing methods for better performance
|
||||||
* 09/2011 457 S. Gurung Renamed H5 to Nc and h5 to nc
|
* 09/2011 457 S. Gurung Renamed H5 to Nc and h5 to nc
|
||||||
|
* 12/2013 T. Lee Fixed TTCC Wmax pressure off by factor of 10
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -25,33 +26,49 @@ package gov.noaa.nws.ncep.edex.plugin.ncuair.util;
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
|
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
|
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
|
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
|
|
||||||
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
|
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
|
||||||
import gov.noaa.nws.ncep.edex.plugin.ncuair.util.NcUairWindGroup;
|
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
|
||||||
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
|
import gov.noaa.nws.ncep.common.tools.IDecoderConstantsN;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Scanner;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
import com.raytheon.edex.exception.DecoderException;
|
|
||||||
|
|
||||||
public class NcUairParser {
|
public class NcUairParser {
|
||||||
// UU is data from ship; XX is data from mobile
|
// UU is data from ship; XX is data from mobile
|
||||||
public static final int TTAA = 1;
|
public static final int TTAA = 1;
|
||||||
|
|
||||||
public static final int TTBB = 2;
|
public static final int TTBB = 2;
|
||||||
|
|
||||||
public static final int TTCC = 3;
|
public static final int TTCC = 3;
|
||||||
|
|
||||||
public static final int TTDD = 4;
|
public static final int TTDD = 4;
|
||||||
|
|
||||||
public static final int PPAA = 5;
|
public static final int PPAA = 5;
|
||||||
|
|
||||||
public static final int PPBB = 6;
|
public static final int PPBB = 6;
|
||||||
|
|
||||||
public static final int PPCC = 7;
|
public static final int PPCC = 7;
|
||||||
|
|
||||||
public static final int PPDD = 8;
|
public static final int PPDD = 8;
|
||||||
|
|
||||||
public static final int UUAA = 1;
|
public static final int UUAA = 1;
|
||||||
|
|
||||||
public static final int UUBB = 2;
|
public static final int UUBB = 2;
|
||||||
|
|
||||||
public static final int UUCC = 3;
|
public static final int UUCC = 3;
|
||||||
|
|
||||||
public static final int UUDD = 4;
|
public static final int UUDD = 4;
|
||||||
|
|
||||||
public static final int XXAA = 1;
|
public static final int XXAA = 1;
|
||||||
|
|
||||||
public static final int XXBB = 2;
|
public static final int XXBB = 2;
|
||||||
|
|
||||||
public static final int XXCC = 9;
|
public static final int XXCC = 9;
|
||||||
|
|
||||||
public static final int XXDD = 10;
|
public static final int XXDD = 10;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -63,7 +80,8 @@ public class NcUairParser {
|
||||||
/**
|
/**
|
||||||
* Return the dataType with format "(TT|PP|XX|UU)(AA|BB|CC|DD)"
|
* Return the dataType with format "(TT|PP|XX|UU)(AA|BB|CC|DD)"
|
||||||
*
|
*
|
||||||
* @param theReport The input upper air data report
|
* @param theReport
|
||||||
|
* The input upper air data report
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String getDataType(String theReport) {
|
public static String getDataType(String theReport) {
|
||||||
|
@ -83,7 +101,8 @@ public class NcUairParser {
|
||||||
/**
|
/**
|
||||||
* Return the station Number
|
* Return the station Number
|
||||||
*
|
*
|
||||||
* @param theReport The input upper air data report
|
* @param theReport
|
||||||
|
* The input upper air data report
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String getStationNumber(String theReport) {
|
public static String getStationNumber(String theReport) {
|
||||||
|
@ -100,14 +119,16 @@ public class NcUairParser {
|
||||||
/** Regular expression for stationNumber */
|
/** Regular expression for stationNumber */
|
||||||
final String STATIONNUMBER2 = "(TT|PP)(AA|BB|CC|DD) (\\d{5}) NIL";
|
final String STATIONNUMBER2 = "(TT|PP)(AA|BB|CC|DD) (\\d{5}) NIL";
|
||||||
Pattern stationNumberPattern2 = Pattern.compile(STATIONNUMBER2);
|
Pattern stationNumberPattern2 = Pattern.compile(STATIONNUMBER2);
|
||||||
Matcher stationNumberMatcher2 = stationNumberPattern2.matcher(theReport);
|
Matcher stationNumberMatcher2 = stationNumberPattern2
|
||||||
|
.matcher(theReport);
|
||||||
if (stationNumberMatcher2.find()) {
|
if (stationNumberMatcher2.find()) {
|
||||||
retStationNumber = stationNumberMatcher2.group(3);
|
retStationNumber = stationNumberMatcher2.group(3);
|
||||||
} else {
|
} else {
|
||||||
/** Regular expression for stationNumber */
|
/** Regular expression for stationNumber */
|
||||||
final String STATIONNUMBER3 = "(TT|PP)(AA|BB|CC|DD) (/////) (\\d{5}) NIL";
|
final String STATIONNUMBER3 = "(TT|PP)(AA|BB|CC|DD) (/////) (\\d{5}) NIL";
|
||||||
Pattern stationNumberPattern3 = Pattern.compile(STATIONNUMBER3);
|
Pattern stationNumberPattern3 = Pattern.compile(STATIONNUMBER3);
|
||||||
Matcher stationNumberMatcher3 = stationNumberPattern3.matcher(theReport);
|
Matcher stationNumberMatcher3 = stationNumberPattern3
|
||||||
|
.matcher(theReport);
|
||||||
if (stationNumberMatcher3.find()) {
|
if (stationNumberMatcher3.find()) {
|
||||||
retStationNumber = stationNumberMatcher3.group(4);
|
retStationNumber = stationNumberMatcher3.group(4);
|
||||||
}
|
}
|
||||||
|
@ -119,7 +140,8 @@ public class NcUairParser {
|
||||||
/**
|
/**
|
||||||
* Get the correction indicator from WMO header.
|
* Get the correction indicator from WMO header.
|
||||||
*
|
*
|
||||||
* @param theReport The input upper air data report
|
* @param theReport
|
||||||
|
* The input upper air data report
|
||||||
* @return a String for corIndicator
|
* @return a String for corIndicator
|
||||||
*/
|
*/
|
||||||
public static String findCorIndicator(String theReport) {
|
public static String findCorIndicator(String theReport) {
|
||||||
|
@ -139,10 +161,10 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* From a given dataType returns an integer to represent
|
* From a given dataType returns an integer to represent that dataType.
|
||||||
* that dataType.
|
|
||||||
*
|
*
|
||||||
* @param dataType The input dataType
|
* @param dataType
|
||||||
|
* The input dataType
|
||||||
* @return an integer for that dataType
|
* @return an integer for that dataType
|
||||||
*/
|
*/
|
||||||
public static Integer getUairType(String dataType) {
|
public static Integer getUairType(String dataType) {
|
||||||
|
@ -172,15 +194,17 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse the entire code message and interpret to
|
* Parse the entire code message and interpret to observation level
|
||||||
* observation level information according its data
|
* information according its data type.
|
||||||
* type.
|
|
||||||
*
|
*
|
||||||
* @param codeMessage The input upper air code groups
|
* @param codeMessage
|
||||||
* @param record The in and out Uair record
|
* The input upper air code groups
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
static int exceptionCount = 0;
|
static int exceptionCount = 0;
|
||||||
|
|
||||||
public static void getLevels(String codeMessage, NcUairRecord record) {
|
public static void getLevels(String codeMessage, NcUairRecord record) {
|
||||||
|
|
||||||
Boolean windKnot = false;
|
Boolean windKnot = false;
|
||||||
|
@ -189,11 +213,14 @@ public class NcUairParser {
|
||||||
|
|
||||||
int uairType = getUairType(dataType);
|
int uairType = getUairType(dataType);
|
||||||
// System.out.println("getLEvel uair datatype="+dataType);
|
// System.out.println("getLEvel uair datatype="+dataType);
|
||||||
String[] codeGroupAr;//Chin, do not use fix array size, it will cause exception when size is over 500 = new String[500];
|
String[] codeGroupAr;// Chin, do not use fix array size, it will cause
|
||||||
|
// exception when size is over 500 = new
|
||||||
|
// String[500];
|
||||||
List<String> codeGpList = new ArrayList<String>();
|
List<String> codeGpList = new ArrayList<String>();
|
||||||
// System.out.println("codeMessage...\n" + codeMessage);
|
// System.out.println("codeMessage...\n" + codeMessage);
|
||||||
|
|
||||||
if ( dataType.substring(0,2).equals("XX") || dataType.substring(0,2).equals("UU") ) {
|
if (dataType.substring(0, 2).equals("XX")
|
||||||
|
|| dataType.substring(0, 2).equals("UU")) {
|
||||||
windKnot = NcUairShipMobile.getWindKnot();
|
windKnot = NcUairShipMobile.getWindKnot();
|
||||||
} else {
|
} else {
|
||||||
windKnot = NcUairTimeGroup.getWindKnot();
|
windKnot = NcUairTimeGroup.getWindKnot();
|
||||||
|
@ -254,15 +281,18 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a Pres/height, temperature, and wind fields in the
|
* Decodes a Pres/height, temperature, and wind fields in the forms PPhhh
|
||||||
* forms PPhhh and TTTdd and DDDff for TTAA/CC.'
|
* and TTTdd and DDDff for TTAA/CC.'
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param cgSize The input cgSize is the size of the code group array
|
* The input uppair code group array
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* @param cgSize
|
||||||
* @param record The in and out Uair record
|
* The input cgSize is the size of the code group array
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processTTAACC(String[] codeGroupAr, int cgSize,
|
public static void processTTAACC(String[] codeGroupAr, int cgSize,
|
||||||
|
@ -282,7 +312,8 @@ public class NcUairParser {
|
||||||
if (dataType.substring(2, 4).equals("CC")) {
|
if (dataType.substring(2, 4).equals("CC")) {
|
||||||
above = true;
|
above = true;
|
||||||
}
|
}
|
||||||
if ( dataType.substring(0,2).equals("XX") || dataType.substring(0,2).equals("UU") ) {
|
if (dataType.substring(0, 2).equals("XX")
|
||||||
|
|| dataType.substring(0, 2).equals("UU")) {
|
||||||
topwind = NcUairShipMobile.getTopwind();
|
topwind = NcUairShipMobile.getTopwind();
|
||||||
if (dataType.substring(0, 2).equals("XX")) {
|
if (dataType.substring(0, 2).equals("XX")) {
|
||||||
drop = true;
|
drop = true;
|
||||||
|
@ -342,7 +373,8 @@ public class NcUairParser {
|
||||||
// NO tropopause data
|
// NO tropopause data
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
processTropopause(codeGroupAr, i, topwindFlag, windKnot, record, above);
|
processTropopause(codeGroupAr, i, topwindFlag,
|
||||||
|
windKnot, record, above);
|
||||||
if (topwindFlag) {
|
if (topwindFlag) {
|
||||||
i = i + 2;
|
i = i + 2;
|
||||||
} else {
|
} else {
|
||||||
|
@ -355,7 +387,8 @@ public class NcUairParser {
|
||||||
// NO maximum wind data
|
// NO maximum wind data
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
processMaximumWindShear(codeGroupAr, i, cgSize, windKnot, record);
|
processMaximumWindShear(codeGroupAr, i, cgSize,
|
||||||
|
windKnot, above, record);
|
||||||
i = i + 3;
|
i = i + 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -367,7 +400,9 @@ public class NcUairParser {
|
||||||
int range = i + 2;
|
int range = i + 2;
|
||||||
if (range < cgSize) {
|
if (range < cgSize) {
|
||||||
// Decode TTAA normal report -pressure and height
|
// Decode TTAA normal report -pressure and height
|
||||||
NcUairPressureHeightGroup.PressureHeightField(codeGroupAr[i], above, level, stationNumber, dataType, record);
|
NcUairPressureHeightGroup.PressureHeightField(
|
||||||
|
codeGroupAr[i], above, level, stationNumber,
|
||||||
|
dataType, record);
|
||||||
pres = NcUairPressureHeightGroup.getPressure();
|
pres = NcUairPressureHeightGroup.getPressure();
|
||||||
height = NcUairPressureHeightGroup.getHeight();
|
height = NcUairPressureHeightGroup.getHeight();
|
||||||
|
|
||||||
|
@ -391,7 +426,8 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add level
|
// Add level
|
||||||
addLevels(record, pres, height, temp, dewpTemp, wdir, wspeed);
|
addLevels(record, pres, height, temp, dewpTemp, wdir,
|
||||||
|
wspeed);
|
||||||
}
|
}
|
||||||
i = i + 3;
|
i = i + 3;
|
||||||
level++;
|
level++;
|
||||||
|
@ -401,17 +437,21 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a pressure/height, temperature, and wind fields in the
|
* Decodes a pressure/height, temperature, and wind fields in the forms
|
||||||
* forms PPhhh and TTTdd and DDDff for TTBB/DD.
|
* PPhhh and TTTdd and DDDff for TTBB/DD.
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param cgSize The input cgSize is the size of the code group array
|
* The input uppair code group array
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* @param cgSize
|
||||||
* @param record The in and out Uair record
|
* The input cgSize is the size of the code group array
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processTTBBDD(String[] codeGroupAr,
|
public static void processTTBBDD(String[] codeGroupAr, int cgSize,
|
||||||
int cgSize, Boolean windKnot, NcUairRecord record) {
|
Boolean windKnot, NcUairRecord record) {
|
||||||
|
|
||||||
Boolean above = false;
|
Boolean above = false;
|
||||||
Boolean endrpt = false;
|
Boolean endrpt = false;
|
||||||
|
@ -485,7 +525,8 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add level
|
// Add level
|
||||||
addLevels(record, pres, height, temp, dewpTemp, wdir, wspeed);
|
addLevels(record, pres, height, temp, dewpTemp, wdir,
|
||||||
|
wspeed);
|
||||||
|
|
||||||
}
|
}
|
||||||
i = i + 2;
|
i = i + 2;
|
||||||
|
@ -494,14 +535,17 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a pressure/height and temperature fields for PPAACC.
|
* Decodes a pressure/height and temperature fields for PPAACC. These
|
||||||
* These reports contain wind data at mandatory
|
* reports contain wind data at mandatory levels below 100 mb.
|
||||||
* levels below 100 mb.
|
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param cgSize The input cgSize is the size of the code group array
|
* The input uppair code group array
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* @param cgSize
|
||||||
* @param record The in and out Uair record
|
* The input cgSize is the size of the code group array
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processPPAACC(String[] codeGroupAr, int cgSize,
|
public static void processPPAACC(String[] codeGroupAr, int cgSize,
|
||||||
|
@ -543,17 +587,18 @@ public class NcUairParser {
|
||||||
/* chin, fix bug, when a non-number char is decoded */
|
/* chin, fix bug, when a non-number char is decoded */
|
||||||
int onetothree = 0;
|
int onetothree = 0;
|
||||||
try {
|
try {
|
||||||
onetothree = Integer.parseInt(codeGroupAr[i].substring(2,3));
|
onetothree = Integer.parseInt(codeGroupAr[i].substring(
|
||||||
|
2, 3));
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
onetothree = 0;
|
onetothree = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (onetothree > 0 && onetothree <= 3) {
|
if (onetothree > 0 && onetothree <= 3) {
|
||||||
// Decode the pressure
|
// Decode the pressure
|
||||||
float[] presArr = { IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
float[] presArr = {
|
||||||
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
||||||
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
||||||
};
|
IDecoderConstantsN.UAIR_FLOAT_MISSING, };
|
||||||
presArr = getPressureFromPPAACC(codeGroupAr[i], above);
|
presArr = getPressureFromPPAACC(codeGroupAr[i], above);
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
@ -569,18 +614,19 @@ public class NcUairParser {
|
||||||
|
|
||||||
// Decode wind group
|
// Decode wind group
|
||||||
if (i < cgSize) {
|
if (i < cgSize) {
|
||||||
NcUairWindGroup.WindField(codeGroupAr[i], windKnot);
|
NcUairWindGroup.WindField(codeGroupAr[i],
|
||||||
|
windKnot);
|
||||||
wspeed = NcUairWindGroup.getSped();
|
wspeed = NcUairWindGroup.getSped();
|
||||||
wdir = NcUairWindGroup.getDrct();
|
wdir = NcUairWindGroup.getDrct();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add level
|
// Add level
|
||||||
addLevels(record, pres, height, temp, dewpTemp, wdir, wspeed);
|
addLevels(record, pres, height, temp, dewpTemp,
|
||||||
|
wdir, wspeed);
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// no pressure group
|
// no pressure group
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
@ -592,7 +638,8 @@ public class NcUairParser {
|
||||||
// NO maximum wind and wind shear data
|
// NO maximum wind and wind shear data
|
||||||
i++;
|
i++;
|
||||||
} else {
|
} else {
|
||||||
processMaximumWindShear(codeGroupAr, i, cgSize, windKnot, record);
|
processMaximumWindShear(codeGroupAr, i, cgSize, windKnot,
|
||||||
|
above, record);
|
||||||
i = i + 3;
|
i = i + 3;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -603,13 +650,17 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a pressure/height and temperature fields for PPBBDD.
|
* Decodes a pressure/height and temperature fields for PPBBDD. These
|
||||||
* These reports contain significant wind data above 100 mb.
|
* reports contain significant wind data above 100 mb.
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param cgSize The input cgSize is the size of the code group array
|
* The input uppair code group array
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* @param cgSize
|
||||||
* @param record The in and out Uair record
|
* The input cgSize is the size of the code group array
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processPPBBDD(String[] codeGroupAr, int cgSize,
|
public static void processPPBBDD(String[] codeGroupAr, int cgSize,
|
||||||
|
@ -636,7 +687,6 @@ public class NcUairParser {
|
||||||
float wdir = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float wdir = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
float wspeed = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float wspeed = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
|
|
||||||
|
|
||||||
if (codeGroupAr[i].equals("21212")) {
|
if (codeGroupAr[i].equals("21212")) {
|
||||||
pressflag = true;
|
pressflag = true;
|
||||||
i++;
|
i++;
|
||||||
|
@ -647,7 +697,8 @@ public class NcUairParser {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( codeGroupAr[i].equals("51515") || codeGroupAr[i].equals("41414")) {
|
if (codeGroupAr[i].equals("51515")
|
||||||
|
|| codeGroupAr[i].equals("41414")) {
|
||||||
endrpt = true;
|
endrpt = true;
|
||||||
// System.out.println("got end group 51515 41414 in PP BBDD - BREAK \n");
|
// System.out.println("got end group 51515 41414 in PP BBDD - BREAK \n");
|
||||||
break;
|
break;
|
||||||
|
@ -667,7 +718,8 @@ public class NcUairParser {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decode height; invalid height if returns FLOAT_MISSING.
|
// Decode height; invalid height if returns
|
||||||
|
// FLOAT_MISSING.
|
||||||
height = getHeightFromPPBBDD(codeGroupAr[i], index);
|
height = getHeightFromPPBBDD(codeGroupAr[i], index);
|
||||||
if (height == IDecoderConstantsN.UAIR_FLOAT_MISSING) {
|
if (height == IDecoderConstantsN.UAIR_FLOAT_MISSING) {
|
||||||
i++;
|
i++;
|
||||||
|
@ -676,13 +728,15 @@ public class NcUairParser {
|
||||||
int range = i + noWind + 1;
|
int range = i + noWind + 1;
|
||||||
if (range < cgSize) {
|
if (range < cgSize) {
|
||||||
// Decode wind group.
|
// Decode wind group.
|
||||||
NcUairWindGroup.WindField(codeGroupAr[i+noWind+1], windKnot);
|
NcUairWindGroup.WindField(codeGroupAr[i + noWind
|
||||||
|
+ 1], windKnot);
|
||||||
wspeed = NcUairWindGroup.getSped();
|
wspeed = NcUairWindGroup.getSped();
|
||||||
wdir = NcUairWindGroup.getDrct();
|
wdir = NcUairWindGroup.getDrct();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add level
|
// Add level
|
||||||
addLevels(record, pres, height, temp, dewpTemp, wdir, wspeed);
|
addLevels(record, pres, height, temp, dewpTemp, wdir,
|
||||||
|
wspeed);
|
||||||
|
|
||||||
noWind++;
|
noWind++;
|
||||||
}
|
}
|
||||||
|
@ -700,35 +754,34 @@ public class NcUairParser {
|
||||||
i = i + 2;
|
i = i + 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch(Exception e) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a pressure field for mandatory wind
|
* Decodes a pressure field for mandatory wind reports (PPAA or PPCC). The
|
||||||
* reports (PPAA or PPCC). The pressures reporting are returned.
|
* pressures reporting are returned.
|
||||||
*
|
*
|
||||||
* @param presGroup The input pressure code group
|
* @param presGroup
|
||||||
* @param above The input above is flag
|
* The input pressure code group
|
||||||
|
* @param above
|
||||||
|
* The input above is flag
|
||||||
* @return pressure
|
* @return pressure
|
||||||
*/
|
*/
|
||||||
public static float[] getPressureFromPPAACC(String presGroup, Boolean above) {
|
public static float[] getPressureFromPPAACC(String presGroup, Boolean above) {
|
||||||
|
|
||||||
float pressure[] = { IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
float pressure[] = { IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
||||||
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
IDecoderConstantsN.UAIR_FLOAT_MISSING,
|
||||||
IDecoderConstantsN.UAIR_FLOAT_MISSING
|
IDecoderConstantsN.UAIR_FLOAT_MISSING };
|
||||||
};
|
|
||||||
|
|
||||||
String bpres[] = { "00", "92", "85", "70", "50", "40",
|
String bpres[] = { "00", "92", "85", "70", "50", "40", "30", "25",
|
||||||
"30", "25", "20", "15", "10" };
|
"20", "15", "10" };
|
||||||
|
|
||||||
String apres[] = { "70", "50", "30", "20", "10",
|
String apres[] = { "70", "50", "30", "20", "10", "07", "05", "03",
|
||||||
"07", "05", "03", "02", "01" };
|
"02", "01" };
|
||||||
|
|
||||||
int rbprs[] = { 1000, 925, 850, 700, 500, 400,
|
int rbprs[] = { 1000, 925, 850, 700, 500, 400, 300, 250, 200, 150, 100 };
|
||||||
300, 250, 200, 150, 100 };
|
|
||||||
|
|
||||||
int raprs[] = { 70, 50, 30, 20, 10, 7, 5, 3, 2, 1 };
|
int raprs[] = { 70, 50, 30, 20, 10, 7, 5, 3, 2, 1 };
|
||||||
|
|
||||||
|
@ -781,14 +834,16 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes the height from a significant wind field from reports (PPBB or PPDD).
|
* Decodes the height from a significant wind field from reports (PPBB or
|
||||||
* The field is of the form atuuu where a is 1 if the height is
|
* PPDD). The field is of the form atuuu where a is 1 if the height is above
|
||||||
* above 100000 feet and 9 or 8 otherwise. t is the ten-thousands
|
* 100000 feet and 9 or 8 otherwise. t is the ten-thousands digit of the
|
||||||
* digit of the height and the u's are up to three thousands-of-feet
|
* height and the u's are up to three thousands-of-feet fields. The heights
|
||||||
* fields. The heights are converted from feet to meters.
|
* are converted from feet to meters.
|
||||||
*
|
*
|
||||||
* @param heightGroup The input heightGroup contains the height code group.
|
* @param heightGroup
|
||||||
* @param index The input index is the current position in the code group.
|
* The input heightGroup contains the height code group.
|
||||||
|
* @param index
|
||||||
|
* The input index is the current position in the code group.
|
||||||
* @return pressure
|
* @return pressure
|
||||||
*/
|
*/
|
||||||
public static float getHeightFromPPBBDD(String heightGroup, int index) {
|
public static float getHeightFromPPBBDD(String heightGroup, int index) {
|
||||||
|
@ -814,19 +869,21 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes a pressure field from a group reports (TTBB or TTDD).
|
* Decodes a pressure field from a group reports (TTBB or TTDD). The
|
||||||
* The pressures reporting are returned.
|
* pressures reporting are returned.
|
||||||
*
|
*
|
||||||
* @param presGroup The input pressure code group
|
* @param presGroup
|
||||||
* @param above The input above is flag
|
* The input pressure code group
|
||||||
|
* @param above
|
||||||
|
* The input above is flag
|
||||||
* @return pressure
|
* @return pressure
|
||||||
*/
|
*/
|
||||||
public static float getPressureFromTTBBDD(String presGroup, Boolean above) {
|
public static float getPressureFromTTBBDD(String presGroup, Boolean above) {
|
||||||
|
|
||||||
float pressure = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float pressure = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
|
|
||||||
String clev[] = { "00", "11", "22", "33", "44",
|
String clev[] = { "00", "11", "22", "33", "44", "55", "66", "77", "88",
|
||||||
"55", "66", "77", "88", "99" };
|
"99" };
|
||||||
|
|
||||||
if (presGroup.length() == 5) {
|
if (presGroup.length() == 5) {
|
||||||
String pp = presGroup.substring(0, 2);
|
String pp = presGroup.substring(0, 2);
|
||||||
|
@ -859,18 +916,25 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes data for the tropopause level from the TTAA reports.
|
* Decodes data for the tropopause level from the TTAA reports. The output
|
||||||
* The output data are ordered PRES TEMP DWPT DRCT SPED.
|
* data are ordered PRES TEMP DWPT DRCT SPED.
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param index The input index is the current position of the code group array
|
* The input uppair code group array
|
||||||
* @param topwindFlag the input index is the flag to indicate top wind
|
* @param index
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* The input index is the current position of the code group
|
||||||
* @param record The in and out Uair record
|
* array
|
||||||
|
* @param topwindFlag
|
||||||
|
* the input index is the flag to indicate top wind
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processTropopause(String[] codeGroupAr, int index,
|
public static void processTropopause(String[] codeGroupAr, int index,
|
||||||
Boolean topwindFlag, Boolean windKnot, NcUairRecord record, Boolean above) {
|
Boolean topwindFlag, Boolean windKnot, NcUairRecord record,
|
||||||
|
Boolean above) {
|
||||||
|
|
||||||
float pres = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float pres = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
float temp = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float temp = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
|
@ -907,18 +971,24 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes data for the maximum wind level(s) and wind shear from the TTAA reports.
|
* Decodes data for the maximum wind level(s) and wind shear from the TTAA
|
||||||
* The output data are ordered PRES DRCT SPED.
|
* reports. The output data are ordered PRES DRCT SPED.
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param index The input index is the current position of the code group array
|
* The input uppair code group array
|
||||||
* @param cgSize the input cgSize is the size of the codeGroupAr.
|
* @param index
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* The input index is the current position of the code group
|
||||||
* @param record The in and out Uair record
|
* array
|
||||||
|
* @param cgSize
|
||||||
|
* the input cgSize is the size of the codeGroupAr.
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processMaximumWindShear(String[] codeGroupAr,
|
public static void processMaximumWindShear(String[] codeGroupAr, int index,
|
||||||
int index, int cgSize, Boolean windKnot, NcUairRecord record) {
|
int cgSize, Boolean windKnot, Boolean above, NcUairRecord record) {
|
||||||
|
|
||||||
float pres = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float pres = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
float wdir = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float wdir = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
|
@ -934,8 +1004,12 @@ public class NcUairParser {
|
||||||
if (ppIndicator.equals("77") || ppIndicator.equals("66")) {
|
if (ppIndicator.equals("77") || ppIndicator.equals("66")) {
|
||||||
// Decode pressure and height
|
// Decode pressure and height
|
||||||
if (!hhh.substring(1, 3).equals("//")) {
|
if (!hhh.substring(1, 3).equals("//")) {
|
||||||
|
if (above) {
|
||||||
|
pres = Integer.parseInt(hhh) / 10.f;
|
||||||
|
} else {
|
||||||
pres = Integer.parseInt(hhh);
|
pres = Integer.parseInt(hhh);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Decode wind group
|
// Decode wind group
|
||||||
NcUairWindGroup.WindField(codeGroupAr[i + 1], windKnot);
|
NcUairWindGroup.WindField(codeGroupAr[i + 1], windKnot);
|
||||||
|
@ -969,18 +1043,23 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decodes data for the lifted index group from the TTAA reports.
|
* Decodes data for the lifted index group from the TTAA reports. The output
|
||||||
* The output data are ordered liTemp, wdirSurface, wspeedSurface,
|
* data are ordered liTemp, wdirSurface, wspeedSurface, wdirAbove,
|
||||||
* wdirAbove, wspeedAbove
|
* wspeedAbove
|
||||||
*
|
*
|
||||||
* @param codeGroupAr The input uppair code group array
|
* @param codeGroupAr
|
||||||
* @param index The input index is the current position of the code group array
|
* The input uppair code group array
|
||||||
* @param windKnot The input windKnot is flag to indicate wind in knot or not.
|
* @param index
|
||||||
* @param record The in and out Uair record
|
* The input index is the current position of the code group
|
||||||
|
* array
|
||||||
|
* @param windKnot
|
||||||
|
* The input windKnot is flag to indicate wind in knot or not.
|
||||||
|
* @param record
|
||||||
|
* The in and out Uair record
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void processLiftedIndex(String[] codeGroupAr,
|
public static void processLiftedIndex(String[] codeGroupAr, int index,
|
||||||
int index, Boolean windKnot, NcUairRecord record) {
|
Boolean windKnot, NcUairRecord record) {
|
||||||
|
|
||||||
float liTemp = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float liTemp = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
float wdirSurface = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
float wdirSurface = IDecoderConstantsN.UAIR_FLOAT_MISSING;
|
||||||
|
@ -997,8 +1076,8 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
int isign = ittt % 2;
|
int isign = ittt % 2;
|
||||||
/*
|
/*
|
||||||
* If the integer is even, the liTemp is positive.
|
* If the integer is even, the liTemp is positive. Otherwise, the
|
||||||
* Otherwise, the liTemp is negative.
|
* liTemp is negative.
|
||||||
*/
|
*/
|
||||||
if (isign == 1) {
|
if (isign == 1) {
|
||||||
liTemp = -ittt;
|
liTemp = -ittt;
|
||||||
|
@ -1032,12 +1111,14 @@ public class NcUairParser {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compute the top pressure reporting wind data.
|
* Compute the top pressure reporting wind data. If topwind is missing, set
|
||||||
* If topwind is missing, set return top wind to a large value so that
|
* return top wind to a large value so that all the winds will be assumed to
|
||||||
* all the winds will be assumed to be missing.
|
* be missing.
|
||||||
*
|
*
|
||||||
* @param topwind The input topwind
|
* @param topwind
|
||||||
* @param above The input above is flag to indicate above 100mb.
|
* The input topwind
|
||||||
|
* @param above
|
||||||
|
* The input above is flag to indicate above 100mb.
|
||||||
* @return an int for topWind.
|
* @return an int for topWind.
|
||||||
*/
|
*/
|
||||||
public static int getTopWind(int topwind, Boolean above) {
|
public static int getTopWind(int topwind, Boolean above) {
|
||||||
|
@ -1067,17 +1148,24 @@ public class NcUairParser {
|
||||||
/**
|
/**
|
||||||
* Add levels to record.
|
* Add levels to record.
|
||||||
*
|
*
|
||||||
* @param record The in and out Uair record
|
* @param record
|
||||||
* @param pres The input pressure
|
* The in and out Uair record
|
||||||
* @param hght The input geopotential height
|
* @param pres
|
||||||
* @param temp The input temperature
|
* The input pressure
|
||||||
* @param dwpt The input dew point temperature.
|
* @param hght
|
||||||
* @param drct The input wind direction
|
* The input geopotential height
|
||||||
* @param sped The input wind speed
|
* @param temp
|
||||||
|
* The input temperature
|
||||||
|
* @param dwpt
|
||||||
|
* The input dew point temperature.
|
||||||
|
* @param drct
|
||||||
|
* The input wind direction
|
||||||
|
* @param sped
|
||||||
|
* The input wind speed
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void addLevels(NcUairRecord record, float pres, float geoHeight,
|
public static void addLevels(NcUairRecord record, float pres,
|
||||||
float temp, float dwpt, float drct, float sped) {
|
float geoHeight, float temp, float dwpt, float drct, float sped) {
|
||||||
|
|
||||||
NcUairObsLevels level = null;
|
NcUairObsLevels level = null;
|
||||||
level = new NcUairObsLevels();
|
level = new NcUairObsLevels();
|
||||||
|
@ -1094,16 +1182,22 @@ public class NcUairParser {
|
||||||
/**
|
/**
|
||||||
* Add tropopause to record.
|
* Add tropopause to record.
|
||||||
*
|
*
|
||||||
* @param record The in and out Uair record
|
* @param record
|
||||||
* @param pres The input pressure
|
* The in and out Uair record
|
||||||
* @param temp The input temperature
|
* @param pres
|
||||||
* @param dwpt The input dew point temperature.
|
* The input pressure
|
||||||
* @param drct The input wind direction
|
* @param temp
|
||||||
* @param sped The input wind speed
|
* The input temperature
|
||||||
|
* @param dwpt
|
||||||
|
* The input dew point temperature.
|
||||||
|
* @param drct
|
||||||
|
* The input wind direction
|
||||||
|
* @param sped
|
||||||
|
* The input wind speed
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static void addTrop(NcUairRecord record, float pres,
|
public static void addTrop(NcUairRecord record, float pres, float temp,
|
||||||
float temp, float dwpt, float drct, float sped) {
|
float dwpt, float drct, float sped) {
|
||||||
|
|
||||||
NcUairTropopause trop = null;
|
NcUairTropopause trop = null;
|
||||||
trop = new NcUairTropopause();
|
trop = new NcUairTropopause();
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<bean id="ntransDistRegistry" factory-bean="distributionSrv"
|
<bean id="ntransDistRegistry" factory-bean="distributionSrv"
|
||||||
factory-method="register">
|
factory-method="register">
|
||||||
<constructor-arg value="ntrans" />
|
<constructor-arg value="ntrans" />
|
||||||
<constructor-arg value="jms-dist:queue:Ingest.ntrans" />
|
<constructor-arg value="jms-dist:queue:Ingest.Ntrans" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="ntransCamelRegistered" factory-bean="contextManager"
|
<bean id="ntransCamelRegistered" factory-bean="contextManager"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<requestPatterns xmlns:ns2="group">
|
<requestPatterns xmlns:ns2="group">
|
||||||
|
<regex>^NTRANS.*</regex>
|
||||||
</requestPatterns>
|
</requestPatterns>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<requestPatterns xmlns:ns2="group">
|
<requestPatterns xmlns:ns2="group">
|
||||||
<regex>^SXI_*</regex>
|
<regex>^SIMPLE*</regex>
|
||||||
</requestPatterns>
|
</requestPatterns>
|
||||||
|
|
|
@ -1,191 +0,0 @@
|
||||||
ADDSTN YES
|
|
||||||
AFOSFL
|
|
||||||
AIRM
|
|
||||||
ANOTLN
|
|
||||||
ANOTYP
|
|
||||||
AWPSFL
|
|
||||||
ANLYSS 4/2;2;2;2
|
|
||||||
AREA @dca;iad;bwi
|
|
||||||
ATCF
|
|
||||||
BORDER 1
|
|
||||||
BOXLIN
|
|
||||||
BUFRFIL
|
|
||||||
CENTER
|
|
||||||
CINT 0
|
|
||||||
CLEAR YES
|
|
||||||
CLRBAR
|
|
||||||
CNTRFL
|
|
||||||
COLORS 1
|
|
||||||
COLUMN 1
|
|
||||||
CONTUR 0
|
|
||||||
CPYFIL
|
|
||||||
CSIG
|
|
||||||
CTLFLG YES
|
|
||||||
CTYPE C
|
|
||||||
CURVE 2
|
|
||||||
CXSTNS
|
|
||||||
DATTIM 18-20
|
|
||||||
DELTAN
|
|
||||||
DELTAX
|
|
||||||
DELTAY
|
|
||||||
DEVICE XW
|
|
||||||
DTAAREA
|
|
||||||
EDGEOPTS
|
|
||||||
ENCY
|
|
||||||
EXTEND 2;2;2;2
|
|
||||||
FHOUR
|
|
||||||
FILTER YES
|
|
||||||
FINT 0
|
|
||||||
FLINE 10-20
|
|
||||||
FXYTBL
|
|
||||||
GAMMA 0.3
|
|
||||||
GAREA WV
|
|
||||||
IJSKIP
|
|
||||||
GBDIAG
|
|
||||||
GBFILE
|
|
||||||
GBTBLS
|
|
||||||
GDATTIM LAST
|
|
||||||
GDEFIL GDLIST.FIL
|
|
||||||
GDFILE $GEMDATA/HRCBOB.GRD
|
|
||||||
GDNUM LIST
|
|
||||||
GDOUTF
|
|
||||||
GDPFUN TMPC
|
|
||||||
GFUNC TMPC
|
|
||||||
GGLIMS
|
|
||||||
GGVGF
|
|
||||||
GLEVEL 500
|
|
||||||
GPACK
|
|
||||||
GPOINT IAD
|
|
||||||
GRDAREA
|
|
||||||
GRDHDR
|
|
||||||
GRDLBL 0
|
|
||||||
GRDNAM
|
|
||||||
GRDTYP S
|
|
||||||
GSKIP
|
|
||||||
GUESS
|
|
||||||
GUESFUN
|
|
||||||
GVCORD PRES
|
|
||||||
GVECT WND
|
|
||||||
G2DIAG
|
|
||||||
G2DRT
|
|
||||||
G2IDS
|
|
||||||
G2IS
|
|
||||||
G2PDT
|
|
||||||
G2TBLS
|
|
||||||
HILO
|
|
||||||
HISTGRD NO
|
|
||||||
HLSYM
|
|
||||||
HRCN
|
|
||||||
IDNTYP STID
|
|
||||||
IMCBAR
|
|
||||||
INDXFL
|
|
||||||
INFO
|
|
||||||
ISIG
|
|
||||||
KXKY 10;10
|
|
||||||
LAT
|
|
||||||
LATLON
|
|
||||||
LEVELS 500
|
|
||||||
LINE 3
|
|
||||||
LOCI
|
|
||||||
LON
|
|
||||||
LSTALL YES
|
|
||||||
LSTPRM
|
|
||||||
LTNG
|
|
||||||
LUTFIL
|
|
||||||
MAP 1
|
|
||||||
$MAPFIL HIPOWO.CIA
|
|
||||||
MARKER 0
|
|
||||||
MAXGRD 200
|
|
||||||
MIXRLN 0
|
|
||||||
MSCALE 0
|
|
||||||
MRGDAT YES
|
|
||||||
NCON
|
|
||||||
NPASS 2
|
|
||||||
NTRACE 5
|
|
||||||
OUTFIL
|
|
||||||
OUTPUT t
|
|
||||||
OVERWR NO
|
|
||||||
PANEL 0
|
|
||||||
PDSEXT NO
|
|
||||||
PIXRES 1
|
|
||||||
PLUS
|
|
||||||
POSN 0
|
|
||||||
PRBTYP
|
|
||||||
PROJ MER
|
|
||||||
PTYPE LOG
|
|
||||||
QCNTL
|
|
||||||
QSCT
|
|
||||||
RADFIL
|
|
||||||
REGION VIEW
|
|
||||||
REFVEC
|
|
||||||
$RESPONDYES
|
|
||||||
SATFIL
|
|
||||||
FAXFIL
|
|
||||||
SAVFIL
|
|
||||||
SCALE 999
|
|
||||||
SEARCH 20
|
|
||||||
SFEFIL SFLIST.FIL
|
|
||||||
SFFILE /export-2/cdbbkp/ldmcdb/data/decoders/hrly/20110530.hrly
|
|
||||||
SFFSRC
|
|
||||||
SFOUTF
|
|
||||||
SFPARM dset
|
|
||||||
SFPRMF METAR.PACK
|
|
||||||
SHAPE
|
|
||||||
SHIPFL NO
|
|
||||||
SHRTTL
|
|
||||||
SKIP 0
|
|
||||||
SKPMIS y
|
|
||||||
SNBUFR
|
|
||||||
SNEFIL SNLIST.FIL
|
|
||||||
SNFILE $GEMDATA/HRCBOB.SND
|
|
||||||
SNOUTF
|
|
||||||
SNPARM ;TMPC;;HGHT;DWPC;BRBM
|
|
||||||
SNPRMF SNMERG.PACK
|
|
||||||
SOURCE SF
|
|
||||||
STATION BWI
|
|
||||||
STNCOL 1
|
|
||||||
STNDEX SHOW
|
|
||||||
STNFIL SFSTNS.TBL
|
|
||||||
STNPLT
|
|
||||||
STNTYP A
|
|
||||||
STREAM
|
|
||||||
STRMID
|
|
||||||
SVRL
|
|
||||||
TAXIS
|
|
||||||
TCMG
|
|
||||||
TEXT 1
|
|
||||||
THTALN 0
|
|
||||||
THTELN 0
|
|
||||||
TIMSTN 1/0
|
|
||||||
TITLE 1
|
|
||||||
TRACE1 TMPF;DWPF:3/2;3
|
|
||||||
TRACE2 PMSL/4
|
|
||||||
TRACE3 SKNT;GUST;DARR/1
|
|
||||||
TRACE4 VSBY/7
|
|
||||||
TRACE5 CLDS;;WSYM/6
|
|
||||||
TRAK1
|
|
||||||
TRAK2
|
|
||||||
TRAKE
|
|
||||||
TXTCOL
|
|
||||||
TXTFIL
|
|
||||||
TXTLOC
|
|
||||||
TXTYPE
|
|
||||||
TYPE C
|
|
||||||
UKAFIL
|
|
||||||
VCOORD PRES
|
|
||||||
VGFILE
|
|
||||||
WARN
|
|
||||||
WATCH
|
|
||||||
WIND BM1
|
|
||||||
WINPOS 1
|
|
||||||
WSTM
|
|
||||||
XAXIS
|
|
||||||
YAXIS
|
|
||||||
WOU
|
|
||||||
WCN
|
|
||||||
WCP
|
|
||||||
WSAT
|
|
||||||
FHR
|
|
||||||
TAG
|
|
||||||
STAT
|
|
||||||
ASCT
|
|
|
@ -1,7 +0,0 @@
|
||||||
SFFILE /export-2/cdbbkp/ldmcdb/data/decoders/hrly/20110530.hrly
|
|
||||||
AREA @dca;iad;bwi
|
|
||||||
DATTIM 18-20
|
|
||||||
OUTPUT t
|
|
||||||
SKPMIS y
|
|
||||||
IDNTYP STID
|
|
||||||
SFPARM dset
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue