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: a12b83ddfb [formerly a12b83ddfb [formerly f64ce96da2871e55b40b6fe4ba0e77eaed266103]]
Former-commit-id: 2bd1588ad4
Former-commit-id: cfa9fdb6cf
This commit is contained in:
Stephen Gilbert 2014-01-24 10:14:17 -05:00
parent a8426c759b
commit 6ef117ac7d
62 changed files with 14762 additions and 12986 deletions

View 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});"

View file

@ -1,4 +1,4 @@
<!-- <!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company, This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government. pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
@ -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>
@ -8740,5 +8762,252 @@
<grib2discipline>10</grib2discipline> <grib2discipline>10</grib2discipline>
<grib2category>0</grib2category> <grib2category>0</grib2category>
<grib2Value>13</grib2Value> <grib2Value>13</grib2Value>
</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>
<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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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, 791803 (2006))
# 192- 254 Reserved for local use
255:255:Missing

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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
@ -96,7 +96,7 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Integer ny; private Integer ny;
/** The pixel resolution of the image */ /** The pixel resolution of the image */
@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,14 +128,14 @@ 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
@DynamicSerializeElement @DynamicSerializeElement
private Float stdlat2; private Float stdlat2;
/** The latitude of the lower-left corner */ /** The latitude of the lower-left corner */
@Column @Column
@XmlAttribute @XmlAttribute
@ -158,31 +159,31 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private Float urlon; private Float urlon;
/** image element coordinate of area line 0, element 0 */ /** image element coordinate of area line 0, element 0 */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int upperLeftElement; private int upperLeftElement;
/** image line coordinate of area line 0, element 0 */ /** image line coordinate of area line 0, element 0 */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int upperLeftLine; private int upperLeftLine;
/** element resolution */ /** element resolution */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int elementRes; private int elementRes;
/** line resolution */ /** line resolution */
@Column @Column
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
private int lineRes; private int lineRes;
@Column(length = 5120) @Column(length = 5120)
@XmlAttribute @XmlAttribute
@DynamicSerializeElement @DynamicSerializeElement
@ -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,19 +276,27 @@ 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,
Float reflon, int upperLeftElement, int upperLeftLine, int xres, Float reflon, int upperLeftElement, int upperLeftLine, int xres,
int yres, ProjectedCRS crs, Geometry geometry) { int yres, ProjectedCRS crs, Geometry geometry) {
this.projection = projection; this.projection = projection;
this.nx = nx; this.nx = nx;
this.ny = ny; this.ny = ny;
@ -307,10 +317,10 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
this.crsWKT = crsObject.toWKT(); this.crsWKT = crsObject.toWKT();
this.location = (Polygon) geometry; this.location = (Polygon) geometry;
pid = this.hashCode(); pid = this.hashCode();
} }
@Override @Override
public int hashCode() { public int hashCode() {
HashCodeBuilder hashBuilder = new HashCodeBuilder(); HashCodeBuilder hashBuilder = new HashCodeBuilder();
hashBuilder.append(projection); hashBuilder.append(projection);
hashBuilder.append(nx); hashBuilder.append(nx);
@ -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;
@ -466,7 +446,7 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
public void setStdlat1(Float stdlat1) { public void setStdlat1(Float stdlat1) {
this.stdlat1 = stdlat1; this.stdlat1 = stdlat1;
} }
public Float getStdlat2() { public Float getStdlat2() {
return stdlat2; return stdlat2;
} }
@ -541,73 +521,78 @@ public class McidasMapCoverage extends PersistableDataObject implements ISpatial
this.ny = ny; this.ny = ny;
} }
/** /**
* @return the upperLeftElement * @return the upperLeftElement
*/ */
public int getUpperLeftElement() { public int getUpperLeftElement() {
return upperLeftElement; return upperLeftElement;
} }
/** /**
* @param upperLeftElement the upperLeftElement to set * @param upperLeftElement
*/ * the upperLeftElement to set
public void setUpperLeftElement(int upperLeftElement) { */
this.upperLeftElement = upperLeftElement; public void setUpperLeftElement(int upperLeftElement) {
} this.upperLeftElement = upperLeftElement;
}
/** /**
* @return the upperLeftLine * @return the upperLeftLine
*/ */
public int getUpperLeftLine() { public int getUpperLeftLine() {
return upperLeftLine; return upperLeftLine;
} }
/** /**
* @param upperLeftLine the upperLeftLine to set * @param upperLeftLine
*/ * the upperLeftLine to set
public void setUpperLeftLine(int upperLeftLine) { */
this.upperLeftLine = upperLeftLine; public void setUpperLeftLine(int upperLeftLine) {
} this.upperLeftLine = upperLeftLine;
}
/** /**
* @return the elementRes * @return the elementRes
*/ */
public int getElementRes() { public int getElementRes() {
return elementRes; return elementRes;
} }
/** /**
* @param elementRes the elementRes to set * @param elementRes
*/ * the elementRes to set
public void setElementRes(int elementRes) { */
this.elementRes = elementRes; public void setElementRes(int elementRes) {
} this.elementRes = elementRes;
}
/** /**
* @return the lineRes * @return the lineRes
*/ */
public int getLineRes() { public int getLineRes() {
return lineRes; return lineRes;
} }
/** /**
* @param lineRes the lineRes to set * @param lineRes
*/ * the lineRes to set
public void setLineRes(int lineRes) { */
this.lineRes = lineRes; public void setLineRes(int lineRes) {
} this.lineRes = lineRes;
}
public String getCrsWKT() { public String getCrsWKT() {
return crsWKT; return crsWKT;
} }
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
// using a specific formatter to keep this consistent and in our control // 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
this.crsWKT = crsWKT.replaceAll("\r\n", ""); this.crsWKT = crsWKT.replaceAll("\r\n", "");
//this.crsWKT = crsWKT; // this.crsWKT = crsWKT;
} }
public Polygon getLocation() { public Polygon getLocation() {

View file

@ -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;

View file

@ -167,6 +167,6 @@ public class NcscatRecord extends PersistablePluginDataObject {
@Override @Override
public String getPluginName() { public String getPluginName() {
return "ncsat"; return "ncscat";
} }
} }

View file

@ -3,388 +3,490 @@
*/ */
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
* *
*/ */
public final class PSLibrary { 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
* @throws InvalidValueException * - temperature at 500 mb ( in Celsius )
* @throws NullPointerException * @return the difference between the dewpoint and the temperature if
*/ * neither of them are missing and RMISSD ( -9999 ) otherwise.
* @throws InvalidValueException
public final static Amount psCtot ( Amount td850, Amount t500) { * @throws NullPointerException
*/
/* public final static Amount psCtot(Amount td850, Amount t500) {
* Compute the cross totals index by subtracting 500 mb
* temperature from the 850 mb dewpoint.
*/
if ( !PRLibrary.checkNullOrInvalidValue( td850 )
|| ! PRLibrary.checkNullOrInvalidValue( t500 ) ){
return new Amount ( Unit.ONE );
}
Amount psCtot = new Amount( td850.getValue().floatValue() - t500.getValue().floatValue() , Unit.ONE );
return psCtot;
}
/**
* Computes low, middle, and high elevation Haines indices
* from the temperature and the dewpoint.
* @param tc1 - temperature ( in Celsius )
* @param tc2 - temperature ( in Celsius )
* @param dwpc - dewpoint ( in Celsius )
* @param itype - Haines index:
* 1- Low
* 2 - Middle
* 3 - High
*
* @return
* @throws InvalidValueException
* @throws NullPointerException
*/
public static Amount psHans ( Amount tc1Amt, Amount tc2Amt, Amount dwpcAmt, Amount itypeAmt) {
Amount pshans =new Amount();
if ( ! PRLibrary.checkNullOrInvalidValue( tc1Amt )
|| !PRLibrary.checkNullOrInvalidValue( tc2Amt )
|| !PRLibrary.checkNullOrInvalidValue( dwpcAmt )
|| !PRLibrary.checkNullOrInvalidValue( itypeAmt ) )
return new Amount ( Unit.ONE );
float a = GempakConstants.RMISSD;
float b = GempakConstants.RMISSD;
float tc1 = tc1Amt.getValue().floatValue();
float tc2 = tc2Amt.getValue().floatValue();
float dwpc = dwpcAmt.getValue().floatValue();
float itype = itypeAmt.getValue().floatValue();
/* Compute the Haines index*/
if ( itype == 1 ) {
a = ( ( tc2 - tc1 ) - 3 ) * ( 2 / 5 ) + 1;
b = ( ( tc1 - dwpc ) - 5 ) * ( 2 / 5 ) + 1;
}
else if ( itype == 2 ) {
a = ( ( tc1 - tc2 ) - 5 ) * ( 2 / 6 ) + 1;
b = ( ( tc1 - dwpc ) - 5 ) * ( 2 / 8 ) + 1;
}
else if ( itype == 3 ) {
a = ( ( tc1 - tc2 ) - 17 ) * ( 2 / 5 ) + 1;
b = ( ( tc1 - dwpc ) - 14 ) * ( 2 / 7 ) + 1;
}
a = ( a > 0.9f ? a : 0.9f );
a = ( a < 3.1f ? a : 3.1f );
b = ( b > 0.9f ? b : 0.9f );
b = ( b < 3.1f ? b : 3.1f );
pshans = new Amount ( a + b,Unit.ONE );
// }
return pshans;
}
/** /*
* * Compute the cross totals index by subtracting 500 mb temperature from
* Computes the 'K' index * the 850 mb dewpoint.
* @param t850 - 850 mb temperature ( in Celsius ) */
* @param t700 - 700 mb temperature ( in Celsius ) if (!PRLibrary.checkNullOrInvalidValue(td850)
* @param t500 - 500 mb temperature ( in Celsius ) || !PRLibrary.checkNullOrInvalidValue(t500)) {
* @param td850 - 850 mb dewpoint ( in Celsius ) return new Amount(Unit.ONE);
* @param td700 - 700 mb dewpoint ( in Celsius ) }
* @return returns the 'K' index if all the input values are valid and Amount psCtot = new Amount(td850.getValue().floatValue()
* RMISSD ( -9999 ) otherwise - t500.getValue().floatValue(), Unit.ONE);
* @throws InvalidValueException return psCtot;
* @throws NullPointerException }
*/
public final static Amount pskinx ( Amount t850, Amount t700, Amount t500, Amount td850, Amount td700) {
Amount pskinx = new Amount();
if ( !PRLibrary.checkNullOrInvalidValue(t850)
|| !PRLibrary.checkNullOrInvalidValue(t700)
|| !PRLibrary.checkNullOrInvalidValue(t500)
|| !PRLibrary.checkNullOrInvalidValue(td850)
|| !PRLibrary.checkNullOrInvalidValue(td700) )
return new Amount ( Unit.ONE );
pskinx = new Amount ( ( t850.getValue().floatValue() - t500.getValue().floatValue() )
+ td850.getValue().floatValue() - ( t700.getValue().floatValue() - td700.getValue().floatValue() ) , Unit.ONE);
return pskinx; /**
} * Computes low, middle, and high elevation Haines indices from the
* temperature and the dewpoint.
*
/** * @param tc1
* Computes the Showalter index * - temperature ( in Celsius )
* @param t850 - 850 mb temperature ( in Celsius ) * @param tc2
* @param td850 - 850 mb dewpoint ( in Celsius ) * - temperature ( in Celsius )
* @param t500 - 500 mb temperature ( in Celsius ) * @param dwpc
* @return the Showalter index if all the three input parameters are valid and the parcel temperature is computed correctly. * - dewpoint ( in Celsius )
* Otherwise, it returns RMISSD (-9999). * @param itype
*/ * - Haines index: 1- Low 2 - Middle 3 - High
public final static Amount psShow ( Amount t850Amt, Amount td850Amt, Amount t500Amt ) { *
float psshow = GempakConstants.RMISSD; * @return
* @throws InvalidValueException
if ( !PRLibrary.checkNullOrInvalidValue(t850Amt) * @throws NullPointerException
|| !PRLibrary.checkNullOrInvalidValue(td850Amt) */
|| !PRLibrary.checkNullOrInvalidValue(t500Amt) ) public static Amount psHans(Amount tc1Amt, Amount tc2Amt, Amount dwpcAmt,
return new Amount ( Unit.ONE ); Amount itypeAmt) {
float p850 = 850; Amount pshans = new Amount();
float p500 = 500; if (!PRLibrary.checkNullOrInvalidValue(tc1Amt)
float guess = 0; || !PRLibrary.checkNullOrInvalidValue(tc2Amt)
/* || !PRLibrary.checkNullOrInvalidValue(dwpcAmt)
* Find equivalent potential temperature at the LCL using 850 mb || !PRLibrary.checkNullOrInvalidValue(itypeAmt))
* temperature and dewpoint. return new Amount(Unit.ONE);
*/ float a = GempakConstants.RMISSD;
Amount thtlcl = PRLibrary.prThte ( new Amount ( p850, NcUnits.MILLIBAR ), t850Amt, td850Amt ); float b = GempakConstants.RMISSD;
if ( !PRLibrary.checkNullOrInvalidValue(thtlcl) ) float tc1 = tc1Amt.getValue().floatValue();
return new Amount ( Unit.ONE ); float tc2 = tc2Amt.getValue().floatValue();
/*Find parcel temperature along pseudoadiabat at 500 mb. float dwpc = dwpcAmt.getValue().floatValue();
* The parcel temperature tp is the temperature in Celsius at 500 mb of a parcel, float itype = itypeAmt.getValue().floatValue();
* which lies on the moist adiabat determined by the sounding at 850 mb /* Compute the Haines index */
*/ if (itype == 1) {
Amount tp = PRLibrary.prTmst ( thtlcl, a = ((tc2 - tc1) - 3) * (2 / 5) + 1;
new Amount( p500, NcUnits.MILLIBAR ), b = ((tc1 - dwpc) - 5) * (2 / 5) + 1;
new Amount ( 0, Unit.ONE ) ); } else if (itype == 2) {
a = ((tc1 - tc2) - 5) * (2 / 6) + 1;
/*Subtract the parcel temperature from the temperature at 500 mb, is the parcel temperature is valid*/ b = ((tc1 - dwpc) - 5) * (2 / 8) + 1;
} else if (itype == 3) {
if ( !PRLibrary.checkNullOrInvalidValue(tp) ) a = ((tc1 - tc2) - 17) * (2 / 5) + 1;
return new Amount ( Unit.ONE ); b = ((tc1 - dwpc) - 14) * (2 / 7) + 1;
t500Amt = PRLibrary.checkAndConvertInputAmountToExpectedUnits(t500Amt, SI.KELVIN); }
float t500 = t500Amt.getValue().floatValue();
psshow = t500 - tp.getValue().floatValue();
return new Amount ( psshow, Unit.ONE); a = (a > 0.9f ? a : 0.9f);
} a = (a < 3.1f ? a : 3.1f);
b = (b > 0.9f ? b : 0.9f);
/** b = (b < 3.1f ? b : 3.1f);
* Computes the vertical totals index pshans = new Amount(a + b, Unit.ONE);
* @param t850 - 850 mb temperature ( in Celsius ) // }
* @param t500 - 500 mb temperature ( in Celsius ) return pshans;
* @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 NullPointerException
*/
public final static Amount psVtot ( Amount t850, Amount t500 ) {
if ( ! PRLibrary.checkNullOrInvalidValue(t850 )
|| ! PRLibrary.checkNullOrInvalidValue(t500 ) )
return new Amount ( 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
*
* @param t850 - 850 mb temperature ( in Celsius )
* @param td850 - 850 mb dewpoint ( in Celsius )
* @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 NullPointerException
*/
public final static Amount psTotl ( Amount t850, Amount td850, Amount t500 ) {
float pstotl = GempakConstants.RMISSD;
if ( !PRLibrary.checkNullOrInvalidValue(t500)
|| !PRLibrary.checkNullOrInvalidValue(td850)
|| !PRLibrary.checkNullOrInvalidValue(t850) )
return new Amount ( Unit.ONE );
/*Compute the vertical totals*/
Amount vtot = psVtot ( t850, t500 );
/*Compute the cross totals*/
Amount ctot = psCtot ( td850, t500 );
if ( !PRLibrary.checkNullOrInvalidValue( vtot ) /**
|| ! PRLibrary.checkNullOrInvalidValue( ctot ) ) *
return new Amount ( Unit.ONE ); * Computes the 'K' index
pstotl = vtot.getValue().floatValue() + ctot .getValue().floatValue(); *
* @param t850
* - 850 mb temperature ( in Celsius )
* @param t700
* - 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
* RMISSD ( -9999 ) otherwise
* @throws InvalidValueException
* @throws NullPointerException
*/
public final static Amount pskinx(Amount t850, Amount t700, Amount t500,
Amount td850, Amount td700) {
Amount pskinx = new Amount();
if (!PRLibrary.checkNullOrInvalidValue(t850)
|| !PRLibrary.checkNullOrInvalidValue(t700)
|| !PRLibrary.checkNullOrInvalidValue(t500)
|| !PRLibrary.checkNullOrInvalidValue(td850)
|| !PRLibrary.checkNullOrInvalidValue(td700))
return new Amount(Unit.ONE);
pskinx = new Amount(
(t850.getValue().floatValue() - t500.getValue().floatValue())
+ td850.getValue().floatValue()
- (t700.getValue().floatValue() - td700.getValue()
.floatValue()), Unit.ONE);
return new Amount ( pstotl, Unit.ONE ); return pskinx;
} }
/** /**
* Computes the SWEAT index. Winds must be input in m/sec * Computes the Showalter index
* @param t850 - 850 mb temperature *
* @param td850 - 850 mb dewpoint * @param t850
* @param t500 - 500 mb temperature * - 850 mb temperature ( in Celsius )
* @param spd850 - 850 mb windspeed ( in m/sec ) * @param td850
* @param spd500 - 500 mb windspeed ( in m/sec ) * - 850 mb dewpoint ( in Celsius )
* @param dir850 - 850 mb wind direction * @param t500
* @param dir500 - 500 mb wind direction * - 500 mb temperature ( in Celsius )
* @return the SWEAT index if none of the inputs are missing and RMISSD ( -9999 ) otherwise * @return the Showalter index if all the three input parameters are valid
* @throws InvalidValueException * and the parcel temperature is computed correctly. Otherwise, it
* @throws NullPointerException * returns RMISSD (-9999).
*/ */
public final static Amount psSwet ( Amount t850, Amount td850, Amount t500, public final static Amount psShow(Amount t850Amt, Amount td850Amt,
Amount spd850, Amount spd500, Amount t500Amt) {
Amount dir850, Amount dir500 ) { float psshow = GempakConstants.RMISSD;
float pssweat = GempakConstants.RMISSD;
if ( !PRLibrary.checkNullOrInvalidValue( t500 ) if (!PRLibrary.checkNullOrInvalidValue(t850Amt)
|| !PRLibrary.checkNullOrInvalidValue( td850 ) || !PRLibrary.checkNullOrInvalidValue(td850Amt)
|| !PRLibrary.checkNullOrInvalidValue( t500 ) || !PRLibrary.checkNullOrInvalidValue(t500Amt))
|| !PRLibrary.checkNullOrInvalidValue( spd850 ) return new Amount(Unit.ONE);
|| !PRLibrary.checkNullOrInvalidValue( spd500 ) float p850 = 850;
|| !PRLibrary.checkNullOrInvalidValue( dir850 ) float p500 = 500;
|| !PRLibrary.checkNullOrInvalidValue( dir500 ) ) float guess = 0;
return new Amount ( Unit.ONE ); /*
/* * Find equivalent potential temperature at the LCL using 850 mb
* (Non-Javadoc): * temperature and dewpoint.
* All computations are from */
* Miller, R.C., 1972: Notes on Severe Storm Forecasting Procedures of Amount thtlcl = PRLibrary.prThte(new Amount(p850, NcUnits.MILLIBAR),
* the Air Force Global Weather Central, AWS Tech. Report 200 t850Amt, td850Amt);
*/ if (!PRLibrary.checkNullOrInvalidValue(thtlcl))
/*Convert meters per second to knots*/ return new Amount(Unit.ONE);
Amount skt850 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(spd850, NonSI.KNOT) ; /*
Amount skt500 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(spd500, NonSI.KNOT) ; * Find parcel temperature along pseudoadiabat at 500 mb. The parcel
* temperature tp is the temperature in Celsius at 500 mb of a parcel,
/* Compute the total totals index. If < 49, set term to zero.*/ * which lies on the moist adiabat determined by the sounding at 850 mb
float total = psTotl ( t850, td850, t500 ).getValue().floatValue(); */
float term2 = total - 49; Amount tp = PRLibrary.prTmst(thtlcl,
if ( total < 49 ) new Amount(p500, NcUnits.MILLIBAR), new Amount(0, Unit.ONE));
term2 = 0;
/*
/* Compute shear term.*/ * Subtract the parcel temperature from the temperature at 500 mb, is
* the parcel temperature is valid
float dif = dir500.getValue().floatValue() - dir850.getValue().floatValue(); */
float s = ( float ) ( Math.sin ( dif * GempakConstants.DTR ) );
float shear = 125 * ( s + 0.2f ); if (!PRLibrary.checkNullOrInvalidValue(tp))
return new Amount(Unit.ONE);
/*Make various wind checks.*/ t500Amt = PRLibrary.checkAndConvertInputAmountToExpectedUnits(t500Amt,
float dir850Val = dir850.getValue().floatValue(); SI.KELVIN);
float dir500Val = dir500.getValue().floatValue(); float t500 = t500Amt.getValue().floatValue();
float skt500Val = skt500.getValue().floatValue(); psshow = t500 - tp.getValue().floatValue();
float skt850Val = skt850.getValue().floatValue();
return new Amount(psshow, Unit.ONE);
if ((dir850Val < 130.) || (dir850Val > 250.)) }
shear = 0;
if ((dir500Val < 210.) || (dir500Val > 310.)) /**
shear = 0; * Computes the vertical totals index
if ((skt500Val < 15.) || (skt850Val < 15. )) *
shear = 0; * @param t850
if (dif <= 0) * - 850 mb temperature ( in Celsius )
shear = 0; * @param t500
* - 500 mb temperature ( in Celsius )
/*Check for sub-zero dewpoint*/ * @return the vertical totals index as a difference of the temperature at
float dwp850 = td850.getValue().floatValue(); * 850 mb and the temperature at 500 mb, if neither value is
if ( dwp850 < 0 ) * missing. Else it returns RMISSD (-9999)
dwp850 = 0; * @throws InvalidValueException
* @throws NullPointerException
/*Calculate SWEAT index*/ */
pssweat = 12 * dwp850 + 20 * term2 + 2 * skt850Val + skt500Val + shear; public final static Amount psVtot(Amount t850, Amount t500) {
return new Amount ( pssweat , Unit.ONE); if (!PRLibrary.checkNullOrInvalidValue(t850)
} || !PRLibrary.checkNullOrInvalidValue(t500))
return new Amount(Unit.ONE);
/**
* Finds the most unstable level of a sounding from the surface to the input pressure level. return new Amount(t850.getValue().floatValue()
* @param listOfNcSoundingLayer - the list of NcSoundingLayer to search - t500.getValue().floatValue(), Unit.ONE);
* @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 * Computes the total Totals index from the temperature and dewpoint at 850
*/ * mb and the temperature at 500 mb
public static NcSoundingLayer2 psUstb(List<NcSoundingLayer2> listOfNcSoundingLayer, PressureLevel plev ) throws Exception{ *
//TODO: update to find pressure value between 2 levels * @param t850
NcSoundingLayer2 outputNcSoundingLayer = new NcSoundingLayer2(); * - 850 mb temperature ( in Celsius )
class PressureComparator implements Comparator < NcSoundingLayer2>{ * @param td850
public int compare(NcSoundingLayer2 n1, NcSoundingLayer2 n2){ * - 850 mb dewpoint ( in Celsius )
return Float.compare(n2.getPressure().getValue().floatValue(), n1.getPressure().getValue().floatValue()); * @param t500
} * - 500 mb temperature ( in Celsius )
} * @return the total totals index if none of the input parameters are
if ( listOfNcSoundingLayer != null && listOfNcSoundingLayer.size() > 0 ){ * missing and RMISSD (-9999) otherwise
if ( listOfNcSoundingLayer.size() > 1 ) * @throws InvalidValueException
Collections.sort(listOfNcSoundingLayer, new PressureComparator() ); * @throws NullPointerException
*/
NcSoundingLayer2 surfaceLevelNcSoundingLayer = listOfNcSoundingLayer.get( 0 ); public final static Amount psTotl(Amount t850, Amount td850, Amount t500) {
PressureLevel pressureAtSurfaceLevel = surfaceLevelNcSoundingLayer.getPressure(); float pstotl = GempakConstants.RMISSD;
NcSoundingLayer2 topLevelNcSoundingLayer = PCLibrary.pcFtop( listOfNcSoundingLayer );
PressureLevel pressureAtTopLevel = topLevelNcSoundingLayer.getPressure(); if (!PRLibrary.checkNullOrInvalidValue(t500)
float plevVal = plev.getValue().floatValue(); || !PRLibrary.checkNullOrInvalidValue(td850)
float presAtSurfaceLevelValue = pressureAtSurfaceLevel.getValue().floatValue(); || !PRLibrary.checkNullOrInvalidValue(t850))
float presAtTopLevelVal = pressureAtTopLevel.getValue().floatValue(); return new Amount(Unit.ONE);
if( plevVal > presAtSurfaceLevelValue)
return outputNcSoundingLayer; /* Compute the vertical totals */
else if ( plevVal == -1 || plevVal <= presAtTopLevelVal ) Amount vtot = psVtot(t850, t500);
plev = pressureAtTopLevel;
/* Compute the cross totals */
Amount ctot = psCtot(td850, t500);
if (!PRLibrary.checkNullOrInvalidValue(vtot)
|| !PRLibrary.checkNullOrInvalidValue(ctot))
return new Amount(Unit.ONE);
pstotl = vtot.getValue().floatValue() + ctot.getValue().floatValue();
return new Amount(pstotl, Unit.ONE);
}
/**
* Computes the SWEAT index. Winds must be input in m/sec
*
* @param t850
* - 850 mb temperature
* @param td850
* - 850 mb dewpoint
* @param t500
* - 500 mb temperature
* @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 NullPointerException
*/
public final static Amount psSwet(Amount t850, Amount td850, Amount t500,
Amount spd850, Amount spd500, Amount dir850, Amount dir500) {
float pssweat = GempakConstants.RMISSD;
if (!PRLibrary.checkNullOrInvalidValue(t500)
|| !PRLibrary.checkNullOrInvalidValue(td850)
|| !PRLibrary.checkNullOrInvalidValue(t500)
|| !PRLibrary.checkNullOrInvalidValue(spd850)
|| !PRLibrary.checkNullOrInvalidValue(spd500)
|| !PRLibrary.checkNullOrInvalidValue(dir850)
|| !PRLibrary.checkNullOrInvalidValue(dir500))
return new Amount(Unit.ONE);
/*
* (Non-Javadoc): All computations are from Miller, R.C., 1972: Notes on
* Severe Storm Forecasting Procedures of the Air Force Global Weather
* Central, AWS Tech. Report 200
*/
/* Convert meters per second to knots */
Amount skt850 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(
spd850, NonSI.KNOT);
Amount skt500 = PRLibrary.checkAndConvertInputAmountToExpectedUnits(
spd500, NonSI.KNOT);
/* Compute the total totals index. If < 49, set term to zero. */
float total = psTotl(t850, td850, t500).getValue().floatValue();
float term2 = total - 49;
if (total < 49)
term2 = 0;
/* Compute shear term. */
float dif = dir500.getValue().floatValue()
- dir850.getValue().floatValue();
float s = (float) (Math.sin(dif * GempakConstants.DTR));
float shear = 125 * (s + 0.2f);
/* Make various wind checks. */
float dir850Val = dir850.getValue().floatValue();
float dir500Val = dir500.getValue().floatValue();
float skt500Val = skt500.getValue().floatValue();
float skt850Val = skt850.getValue().floatValue();
if ((dir850Val < 130.) || (dir850Val > 250.))
shear = 0;
if ((dir500Val < 210.) || (dir500Val > 310.))
shear = 0;
if ((skt500Val < 15.) || (skt850Val < 15.))
shear = 0;
if (dif <= 0)
shear = 0;
/* Check for sub-zero dewpoint */
float dwp850 = td850.getValue().floatValue();
if (dwp850 < 0)
dwp850 = 0;
/* Calculate SWEAT index */
pssweat = 12 * dwp850 + 20 * term2 + 2 * skt850Val + skt500Val + shear;
return new Amount(pssweat, Unit.ONE);
}
/**
* Finds the most unstable level of a sounding from the surface to the input
* pressure level.
*
* @param listOfNcSoundingLayer
* - 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
*/
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
NcSoundingLayer2 outputNcSoundingLayer = new NcSoundingLayer2();
class PressureComparator implements Comparator<NcSoundingLayer2> {
public int compare(NcSoundingLayer2 n1, NcSoundingLayer2 n2) {
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.size() > 1)
Collections.sort(listOfNcSoundingLayer,
new PressureComparator());
// System.out.println(" PSLibrary/psUstb 2 ");
NcSoundingLayer2 surfaceLevelNcSoundingLayer = listOfNcSoundingLayer
.get(0);
PressureLevel pressureAtSurfaceLevel = surfaceLevelNcSoundingLayer
.getPressure();
NcSoundingLayer2 topLevelNcSoundingLayer = PCLibrary
.pcFtop(listOfNcSoundingLayer);
PressureLevel pressureAtTopLevel = topLevelNcSoundingLayer
.getPressure();
float plevVal = plev.getValue().floatValue();
float presAtSurfaceLevelValue = pressureAtSurfaceLevel.getValue()
.floatValue();
float presAtTopLevelVal = pressureAtTopLevel.getValue()
.floatValue();
if (plevVal > presAtSurfaceLevelValue)
return outputNcSoundingLayer;
else if (plevVal == -1 || plevVal <= presAtTopLevelVal)
plev = pressureAtTopLevel;
// System.out.println(" PSLibrary/psUstb 3 ");
int sizeOfList = listOfNcSoundingLayer.size();
boolean done = false;
int lev = 0;
float eps = GempakConstants.RMISSD;
while (!done && lev < sizeOfList) {
NcSoundingLayer2 currNcSoundingLayer = listOfNcSoundingLayer
.get(lev);
// System.out.println(" PSLibrary/psUstb 4 ");
Amount pressure = new Amount(currNcSoundingLayer.getPressure()
.getValue(), NcUnits.MILLIBAR);
Amount tmpc = new Amount(currNcSoundingLayer.getTemperature()
.getValue(), SI.CELSIUS);
Amount dwpc = new Amount(currNcSoundingLayer.getDewpoint()
.getValue(), SI.CELSIUS);
if (pressure.hasValidValue() && tmpc.hasValidValue()
&& dwpc.hasValidValue()) {
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));
if (thwc.getValue().floatValue() > eps
&& (pressure.getValue().floatValue() >= plevVal)) {
eps = thwc.getValue().floatValue();
outputNcSoundingLayer.setPressure(currNcSoundingLayer
.getPressure());
outputNcSoundingLayer
.setTemperature(currNcSoundingLayer
.getTemperature());
outputNcSoundingLayer.setDewpoint(currNcSoundingLayer
.getDewpoint());
outputNcSoundingLayer.setWindSpeed(currNcSoundingLayer
.getWindSpeed());
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: "
// + outputNcSoundingLayer.getPressure().getValueAs(
// NcUnits.MILLIBAR ).floatValue() + " "
// + outputNcSoundingLayer.getTemperature().getValueAs(
// SI.CELSIUS ).floatValue() + " "
// + outputNcSoundingLayer.getDewpoint().getValueAs(
// 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("lev is " + lev );
lev++;
if (pressure.hasValidValue()
&& pressure.getValue().floatValue() <= plevVal) {
done = true;
break;
}
}
}
//System.out.println("PSLibrary/psUstb Outdat: "
// + outputNcSoundingLayer.getPressure().getValue().floatValue()
// + " "
// + outputNcSoundingLayer.getTemperature().getValue()
// .floatValue()
// + " "
// + outputNcSoundingLayer.getDewpoint().getValue().floatValue()
// + " "
// + outputNcSoundingLayer.getWindSpeed().getValue().floatValue()
// + " "
// + outputNcSoundingLayer.getWindDirection().getValue()
// .floatValue() + " "
// + outputNcSoundingLayer.getGeoHeight().getValue().floatValue());
return outputNcSoundingLayer;
}
int sizeOfList = listOfNcSoundingLayer.size();
boolean done = false;
int lev = 0;
float eps = GempakConstants.RMISSD;
while ( !done && lev < sizeOfList){
NcSoundingLayer2 currNcSoundingLayer = listOfNcSoundingLayer.get( lev );
Amount pressure = new Amount ( currNcSoundingLayer.getPressure().getValue(), NcUnits.MILLIBAR );
Amount tmpc = new Amount ( currNcSoundingLayer.getTemperature().getValue(), SI.CELSIUS );
Amount dwpc = new Amount ( currNcSoundingLayer.getDewpoint().getValue(), SI.CELSIUS );
if ( pressure.hasValidValue() && tmpc.hasValidValue() && dwpc.hasValidValue() ){
WetBulbPotentialTemp thwc = new WetBulbPotentialTemp();
thwc.setValue( PRLibrary.prThwc ( pressure, tmpc, dwpc ) );
if ( thwc.getValue().floatValue() > eps && ( pressure.getValue().floatValue() >= plevVal ) ){
eps = thwc.getValue().floatValue();
outputNcSoundingLayer.setPressure( currNcSoundingLayer.getPressure() );
outputNcSoundingLayer.setTemperature( currNcSoundingLayer.getTemperature() );
outputNcSoundingLayer.setDewpoint( currNcSoundingLayer.getDewpoint() );
outputNcSoundingLayer.setWindSpeed( currNcSoundingLayer.getWindSpeed() );
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: "
// + outputNcSoundingLayer.getPressure().getValueAs( NcUnits.MILLIBAR ).floatValue() + " "
// + outputNcSoundingLayer.getTemperature().getValueAs( SI.CELSIUS ).floatValue() + " "
// + outputNcSoundingLayer.getDewpoint().getValueAs( 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("lev is " + lev );
lev++;
if ( pressure.hasValidValue() && pressure.getValue().floatValue() <= plevVal ){
done = true;
break;
}
}
}
System.out.println("From PS_USTB Outdat: "
+ outputNcSoundingLayer.getPressure().getValue().floatValue() + " "
+ outputNcSoundingLayer.getTemperature().getValue().floatValue() + " "
+ outputNcSoundingLayer.getDewpoint().getValue().floatValue() + " "
+ outputNcSoundingLayer.getWindSpeed().getValue().floatValue() + " "
+ outputNcSoundingLayer.getWindDirection().getValue().floatValue() + " "
+ outputNcSoundingLayer.getGeoHeight().getValue().floatValue() );
return outputNcSoundingLayer;
}
} }

View file

@ -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>

View file

@ -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);

View file

@ -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>

View file

@ -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>
@ -219,4 +223,4 @@
<value>sref40Derv</value> <value>sref40Derv</value>
</entry> </entry>
</mapping> </mapping>
</ncgribModelNameMap> </ncgribModelNameMap>

View file

@ -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"

View file

@ -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>

View file

@ -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"

View file

@ -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>

View file

@ -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>

View file

@ -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

View file

@ -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