From ff4da2f31ee015c5be797b2c93859bc248920ad5 Mon Sep 17 00:00:00 2001 From: Stephen Gilbert Date: Thu, 15 May 2014 14:50:35 -0400 Subject: [PATCH 01/35] VLab Issue #3720 - NCEP EDEX and EDEX Common delivery for 14.3.1 Table updates for GRIB decoding; Updates to gpd, mcidas, pafm, and pgen plugins Change-Id: Ic6874210998d7f5a6b164ef45c6918246388ee68 Former-commit-id: ff3f1d5997b1a87d3dddc7ca3b3893602eba510e --- .../build.edex/opt/db/ddl/ncep/loadSnap.sql | 7521 +++++++++-------- .../build.edex/opt/db/ddl/ncep/loadSnap8.sql | 3008 ++----- .../build.edex/opt/db/ddl/ncep/loadVors.sql | 33 +- .../base/grid/grib1ParameterConvTable.xml | 11 + .../edex_static/base/grib/grids/cmcHR.xml | 36 + .../edex_static/base/grib/grids/estofsAK.xml | 36 + .../edex_static/base/grib/grids/estofsHW.xml | 37 + .../base/grib/models/gribModels_NCEP-7.xml | 30 +- .../base/grib/models/gribModels_RSMC-54.xml | 10 + .../base/grib/thinnedModels/UkmetHR-NH.xml | 2 +- .../common_static/base/level/alias/gempak.xml | 3 +- .../base/parameter/alias/gempak.xml | 3 +- .../impl/src/pgen/ActivityUtil.py | 175 + .../impl/src/pgen/ProductRetriever.py | 16 +- .../impl/src/pgen/retrieveActivity.py | 213 +- .../impl/src/pgen/storeActivity.py | 84 +- .../META-INF/MANIFEST.MF | 1 + .../gpd/GenericPointDataConstants.java | 9 +- .../gpd/GenericPointDataRecord.java | 49 +- .../gpd/dao/GenericPointDataDao.java | 442 +- .../gpd/product/GenericPointDataLevel.java | 4 + .../product/GenericPointDataParameter.java | 4 + .../GenericPointDataProductContainer.java | 6 +- .../product/GenericPointDataProductInfo.java | 5 + .../GenericPointDataStationProduct.java | 43 +- .../gpd/query/GenericPointDataQuery.java | 14 +- .../gpd/query/GenericPointDataReqMsg.java | 59 +- .../dataplugin/mcidas/McidasMapCoverage.java | 37 +- .../mcidas/McidasSpatialFactory.java | 74 +- .../common/dataplugin/pgen/ActivityInfo.java | 17 +- .../common/dataplugin/pgen/PgenRecord.java | 3 + .../staticdata/IStaticDataProvider.java | 154 +- .../edex/common/metparameters/Amount.java | 566 +- .../edex/common/sounding/NcSoundingLayer.java | 297 +- .../nws/ncep/edex/util/McidasCRSBuilder.java | 99 + .../edex/plugin/aww/decoder/AwwDecoder.java | 110 +- .../ncep/edex/plugin/aww/util/AwwParser.java | 3136 +++---- .../handler/StationDataRequestHandler.java | 30 +- .../META-INF/MANIFEST.MF | 4 +- .../gpd/decoder/GenericPointDataDecoder.java | 165 +- .../GenericPointDataRequestHandler.java | 52 +- .../res/spring/ncgrib-file-endpoint.xml | 101 +- ...oaa.nws.ncep.edex.plugin.ncgrib.properties | 7 + .../ncgrib/NcgribFileNameProcessor.java | 82 +- .../edex/plugin/ncpafm/util/NcPafmParser.java | 3392 ++++---- .../edex_static/base/distribution/ncpafm.xml | 2 +- .../tasks/profile/MdlSoundingQuery.java | 1786 ++-- .../uengine/tasks/profile/MergeSounding.java | 33 +- .../edex/plugin/ffg/util/FfgParserTest.java | 31 +- .../tasks/profile/MergeSoundingTest.java | 748 +- 50 files changed, 11509 insertions(+), 11271 deletions(-) create mode 100644 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/cmcHR.xml create mode 100755 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsAK.xml create mode 100755 edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml create mode 100644 edexOsgi/com.raytheon.uf.tools.cli/impl/src/pgen/ActivityUtil.py create mode 100644 ncep/gov.noaa.nws.ncep.edex.common/src/gov/noaa/nws/ncep/edex/util/McidasCRSBuilder.java create mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.ncgrib/resources/gov.noaa.nws.ncep.edex.plugin.ncgrib.properties diff --git a/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap.sql b/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap.sql index 81010d51c9..e821102ee7 100644 --- a/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap.sql +++ b/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap.sql @@ -308,99 +308,103 @@ PQI00047, 9,240NNE_PQI ,50.44,-65.69, 2 PQI00048, 9,20NE_PQI ,47.01,-67.74, 2 PQI00049, 9,30NE_PQI ,47.12,-67.57, 2 PQI00050, 9,40NE_PQI ,47.24,-67.40, 2 -PQI00051, 9,90NE_PQI ,47.82,-66.51, 2 -PQI00052, 9,100NE_PQI ,47.93,-66.33, 2 -PQI00053, 9,110NE_PQI ,48.05,-66.15, 2 -PQI00054, 9,120NE_PQI ,48.16,-65.97, 2 -PQI00055, 9,130NE_PQI ,48.28,-65.79, 2 -PQI00056, 9,140NE_PQI ,48.39,-65.61, 2 -PQI00057, 9,150NE_PQI ,48.51,-65.42, 2 -PQI00058, 9,160NE_PQI ,48.62,-65.24, 2 -PQI00059, 9,170NE_PQI ,48.73,-65.05, 2 -PQI00060, 9,180NE_PQI ,48.85,-64.87, 2 -PQI00061, 9,190NE_PQI ,48.96,-64.68, 2 -PQI00062, 9,200NE_PQI ,49.07,-64.49, 2 -PQI00063, 9,210NE_PQI ,49.18,-64.31, 2 -PQI00064, 9,220NE_PQI ,49.29,-64.12, 2 -PQI00065, 9,230NE_PQI ,49.41,-63.93, 2 -PQI00066, 9,240NE_PQI ,49.52,-63.74, 2 -PQI00067, 9,250NE_PQI ,49.63,-63.54, 2 -PQI00068, 9,20ENE_PQI ,46.90,-67.64, 2 -PQI00069, 9,30ENE_PQI ,46.96,-67.41, 2 -PQI00070, 9,40ENE_PQI ,47.02,-67.19, 2 -PQI00071, 9,50ENE_PQI ,47.08,-66.96, 2 -PQI00072, 9,60ENE_PQI ,47.14,-66.73, 2 -PQI00073, 9,70ENE_PQI ,47.21,-66.50, 2 -PQI00074, 9,80ENE_PQI ,47.27,-66.28, 2 -PQI00075, 9,90ENE_PQI ,47.33,-66.05, 2 -PQI00076, 9,100ENE_PQI ,47.39,-65.82, 2 -PQI00077, 9,110ENE_PQI ,47.44,-65.59, 2 -PQI00078, 9,120ENE_PQI ,47.50,-65.36, 2 -PQI00079, 9,130ENE_PQI ,47.56,-65.13, 2 -PQI00080, 9,140ENE_PQI ,47.62,-64.89, 2 -PQI00081, 9,150ENE_PQI ,47.68,-64.66, 2 -PQI00082, 9,160ENE_PQI ,47.73,-64.43, 2 -PQI00083, 9,20E_PQI ,46.77,-67.60, 2 -PQI00084, 9,30E_PQI ,46.77,-67.36, 2 -PQI00085, 9,40E_PQI ,46.77,-67.12, 2 -PQI00086, 9,50E_PQI ,46.76,-66.87, 2 -PQI00087, 9,60E_PQI ,46.76,-66.63, 2 -PQI00088, 9,70E_PQI ,46.76,-66.39, 2 -PQI00089, 9,80E_PQI ,46.75,-66.15, 2 -PQI00090, 9,90E_PQI ,46.75,-65.90, 2 -PQI00091, 9,20ESE_PQI ,46.64,-67.64, 2 -PQI00092, 9,30ESE_PQI ,46.58,-67.42, 2 -PQI00093, 9,40ESE_PQI ,46.51,-67.20, 2 -PQI00094, 9,50ESE_PQI ,46.45,-66.97, 2 -PQI00095, 9,20SE_PQI ,46.53,-67.75, 2 -PQI00096, 9,30SE_PQI ,46.42,-67.58, 2 -PQI00097, 9,20SSE_PQI ,46.46,-67.90, 2 -PQI00098, 9,30SSE_PQI ,46.31,-67.81, 2 -PQI00099, 9,20S_PQI ,46.44,-68.09, 2 -PQI00100, 9,30S_PQI ,46.27,-68.09, 2 -PQI00101, 9,20SSW_PQI ,46.46,-68.28, 2 -PQI00102, 9,30SSW_PQI ,46.31,-68.37, 2 -PQI00103, 9,20SW_PQI ,46.53,-68.43, 2 -PQI00104, 9,30SW_PQI ,46.42,-68.60, 2 -PQI00105, 9,40SW_PQI ,46.30,-68.77, 2 -PQI00106, 9,50SW_PQI ,46.18,-68.94, 2 -PQI00107, 9,20WSW_PQI ,46.64,-68.54, 2 -PQI00108, 9,30WSW_PQI ,46.58,-68.76, 2 -PQI00109, 9,40WSW_PQI ,46.51,-68.98, 2 -PQI00110, 9,50WSW_PQI ,46.45,-69.21, 2 -PQI00111, 9,60WSW_PQI ,46.38,-69.43, 2 -PQI00112, 9,70WSW_PQI ,46.31,-69.65, 2 -PQI00113, 9,20W_PQI ,46.77,-68.58, 2 -PQI00114, 9,30W_PQI ,46.77,-68.82, 2 -PQI00115, 9,40W_PQI ,46.77,-69.06, 2 -PQI00116, 9,50W_PQI ,46.76,-69.31, 2 -PQI00117, 9,60W_PQI ,46.76,-69.55, 2 -PQI00118, 9,20WNW_PQI ,46.90,-68.54, 2 -PQI00119, 9,30WNW_PQI ,46.96,-68.77, 2 -PQI00120, 9,40WNW_PQI ,47.02,-68.99, 2 -PQI00121, 9,50WNW_PQI ,47.08,-69.22, 2 -PQI00122, 9,60WNW_PQI ,47.14,-69.45, 2 -PQI00123, 9,70WNW_PQI ,47.21,-69.68, 2 -PQI00124, 9,20NW_PQI ,47.01,-68.44, 2 -PQI00125, 9,30NW_PQI ,47.12,-68.61, 2 -PQI00126, 9,40NW_PQI ,47.24,-68.78, 2 -PQI00127, 9,90NW_PQI ,47.82,-69.67, 2 -PQI00128, 9,20NNW_PQI ,47.08,-68.28, 2 -PQI00129, 9,30NNW_PQI ,47.23,-68.37, 2 -PQI00130, 9,40NNW_PQI ,47.38,-68.47, 2 -PQI00131, 9,50NNW_PQI ,47.54,-68.56, 2 -PQI00132, 9,60NNW_PQI ,47.69,-68.66, 2 -PQI00133, 9,70NNW_PQI ,47.85,-68.75, 2 -PQI00134, 9,80NNW_PQI ,48.00,-68.85, 2 -PQI00135, 9,90NNW_PQI ,48.15,-68.95, 2 -PQI00136, 9,100NNW_PQI ,48.30,-69.05, 2 -PQI00137, 9,110NNW_PQI ,48.46,-69.15, 2 -PQI00138, 9,120NNW_PQI ,48.61,-69.25, 2 -PQI00139, 9,130NNW_PQI ,48.76,-69.35, 2 -PQI00140, 9,140NNW_PQI ,48.92,-69.45, 2 -PQI00141, 9,150NNW_PQI ,49.07,-69.55, 2 -PQI00142, 9,160NNW_PQI ,49.22,-69.65, 2 -PQI00143, 9,170NNW_PQI ,49.37,-69.75, 2 +PQI00051, 9,50NE_PQI ,47.36,-67.22, 2 +PQI00052, 9,80NE_PQI ,47.70,-66.69, 2 +PQI00053, 9,90NE_PQI ,47.82,-66.51, 2 +PQI00054, 9,100NE_PQI ,47.93,-66.33, 2 +PQI00055, 9,110NE_PQI ,48.05,-66.15, 2 +PQI00056, 9,120NE_PQI ,48.16,-65.97, 2 +PQI00057, 9,130NE_PQI ,48.28,-65.79, 2 +PQI00058, 9,140NE_PQI ,48.39,-65.61, 2 +PQI00059, 9,150NE_PQI ,48.51,-65.42, 2 +PQI00060, 9,160NE_PQI ,48.62,-65.24, 2 +PQI00061, 9,170NE_PQI ,48.73,-65.05, 2 +PQI00062, 9,180NE_PQI ,48.85,-64.87, 2 +PQI00063, 9,190NE_PQI ,48.96,-64.68, 2 +PQI00064, 9,200NE_PQI ,49.07,-64.49, 2 +PQI00065, 9,210NE_PQI ,49.18,-64.31, 2 +PQI00066, 9,220NE_PQI ,49.29,-64.12, 2 +PQI00067, 9,230NE_PQI ,49.41,-63.93, 2 +PQI00068, 9,240NE_PQI ,49.52,-63.74, 2 +PQI00069, 9,250NE_PQI ,49.63,-63.54, 2 +PQI00070, 9,20ENE_PQI ,46.90,-67.64, 2 +PQI00071, 9,30ENE_PQI ,46.96,-67.41, 2 +PQI00072, 9,40ENE_PQI ,47.02,-67.19, 2 +PQI00073, 9,50ENE_PQI ,47.08,-66.96, 2 +PQI00074, 9,60ENE_PQI ,47.14,-66.73, 2 +PQI00075, 9,70ENE_PQI ,47.21,-66.50, 2 +PQI00076, 9,80ENE_PQI ,47.27,-66.28, 2 +PQI00077, 9,90ENE_PQI ,47.33,-66.05, 2 +PQI00078, 9,100ENE_PQI ,47.39,-65.82, 2 +PQI00079, 9,110ENE_PQI ,47.44,-65.59, 2 +PQI00080, 9,120ENE_PQI ,47.50,-65.36, 2 +PQI00081, 9,130ENE_PQI ,47.56,-65.13, 2 +PQI00082, 9,140ENE_PQI ,47.62,-64.89, 2 +PQI00083, 9,150ENE_PQI ,47.68,-64.66, 2 +PQI00084, 9,160ENE_PQI ,47.73,-64.43, 2 +PQI00085, 9,20E_PQI ,46.77,-67.60, 2 +PQI00086, 9,30E_PQI ,46.77,-67.36, 2 +PQI00087, 9,40E_PQI ,46.77,-67.12, 2 +PQI00088, 9,50E_PQI ,46.76,-66.87, 2 +PQI00089, 9,60E_PQI ,46.76,-66.63, 2 +PQI00090, 9,70E_PQI ,46.76,-66.39, 2 +PQI00091, 9,80E_PQI ,46.75,-66.15, 2 +PQI00092, 9,90E_PQI ,46.75,-65.90, 2 +PQI00093, 9,20ESE_PQI ,46.64,-67.64, 2 +PQI00094, 9,30ESE_PQI ,46.58,-67.42, 2 +PQI00095, 9,40ESE_PQI ,46.51,-67.20, 2 +PQI00096, 9,50ESE_PQI ,46.45,-66.97, 2 +PQI00097, 9,20SE_PQI ,46.53,-67.75, 2 +PQI00098, 9,30SE_PQI ,46.42,-67.58, 2 +PQI00099, 9,20SSE_PQI ,46.46,-67.90, 2 +PQI00100, 9,30SSE_PQI ,46.31,-67.81, 2 +PQI00101, 9,20S_PQI ,46.44,-68.09, 2 +PQI00102, 9,30S_PQI ,46.27,-68.09, 2 +PQI00103, 9,20SSW_PQI ,46.46,-68.28, 2 +PQI00104, 9,30SSW_PQI ,46.31,-68.37, 2 +PQI00105, 9,20SW_PQI ,46.53,-68.43, 2 +PQI00106, 9,30SW_PQI ,46.42,-68.60, 2 +PQI00107, 9,40SW_PQI ,46.30,-68.77, 2 +PQI00108, 9,50SW_PQI ,46.18,-68.94, 2 +PQI00109, 9,20WSW_PQI ,46.64,-68.54, 2 +PQI00110, 9,30WSW_PQI ,46.58,-68.76, 2 +PQI00111, 9,40WSW_PQI ,46.51,-68.98, 2 +PQI00112, 9,50WSW_PQI ,46.45,-69.21, 2 +PQI00113, 9,60WSW_PQI ,46.38,-69.43, 2 +PQI00114, 9,70WSW_PQI ,46.31,-69.65, 2 +PQI00115, 9,20W_PQI ,46.77,-68.58, 2 +PQI00116, 9,30W_PQI ,46.77,-68.82, 2 +PQI00117, 9,40W_PQI ,46.77,-69.06, 2 +PQI00118, 9,50W_PQI ,46.76,-69.31, 2 +PQI00119, 9,60W_PQI ,46.76,-69.55, 2 +PQI00120, 9,20WNW_PQI ,46.90,-68.54, 2 +PQI00121, 9,30WNW_PQI ,46.96,-68.77, 2 +PQI00122, 9,40WNW_PQI ,47.02,-68.99, 2 +PQI00123, 9,50WNW_PQI ,47.08,-69.22, 2 +PQI00124, 9,60WNW_PQI ,47.14,-69.45, 2 +PQI00125, 9,70WNW_PQI ,47.21,-69.68, 2 +PQI00126, 9,20NW_PQI ,47.01,-68.44, 2 +PQI00127, 9,30NW_PQI ,47.12,-68.61, 2 +PQI00128, 9,40NW_PQI ,47.24,-68.78, 2 +PQI00129, 9,50NW_PQI ,47.36,-68.96, 2 +PQI00130, 9,80NW_PQI ,47.70,-69.49, 2 +PQI00131, 9,90NW_PQI ,47.82,-69.67, 2 +PQI00132, 9,20NNW_PQI ,47.08,-68.28, 2 +PQI00133, 9,30NNW_PQI ,47.23,-68.37, 2 +PQI00134, 9,40NNW_PQI ,47.38,-68.47, 2 +PQI00135, 9,50NNW_PQI ,47.54,-68.56, 2 +PQI00136, 9,60NNW_PQI ,47.69,-68.66, 2 +PQI00137, 9,70NNW_PQI ,47.85,-68.75, 2 +PQI00138, 9,80NNW_PQI ,48.00,-68.85, 2 +PQI00139, 9,90NNW_PQI ,48.15,-68.95, 2 +PQI00140, 9,100NNW_PQI ,48.30,-69.05, 2 +PQI00141, 9,110NNW_PQI ,48.46,-69.15, 2 +PQI00142, 9,120NNW_PQI ,48.61,-69.25, 2 +PQI00143, 9,130NNW_PQI ,48.76,-69.35, 2 +PQI00144, 9,140NNW_PQI ,48.92,-69.45, 2 +PQI00145, 9,150NNW_PQI ,49.07,-69.55, 2 +PQI00146, 9,160NNW_PQI ,49.22,-69.65, 2 +PQI00147, 9,170NNW_PQI ,49.37,-69.75, 2 MLT00000, 9,MLT ,45.58,-68.52, 1 MLT00001, 9,20ESE_MLT ,45.45,-68.08, 2 MLT00002, 9,20SE_MLT ,45.34,-68.18, 2 @@ -600,79 +604,81 @@ ACK00092, 9,150SE_ACK ,39.49,-67.74, 2 ACK00093, 9,160SE_ACK ,39.37,-67.59, 2 ACK00094, 9,170SE_ACK ,39.25,-67.44, 2 ACK00095, 9,180SE_ACK ,39.13,-67.30, 2 -ACK00096, 9,230SE_ACK ,38.52,-66.57, 2 -ACK00097, 9,240SE_ACK ,38.40,-66.42, 2 -ACK00098, 9,250SE_ACK ,38.27,-66.28, 2 -ACK00099, 9,20SSE_ACK ,40.97,-69.86, 2 -ACK00100, 9,30SSE_ACK ,40.82,-69.78, 2 -ACK00101, 9,40SSE_ACK ,40.66,-69.69, 2 -ACK00102, 9,50SSE_ACK ,40.51,-69.61, 2 -ACK00103, 9,60SSE_ACK ,40.36,-69.53, 2 -ACK00104, 9,70SSE_ACK ,40.20,-69.45, 2 -ACK00105, 9,80SSE_ACK ,40.05,-69.36, 2 -ACK00106, 9,90SSE_ACK ,39.89,-69.28, 2 -ACK00107, 9,100SSE_ACK ,39.74,-69.20, 2 -ACK00108, 9,110SSE_ACK ,39.58,-69.12, 2 -ACK00109, 9,120SSE_ACK ,39.43,-69.04, 2 -ACK00110, 9,130SSE_ACK ,39.27,-68.96, 2 -ACK00111, 9,140SSE_ACK ,39.12,-68.88, 2 -ACK00112, 9,150SSE_ACK ,38.97,-68.80, 2 -ACK00113, 9,160SSE_ACK ,38.81,-68.72, 2 -ACK00114, 9,170SSE_ACK ,38.66,-68.64, 2 -ACK00115, 9,180SSE_ACK ,38.50,-68.56, 2 -ACK00116, 9,190SSE_ACK ,38.35,-68.49, 2 -ACK00117, 9,200SSE_ACK ,38.19,-68.41, 2 -ACK00118, 9,210SSE_ACK ,38.04,-68.33, 2 -ACK00119, 9,220SSE_ACK ,37.88,-68.25, 2 -ACK00120, 9,230SSE_ACK ,37.73,-68.18, 2 -ACK00121, 9,240SSE_ACK ,37.57,-68.10, 2 -ACK00122, 9,20S_ACK ,40.95,-70.03, 2 -ACK00123, 9,30S_ACK ,40.78,-70.03, 2 -ACK00124, 9,40S_ACK ,40.61,-70.03, 2 -ACK00125, 9,50S_ACK ,40.45,-70.03, 2 -ACK00126, 9,60S_ACK ,40.28,-70.03, 2 -ACK00127, 9,70S_ACK ,40.11,-70.03, 2 -ACK00128, 9,80S_ACK ,39.95,-70.03, 2 -ACK00129, 9,90S_ACK ,39.78,-70.03, 2 -ACK00130, 9,100S_ACK ,39.61,-70.03, 2 -ACK00131, 9,110S_ACK ,39.45,-70.03, 2 -ACK00132, 9,120S_ACK ,39.28,-70.03, 2 -ACK00133, 9,130S_ACK ,39.11,-70.03, 2 -ACK00134, 9,140S_ACK ,38.95,-70.03, 2 -ACK00135, 9,150S_ACK ,38.78,-70.03, 2 -ACK00136, 9,160S_ACK ,38.62,-70.03, 2 -ACK00137, 9,170S_ACK ,38.45,-70.03, 2 -ACK00138, 9,180S_ACK ,38.28,-70.03, 2 -ACK00139, 9,190S_ACK ,38.12,-70.03, 2 -ACK00140, 9,200S_ACK ,37.95,-70.03, 2 -ACK00141, 9,210S_ACK ,37.78,-70.03, 2 -ACK00142, 9,220S_ACK ,37.62,-70.03, 2 -ACK00143, 9,230S_ACK ,37.45,-70.03, 2 -ACK00144, 9,240S_ACK ,37.28,-70.03, 2 -ACK00145, 9,250S_ACK ,37.12,-70.03, 2 -ACK00146, 9,20SSW_ACK ,40.97,-70.20, 2 -ACK00147, 9,30SSW_ACK ,40.82,-70.28, 2 -ACK00148, 9,40SSW_ACK ,40.66,-70.37, 2 -ACK00149, 9,50SSW_ACK ,40.51,-70.45, 2 -ACK00150, 9,60SSW_ACK ,40.36,-70.53, 2 -ACK00151, 9,70SSW_ACK ,40.20,-70.61, 2 -ACK00152, 9,80SSW_ACK ,40.05,-70.70, 2 -ACK00153, 9,90SSW_ACK ,39.89,-70.78, 2 -ACK00154, 9,20SW_ACK ,41.04,-70.34, 2 -ACK00155, 9,30SW_ACK ,40.93,-70.50, 2 -ACK00156, 9,40SW_ACK ,40.81,-70.65, 2 -ACK00157, 9,50SW_ACK ,40.69,-70.81, 2 -ACK00158, 9,60SW_ACK ,40.57,-70.96, 2 -ACK00159, 9,20WSW_ACK ,41.15,-70.44, 2 -ACK00160, 9,30WSW_ACK ,41.09,-70.64, 2 -ACK00161, 9,40WSW_ACK ,41.02,-70.85, 2 -ACK00162, 9,20W_ACK ,41.28,-70.47, 2 -ACK00163, 9,30W_ACK ,41.28,-70.69, 2 -ACK00164, 9,20WNW_ACK ,41.41,-70.44, 2 -ACK00165, 9,20NW_ACK ,41.52,-70.34, 2 -ACK00166, 9,30NW_ACK ,41.63,-70.50, 2 -ACK00167, 9,20NNW_ACK ,41.59,-70.20, 2 -ACK00168, 9,30NNW_ACK ,41.74,-70.29, 2 +ACK00096, 9,190SE_ACK ,39.01,-67.15, 2 +ACK00097, 9,220SE_ACK ,38.64,-66.71, 2 +ACK00098, 9,230SE_ACK ,38.52,-66.57, 2 +ACK00099, 9,240SE_ACK ,38.40,-66.42, 2 +ACK00100, 9,250SE_ACK ,38.27,-66.28, 2 +ACK00101, 9,20SSE_ACK ,40.97,-69.86, 2 +ACK00102, 9,30SSE_ACK ,40.82,-69.78, 2 +ACK00103, 9,40SSE_ACK ,40.66,-69.69, 2 +ACK00104, 9,50SSE_ACK ,40.51,-69.61, 2 +ACK00105, 9,60SSE_ACK ,40.36,-69.53, 2 +ACK00106, 9,70SSE_ACK ,40.20,-69.45, 2 +ACK00107, 9,80SSE_ACK ,40.05,-69.36, 2 +ACK00108, 9,90SSE_ACK ,39.89,-69.28, 2 +ACK00109, 9,100SSE_ACK ,39.74,-69.20, 2 +ACK00110, 9,110SSE_ACK ,39.58,-69.12, 2 +ACK00111, 9,120SSE_ACK ,39.43,-69.04, 2 +ACK00112, 9,130SSE_ACK ,39.27,-68.96, 2 +ACK00113, 9,140SSE_ACK ,39.12,-68.88, 2 +ACK00114, 9,150SSE_ACK ,38.97,-68.80, 2 +ACK00115, 9,160SSE_ACK ,38.81,-68.72, 2 +ACK00116, 9,170SSE_ACK ,38.66,-68.64, 2 +ACK00117, 9,180SSE_ACK ,38.50,-68.56, 2 +ACK00118, 9,190SSE_ACK ,38.35,-68.49, 2 +ACK00119, 9,200SSE_ACK ,38.19,-68.41, 2 +ACK00120, 9,210SSE_ACK ,38.04,-68.33, 2 +ACK00121, 9,220SSE_ACK ,37.88,-68.25, 2 +ACK00122, 9,230SSE_ACK ,37.73,-68.18, 2 +ACK00123, 9,240SSE_ACK ,37.57,-68.10, 2 +ACK00124, 9,20S_ACK ,40.95,-70.03, 2 +ACK00125, 9,30S_ACK ,40.78,-70.03, 2 +ACK00126, 9,40S_ACK ,40.61,-70.03, 2 +ACK00127, 9,50S_ACK ,40.45,-70.03, 2 +ACK00128, 9,60S_ACK ,40.28,-70.03, 2 +ACK00129, 9,70S_ACK ,40.11,-70.03, 2 +ACK00130, 9,80S_ACK ,39.95,-70.03, 2 +ACK00131, 9,90S_ACK ,39.78,-70.03, 2 +ACK00132, 9,100S_ACK ,39.61,-70.03, 2 +ACK00133, 9,110S_ACK ,39.45,-70.03, 2 +ACK00134, 9,120S_ACK ,39.28,-70.03, 2 +ACK00135, 9,130S_ACK ,39.11,-70.03, 2 +ACK00136, 9,140S_ACK ,38.95,-70.03, 2 +ACK00137, 9,150S_ACK ,38.78,-70.03, 2 +ACK00138, 9,160S_ACK ,38.62,-70.03, 2 +ACK00139, 9,170S_ACK ,38.45,-70.03, 2 +ACK00140, 9,180S_ACK ,38.28,-70.03, 2 +ACK00141, 9,190S_ACK ,38.12,-70.03, 2 +ACK00142, 9,200S_ACK ,37.95,-70.03, 2 +ACK00143, 9,210S_ACK ,37.78,-70.03, 2 +ACK00144, 9,220S_ACK ,37.62,-70.03, 2 +ACK00145, 9,230S_ACK ,37.45,-70.03, 2 +ACK00146, 9,240S_ACK ,37.28,-70.03, 2 +ACK00147, 9,250S_ACK ,37.12,-70.03, 2 +ACK00148, 9,20SSW_ACK ,40.97,-70.20, 2 +ACK00149, 9,30SSW_ACK ,40.82,-70.28, 2 +ACK00150, 9,40SSW_ACK ,40.66,-70.37, 2 +ACK00151, 9,50SSW_ACK ,40.51,-70.45, 2 +ACK00152, 9,60SSW_ACK ,40.36,-70.53, 2 +ACK00153, 9,70SSW_ACK ,40.20,-70.61, 2 +ACK00154, 9,80SSW_ACK ,40.05,-70.70, 2 +ACK00155, 9,90SSW_ACK ,39.89,-70.78, 2 +ACK00156, 9,20SW_ACK ,41.04,-70.34, 2 +ACK00157, 9,30SW_ACK ,40.93,-70.50, 2 +ACK00158, 9,40SW_ACK ,40.81,-70.65, 2 +ACK00159, 9,50SW_ACK ,40.69,-70.81, 2 +ACK00160, 9,60SW_ACK ,40.57,-70.96, 2 +ACK00161, 9,20WSW_ACK ,41.15,-70.44, 2 +ACK00162, 9,30WSW_ACK ,41.09,-70.64, 2 +ACK00163, 9,40WSW_ACK ,41.02,-70.85, 2 +ACK00164, 9,20W_ACK ,41.28,-70.47, 2 +ACK00165, 9,30W_ACK ,41.28,-70.69, 2 +ACK00166, 9,20WNW_ACK ,41.41,-70.44, 2 +ACK00167, 9,20NW_ACK ,41.52,-70.34, 2 +ACK00168, 9,30NW_ACK ,41.63,-70.50, 2 +ACK00169, 9,20NNW_ACK ,41.59,-70.20, 2 +ACK00170, 9,30NNW_ACK ,41.74,-70.29, 2 ENE00000, 9,ENE ,43.43,-70.61, 1 ENE00001, 9,20N_ENE ,43.76,-70.61, 2 ENE00002, 9,30N_ENE ,43.93,-70.61, 2 @@ -1505,33 +1511,35 @@ SIE00031, 9,110SE_SIE ,37.79,-73.16, 2 SIE00032, 9,120SE_SIE ,37.67,-73.01, 2 SIE00033, 9,130SE_SIE ,37.55,-72.87, 2 SIE00034, 9,140SE_SIE ,37.43,-72.72, 2 -SIE00035, 9,190SE_SIE ,36.83,-72.00, 2 -SIE00036, 9,200SE_SIE ,36.71,-71.86, 2 -SIE00037, 9,20SSE_SIE ,38.79,-74.64, 2 -SIE00038, 9,30SSE_SIE ,38.64,-74.56, 2 -SIE00039, 9,40SSE_SIE ,38.48,-74.47, 2 -SIE00040, 9,50SSE_SIE ,38.33,-74.39, 2 -SIE00041, 9,60SSE_SIE ,38.18,-74.31, 2 -SIE00042, 9,20S_SIE ,38.77,-74.80, 2 -SIE00043, 9,30S_SIE ,38.60,-74.80, 2 -SIE00044, 9,40S_SIE ,38.43,-74.80, 2 -SIE00045, 9,20SSW_SIE ,38.79,-74.96, 2 -SIE00046, 9,30SSW_SIE ,38.64,-75.04, 2 -SIE00047, 9,20SW_SIE ,38.86,-75.10, 2 -SIE00048, 9,30SW_SIE ,38.75,-75.25, 2 -SIE00049, 9,20WSW_SIE ,38.97,-75.20, 2 -SIE00050, 9,30WSW_SIE ,38.91,-75.39, 2 -SIE00051, 9,40WSW_SIE ,38.84,-75.59, 2 -SIE00052, 9,20W_SIE ,39.10,-75.23, 2 -SIE00053, 9,30W_SIE ,39.10,-75.44, 2 -SIE00054, 9,40W_SIE ,39.10,-75.66, 2 -SIE00055, 9,50W_SIE ,39.10,-75.87, 2 -SIE00056, 9,20WNW_SIE ,39.23,-75.20, 2 -SIE00057, 9,30WNW_SIE ,39.29,-75.40, 2 -SIE00058, 9,40WNW_SIE ,39.35,-75.60, 2 -SIE00059, 9,20NW_SIE ,39.34,-75.10, 2 -SIE00060, 9,30NW_SIE ,39.45,-75.26, 2 -SIE00061, 9,20NNW_SIE ,39.41,-74.96, 2 +SIE00035, 9,150SE_SIE ,37.31,-72.58, 2 +SIE00036, 9,180SE_SIE ,36.95,-72.15, 2 +SIE00037, 9,190SE_SIE ,36.83,-72.00, 2 +SIE00038, 9,200SE_SIE ,36.71,-71.86, 2 +SIE00039, 9,20SSE_SIE ,38.79,-74.64, 2 +SIE00040, 9,30SSE_SIE ,38.64,-74.56, 2 +SIE00041, 9,40SSE_SIE ,38.48,-74.47, 2 +SIE00042, 9,50SSE_SIE ,38.33,-74.39, 2 +SIE00043, 9,60SSE_SIE ,38.18,-74.31, 2 +SIE00044, 9,20S_SIE ,38.77,-74.80, 2 +SIE00045, 9,30S_SIE ,38.60,-74.80, 2 +SIE00046, 9,40S_SIE ,38.43,-74.80, 2 +SIE00047, 9,20SSW_SIE ,38.79,-74.96, 2 +SIE00048, 9,30SSW_SIE ,38.64,-75.04, 2 +SIE00049, 9,20SW_SIE ,38.86,-75.10, 2 +SIE00050, 9,30SW_SIE ,38.75,-75.25, 2 +SIE00051, 9,20WSW_SIE ,38.97,-75.20, 2 +SIE00052, 9,30WSW_SIE ,38.91,-75.39, 2 +SIE00053, 9,40WSW_SIE ,38.84,-75.59, 2 +SIE00054, 9,20W_SIE ,39.10,-75.23, 2 +SIE00055, 9,30W_SIE ,39.10,-75.44, 2 +SIE00056, 9,40W_SIE ,39.10,-75.66, 2 +SIE00057, 9,50W_SIE ,39.10,-75.87, 2 +SIE00058, 9,20WNW_SIE ,39.23,-75.20, 2 +SIE00059, 9,30WNW_SIE ,39.29,-75.40, 2 +SIE00060, 9,40WNW_SIE ,39.35,-75.60, 2 +SIE00061, 9,20NW_SIE ,39.34,-75.10, 2 +SIE00062, 9,30NW_SIE ,39.45,-75.26, 2 +SIE00063, 9,20NNW_SIE ,39.41,-74.96, 2 HNK00000, 9,HNK ,42.06,-75.32, 1 HNK00001, 9,20N_HNK ,42.39,-75.32, 2 HNK00002, 9,30N_HNK ,42.56,-75.32, 2 @@ -1823,117 +1831,121 @@ ETX00039, 9,20NNW_ETX ,40.89,-75.85, 2 ETX00040, 9,30NNW_ETX ,41.04,-75.93, 2 ETX00041, 9,40NNW_ETX ,41.19,-76.02, 2 ECG00000, 9,ECG ,36.25,-76.18, 1 -ECG00001, 9,40ENE_ECG ,36.50,-75.41, 2 -ECG00002, 9,30E_ECG ,36.25,-75.56, 2 -ECG00003, 9,40E_ECG ,36.25,-75.35, 2 -ECG00004, 9,50E_ECG ,36.25,-75.15, 2 -ECG00005, 9,60E_ECG ,36.24,-74.94, 2 -ECG00006, 9,70E_ECG ,36.24,-74.73, 2 -ECG00007, 9,80E_ECG ,36.24,-74.53, 2 -ECG00008, 9,90E_ECG ,36.24,-74.32, 2 -ECG00009, 9,100E_ECG ,36.23,-74.12, 2 -ECG00010, 9,110E_ECG ,36.23,-73.91, 2 -ECG00011, 9,120E_ECG ,36.22,-73.70, 2 -ECG00012, 9,130E_ECG ,36.22,-73.50, 2 -ECG00013, 9,140E_ECG ,36.22,-73.29, 2 -ECG00014, 9,150E_ECG ,36.21,-73.08, 2 -ECG00015, 9,160E_ECG ,36.20,-72.88, 2 -ECG00016, 9,170E_ECG ,36.20,-72.67, 2 -ECG00017, 9,180E_ECG ,36.19,-72.46, 2 -ECG00018, 9,190E_ECG ,36.19,-72.26, 2 -ECG00019, 9,200E_ECG ,36.18,-72.05, 2 -ECG00020, 9,210E_ECG ,36.17,-71.85, 2 -ECG00021, 9,220E_ECG ,36.16,-71.64, 2 -ECG00022, 9,230E_ECG ,36.16,-71.43, 2 -ECG00023, 9,240E_ECG ,36.15,-71.23, 2 -ECG00024, 9,250E_ECG ,36.14,-71.02, 2 -ECG00025, 9,20ESE_ECG ,36.12,-75.80, 2 -ECG00026, 9,30ESE_ECG ,36.06,-75.61, 2 -ECG00027, 9,40ESE_ECG ,35.99,-75.42, 2 -ECG00028, 9,50ESE_ECG ,35.93,-75.23, 2 -ECG00029, 9,60ESE_ECG ,35.86,-75.04, 2 -ECG00030, 9,70ESE_ECG ,35.80,-74.85, 2 -ECG00031, 9,80ESE_ECG ,35.73,-74.66, 2 -ECG00032, 9,90ESE_ECG ,35.66,-74.48, 2 -ECG00033, 9,100ESE_ECG ,35.60,-74.29, 2 -ECG00034, 9,110ESE_ECG ,35.53,-74.10, 2 -ECG00035, 9,120ESE_ECG ,35.46,-73.91, 2 -ECG00036, 9,130ESE_ECG ,35.40,-73.73, 2 -ECG00037, 9,140ESE_ECG ,35.33,-73.54, 2 -ECG00038, 9,150ESE_ECG ,35.26,-73.35, 2 -ECG00039, 9,160ESE_ECG ,35.19,-73.17, 2 -ECG00040, 9,210ESE_ECG ,34.85,-72.24, 2 -ECG00041, 9,220ESE_ECG ,34.78,-72.06, 2 -ECG00042, 9,230ESE_ECG ,34.71,-71.87, 2 -ECG00043, 9,240ESE_ECG ,34.64,-71.69, 2 -ECG00044, 9,20SE_ECG ,36.01,-75.89, 2 -ECG00045, 9,30SE_ECG ,35.90,-75.74, 2 -ECG00046, 9,40SE_ECG ,35.78,-75.60, 2 -ECG00047, 9,50SE_ECG ,35.66,-75.46, 2 -ECG00048, 9,60SE_ECG ,35.54,-75.31, 2 -ECG00049, 9,70SE_ECG ,35.42,-75.17, 2 -ECG00050, 9,80SE_ECG ,35.30,-75.03, 2 -ECG00051, 9,90SE_ECG ,35.18,-74.88, 2 -ECG00052, 9,100SE_ECG ,35.06,-74.74, 2 -ECG00053, 9,110SE_ECG ,34.94,-74.60, 2 -ECG00054, 9,120SE_ECG ,34.82,-74.46, 2 -ECG00055, 9,130SE_ECG ,34.70,-74.32, 2 -ECG00056, 9,140SE_ECG ,34.58,-74.18, 2 -ECG00057, 9,150SE_ECG ,34.46,-74.04, 2 -ECG00058, 9,160SE_ECG ,34.34,-73.90, 2 -ECG00059, 9,170SE_ECG ,34.22,-73.76, 2 -ECG00060, 9,180SE_ECG ,34.10,-73.62, 2 -ECG00061, 9,190SE_ECG ,33.98,-73.48, 2 -ECG00062, 9,200SE_ECG ,33.86,-73.34, 2 -ECG00063, 9,210SE_ECG ,33.74,-73.21, 2 -ECG00064, 9,220SE_ECG ,33.62,-73.07, 2 -ECG00065, 9,230SE_ECG ,33.50,-72.93, 2 -ECG00066, 9,240SE_ECG ,33.38,-72.80, 2 -ECG00067, 9,250SE_ECG ,33.25,-72.66, 2 -ECG00068, 9,20SSE_ECG ,35.94,-76.02, 2 -ECG00069, 9,30SSE_ECG ,35.79,-75.94, 2 -ECG00070, 9,40SSE_ECG ,35.63,-75.87, 2 -ECG00071, 9,50SSE_ECG ,35.48,-75.79, 2 -ECG00072, 9,60SSE_ECG ,35.33,-75.71, 2 -ECG00073, 9,70SSE_ECG ,35.17,-75.63, 2 -ECG00074, 9,80SSE_ECG ,35.02,-75.56, 2 -ECG00075, 9,90SSE_ECG ,34.86,-75.48, 2 -ECG00076, 9,100SSE_ECG ,34.71,-75.40, 2 -ECG00077, 9,110SSE_ECG ,34.55,-75.33, 2 -ECG00078, 9,120SSE_ECG ,34.40,-75.25, 2 -ECG00079, 9,130SSE_ECG ,34.25,-75.18, 2 -ECG00080, 9,20S_ECG ,35.92,-76.18, 2 -ECG00081, 9,30S_ECG ,35.75,-76.18, 2 -ECG00082, 9,40S_ECG ,35.58,-76.18, 2 -ECG00083, 9,50S_ECG ,35.42,-76.18, 2 -ECG00084, 9,60S_ECG ,35.25,-76.18, 2 -ECG00085, 9,70S_ECG ,35.08,-76.18, 2 -ECG00086, 9,80S_ECG ,34.92,-76.18, 2 -ECG00087, 9,90S_ECG ,34.75,-76.18, 2 -ECG00088, 9,20SSW_ECG ,35.94,-76.34, 2 -ECG00089, 9,30SSW_ECG ,35.79,-76.42, 2 -ECG00090, 9,40SSW_ECG ,35.63,-76.49, 2 -ECG00091, 9,50SSW_ECG ,35.48,-76.57, 2 -ECG00092, 9,60SSW_ECG ,35.33,-76.65, 2 -ECG00093, 9,70SSW_ECG ,35.17,-76.73, 2 -ECG00094, 9,20SW_ECG ,36.01,-76.47, 2 -ECG00095, 9,30SW_ECG ,35.90,-76.62, 2 -ECG00096, 9,40SW_ECG ,35.78,-76.76, 2 -ECG00097, 9,50SW_ECG ,35.66,-76.90, 2 -ECG00098, 9,60SW_ECG ,35.54,-77.05, 2 -ECG00099, 9,70SW_ECG ,35.42,-77.19, 2 -ECG00100, 9,20WSW_ECG ,36.12,-76.56, 2 -ECG00101, 9,30WSW_ECG ,36.06,-76.75, 2 -ECG00102, 9,40WSW_ECG ,35.99,-76.94, 2 -ECG00103, 9,50WSW_ECG ,35.93,-77.13, 2 -ECG00104, 9,60WSW_ECG ,35.86,-77.32, 2 -ECG00105, 9,20W_ECG ,36.25,-76.59, 2 -ECG00106, 9,30W_ECG ,36.25,-76.80, 2 -ECG00107, 9,40W_ECG ,36.25,-77.01, 2 -ECG00108, 9,50W_ECG ,36.25,-77.21, 2 -ECG00109, 9,60W_ECG ,36.24,-77.42, 2 -ECG00110, 9,20WNW_ECG ,36.38,-76.56, 2 -ECG00111, 9,30WNW_ECG ,36.44,-76.75, 2 +ECG00001, 9,30ENE_ECG ,36.44,-75.61, 2 +ECG00002, 9,40ENE_ECG ,36.50,-75.41, 2 +ECG00003, 9,20E_ECG ,36.25,-75.77, 2 +ECG00004, 9,30E_ECG ,36.25,-75.56, 2 +ECG00005, 9,40E_ECG ,36.25,-75.35, 2 +ECG00006, 9,50E_ECG ,36.25,-75.15, 2 +ECG00007, 9,60E_ECG ,36.24,-74.94, 2 +ECG00008, 9,70E_ECG ,36.24,-74.73, 2 +ECG00009, 9,80E_ECG ,36.24,-74.53, 2 +ECG00010, 9,90E_ECG ,36.24,-74.32, 2 +ECG00011, 9,100E_ECG ,36.23,-74.12, 2 +ECG00012, 9,110E_ECG ,36.23,-73.91, 2 +ECG00013, 9,120E_ECG ,36.22,-73.70, 2 +ECG00014, 9,130E_ECG ,36.22,-73.50, 2 +ECG00015, 9,140E_ECG ,36.22,-73.29, 2 +ECG00016, 9,150E_ECG ,36.21,-73.08, 2 +ECG00017, 9,160E_ECG ,36.20,-72.88, 2 +ECG00018, 9,170E_ECG ,36.20,-72.67, 2 +ECG00019, 9,180E_ECG ,36.19,-72.46, 2 +ECG00020, 9,190E_ECG ,36.19,-72.26, 2 +ECG00021, 9,200E_ECG ,36.18,-72.05, 2 +ECG00022, 9,210E_ECG ,36.17,-71.85, 2 +ECG00023, 9,220E_ECG ,36.16,-71.64, 2 +ECG00024, 9,230E_ECG ,36.16,-71.43, 2 +ECG00025, 9,240E_ECG ,36.15,-71.23, 2 +ECG00026, 9,250E_ECG ,36.14,-71.02, 2 +ECG00027, 9,20ESE_ECG ,36.12,-75.80, 2 +ECG00028, 9,30ESE_ECG ,36.06,-75.61, 2 +ECG00029, 9,40ESE_ECG ,35.99,-75.42, 2 +ECG00030, 9,50ESE_ECG ,35.93,-75.23, 2 +ECG00031, 9,60ESE_ECG ,35.86,-75.04, 2 +ECG00032, 9,70ESE_ECG ,35.80,-74.85, 2 +ECG00033, 9,80ESE_ECG ,35.73,-74.66, 2 +ECG00034, 9,90ESE_ECG ,35.66,-74.48, 2 +ECG00035, 9,100ESE_ECG ,35.60,-74.29, 2 +ECG00036, 9,110ESE_ECG ,35.53,-74.10, 2 +ECG00037, 9,120ESE_ECG ,35.46,-73.91, 2 +ECG00038, 9,130ESE_ECG ,35.40,-73.73, 2 +ECG00039, 9,140ESE_ECG ,35.33,-73.54, 2 +ECG00040, 9,150ESE_ECG ,35.26,-73.35, 2 +ECG00041, 9,160ESE_ECG ,35.19,-73.17, 2 +ECG00042, 9,170ESE_ECG ,35.12,-72.98, 2 +ECG00043, 9,200ESE_ECG ,34.92,-72.43, 2 +ECG00044, 9,210ESE_ECG ,34.85,-72.24, 2 +ECG00045, 9,220ESE_ECG ,34.78,-72.06, 2 +ECG00046, 9,230ESE_ECG ,34.71,-71.87, 2 +ECG00047, 9,240ESE_ECG ,34.64,-71.69, 2 +ECG00048, 9,20SE_ECG ,36.01,-75.89, 2 +ECG00049, 9,30SE_ECG ,35.90,-75.74, 2 +ECG00050, 9,40SE_ECG ,35.78,-75.60, 2 +ECG00051, 9,50SE_ECG ,35.66,-75.46, 2 +ECG00052, 9,60SE_ECG ,35.54,-75.31, 2 +ECG00053, 9,70SE_ECG ,35.42,-75.17, 2 +ECG00054, 9,80SE_ECG ,35.30,-75.03, 2 +ECG00055, 9,90SE_ECG ,35.18,-74.88, 2 +ECG00056, 9,100SE_ECG ,35.06,-74.74, 2 +ECG00057, 9,110SE_ECG ,34.94,-74.60, 2 +ECG00058, 9,120SE_ECG ,34.82,-74.46, 2 +ECG00059, 9,130SE_ECG ,34.70,-74.32, 2 +ECG00060, 9,140SE_ECG ,34.58,-74.18, 2 +ECG00061, 9,150SE_ECG ,34.46,-74.04, 2 +ECG00062, 9,160SE_ECG ,34.34,-73.90, 2 +ECG00063, 9,170SE_ECG ,34.22,-73.76, 2 +ECG00064, 9,180SE_ECG ,34.10,-73.62, 2 +ECG00065, 9,190SE_ECG ,33.98,-73.48, 2 +ECG00066, 9,200SE_ECG ,33.86,-73.34, 2 +ECG00067, 9,210SE_ECG ,33.74,-73.21, 2 +ECG00068, 9,220SE_ECG ,33.62,-73.07, 2 +ECG00069, 9,230SE_ECG ,33.50,-72.93, 2 +ECG00070, 9,240SE_ECG ,33.38,-72.80, 2 +ECG00071, 9,250SE_ECG ,33.25,-72.66, 2 +ECG00072, 9,20SSE_ECG ,35.94,-76.02, 2 +ECG00073, 9,30SSE_ECG ,35.79,-75.94, 2 +ECG00074, 9,40SSE_ECG ,35.63,-75.87, 2 +ECG00075, 9,50SSE_ECG ,35.48,-75.79, 2 +ECG00076, 9,60SSE_ECG ,35.33,-75.71, 2 +ECG00077, 9,70SSE_ECG ,35.17,-75.63, 2 +ECG00078, 9,80SSE_ECG ,35.02,-75.56, 2 +ECG00079, 9,90SSE_ECG ,34.86,-75.48, 2 +ECG00080, 9,100SSE_ECG ,34.71,-75.40, 2 +ECG00081, 9,110SSE_ECG ,34.55,-75.33, 2 +ECG00082, 9,120SSE_ECG ,34.40,-75.25, 2 +ECG00083, 9,130SSE_ECG ,34.25,-75.18, 2 +ECG00084, 9,20S_ECG ,35.92,-76.18, 2 +ECG00085, 9,30S_ECG ,35.75,-76.18, 2 +ECG00086, 9,40S_ECG ,35.58,-76.18, 2 +ECG00087, 9,50S_ECG ,35.42,-76.18, 2 +ECG00088, 9,60S_ECG ,35.25,-76.18, 2 +ECG00089, 9,70S_ECG ,35.08,-76.18, 2 +ECG00090, 9,80S_ECG ,34.92,-76.18, 2 +ECG00091, 9,90S_ECG ,34.75,-76.18, 2 +ECG00092, 9,20SSW_ECG ,35.94,-76.34, 2 +ECG00093, 9,30SSW_ECG ,35.79,-76.42, 2 +ECG00094, 9,40SSW_ECG ,35.63,-76.49, 2 +ECG00095, 9,50SSW_ECG ,35.48,-76.57, 2 +ECG00096, 9,60SSW_ECG ,35.33,-76.65, 2 +ECG00097, 9,70SSW_ECG ,35.17,-76.73, 2 +ECG00098, 9,20SW_ECG ,36.01,-76.47, 2 +ECG00099, 9,30SW_ECG ,35.90,-76.62, 2 +ECG00100, 9,40SW_ECG ,35.78,-76.76, 2 +ECG00101, 9,50SW_ECG ,35.66,-76.90, 2 +ECG00102, 9,60SW_ECG ,35.54,-77.05, 2 +ECG00103, 9,70SW_ECG ,35.42,-77.19, 2 +ECG00104, 9,20WSW_ECG ,36.12,-76.56, 2 +ECG00105, 9,30WSW_ECG ,36.06,-76.75, 2 +ECG00106, 9,40WSW_ECG ,35.99,-76.94, 2 +ECG00107, 9,50WSW_ECG ,35.93,-77.13, 2 +ECG00108, 9,60WSW_ECG ,35.86,-77.32, 2 +ECG00109, 9,20W_ECG ,36.25,-76.59, 2 +ECG00110, 9,30W_ECG ,36.25,-76.80, 2 +ECG00111, 9,40W_ECG ,36.25,-77.01, 2 +ECG00112, 9,50W_ECG ,36.25,-77.21, 2 +ECG00113, 9,60W_ECG ,36.24,-77.42, 2 +ECG00114, 9,20WNW_ECG ,36.38,-76.56, 2 +ECG00115, 9,30WNW_ECG ,36.44,-76.75, 2 SYR00000, 9,SYR ,43.16,-76.20, 1 SYR00001, 9,20N_SYR ,43.49,-76.20, 2 SYR00002, 9,30N_SYR ,43.66,-76.20, 2 @@ -2032,20 +2044,23 @@ ORF00021, 9,90E_ORF ,36.88,-74.33, 2 ORF00022, 9,100E_ORF ,36.87,-74.12, 2 ORF00023, 9,110E_ORF ,36.87,-73.91, 2 ORF00024, 9,120E_ORF ,36.86,-73.70, 2 -ORF00025, 9,40ESE_ORF ,36.63,-75.43, 2 -ORF00026, 9,50ESE_ORF ,36.57,-75.24, 2 -ORF00027, 9,20SSW_ORF ,36.58,-76.36, 2 -ORF00028, 9,20SW_ORF ,36.65,-76.49, 2 -ORF00029, 9,30SW_ORF ,36.54,-76.64, 2 -ORF00030, 9,20WSW_ORF ,36.76,-76.58, 2 -ORF00031, 9,30WSW_ORF ,36.70,-76.78, 2 -ORF00032, 9,40WSW_ORF ,36.63,-76.97, 2 -ORF00033, 9,20W_ORF ,36.89,-76.62, 2 -ORF00034, 9,30W_ORF ,36.89,-76.82, 2 -ORF00035, 9,20WNW_ORF ,37.02,-76.59, 2 -ORF00036, 9,20NW_ORF ,37.13,-76.50, 2 -ORF00037, 9,20NNW_ORF ,37.20,-76.36, 2 -ORF00038, 9,30NNW_ORF ,37.35,-76.44, 2 +ORF00025, 9,20ESE_ORF ,36.76,-75.82, 2 +ORF00026, 9,30ESE_ORF ,36.70,-75.62, 2 +ORF00027, 9,40ESE_ORF ,36.63,-75.43, 2 +ORF00028, 9,50ESE_ORF ,36.57,-75.24, 2 +ORF00029, 9,20S_ORF ,36.56,-76.20, 2 +ORF00030, 9,20SSW_ORF ,36.58,-76.36, 2 +ORF00031, 9,20SW_ORF ,36.65,-76.49, 2 +ORF00032, 9,30SW_ORF ,36.54,-76.64, 2 +ORF00033, 9,20WSW_ORF ,36.76,-76.58, 2 +ORF00034, 9,30WSW_ORF ,36.70,-76.78, 2 +ORF00035, 9,40WSW_ORF ,36.63,-76.97, 2 +ORF00036, 9,20W_ORF ,36.89,-76.62, 2 +ORF00037, 9,30W_ORF ,36.89,-76.82, 2 +ORF00038, 9,20WNW_ORF ,37.02,-76.59, 2 +ORF00039, 9,20NW_ORF ,37.13,-76.50, 2 +ORF00040, 9,20NNW_ORF ,37.20,-76.36, 2 +ORF00041, 9,30NNW_ORF ,37.35,-76.44, 2 EMI00000, 9,EMI ,39.50,-76.98, 1 EMI00001, 9,20NE_EMI ,39.74,-76.67, 2 EMI00002, 9,20ENE_EMI ,39.63,-76.58, 2 @@ -2305,53 +2320,54 @@ ILM00083, 9,80SSE_ILM ,33.12,-77.26, 2 ILM00084, 9,90SSE_ILM ,32.96,-77.19, 2 ILM00085, 9,100SSE_ILM ,32.81,-77.11, 2 ILM00086, 9,110SSE_ILM ,32.65,-77.04, 2 -ILM00087, 9,150SSE_ILM ,32.04,-76.74, 2 -ILM00088, 9,160SSE_ILM ,31.88,-76.67, 2 -ILM00089, 9,170SSE_ILM ,31.73,-76.60, 2 -ILM00090, 9,180SSE_ILM ,31.57,-76.52, 2 -ILM00091, 9,190SSE_ILM ,31.42,-76.45, 2 -ILM00092, 9,200SSE_ILM ,31.26,-76.38, 2 -ILM00093, 9,210SSE_ILM ,31.11,-76.31, 2 -ILM00094, 9,220SSE_ILM ,30.95,-76.24, 2 -ILM00095, 9,230SSE_ILM ,30.80,-76.16, 2 -ILM00096, 9,240SSE_ILM ,30.64,-76.09, 2 -ILM00097, 9,20S_ILM ,34.02,-77.87, 2 -ILM00098, 9,30S_ILM ,33.85,-77.87, 2 -ILM00099, 9,40S_ILM ,33.68,-77.87, 2 -ILM00100, 9,50S_ILM ,33.52,-77.87, 2 -ILM00101, 9,60S_ILM ,33.35,-77.87, 2 -ILM00102, 9,70S_ILM ,33.18,-77.87, 2 -ILM00103, 9,80S_ILM ,33.02,-77.87, 2 -ILM00104, 9,90S_ILM ,32.85,-77.87, 2 -ILM00105, 9,100S_ILM ,32.68,-77.87, 2 -ILM00106, 9,110S_ILM ,32.52,-77.87, 2 -ILM00107, 9,20SSW_ILM ,34.04,-78.02, 2 -ILM00108, 9,30SSW_ILM ,33.89,-78.10, 2 -ILM00109, 9,40SSW_ILM ,33.73,-78.18, 2 -ILM00110, 9,50SSW_ILM ,33.58,-78.25, 2 -ILM00111, 9,60SSW_ILM ,33.43,-78.33, 2 -ILM00112, 9,70SSW_ILM ,33.27,-78.40, 2 -ILM00113, 9,80SSW_ILM ,33.12,-78.48, 2 -ILM00114, 9,20SW_ILM ,34.11,-78.15, 2 -ILM00115, 9,30SW_ILM ,34.00,-78.30, 2 -ILM00116, 9,40SW_ILM ,33.88,-78.44, 2 -ILM00117, 9,50SW_ILM ,33.76,-78.58, 2 -ILM00118, 9,20WSW_ILM ,34.22,-78.24, 2 -ILM00119, 9,30WSW_ILM ,34.16,-78.43, 2 -ILM00120, 9,40WSW_ILM ,34.09,-78.61, 2 -ILM00121, 9,20W_ILM ,34.35,-78.27, 2 -ILM00122, 9,30W_ILM ,34.35,-78.48, 2 -ILM00123, 9,40W_ILM ,34.35,-78.68, 2 -ILM00124, 9,20WNW_ILM ,34.48,-78.24, 2 -ILM00125, 9,30WNW_ILM ,34.54,-78.43, 2 -ILM00126, 9,40WNW_ILM ,34.60,-78.62, 2 -ILM00127, 9,50WNW_ILM ,34.67,-78.81, 2 -ILM00128, 9,20NW_ILM ,34.59,-78.16, 2 -ILM00129, 9,30NW_ILM ,34.70,-78.30, 2 -ILM00130, 9,40NW_ILM ,34.82,-78.44, 2 -ILM00131, 9,20NNW_ILM ,34.66,-78.02, 2 -ILM00132, 9,30NNW_ILM ,34.81,-78.10, 2 -ILM00133, 9,40NNW_ILM ,34.97,-78.18, 2 +ILM00087, 9,140SSE_ILM ,32.19,-76.82, 2 +ILM00088, 9,150SSE_ILM ,32.04,-76.74, 2 +ILM00089, 9,160SSE_ILM ,31.88,-76.67, 2 +ILM00090, 9,170SSE_ILM ,31.73,-76.60, 2 +ILM00091, 9,180SSE_ILM ,31.57,-76.52, 2 +ILM00092, 9,190SSE_ILM ,31.42,-76.45, 2 +ILM00093, 9,200SSE_ILM ,31.26,-76.38, 2 +ILM00094, 9,210SSE_ILM ,31.11,-76.31, 2 +ILM00095, 9,220SSE_ILM ,30.95,-76.24, 2 +ILM00096, 9,230SSE_ILM ,30.80,-76.16, 2 +ILM00097, 9,240SSE_ILM ,30.64,-76.09, 2 +ILM00098, 9,20S_ILM ,34.02,-77.87, 2 +ILM00099, 9,30S_ILM ,33.85,-77.87, 2 +ILM00100, 9,40S_ILM ,33.68,-77.87, 2 +ILM00101, 9,50S_ILM ,33.52,-77.87, 2 +ILM00102, 9,60S_ILM ,33.35,-77.87, 2 +ILM00103, 9,70S_ILM ,33.18,-77.87, 2 +ILM00104, 9,80S_ILM ,33.02,-77.87, 2 +ILM00105, 9,90S_ILM ,32.85,-77.87, 2 +ILM00106, 9,100S_ILM ,32.68,-77.87, 2 +ILM00107, 9,110S_ILM ,32.52,-77.87, 2 +ILM00108, 9,20SSW_ILM ,34.04,-78.02, 2 +ILM00109, 9,30SSW_ILM ,33.89,-78.10, 2 +ILM00110, 9,40SSW_ILM ,33.73,-78.18, 2 +ILM00111, 9,50SSW_ILM ,33.58,-78.25, 2 +ILM00112, 9,60SSW_ILM ,33.43,-78.33, 2 +ILM00113, 9,70SSW_ILM ,33.27,-78.40, 2 +ILM00114, 9,80SSW_ILM ,33.12,-78.48, 2 +ILM00115, 9,20SW_ILM ,34.11,-78.15, 2 +ILM00116, 9,30SW_ILM ,34.00,-78.30, 2 +ILM00117, 9,40SW_ILM ,33.88,-78.44, 2 +ILM00118, 9,50SW_ILM ,33.76,-78.58, 2 +ILM00119, 9,20WSW_ILM ,34.22,-78.24, 2 +ILM00120, 9,30WSW_ILM ,34.16,-78.43, 2 +ILM00121, 9,40WSW_ILM ,34.09,-78.61, 2 +ILM00122, 9,20W_ILM ,34.35,-78.27, 2 +ILM00123, 9,30W_ILM ,34.35,-78.48, 2 +ILM00124, 9,40W_ILM ,34.35,-78.68, 2 +ILM00125, 9,20WNW_ILM ,34.48,-78.24, 2 +ILM00126, 9,30WNW_ILM ,34.54,-78.43, 2 +ILM00127, 9,40WNW_ILM ,34.60,-78.62, 2 +ILM00128, 9,50WNW_ILM ,34.67,-78.81, 2 +ILM00129, 9,20NW_ILM ,34.59,-78.16, 2 +ILM00130, 9,30NW_ILM ,34.70,-78.30, 2 +ILM00131, 9,40NW_ILM ,34.82,-78.44, 2 +ILM00132, 9,20NNW_ILM ,34.66,-78.02, 2 +ILM00133, 9,30NNW_ILM ,34.81,-78.10, 2 +ILM00134, 9,40NNW_ILM ,34.97,-78.18, 2 SLT00000, 9,SLT ,41.51,-77.97, 1 SLT00001, 9,20N_SLT ,41.84,-77.97, 2 SLT00002, 9,30N_SLT ,42.01,-77.97, 2 @@ -2914,79 +2930,82 @@ PBI00011, 9,20ENE_PBI ,26.81,-79.75, 2 PBI00012, 9,30ENE_PBI ,26.87,-79.57, 2 PBI00013, 9,40ENE_PBI ,26.93,-79.40, 2 PBI00014, 9,50ENE_PBI ,27.00,-79.23, 2 -PBI00015, 9,100ENE_PBI ,27.31,-78.36, 2 -PBI00016, 9,110ENE_PBI ,27.37,-78.18, 2 -PBI00017, 9,120ENE_PBI ,27.43,-78.01, 2 -PBI00018, 9,130ENE_PBI ,27.49,-77.84, 2 -PBI00019, 9,140ENE_PBI ,27.55,-77.66, 2 -PBI00020, 9,150ENE_PBI ,27.61,-77.49, 2 -PBI00021, 9,160ENE_PBI ,27.67,-77.31, 2 -PBI00022, 9,170ENE_PBI ,27.73,-77.13, 2 -PBI00023, 9,180ENE_PBI ,27.79,-76.96, 2 -PBI00024, 9,190ENE_PBI ,27.85,-76.78, 2 -PBI00025, 9,200ENE_PBI ,27.91,-76.61, 2 -PBI00026, 9,210ENE_PBI ,27.97,-76.43, 2 -PBI00027, 9,220ENE_PBI ,28.03,-76.25, 2 -PBI00028, 9,230ENE_PBI ,28.09,-76.08, 2 -PBI00029, 9,240ENE_PBI ,28.15,-75.90, 2 -PBI00030, 9,20E_PBI ,26.68,-79.72, 2 -PBI00031, 9,30E_PBI ,26.68,-79.53, 2 -PBI00032, 9,40E_PBI ,26.68,-79.34, 2 -PBI00033, 9,50E_PBI ,26.68,-79.16, 2 -PBI00034, 9,60E_PBI ,26.68,-78.97, 2 -PBI00035, 9,70E_PBI ,26.67,-78.79, 2 -PBI00036, 9,80E_PBI ,26.67,-78.60, 2 -PBI00037, 9,90E_PBI ,26.67,-78.41, 2 -PBI00038, 9,100E_PBI ,26.67,-78.23, 2 -PBI00039, 9,110E_PBI ,26.67,-78.04, 2 -PBI00040, 9,120E_PBI ,26.66,-77.85, 2 -PBI00041, 9,130E_PBI ,26.66,-77.67, 2 -PBI00042, 9,140E_PBI ,26.66,-77.48, 2 -PBI00043, 9,150E_PBI ,26.65,-77.29, 2 -PBI00044, 9,160E_PBI ,26.65,-77.11, 2 -PBI00045, 9,210E_PBI ,26.63,-76.18, 2 -PBI00046, 9,220E_PBI ,26.62,-75.99, 2 -PBI00047, 9,230E_PBI ,26.62,-75.80, 2 -PBI00048, 9,240E_PBI ,26.61,-75.62, 2 -PBI00049, 9,250E_PBI ,26.60,-75.43, 2 -PBI00050, 9,20ESE_PBI ,26.55,-79.75, 2 -PBI00051, 9,30ESE_PBI ,26.49,-79.57, 2 -PBI00052, 9,40ESE_PBI ,26.42,-79.40, 2 -PBI00053, 9,50ESE_PBI ,26.36,-79.23, 2 -PBI00054, 9,60ESE_PBI ,26.29,-79.06, 2 -PBI00055, 9,70ESE_PBI ,26.23,-78.89, 2 -PBI00056, 9,80ESE_PBI ,26.16,-78.72, 2 -PBI00057, 9,90ESE_PBI ,26.10,-78.55, 2 -PBI00058, 9,100ESE_PBI ,26.03,-78.38, 2 -PBI00059, 9,110ESE_PBI ,25.97,-78.21, 2 -PBI00060, 9,120ESE_PBI ,25.90,-78.04, 2 -PBI00061, 9,130ESE_PBI ,25.83,-77.87, 2 -PBI00062, 9,140ESE_PBI ,25.77,-77.70, 2 -PBI00063, 9,20SE_PBI ,26.44,-79.83, 2 -PBI00064, 9,30SE_PBI ,26.33,-79.70, 2 -PBI00065, 9,40SE_PBI ,26.21,-79.56, 2 -PBI00066, 9,50SE_PBI ,26.09,-79.43, 2 -PBI00067, 9,20SSE_PBI ,26.37,-79.95, 2 -PBI00068, 9,30SSE_PBI ,26.22,-79.88, 2 -PBI00069, 9,20S_PBI ,26.35,-80.09, 2 -PBI00070, 9,30S_PBI ,26.18,-80.09, 2 -PBI00071, 9,20SSW_PBI ,26.37,-80.23, 2 -PBI00072, 9,30SSW_PBI ,26.22,-80.30, 2 -PBI00073, 9,20SW_PBI ,26.44,-80.35, 2 -PBI00074, 9,30SW_PBI ,26.33,-80.48, 2 -PBI00075, 9,20WSW_PBI ,26.55,-80.43, 2 -PBI00076, 9,30WSW_PBI ,26.49,-80.61, 2 -PBI00077, 9,40WSW_PBI ,26.42,-80.78, 2 -PBI00078, 9,50WSW_PBI ,26.36,-80.95, 2 -PBI00079, 9,20W_PBI ,26.68,-80.46, 2 -PBI00080, 9,30W_PBI ,26.68,-80.65, 2 -PBI00081, 9,40W_PBI ,26.68,-80.84, 2 -PBI00082, 9,20WNW_PBI ,26.81,-80.43, 2 -PBI00083, 9,30WNW_PBI ,26.87,-80.61, 2 -PBI00084, 9,40WNW_PBI ,26.93,-80.78, 2 -PBI00085, 9,20NW_PBI ,26.92,-80.35, 2 -PBI00086, 9,30NW_PBI ,27.03,-80.49, 2 -PBI00087, 9,20NNW_PBI ,26.99,-80.23, 2 +PBI00015, 9,60ENE_PBI ,27.06,-79.05, 2 +PBI00016, 9,90ENE_PBI ,27.25,-78.53, 2 +PBI00017, 9,100ENE_PBI ,27.31,-78.36, 2 +PBI00018, 9,110ENE_PBI ,27.37,-78.18, 2 +PBI00019, 9,120ENE_PBI ,27.43,-78.01, 2 +PBI00020, 9,130ENE_PBI ,27.49,-77.84, 2 +PBI00021, 9,140ENE_PBI ,27.55,-77.66, 2 +PBI00022, 9,150ENE_PBI ,27.61,-77.49, 2 +PBI00023, 9,160ENE_PBI ,27.67,-77.31, 2 +PBI00024, 9,170ENE_PBI ,27.73,-77.13, 2 +PBI00025, 9,180ENE_PBI ,27.79,-76.96, 2 +PBI00026, 9,190ENE_PBI ,27.85,-76.78, 2 +PBI00027, 9,200ENE_PBI ,27.91,-76.61, 2 +PBI00028, 9,210ENE_PBI ,27.97,-76.43, 2 +PBI00029, 9,220ENE_PBI ,28.03,-76.25, 2 +PBI00030, 9,230ENE_PBI ,28.09,-76.08, 2 +PBI00031, 9,240ENE_PBI ,28.15,-75.90, 2 +PBI00032, 9,20E_PBI ,26.68,-79.72, 2 +PBI00033, 9,30E_PBI ,26.68,-79.53, 2 +PBI00034, 9,40E_PBI ,26.68,-79.34, 2 +PBI00035, 9,50E_PBI ,26.68,-79.16, 2 +PBI00036, 9,60E_PBI ,26.68,-78.97, 2 +PBI00037, 9,70E_PBI ,26.67,-78.79, 2 +PBI00038, 9,80E_PBI ,26.67,-78.60, 2 +PBI00039, 9,90E_PBI ,26.67,-78.41, 2 +PBI00040, 9,100E_PBI ,26.67,-78.23, 2 +PBI00041, 9,110E_PBI ,26.67,-78.04, 2 +PBI00042, 9,120E_PBI ,26.66,-77.85, 2 +PBI00043, 9,130E_PBI ,26.66,-77.67, 2 +PBI00044, 9,140E_PBI ,26.66,-77.48, 2 +PBI00045, 9,150E_PBI ,26.65,-77.29, 2 +PBI00046, 9,160E_PBI ,26.65,-77.11, 2 +PBI00047, 9,170E_PBI ,26.64,-76.92, 2 +PBI00048, 9,200E_PBI ,26.63,-76.36, 2 +PBI00049, 9,210E_PBI ,26.63,-76.18, 2 +PBI00050, 9,220E_PBI ,26.62,-75.99, 2 +PBI00051, 9,230E_PBI ,26.62,-75.80, 2 +PBI00052, 9,240E_PBI ,26.61,-75.62, 2 +PBI00053, 9,250E_PBI ,26.60,-75.43, 2 +PBI00054, 9,20ESE_PBI ,26.55,-79.75, 2 +PBI00055, 9,30ESE_PBI ,26.49,-79.57, 2 +PBI00056, 9,40ESE_PBI ,26.42,-79.40, 2 +PBI00057, 9,50ESE_PBI ,26.36,-79.23, 2 +PBI00058, 9,60ESE_PBI ,26.29,-79.06, 2 +PBI00059, 9,70ESE_PBI ,26.23,-78.89, 2 +PBI00060, 9,80ESE_PBI ,26.16,-78.72, 2 +PBI00061, 9,90ESE_PBI ,26.10,-78.55, 2 +PBI00062, 9,100ESE_PBI ,26.03,-78.38, 2 +PBI00063, 9,110ESE_PBI ,25.97,-78.21, 2 +PBI00064, 9,120ESE_PBI ,25.90,-78.04, 2 +PBI00065, 9,130ESE_PBI ,25.83,-77.87, 2 +PBI00066, 9,140ESE_PBI ,25.77,-77.70, 2 +PBI00067, 9,20SE_PBI ,26.44,-79.83, 2 +PBI00068, 9,30SE_PBI ,26.33,-79.70, 2 +PBI00069, 9,40SE_PBI ,26.21,-79.56, 2 +PBI00070, 9,50SE_PBI ,26.09,-79.43, 2 +PBI00071, 9,20SSE_PBI ,26.37,-79.95, 2 +PBI00072, 9,30SSE_PBI ,26.22,-79.88, 2 +PBI00073, 9,20S_PBI ,26.35,-80.09, 2 +PBI00074, 9,30S_PBI ,26.18,-80.09, 2 +PBI00075, 9,20SSW_PBI ,26.37,-80.23, 2 +PBI00076, 9,30SSW_PBI ,26.22,-80.30, 2 +PBI00077, 9,20SW_PBI ,26.44,-80.35, 2 +PBI00078, 9,30SW_PBI ,26.33,-80.48, 2 +PBI00079, 9,20WSW_PBI ,26.55,-80.43, 2 +PBI00080, 9,30WSW_PBI ,26.49,-80.61, 2 +PBI00081, 9,40WSW_PBI ,26.42,-80.78, 2 +PBI00082, 9,20W_PBI ,26.68,-80.46, 2 +PBI00083, 9,30W_PBI ,26.68,-80.65, 2 +PBI00084, 9,40W_PBI ,26.68,-80.84, 2 +PBI00085, 9,20WNW_PBI ,26.81,-80.43, 2 +PBI00086, 9,30WNW_PBI ,26.87,-80.61, 2 +PBI00087, 9,40WNW_PBI ,26.93,-80.78, 2 +PBI00088, 9,20NW_PBI ,26.92,-80.35, 2 +PBI00089, 9,30NW_PBI ,27.03,-80.49, 2 +PBI00090, 9,20NNW_PBI ,26.99,-80.23, 2 EKN00000, 9,EKN ,38.92,-80.10, 1 EKN00001, 9,20N_EKN ,39.25,-80.10, 2 EKN00002, 9,30N_EKN ,39.42,-80.10, 2 @@ -3179,139 +3198,140 @@ MIA00048, 9,90SE_MIA ,24.74,-79.13, 2 MIA00049, 9,100SE_MIA ,24.62,-79.00, 2 MIA00050, 9,110SE_MIA ,24.50,-78.88, 2 MIA00051, 9,120SE_MIA ,24.38,-78.75, 2 -MIA00052, 9,170SE_MIA ,23.78,-78.11, 2 -MIA00053, 9,180SE_MIA ,23.66,-77.99, 2 -MIA00054, 9,190SE_MIA ,23.54,-77.86, 2 -MIA00055, 9,200SE_MIA ,23.42,-77.73, 2 -MIA00056, 9,210SE_MIA ,23.30,-77.61, 2 -MIA00057, 9,220SE_MIA ,23.18,-77.48, 2 -MIA00058, 9,230SE_MIA ,23.06,-77.36, 2 -MIA00059, 9,240SE_MIA ,22.94,-77.23, 2 -MIA00060, 9,250SE_MIA ,22.82,-77.11, 2 -MIA00061, 9,20SSE_MIA ,25.49,-80.16, 2 -MIA00062, 9,30SSE_MIA ,25.34,-80.09, 2 -MIA00063, 9,40SSE_MIA ,25.18,-80.02, 2 -MIA00064, 9,50SSE_MIA ,25.03,-79.95, 2 -MIA00065, 9,60SSE_MIA ,24.88,-79.88, 2 -MIA00066, 9,70SSE_MIA ,24.72,-79.81, 2 -MIA00067, 9,80SSE_MIA ,24.57,-79.74, 2 -MIA00068, 9,90SSE_MIA ,24.41,-79.67, 2 -MIA00069, 9,100SSE_MIA ,24.26,-79.60, 2 -MIA00070, 9,110SSE_MIA ,24.11,-79.53, 2 -MIA00071, 9,120SSE_MIA ,23.95,-79.46, 2 -MIA00072, 9,130SSE_MIA ,23.80,-79.39, 2 -MIA00073, 9,140SSE_MIA ,23.64,-79.33, 2 -MIA00074, 9,150SSE_MIA ,23.49,-79.26, 2 -MIA00075, 9,160SSE_MIA ,23.33,-79.19, 2 -MIA00076, 9,20S_MIA ,25.47,-80.30, 2 -MIA00077, 9,30S_MIA ,25.30,-80.30, 2 -MIA00078, 9,40S_MIA ,25.13,-80.30, 2 -MIA00079, 9,50S_MIA ,24.97,-80.30, 2 -MIA00080, 9,60S_MIA ,24.80,-80.30, 2 -MIA00081, 9,70S_MIA ,24.63,-80.30, 2 -MIA00082, 9,80S_MIA ,24.47,-80.30, 2 -MIA00083, 9,20SSW_MIA ,25.49,-80.44, 2 -MIA00084, 9,30SSW_MIA ,25.34,-80.51, 2 -MIA00085, 9,40SSW_MIA ,25.18,-80.58, 2 -MIA00086, 9,50SSW_MIA ,25.03,-80.65, 2 -MIA00087, 9,60SSW_MIA ,24.88,-80.72, 2 -MIA00088, 9,20SW_MIA ,25.56,-80.56, 2 -MIA00089, 9,30SW_MIA ,25.45,-80.69, 2 -MIA00090, 9,40SW_MIA ,25.33,-80.82, 2 -MIA00091, 9,50SW_MIA ,25.21,-80.95, 2 -MIA00092, 9,20WSW_MIA ,25.67,-80.64, 2 -MIA00093, 9,30WSW_MIA ,25.61,-80.81, 2 -MIA00094, 9,40WSW_MIA ,25.54,-80.98, 2 -MIA00095, 9,50WSW_MIA ,25.48,-81.15, 2 -MIA00096, 9,60WSW_MIA ,25.41,-81.32, 2 -MIA00097, 9,20W_MIA ,25.80,-80.67, 2 -MIA00098, 9,30W_MIA ,25.80,-80.85, 2 -MIA00099, 9,40W_MIA ,25.80,-81.04, 2 -MIA00100, 9,50W_MIA ,25.80,-81.22, 2 -MIA00101, 9,20WNW_MIA ,25.93,-80.64, 2 -MIA00102, 9,30WNW_MIA ,25.99,-80.81, 2 -MIA00103, 9,40WNW_MIA ,26.05,-80.99, 2 -MIA00104, 9,20NW_MIA ,26.04,-80.56, 2 -MIA00105, 9,30NW_MIA ,26.15,-80.69, 2 -MIA00106, 9,40NW_MIA ,26.27,-80.83, 2 -MIA00107, 9,20NNW_MIA ,26.11,-80.44, 2 -VRB00000, 9,VRB ,27.68,-80.49, 1 -VRB00001, 9,20N_VRB ,28.01,-80.49, 2 -VRB00002, 9,30N_VRB ,28.18,-80.49, 2 -VRB00003, 9,20NNE_VRB ,27.99,-80.35, 2 -VRB00004, 9,30NNE_VRB ,28.14,-80.27, 2 -VRB00005, 9,40NNE_VRB ,28.30,-80.20, 2 -VRB00006, 9,50NNE_VRB ,28.45,-80.13, 2 -VRB00007, 9,60NNE_VRB ,28.60,-80.05, 2 -VRB00008, 9,20NE_VRB ,27.92,-80.22, 2 -VRB00009, 9,30NE_VRB ,28.03,-80.09, 2 -VRB00010, 9,40NE_VRB ,28.15,-79.96, 2 -VRB00011, 9,50NE_VRB ,28.27,-79.82, 2 -VRB00012, 9,60NE_VRB ,28.38,-79.69, 2 -VRB00013, 9,70NE_VRB ,28.50,-79.55, 2 -VRB00014, 9,80NE_VRB ,28.62,-79.42, 2 -VRB00015, 9,90NE_VRB ,28.73,-79.28, 2 -VRB00016, 9,100NE_VRB ,28.85,-79.15, 2 -VRB00017, 9,20ENE_VRB ,27.81,-80.14, 2 -VRB00018, 9,30ENE_VRB ,27.87,-79.97, 2 -VRB00019, 9,40ENE_VRB ,27.93,-79.79, 2 -VRB00020, 9,50ENE_VRB ,28.00,-79.62, 2 -VRB00021, 9,60ENE_VRB ,28.06,-79.44, 2 -VRB00022, 9,70ENE_VRB ,28.12,-79.27, 2 -VRB00023, 9,80ENE_VRB ,28.18,-79.09, 2 -VRB00024, 9,90ENE_VRB ,28.24,-78.92, 2 -VRB00025, 9,100ENE_VRB ,28.31,-78.74, 2 -VRB00026, 9,110ENE_VRB ,28.37,-78.57, 2 -VRB00027, 9,120ENE_VRB ,28.43,-78.39, 2 -VRB00028, 9,130ENE_VRB ,28.49,-78.21, 2 -VRB00029, 9,140ENE_VRB ,28.55,-78.04, 2 -VRB00030, 9,150ENE_VRB ,28.61,-77.86, 2 -VRB00031, 9,160ENE_VRB ,28.67,-77.68, 2 -VRB00032, 9,170ENE_VRB ,28.73,-77.51, 2 -VRB00033, 9,180ENE_VRB ,28.79,-77.33, 2 -VRB00034, 9,190ENE_VRB ,28.85,-77.15, 2 -VRB00035, 9,200ENE_VRB ,28.91,-76.97, 2 -VRB00036, 9,210ENE_VRB ,28.97,-76.80, 2 -VRB00037, 9,220ENE_VRB ,29.03,-76.62, 2 -VRB00038, 9,230ENE_VRB ,29.09,-76.44, 2 -VRB00039, 9,240ENE_VRB ,29.15,-76.26, 2 -VRB00040, 9,20E_VRB ,27.68,-80.11, 2 -VRB00041, 9,30E_VRB ,27.68,-79.93, 2 -VRB00042, 9,40E_VRB ,27.68,-79.74, 2 -VRB00043, 9,50E_VRB ,27.68,-79.55, 2 -VRB00044, 9,60E_VRB ,27.68,-79.36, 2 -VRB00045, 9,70E_VRB ,27.67,-79.17, 2 -VRB00046, 9,80E_VRB ,27.67,-78.99, 2 -VRB00047, 9,90E_VRB ,27.67,-78.80, 2 -VRB00048, 9,20ESE_VRB ,27.55,-80.14, 2 -VRB00049, 9,30ESE_VRB ,27.49,-79.97, 2 -VRB00050, 9,40ESE_VRB ,27.42,-79.80, 2 -VRB00051, 9,50ESE_VRB ,27.36,-79.62, 2 -VRB00052, 9,20SE_VRB ,27.44,-80.22, 2 -VRB00053, 9,30SE_VRB ,27.33,-80.09, 2 -VRB00054, 9,20SSE_VRB ,27.37,-80.35, 2 -VRB00055, 9,30SSE_VRB ,27.22,-80.27, 2 -VRB00056, 9,20S_VRB ,27.35,-80.49, 2 -VRB00057, 9,30S_VRB ,27.18,-80.49, 2 -VRB00058, 9,20SSW_VRB ,27.37,-80.63, 2 -VRB00059, 9,30SSW_VRB ,27.22,-80.71, 2 -VRB00060, 9,40SSW_VRB ,27.06,-80.78, 2 -VRB00061, 9,20SW_VRB ,27.44,-80.76, 2 -VRB00062, 9,30SW_VRB ,27.33,-80.89, 2 -VRB00063, 9,40SW_VRB ,27.21,-81.02, 2 -VRB00064, 9,50SW_VRB ,27.09,-81.15, 2 -VRB00065, 9,20WSW_VRB ,27.55,-80.84, 2 -VRB00066, 9,30WSW_VRB ,27.49,-81.01, 2 -VRB00067, 9,40WSW_VRB ,27.42,-81.18, 2 -VRB00068, 9,50WSW_VRB ,27.36,-81.36, 2 -VRB00069, 9,20W_VRB ,27.68,-80.87, 2 -VRB00070, 9,30W_VRB ,27.68,-81.05, 2 -VRB00071, 9,40W_VRB ,27.68,-81.24, 2 -VRB00072, 9,20WNW_VRB ,27.81,-80.84, 2 -VRB00073, 9,30WNW_VRB ,27.87,-81.01, 2 -VRB00074, 9,20NW_VRB ,27.92,-80.76, 2 -VRB00075, 9,20NNW_VRB ,27.99,-80.63, 2 -VRB00076, 9,30NNW_VRB ,28.14,-80.71, 2 +MIA00052, 9,130SE_MIA ,24.26,-78.62, 2 +MIA00053, 9,160SE_MIA ,23.90,-78.24, 2 +MIA00054, 9,170SE_MIA ,23.78,-78.11, 2 +MIA00055, 9,180SE_MIA ,23.66,-77.99, 2 +MIA00056, 9,190SE_MIA ,23.54,-77.86, 2 +MIA00057, 9,200SE_MIA ,23.42,-77.73, 2 +MIA00058, 9,210SE_MIA ,23.30,-77.61, 2 +MIA00059, 9,220SE_MIA ,23.18,-77.48, 2 +MIA00060, 9,230SE_MIA ,23.06,-77.36, 2 +MIA00061, 9,240SE_MIA ,22.94,-77.23, 2 +MIA00062, 9,250SE_MIA ,22.82,-77.11, 2 +MIA00063, 9,20SSE_MIA ,25.49,-80.16, 2 +MIA00064, 9,30SSE_MIA ,25.34,-80.09, 2 +MIA00065, 9,40SSE_MIA ,25.18,-80.02, 2 +MIA00066, 9,50SSE_MIA ,25.03,-79.95, 2 +MIA00067, 9,60SSE_MIA ,24.88,-79.88, 2 +MIA00068, 9,70SSE_MIA ,24.72,-79.81, 2 +MIA00069, 9,80SSE_MIA ,24.57,-79.74, 2 +MIA00070, 9,90SSE_MIA ,24.41,-79.67, 2 +MIA00071, 9,100SSE_MIA ,24.26,-79.60, 2 +MIA00072, 9,110SSE_MIA ,24.11,-79.53, 2 +MIA00073, 9,120SSE_MIA ,23.95,-79.46, 2 +MIA00074, 9,130SSE_MIA ,23.80,-79.39, 2 +MIA00075, 9,140SSE_MIA ,23.64,-79.33, 2 +MIA00076, 9,150SSE_MIA ,23.49,-79.26, 2 +MIA00077, 9,160SSE_MIA ,23.33,-79.19, 2 +MIA00078, 9,20S_MIA ,25.47,-80.30, 2 +MIA00079, 9,30S_MIA ,25.30,-80.30, 2 +MIA00080, 9,40S_MIA ,25.13,-80.30, 2 +MIA00081, 9,50S_MIA ,24.97,-80.30, 2 +MIA00082, 9,60S_MIA ,24.80,-80.30, 2 +MIA00083, 9,70S_MIA ,24.63,-80.30, 2 +MIA00084, 9,80S_MIA ,24.47,-80.30, 2 +MIA00085, 9,20SSW_MIA ,25.49,-80.44, 2 +MIA00086, 9,30SSW_MIA ,25.34,-80.51, 2 +MIA00087, 9,40SSW_MIA ,25.18,-80.58, 2 +MIA00088, 9,50SSW_MIA ,25.03,-80.65, 2 +MIA00089, 9,60SSW_MIA ,24.88,-80.72, 2 +MIA00090, 9,20SW_MIA ,25.56,-80.56, 2 +MIA00091, 9,30SW_MIA ,25.45,-80.69, 2 +MIA00092, 9,40SW_MIA ,25.33,-80.82, 2 +MIA00093, 9,50SW_MIA ,25.21,-80.95, 2 +MIA00094, 9,20WSW_MIA ,25.67,-80.64, 2 +MIA00095, 9,30WSW_MIA ,25.61,-80.81, 2 +MIA00096, 9,40WSW_MIA ,25.54,-80.98, 2 +MIA00097, 9,50WSW_MIA ,25.48,-81.15, 2 +MIA00098, 9,60WSW_MIA ,25.41,-81.32, 2 +MIA00099, 9,20W_MIA ,25.80,-80.67, 2 +MIA00100, 9,30W_MIA ,25.80,-80.85, 2 +MIA00101, 9,40W_MIA ,25.80,-81.04, 2 +MIA00102, 9,20WNW_MIA ,25.93,-80.64, 2 +MIA00103, 9,30WNW_MIA ,25.99,-80.81, 2 +MIA00104, 9,40WNW_MIA ,26.05,-80.99, 2 +MIA00105, 9,20NW_MIA ,26.04,-80.56, 2 +MIA00106, 9,30NW_MIA ,26.15,-80.69, 2 +MIA00107, 9,40NW_MIA ,26.27,-80.83, 2 +MIA00108, 9,20NNW_MIA ,26.11,-80.44, 2 +TRV00000, 9,TRV ,27.68,-80.49, 1 +TRV00001, 9,20N_TRV ,28.01,-80.49, 2 +TRV00002, 9,30N_TRV ,28.18,-80.49, 2 +TRV00003, 9,20NNE_TRV ,27.99,-80.35, 2 +TRV00004, 9,30NNE_TRV ,28.14,-80.27, 2 +TRV00005, 9,40NNE_TRV ,28.30,-80.20, 2 +TRV00006, 9,50NNE_TRV ,28.45,-80.13, 2 +TRV00007, 9,60NNE_TRV ,28.60,-80.05, 2 +TRV00008, 9,20NE_TRV ,27.92,-80.22, 2 +TRV00009, 9,30NE_TRV ,28.03,-80.09, 2 +TRV00010, 9,40NE_TRV ,28.15,-79.96, 2 +TRV00011, 9,50NE_TRV ,28.27,-79.82, 2 +TRV00012, 9,60NE_TRV ,28.38,-79.69, 2 +TRV00013, 9,70NE_TRV ,28.50,-79.55, 2 +TRV00014, 9,80NE_TRV ,28.62,-79.42, 2 +TRV00015, 9,90NE_TRV ,28.73,-79.28, 2 +TRV00016, 9,100NE_TRV ,28.85,-79.15, 2 +TRV00017, 9,20ENE_TRV ,27.81,-80.14, 2 +TRV00018, 9,30ENE_TRV ,27.87,-79.97, 2 +TRV00019, 9,40ENE_TRV ,27.93,-79.79, 2 +TRV00020, 9,50ENE_TRV ,28.00,-79.62, 2 +TRV00021, 9,60ENE_TRV ,28.06,-79.44, 2 +TRV00022, 9,70ENE_TRV ,28.12,-79.27, 2 +TRV00023, 9,80ENE_TRV ,28.18,-79.09, 2 +TRV00024, 9,90ENE_TRV ,28.24,-78.92, 2 +TRV00025, 9,100ENE_TRV ,28.31,-78.74, 2 +TRV00026, 9,110ENE_TRV ,28.37,-78.57, 2 +TRV00027, 9,120ENE_TRV ,28.43,-78.39, 2 +TRV00028, 9,130ENE_TRV ,28.49,-78.21, 2 +TRV00029, 9,140ENE_TRV ,28.55,-78.04, 2 +TRV00030, 9,150ENE_TRV ,28.61,-77.86, 2 +TRV00031, 9,160ENE_TRV ,28.67,-77.68, 2 +TRV00032, 9,170ENE_TRV ,28.73,-77.51, 2 +TRV00033, 9,180ENE_TRV ,28.79,-77.33, 2 +TRV00034, 9,190ENE_TRV ,28.85,-77.15, 2 +TRV00035, 9,200ENE_TRV ,28.91,-76.97, 2 +TRV00036, 9,210ENE_TRV ,28.97,-76.80, 2 +TRV00037, 9,220ENE_TRV ,29.03,-76.62, 2 +TRV00038, 9,230ENE_TRV ,29.09,-76.44, 2 +TRV00039, 9,240ENE_TRV ,29.15,-76.26, 2 +TRV00040, 9,20E_TRV ,27.68,-80.11, 2 +TRV00041, 9,30E_TRV ,27.68,-79.93, 2 +TRV00042, 9,40E_TRV ,27.68,-79.74, 2 +TRV00043, 9,50E_TRV ,27.68,-79.55, 2 +TRV00044, 9,60E_TRV ,27.68,-79.36, 2 +TRV00045, 9,70E_TRV ,27.67,-79.17, 2 +TRV00046, 9,80E_TRV ,27.67,-78.99, 2 +TRV00047, 9,90E_TRV ,27.67,-78.80, 2 +TRV00048, 9,20ESE_TRV ,27.55,-80.14, 2 +TRV00049, 9,30ESE_TRV ,27.49,-79.97, 2 +TRV00050, 9,40ESE_TRV ,27.42,-79.80, 2 +TRV00051, 9,50ESE_TRV ,27.36,-79.62, 2 +TRV00052, 9,20SE_TRV ,27.44,-80.22, 2 +TRV00053, 9,30SE_TRV ,27.33,-80.09, 2 +TRV00054, 9,20SSE_TRV ,27.37,-80.35, 2 +TRV00055, 9,30SSE_TRV ,27.22,-80.27, 2 +TRV00056, 9,20S_TRV ,27.35,-80.49, 2 +TRV00057, 9,30S_TRV ,27.18,-80.49, 2 +TRV00058, 9,20SSW_TRV ,27.37,-80.63, 2 +TRV00059, 9,30SSW_TRV ,27.22,-80.71, 2 +TRV00060, 9,40SSW_TRV ,27.06,-80.78, 2 +TRV00061, 9,20SW_TRV ,27.44,-80.76, 2 +TRV00062, 9,30SW_TRV ,27.33,-80.89, 2 +TRV00063, 9,40SW_TRV ,27.21,-81.02, 2 +TRV00064, 9,50SW_TRV ,27.09,-81.15, 2 +TRV00065, 9,20WSW_TRV ,27.55,-80.84, 2 +TRV00066, 9,30WSW_TRV ,27.49,-81.01, 2 +TRV00067, 9,40WSW_TRV ,27.42,-81.18, 2 +TRV00068, 9,50WSW_TRV ,27.36,-81.36, 2 +TRV00069, 9,20W_TRV ,27.68,-80.87, 2 +TRV00070, 9,30W_TRV ,27.68,-81.05, 2 +TRV00071, 9,40W_TRV ,27.68,-81.24, 2 +TRV00072, 9,20WNW_TRV ,27.81,-80.84, 2 +TRV00073, 9,30WNW_TRV ,27.87,-81.01, 2 +TRV00074, 9,20NW_TRV ,27.92,-80.76, 2 +TRV00075, 9,20NNW_TRV ,27.99,-80.63, 2 +TRV00076, 9,30NNW_TRV ,28.14,-80.71, 2 PSK00000, 9,PSK ,37.09,-80.71, 1 PSK00001, 9,20NNE_PSK ,37.40,-80.55, 2 PSK00002, 9,20NE_PSK ,37.33,-80.41, 2 @@ -4022,130 +4042,130 @@ EYW00153, 9,30WSW_EYW ,24.40,-82.31, 2 EYW00154, 9,40WSW_EYW ,24.33,-82.48, 2 EYW00155, 9,50WSW_EYW ,24.27,-82.64, 2 EYW00156, 9,60WSW_EYW ,24.20,-82.81, 2 -EYW00157, 9,110WSW_EYW ,23.88,-83.65, 2 -EYW00158, 9,120WSW_EYW ,23.81,-83.82, 2 -EYW00159, 9,130WSW_EYW ,23.75,-83.99, 2 -EYW00160, 9,140WSW_EYW ,23.68,-84.15, 2 -EYW00161, 9,150WSW_EYW ,23.61,-84.32, 2 -EYW00162, 9,160WSW_EYW ,23.55,-84.49, 2 -EYW00163, 9,170WSW_EYW ,23.48,-84.65, 2 -EYW00164, 9,180WSW_EYW ,23.41,-84.82, 2 -EYW00165, 9,190WSW_EYW ,23.35,-84.98, 2 -EYW00166, 9,200WSW_EYW ,23.28,-85.15, 2 -EYW00167, 9,210WSW_EYW ,23.21,-85.32, 2 -EYW00168, 9,220WSW_EYW ,23.14,-85.48, 2 -EYW00169, 9,230WSW_EYW ,23.08,-85.65, 2 -EYW00170, 9,240WSW_EYW ,23.01,-85.81, 2 -EYW00171, 9,20W_EYW ,24.59,-82.17, 2 -EYW00172, 9,30W_EYW ,24.59,-82.35, 2 -EYW00173, 9,40W_EYW ,24.59,-82.53, 2 -EYW00174, 9,50W_EYW ,24.59,-82.72, 2 -EYW00175, 9,60W_EYW ,24.59,-82.90, 2 -EYW00176, 9,70W_EYW ,24.58,-83.08, 2 -EYW00177, 9,80W_EYW ,24.58,-83.27, 2 -EYW00178, 9,90W_EYW ,24.58,-83.45, 2 -EYW00179, 9,100W_EYW ,24.58,-83.63, 2 -EYW00180, 9,110W_EYW ,24.58,-83.81, 2 -EYW00181, 9,120W_EYW ,24.57,-84.00, 2 -EYW00182, 9,130W_EYW ,24.57,-84.18, 2 -EYW00183, 9,140W_EYW ,24.57,-84.36, 2 -EYW00184, 9,150W_EYW ,24.57,-84.55, 2 -EYW00185, 9,160W_EYW ,24.56,-84.73, 2 -EYW00186, 9,170W_EYW ,24.56,-84.91, 2 -EYW00187, 9,180W_EYW ,24.55,-85.10, 2 -EYW00188, 9,190W_EYW ,24.55,-85.28, 2 -EYW00189, 9,200W_EYW ,24.55,-85.46, 2 -EYW00190, 9,210W_EYW ,24.54,-85.65, 2 -EYW00191, 9,220W_EYW ,24.54,-85.83, 2 -EYW00192, 9,230W_EYW ,24.53,-86.01, 2 -EYW00193, 9,240W_EYW ,24.53,-86.19, 2 -EYW00194, 9,250W_EYW ,24.52,-86.38, 2 -EYW00195, 9,20WNW_EYW ,24.72,-82.14, 2 -EYW00196, 9,30WNW_EYW ,24.78,-82.31, 2 -EYW00197, 9,40WNW_EYW ,24.84,-82.48, 2 -EYW00198, 9,50WNW_EYW ,24.91,-82.65, 2 -EYW00199, 9,60WNW_EYW ,24.97,-82.82, 2 -EYW00200, 9,70WNW_EYW ,25.03,-82.99, 2 -EYW00201, 9,80WNW_EYW ,25.09,-83.16, 2 -EYW00202, 9,90WNW_EYW ,25.16,-83.33, 2 -EYW00203, 9,100WNW_EYW ,25.22,-83.50, 2 -EYW00204, 9,110WNW_EYW ,25.28,-83.67, 2 -EYW00205, 9,120WNW_EYW ,25.34,-83.84, 2 -EYW00206, 9,130WNW_EYW ,25.40,-84.01, 2 -EYW00207, 9,20NW_EYW ,24.83,-82.06, 2 -EYW00208, 9,30NW_EYW ,24.94,-82.19, 2 -EYW00209, 9,40NW_EYW ,25.06,-82.32, 2 -EYW00210, 9,50NW_EYW ,25.18,-82.45, 2 -EYW00211, 9,60NW_EYW ,25.29,-82.58, 2 -EYW00212, 9,70NW_EYW ,25.41,-82.71, 2 -EYW00213, 9,20NNW_EYW ,24.90,-81.94, 2 -EYW00214, 9,30NNW_EYW ,25.05,-82.01, 2 -EYW00215, 9,40NNW_EYW ,25.21,-82.08, 2 -EYW00216, 9,50NNW_EYW ,25.36,-82.15, 2 -EYW00217, 9,60NNW_EYW ,25.51,-82.22, 2 -FMY00000, 9,FMY ,26.58,-81.87, 1 -FMY00001, 9,20N_FMY ,26.91,-81.87, 2 -FMY00002, 9,30N_FMY ,27.08,-81.87, 2 -FMY00003, 9,20NNE_FMY ,26.89,-81.73, 2 -FMY00004, 9,30NNE_FMY ,27.04,-81.66, 2 -FMY00005, 9,40NNE_FMY ,27.20,-81.58, 2 -FMY00006, 9,20NE_FMY ,26.82,-81.61, 2 -FMY00007, 9,30NE_FMY ,26.93,-81.47, 2 -FMY00008, 9,40NE_FMY ,27.05,-81.34, 2 -FMY00009, 9,20ENE_FMY ,26.71,-81.53, 2 -FMY00010, 9,30ENE_FMY ,26.77,-81.35, 2 -FMY00011, 9,40ENE_FMY ,26.83,-81.18, 2 -FMY00012, 9,20E_FMY ,26.58,-81.50, 2 -FMY00013, 9,30E_FMY ,26.58,-81.31, 2 -FMY00014, 9,40E_FMY ,26.58,-81.13, 2 -FMY00015, 9,20ESE_FMY ,26.45,-81.53, 2 -FMY00016, 9,30ESE_FMY ,26.39,-81.35, 2 -FMY00017, 9,40ESE_FMY ,26.32,-81.18, 2 -FMY00018, 9,50ESE_FMY ,26.26,-81.01, 2 -FMY00019, 9,20SE_FMY ,26.34,-81.61, 2 -FMY00020, 9,30SE_FMY ,26.23,-81.48, 2 -FMY00021, 9,40SE_FMY ,26.11,-81.35, 2 -FMY00022, 9,50SE_FMY ,25.99,-81.21, 2 -FMY00023, 9,20SSE_FMY ,26.27,-81.73, 2 -FMY00024, 9,30SSE_FMY ,26.12,-81.66, 2 -FMY00025, 9,40SSE_FMY ,25.96,-81.59, 2 -FMY00026, 9,50SSE_FMY ,25.81,-81.52, 2 -FMY00027, 9,60SSE_FMY ,25.66,-81.45, 2 -FMY00028, 9,20S_FMY ,26.25,-81.87, 2 -FMY00029, 9,30S_FMY ,26.08,-81.87, 2 -FMY00030, 9,40S_FMY ,25.91,-81.87, 2 -FMY00031, 9,50S_FMY ,25.75,-81.87, 2 -FMY00032, 9,60S_FMY ,25.58,-81.87, 2 -FMY00033, 9,20SSW_FMY ,26.27,-82.01, 2 -FMY00034, 9,30SSW_FMY ,26.12,-82.08, 2 -FMY00035, 9,40SSW_FMY ,25.96,-82.15, 2 -FMY00036, 9,50SSW_FMY ,25.81,-82.22, 2 -FMY00037, 9,60SSW_FMY ,25.66,-82.29, 2 -FMY00038, 9,20SW_FMY ,26.34,-82.13, 2 -FMY00039, 9,30SW_FMY ,26.23,-82.26, 2 -FMY00040, 9,40SW_FMY ,26.11,-82.39, 2 -FMY00041, 9,50SW_FMY ,25.99,-82.53, 2 -FMY00042, 9,60SW_FMY ,25.87,-82.66, 2 -FMY00043, 9,70SW_FMY ,25.75,-82.79, 2 -FMY00044, 9,80SW_FMY ,25.63,-82.91, 2 -FMY00045, 9,90SW_FMY ,25.52,-83.04, 2 -FMY00046, 9,20WSW_FMY ,26.45,-82.21, 2 -FMY00047, 9,30WSW_FMY ,26.39,-82.39, 2 -FMY00048, 9,40WSW_FMY ,26.32,-82.56, 2 -FMY00049, 9,50WSW_FMY ,26.26,-82.73, 2 -FMY00050, 9,60WSW_FMY ,26.19,-82.90, 2 -FMY00051, 9,70WSW_FMY ,26.13,-83.07, 2 -FMY00052, 9,80WSW_FMY ,26.06,-83.24, 2 -FMY00053, 9,90WSW_FMY ,26.00,-83.41, 2 -FMY00054, 9,100WSW_FMY ,25.93,-83.58, 2 -FMY00055, 9,110WSW_FMY ,25.87,-83.75, 2 -FMY00056, 9,20W_FMY ,26.58,-82.24, 2 -FMY00057, 9,30W_FMY ,26.58,-82.43, 2 -FMY00058, 9,40W_FMY ,26.58,-82.61, 2 -FMY00059, 9,20WNW_FMY ,26.71,-82.21, 2 -FMY00060, 9,30WNW_FMY ,26.77,-82.39, 2 -FMY00061, 9,20NW_FMY ,26.82,-82.13, 2 -FMY00062, 9,20NNW_FMY ,26.89,-82.01, 2 +EYW00157, 9,70WSW_EYW ,24.14,-82.98, 2 +EYW00158, 9,100WSW_EYW ,23.94,-83.48, 2 +EYW00159, 9,110WSW_EYW ,23.88,-83.65, 2 +EYW00160, 9,120WSW_EYW ,23.81,-83.82, 2 +EYW00161, 9,130WSW_EYW ,23.75,-83.99, 2 +EYW00162, 9,140WSW_EYW ,23.68,-84.15, 2 +EYW00163, 9,150WSW_EYW ,23.61,-84.32, 2 +EYW00164, 9,160WSW_EYW ,23.55,-84.49, 2 +EYW00165, 9,170WSW_EYW ,23.48,-84.65, 2 +EYW00166, 9,180WSW_EYW ,23.41,-84.82, 2 +EYW00167, 9,190WSW_EYW ,23.35,-84.98, 2 +EYW00168, 9,200WSW_EYW ,23.28,-85.15, 2 +EYW00169, 9,210WSW_EYW ,23.21,-85.32, 2 +EYW00170, 9,220WSW_EYW ,23.14,-85.48, 2 +EYW00171, 9,230WSW_EYW ,23.08,-85.65, 2 +EYW00172, 9,240WSW_EYW ,23.01,-85.81, 2 +EYW00173, 9,20W_EYW ,24.59,-82.17, 2 +EYW00174, 9,30W_EYW ,24.59,-82.35, 2 +EYW00175, 9,40W_EYW ,24.59,-82.53, 2 +EYW00176, 9,50W_EYW ,24.59,-82.72, 2 +EYW00177, 9,60W_EYW ,24.59,-82.90, 2 +EYW00178, 9,70W_EYW ,24.58,-83.08, 2 +EYW00179, 9,80W_EYW ,24.58,-83.27, 2 +EYW00180, 9,90W_EYW ,24.58,-83.45, 2 +EYW00181, 9,100W_EYW ,24.58,-83.63, 2 +EYW00182, 9,110W_EYW ,24.58,-83.81, 2 +EYW00183, 9,120W_EYW ,24.57,-84.00, 2 +EYW00184, 9,130W_EYW ,24.57,-84.18, 2 +EYW00185, 9,140W_EYW ,24.57,-84.36, 2 +EYW00186, 9,150W_EYW ,24.57,-84.55, 2 +EYW00187, 9,160W_EYW ,24.56,-84.73, 2 +EYW00188, 9,170W_EYW ,24.56,-84.91, 2 +EYW00189, 9,180W_EYW ,24.55,-85.10, 2 +EYW00190, 9,190W_EYW ,24.55,-85.28, 2 +EYW00191, 9,200W_EYW ,24.55,-85.46, 2 +EYW00192, 9,210W_EYW ,24.54,-85.65, 2 +EYW00193, 9,220W_EYW ,24.54,-85.83, 2 +EYW00194, 9,230W_EYW ,24.53,-86.01, 2 +EYW00195, 9,240W_EYW ,24.53,-86.19, 2 +EYW00196, 9,250W_EYW ,24.52,-86.38, 2 +EYW00197, 9,20WNW_EYW ,24.72,-82.14, 2 +EYW00198, 9,30WNW_EYW ,24.78,-82.31, 2 +EYW00199, 9,40WNW_EYW ,24.84,-82.48, 2 +EYW00200, 9,50WNW_EYW ,24.91,-82.65, 2 +EYW00201, 9,60WNW_EYW ,24.97,-82.82, 2 +EYW00202, 9,70WNW_EYW ,25.03,-82.99, 2 +EYW00203, 9,80WNW_EYW ,25.09,-83.16, 2 +EYW00204, 9,90WNW_EYW ,25.16,-83.33, 2 +EYW00205, 9,100WNW_EYW ,25.22,-83.50, 2 +EYW00206, 9,110WNW_EYW ,25.28,-83.67, 2 +EYW00207, 9,120WNW_EYW ,25.34,-83.84, 2 +EYW00208, 9,130WNW_EYW ,25.40,-84.01, 2 +EYW00209, 9,140WNW_EYW ,25.46,-84.19, 2 +EYW00210, 9,20NW_EYW ,24.83,-82.06, 2 +EYW00211, 9,30NW_EYW ,24.94,-82.19, 2 +EYW00212, 9,40NW_EYW ,25.06,-82.32, 2 +EYW00213, 9,50NW_EYW ,25.18,-82.45, 2 +EYW00214, 9,60NW_EYW ,25.29,-82.58, 2 +EYW00215, 9,70NW_EYW ,25.41,-82.71, 2 +EYW00216, 9,20NNW_EYW ,24.90,-81.94, 2 +EYW00217, 9,30NNW_EYW ,25.05,-82.01, 2 +EYW00218, 9,40NNW_EYW ,25.21,-82.08, 2 +EYW00219, 9,50NNW_EYW ,25.36,-82.15, 2 +RSW00000, 9,RSW ,26.53,-81.78, 1 +RSW00001, 9,20N_RSW ,26.86,-81.78, 2 +RSW00002, 9,30N_RSW ,27.03,-81.78, 2 +RSW00003, 9,20NNE_RSW ,26.84,-81.64, 2 +RSW00004, 9,30NNE_RSW ,26.99,-81.57, 2 +RSW00005, 9,40NNE_RSW ,27.15,-81.49, 2 +RSW00006, 9,20NE_RSW ,26.77,-81.52, 2 +RSW00007, 9,30NE_RSW ,26.88,-81.38, 2 +RSW00008, 9,40NE_RSW ,27.00,-81.25, 2 +RSW00009, 9,20ENE_RSW ,26.66,-81.44, 2 +RSW00010, 9,30ENE_RSW ,26.72,-81.26, 2 +RSW00011, 9,40ENE_RSW ,26.78,-81.09, 2 +RSW00012, 9,20E_RSW ,26.53,-81.41, 2 +RSW00013, 9,30E_RSW ,26.53,-81.22, 2 +RSW00014, 9,40E_RSW ,26.53,-81.04, 2 +RSW00015, 9,20ESE_RSW ,26.40,-81.44, 2 +RSW00016, 9,30ESE_RSW ,26.34,-81.26, 2 +RSW00017, 9,40ESE_RSW ,26.27,-81.09, 2 +RSW00018, 9,20SE_RSW ,26.29,-81.52, 2 +RSW00019, 9,30SE_RSW ,26.18,-81.39, 2 +RSW00020, 9,40SE_RSW ,26.06,-81.26, 2 +RSW00021, 9,50SE_RSW ,25.94,-81.13, 2 +RSW00022, 9,20SSE_RSW ,26.22,-81.64, 2 +RSW00023, 9,30SSE_RSW ,26.07,-81.57, 2 +RSW00024, 9,40SSE_RSW ,25.91,-81.50, 2 +RSW00025, 9,50SSE_RSW ,25.76,-81.43, 2 +RSW00026, 9,60SSE_RSW ,25.61,-81.36, 2 +RSW00027, 9,20S_RSW ,26.20,-81.78, 2 +RSW00028, 9,30S_RSW ,26.03,-81.78, 2 +RSW00029, 9,40S_RSW ,25.86,-81.78, 2 +RSW00030, 9,50S_RSW ,25.70,-81.78, 2 +RSW00031, 9,60S_RSW ,25.53,-81.78, 2 +RSW00032, 9,20SSW_RSW ,26.22,-81.92, 2 +RSW00033, 9,30SSW_RSW ,26.07,-81.99, 2 +RSW00034, 9,40SSW_RSW ,25.91,-82.06, 2 +RSW00035, 9,50SSW_RSW ,25.76,-82.13, 2 +RSW00036, 9,60SSW_RSW ,25.61,-82.20, 2 +RSW00037, 9,20SW_RSW ,26.29,-82.04, 2 +RSW00038, 9,30SW_RSW ,26.18,-82.17, 2 +RSW00039, 9,40SW_RSW ,26.06,-82.30, 2 +RSW00040, 9,50SW_RSW ,25.94,-82.43, 2 +RSW00041, 9,60SW_RSW ,25.82,-82.56, 2 +RSW00042, 9,70SW_RSW ,25.70,-82.69, 2 +RSW00043, 9,80SW_RSW ,25.58,-82.82, 2 +RSW00044, 9,20WSW_RSW ,26.40,-82.12, 2 +RSW00045, 9,30WSW_RSW ,26.34,-82.30, 2 +RSW00046, 9,40WSW_RSW ,26.27,-82.47, 2 +RSW00047, 9,50WSW_RSW ,26.21,-82.64, 2 +RSW00048, 9,60WSW_RSW ,26.14,-82.81, 2 +RSW00049, 9,70WSW_RSW ,26.08,-82.98, 2 +RSW00050, 9,80WSW_RSW ,26.01,-83.15, 2 +RSW00051, 9,90WSW_RSW ,25.95,-83.32, 2 +RSW00052, 9,100WSW_RSW ,25.88,-83.49, 2 +RSW00053, 9,20W_RSW ,26.53,-82.15, 2 +RSW00054, 9,30W_RSW ,26.53,-82.34, 2 +RSW00055, 9,40W_RSW ,26.53,-82.52, 2 +RSW00056, 9,20WNW_RSW ,26.66,-82.12, 2 +RSW00057, 9,30WNW_RSW ,26.72,-82.30, 2 +RSW00058, 9,20NW_RSW ,26.77,-82.04, 2 +RSW00059, 9,20NNW_RSW ,26.84,-81.92, 2 +RSW00060, 9,30NNW_RSW ,26.99,-81.99, 2 SPA00000, 9,SPA ,35.03,-81.93, 1 SPA00001, 9,20N_SPA ,35.36,-81.93, 2 SPA00002, 9,30N_SPA ,35.53,-81.93, 2 @@ -4257,41 +4277,48 @@ HMV00009, 9,20ENE_HMV ,36.57,-81.75, 2 HMV00010, 9,30ENE_HMV ,36.63,-81.55, 2 HMV00011, 9,20E_HMV ,36.44,-81.72, 2 HMV00012, 9,30E_HMV ,36.44,-81.51, 2 -HMV00013, 9,30ESE_HMV ,36.25,-81.56, 2 -HMV00014, 9,40ESE_HMV ,36.18,-81.37, 2 -HMV00015, 9,50ESE_HMV ,36.12,-81.18, 2 -HMV00016, 9,30SE_HMV ,36.09,-81.69, 2 -HMV00017, 9,40SE_HMV ,35.97,-81.55, 2 -HMV00018, 9,50SE_HMV ,35.85,-81.40, 2 -HMV00019, 9,30SSE_HMV ,35.98,-81.89, 2 -HMV00020, 9,40SSE_HMV ,35.82,-81.82, 2 -HMV00021, 9,50SSE_HMV ,35.67,-81.74, 2 -HMV00022, 9,30S_HMV ,35.94,-82.13, 2 -HMV00023, 9,40S_HMV ,35.77,-82.13, 2 -HMV00024, 9,30SSW_HMV ,35.98,-82.37, 2 -HMV00025, 9,40SSW_HMV ,35.82,-82.44, 2 -HMV00026, 9,50SSW_HMV ,35.67,-82.52, 2 -HMV00027, 9,30SW_HMV ,36.09,-82.57, 2 -HMV00028, 9,40SW_HMV ,35.97,-82.71, 2 -HMV00029, 9,50SW_HMV ,35.85,-82.86, 2 -HMV00030, 9,30WSW_HMV ,36.25,-82.70, 2 -HMV00031, 9,40WSW_HMV ,36.18,-82.89, 2 -HMV00032, 9,50WSW_HMV ,36.12,-83.08, 2 -HMV00033, 9,20W_HMV ,36.44,-82.54, 2 -HMV00034, 9,30W_HMV ,36.44,-82.75, 2 -HMV00035, 9,40W_HMV ,36.44,-82.96, 2 -HMV00036, 9,20WNW_HMV ,36.57,-82.51, 2 -HMV00037, 9,30WNW_HMV ,36.63,-82.71, 2 -HMV00038, 9,40WNW_HMV ,36.69,-82.90, 2 -HMV00039, 9,20NW_HMV ,36.68,-82.42, 2 -HMV00040, 9,30NW_HMV ,36.79,-82.57, 2 -HMV00041, 9,40NW_HMV ,36.91,-82.72, 2 -HMV00042, 9,50NW_HMV ,37.03,-82.87, 2 -HMV00043, 9,20NNW_HMV ,36.75,-82.29, 2 -HMV00044, 9,30NNW_HMV ,36.90,-82.37, 2 -HMV00045, 9,40NNW_HMV ,37.06,-82.45, 2 -HMV00046, 9,50NNW_HMV ,37.21,-82.53, 2 -HMV00047, 9,60NNW_HMV ,37.36,-82.61, 2 +HMV00013, 9,20ESE_HMV ,36.31,-81.75, 2 +HMV00014, 9,30ESE_HMV ,36.25,-81.56, 2 +HMV00015, 9,40ESE_HMV ,36.18,-81.37, 2 +HMV00016, 9,50ESE_HMV ,36.12,-81.18, 2 +HMV00017, 9,20SE_HMV ,36.20,-81.84, 2 +HMV00018, 9,30SE_HMV ,36.09,-81.69, 2 +HMV00019, 9,40SE_HMV ,35.97,-81.55, 2 +HMV00020, 9,50SE_HMV ,35.85,-81.40, 2 +HMV00021, 9,20SSE_HMV ,36.13,-81.97, 2 +HMV00022, 9,30SSE_HMV ,35.98,-81.89, 2 +HMV00023, 9,40SSE_HMV ,35.82,-81.82, 2 +HMV00024, 9,50SSE_HMV ,35.67,-81.74, 2 +HMV00025, 9,20S_HMV ,36.11,-82.13, 2 +HMV00026, 9,30S_HMV ,35.94,-82.13, 2 +HMV00027, 9,40S_HMV ,35.77,-82.13, 2 +HMV00028, 9,20SSW_HMV ,36.13,-82.29, 2 +HMV00029, 9,30SSW_HMV ,35.98,-82.37, 2 +HMV00030, 9,40SSW_HMV ,35.82,-82.44, 2 +HMV00031, 9,50SSW_HMV ,35.67,-82.52, 2 +HMV00032, 9,20SW_HMV ,36.20,-82.42, 2 +HMV00033, 9,30SW_HMV ,36.09,-82.57, 2 +HMV00034, 9,40SW_HMV ,35.97,-82.71, 2 +HMV00035, 9,50SW_HMV ,35.85,-82.86, 2 +HMV00036, 9,20WSW_HMV ,36.31,-82.51, 2 +HMV00037, 9,30WSW_HMV ,36.25,-82.70, 2 +HMV00038, 9,40WSW_HMV ,36.18,-82.89, 2 +HMV00039, 9,50WSW_HMV ,36.12,-83.08, 2 +HMV00040, 9,20W_HMV ,36.44,-82.54, 2 +HMV00041, 9,30W_HMV ,36.44,-82.75, 2 +HMV00042, 9,40W_HMV ,36.44,-82.96, 2 +HMV00043, 9,20WNW_HMV ,36.57,-82.51, 2 +HMV00044, 9,30WNW_HMV ,36.63,-82.71, 2 +HMV00045, 9,40WNW_HMV ,36.69,-82.90, 2 +HMV00046, 9,20NW_HMV ,36.68,-82.42, 2 +HMV00047, 9,30NW_HMV ,36.79,-82.57, 2 +HMV00048, 9,40NW_HMV ,36.91,-82.72, 2 +HMV00049, 9,50NW_HMV ,37.03,-82.87, 2 +HMV00050, 9,20NNW_HMV ,36.75,-82.29, 2 +HMV00051, 9,30NNW_HMV ,36.90,-82.37, 2 +HMV00052, 9,40NNW_HMV ,37.06,-82.45, 2 +HMV00053, 9,50NNW_HMV ,37.21,-82.53, 2 +HMV00054, 9,60NNW_HMV ,37.36,-82.61, 2 CLE00000, 9,CLE ,41.42,-81.85, 1 CLE00001, 9,20N_CLE ,41.75,-81.85, 2 CLE00002, 9,30N_CLE ,41.92,-81.85, 2 @@ -4471,51 +4498,52 @@ SRQ00020, 9,30SSW_SRQ ,26.94,-82.76, 2 SRQ00021, 9,40SSW_SRQ ,26.78,-82.84, 2 SRQ00022, 9,50SSW_SRQ ,26.63,-82.91, 2 SRQ00023, 9,60SSW_SRQ ,26.48,-82.98, 2 -SRQ00024, 9,20SW_SRQ ,27.16,-82.81, 2 -SRQ00025, 9,30SW_SRQ ,27.05,-82.95, 2 -SRQ00026, 9,40SW_SRQ ,26.93,-83.08, 2 -SRQ00027, 9,50SW_SRQ ,26.81,-83.21, 2 -SRQ00028, 9,60SW_SRQ ,26.69,-83.34, 2 -SRQ00029, 9,70SW_SRQ ,26.57,-83.47, 2 -SRQ00030, 9,80SW_SRQ ,26.45,-83.60, 2 -SRQ00031, 9,90SW_SRQ ,26.34,-83.73, 2 -SRQ00032, 9,100SW_SRQ ,26.22,-83.86, 2 -SRQ00033, 9,110SW_SRQ ,26.10,-83.99, 2 -SRQ00034, 9,120SW_SRQ ,25.98,-84.12, 2 -SRQ00035, 9,130SW_SRQ ,25.86,-84.25, 2 -SRQ00036, 9,140SW_SRQ ,25.74,-84.38, 2 -SRQ00037, 9,150SW_SRQ ,25.62,-84.51, 2 -SRQ00038, 9,160SW_SRQ ,25.50,-84.64, 2 -SRQ00039, 9,170SW_SRQ ,25.38,-84.77, 2 -SRQ00040, 9,20WSW_SRQ ,27.27,-82.90, 2 -SRQ00041, 9,30WSW_SRQ ,27.21,-83.07, 2 -SRQ00042, 9,40WSW_SRQ ,27.14,-83.24, 2 -SRQ00043, 9,50WSW_SRQ ,27.08,-83.41, 2 -SRQ00044, 9,60WSW_SRQ ,27.01,-83.59, 2 -SRQ00045, 9,70WSW_SRQ ,26.95,-83.76, 2 -SRQ00046, 9,80WSW_SRQ ,26.88,-83.93, 2 -SRQ00047, 9,90WSW_SRQ ,26.82,-84.10, 2 -SRQ00048, 9,100WSW_SRQ ,26.75,-84.27, 2 -SRQ00049, 9,110WSW_SRQ ,26.69,-84.44, 2 -SRQ00050, 9,120WSW_SRQ ,26.62,-84.62, 2 -SRQ00051, 9,130WSW_SRQ ,26.55,-84.79, 2 -SRQ00052, 9,140WSW_SRQ ,26.49,-84.96, 2 -SRQ00053, 9,150WSW_SRQ ,26.42,-85.13, 2 -SRQ00054, 9,160WSW_SRQ ,26.35,-85.30, 2 -SRQ00055, 9,170WSW_SRQ ,26.29,-85.47, 2 -SRQ00056, 9,180WSW_SRQ ,26.22,-85.64, 2 -SRQ00057, 9,190WSW_SRQ ,26.15,-85.81, 2 -SRQ00058, 9,200WSW_SRQ ,26.08,-85.98, 2 -SRQ00059, 9,210WSW_SRQ ,26.02,-86.15, 2 -SRQ00060, 9,220WSW_SRQ ,25.95,-86.31, 2 -SRQ00061, 9,230WSW_SRQ ,25.88,-86.48, 2 -SRQ00062, 9,240WSW_SRQ ,25.81,-86.65, 2 -SRQ00063, 9,20W_SRQ ,27.40,-82.93, 2 -SRQ00064, 9,30W_SRQ ,27.40,-83.11, 2 -SRQ00065, 9,40W_SRQ ,27.40,-83.30, 2 -SRQ00066, 9,50W_SRQ ,27.40,-83.49, 2 -SRQ00067, 9,60W_SRQ ,27.40,-83.68, 2 -SRQ00068, 9,20WNW_SRQ ,27.53,-82.90, 2 +SRQ00024, 9,70SSW_SRQ ,26.32,-83.05, 2 +SRQ00025, 9,20SW_SRQ ,27.16,-82.81, 2 +SRQ00026, 9,30SW_SRQ ,27.05,-82.95, 2 +SRQ00027, 9,40SW_SRQ ,26.93,-83.08, 2 +SRQ00028, 9,50SW_SRQ ,26.81,-83.21, 2 +SRQ00029, 9,60SW_SRQ ,26.69,-83.34, 2 +SRQ00030, 9,70SW_SRQ ,26.57,-83.47, 2 +SRQ00031, 9,80SW_SRQ ,26.45,-83.60, 2 +SRQ00032, 9,90SW_SRQ ,26.34,-83.73, 2 +SRQ00033, 9,100SW_SRQ ,26.22,-83.86, 2 +SRQ00034, 9,110SW_SRQ ,26.10,-83.99, 2 +SRQ00035, 9,120SW_SRQ ,25.98,-84.12, 2 +SRQ00036, 9,130SW_SRQ ,25.86,-84.25, 2 +SRQ00037, 9,140SW_SRQ ,25.74,-84.38, 2 +SRQ00038, 9,150SW_SRQ ,25.62,-84.51, 2 +SRQ00039, 9,160SW_SRQ ,25.50,-84.64, 2 +SRQ00040, 9,170SW_SRQ ,25.38,-84.77, 2 +SRQ00041, 9,20WSW_SRQ ,27.27,-82.90, 2 +SRQ00042, 9,30WSW_SRQ ,27.21,-83.07, 2 +SRQ00043, 9,40WSW_SRQ ,27.14,-83.24, 2 +SRQ00044, 9,50WSW_SRQ ,27.08,-83.41, 2 +SRQ00045, 9,60WSW_SRQ ,27.01,-83.59, 2 +SRQ00046, 9,70WSW_SRQ ,26.95,-83.76, 2 +SRQ00047, 9,80WSW_SRQ ,26.88,-83.93, 2 +SRQ00048, 9,90WSW_SRQ ,26.82,-84.10, 2 +SRQ00049, 9,100WSW_SRQ ,26.75,-84.27, 2 +SRQ00050, 9,110WSW_SRQ ,26.69,-84.44, 2 +SRQ00051, 9,120WSW_SRQ ,26.62,-84.62, 2 +SRQ00052, 9,130WSW_SRQ ,26.55,-84.79, 2 +SRQ00053, 9,140WSW_SRQ ,26.49,-84.96, 2 +SRQ00054, 9,150WSW_SRQ ,26.42,-85.13, 2 +SRQ00055, 9,160WSW_SRQ ,26.35,-85.30, 2 +SRQ00056, 9,170WSW_SRQ ,26.29,-85.47, 2 +SRQ00057, 9,180WSW_SRQ ,26.22,-85.64, 2 +SRQ00058, 9,190WSW_SRQ ,26.15,-85.81, 2 +SRQ00059, 9,200WSW_SRQ ,26.08,-85.98, 2 +SRQ00060, 9,210WSW_SRQ ,26.02,-86.15, 2 +SRQ00061, 9,220WSW_SRQ ,25.95,-86.31, 2 +SRQ00062, 9,230WSW_SRQ ,25.88,-86.48, 2 +SRQ00063, 9,240WSW_SRQ ,25.81,-86.65, 2 +SRQ00064, 9,20W_SRQ ,27.40,-82.93, 2 +SRQ00065, 9,30W_SRQ ,27.40,-83.11, 2 +SRQ00066, 9,40W_SRQ ,27.40,-83.30, 2 +SRQ00067, 9,50W_SRQ ,27.40,-83.49, 2 +SRQ00068, 9,60W_SRQ ,27.40,-83.68, 2 +SRQ00069, 9,20WNW_SRQ ,27.53,-82.90, 2 APE00000, 9,APE ,40.15,-82.59, 1 APE00001, 9,20N_APE ,40.48,-82.59, 2 APE00002, 9,30N_APE ,40.65,-82.59, 2 @@ -4590,36 +4618,37 @@ PIE00021, 9,30WSW_PIE ,27.72,-83.20, 2 PIE00022, 9,40WSW_PIE ,27.65,-83.37, 2 PIE00023, 9,50WSW_PIE ,27.59,-83.55, 2 PIE00024, 9,60WSW_PIE ,27.52,-83.72, 2 -PIE00025, 9,20W_PIE ,27.91,-83.06, 2 -PIE00026, 9,30W_PIE ,27.91,-83.25, 2 -PIE00027, 9,40W_PIE ,27.91,-83.43, 2 -PIE00028, 9,50W_PIE ,27.91,-83.62, 2 -PIE00029, 9,60W_PIE ,27.91,-83.81, 2 -PIE00030, 9,70W_PIE ,27.90,-84.00, 2 -PIE00031, 9,80W_PIE ,27.90,-84.19, 2 -PIE00032, 9,90W_PIE ,27.90,-84.38, 2 -PIE00033, 9,100W_PIE ,27.90,-84.56, 2 -PIE00034, 9,110W_PIE ,27.89,-84.75, 2 -PIE00035, 9,120W_PIE ,27.89,-84.94, 2 -PIE00036, 9,130W_PIE ,27.89,-85.13, 2 -PIE00037, 9,140W_PIE ,27.88,-85.32, 2 -PIE00038, 9,150W_PIE ,27.88,-85.51, 2 -PIE00039, 9,160W_PIE ,27.88,-85.69, 2 -PIE00040, 9,170W_PIE ,27.87,-85.88, 2 -PIE00041, 9,20WNW_PIE ,28.04,-83.03, 2 -PIE00042, 9,30WNW_PIE ,28.10,-83.20, 2 -PIE00043, 9,40WNW_PIE ,28.16,-83.38, 2 -PIE00044, 9,50WNW_PIE ,28.23,-83.55, 2 -PIE00045, 9,60WNW_PIE ,28.29,-83.73, 2 -PIE00046, 9,70WNW_PIE ,28.35,-83.90, 2 -PIE00047, 9,80WNW_PIE ,28.41,-84.08, 2 -PIE00048, 9,20NW_PIE ,28.15,-82.95, 2 -PIE00049, 9,30NW_PIE ,28.26,-83.08, 2 -PIE00050, 9,40NW_PIE ,28.38,-83.22, 2 -PIE00051, 9,50NW_PIE ,28.50,-83.35, 2 -PIE00052, 9,20NNW_PIE ,28.22,-82.82, 2 -PIE00053, 9,30NNW_PIE ,28.37,-82.90, 2 -PIE00054, 9,40NNW_PIE ,28.53,-82.97, 2 +PIE00025, 9,70WSW_PIE ,27.46,-83.89, 2 +PIE00026, 9,20W_PIE ,27.91,-83.06, 2 +PIE00027, 9,30W_PIE ,27.91,-83.25, 2 +PIE00028, 9,40W_PIE ,27.91,-83.43, 2 +PIE00029, 9,50W_PIE ,27.91,-83.62, 2 +PIE00030, 9,60W_PIE ,27.91,-83.81, 2 +PIE00031, 9,70W_PIE ,27.90,-84.00, 2 +PIE00032, 9,80W_PIE ,27.90,-84.19, 2 +PIE00033, 9,90W_PIE ,27.90,-84.38, 2 +PIE00034, 9,100W_PIE ,27.90,-84.56, 2 +PIE00035, 9,110W_PIE ,27.89,-84.75, 2 +PIE00036, 9,120W_PIE ,27.89,-84.94, 2 +PIE00037, 9,130W_PIE ,27.89,-85.13, 2 +PIE00038, 9,140W_PIE ,27.88,-85.32, 2 +PIE00039, 9,150W_PIE ,27.88,-85.51, 2 +PIE00040, 9,160W_PIE ,27.88,-85.69, 2 +PIE00041, 9,170W_PIE ,27.87,-85.88, 2 +PIE00042, 9,20WNW_PIE ,28.04,-83.03, 2 +PIE00043, 9,30WNW_PIE ,28.10,-83.20, 2 +PIE00044, 9,40WNW_PIE ,28.16,-83.38, 2 +PIE00045, 9,50WNW_PIE ,28.23,-83.55, 2 +PIE00046, 9,60WNW_PIE ,28.29,-83.73, 2 +PIE00047, 9,70WNW_PIE ,28.35,-83.90, 2 +PIE00048, 9,80WNW_PIE ,28.41,-84.08, 2 +PIE00049, 9,20NW_PIE ,28.15,-82.95, 2 +PIE00050, 9,30NW_PIE ,28.26,-83.08, 2 +PIE00051, 9,40NW_PIE ,28.38,-83.22, 2 +PIE00052, 9,50NW_PIE ,28.50,-83.35, 2 +PIE00053, 9,20NNW_PIE ,28.22,-82.82, 2 +PIE00054, 9,30NNW_PIE ,28.37,-82.90, 2 +PIE00055, 9,40NNW_PIE ,28.53,-82.97, 2 ECK00000, 9,ECK ,43.26,-82.72, 1 ECK00001, 9,20N_ECK ,43.59,-82.72, 2 ECK00002, 9,30N_ECK ,43.76,-82.72, 2 @@ -4638,27 +4667,35 @@ ECK00014, 9,30E_ECK ,43.26,-82.03, 2 ECK00015, 9,40E_ECK ,43.26,-81.81, 2 ECK00016, 9,50E_ECK ,43.25,-81.58, 2 ECK00017, 9,60E_ECK ,43.25,-81.35, 2 -ECK00018, 9,50ESE_ECK ,42.94,-81.67, 2 -ECK00019, 9,60ESE_ECK ,42.87,-81.46, 2 -ECK00020, 9,70ESE_ECK ,42.80,-81.25, 2 -ECK00021, 9,60SE_ECK ,42.55,-81.76, 2 -ECK00022, 9,70SE_ECK ,42.43,-81.60, 2 -ECK00023, 9,50SSE_ECK ,42.49,-82.29, 2 -ECK00024, 9,60SSE_ECK ,42.34,-82.20, 2 -ECK00025, 9,20S_ECK ,42.93,-82.72, 2 -ECK00026, 9,30S_ECK ,42.76,-82.72, 2 -ECK00027, 9,40S_ECK ,42.59,-82.72, 2 -ECK00028, 9,20SSW_ECK ,42.95,-82.89, 2 -ECK00029, 9,30SSW_ECK ,42.80,-82.98, 2 -ECK00030, 9,40SSW_ECK ,42.64,-83.07, 2 -ECK00031, 9,20SW_ECK ,43.02,-83.04, 2 -ECK00032, 9,30SW_ECK ,42.91,-83.20, 2 -ECK00033, 9,20WSW_ECK ,43.13,-83.14, 2 -ECK00034, 9,20W_ECK ,43.26,-83.18, 2 -ECK00035, 9,20WNW_ECK ,43.39,-83.14, 2 -ECK00036, 9,20NW_ECK ,43.50,-83.04, 2 -ECK00037, 9,30NW_ECK ,43.61,-83.21, 2 -ECK00038, 9,20NNW_ECK ,43.57,-82.90, 2 +ECK00018, 9,20ESE_ECK ,43.13,-82.30, 2 +ECK00019, 9,30ESE_ECK ,43.07,-82.09, 2 +ECK00020, 9,40ESE_ECK ,43.00,-81.88, 2 +ECK00021, 9,50ESE_ECK ,42.94,-81.67, 2 +ECK00022, 9,60ESE_ECK ,42.87,-81.46, 2 +ECK00023, 9,70ESE_ECK ,42.80,-81.25, 2 +ECK00024, 9,20SE_ECK ,43.02,-82.40, 2 +ECK00025, 9,50SE_ECK ,42.67,-81.92, 2 +ECK00026, 9,60SE_ECK ,42.55,-81.76, 2 +ECK00027, 9,70SE_ECK ,42.43,-81.60, 2 +ECK00028, 9,20SSE_ECK ,42.95,-82.55, 2 +ECK00029, 9,30SSE_ECK ,42.80,-82.46, 2 +ECK00030, 9,40SSE_ECK ,42.64,-82.37, 2 +ECK00031, 9,50SSE_ECK ,42.49,-82.29, 2 +ECK00032, 9,60SSE_ECK ,42.34,-82.20, 2 +ECK00033, 9,20S_ECK ,42.93,-82.72, 2 +ECK00034, 9,30S_ECK ,42.76,-82.72, 2 +ECK00035, 9,40S_ECK ,42.59,-82.72, 2 +ECK00036, 9,20SSW_ECK ,42.95,-82.89, 2 +ECK00037, 9,30SSW_ECK ,42.80,-82.98, 2 +ECK00038, 9,40SSW_ECK ,42.64,-83.07, 2 +ECK00039, 9,20SW_ECK ,43.02,-83.04, 2 +ECK00040, 9,30SW_ECK ,42.91,-83.20, 2 +ECK00041, 9,20WSW_ECK ,43.13,-83.14, 2 +ECK00042, 9,20W_ECK ,43.26,-83.18, 2 +ECK00043, 9,20WNW_ECK ,43.39,-83.14, 2 +ECK00044, 9,20NW_ECK ,43.50,-83.04, 2 +ECK00045, 9,30NW_ECK ,43.61,-83.21, 2 +ECK00046, 9,20NNW_ECK ,43.57,-82.90, 2 CTY00000, 9,CTY ,29.60,-83.05, 1 CTY00001, 9,20N_CTY ,29.93,-83.05, 2 CTY00002, 9,30N_CTY ,30.10,-83.05, 2 @@ -4997,7 +5034,7 @@ ROD00002, 9,30N_ROD ,40.79,-84.04, 2 ROD00003, 9,40N_ROD ,40.96,-84.04, 2 ROD00004, 9,20NNE_ROD ,40.60,-83.87, 2 ROD00005, 9,30NNE_ROD ,40.75,-83.79, 2 -ROD00006, 9,40NNE_ROD ,40.90,-83.70, 2 +ROD00006, 9,40NNE_ROD ,40.91,-83.70, 2 ROD00007, 9,50NNE_ROD ,41.06,-83.62, 2 ROD00008, 9,20NE_ROD ,40.53,-83.73, 2 ROD00009, 9,30NE_ROD ,40.64,-83.57, 2 @@ -5132,52 +5169,54 @@ LOZ00060, 9,40NW_LOZ ,37.50,-84.71, 2 LOZ00061, 9,20NNW_LOZ ,37.34,-84.28, 2 LOZ00062, 9,30NNW_LOZ ,37.49,-84.36, 2 LOZ00063, 9,40NNW_LOZ ,37.65,-84.44, 2 -ABY00000, 9,ABY ,31.65,-84.30, 1 -ABY00001, 9,20N_ABY ,31.98,-84.30, 2 -ABY00002, 9,30N_ABY ,32.15,-84.30, 2 -ABY00003, 9,20NNE_ABY ,31.96,-84.15, 2 -ABY00004, 9,20NE_ABY ,31.89,-84.02, 2 -ABY00005, 9,30NE_ABY ,32.00,-83.88, 2 -ABY00006, 9,20ENE_ABY ,31.78,-83.94, 2 -ABY00007, 9,30ENE_ABY ,31.84,-83.76, 2 -ABY00008, 9,20E_ABY ,31.65,-83.91, 2 -ABY00009, 9,30E_ABY ,31.65,-83.71, 2 -ABY00010, 9,40E_ABY ,31.65,-83.52, 2 -ABY00011, 9,20ESE_ABY ,31.52,-83.94, 2 -ABY00012, 9,30ESE_ABY ,31.46,-83.76, 2 -ABY00013, 9,40ESE_ABY ,31.39,-83.58, 2 -ABY00014, 9,20SE_ABY ,31.41,-84.02, 2 -ABY00015, 9,30SE_ABY ,31.30,-83.89, 2 -ABY00016, 9,40SE_ABY ,31.18,-83.75, 2 -ABY00017, 9,50SE_ABY ,31.06,-83.61, 2 -ABY00018, 9,20SSE_ABY ,31.34,-84.15, 2 -ABY00019, 9,30SSE_ABY ,31.19,-84.08, 2 -ABY00020, 9,40SSE_ABY ,31.03,-84.00, 2 -ABY00021, 9,20S_ABY ,31.32,-84.30, 2 -ABY00022, 9,30S_ABY ,31.15,-84.30, 2 -ABY00023, 9,20SSW_ABY ,31.34,-84.45, 2 -ABY00024, 9,30SSW_ABY ,31.19,-84.52, 2 -ABY00025, 9,20SW_ABY ,31.41,-84.58, 2 -ABY00026, 9,30SW_ABY ,31.30,-84.71, 2 -ABY00027, 9,20WSW_ABY ,31.52,-84.66, 2 -ABY00028, 9,30WSW_ABY ,31.46,-84.84, 2 -ABY00029, 9,40WSW_ABY ,31.39,-85.02, 2 -ABY00030, 9,50WSW_ABY ,31.33,-85.20, 2 -ABY00031, 9,60WSW_ABY ,31.26,-85.38, 2 -ABY00032, 9,20W_ABY ,31.65,-84.69, 2 -ABY00033, 9,30W_ABY ,31.65,-84.89, 2 -ABY00034, 9,40W_ABY ,31.65,-85.08, 2 -ABY00035, 9,50W_ABY ,31.65,-85.28, 2 -ABY00036, 9,20WNW_ABY ,31.78,-84.66, 2 -ABY00037, 9,30WNW_ABY ,31.84,-84.84, 2 -ABY00038, 9,40WNW_ABY ,31.90,-85.03, 2 -ABY00039, 9,50WNW_ABY ,31.97,-85.21, 2 -ABY00040, 9,20NW_ABY ,31.89,-84.58, 2 -ABY00041, 9,30NW_ABY ,32.00,-84.72, 2 -ABY00042, 9,40NW_ABY ,32.12,-84.86, 2 -ABY00043, 9,20NNW_ABY ,31.96,-84.45, 2 -ABY00044, 9,30NNW_ABY ,32.11,-84.53, 2 -ABY00045, 9,40NNW_ABY ,32.27,-84.60, 2 +PZD00000, 9,PZD ,31.66,-84.29, 1 +PZD00001, 9,20N_PZD ,31.99,-84.29, 2 +PZD00002, 9,30N_PZD ,32.16,-84.29, 2 +PZD00003, 9,20NNE_PZD ,31.97,-84.14, 2 +PZD00004, 9,20NE_PZD ,31.90,-84.01, 2 +PZD00005, 9,30NE_PZD ,32.01,-83.87, 2 +PZD00006, 9,20ENE_PZD ,31.79,-83.93, 2 +PZD00007, 9,30ENE_PZD ,31.85,-83.75, 2 +PZD00008, 9,20E_PZD ,31.66,-83.90, 2 +PZD00009, 9,30E_PZD ,31.66,-83.70, 2 +PZD00010, 9,40E_PZD ,31.66,-83.51, 2 +PZD00011, 9,20ESE_PZD ,31.53,-83.93, 2 +PZD00012, 9,30ESE_PZD ,31.47,-83.75, 2 +PZD00013, 9,40ESE_PZD ,31.40,-83.57, 2 +PZD00014, 9,20SE_PZD ,31.42,-84.01, 2 +PZD00015, 9,30SE_PZD ,31.31,-83.88, 2 +PZD00016, 9,40SE_PZD ,31.19,-83.74, 2 +PZD00017, 9,50SE_PZD ,31.07,-83.60, 2 +PZD00018, 9,20SSE_PZD ,31.35,-84.14, 2 +PZD00019, 9,30SSE_PZD ,31.20,-84.07, 2 +PZD00020, 9,40SSE_PZD ,31.04,-83.99, 2 +PZD00021, 9,20S_PZD ,31.33,-84.29, 2 +PZD00022, 9,30S_PZD ,31.16,-84.29, 2 +PZD00023, 9,20SSW_PZD ,31.35,-84.44, 2 +PZD00024, 9,30SSW_PZD ,31.20,-84.51, 2 +PZD00025, 9,40SSW_PZD ,31.04,-84.59, 2 +PZD00026, 9,20SW_PZD ,31.42,-84.57, 2 +PZD00027, 9,30SW_PZD ,31.31,-84.70, 2 +PZD00028, 9,40SW_PZD ,31.19,-84.84, 2 +PZD00029, 9,20WSW_PZD ,31.53,-84.65, 2 +PZD00030, 9,30WSW_PZD ,31.47,-84.83, 2 +PZD00031, 9,40WSW_PZD ,31.40,-85.01, 2 +PZD00032, 9,50WSW_PZD ,31.34,-85.19, 2 +PZD00033, 9,60WSW_PZD ,31.27,-85.37, 2 +PZD00034, 9,20W_PZD ,31.66,-84.68, 2 +PZD00035, 9,30W_PZD ,31.66,-84.88, 2 +PZD00036, 9,40W_PZD ,31.66,-85.07, 2 +PZD00037, 9,50W_PZD ,31.66,-85.27, 2 +PZD00038, 9,20WNW_PZD ,31.79,-84.65, 2 +PZD00039, 9,30WNW_PZD ,31.85,-84.83, 2 +PZD00040, 9,40WNW_PZD ,31.91,-85.02, 2 +PZD00041, 9,50WNW_PZD ,31.98,-85.20, 2 +PZD00042, 9,20NW_PZD ,31.90,-84.57, 2 +PZD00043, 9,30NW_PZD ,32.01,-84.71, 2 +PZD00044, 9,40NW_PZD ,32.13,-84.85, 2 +PZD00045, 9,20NNW_PZD ,31.97,-84.44, 2 +PZD00046, 9,30NNW_PZD ,32.12,-84.52, 2 +PZD00047, 9,40NNW_PZD ,32.28,-84.59, 2 SSM00000, 9,SSM ,46.41,-84.31, 1 SSM00001, 9,20N_SSM ,46.74,-84.31, 2 SSM00002, 9,30N_SSM ,46.91,-84.31, 2 @@ -5410,9 +5449,14 @@ TLH00059, 9,30W_TLH ,30.56,-84.95, 2 TLH00060, 9,40W_TLH ,30.56,-85.14, 2 TLH00061, 9,50W_TLH ,30.56,-85.34, 2 TLH00062, 9,20WNW_TLH ,30.69,-84.73, 2 -TLH00063, 9,60WNW_TLH ,30.94,-85.45, 2 -TLH00064, 9,20NW_TLH ,30.80,-84.64, 2 -TLH00065, 9,20NNW_TLH ,30.87,-84.52, 2 +TLH00063, 9,30WNW_TLH ,30.75,-84.91, 2 +TLH00064, 9,40WNW_TLH ,30.81,-85.09, 2 +TLH00065, 9,50WNW_TLH ,30.88,-85.27, 2 +TLH00066, 9,60WNW_TLH ,30.94,-85.45, 2 +TLH00067, 9,20NW_TLH ,30.80,-84.64, 2 +TLH00068, 9,30NW_TLH ,30.91,-84.78, 2 +TLH00069, 9,20NNW_TLH ,30.87,-84.52, 2 +TLH00070, 9,30NNW_TLH ,31.02,-84.59, 2 ATL00000, 9,ATL ,33.63,-84.44, 1 ATL00001, 9,20N_ATL ,33.96,-84.44, 2 ATL00002, 9,30N_ATL ,34.13,-84.44, 2 @@ -5756,56 +5800,56 @@ TVC00062, 9,20NNW_TVC ,44.98,-85.73, 2 TVC00063, 9,30NNW_TVC ,45.13,-85.82, 2 TVC00064, 9,40NNW_TVC ,45.28,-85.91, 2 TVC00065, 9,50NNW_TVC ,45.44,-86.00, 2 -LOU00000, 9,LOU ,38.10,-85.58, 1 -LOU00001, 9,20N_LOU ,38.43,-85.58, 2 -LOU00002, 9,30N_LOU ,38.60,-85.58, 2 -LOU00003, 9,20NNE_LOU ,38.41,-85.42, 2 -LOU00004, 9,20NE_LOU ,38.34,-85.28, 2 -LOU00005, 9,20ENE_LOU ,38.23,-85.19, 2 -LOU00006, 9,30ENE_LOU ,38.29,-84.99, 2 -LOU00007, 9,20E_LOU ,38.10,-85.16, 2 -LOU00008, 9,30E_LOU ,38.10,-84.95, 2 -LOU00009, 9,40E_LOU ,38.10,-84.73, 2 -LOU00010, 9,20ESE_LOU ,37.97,-85.19, 2 -LOU00011, 9,30ESE_LOU ,37.91,-84.99, 2 -LOU00012, 9,40ESE_LOU ,37.84,-84.80, 2 -LOU00013, 9,50ESE_LOU ,37.78,-84.61, 2 -LOU00014, 9,20SE_LOU ,37.86,-85.28, 2 -LOU00015, 9,30SE_LOU ,37.75,-85.13, 2 -LOU00016, 9,40SE_LOU ,37.63,-84.99, 2 -LOU00017, 9,50SE_LOU ,37.51,-84.84, 2 -LOU00018, 9,20SSE_LOU ,37.79,-85.42, 2 -LOU00019, 9,30SSE_LOU ,37.64,-85.34, 2 -LOU00020, 9,40SSE_LOU ,37.48,-85.26, 2 -LOU00021, 9,50SSE_LOU ,37.33,-85.18, 2 -LOU00022, 9,20S_LOU ,37.77,-85.58, 2 -LOU00023, 9,30S_LOU ,37.60,-85.58, 2 -LOU00024, 9,40S_LOU ,37.43,-85.58, 2 -LOU00025, 9,50S_LOU ,37.27,-85.58, 2 -LOU00026, 9,20SSW_LOU ,37.79,-85.74, 2 -LOU00027, 9,30SSW_LOU ,37.64,-85.82, 2 -LOU00028, 9,40SSW_LOU ,37.48,-85.90, 2 -LOU00029, 9,20SW_LOU ,37.86,-85.88, 2 -LOU00030, 9,30SW_LOU ,37.75,-86.03, 2 -LOU00031, 9,40SW_LOU ,37.63,-86.17, 2 -LOU00032, 9,20WSW_LOU ,37.97,-85.97, 2 -LOU00033, 9,30WSW_LOU ,37.91,-86.17, 2 -LOU00034, 9,40WSW_LOU ,37.84,-86.36, 2 -LOU00035, 9,50WSW_LOU ,37.78,-86.55, 2 -LOU00036, 9,20W_LOU ,38.10,-86.00, 2 -LOU00037, 9,30W_LOU ,38.10,-86.21, 2 -LOU00038, 9,40W_LOU ,38.10,-86.43, 2 -LOU00039, 9,50W_LOU ,38.10,-86.64, 2 -LOU00040, 9,20WNW_LOU ,38.23,-85.97, 2 -LOU00041, 9,30WNW_LOU ,38.29,-86.17, 2 -LOU00042, 9,40WNW_LOU ,38.35,-86.36, 2 -LOU00043, 9,50WNW_LOU ,38.41,-86.56, 2 -LOU00044, 9,20NW_LOU ,38.34,-85.88, 2 -LOU00045, 9,30NW_LOU ,38.45,-86.03, 2 -LOU00046, 9,40NW_LOU ,38.57,-86.18, 2 -LOU00047, 9,20NNW_LOU ,38.41,-85.74, 2 -LOU00048, 9,30NNW_LOU ,38.56,-85.82, 2 -LOU00049, 9,40NNW_LOU ,38.72,-85.91, 2 +IIU00000, 9,IIU ,38.10,-85.58, 1 +IIU00001, 9,20N_IIU ,38.43,-85.58, 2 +IIU00002, 9,30N_IIU ,38.60,-85.58, 2 +IIU00003, 9,20NNE_IIU ,38.41,-85.42, 2 +IIU00004, 9,20NE_IIU ,38.34,-85.28, 2 +IIU00005, 9,20ENE_IIU ,38.23,-85.19, 2 +IIU00006, 9,30ENE_IIU ,38.29,-84.99, 2 +IIU00007, 9,20E_IIU ,38.10,-85.16, 2 +IIU00008, 9,30E_IIU ,38.10,-84.95, 2 +IIU00009, 9,40E_IIU ,38.10,-84.73, 2 +IIU00010, 9,20ESE_IIU ,37.97,-85.19, 2 +IIU00011, 9,30ESE_IIU ,37.91,-84.99, 2 +IIU00012, 9,40ESE_IIU ,37.84,-84.80, 2 +IIU00013, 9,50ESE_IIU ,37.78,-84.61, 2 +IIU00014, 9,20SE_IIU ,37.86,-85.28, 2 +IIU00015, 9,30SE_IIU ,37.75,-85.13, 2 +IIU00016, 9,40SE_IIU ,37.63,-84.99, 2 +IIU00017, 9,50SE_IIU ,37.51,-84.84, 2 +IIU00018, 9,20SSE_IIU ,37.79,-85.42, 2 +IIU00019, 9,30SSE_IIU ,37.64,-85.34, 2 +IIU00020, 9,40SSE_IIU ,37.48,-85.26, 2 +IIU00021, 9,50SSE_IIU ,37.33,-85.18, 2 +IIU00022, 9,20S_IIU ,37.77,-85.58, 2 +IIU00023, 9,30S_IIU ,37.60,-85.58, 2 +IIU00024, 9,40S_IIU ,37.43,-85.58, 2 +IIU00025, 9,50S_IIU ,37.27,-85.58, 2 +IIU00026, 9,20SSW_IIU ,37.79,-85.74, 2 +IIU00027, 9,30SSW_IIU ,37.64,-85.82, 2 +IIU00028, 9,40SSW_IIU ,37.48,-85.90, 2 +IIU00029, 9,20SW_IIU ,37.86,-85.88, 2 +IIU00030, 9,30SW_IIU ,37.75,-86.03, 2 +IIU00031, 9,40SW_IIU ,37.63,-86.17, 2 +IIU00032, 9,20WSW_IIU ,37.97,-85.97, 2 +IIU00033, 9,30WSW_IIU ,37.91,-86.17, 2 +IIU00034, 9,40WSW_IIU ,37.84,-86.36, 2 +IIU00035, 9,50WSW_IIU ,37.78,-86.55, 2 +IIU00036, 9,20W_IIU ,38.10,-86.00, 2 +IIU00037, 9,30W_IIU ,38.10,-86.21, 2 +IIU00038, 9,40W_IIU ,38.10,-86.43, 2 +IIU00039, 9,50W_IIU ,38.10,-86.64, 2 +IIU00040, 9,20WNW_IIU ,38.23,-85.97, 2 +IIU00041, 9,30WNW_IIU ,38.29,-86.17, 2 +IIU00042, 9,40WNW_IIU ,38.35,-86.36, 2 +IIU00043, 9,50WNW_IIU ,38.41,-86.56, 2 +IIU00044, 9,20NW_IIU ,38.34,-85.88, 2 +IIU00045, 9,30NW_IIU ,38.45,-86.03, 2 +IIU00046, 9,40NW_IIU ,38.57,-86.18, 2 +IIU00047, 9,20NNW_IIU ,38.41,-85.74, 2 +IIU00048, 9,30NNW_IIU ,38.56,-85.82, 2 +IIU00049, 9,40NNW_IIU ,38.72,-85.91, 2 MKG00000, 9,MKG ,43.17,-86.04, 1 MKG00001, 9,20N_MKG ,43.50,-86.04, 2 MKG00002, 9,30N_MKG ,43.67,-86.04, 2 @@ -6170,15 +6214,17 @@ CEW00072, 9,20WSW_CEW ,30.70,-87.04, 2 CEW00073, 9,30WSW_CEW ,30.64,-87.22, 2 CEW00074, 9,40WSW_CEW ,30.57,-87.39, 2 CEW00075, 9,20W_CEW ,30.83,-87.07, 2 -CEW00076, 9,20WNW_CEW ,30.96,-87.04, 2 -CEW00077, 9,20NW_CEW ,31.07,-86.95, 2 -CEW00078, 9,30NW_CEW ,31.18,-87.09, 2 -CEW00079, 9,40NW_CEW ,31.30,-87.23, 2 -CEW00080, 9,50NW_CEW ,31.42,-87.37, 2 -CEW00081, 9,60NW_CEW ,31.53,-87.51, 2 -CEW00082, 9,20NNW_CEW ,31.14,-86.83, 2 -CEW00083, 9,30NNW_CEW ,31.29,-86.90, 2 -CEW00084, 9,40NNW_CEW ,31.45,-86.98, 2 +CEW00076, 9,30W_CEW ,30.83,-87.26, 2 +CEW00077, 9,20WNW_CEW ,30.96,-87.04, 2 +CEW00078, 9,30WNW_CEW ,31.02,-87.22, 2 +CEW00079, 9,20NW_CEW ,31.07,-86.95, 2 +CEW00080, 9,30NW_CEW ,31.18,-87.09, 2 +CEW00081, 9,40NW_CEW ,31.30,-87.23, 2 +CEW00082, 9,50NW_CEW ,31.42,-87.37, 2 +CEW00083, 9,60NW_CEW ,31.53,-87.51, 2 +CEW00084, 9,20NNW_CEW ,31.14,-86.83, 2 +CEW00085, 9,30NNW_CEW ,31.29,-86.90, 2 +CEW00086, 9,40NNW_CEW ,31.45,-86.98, 2 VUZ00000, 9,VUZ ,33.67,-86.90, 1 VUZ00001, 9,20N_VUZ ,34.00,-86.90, 2 VUZ00002, 9,30N_VUZ ,34.17,-86.90, 2 @@ -6720,47 +6766,47 @@ SJI00009, 9,30NE_SJI ,31.08,-87.95, 2 SJI00010, 9,40NE_SJI ,31.20,-87.81, 2 SJI00011, 9,50NE_SJI ,31.32,-87.67, 2 SJI00012, 9,20ENE_SJI ,30.86,-88.00, 2 -SJI00013, 9,20E_SJI ,30.73,-87.97, 2 -SJI00014, 9,30E_SJI ,30.73,-87.78, 2 -SJI00015, 9,20ESE_SJI ,30.60,-88.00, 2 -SJI00016, 9,30ESE_SJI ,30.54,-87.82, 2 -SJI00017, 9,40ESE_SJI ,30.47,-87.65, 2 -SJI00018, 9,20SE_SJI ,30.49,-88.09, 2 -SJI00019, 9,30SE_SJI ,30.38,-87.95, 2 -SJI00020, 9,40SE_SJI ,30.26,-87.81, 2 -SJI00021, 9,50SE_SJI ,30.14,-87.68, 2 -SJI00022, 9,60SE_SJI ,30.02,-87.54, 2 -SJI00023, 9,20SSE_SJI ,30.42,-88.21, 2 -SJI00024, 9,30SSE_SJI ,30.27,-88.14, 2 -SJI00025, 9,40SSE_SJI ,30.11,-88.07, 2 -SJI00026, 9,50SSE_SJI ,29.96,-87.99, 2 -SJI00027, 9,60SSE_SJI ,29.81,-87.92, 2 -SJI00028, 9,70SSE_SJI ,29.65,-87.85, 2 -SJI00029, 9,80SSE_SJI ,29.50,-87.77, 2 -SJI00030, 9,90SSE_SJI ,29.34,-87.70, 2 -SJI00031, 9,100SSE_SJI ,29.19,-87.63, 2 -SJI00032, 9,110SSE_SJI ,29.03,-87.56, 2 -SJI00033, 9,120SSE_SJI ,28.88,-87.49, 2 -SJI00034, 9,130SSE_SJI ,28.73,-87.42, 2 -SJI00035, 9,20S_SJI ,30.40,-88.36, 2 -SJI00036, 9,30S_SJI ,30.23,-88.36, 2 -SJI00037, 9,40S_SJI ,30.06,-88.36, 2 -SJI00038, 9,50S_SJI ,29.90,-88.36, 2 -SJI00039, 9,60S_SJI ,29.73,-88.36, 2 -SJI00040, 9,70S_SJI ,29.56,-88.36, 2 -SJI00041, 9,80S_SJI ,29.40,-88.36, 2 -SJI00042, 9,90S_SJI ,29.23,-88.36, 2 -SJI00043, 9,20SSW_SJI ,30.42,-88.51, 2 -SJI00044, 9,30SSW_SJI ,30.27,-88.58, 2 -SJI00045, 9,40SSW_SJI ,30.11,-88.65, 2 -SJI00046, 9,50SSW_SJI ,29.96,-88.73, 2 -SJI00047, 9,60SSW_SJI ,29.81,-88.80, 2 -SJI00048, 9,70SSW_SJI ,29.65,-88.87, 2 -SJI00049, 9,20SW_SJI ,30.49,-88.63, 2 -SJI00050, 9,30SW_SJI ,30.38,-88.77, 2 -SJI00051, 9,40SW_SJI ,30.26,-88.91, 2 -SJI00052, 9,50SW_SJI ,30.14,-89.04, 2 -SJI00053, 9,60SW_SJI ,30.02,-89.18, 2 +SJI00013, 9,30ENE_SJI ,30.92,-87.82, 2 +SJI00014, 9,20E_SJI ,30.73,-87.97, 2 +SJI00015, 9,30E_SJI ,30.73,-87.78, 2 +SJI00016, 9,40E_SJI ,30.73,-87.58, 2 +SJI00017, 9,20ESE_SJI ,30.60,-88.00, 2 +SJI00018, 9,30ESE_SJI ,30.54,-87.82, 2 +SJI00019, 9,40ESE_SJI ,30.47,-87.65, 2 +SJI00020, 9,20SE_SJI ,30.49,-88.09, 2 +SJI00021, 9,30SE_SJI ,30.38,-87.95, 2 +SJI00022, 9,40SE_SJI ,30.26,-87.81, 2 +SJI00023, 9,50SE_SJI ,30.14,-87.68, 2 +SJI00024, 9,60SE_SJI ,30.02,-87.54, 2 +SJI00025, 9,20SSE_SJI ,30.42,-88.21, 2 +SJI00026, 9,30SSE_SJI ,30.27,-88.14, 2 +SJI00027, 9,40SSE_SJI ,30.11,-88.07, 2 +SJI00028, 9,50SSE_SJI ,29.96,-87.99, 2 +SJI00029, 9,60SSE_SJI ,29.81,-87.92, 2 +SJI00030, 9,70SSE_SJI ,29.65,-87.85, 2 +SJI00031, 9,80SSE_SJI ,29.50,-87.77, 2 +SJI00032, 9,90SSE_SJI ,29.34,-87.70, 2 +SJI00033, 9,100SSE_SJI ,29.19,-87.63, 2 +SJI00034, 9,110SSE_SJI ,29.03,-87.56, 2 +SJI00035, 9,120SSE_SJI ,28.88,-87.49, 2 +SJI00036, 9,130SSE_SJI ,28.73,-87.42, 2 +SJI00037, 9,20S_SJI ,30.40,-88.36, 2 +SJI00038, 9,30S_SJI ,30.23,-88.36, 2 +SJI00039, 9,40S_SJI ,30.06,-88.36, 2 +SJI00040, 9,50S_SJI ,29.90,-88.36, 2 +SJI00041, 9,60S_SJI ,29.73,-88.36, 2 +SJI00042, 9,70S_SJI ,29.56,-88.36, 2 +SJI00043, 9,80S_SJI ,29.40,-88.36, 2 +SJI00044, 9,90S_SJI ,29.23,-88.36, 2 +SJI00045, 9,20SSW_SJI ,30.42,-88.51, 2 +SJI00046, 9,30SSW_SJI ,30.27,-88.58, 2 +SJI00047, 9,40SSW_SJI ,30.11,-88.65, 2 +SJI00048, 9,50SSW_SJI ,29.96,-88.73, 2 +SJI00049, 9,60SSW_SJI ,29.81,-88.80, 2 +SJI00050, 9,20SW_SJI ,30.49,-88.63, 2 +SJI00051, 9,30SW_SJI ,30.38,-88.77, 2 +SJI00052, 9,40SW_SJI ,30.26,-88.91, 2 +SJI00053, 9,50SW_SJI ,30.14,-89.04, 2 SJI00054, 9,20WSW_SJI ,30.60,-88.72, 2 SJI00055, 9,30WSW_SJI ,30.54,-88.90, 2 SJI00056, 9,40WSW_SJI ,30.47,-89.07, 2 @@ -6868,77 +6914,76 @@ MEI00035, 9,60SSW_MEI ,31.46,-89.25, 2 MEI00036, 9,20SW_MEI ,32.14,-89.08, 2 MEI00037, 9,30SW_MEI ,32.03,-89.22, 2 MEI00038, 9,40SW_MEI ,31.91,-89.35, 2 -MEI00039, 9,50SW_MEI ,31.79,-89.49, 2 -MEI00040, 9,20WSW_MEI ,32.25,-89.16, 2 -MEI00041, 9,30WSW_MEI ,32.19,-89.35, 2 -MEI00042, 9,20W_MEI ,32.38,-89.19, 2 -MEI00043, 9,30W_MEI ,32.38,-89.39, 2 -MEI00044, 9,20WNW_MEI ,32.51,-89.16, 2 -MEI00045, 9,30WNW_MEI ,32.57,-89.35, 2 -MEI00046, 9,20NW_MEI ,32.62,-89.08, 2 -MEI00047, 9,30NW_MEI ,32.73,-89.22, 2 -MEI00048, 9,40NW_MEI ,32.85,-89.36, 2 -MEI00049, 9,20NNW_MEI ,32.69,-88.95, 2 -MEI00050, 9,30NNW_MEI ,32.84,-89.03, 2 -DEC00000, 9,DEC ,39.74,-88.86, 1 -DEC00001, 9,20N_DEC ,40.07,-88.86, 2 -DEC00002, 9,30N_DEC ,40.24,-88.86, 2 -DEC00003, 9,40N_DEC ,40.41,-88.86, 2 -DEC00004, 9,20NNE_DEC ,40.05,-88.69, 2 -DEC00005, 9,30NNE_DEC ,40.20,-88.61, 2 -DEC00006, 9,40NNE_DEC ,40.36,-88.53, 2 -DEC00007, 9,20NE_DEC ,39.98,-88.55, 2 -DEC00008, 9,30NE_DEC ,40.09,-88.40, 2 -DEC00009, 9,40NE_DEC ,40.21,-88.24, 2 -DEC00010, 9,20ENE_DEC ,39.87,-88.46, 2 -DEC00011, 9,30ENE_DEC ,39.93,-88.26, 2 -DEC00012, 9,40ENE_DEC ,39.99,-88.06, 2 -DEC00013, 9,20E_DEC ,39.74,-88.43, 2 -DEC00014, 9,30E_DEC ,39.74,-88.21, 2 -DEC00015, 9,40E_DEC ,39.74,-87.99, 2 -DEC00016, 9,20ESE_DEC ,39.61,-88.46, 2 -DEC00017, 9,30ESE_DEC ,39.55,-88.26, 2 -DEC00018, 9,40ESE_DEC ,39.48,-88.06, 2 -DEC00019, 9,20SE_DEC ,39.50,-88.55, 2 -DEC00020, 9,30SE_DEC ,39.39,-88.40, 2 -DEC00021, 9,40SE_DEC ,39.27,-88.25, 2 -DEC00022, 9,20SSE_DEC ,39.43,-88.69, 2 -DEC00023, 9,30SSE_DEC ,39.28,-88.61, 2 -DEC00024, 9,40SSE_DEC ,39.12,-88.53, 2 -DEC00025, 9,50SSE_DEC ,38.97,-88.45, 2 -DEC00026, 9,60SSE_DEC ,38.82,-88.37, 2 -DEC00027, 9,20S_DEC ,39.41,-88.86, 2 -DEC00028, 9,30S_DEC ,39.24,-88.86, 2 -DEC00029, 9,40S_DEC ,39.07,-88.86, 2 -DEC00030, 9,50S_DEC ,38.91,-88.86, 2 -DEC00031, 9,60S_DEC ,38.74,-88.86, 2 -DEC00032, 9,70S_DEC ,38.57,-88.86, 2 -DEC00033, 9,20SSW_DEC ,39.43,-89.03, 2 -DEC00034, 9,30SSW_DEC ,39.28,-89.11, 2 -DEC00035, 9,40SSW_DEC ,39.12,-89.19, 2 -DEC00036, 9,50SSW_DEC ,38.97,-89.27, 2 -DEC00037, 9,60SSW_DEC ,38.82,-89.35, 2 -DEC00038, 9,20SW_DEC ,39.50,-89.17, 2 -DEC00039, 9,30SW_DEC ,39.39,-89.32, 2 -DEC00040, 9,40SW_DEC ,39.27,-89.47, 2 -DEC00041, 9,50SW_DEC ,39.15,-89.62, 2 -DEC00042, 9,20WSW_DEC ,39.61,-89.26, 2 -DEC00043, 9,30WSW_DEC ,39.55,-89.46, 2 -DEC00044, 9,40WSW_DEC ,39.48,-89.66, 2 -DEC00045, 9,50WSW_DEC ,39.42,-89.86, 2 -DEC00046, 9,20W_DEC ,39.74,-89.29, 2 -DEC00047, 9,30W_DEC ,39.74,-89.51, 2 -DEC00048, 9,40W_DEC ,39.74,-89.73, 2 -DEC00049, 9,50W_DEC ,39.73,-89.94, 2 -DEC00050, 9,20WNW_DEC ,39.87,-89.26, 2 -DEC00051, 9,30WNW_DEC ,39.93,-89.46, 2 -DEC00052, 9,40WNW_DEC ,39.99,-89.66, 2 -DEC00053, 9,50WNW_DEC ,40.05,-89.87, 2 -DEC00054, 9,20NW_DEC ,39.98,-89.17, 2 -DEC00055, 9,30NW_DEC ,40.09,-89.32, 2 -DEC00056, 9,40NW_DEC ,40.21,-89.48, 2 -DEC00057, 9,20NNW_DEC ,40.05,-89.03, 2 -DEC00058, 9,30NNW_DEC ,40.20,-89.11, 2 +MEI00039, 9,20WSW_MEI ,32.25,-89.16, 2 +MEI00040, 9,30WSW_MEI ,32.19,-89.35, 2 +MEI00041, 9,20W_MEI ,32.38,-89.19, 2 +MEI00042, 9,30W_MEI ,32.38,-89.39, 2 +MEI00043, 9,20WNW_MEI ,32.51,-89.16, 2 +MEI00044, 9,30WNW_MEI ,32.57,-89.35, 2 +MEI00045, 9,20NW_MEI ,32.62,-89.08, 2 +MEI00046, 9,30NW_MEI ,32.73,-89.22, 2 +MEI00047, 9,40NW_MEI ,32.85,-89.36, 2 +MEI00048, 9,20NNW_MEI ,32.69,-88.95, 2 +MEI00049, 9,30NNW_MEI ,32.84,-89.03, 2 +AXC00000, 9,AXC ,39.74,-88.86, 1 +AXC00001, 9,20N_AXC ,40.07,-88.86, 2 +AXC00002, 9,30N_AXC ,40.24,-88.86, 2 +AXC00003, 9,40N_AXC ,40.41,-88.86, 2 +AXC00004, 9,20NNE_AXC ,40.05,-88.69, 2 +AXC00005, 9,30NNE_AXC ,40.20,-88.61, 2 +AXC00006, 9,40NNE_AXC ,40.36,-88.53, 2 +AXC00007, 9,20NE_AXC ,39.98,-88.55, 2 +AXC00008, 9,30NE_AXC ,40.09,-88.40, 2 +AXC00009, 9,40NE_AXC ,40.21,-88.24, 2 +AXC00010, 9,20ENE_AXC ,39.87,-88.46, 2 +AXC00011, 9,30ENE_AXC ,39.93,-88.26, 2 +AXC00012, 9,40ENE_AXC ,39.99,-88.06, 2 +AXC00013, 9,20E_AXC ,39.74,-88.43, 2 +AXC00014, 9,30E_AXC ,39.74,-88.21, 2 +AXC00015, 9,40E_AXC ,39.74,-87.99, 2 +AXC00016, 9,20ESE_AXC ,39.61,-88.46, 2 +AXC00017, 9,30ESE_AXC ,39.55,-88.26, 2 +AXC00018, 9,40ESE_AXC ,39.48,-88.06, 2 +AXC00019, 9,20SE_AXC ,39.50,-88.55, 2 +AXC00020, 9,30SE_AXC ,39.39,-88.40, 2 +AXC00021, 9,40SE_AXC ,39.27,-88.25, 2 +AXC00022, 9,20SSE_AXC ,39.43,-88.69, 2 +AXC00023, 9,30SSE_AXC ,39.28,-88.61, 2 +AXC00024, 9,40SSE_AXC ,39.12,-88.53, 2 +AXC00025, 9,50SSE_AXC ,38.97,-88.45, 2 +AXC00026, 9,60SSE_AXC ,38.82,-88.37, 2 +AXC00027, 9,20S_AXC ,39.41,-88.86, 2 +AXC00028, 9,30S_AXC ,39.24,-88.86, 2 +AXC00029, 9,40S_AXC ,39.07,-88.86, 2 +AXC00030, 9,50S_AXC ,38.91,-88.86, 2 +AXC00031, 9,60S_AXC ,38.74,-88.86, 2 +AXC00032, 9,70S_AXC ,38.57,-88.86, 2 +AXC00033, 9,20SSW_AXC ,39.43,-89.03, 2 +AXC00034, 9,30SSW_AXC ,39.28,-89.11, 2 +AXC00035, 9,40SSW_AXC ,39.12,-89.19, 2 +AXC00036, 9,50SSW_AXC ,38.97,-89.27, 2 +AXC00037, 9,60SSW_AXC ,38.82,-89.35, 2 +AXC00038, 9,20SW_AXC ,39.50,-89.17, 2 +AXC00039, 9,30SW_AXC ,39.39,-89.32, 2 +AXC00040, 9,40SW_AXC ,39.27,-89.47, 2 +AXC00041, 9,50SW_AXC ,39.15,-89.62, 2 +AXC00042, 9,20WSW_AXC ,39.61,-89.26, 2 +AXC00043, 9,30WSW_AXC ,39.55,-89.46, 2 +AXC00044, 9,40WSW_AXC ,39.48,-89.66, 2 +AXC00045, 9,50WSW_AXC ,39.42,-89.86, 2 +AXC00046, 9,20W_AXC ,39.74,-89.29, 2 +AXC00047, 9,30W_AXC ,39.74,-89.51, 2 +AXC00048, 9,40W_AXC ,39.74,-89.73, 2 +AXC00049, 9,50W_AXC ,39.73,-89.94, 2 +AXC00050, 9,20WNW_AXC ,39.87,-89.26, 2 +AXC00051, 9,30WNW_AXC ,39.93,-89.46, 2 +AXC00052, 9,40WNW_AXC ,39.99,-89.66, 2 +AXC00053, 9,50WNW_AXC ,40.05,-89.87, 2 +AXC00054, 9,20NW_AXC ,39.98,-89.17, 2 +AXC00055, 9,30NW_AXC ,40.09,-89.32, 2 +AXC00056, 9,40NW_AXC ,40.21,-89.48, 2 +AXC00057, 9,20NNW_AXC ,40.05,-89.03, 2 +AXC00058, 9,30NNW_AXC ,40.20,-89.11, 2 YQT00000, 9,YQT ,48.37,-89.32, 1 YQT00001, 9,20N_YQT ,48.70,-89.32, 2 YQT00002, 9,30N_YQT ,48.87,-89.32, 2 @@ -7417,240 +7462,240 @@ MEM00049, 9,30NW_MEM ,35.41,-90.41, 2 MEM00050, 9,20NNW_MEM ,35.37,-90.14, 2 MEM00051, 9,30NNW_MEM ,35.52,-90.21, 2 LEV00000, 9,LEV ,29.18,-90.10, 1 -LEV00001, 9,20N_LEV ,29.51,-90.10, 2 -LEV00002, 9,20NNE_LEV ,29.49,-89.95, 2 -LEV00003, 9,20NE_LEV ,29.42,-89.83, 2 -LEV00004, 9,30NE_LEV ,29.53,-89.69, 2 -LEV00005, 9,20ENE_LEV ,29.31,-89.75, 2 -LEV00006, 9,30ENE_LEV ,29.37,-89.57, 2 -LEV00007, 9,40ENE_LEV ,29.43,-89.39, 2 -LEV00008, 9,50ENE_LEV ,29.50,-89.22, 2 -LEV00009, 9,60ENE_LEV ,29.56,-89.04, 2 -LEV00010, 9,20E_LEV ,29.18,-89.72, 2 -LEV00011, 9,30E_LEV ,29.18,-89.53, 2 -LEV00012, 9,40E_LEV ,29.18,-89.34, 2 -LEV00013, 9,50E_LEV ,29.18,-89.15, 2 -LEV00014, 9,60E_LEV ,29.18,-88.96, 2 -LEV00015, 9,70E_LEV ,29.17,-88.76, 2 -LEV00016, 9,80E_LEV ,29.17,-88.57, 2 -LEV00017, 9,20ESE_LEV ,29.05,-89.75, 2 -LEV00018, 9,30ESE_LEV ,28.99,-89.57, 2 -LEV00019, 9,40ESE_LEV ,28.92,-89.40, 2 -LEV00020, 9,50ESE_LEV ,28.86,-89.22, 2 -LEV00021, 9,60ESE_LEV ,28.79,-89.05, 2 -LEV00022, 9,70ESE_LEV ,28.73,-88.87, 2 -LEV00023, 9,80ESE_LEV ,28.66,-88.70, 2 -LEV00024, 9,90ESE_LEV ,28.60,-88.52, 2 -LEV00025, 9,100ESE_LEV ,28.53,-88.35, 2 -LEV00026, 9,110ESE_LEV ,28.47,-88.17, 2 -LEV00027, 9,20SE_LEV ,28.94,-89.83, 2 -LEV00028, 9,30SE_LEV ,28.83,-89.70, 2 -LEV00029, 9,40SE_LEV ,28.71,-89.56, 2 -LEV00030, 9,50SE_LEV ,28.59,-89.43, 2 -LEV00031, 9,60SE_LEV ,28.47,-89.30, 2 -LEV00032, 9,70SE_LEV ,28.35,-89.16, 2 -LEV00033, 9,80SE_LEV ,28.23,-89.03, 2 -LEV00034, 9,90SE_LEV ,28.11,-88.90, 2 -LEV00035, 9,100SE_LEV ,28.00,-88.77, 2 -LEV00036, 9,110SE_LEV ,27.88,-88.63, 2 -LEV00037, 9,120SE_LEV ,27.76,-88.50, 2 -LEV00038, 9,130SE_LEV ,27.64,-88.37, 2 -LEV00039, 9,140SE_LEV ,27.52,-88.24, 2 -LEV00040, 9,150SE_LEV ,27.40,-88.11, 2 -LEV00041, 9,200SE_LEV ,26.80,-87.46, 2 -LEV00042, 9,210SE_LEV ,26.68,-87.33, 2 -LEV00043, 9,220SE_LEV ,26.56,-87.20, 2 -LEV00044, 9,230SE_LEV ,26.44,-87.08, 2 -LEV00045, 9,240SE_LEV ,26.32,-86.95, 2 -LEV00046, 9,250SE_LEV ,26.20,-86.82, 2 -LEV00047, 9,20SSE_LEV ,28.87,-89.95, 2 -LEV00048, 9,30SSE_LEV ,28.72,-89.88, 2 -LEV00049, 9,40SSE_LEV ,28.56,-89.81, 2 -LEV00050, 9,50SSE_LEV ,28.41,-89.74, 2 -LEV00051, 9,60SSE_LEV ,28.26,-89.67, 2 -LEV00052, 9,70SSE_LEV ,28.10,-89.59, 2 -LEV00053, 9,80SSE_LEV ,27.95,-89.52, 2 -LEV00054, 9,90SSE_LEV ,27.79,-89.45, 2 -LEV00055, 9,100SSE_LEV ,27.64,-89.38, 2 -LEV00056, 9,110SSE_LEV ,27.49,-89.31, 2 -LEV00057, 9,120SSE_LEV ,27.33,-89.24, 2 -LEV00058, 9,130SSE_LEV ,27.18,-89.17, 2 -LEV00059, 9,140SSE_LEV ,27.02,-89.10, 2 -LEV00060, 9,150SSE_LEV ,26.87,-89.03, 2 -LEV00061, 9,160SSE_LEV ,26.71,-88.96, 2 -LEV00062, 9,170SSE_LEV ,26.56,-88.89, 2 -LEV00063, 9,180SSE_LEV ,26.40,-88.82, 2 -LEV00064, 9,190SSE_LEV ,26.25,-88.75, 2 -LEV00065, 9,200SSE_LEV ,26.10,-88.68, 2 -LEV00066, 9,210SSE_LEV ,25.94,-88.61, 2 -LEV00067, 9,220SSE_LEV ,25.79,-88.54, 2 -LEV00068, 9,230SSE_LEV ,25.63,-88.48, 2 -LEV00069, 9,240SSE_LEV ,25.48,-88.41, 2 -LEV00070, 9,20S_LEV ,28.85,-90.10, 2 -LEV00071, 9,30S_LEV ,28.68,-90.10, 2 -LEV00072, 9,40S_LEV ,28.51,-90.10, 2 -LEV00073, 9,50S_LEV ,28.35,-90.10, 2 -LEV00074, 9,60S_LEV ,28.18,-90.10, 2 -LEV00075, 9,70S_LEV ,28.01,-90.10, 2 -LEV00076, 9,80S_LEV ,27.85,-90.10, 2 -LEV00077, 9,90S_LEV ,27.68,-90.10, 2 -LEV00078, 9,100S_LEV ,27.51,-90.10, 2 -LEV00079, 9,110S_LEV ,27.35,-90.10, 2 -LEV00080, 9,120S_LEV ,27.18,-90.10, 2 -LEV00081, 9,130S_LEV ,27.01,-90.10, 2 -LEV00082, 9,140S_LEV ,26.85,-90.10, 2 -LEV00083, 9,150S_LEV ,26.68,-90.10, 2 -LEV00084, 9,160S_LEV ,26.52,-90.10, 2 -LEV00085, 9,170S_LEV ,26.35,-90.10, 2 -LEV00086, 9,180S_LEV ,26.18,-90.10, 2 -LEV00087, 9,190S_LEV ,26.02,-90.10, 2 -LEV00088, 9,200S_LEV ,25.85,-90.10, 2 -LEV00089, 9,210S_LEV ,25.68,-90.10, 2 -LEV00090, 9,220S_LEV ,25.52,-90.10, 2 -LEV00091, 9,230S_LEV ,25.35,-90.10, 2 -LEV00092, 9,240S_LEV ,25.18,-90.10, 2 -LEV00093, 9,250S_LEV ,25.02,-90.10, 2 -LEV00094, 9,20SSW_LEV ,28.87,-90.25, 2 -LEV00095, 9,30SSW_LEV ,28.72,-90.32, 2 -LEV00096, 9,40SSW_LEV ,28.56,-90.39, 2 -LEV00097, 9,50SSW_LEV ,28.41,-90.46, 2 -LEV00098, 9,60SSW_LEV ,28.26,-90.53, 2 -LEV00099, 9,70SSW_LEV ,28.10,-90.61, 2 -LEV00100, 9,80SSW_LEV ,27.95,-90.68, 2 -LEV00101, 9,90SSW_LEV ,27.79,-90.75, 2 -LEV00102, 9,100SSW_LEV ,27.64,-90.82, 2 -LEV00103, 9,110SSW_LEV ,27.49,-90.89, 2 -LEV00104, 9,120SSW_LEV ,27.33,-90.96, 2 -LEV00105, 9,130SSW_LEV ,27.18,-91.03, 2 -LEV00106, 9,140SSW_LEV ,27.02,-91.10, 2 -LEV00107, 9,150SSW_LEV ,26.87,-91.17, 2 -LEV00108, 9,160SSW_LEV ,26.71,-91.24, 2 -LEV00109, 9,170SSW_LEV ,26.56,-91.31, 2 -LEV00110, 9,180SSW_LEV ,26.40,-91.38, 2 -LEV00111, 9,190SSW_LEV ,26.25,-91.45, 2 -LEV00112, 9,200SSW_LEV ,26.10,-91.52, 2 -LEV00113, 9,210SSW_LEV ,25.94,-91.59, 2 -LEV00114, 9,220SSW_LEV ,25.79,-91.66, 2 -LEV00115, 9,230SSW_LEV ,25.63,-91.72, 2 -LEV00116, 9,240SSW_LEV ,25.48,-91.79, 2 -LEV00117, 9,20SW_LEV ,28.94,-90.37, 2 -LEV00118, 9,30SW_LEV ,28.83,-90.50, 2 -LEV00119, 9,40SW_LEV ,28.71,-90.64, 2 -LEV00120, 9,50SW_LEV ,28.59,-90.77, 2 -LEV00121, 9,60SW_LEV ,28.47,-90.90, 2 -LEV00122, 9,70SW_LEV ,28.35,-91.04, 2 -LEV00123, 9,80SW_LEV ,28.23,-91.17, 2 -LEV00124, 9,90SW_LEV ,28.11,-91.30, 2 -LEV00125, 9,100SW_LEV ,28.00,-91.43, 2 -LEV00126, 9,110SW_LEV ,27.88,-91.57, 2 -LEV00127, 9,120SW_LEV ,27.76,-91.70, 2 -LEV00128, 9,130SW_LEV ,27.64,-91.83, 2 -LEV00129, 9,140SW_LEV ,27.52,-91.96, 2 -LEV00130, 9,150SW_LEV ,27.40,-92.09, 2 -LEV00131, 9,160SW_LEV ,27.28,-92.22, 2 -LEV00132, 9,170SW_LEV ,27.16,-92.35, 2 -LEV00133, 9,180SW_LEV ,27.04,-92.48, 2 -LEV00134, 9,190SW_LEV ,26.92,-92.61, 2 -LEV00135, 9,20WSW_LEV ,29.05,-90.45, 2 -LEV00136, 9,30WSW_LEV ,28.99,-90.63, 2 -LEV00137, 9,40WSW_LEV ,28.92,-90.80, 2 -LEV00138, 9,50WSW_LEV ,28.86,-90.98, 2 -LEV00139, 9,60WSW_LEV ,28.79,-91.15, 2 -LEV00140, 9,70WSW_LEV ,28.73,-91.33, 2 -LEV00141, 9,80WSW_LEV ,28.66,-91.50, 2 -LEV00142, 9,90WSW_LEV ,28.60,-91.68, 2 -LEV00143, 9,100WSW_LEV ,28.53,-91.85, 2 -LEV00144, 9,110WSW_LEV ,28.47,-92.03, 2 -LEV00145, 9,20W_LEV ,29.18,-90.48, 2 -LEV00146, 9,30W_LEV ,29.18,-90.67, 2 -LEV00147, 9,40W_LEV ,29.18,-90.86, 2 -LEV00148, 9,50W_LEV ,29.18,-91.05, 2 -LEV00149, 9,60W_LEV ,29.18,-91.24, 2 -LEV00150, 9,70W_LEV ,29.17,-91.44, 2 -LEV00151, 9,20WNW_LEV ,29.31,-90.45, 2 -LEV00152, 9,30WNW_LEV ,29.37,-90.63, 2 -LEV00153, 9,20NW_LEV ,29.42,-90.37, 2 -LEV00154, 9,20NNW_LEV ,29.49,-90.25, 2 -JAN00000, 9,JAN ,32.51,-90.17, 1 -JAN00001, 9,20N_JAN ,32.84,-90.17, 2 -JAN00002, 9,20NNE_JAN ,32.82,-90.02, 2 -JAN00003, 9,20NE_JAN ,32.75,-89.89, 2 -JAN00004, 9,30NE_JAN ,32.86,-89.75, 2 -JAN00005, 9,20ENE_JAN ,32.64,-89.80, 2 -JAN00006, 9,30ENE_JAN ,32.70,-89.62, 2 -JAN00007, 9,40ENE_JAN ,32.76,-89.44, 2 -JAN00008, 9,20E_JAN ,32.51,-89.78, 2 -JAN00009, 9,30E_JAN ,32.51,-89.58, 2 -JAN00010, 9,20ESE_JAN ,32.38,-89.81, 2 -JAN00011, 9,30ESE_JAN ,32.32,-89.62, 2 -JAN00012, 9,20SE_JAN ,32.27,-89.89, 2 -JAN00013, 9,30SE_JAN ,32.16,-89.75, 2 -JAN00014, 9,40SE_JAN ,32.04,-89.61, 2 -JAN00015, 9,20SSE_JAN ,32.20,-90.02, 2 -JAN00016, 9,30SSE_JAN ,32.05,-89.94, 2 -JAN00017, 9,40SSE_JAN ,31.89,-89.87, 2 -JAN00018, 9,20S_JAN ,32.18,-90.17, 2 -JAN00019, 9,30S_JAN ,32.01,-90.17, 2 -JAN00020, 9,40S_JAN ,31.84,-90.17, 2 -JAN00021, 9,20SSW_JAN ,32.20,-90.32, 2 -JAN00022, 9,30SSW_JAN ,32.05,-90.40, 2 -JAN00023, 9,40SSW_JAN ,31.89,-90.47, 2 -JAN00024, 9,20SW_JAN ,32.27,-90.45, 2 -JAN00025, 9,30SW_JAN ,32.16,-90.59, 2 -JAN00026, 9,40SW_JAN ,32.04,-90.73, 2 -JAN00027, 9,50SW_JAN ,31.92,-90.86, 2 -JAN00028, 9,20WSW_JAN ,32.38,-90.53, 2 -JAN00029, 9,30WSW_JAN ,32.32,-90.72, 2 -JAN00030, 9,40WSW_JAN ,32.25,-90.90, 2 -JAN00031, 9,50WSW_JAN ,32.19,-91.08, 2 -JAN00032, 9,20W_JAN ,32.51,-90.56, 2 -JAN00033, 9,30W_JAN ,32.51,-90.76, 2 -JAN00034, 9,40W_JAN ,32.51,-90.96, 2 -JAN00035, 9,20WNW_JAN ,32.64,-90.54, 2 -JAN00036, 9,30WNW_JAN ,32.70,-90.72, 2 -JAN00037, 9,40WNW_JAN ,32.76,-90.90, 2 -JAN00038, 9,20NW_JAN ,32.75,-90.45, 2 -JAN00039, 9,20NNW_JAN ,32.82,-90.32, 2 -MSY00000, 9,MSY ,30.00,-90.27, 1 -MSY00001, 9,20N_MSY ,30.33,-90.27, 2 -MSY00002, 9,30N_MSY ,30.50,-90.27, 2 -MSY00003, 9,20NNE_MSY ,30.31,-90.12, 2 -MSY00004, 9,30NNE_MSY ,30.46,-90.05, 2 -MSY00005, 9,20NE_MSY ,30.24,-90.00, 2 -MSY00006, 9,30NE_MSY ,30.35,-89.86, 2 -MSY00007, 9,40NE_MSY ,30.47,-89.72, 2 -MSY00008, 9,20ENE_MSY ,30.13,-89.91, 2 -MSY00009, 9,30ENE_MSY ,30.19,-89.74, 2 -MSY00010, 9,40ENE_MSY ,30.25,-89.56, 2 -MSY00011, 9,50ENE_MSY ,30.32,-89.38, 2 -MSY00012, 9,20E_MSY ,30.00,-89.89, 2 -MSY00013, 9,30E_MSY ,30.00,-89.69, 2 -MSY00014, 9,40E_MSY ,30.00,-89.50, 2 -MSY00015, 9,50E_MSY ,30.00,-89.31, 2 -MSY00016, 9,20ESE_MSY ,29.87,-89.92, 2 -MSY00017, 9,30ESE_MSY ,29.81,-89.74, 2 -MSY00018, 9,40ESE_MSY ,29.74,-89.56, 2 -MSY00019, 9,50ESE_MSY ,29.68,-89.38, 2 -MSY00020, 9,20SE_MSY ,29.76,-90.00, 2 -MSY00021, 9,30SE_MSY ,29.65,-89.86, 2 -MSY00022, 9,20SSE_MSY ,29.69,-90.12, 2 -MSY00023, 9,30SSE_MSY ,29.54,-90.05, 2 -MSY00024, 9,20S_MSY ,29.67,-90.27, 2 -MSY00025, 9,30S_MSY ,29.50,-90.27, 2 -MSY00026, 9,20SSW_MSY ,29.69,-90.42, 2 -MSY00027, 9,30SSW_MSY ,29.54,-90.49, 2 -MSY00028, 9,20SW_MSY ,29.76,-90.54, 2 -MSY00029, 9,30SW_MSY ,29.65,-90.68, 2 -MSY00030, 9,40SW_MSY ,29.53,-90.81, 2 -MSY00031, 9,50SW_MSY ,29.41,-90.95, 2 -MSY00032, 9,20WSW_MSY ,29.87,-90.62, 2 -MSY00033, 9,30WSW_MSY ,29.81,-90.80, 2 -MSY00034, 9,40WSW_MSY ,29.74,-90.98, 2 -MSY00035, 9,20W_MSY ,30.00,-90.65, 2 -MSY00036, 9,20WNW_MSY ,30.13,-90.63, 2 -MSY00037, 9,20NW_MSY ,30.24,-90.54, 2 -MSY00038, 9,20NNW_MSY ,30.31,-90.42, 2 -MSY00039, 9,30NNW_MSY ,30.46,-90.49, 2 +LEV00001, 9,20ENE_LEV ,29.31,-89.75, 2 +LEV00002, 9,30ENE_LEV ,29.37,-89.57, 2 +LEV00003, 9,20E_LEV ,29.18,-89.72, 2 +LEV00004, 9,30E_LEV ,29.18,-89.53, 2 +LEV00005, 9,40E_LEV ,29.18,-89.34, 2 +LEV00006, 9,50E_LEV ,29.18,-89.15, 2 +LEV00007, 9,60E_LEV ,29.18,-88.96, 2 +LEV00008, 9,70E_LEV ,29.17,-88.76, 2 +LEV00009, 9,80E_LEV ,29.17,-88.57, 2 +LEV00010, 9,20ESE_LEV ,29.05,-89.75, 2 +LEV00011, 9,30ESE_LEV ,28.99,-89.57, 2 +LEV00012, 9,40ESE_LEV ,28.92,-89.40, 2 +LEV00013, 9,50ESE_LEV ,28.86,-89.22, 2 +LEV00014, 9,60ESE_LEV ,28.79,-89.05, 2 +LEV00015, 9,70ESE_LEV ,28.73,-88.87, 2 +LEV00016, 9,80ESE_LEV ,28.66,-88.70, 2 +LEV00017, 9,90ESE_LEV ,28.60,-88.52, 2 +LEV00018, 9,100ESE_LEV ,28.53,-88.35, 2 +LEV00019, 9,110ESE_LEV ,28.47,-88.17, 2 +LEV00020, 9,120ESE_LEV ,28.40,-88.00, 2 +LEV00021, 9,150ESE_LEV ,28.20,-87.48, 2 +LEV00022, 9,20SE_LEV ,28.94,-89.83, 2 +LEV00023, 9,30SE_LEV ,28.83,-89.70, 2 +LEV00024, 9,40SE_LEV ,28.71,-89.56, 2 +LEV00025, 9,50SE_LEV ,28.59,-89.43, 2 +LEV00026, 9,60SE_LEV ,28.47,-89.30, 2 +LEV00027, 9,70SE_LEV ,28.35,-89.16, 2 +LEV00028, 9,80SE_LEV ,28.23,-89.03, 2 +LEV00029, 9,90SE_LEV ,28.11,-88.90, 2 +LEV00030, 9,100SE_LEV ,28.00,-88.77, 2 +LEV00031, 9,110SE_LEV ,27.88,-88.63, 2 +LEV00032, 9,120SE_LEV ,27.76,-88.50, 2 +LEV00033, 9,130SE_LEV ,27.64,-88.37, 2 +LEV00034, 9,140SE_LEV ,27.52,-88.24, 2 +LEV00035, 9,150SE_LEV ,27.40,-88.11, 2 +LEV00036, 9,160SE_LEV ,27.28,-87.98, 2 +LEV00037, 9,190SE_LEV ,26.92,-87.59, 2 +LEV00038, 9,200SE_LEV ,26.80,-87.46, 2 +LEV00039, 9,210SE_LEV ,26.68,-87.33, 2 +LEV00040, 9,220SE_LEV ,26.56,-87.20, 2 +LEV00041, 9,230SE_LEV ,26.44,-87.08, 2 +LEV00042, 9,240SE_LEV ,26.32,-86.95, 2 +LEV00043, 9,250SE_LEV ,26.20,-86.82, 2 +LEV00044, 9,20SSE_LEV ,28.87,-89.95, 2 +LEV00045, 9,30SSE_LEV ,28.72,-89.88, 2 +LEV00046, 9,40SSE_LEV ,28.56,-89.81, 2 +LEV00047, 9,50SSE_LEV ,28.41,-89.74, 2 +LEV00048, 9,60SSE_LEV ,28.26,-89.67, 2 +LEV00049, 9,70SSE_LEV ,28.10,-89.59, 2 +LEV00050, 9,80SSE_LEV ,27.95,-89.52, 2 +LEV00051, 9,90SSE_LEV ,27.79,-89.45, 2 +LEV00052, 9,100SSE_LEV ,27.64,-89.38, 2 +LEV00053, 9,110SSE_LEV ,27.49,-89.31, 2 +LEV00054, 9,120SSE_LEV ,27.33,-89.24, 2 +LEV00055, 9,130SSE_LEV ,27.18,-89.17, 2 +LEV00056, 9,140SSE_LEV ,27.02,-89.10, 2 +LEV00057, 9,150SSE_LEV ,26.87,-89.03, 2 +LEV00058, 9,160SSE_LEV ,26.71,-88.96, 2 +LEV00059, 9,170SSE_LEV ,26.56,-88.89, 2 +LEV00060, 9,180SSE_LEV ,26.40,-88.82, 2 +LEV00061, 9,190SSE_LEV ,26.25,-88.75, 2 +LEV00062, 9,200SSE_LEV ,26.10,-88.68, 2 +LEV00063, 9,210SSE_LEV ,25.94,-88.61, 2 +LEV00064, 9,220SSE_LEV ,25.79,-88.54, 2 +LEV00065, 9,230SSE_LEV ,25.63,-88.48, 2 +LEV00066, 9,240SSE_LEV ,25.48,-88.41, 2 +LEV00067, 9,20S_LEV ,28.85,-90.10, 2 +LEV00068, 9,30S_LEV ,28.68,-90.10, 2 +LEV00069, 9,40S_LEV ,28.51,-90.10, 2 +LEV00070, 9,50S_LEV ,28.35,-90.10, 2 +LEV00071, 9,60S_LEV ,28.18,-90.10, 2 +LEV00072, 9,70S_LEV ,28.01,-90.10, 2 +LEV00073, 9,80S_LEV ,27.85,-90.10, 2 +LEV00074, 9,90S_LEV ,27.68,-90.10, 2 +LEV00075, 9,100S_LEV ,27.51,-90.10, 2 +LEV00076, 9,110S_LEV ,27.35,-90.10, 2 +LEV00077, 9,120S_LEV ,27.18,-90.10, 2 +LEV00078, 9,130S_LEV ,27.01,-90.10, 2 +LEV00079, 9,140S_LEV ,26.85,-90.10, 2 +LEV00080, 9,150S_LEV ,26.68,-90.10, 2 +LEV00081, 9,160S_LEV ,26.52,-90.10, 2 +LEV00082, 9,170S_LEV ,26.35,-90.10, 2 +LEV00083, 9,180S_LEV ,26.18,-90.10, 2 +LEV00084, 9,190S_LEV ,26.02,-90.10, 2 +LEV00085, 9,200S_LEV ,25.85,-90.10, 2 +LEV00086, 9,210S_LEV ,25.68,-90.10, 2 +LEV00087, 9,220S_LEV ,25.52,-90.10, 2 +LEV00088, 9,230S_LEV ,25.35,-90.10, 2 +LEV00089, 9,240S_LEV ,25.18,-90.10, 2 +LEV00090, 9,250S_LEV ,25.02,-90.10, 2 +LEV00091, 9,20SSW_LEV ,28.87,-90.25, 2 +LEV00092, 9,30SSW_LEV ,28.72,-90.32, 2 +LEV00093, 9,40SSW_LEV ,28.56,-90.39, 2 +LEV00094, 9,50SSW_LEV ,28.41,-90.46, 2 +LEV00095, 9,60SSW_LEV ,28.26,-90.53, 2 +LEV00096, 9,70SSW_LEV ,28.10,-90.61, 2 +LEV00097, 9,80SSW_LEV ,27.95,-90.68, 2 +LEV00098, 9,90SSW_LEV ,27.79,-90.75, 2 +LEV00099, 9,100SSW_LEV ,27.64,-90.82, 2 +LEV00100, 9,110SSW_LEV ,27.49,-90.89, 2 +LEV00101, 9,120SSW_LEV ,27.33,-90.96, 2 +LEV00102, 9,130SSW_LEV ,27.18,-91.03, 2 +LEV00103, 9,140SSW_LEV ,27.02,-91.10, 2 +LEV00104, 9,150SSW_LEV ,26.87,-91.17, 2 +LEV00105, 9,160SSW_LEV ,26.71,-91.24, 2 +LEV00106, 9,170SSW_LEV ,26.56,-91.31, 2 +LEV00107, 9,180SSW_LEV ,26.40,-91.38, 2 +LEV00108, 9,190SSW_LEV ,26.25,-91.45, 2 +LEV00109, 9,200SSW_LEV ,26.10,-91.52, 2 +LEV00110, 9,210SSW_LEV ,25.94,-91.59, 2 +LEV00111, 9,220SSW_LEV ,25.79,-91.66, 2 +LEV00112, 9,230SSW_LEV ,25.63,-91.72, 2 +LEV00113, 9,240SSW_LEV ,25.48,-91.79, 2 +LEV00114, 9,20SW_LEV ,28.94,-90.37, 2 +LEV00115, 9,30SW_LEV ,28.83,-90.50, 2 +LEV00116, 9,40SW_LEV ,28.71,-90.64, 2 +LEV00117, 9,50SW_LEV ,28.59,-90.77, 2 +LEV00118, 9,60SW_LEV ,28.47,-90.90, 2 +LEV00119, 9,70SW_LEV ,28.35,-91.04, 2 +LEV00120, 9,80SW_LEV ,28.23,-91.17, 2 +LEV00121, 9,90SW_LEV ,28.11,-91.30, 2 +LEV00122, 9,100SW_LEV ,28.00,-91.43, 2 +LEV00123, 9,110SW_LEV ,27.88,-91.57, 2 +LEV00124, 9,120SW_LEV ,27.76,-91.70, 2 +LEV00125, 9,130SW_LEV ,27.64,-91.83, 2 +LEV00126, 9,140SW_LEV ,27.52,-91.96, 2 +LEV00127, 9,150SW_LEV ,27.40,-92.09, 2 +LEV00128, 9,160SW_LEV ,27.28,-92.22, 2 +LEV00129, 9,170SW_LEV ,27.16,-92.35, 2 +LEV00130, 9,180SW_LEV ,27.04,-92.48, 2 +LEV00131, 9,190SW_LEV ,26.92,-92.61, 2 +LEV00132, 9,20WSW_LEV ,29.05,-90.45, 2 +LEV00133, 9,30WSW_LEV ,28.99,-90.63, 2 +LEV00134, 9,40WSW_LEV ,28.92,-90.80, 2 +LEV00135, 9,50WSW_LEV ,28.86,-90.98, 2 +LEV00136, 9,60WSW_LEV ,28.79,-91.15, 2 +LEV00137, 9,70WSW_LEV ,28.73,-91.33, 2 +LEV00138, 9,80WSW_LEV ,28.66,-91.50, 2 +LEV00139, 9,90WSW_LEV ,28.60,-91.68, 2 +LEV00140, 9,100WSW_LEV ,28.53,-91.85, 2 +LEV00141, 9,110WSW_LEV ,28.47,-92.03, 2 +LEV00142, 9,20W_LEV ,29.18,-90.48, 2 +LEV00143, 9,30W_LEV ,29.18,-90.67, 2 +LEV00144, 9,40W_LEV ,29.18,-90.86, 2 +LEV00145, 9,50W_LEV ,29.18,-91.05, 2 +LEV00146, 9,60W_LEV ,29.18,-91.24, 2 +LEV00147, 9,70W_LEV ,29.17,-91.44, 2 +LEV00148, 9,20WNW_LEV ,29.31,-90.45, 2 +LEV00149, 9,30WNW_LEV ,29.37,-90.63, 2 +LEV00150, 9,40WNW_LEV ,29.43,-90.81, 2 +LEV00151, 9,50WNW_LEV ,29.50,-90.98, 2 +LEV00152, 9,20NW_LEV ,29.42,-90.37, 2 +MHZ00000, 9,MHZ ,32.43,-90.10, 1 +MHZ00001, 9,20N_MHZ ,32.76,-90.10, 2 +MHZ00002, 9,20NNE_MHZ ,32.74,-89.95, 2 +MHZ00003, 9,20NE_MHZ ,32.67,-89.82, 2 +MHZ00004, 9,30NE_MHZ ,32.78,-89.68, 2 +MHZ00005, 9,40NE_MHZ ,32.90,-89.54, 2 +MHZ00006, 9,20ENE_MHZ ,32.56,-89.73, 2 +MHZ00007, 9,30ENE_MHZ ,32.62,-89.55, 2 +MHZ00008, 9,20E_MHZ ,32.43,-89.71, 2 +MHZ00009, 9,30E_MHZ ,32.43,-89.51, 2 +MHZ00010, 9,20ESE_MHZ ,32.30,-89.74, 2 +MHZ00011, 9,30ESE_MHZ ,32.24,-89.55, 2 +MHZ00012, 9,20SE_MHZ ,32.19,-89.82, 2 +MHZ00013, 9,30SE_MHZ ,32.08,-89.68, 2 +MHZ00014, 9,40SE_MHZ ,31.96,-89.54, 2 +MHZ00015, 9,20SSE_MHZ ,32.12,-89.95, 2 +MHZ00016, 9,30SSE_MHZ ,31.97,-89.87, 2 +MHZ00017, 9,40SSE_MHZ ,31.81,-89.80, 2 +MHZ00018, 9,20S_MHZ ,32.10,-90.10, 2 +MHZ00019, 9,30S_MHZ ,31.93,-90.10, 2 +MHZ00020, 9,20SSW_MHZ ,32.12,-90.25, 2 +MHZ00021, 9,30SSW_MHZ ,31.97,-90.33, 2 +MHZ00022, 9,40SSW_MHZ ,31.81,-90.40, 2 +MHZ00023, 9,20SW_MHZ ,32.19,-90.38, 2 +MHZ00024, 9,30SW_MHZ ,32.08,-90.52, 2 +MHZ00025, 9,40SW_MHZ ,31.96,-90.66, 2 +MHZ00026, 9,50SW_MHZ ,31.84,-90.79, 2 +MHZ00027, 9,20WSW_MHZ ,32.30,-90.46, 2 +MHZ00028, 9,30WSW_MHZ ,32.24,-90.65, 2 +MHZ00029, 9,40WSW_MHZ ,32.17,-90.83, 2 +MHZ00030, 9,50WSW_MHZ ,32.11,-91.01, 2 +MHZ00031, 9,20W_MHZ ,32.43,-90.49, 2 +MHZ00032, 9,30W_MHZ ,32.43,-90.69, 2 +MHZ00033, 9,40W_MHZ ,32.43,-90.89, 2 +MHZ00034, 9,20WNW_MHZ ,32.56,-90.47, 2 +MHZ00035, 9,30WNW_MHZ ,32.62,-90.65, 2 +MHZ00036, 9,40WNW_MHZ ,32.68,-90.83, 2 +MHZ00037, 9,20NW_MHZ ,32.67,-90.38, 2 +MHZ00038, 9,30NW_MHZ ,32.78,-90.52, 2 +MHZ00039, 9,20NNW_MHZ ,32.74,-90.25, 2 +HRV00000, 9,HRV ,29.85,-90.00, 1 +HRV00001, 9,20N_HRV ,30.18,-90.00, 2 +HRV00002, 9,30N_HRV ,30.35,-90.00, 2 +HRV00003, 9,20NNE_HRV ,30.16,-89.85, 2 +HRV00004, 9,30NNE_HRV ,30.31,-89.78, 2 +HRV00005, 9,40NNE_HRV ,30.47,-89.70, 2 +HRV00006, 9,20NE_HRV ,30.09,-89.73, 2 +HRV00007, 9,30NE_HRV ,30.20,-89.59, 2 +HRV00008, 9,40NE_HRV ,30.32,-89.45, 2 +HRV00009, 9,20ENE_HRV ,29.98,-89.64, 2 +HRV00010, 9,30ENE_HRV ,30.04,-89.47, 2 +HRV00011, 9,40ENE_HRV ,30.10,-89.29, 2 +HRV00012, 9,20E_HRV ,29.85,-89.62, 2 +HRV00013, 9,30E_HRV ,29.85,-89.42, 2 +HRV00014, 9,40E_HRV ,29.85,-89.23, 2 +HRV00015, 9,50E_HRV ,29.85,-89.04, 2 +HRV00016, 9,20ESE_HRV ,29.72,-89.65, 2 +HRV00017, 9,30ESE_HRV ,29.66,-89.47, 2 +HRV00018, 9,40ESE_HRV ,29.59,-89.29, 2 +HRV00019, 9,50ESE_HRV ,29.53,-89.12, 2 +HRV00020, 9,60ESE_HRV ,29.46,-88.94, 2 +HRV00021, 9,70ESE_HRV ,29.40,-88.76, 2 +HRV00022, 9,20SE_HRV ,29.61,-89.73, 2 +HRV00023, 9,30SE_HRV ,29.50,-89.59, 2 +HRV00024, 9,40SE_HRV ,29.38,-89.46, 2 +HRV00025, 9,20SSE_HRV ,29.54,-89.85, 2 +HRV00026, 9,20S_HRV ,29.52,-90.00, 2 +HRV00027, 9,20SSW_HRV ,29.54,-90.15, 2 +HRV00028, 9,20SW_HRV ,29.61,-90.27, 2 +HRV00029, 9,30SW_HRV ,29.50,-90.41, 2 +HRV00030, 9,20WSW_HRV ,29.72,-90.35, 2 +HRV00031, 9,30WSW_HRV ,29.66,-90.53, 2 +HRV00032, 9,40WSW_HRV ,29.59,-90.71, 2 +HRV00033, 9,50WSW_HRV ,29.53,-90.88, 2 +HRV00034, 9,20W_HRV ,29.85,-90.38, 2 +HRV00035, 9,30W_HRV ,29.85,-90.58, 2 +HRV00036, 9,20WNW_HRV ,29.98,-90.36, 2 +HRV00037, 9,30WNW_HRV ,30.04,-90.53, 2 +HRV00038, 9,20NW_HRV ,30.09,-90.27, 2 +HRV00039, 9,30NW_HRV ,30.20,-90.41, 2 +HRV00040, 9,20NNW_HRV ,30.16,-90.15, 2 +HRV00041, 9,30NNW_HRV ,30.31,-90.22, 2 FAM00000, 9,FAM ,37.67,-90.23, 1 FAM00001, 9,20N_FAM ,38.00,-90.23, 2 FAM00002, 9,20NNE_FAM ,37.98,-90.07, 2 @@ -7717,56 +7762,54 @@ FAM00062, 9,20NNW_FAM ,37.98,-90.39, 2 FAM00063, 9,30NNW_FAM ,38.13,-90.47, 2 MCB00000, 9,MCB ,31.30,-90.26, 1 MCB00001, 9,20N_MCB ,31.63,-90.26, 2 -MCB00002, 9,30N_MCB ,31.80,-90.26, 2 -MCB00003, 9,20NNE_MCB ,31.61,-90.11, 2 -MCB00004, 9,30NNE_MCB ,31.76,-90.04, 2 -MCB00005, 9,20NE_MCB ,31.54,-89.98, 2 -MCB00006, 9,30NE_MCB ,31.65,-89.84, 2 -MCB00007, 9,40NE_MCB ,31.77,-89.71, 2 -MCB00008, 9,20ENE_MCB ,31.43,-89.90, 2 -MCB00009, 9,30ENE_MCB ,31.49,-89.72, 2 -MCB00010, 9,40ENE_MCB ,31.55,-89.54, 2 -MCB00011, 9,20E_MCB ,31.30,-89.87, 2 -MCB00012, 9,30E_MCB ,31.30,-89.68, 2 -MCB00013, 9,40E_MCB ,31.30,-89.48, 2 -MCB00014, 9,50E_MCB ,31.30,-89.29, 2 -MCB00015, 9,20ESE_MCB ,31.17,-89.90, 2 -MCB00016, 9,30ESE_MCB ,31.11,-89.72, 2 -MCB00017, 9,40ESE_MCB ,31.04,-89.54, 2 -MCB00018, 9,50ESE_MCB ,30.98,-89.36, 2 -MCB00019, 9,20SE_MCB ,31.06,-89.99, 2 -MCB00020, 9,30SE_MCB ,30.95,-89.85, 2 -MCB00021, 9,40SE_MCB ,30.83,-89.71, 2 -MCB00022, 9,50SE_MCB ,30.71,-89.58, 2 -MCB00023, 9,60SE_MCB ,30.59,-89.44, 2 -MCB00024, 9,20SSE_MCB ,30.99,-90.11, 2 -MCB00025, 9,30SSE_MCB ,30.84,-90.04, 2 -MCB00026, 9,40SSE_MCB ,30.68,-89.96, 2 -MCB00027, 9,20S_MCB ,30.97,-90.26, 2 -MCB00028, 9,30S_MCB ,30.80,-90.26, 2 -MCB00029, 9,40S_MCB ,30.63,-90.26, 2 -MCB00030, 9,20SSW_MCB ,30.99,-90.41, 2 -MCB00031, 9,30SSW_MCB ,30.84,-90.48, 2 -MCB00032, 9,40SSW_MCB ,30.68,-90.56, 2 -MCB00033, 9,20SW_MCB ,31.06,-90.53, 2 -MCB00034, 9,30SW_MCB ,30.95,-90.67, 2 -MCB00035, 9,40SW_MCB ,30.83,-90.81, 2 -MCB00036, 9,20WSW_MCB ,31.17,-90.62, 2 -MCB00037, 9,30WSW_MCB ,31.11,-90.80, 2 -MCB00038, 9,40WSW_MCB ,31.04,-90.98, 2 -MCB00039, 9,20W_MCB ,31.30,-90.65, 2 -MCB00040, 9,30W_MCB ,31.30,-90.84, 2 -MCB00041, 9,40W_MCB ,31.30,-91.04, 2 -MCB00042, 9,50W_MCB ,31.30,-91.23, 2 -MCB00043, 9,20WNW_MCB ,31.43,-90.62, 2 -MCB00044, 9,30WNW_MCB ,31.49,-90.80, 2 -MCB00045, 9,40WNW_MCB ,31.55,-90.98, 2 -MCB00046, 9,50WNW_MCB ,31.62,-91.16, 2 -MCB00047, 9,20NW_MCB ,31.54,-90.54, 2 -MCB00048, 9,30NW_MCB ,31.65,-90.68, 2 -MCB00049, 9,40NW_MCB ,31.77,-90.81, 2 -MCB00050, 9,20NNW_MCB ,31.61,-90.41, 2 -MCB00051, 9,30NNW_MCB ,31.76,-90.48, 2 +MCB00002, 9,20NNE_MCB ,31.61,-90.11, 2 +MCB00003, 9,20NE_MCB ,31.54,-89.98, 2 +MCB00004, 9,30NE_MCB ,31.65,-89.84, 2 +MCB00005, 9,20ENE_MCB ,31.43,-89.90, 2 +MCB00006, 9,30ENE_MCB ,31.49,-89.72, 2 +MCB00007, 9,40ENE_MCB ,31.55,-89.54, 2 +MCB00008, 9,20E_MCB ,31.30,-89.87, 2 +MCB00009, 9,30E_MCB ,31.30,-89.68, 2 +MCB00010, 9,40E_MCB ,31.30,-89.48, 2 +MCB00011, 9,50E_MCB ,31.30,-89.29, 2 +MCB00012, 9,20ESE_MCB ,31.17,-89.90, 2 +MCB00013, 9,30ESE_MCB ,31.11,-89.72, 2 +MCB00014, 9,40ESE_MCB ,31.04,-89.54, 2 +MCB00015, 9,50ESE_MCB ,30.98,-89.36, 2 +MCB00016, 9,20SE_MCB ,31.06,-89.99, 2 +MCB00017, 9,30SE_MCB ,30.95,-89.85, 2 +MCB00018, 9,40SE_MCB ,30.83,-89.71, 2 +MCB00019, 9,50SE_MCB ,30.71,-89.58, 2 +MCB00020, 9,60SE_MCB ,30.59,-89.44, 2 +MCB00021, 9,20SSE_MCB ,30.99,-90.11, 2 +MCB00022, 9,30SSE_MCB ,30.84,-90.04, 2 +MCB00023, 9,40SSE_MCB ,30.68,-89.96, 2 +MCB00024, 9,50SSE_MCB ,30.53,-89.89, 2 +MCB00025, 9,20S_MCB ,30.97,-90.26, 2 +MCB00026, 9,30S_MCB ,30.80,-90.26, 2 +MCB00027, 9,40S_MCB ,30.63,-90.26, 2 +MCB00028, 9,20SSW_MCB ,30.99,-90.41, 2 +MCB00029, 9,30SSW_MCB ,30.84,-90.48, 2 +MCB00030, 9,40SSW_MCB ,30.68,-90.56, 2 +MCB00031, 9,20SW_MCB ,31.06,-90.53, 2 +MCB00032, 9,30SW_MCB ,30.95,-90.67, 2 +MCB00033, 9,40SW_MCB ,30.83,-90.81, 2 +MCB00034, 9,20WSW_MCB ,31.17,-90.62, 2 +MCB00035, 9,30WSW_MCB ,31.11,-90.80, 2 +MCB00036, 9,40WSW_MCB ,31.04,-90.98, 2 +MCB00037, 9,20W_MCB ,31.30,-90.65, 2 +MCB00038, 9,30W_MCB ,31.30,-90.84, 2 +MCB00039, 9,40W_MCB ,31.30,-91.04, 2 +MCB00040, 9,50W_MCB ,31.30,-91.23, 2 +MCB00041, 9,20WNW_MCB ,31.43,-90.62, 2 +MCB00042, 9,30WNW_MCB ,31.49,-90.80, 2 +MCB00043, 9,40WNW_MCB ,31.55,-90.98, 2 +MCB00044, 9,50WNW_MCB ,31.62,-91.16, 2 +MCB00045, 9,20NW_MCB ,31.54,-90.54, 2 +MCB00046, 9,30NW_MCB ,31.65,-90.68, 2 +MCB00047, 9,40NW_MCB ,31.77,-90.81, 2 +MCB00048, 9,20NNW_MCB ,31.61,-90.41, 2 +MCB00049, 9,30NNW_MCB ,31.76,-90.48, 2 SQS00000, 9,SQS ,33.46,-90.28, 1 SQS00001, 9,20N_SQS ,33.79,-90.28, 2 SQS00002, 9,30N_SQS ,33.96,-90.28, 2 @@ -7796,30 +7839,31 @@ SQS00025, 9,20S_SQS ,33.13,-90.28, 2 SQS00026, 9,30S_SQS ,32.96,-90.28, 2 SQS00027, 9,20SSW_SQS ,33.15,-90.43, 2 SQS00028, 9,30SSW_SQS ,33.00,-90.51, 2 -SQS00029, 9,20SW_SQS ,33.22,-90.56, 2 -SQS00030, 9,30SW_SQS ,33.11,-90.70, 2 -SQS00031, 9,40SW_SQS ,32.99,-90.84, 2 -SQS00032, 9,50SW_SQS ,32.87,-90.98, 2 -SQS00033, 9,20WSW_SQS ,33.33,-90.65, 2 -SQS00034, 9,30WSW_SQS ,33.27,-90.83, 2 -SQS00035, 9,40WSW_SQS ,33.20,-91.02, 2 -SQS00036, 9,50WSW_SQS ,33.14,-91.20, 2 -SQS00037, 9,20W_SQS ,33.46,-90.68, 2 -SQS00038, 9,30W_SQS ,33.46,-90.88, 2 -SQS00039, 9,40W_SQS ,33.46,-91.08, 2 -SQS00040, 9,50W_SQS ,33.46,-91.28, 2 -SQS00041, 9,60W_SQS ,33.45,-91.48, 2 -SQS00042, 9,20WNW_SQS ,33.59,-90.65, 2 -SQS00043, 9,30WNW_SQS ,33.65,-90.83, 2 -SQS00044, 9,40WNW_SQS ,33.71,-91.02, 2 -SQS00045, 9,50WNW_SQS ,33.78,-91.21, 2 -SQS00046, 9,20NW_SQS ,33.70,-90.56, 2 -SQS00047, 9,30NW_SQS ,33.81,-90.71, 2 -SQS00048, 9,40NW_SQS ,33.93,-90.85, 2 -SQS00049, 9,50NW_SQS ,34.05,-90.99, 2 -SQS00050, 9,20NNW_SQS ,33.77,-90.43, 2 -SQS00051, 9,30NNW_SQS ,33.92,-90.51, 2 -SQS00052, 9,40NNW_SQS ,34.08,-90.59, 2 +SQS00029, 9,40SSW_SQS ,32.84,-90.58, 2 +SQS00030, 9,20SW_SQS ,33.22,-90.56, 2 +SQS00031, 9,30SW_SQS ,33.11,-90.70, 2 +SQS00032, 9,40SW_SQS ,32.99,-90.84, 2 +SQS00033, 9,50SW_SQS ,32.87,-90.98, 2 +SQS00034, 9,20WSW_SQS ,33.33,-90.65, 2 +SQS00035, 9,30WSW_SQS ,33.27,-90.83, 2 +SQS00036, 9,40WSW_SQS ,33.20,-91.02, 2 +SQS00037, 9,50WSW_SQS ,33.14,-91.20, 2 +SQS00038, 9,20W_SQS ,33.46,-90.68, 2 +SQS00039, 9,30W_SQS ,33.46,-90.88, 2 +SQS00040, 9,40W_SQS ,33.46,-91.08, 2 +SQS00041, 9,50W_SQS ,33.46,-91.28, 2 +SQS00042, 9,60W_SQS ,33.45,-91.48, 2 +SQS00043, 9,20WNW_SQS ,33.59,-90.65, 2 +SQS00044, 9,30WNW_SQS ,33.65,-90.83, 2 +SQS00045, 9,40WNW_SQS ,33.71,-91.02, 2 +SQS00046, 9,50WNW_SQS ,33.78,-91.21, 2 +SQS00047, 9,20NW_SQS ,33.70,-90.56, 2 +SQS00048, 9,30NW_SQS ,33.81,-90.71, 2 +SQS00049, 9,40NW_SQS ,33.93,-90.85, 2 +SQS00050, 9,50NW_SQS ,34.05,-90.99, 2 +SQS00051, 9,20NNW_SQS ,33.77,-90.43, 2 +SQS00052, 9,30NNW_SQS ,33.92,-90.51, 2 +SQS00053, 9,40NNW_SQS ,34.08,-90.59, 2 STL00000, 9,STL ,38.86,-90.48, 1 STL00001, 9,20N_STL ,39.19,-90.48, 2 STL00002, 9,30N_STL ,39.36,-90.48, 2 @@ -8044,43 +8088,47 @@ BTR00008, 9,20ENE_BTR ,30.61,-90.94, 2 BTR00009, 9,30ENE_BTR ,30.67,-90.76, 2 BTR00010, 9,20E_BTR ,30.48,-90.91, 2 BTR00011, 9,30E_BTR ,30.48,-90.72, 2 -BTR00012, 9,20ESE_BTR ,30.35,-90.94, 2 -BTR00013, 9,30ESE_BTR ,30.29,-90.77, 2 -BTR00014, 9,20SE_BTR ,30.24,-91.03, 2 -BTR00015, 9,30SE_BTR ,30.13,-90.89, 2 -BTR00016, 9,20SSE_BTR ,30.17,-91.15, 2 -BTR00017, 9,30SSE_BTR ,30.02,-91.08, 2 -BTR00018, 9,40SSE_BTR ,29.86,-91.01, 2 -BTR00019, 9,20S_BTR ,30.15,-91.30, 2 -BTR00020, 9,30S_BTR ,29.98,-91.30, 2 -BTR00021, 9,40S_BTR ,29.81,-91.30, 2 -BTR00022, 9,50S_BTR ,29.65,-91.30, 2 -BTR00023, 9,60S_BTR ,29.48,-91.30, 2 -BTR00024, 9,70S_BTR ,29.31,-91.30, 2 -BTR00025, 9,20SSW_BTR ,30.17,-91.45, 2 -BTR00026, 9,30SSW_BTR ,30.02,-91.52, 2 -BTR00027, 9,40SSW_BTR ,29.86,-91.59, 2 -BTR00028, 9,50SSW_BTR ,29.71,-91.67, 2 -BTR00029, 9,60SSW_BTR ,29.56,-91.74, 2 -BTR00030, 9,70SSW_BTR ,29.40,-91.81, 2 -BTR00031, 9,80SSW_BTR ,29.25,-91.88, 2 -BTR00032, 9,20SW_BTR ,30.24,-91.57, 2 -BTR00033, 9,30SW_BTR ,30.13,-91.71, 2 -BTR00034, 9,40SW_BTR ,30.01,-91.84, 2 -BTR00035, 9,50SW_BTR ,29.89,-91.98, 2 -BTR00036, 9,20WSW_BTR ,30.35,-91.66, 2 -BTR00037, 9,30WSW_BTR ,30.29,-91.83, 2 -BTR00038, 9,40WSW_BTR ,30.22,-92.01, 2 -BTR00039, 9,50WSW_BTR ,30.16,-92.19, 2 -BTR00040, 9,20W_BTR ,30.48,-91.69, 2 -BTR00041, 9,30W_BTR ,30.48,-91.88, 2 -BTR00042, 9,40W_BTR ,30.48,-92.07, 2 -BTR00043, 9,20WNW_BTR ,30.61,-91.66, 2 -BTR00044, 9,30WNW_BTR ,30.67,-91.84, 2 -BTR00045, 9,20NW_BTR ,30.72,-91.57, 2 -BTR00046, 9,30NW_BTR ,30.83,-91.71, 2 -BTR00047, 9,20NNW_BTR ,30.79,-91.45, 2 -BTR00048, 9,30NNW_BTR ,30.94,-91.52, 2 +BTR00012, 9,40E_BTR ,30.48,-90.53, 2 +BTR00013, 9,20ESE_BTR ,30.35,-90.94, 2 +BTR00014, 9,30ESE_BTR ,30.29,-90.77, 2 +BTR00015, 9,40ESE_BTR ,30.22,-90.59, 2 +BTR00016, 9,20SE_BTR ,30.24,-91.03, 2 +BTR00017, 9,30SE_BTR ,30.13,-90.89, 2 +BTR00018, 9,40SE_BTR ,30.01,-90.76, 2 +BTR00019, 9,20SSE_BTR ,30.17,-91.15, 2 +BTR00020, 9,30SSE_BTR ,30.02,-91.08, 2 +BTR00021, 9,40SSE_BTR ,29.86,-91.01, 2 +BTR00022, 9,50SSE_BTR ,29.71,-90.93, 2 +BTR00023, 9,20S_BTR ,30.15,-91.30, 2 +BTR00024, 9,30S_BTR ,29.98,-91.30, 2 +BTR00025, 9,40S_BTR ,29.81,-91.30, 2 +BTR00026, 9,50S_BTR ,29.65,-91.30, 2 +BTR00027, 9,60S_BTR ,29.48,-91.30, 2 +BTR00028, 9,70S_BTR ,29.31,-91.30, 2 +BTR00029, 9,20SSW_BTR ,30.17,-91.45, 2 +BTR00030, 9,30SSW_BTR ,30.02,-91.52, 2 +BTR00031, 9,40SSW_BTR ,29.86,-91.59, 2 +BTR00032, 9,50SSW_BTR ,29.71,-91.67, 2 +BTR00033, 9,60SSW_BTR ,29.56,-91.74, 2 +BTR00034, 9,70SSW_BTR ,29.40,-91.81, 2 +BTR00035, 9,80SSW_BTR ,29.25,-91.88, 2 +BTR00036, 9,20SW_BTR ,30.24,-91.57, 2 +BTR00037, 9,30SW_BTR ,30.13,-91.71, 2 +BTR00038, 9,40SW_BTR ,30.01,-91.84, 2 +BTR00039, 9,50SW_BTR ,29.89,-91.98, 2 +BTR00040, 9,20WSW_BTR ,30.35,-91.66, 2 +BTR00041, 9,30WSW_BTR ,30.29,-91.83, 2 +BTR00042, 9,40WSW_BTR ,30.22,-92.01, 2 +BTR00043, 9,50WSW_BTR ,30.16,-92.19, 2 +BTR00044, 9,20W_BTR ,30.48,-91.69, 2 +BTR00045, 9,30W_BTR ,30.48,-91.88, 2 +BTR00046, 9,40W_BTR ,30.48,-92.07, 2 +BTR00047, 9,20WNW_BTR ,30.61,-91.66, 2 +BTR00048, 9,30WNW_BTR ,30.67,-91.84, 2 +BTR00049, 9,20NW_BTR ,30.72,-91.57, 2 +BTR00050, 9,30NW_BTR ,30.83,-91.71, 2 +BTR00051, 9,20NNW_BTR ,30.79,-91.45, 2 +BTR00052, 9,30NNW_BTR ,30.94,-91.52, 2 ODI00000, 9,ODI ,43.91,-91.47, 1 ODI00001, 9,20N_ODI ,44.24,-91.47, 2 ODI00002, 9,20NNE_ODI ,44.22,-91.29, 2 @@ -8573,18 +8621,19 @@ IRK00034, 9,20WSW_IRK ,40.01,-92.99, 2 IRK00035, 9,30WSW_IRK ,39.95,-93.19, 2 IRK00036, 9,40WSW_IRK ,39.88,-93.39, 2 IRK00037, 9,50WSW_IRK ,39.82,-93.59, 2 -IRK00038, 9,20W_IRK ,40.14,-93.03, 2 -IRK00039, 9,30W_IRK ,40.14,-93.24, 2 -IRK00040, 9,40W_IRK ,40.14,-93.46, 2 -IRK00041, 9,50W_IRK ,40.13,-93.68, 2 -IRK00042, 9,60W_IRK ,40.13,-93.90, 2 -IRK00043, 9,20WNW_IRK ,40.27,-92.99, 2 -IRK00044, 9,30WNW_IRK ,40.33,-93.20, 2 -IRK00045, 9,40WNW_IRK ,40.39,-93.40, 2 -IRK00046, 9,20NW_IRK ,40.38,-92.90, 2 -IRK00047, 9,30NW_IRK ,40.49,-93.05, 2 -IRK00048, 9,20NNW_IRK ,40.45,-92.76, 2 -IRK00049, 9,30NNW_IRK ,40.60,-92.84, 2 +IRK00038, 9,60WSW_IRK ,39.75,-93.79, 2 +IRK00039, 9,20W_IRK ,40.14,-93.03, 2 +IRK00040, 9,30W_IRK ,40.14,-93.24, 2 +IRK00041, 9,40W_IRK ,40.14,-93.46, 2 +IRK00042, 9,50W_IRK ,40.13,-93.68, 2 +IRK00043, 9,60W_IRK ,40.13,-93.90, 2 +IRK00044, 9,20WNW_IRK ,40.27,-92.99, 2 +IRK00045, 9,30WNW_IRK ,40.33,-93.20, 2 +IRK00046, 9,40WNW_IRK ,40.39,-93.40, 2 +IRK00047, 9,20NW_IRK ,40.38,-92.90, 2 +IRK00048, 9,30NW_IRK ,40.49,-93.05, 2 +IRK00049, 9,20NNW_IRK ,40.45,-92.76, 2 +IRK00050, 9,30NNW_IRK ,40.60,-92.84, 2 ELD00000, 9,ELD ,33.26,-92.74, 1 ELD00001, 9,20N_ELD ,33.59,-92.74, 2 ELD00002, 9,30N_ELD ,33.76,-92.74, 2 @@ -8692,30 +8741,31 @@ LCH00060, 9,70SSW_LCH ,29.06,-93.62, 2 LCH00061, 9,80SSW_LCH ,28.91,-93.69, 2 LCH00062, 9,90SSW_LCH ,28.75,-93.76, 2 LCH00063, 9,100SSW_LCH ,28.60,-93.84, 2 -LCH00064, 9,20SW_LCH ,29.90,-93.38, 2 -LCH00065, 9,30SW_LCH ,29.79,-93.52, 2 -LCH00066, 9,40SW_LCH ,29.67,-93.65, 2 -LCH00067, 9,50SW_LCH ,29.55,-93.79, 2 -LCH00068, 9,60SW_LCH ,29.43,-93.92, 2 -LCH00069, 9,70SW_LCH ,29.31,-94.06, 2 -LCH00070, 9,20WSW_LCH ,30.01,-93.47, 2 -LCH00071, 9,30WSW_LCH ,29.95,-93.64, 2 -LCH00072, 9,40WSW_LCH ,29.88,-93.82, 2 -LCH00073, 9,50WSW_LCH ,29.82,-94.00, 2 -LCH00074, 9,60WSW_LCH ,29.75,-94.17, 2 -LCH00075, 9,20W_LCH ,30.14,-93.50, 2 -LCH00076, 9,30W_LCH ,30.14,-93.69, 2 -LCH00077, 9,40W_LCH ,30.14,-93.88, 2 -LCH00078, 9,50W_LCH ,30.14,-94.07, 2 -LCH00079, 9,20WNW_LCH ,30.27,-93.47, 2 -LCH00080, 9,30WNW_LCH ,30.33,-93.64, 2 -LCH00081, 9,40WNW_LCH ,30.39,-93.82, 2 -LCH00082, 9,20NW_LCH ,30.38,-93.38, 2 -LCH00083, 9,30NW_LCH ,30.49,-93.52, 2 -LCH00084, 9,40NW_LCH ,30.61,-93.66, 2 -LCH00085, 9,20NNW_LCH ,30.45,-93.26, 2 -LCH00086, 9,30NNW_LCH ,30.60,-93.33, 2 -LCH00087, 9,40NNW_LCH ,30.76,-93.41, 2 +LCH00064, 9,110SSW_LCH ,28.45,-93.91, 2 +LCH00065, 9,20SW_LCH ,29.90,-93.38, 2 +LCH00066, 9,30SW_LCH ,29.79,-93.52, 2 +LCH00067, 9,40SW_LCH ,29.67,-93.65, 2 +LCH00068, 9,50SW_LCH ,29.55,-93.79, 2 +LCH00069, 9,60SW_LCH ,29.43,-93.92, 2 +LCH00070, 9,70SW_LCH ,29.31,-94.06, 2 +LCH00071, 9,20WSW_LCH ,30.01,-93.47, 2 +LCH00072, 9,30WSW_LCH ,29.95,-93.64, 2 +LCH00073, 9,40WSW_LCH ,29.88,-93.82, 2 +LCH00074, 9,50WSW_LCH ,29.82,-94.00, 2 +LCH00075, 9,60WSW_LCH ,29.75,-94.17, 2 +LCH00076, 9,20W_LCH ,30.14,-93.50, 2 +LCH00077, 9,30W_LCH ,30.14,-93.69, 2 +LCH00078, 9,40W_LCH ,30.14,-93.88, 2 +LCH00079, 9,50W_LCH ,30.14,-94.07, 2 +LCH00080, 9,20WNW_LCH ,30.27,-93.47, 2 +LCH00081, 9,30WNW_LCH ,30.33,-93.64, 2 +LCH00082, 9,40WNW_LCH ,30.39,-93.82, 2 +LCH00083, 9,20NW_LCH ,30.38,-93.38, 2 +LCH00084, 9,30NW_LCH ,30.49,-93.52, 2 +LCH00085, 9,40NW_LCH ,30.61,-93.66, 2 +LCH00086, 9,20NNW_LCH ,30.45,-93.26, 2 +LCH00087, 9,30NNW_LCH ,30.60,-93.33, 2 +LCH00088, 9,40NNW_LCH ,30.76,-93.41, 2 MSP00000, 9,MSP ,44.88,-93.23, 1 MSP00001, 9,20N_MSP ,45.21,-93.23, 2 MSP00002, 9,30N_MSP ,45.38,-93.23, 2 @@ -8888,126 +8938,133 @@ SGF00057, 9,30NW_SGF ,37.71,-93.78, 2 SGF00058, 9,20NNW_SGF ,37.67,-93.49, 2 SGF00059, 9,30NNW_SGF ,37.82,-93.57, 2 INL00000, 9,INL ,48.57,-93.40, 1 -INL00001, 9,50N_INL ,49.40,-93.40, 2 -INL00002, 9,60N_INL ,49.57,-93.40, 2 -INL00003, 9,70N_INL ,49.74,-93.40, 2 -INL00004, 9,80N_INL ,49.90,-93.40, 2 -INL00005, 9,90N_INL ,50.07,-93.40, 2 -INL00006, 9,100N_INL ,50.24,-93.40, 2 -INL00007, 9,110N_INL ,50.40,-93.40, 2 -INL00008, 9,120N_INL ,50.57,-93.40, 2 -INL00009, 9,130N_INL ,50.74,-93.40, 2 -INL00010, 9,140N_INL ,50.90,-93.40, 2 -INL00011, 9,150N_INL ,51.07,-93.40, 2 -INL00012, 9,160N_INL ,51.23,-93.40, 2 -INL00013, 9,170N_INL ,51.40,-93.40, 2 -INL00014, 9,50NNE_INL ,49.34,-92.91, 2 -INL00015, 9,60NNE_INL ,49.49,-92.81, 2 -INL00016, 9,70NNE_INL ,49.65,-92.71, 2 -INL00017, 9,80NNE_INL ,49.80,-92.61, 2 -INL00018, 9,90NNE_INL ,49.95,-92.51, 2 -INL00019, 9,100NNE_INL ,50.10,-92.41, 2 -INL00020, 9,110NNE_INL ,50.26,-92.30, 2 -INL00021, 9,120NNE_INL ,50.41,-92.20, 2 -INL00022, 9,130NNE_INL ,50.56,-92.10, 2 -INL00023, 9,140NNE_INL ,50.72,-91.99, 2 -INL00024, 9,150NNE_INL ,50.87,-91.89, 2 -INL00025, 9,160NNE_INL ,51.02,-91.78, 2 -INL00026, 9,170NNE_INL ,51.17,-91.67, 2 -INL00027, 9,180NNE_INL ,51.33,-91.56, 2 -INL00028, 9,190NNE_INL ,51.48,-91.46, 2 -INL00029, 9,200NNE_INL ,51.63,-91.35, 2 -INL00030, 9,210NNE_INL ,51.78,-91.24, 2 -INL00031, 9,220NNE_INL ,51.93,-91.13, 2 -INL00032, 9,230NNE_INL ,52.09,-91.02, 2 -INL00033, 9,240NNE_INL ,52.24,-90.90, 2 -INL00034, 9,20NE_INL ,48.80,-93.04, 2 -INL00035, 9,30NE_INL ,48.92,-92.86, 2 -INL00036, 9,40NE_INL ,49.04,-92.68, 2 -INL00037, 9,50NE_INL ,49.16,-92.50, 2 -INL00038, 9,60NE_INL ,49.27,-92.32, 2 -INL00039, 9,70NE_INL ,49.39,-92.13, 2 -INL00040, 9,80NE_INL ,49.50,-91.95, 2 -INL00041, 9,90NE_INL ,49.62,-91.76, 2 -INL00042, 9,100NE_INL ,49.73,-91.58, 2 -INL00043, 9,110NE_INL ,49.85,-91.39, 2 -INL00044, 9,120NE_INL ,49.96,-91.20, 2 -INL00045, 9,20ENE_INL ,48.70,-92.93, 2 -INL00046, 9,30ENE_INL ,48.76,-92.70, 2 -INL00047, 9,40ENE_INL ,48.82,-92.47, 2 -INL00048, 9,50ENE_INL ,48.88,-92.23, 2 -INL00049, 9,60ENE_INL ,48.94,-91.99, 2 -INL00050, 9,70ENE_INL ,49.00,-91.76, 2 -INL00051, 9,80ENE_INL ,49.06,-91.52, 2 -INL00052, 9,90ENE_INL ,49.12,-91.28, 2 -INL00053, 9,20E_INL ,48.57,-92.90, 2 -INL00054, 9,30E_INL ,48.57,-92.64, 2 -INL00055, 9,40E_INL ,48.57,-92.39, 2 -INL00056, 9,50E_INL ,48.56,-92.14, 2 -INL00057, 9,60E_INL ,48.56,-91.89, 2 -INL00058, 9,70E_INL ,48.56,-91.64, 2 -INL00059, 9,80E_INL ,48.55,-91.39, 2 -INL00060, 9,20ESE_INL ,48.44,-92.94, 2 -INL00061, 9,30ESE_INL ,48.38,-92.71, 2 -INL00062, 9,40ESE_INL ,48.31,-92.47, 2 -INL00063, 9,50ESE_INL ,48.25,-92.24, 2 -INL00064, 9,60ESE_INL ,48.18,-92.02, 2 -INL00065, 9,70ESE_INL ,48.11,-91.79, 2 -INL00066, 9,80ESE_INL ,48.05,-91.56, 2 -INL00067, 9,20SE_INL ,48.33,-93.05, 2 -INL00068, 9,30SE_INL ,48.22,-92.87, 2 -INL00069, 9,40SE_INL ,48.10,-92.69, 2 -INL00070, 9,50SE_INL ,47.98,-92.52, 2 -INL00071, 9,60SE_INL ,47.86,-92.35, 2 -INL00072, 9,70SE_INL ,47.74,-92.17, 2 -INL00073, 9,20SSE_INL ,48.26,-93.21, 2 -INL00074, 9,30SSE_INL ,48.11,-93.11, 2 -INL00075, 9,40SSE_INL ,47.95,-93.02, 2 -INL00076, 9,50SSE_INL ,47.80,-92.93, 2 -INL00077, 9,60SSE_INL ,47.65,-92.83, 2 -INL00078, 9,20S_INL ,48.24,-93.40, 2 -INL00079, 9,30S_INL ,48.07,-93.40, 2 -INL00080, 9,40S_INL ,47.90,-93.40, 2 -INL00081, 9,50S_INL ,47.74,-93.40, 2 -INL00082, 9,60S_INL ,47.57,-93.40, 2 -INL00083, 9,70S_INL ,47.40,-93.40, 2 -INL00084, 9,20SSW_INL ,48.26,-93.59, 2 -INL00085, 9,30SSW_INL ,48.11,-93.69, 2 -INL00086, 9,40SSW_INL ,47.95,-93.78, 2 -INL00087, 9,50SSW_INL ,47.80,-93.87, 2 -INL00088, 9,20SW_INL ,48.33,-93.75, 2 -INL00089, 9,30SW_INL ,48.22,-93.93, 2 -INL00090, 9,40SW_INL ,48.10,-94.11, 2 -INL00091, 9,50SW_INL ,47.98,-94.28, 2 -INL00092, 9,20WSW_INL ,48.44,-93.86, 2 -INL00093, 9,30WSW_INL ,48.38,-94.09, 2 -INL00094, 9,40WSW_INL ,48.31,-94.33, 2 -INL00095, 9,50WSW_INL ,48.25,-94.56, 2 -INL00096, 9,20W_INL ,48.57,-93.90, 2 -INL00097, 9,30W_INL ,48.57,-94.16, 2 -INL00098, 9,40W_INL ,48.57,-94.41, 2 -INL00099, 9,50W_INL ,48.56,-94.66, 2 -INL00100, 9,60W_INL ,48.56,-94.91, 2 -INL00101, 9,70W_INL ,48.56,-95.16, 2 -INL00102, 9,20WNW_INL ,48.70,-93.87, 2 -INL00103, 9,30WNW_INL ,48.76,-94.10, 2 -INL00104, 9,40WNW_INL ,48.82,-94.33, 2 -INL00105, 9,50WNW_INL ,48.88,-94.57, 2 -INL00106, 9,60WNW_INL ,48.94,-94.81, 2 -INL00107, 9,70WNW_INL ,49.00,-95.04, 2 -INL00108, 9,20NW_INL ,48.80,-93.76, 2 -INL00109, 9,30NW_INL ,48.92,-93.94, 2 -INL00110, 9,40NW_INL ,49.04,-94.12, 2 -INL00111, 9,50NW_INL ,49.16,-94.30, 2 -INL00112, 9,60NW_INL ,49.27,-94.48, 2 -INL00113, 9,70NW_INL ,49.39,-94.67, 2 -INL00114, 9,80NW_INL ,49.50,-94.85, 2 -INL00115, 9,50NNW_INL ,49.34,-93.89, 2 -INL00116, 9,60NNW_INL ,49.49,-93.99, 2 -INL00117, 9,70NNW_INL ,49.65,-94.09, 2 -INL00118, 9,80NNW_INL ,49.80,-94.19, 2 -INL00119, 9,90NNW_INL ,49.95,-94.29, 2 -INL00120, 9,100NNW_INL ,50.10,-94.39, 2 +INL00001, 9,40N_INL ,49.24,-93.40, 2 +INL00002, 9,50N_INL ,49.40,-93.40, 2 +INL00003, 9,60N_INL ,49.57,-93.40, 2 +INL00004, 9,70N_INL ,49.74,-93.40, 2 +INL00005, 9,80N_INL ,49.90,-93.40, 2 +INL00006, 9,90N_INL ,50.07,-93.40, 2 +INL00007, 9,100N_INL ,50.24,-93.40, 2 +INL00008, 9,110N_INL ,50.40,-93.40, 2 +INL00009, 9,120N_INL ,50.57,-93.40, 2 +INL00010, 9,130N_INL ,50.74,-93.40, 2 +INL00011, 9,140N_INL ,50.90,-93.40, 2 +INL00012, 9,150N_INL ,51.07,-93.40, 2 +INL00013, 9,160N_INL ,51.23,-93.40, 2 +INL00014, 9,170N_INL ,51.40,-93.40, 2 +INL00015, 9,20NNE_INL ,48.88,-93.21, 2 +INL00016, 9,30NNE_INL ,49.03,-93.11, 2 +INL00017, 9,40NNE_INL ,49.18,-93.01, 2 +INL00018, 9,50NNE_INL ,49.34,-92.91, 2 +INL00019, 9,60NNE_INL ,49.49,-92.81, 2 +INL00020, 9,70NNE_INL ,49.65,-92.71, 2 +INL00021, 9,80NNE_INL ,49.80,-92.61, 2 +INL00022, 9,90NNE_INL ,49.95,-92.51, 2 +INL00023, 9,100NNE_INL ,50.10,-92.41, 2 +INL00024, 9,110NNE_INL ,50.26,-92.30, 2 +INL00025, 9,120NNE_INL ,50.41,-92.20, 2 +INL00026, 9,130NNE_INL ,50.56,-92.10, 2 +INL00027, 9,140NNE_INL ,50.72,-91.99, 2 +INL00028, 9,150NNE_INL ,50.87,-91.89, 2 +INL00029, 9,160NNE_INL ,51.02,-91.78, 2 +INL00030, 9,170NNE_INL ,51.17,-91.67, 2 +INL00031, 9,180NNE_INL ,51.33,-91.56, 2 +INL00032, 9,190NNE_INL ,51.48,-91.46, 2 +INL00033, 9,200NNE_INL ,51.63,-91.35, 2 +INL00034, 9,210NNE_INL ,51.78,-91.24, 2 +INL00035, 9,220NNE_INL ,51.93,-91.13, 2 +INL00036, 9,230NNE_INL ,52.09,-91.02, 2 +INL00037, 9,240NNE_INL ,52.24,-90.90, 2 +INL00038, 9,20NE_INL ,48.80,-93.04, 2 +INL00039, 9,30NE_INL ,48.92,-92.86, 2 +INL00040, 9,40NE_INL ,49.04,-92.68, 2 +INL00041, 9,50NE_INL ,49.16,-92.50, 2 +INL00042, 9,60NE_INL ,49.27,-92.32, 2 +INL00043, 9,70NE_INL ,49.39,-92.13, 2 +INL00044, 9,80NE_INL ,49.50,-91.95, 2 +INL00045, 9,90NE_INL ,49.62,-91.76, 2 +INL00046, 9,100NE_INL ,49.73,-91.58, 2 +INL00047, 9,110NE_INL ,49.85,-91.39, 2 +INL00048, 9,120NE_INL ,49.96,-91.20, 2 +INL00049, 9,20ENE_INL ,48.70,-92.93, 2 +INL00050, 9,30ENE_INL ,48.76,-92.70, 2 +INL00051, 9,40ENE_INL ,48.82,-92.47, 2 +INL00052, 9,50ENE_INL ,48.88,-92.23, 2 +INL00053, 9,60ENE_INL ,48.94,-91.99, 2 +INL00054, 9,70ENE_INL ,49.00,-91.76, 2 +INL00055, 9,80ENE_INL ,49.06,-91.52, 2 +INL00056, 9,90ENE_INL ,49.12,-91.28, 2 +INL00057, 9,20E_INL ,48.57,-92.90, 2 +INL00058, 9,30E_INL ,48.57,-92.64, 2 +INL00059, 9,40E_INL ,48.57,-92.39, 2 +INL00060, 9,50E_INL ,48.56,-92.14, 2 +INL00061, 9,60E_INL ,48.56,-91.89, 2 +INL00062, 9,70E_INL ,48.56,-91.64, 2 +INL00063, 9,80E_INL ,48.55,-91.39, 2 +INL00064, 9,20ESE_INL ,48.44,-92.94, 2 +INL00065, 9,30ESE_INL ,48.38,-92.71, 2 +INL00066, 9,40ESE_INL ,48.31,-92.47, 2 +INL00067, 9,50ESE_INL ,48.25,-92.24, 2 +INL00068, 9,60ESE_INL ,48.18,-92.02, 2 +INL00069, 9,70ESE_INL ,48.11,-91.79, 2 +INL00070, 9,80ESE_INL ,48.05,-91.56, 2 +INL00071, 9,20SE_INL ,48.33,-93.05, 2 +INL00072, 9,30SE_INL ,48.22,-92.87, 2 +INL00073, 9,40SE_INL ,48.10,-92.69, 2 +INL00074, 9,50SE_INL ,47.98,-92.52, 2 +INL00075, 9,60SE_INL ,47.86,-92.35, 2 +INL00076, 9,70SE_INL ,47.74,-92.17, 2 +INL00077, 9,20SSE_INL ,48.26,-93.21, 2 +INL00078, 9,30SSE_INL ,48.11,-93.11, 2 +INL00079, 9,40SSE_INL ,47.95,-93.02, 2 +INL00080, 9,50SSE_INL ,47.80,-92.93, 2 +INL00081, 9,60SSE_INL ,47.65,-92.83, 2 +INL00082, 9,20S_INL ,48.24,-93.40, 2 +INL00083, 9,30S_INL ,48.07,-93.40, 2 +INL00084, 9,40S_INL ,47.90,-93.40, 2 +INL00085, 9,50S_INL ,47.74,-93.40, 2 +INL00086, 9,60S_INL ,47.57,-93.40, 2 +INL00087, 9,70S_INL ,47.40,-93.40, 2 +INL00088, 9,20SSW_INL ,48.26,-93.59, 2 +INL00089, 9,30SSW_INL ,48.11,-93.69, 2 +INL00090, 9,40SSW_INL ,47.95,-93.78, 2 +INL00091, 9,50SSW_INL ,47.80,-93.87, 2 +INL00092, 9,20SW_INL ,48.33,-93.75, 2 +INL00093, 9,30SW_INL ,48.22,-93.93, 2 +INL00094, 9,40SW_INL ,48.10,-94.11, 2 +INL00095, 9,50SW_INL ,47.98,-94.28, 2 +INL00096, 9,20WSW_INL ,48.44,-93.86, 2 +INL00097, 9,30WSW_INL ,48.38,-94.09, 2 +INL00098, 9,40WSW_INL ,48.31,-94.33, 2 +INL00099, 9,50WSW_INL ,48.25,-94.56, 2 +INL00100, 9,20W_INL ,48.57,-93.90, 2 +INL00101, 9,30W_INL ,48.57,-94.16, 2 +INL00102, 9,40W_INL ,48.57,-94.41, 2 +INL00103, 9,50W_INL ,48.56,-94.66, 2 +INL00104, 9,60W_INL ,48.56,-94.91, 2 +INL00105, 9,70W_INL ,48.56,-95.16, 2 +INL00106, 9,20WNW_INL ,48.70,-93.87, 2 +INL00107, 9,30WNW_INL ,48.76,-94.10, 2 +INL00108, 9,40WNW_INL ,48.82,-94.33, 2 +INL00109, 9,50WNW_INL ,48.88,-94.57, 2 +INL00110, 9,60WNW_INL ,48.94,-94.81, 2 +INL00111, 9,70WNW_INL ,49.00,-95.04, 2 +INL00112, 9,20NW_INL ,48.80,-93.76, 2 +INL00113, 9,30NW_INL ,48.92,-93.94, 2 +INL00114, 9,40NW_INL ,49.04,-94.12, 2 +INL00115, 9,50NW_INL ,49.16,-94.30, 2 +INL00116, 9,60NW_INL ,49.27,-94.48, 2 +INL00117, 9,70NW_INL ,49.39,-94.67, 2 +INL00118, 9,80NW_INL ,49.50,-94.85, 2 +INL00119, 9,20NNW_INL ,48.88,-93.59, 2 +INL00120, 9,30NNW_INL ,49.03,-93.69, 2 +INL00121, 9,40NNW_INL ,49.18,-93.79, 2 +INL00122, 9,50NNW_INL ,49.34,-93.89, 2 +INL00123, 9,60NNW_INL ,49.49,-93.99, 2 +INL00124, 9,70NNW_INL ,49.65,-94.09, 2 +INL00125, 9,80NNW_INL ,49.80,-94.19, 2 +INL00126, 9,90NNW_INL ,49.95,-94.29, 2 +INL00127, 9,100NNW_INL ,50.10,-94.39, 2 DSM00000, 9,DSM ,41.44,-93.65, 1 DSM00001, 9,20N_DSM ,41.77,-93.65, 2 DSM00002, 9,30N_DSM ,41.94,-93.65, 2 @@ -9357,107 +9414,107 @@ BUM00001, 9,20N_BUM ,38.60,-94.49, 2 BUM00002, 9,20NNE_BUM ,38.58,-94.33, 2 BUM00003, 9,20NE_BUM ,38.51,-94.19, 2 BUM00004, 9,30NE_BUM ,38.62,-94.04, 2 -BUM00005, 9,20ENE_BUM ,38.40,-94.10, 2 -BUM00006, 9,30ENE_BUM ,38.46,-93.90, 2 -BUM00007, 9,40ENE_BUM ,38.52,-93.70, 2 -BUM00008, 9,50ENE_BUM ,38.58,-93.51, 2 -BUM00009, 9,20E_BUM ,38.27,-94.07, 2 -BUM00010, 9,30E_BUM ,38.27,-93.85, 2 -BUM00011, 9,40E_BUM ,38.27,-93.64, 2 -BUM00012, 9,50E_BUM ,38.27,-93.43, 2 -BUM00013, 9,20ESE_BUM ,38.14,-94.10, 2 -BUM00014, 9,30ESE_BUM ,38.08,-93.90, 2 -BUM00015, 9,40ESE_BUM ,38.01,-93.71, 2 -BUM00016, 9,20SE_BUM ,38.03,-94.19, 2 -BUM00017, 9,30SE_BUM ,37.92,-94.04, 2 -BUM00018, 9,40SE_BUM ,37.80,-93.89, 2 -BUM00019, 9,20SSE_BUM ,37.96,-94.33, 2 -BUM00020, 9,30SSE_BUM ,37.81,-94.25, 2 -BUM00021, 9,40SSE_BUM ,37.65,-94.17, 2 -BUM00022, 9,20S_BUM ,37.94,-94.49, 2 -BUM00023, 9,30S_BUM ,37.77,-94.49, 2 -BUM00024, 9,40S_BUM ,37.60,-94.49, 2 -BUM00025, 9,50S_BUM ,37.44,-94.49, 2 -BUM00026, 9,20SSW_BUM ,37.96,-94.65, 2 -BUM00027, 9,30SSW_BUM ,37.81,-94.73, 2 -BUM00028, 9,40SSW_BUM ,37.65,-94.81, 2 -BUM00029, 9,20SW_BUM ,38.03,-94.79, 2 -BUM00030, 9,30SW_BUM ,37.92,-94.94, 2 -BUM00031, 9,40SW_BUM ,37.80,-95.09, 2 -BUM00032, 9,20WSW_BUM ,38.14,-94.88, 2 -BUM00033, 9,30WSW_BUM ,38.08,-95.08, 2 -BUM00034, 9,40WSW_BUM ,38.01,-95.27, 2 -BUM00035, 9,50WSW_BUM ,37.95,-95.47, 2 -BUM00036, 9,20W_BUM ,38.27,-94.91, 2 -BUM00037, 9,30W_BUM ,38.27,-95.13, 2 -BUM00038, 9,40W_BUM ,38.27,-95.34, 2 -BUM00039, 9,50W_BUM ,38.27,-95.55, 2 -BUM00040, 9,60W_BUM ,38.26,-95.76, 2 -BUM00041, 9,70W_BUM ,38.26,-95.97, 2 -BUM00042, 9,20WNW_BUM ,38.40,-94.88, 2 -BUM00043, 9,30WNW_BUM ,38.46,-95.08, 2 -BUM00044, 9,40WNW_BUM ,38.52,-95.28, 2 -BUM00045, 9,50WNW_BUM ,38.58,-95.47, 2 +BUM00005, 9,40NE_BUM ,38.74,-93.89, 2 +BUM00006, 9,20ENE_BUM ,38.40,-94.10, 2 +BUM00007, 9,30ENE_BUM ,38.46,-93.90, 2 +BUM00008, 9,40ENE_BUM ,38.52,-93.70, 2 +BUM00009, 9,50ENE_BUM ,38.58,-93.51, 2 +BUM00010, 9,20E_BUM ,38.27,-94.07, 2 +BUM00011, 9,30E_BUM ,38.27,-93.85, 2 +BUM00012, 9,40E_BUM ,38.27,-93.64, 2 +BUM00013, 9,50E_BUM ,38.27,-93.43, 2 +BUM00014, 9,20ESE_BUM ,38.14,-94.10, 2 +BUM00015, 9,30ESE_BUM ,38.08,-93.90, 2 +BUM00016, 9,40ESE_BUM ,38.01,-93.71, 2 +BUM00017, 9,20SE_BUM ,38.03,-94.19, 2 +BUM00018, 9,30SE_BUM ,37.92,-94.04, 2 +BUM00019, 9,40SE_BUM ,37.80,-93.89, 2 +BUM00020, 9,20SSE_BUM ,37.96,-94.33, 2 +BUM00021, 9,30SSE_BUM ,37.81,-94.25, 2 +BUM00022, 9,40SSE_BUM ,37.65,-94.17, 2 +BUM00023, 9,20S_BUM ,37.94,-94.49, 2 +BUM00024, 9,30S_BUM ,37.77,-94.49, 2 +BUM00025, 9,40S_BUM ,37.60,-94.49, 2 +BUM00026, 9,50S_BUM ,37.44,-94.49, 2 +BUM00027, 9,20SSW_BUM ,37.96,-94.65, 2 +BUM00028, 9,30SSW_BUM ,37.81,-94.73, 2 +BUM00029, 9,40SSW_BUM ,37.65,-94.81, 2 +BUM00030, 9,20SW_BUM ,38.03,-94.79, 2 +BUM00031, 9,30SW_BUM ,37.92,-94.94, 2 +BUM00032, 9,40SW_BUM ,37.80,-95.09, 2 +BUM00033, 9,20WSW_BUM ,38.14,-94.88, 2 +BUM00034, 9,30WSW_BUM ,38.08,-95.08, 2 +BUM00035, 9,40WSW_BUM ,38.01,-95.27, 2 +BUM00036, 9,50WSW_BUM ,37.95,-95.47, 2 +BUM00037, 9,20W_BUM ,38.27,-94.91, 2 +BUM00038, 9,30W_BUM ,38.27,-95.13, 2 +BUM00039, 9,40W_BUM ,38.27,-95.34, 2 +BUM00040, 9,50W_BUM ,38.27,-95.55, 2 +BUM00041, 9,60W_BUM ,38.26,-95.76, 2 +BUM00042, 9,70W_BUM ,38.26,-95.97, 2 +BUM00043, 9,20WNW_BUM ,38.40,-94.88, 2 +BUM00044, 9,30WNW_BUM ,38.46,-95.08, 2 +BUM00045, 9,40WNW_BUM ,38.52,-95.28, 2 BUM00046, 9,20NW_BUM ,38.51,-94.79, 2 -BUM00047, 9,30NW_BUM ,38.62,-94.94, 2 -BUM00048, 9,20NNW_BUM ,38.58,-94.65, 2 -MKC00000, 9,MKC ,39.28,-94.59, 1 -MKC00001, 9,20N_MKC ,39.61,-94.59, 2 -MKC00002, 9,30N_MKC ,39.78,-94.59, 2 -MKC00003, 9,40N_MKC ,39.95,-94.59, 2 -MKC00004, 9,50N_MKC ,40.11,-94.59, 2 -MKC00005, 9,60N_MKC ,40.28,-94.59, 2 -MKC00006, 9,20NNE_MKC ,39.59,-94.42, 2 -MKC00007, 9,30NNE_MKC ,39.74,-94.34, 2 -MKC00008, 9,40NNE_MKC ,39.90,-94.26, 2 -MKC00009, 9,50NNE_MKC ,40.05,-94.17, 2 -MKC00010, 9,20NE_MKC ,39.52,-94.28, 2 -MKC00011, 9,30NE_MKC ,39.63,-94.13, 2 -MKC00012, 9,40NE_MKC ,39.75,-93.98, 2 -MKC00013, 9,20ENE_MKC ,39.41,-94.19, 2 -MKC00014, 9,30ENE_MKC ,39.47,-93.99, 2 -MKC00015, 9,40ENE_MKC ,39.53,-93.79, 2 -MKC00016, 9,20E_MKC ,39.28,-94.16, 2 -MKC00017, 9,30E_MKC ,39.28,-93.94, 2 -MKC00018, 9,40E_MKC ,39.28,-93.73, 2 -MKC00019, 9,50E_MKC ,39.28,-93.51, 2 -MKC00020, 9,20ESE_MKC ,39.15,-94.19, 2 -MKC00021, 9,30ESE_MKC ,39.09,-94.00, 2 -MKC00022, 9,40ESE_MKC ,39.02,-93.80, 2 -MKC00023, 9,50ESE_MKC ,38.96,-93.60, 2 -MKC00024, 9,60ESE_MKC ,38.89,-93.40, 2 -MKC00025, 9,20SE_MKC ,39.04,-94.29, 2 -MKC00026, 9,30SE_MKC ,38.93,-94.14, 2 -MKC00027, 9,40SE_MKC ,38.81,-93.99, 2 -MKC00028, 9,20SSE_MKC ,38.97,-94.43, 2 -MKC00029, 9,30SSE_MKC ,38.82,-94.34, 2 -MKC00030, 9,20S_MKC ,38.95,-94.59, 2 -MKC00031, 9,30S_MKC ,38.78,-94.59, 2 -MKC00032, 9,20SSW_MKC ,38.97,-94.75, 2 -MKC00033, 9,30SSW_MKC ,38.82,-94.84, 2 -MKC00034, 9,40SSW_MKC ,38.66,-94.92, 2 -MKC00035, 9,20SW_MKC ,39.04,-94.89, 2 -MKC00036, 9,30SW_MKC ,38.93,-95.04, 2 -MKC00037, 9,40SW_MKC ,38.81,-95.19, 2 -MKC00038, 9,50SW_MKC ,38.69,-95.34, 2 -MKC00039, 9,20WSW_MKC ,39.15,-94.99, 2 -MKC00040, 9,30WSW_MKC ,39.09,-95.18, 2 -MKC00041, 9,40WSW_MKC ,39.02,-95.38, 2 -MKC00042, 9,50WSW_MKC ,38.96,-95.58, 2 -MKC00043, 9,60WSW_MKC ,38.89,-95.78, 2 -MKC00044, 9,70WSW_MKC ,38.83,-95.97, 2 -MKC00045, 9,20W_MKC ,39.28,-95.02, 2 -MKC00046, 9,30W_MKC ,39.28,-95.24, 2 -MKC00047, 9,40W_MKC ,39.28,-95.45, 2 -MKC00048, 9,20WNW_MKC ,39.41,-94.99, 2 -MKC00049, 9,30WNW_MKC ,39.47,-95.19, 2 -MKC00050, 9,40WNW_MKC ,39.53,-95.39, 2 -MKC00051, 9,20NW_MKC ,39.52,-94.90, 2 -MKC00052, 9,30NW_MKC ,39.63,-95.05, 2 -MKC00053, 9,40NW_MKC ,39.75,-95.20, 2 -MKC00054, 9,20NNW_MKC ,39.59,-94.76, 2 -MKC00055, 9,30NNW_MKC ,39.74,-94.84, 2 -MKC00056, 9,40NNW_MKC ,39.90,-94.92, 2 +BUM00047, 9,20NNW_BUM ,38.58,-94.65, 2 +MCI00000, 9,MCI ,39.29,-94.74, 1 +MCI00001, 9,20N_MCI ,39.62,-94.74, 2 +MCI00002, 9,30N_MCI ,39.79,-94.74, 2 +MCI00003, 9,40N_MCI ,39.96,-94.74, 2 +MCI00004, 9,50N_MCI ,40.12,-94.74, 2 +MCI00005, 9,20NNE_MCI ,39.60,-94.57, 2 +MCI00006, 9,30NNE_MCI ,39.75,-94.49, 2 +MCI00007, 9,40NNE_MCI ,39.91,-94.41, 2 +MCI00008, 9,50NNE_MCI ,40.06,-94.32, 2 +MCI00009, 9,60NNE_MCI ,40.21,-94.24, 2 +MCI00010, 9,20NE_MCI ,39.53,-94.43, 2 +MCI00011, 9,30NE_MCI ,39.64,-94.28, 2 +MCI00012, 9,40NE_MCI ,39.76,-94.13, 2 +MCI00013, 9,50NE_MCI ,39.88,-93.97, 2 +MCI00014, 9,20ENE_MCI ,39.42,-94.34, 2 +MCI00015, 9,30ENE_MCI ,39.48,-94.14, 2 +MCI00016, 9,40ENE_MCI ,39.54,-93.94, 2 +MCI00017, 9,50ENE_MCI ,39.60,-93.74, 2 +MCI00018, 9,20E_MCI ,39.29,-94.31, 2 +MCI00019, 9,30E_MCI ,39.29,-94.09, 2 +MCI00020, 9,40E_MCI ,39.29,-93.88, 2 +MCI00021, 9,50E_MCI ,39.29,-93.66, 2 +MCI00022, 9,20ESE_MCI ,39.16,-94.34, 2 +MCI00023, 9,30ESE_MCI ,39.10,-94.15, 2 +MCI00024, 9,40ESE_MCI ,39.03,-93.95, 2 +MCI00025, 9,50ESE_MCI ,38.97,-93.75, 2 +MCI00026, 9,60ESE_MCI ,38.90,-93.55, 2 +MCI00027, 9,20SE_MCI ,39.05,-94.44, 2 +MCI00028, 9,30SE_MCI ,38.94,-94.29, 2 +MCI00029, 9,40SE_MCI ,38.82,-94.14, 2 +MCI00030, 9,20SSE_MCI ,38.98,-94.58, 2 +MCI00031, 9,30SSE_MCI ,38.83,-94.49, 2 +MCI00032, 9,20S_MCI ,38.96,-94.74, 2 +MCI00033, 9,30S_MCI ,38.79,-94.74, 2 +MCI00034, 9,20SSW_MCI ,38.98,-94.90, 2 +MCI00035, 9,30SSW_MCI ,38.83,-94.99, 2 +MCI00036, 9,40SSW_MCI ,38.67,-95.07, 2 +MCI00037, 9,20SW_MCI ,39.05,-95.04, 2 +MCI00038, 9,30SW_MCI ,38.94,-95.19, 2 +MCI00039, 9,40SW_MCI ,38.82,-95.34, 2 +MCI00040, 9,50SW_MCI ,38.70,-95.49, 2 +MCI00041, 9,60SW_MCI ,38.58,-95.64, 2 +MCI00042, 9,20WSW_MCI ,39.16,-95.14, 2 +MCI00043, 9,30WSW_MCI ,39.10,-95.33, 2 +MCI00044, 9,40WSW_MCI ,39.03,-95.53, 2 +MCI00045, 9,50WSW_MCI ,38.97,-95.73, 2 +MCI00046, 9,60WSW_MCI ,38.90,-95.93, 2 +MCI00047, 9,70WSW_MCI ,38.84,-96.12, 2 +MCI00048, 9,20W_MCI ,39.29,-95.17, 2 +MCI00049, 9,30W_MCI ,39.29,-95.39, 2 +MCI00050, 9,40W_MCI ,39.29,-95.60, 2 +MCI00051, 9,20WNW_MCI ,39.42,-95.14, 2 +MCI00052, 9,30WNW_MCI ,39.48,-95.34, 2 +MCI00053, 9,20NW_MCI ,39.53,-95.05, 2 +MCI00054, 9,30NW_MCI ,39.64,-95.20, 2 +MCI00055, 9,20NNW_MCI ,39.60,-94.91, 2 +MCI00056, 9,30NNW_MCI ,39.75,-94.99, 2 +MCI00057, 9,40NNW_MCI ,39.91,-95.07, 2 LFK00000, 9,LFK ,31.16,-94.72, 1 LFK00001, 9,20N_LFK ,31.49,-94.72, 2 LFK00002, 9,30N_LFK ,31.66,-94.72, 2 @@ -9698,46 +9755,53 @@ RWF00068, 9,60NNW_RWF ,45.39,-95.67, 2 OSW00000, 9,OSW ,37.15,-95.20, 1 OSW00001, 9,20N_OSW ,37.48,-95.20, 2 OSW00002, 9,30N_OSW ,37.65,-95.20, 2 -OSW00003, 9,30NNE_OSW ,37.61,-94.96, 2 -OSW00004, 9,30NE_OSW ,37.50,-94.75, 2 -OSW00005, 9,30ENE_OSW ,37.34,-94.62, 2 -OSW00006, 9,40ENE_OSW ,37.40,-94.43, 2 -OSW00007, 9,30E_OSW ,37.15,-94.57, 2 -OSW00008, 9,40E_OSW ,37.15,-94.36, 2 -OSW00009, 9,30ESE_OSW ,36.96,-94.62, 2 -OSW00010, 9,40ESE_OSW ,36.89,-94.43, 2 -OSW00011, 9,30SE_OSW ,36.80,-94.76, 2 -OSW00012, 9,40SE_OSW ,36.68,-94.61, 2 -OSW00013, 9,30SSE_OSW ,36.69,-94.96, 2 -OSW00014, 9,40SSE_OSW ,36.53,-94.88, 2 -OSW00015, 9,20S_OSW ,36.82,-95.20, 2 -OSW00016, 9,30S_OSW ,36.65,-95.20, 2 -OSW00017, 9,40S_OSW ,36.48,-95.20, 2 -OSW00018, 9,20SSW_OSW ,36.84,-95.36, 2 -OSW00019, 9,30SSW_OSW ,36.69,-95.44, 2 -OSW00020, 9,20SW_OSW ,36.91,-95.49, 2 -OSW00021, 9,30SW_OSW ,36.80,-95.64, 2 -OSW00022, 9,40SW_OSW ,36.68,-95.79, 2 -OSW00023, 9,20WSW_OSW ,37.02,-95.59, 2 -OSW00024, 9,30WSW_OSW ,36.96,-95.78, 2 -OSW00025, 9,40WSW_OSW ,36.89,-95.97, 2 -OSW00026, 9,50WSW_OSW ,36.83,-96.16, 2 -OSW00027, 9,20W_OSW ,37.15,-95.62, 2 -OSW00028, 9,30W_OSW ,37.15,-95.83, 2 -OSW00029, 9,40W_OSW ,37.15,-96.04, 2 -OSW00030, 9,50W_OSW ,37.15,-96.24, 2 -OSW00031, 9,20WNW_OSW ,37.28,-95.59, 2 -OSW00032, 9,30WNW_OSW ,37.34,-95.78, 2 -OSW00033, 9,40WNW_OSW ,37.40,-95.97, 2 -OSW00034, 9,50WNW_OSW ,37.46,-96.17, 2 -OSW00035, 9,20NW_OSW ,37.39,-95.50, 2 -OSW00036, 9,30NW_OSW ,37.50,-95.65, 2 -OSW00037, 9,40NW_OSW ,37.62,-95.79, 2 -OSW00038, 9,50NW_OSW ,37.74,-95.94, 2 -OSW00039, 9,60NW_OSW ,37.85,-96.09, 2 -OSW00040, 9,20NNW_OSW ,37.46,-95.36, 2 -OSW00041, 9,30NNW_OSW ,37.61,-95.44, 2 -OSW00042, 9,40NNW_OSW ,37.77,-95.52, 2 +OSW00003, 9,20NNE_OSW ,37.46,-95.04, 2 +OSW00004, 9,30NNE_OSW ,37.61,-94.96, 2 +OSW00005, 9,20NE_OSW ,37.39,-94.90, 2 +OSW00006, 9,30NE_OSW ,37.50,-94.75, 2 +OSW00007, 9,20ENE_OSW ,37.28,-94.81, 2 +OSW00008, 9,30ENE_OSW ,37.34,-94.62, 2 +OSW00009, 9,40ENE_OSW ,37.40,-94.43, 2 +OSW00010, 9,20E_OSW ,37.15,-94.78, 2 +OSW00011, 9,30E_OSW ,37.15,-94.57, 2 +OSW00012, 9,40E_OSW ,37.15,-94.36, 2 +OSW00013, 9,20ESE_OSW ,37.02,-94.81, 2 +OSW00014, 9,30ESE_OSW ,36.96,-94.62, 2 +OSW00015, 9,40ESE_OSW ,36.89,-94.43, 2 +OSW00016, 9,20SE_OSW ,36.91,-94.91, 2 +OSW00017, 9,30SE_OSW ,36.80,-94.76, 2 +OSW00018, 9,40SE_OSW ,36.68,-94.61, 2 +OSW00019, 9,20SSE_OSW ,36.84,-95.04, 2 +OSW00020, 9,30SSE_OSW ,36.69,-94.96, 2 +OSW00021, 9,40SSE_OSW ,36.53,-94.88, 2 +OSW00022, 9,20S_OSW ,36.82,-95.20, 2 +OSW00023, 9,30S_OSW ,36.65,-95.20, 2 +OSW00024, 9,40S_OSW ,36.48,-95.20, 2 +OSW00025, 9,20SSW_OSW ,36.84,-95.36, 2 +OSW00026, 9,30SSW_OSW ,36.69,-95.44, 2 +OSW00027, 9,20SW_OSW ,36.91,-95.49, 2 +OSW00028, 9,30SW_OSW ,36.80,-95.64, 2 +OSW00029, 9,40SW_OSW ,36.68,-95.79, 2 +OSW00030, 9,20WSW_OSW ,37.02,-95.59, 2 +OSW00031, 9,30WSW_OSW ,36.96,-95.78, 2 +OSW00032, 9,40WSW_OSW ,36.89,-95.97, 2 +OSW00033, 9,50WSW_OSW ,36.83,-96.16, 2 +OSW00034, 9,20W_OSW ,37.15,-95.62, 2 +OSW00035, 9,30W_OSW ,37.15,-95.83, 2 +OSW00036, 9,40W_OSW ,37.15,-96.04, 2 +OSW00037, 9,50W_OSW ,37.15,-96.24, 2 +OSW00038, 9,20WNW_OSW ,37.28,-95.59, 2 +OSW00039, 9,30WNW_OSW ,37.34,-95.78, 2 +OSW00040, 9,40WNW_OSW ,37.40,-95.97, 2 +OSW00041, 9,50WNW_OSW ,37.46,-96.17, 2 +OSW00042, 9,20NW_OSW ,37.39,-95.50, 2 +OSW00043, 9,30NW_OSW ,37.50,-95.65, 2 +OSW00044, 9,40NW_OSW ,37.62,-95.79, 2 +OSW00045, 9,50NW_OSW ,37.74,-95.94, 2 +OSW00046, 9,60NW_OSW ,37.85,-96.09, 2 +OSW00047, 9,20NNW_OSW ,37.46,-95.36, 2 +OSW00048, 9,30NNW_OSW ,37.61,-95.44, 2 +OSW00049, 9,40NNW_OSW ,37.77,-95.52, 2 IAH00000, 9,IAH ,29.96,-95.35, 1 IAH00001, 9,20N_IAH ,30.29,-95.35, 2 IAH00002, 9,30N_IAH ,30.46,-95.35, 2 @@ -9790,21 +9854,19 @@ IAH00048, 9,20W_IAH ,29.96,-95.73, 2 IAH00049, 9,30W_IAH ,29.96,-95.93, 2 IAH00050, 9,40W_IAH ,29.96,-96.12, 2 IAH00051, 9,50W_IAH ,29.96,-96.31, 2 -IAH00052, 9,60W_IAH ,29.95,-96.50, 2 -IAH00053, 9,20WNW_IAH ,30.09,-95.71, 2 -IAH00054, 9,30WNW_IAH ,30.15,-95.88, 2 -IAH00055, 9,40WNW_IAH ,30.21,-96.06, 2 -IAH00056, 9,50WNW_IAH ,30.28,-96.24, 2 -IAH00057, 9,60WNW_IAH ,30.34,-96.42, 2 -IAH00058, 9,20NW_IAH ,30.20,-95.62, 2 -IAH00059, 9,30NW_IAH ,30.31,-95.76, 2 -IAH00060, 9,40NW_IAH ,30.43,-95.90, 2 -IAH00061, 9,50NW_IAH ,30.55,-96.03, 2 -IAH00062, 9,60NW_IAH ,30.66,-96.17, 2 -IAH00063, 9,20NNW_IAH ,30.27,-95.50, 2 -IAH00064, 9,30NNW_IAH ,30.42,-95.57, 2 -IAH00065, 9,40NNW_IAH ,30.58,-95.65, 2 -IAH00066, 9,50NNW_IAH ,30.73,-95.72, 2 +IAH00052, 9,20WNW_IAH ,30.09,-95.71, 2 +IAH00053, 9,30WNW_IAH ,30.15,-95.88, 2 +IAH00054, 9,40WNW_IAH ,30.21,-96.06, 2 +IAH00055, 9,50WNW_IAH ,30.28,-96.24, 2 +IAH00056, 9,20NW_IAH ,30.20,-95.62, 2 +IAH00057, 9,30NW_IAH ,30.31,-95.76, 2 +IAH00058, 9,40NW_IAH ,30.43,-95.90, 2 +IAH00059, 9,50NW_IAH ,30.55,-96.03, 2 +IAH00060, 9,60NW_IAH ,30.66,-96.17, 2 +IAH00061, 9,20NNW_IAH ,30.27,-95.50, 2 +IAH00062, 9,30NNW_IAH ,30.42,-95.57, 2 +IAH00063, 9,40NNW_IAH ,30.58,-95.65, 2 +IAH00064, 9,50NNW_IAH ,30.73,-95.72, 2 OVR00000, 9,OVR ,41.17,-95.74, 1 OVR00001, 9,20N_OVR ,41.50,-95.74, 2 OVR00002, 9,30N_OVR ,41.67,-95.74, 2 @@ -9994,131 +10056,129 @@ PWE00019, 9,20SSE_PWE ,39.89,-96.04, 2 PWE00020, 9,30SSE_PWE ,39.74,-95.96, 2 PWE00021, 9,40SSE_PWE ,39.58,-95.88, 2 PWE00022, 9,50SSE_PWE ,39.43,-95.80, 2 -PWE00023, 9,60SSE_PWE ,39.28,-95.72, 2 -PWE00024, 9,20S_PWE ,39.87,-96.21, 2 -PWE00025, 9,30S_PWE ,39.70,-96.21, 2 -PWE00026, 9,40S_PWE ,39.53,-96.21, 2 -PWE00027, 9,50S_PWE ,39.37,-96.21, 2 -PWE00028, 9,60S_PWE ,39.20,-96.21, 2 -PWE00029, 9,70S_PWE ,39.03,-96.21, 2 -PWE00030, 9,20SSW_PWE ,39.89,-96.38, 2 -PWE00031, 9,30SSW_PWE ,39.74,-96.46, 2 -PWE00032, 9,40SSW_PWE ,39.58,-96.54, 2 -PWE00033, 9,50SSW_PWE ,39.43,-96.62, 2 -PWE00034, 9,60SSW_PWE ,39.28,-96.70, 2 -PWE00035, 9,20SW_PWE ,39.96,-96.52, 2 -PWE00036, 9,30SW_PWE ,39.85,-96.67, 2 -PWE00037, 9,40SW_PWE ,39.73,-96.82, 2 -PWE00038, 9,50SW_PWE ,39.61,-96.97, 2 -PWE00039, 9,20WSW_PWE ,40.07,-96.61, 2 -PWE00040, 9,30WSW_PWE ,40.01,-96.81, 2 -PWE00041, 9,40WSW_PWE ,39.94,-97.01, 2 -PWE00042, 9,50WSW_PWE ,39.88,-97.21, 2 -PWE00043, 9,60WSW_PWE ,39.81,-97.41, 2 -PWE00044, 9,20W_PWE ,40.20,-96.65, 2 -PWE00045, 9,30W_PWE ,40.20,-96.86, 2 -PWE00046, 9,40W_PWE ,40.20,-97.08, 2 -PWE00047, 9,50W_PWE ,40.19,-97.30, 2 -PWE00048, 9,60W_PWE ,40.19,-97.52, 2 -PWE00049, 9,20WNW_PWE ,40.33,-96.61, 2 -PWE00050, 9,30WNW_PWE ,40.39,-96.82, 2 -PWE00051, 9,40WNW_PWE ,40.45,-97.02, 2 -PWE00052, 9,50WNW_PWE ,40.51,-97.22, 2 -PWE00053, 9,20NW_PWE ,40.44,-96.52, 2 -PWE00054, 9,30NW_PWE ,40.55,-96.67, 2 -PWE00055, 9,40NW_PWE ,40.67,-96.83, 2 -PWE00056, 9,50NW_PWE ,40.79,-96.99, 2 -PWE00057, 9,20NNW_PWE ,40.51,-96.38, 2 -PWE00058, 9,30NNW_PWE ,40.66,-96.46, 2 +PWE00023, 9,20S_PWE ,39.87,-96.21, 2 +PWE00024, 9,30S_PWE ,39.70,-96.21, 2 +PWE00025, 9,40S_PWE ,39.53,-96.21, 2 +PWE00026, 9,50S_PWE ,39.37,-96.21, 2 +PWE00027, 9,60S_PWE ,39.20,-96.21, 2 +PWE00028, 9,70S_PWE ,39.03,-96.21, 2 +PWE00029, 9,20SSW_PWE ,39.89,-96.38, 2 +PWE00030, 9,30SSW_PWE ,39.74,-96.46, 2 +PWE00031, 9,40SSW_PWE ,39.58,-96.54, 2 +PWE00032, 9,50SSW_PWE ,39.43,-96.62, 2 +PWE00033, 9,60SSW_PWE ,39.28,-96.70, 2 +PWE00034, 9,20SW_PWE ,39.96,-96.52, 2 +PWE00035, 9,30SW_PWE ,39.85,-96.67, 2 +PWE00036, 9,40SW_PWE ,39.73,-96.82, 2 +PWE00037, 9,50SW_PWE ,39.61,-96.97, 2 +PWE00038, 9,20WSW_PWE ,40.07,-96.61, 2 +PWE00039, 9,30WSW_PWE ,40.01,-96.81, 2 +PWE00040, 9,40WSW_PWE ,39.94,-97.01, 2 +PWE00041, 9,50WSW_PWE ,39.88,-97.21, 2 +PWE00042, 9,60WSW_PWE ,39.81,-97.41, 2 +PWE00043, 9,20W_PWE ,40.20,-96.65, 2 +PWE00044, 9,30W_PWE ,40.20,-96.86, 2 +PWE00045, 9,40W_PWE ,40.20,-97.08, 2 +PWE00046, 9,50W_PWE ,40.19,-97.30, 2 +PWE00047, 9,60W_PWE ,40.19,-97.52, 2 +PWE00048, 9,20WNW_PWE ,40.33,-96.61, 2 +PWE00049, 9,30WNW_PWE ,40.39,-96.82, 2 +PWE00050, 9,40WNW_PWE ,40.45,-97.02, 2 +PWE00051, 9,50WNW_PWE ,40.51,-97.22, 2 +PWE00052, 9,20NW_PWE ,40.44,-96.52, 2 +PWE00053, 9,30NW_PWE ,40.55,-96.67, 2 +PWE00054, 9,40NW_PWE ,40.67,-96.83, 2 +PWE00055, 9,50NW_PWE ,40.79,-96.99, 2 +PWE00056, 9,20NNW_PWE ,40.51,-96.38, 2 +PWE00057, 9,30NNW_PWE ,40.66,-96.46, 2 PSX00000, 9,PSX ,28.76,-96.31, 1 PSX00001, 9,20N_PSX ,29.09,-96.31, 2 PSX00002, 9,30N_PSX ,29.26,-96.31, 2 PSX00003, 9,40N_PSX ,29.43,-96.31, 2 PSX00004, 9,20NNE_PSX ,29.07,-96.16, 2 PSX00005, 9,30NNE_PSX ,29.22,-96.09, 2 -PSX00006, 9,40NNE_PSX ,29.38,-96.02, 2 -PSX00007, 9,20NE_PSX ,29.00,-96.04, 2 -PSX00008, 9,30NE_PSX ,29.11,-95.91, 2 -PSX00009, 9,20ENE_PSX ,28.89,-95.96, 2 -PSX00010, 9,30ENE_PSX ,28.95,-95.78, 2 -PSX00011, 9,40ENE_PSX ,29.01,-95.61, 2 -PSX00012, 9,20E_PSX ,28.76,-95.93, 2 -PSX00013, 9,30E_PSX ,28.76,-95.74, 2 -PSX00014, 9,40E_PSX ,28.76,-95.55, 2 -PSX00015, 9,50E_PSX ,28.76,-95.36, 2 -PSX00016, 9,60E_PSX ,28.76,-95.17, 2 -PSX00017, 9,20ESE_PSX ,28.63,-95.96, 2 -PSX00018, 9,30ESE_PSX ,28.57,-95.78, 2 -PSX00019, 9,40ESE_PSX ,28.50,-95.61, 2 -PSX00020, 9,50ESE_PSX ,28.44,-95.44, 2 -PSX00021, 9,60ESE_PSX ,28.37,-95.26, 2 -PSX00022, 9,70ESE_PSX ,28.31,-95.09, 2 -PSX00023, 9,80ESE_PSX ,28.24,-94.91, 2 -PSX00024, 9,90ESE_PSX ,28.18,-94.74, 2 -PSX00025, 9,100ESE_PSX ,28.11,-94.57, 2 -PSX00026, 9,110ESE_PSX ,28.05,-94.39, 2 -PSX00027, 9,120ESE_PSX ,27.98,-94.22, 2 -PSX00028, 9,130ESE_PSX ,27.91,-94.05, 2 -PSX00029, 9,20SE_PSX ,28.52,-96.04, 2 -PSX00030, 9,30SE_PSX ,28.41,-95.91, 2 -PSX00031, 9,40SE_PSX ,28.29,-95.78, 2 -PSX00032, 9,50SE_PSX ,28.17,-95.64, 2 -PSX00033, 9,60SE_PSX ,28.05,-95.51, 2 -PSX00034, 9,70SE_PSX ,27.93,-95.38, 2 -PSX00035, 9,80SE_PSX ,27.81,-95.24, 2 -PSX00036, 9,90SE_PSX ,27.69,-95.11, 2 -PSX00037, 9,100SE_PSX ,27.58,-94.98, 2 -PSX00038, 9,110SE_PSX ,27.46,-94.85, 2 -PSX00039, 9,120SE_PSX ,27.34,-94.72, 2 -PSX00040, 9,130SE_PSX ,27.22,-94.59, 2 -PSX00041, 9,140SE_PSX ,27.10,-94.46, 2 -PSX00042, 9,150SE_PSX ,26.98,-94.33, 2 -PSX00043, 9,160SE_PSX ,26.86,-94.20, 2 -PSX00044, 9,170SE_PSX ,26.74,-94.07, 2 -PSX00045, 9,180SE_PSX ,26.62,-93.94, 2 -PSX00046, 9,190SE_PSX ,26.50,-93.81, 2 -PSX00047, 9,200SE_PSX ,26.38,-93.68, 2 -PSX00048, 9,20SSE_PSX ,28.45,-96.17, 2 -PSX00049, 9,30SSE_PSX ,28.30,-96.09, 2 -PSX00050, 9,40SSE_PSX ,28.14,-96.02, 2 -PSX00051, 9,50SSE_PSX ,27.99,-95.95, 2 -PSX00052, 9,60SSE_PSX ,27.84,-95.88, 2 -PSX00053, 9,70SSE_PSX ,27.68,-95.81, 2 -PSX00054, 9,80SSE_PSX ,27.53,-95.74, 2 -PSX00055, 9,90SSE_PSX ,27.37,-95.66, 2 -PSX00056, 9,100SSE_PSX ,27.22,-95.59, 2 -PSX00057, 9,110SSE_PSX ,27.07,-95.52, 2 -PSX00058, 9,120SSE_PSX ,26.91,-95.45, 2 -PSX00059, 9,20S_PSX ,28.43,-96.31, 2 -PSX00060, 9,30S_PSX ,28.26,-96.31, 2 -PSX00061, 9,40S_PSX ,28.09,-96.31, 2 -PSX00062, 9,50S_PSX ,27.93,-96.31, 2 -PSX00063, 9,60S_PSX ,27.76,-96.31, 2 -PSX00064, 9,20SSW_PSX ,28.45,-96.45, 2 -PSX00065, 9,30SSW_PSX ,28.30,-96.53, 2 -PSX00066, 9,40SSW_PSX ,28.14,-96.60, 2 -PSX00067, 9,20SW_PSX ,28.52,-96.58, 2 -PSX00068, 9,30SW_PSX ,28.41,-96.71, 2 -PSX00069, 9,40SW_PSX ,28.29,-96.84, 2 -PSX00070, 9,20WSW_PSX ,28.63,-96.66, 2 -PSX00071, 9,30WSW_PSX ,28.57,-96.84, 2 -PSX00072, 9,40WSW_PSX ,28.50,-97.01, 2 -PSX00073, 9,20W_PSX ,28.76,-96.69, 2 -PSX00074, 9,30W_PSX ,28.76,-96.88, 2 -PSX00075, 9,40W_PSX ,28.76,-97.07, 2 -PSX00076, 9,50W_PSX ,28.76,-97.26, 2 -PSX00077, 9,20WNW_PSX ,28.89,-96.66, 2 -PSX00078, 9,30WNW_PSX ,28.95,-96.84, 2 -PSX00079, 9,40WNW_PSX ,29.01,-97.01, 2 -PSX00080, 9,50WNW_PSX ,29.08,-97.19, 2 -PSX00081, 9,20NW_PSX ,29.00,-96.58, 2 -PSX00082, 9,30NW_PSX ,29.11,-96.71, 2 -PSX00083, 9,40NW_PSX ,29.23,-96.85, 2 -PSX00084, 9,50NW_PSX ,29.35,-96.99, 2 -PSX00085, 9,20NNW_PSX ,29.07,-96.46, 2 -PSX00086, 9,30NNW_PSX ,29.22,-96.53, 2 -PSX00087, 9,40NNW_PSX ,29.38,-96.60, 2 -PSX00088, 9,50NNW_PSX ,29.53,-96.68, 2 +PSX00006, 9,20NE_PSX ,29.00,-96.04, 2 +PSX00007, 9,30NE_PSX ,29.11,-95.91, 2 +PSX00008, 9,20ENE_PSX ,28.89,-95.96, 2 +PSX00009, 9,30ENE_PSX ,28.95,-95.78, 2 +PSX00010, 9,40ENE_PSX ,29.01,-95.61, 2 +PSX00011, 9,20E_PSX ,28.76,-95.93, 2 +PSX00012, 9,30E_PSX ,28.76,-95.74, 2 +PSX00013, 9,40E_PSX ,28.76,-95.55, 2 +PSX00014, 9,50E_PSX ,28.76,-95.36, 2 +PSX00015, 9,60E_PSX ,28.76,-95.17, 2 +PSX00016, 9,20ESE_PSX ,28.63,-95.96, 2 +PSX00017, 9,30ESE_PSX ,28.57,-95.78, 2 +PSX00018, 9,40ESE_PSX ,28.50,-95.61, 2 +PSX00019, 9,50ESE_PSX ,28.44,-95.44, 2 +PSX00020, 9,60ESE_PSX ,28.37,-95.26, 2 +PSX00021, 9,70ESE_PSX ,28.31,-95.09, 2 +PSX00022, 9,80ESE_PSX ,28.24,-94.91, 2 +PSX00023, 9,90ESE_PSX ,28.18,-94.74, 2 +PSX00024, 9,100ESE_PSX ,28.11,-94.57, 2 +PSX00025, 9,110ESE_PSX ,28.05,-94.39, 2 +PSX00026, 9,120ESE_PSX ,27.98,-94.22, 2 +PSX00027, 9,130ESE_PSX ,27.91,-94.05, 2 +PSX00028, 9,20SE_PSX ,28.52,-96.04, 2 +PSX00029, 9,30SE_PSX ,28.41,-95.91, 2 +PSX00030, 9,40SE_PSX ,28.29,-95.78, 2 +PSX00031, 9,50SE_PSX ,28.17,-95.64, 2 +PSX00032, 9,60SE_PSX ,28.05,-95.51, 2 +PSX00033, 9,70SE_PSX ,27.93,-95.38, 2 +PSX00034, 9,80SE_PSX ,27.81,-95.24, 2 +PSX00035, 9,90SE_PSX ,27.69,-95.11, 2 +PSX00036, 9,100SE_PSX ,27.58,-94.98, 2 +PSX00037, 9,110SE_PSX ,27.46,-94.85, 2 +PSX00038, 9,120SE_PSX ,27.34,-94.72, 2 +PSX00039, 9,130SE_PSX ,27.22,-94.59, 2 +PSX00040, 9,140SE_PSX ,27.10,-94.46, 2 +PSX00041, 9,150SE_PSX ,26.98,-94.33, 2 +PSX00042, 9,160SE_PSX ,26.86,-94.20, 2 +PSX00043, 9,170SE_PSX ,26.74,-94.07, 2 +PSX00044, 9,180SE_PSX ,26.62,-93.94, 2 +PSX00045, 9,190SE_PSX ,26.50,-93.81, 2 +PSX00046, 9,200SE_PSX ,26.38,-93.68, 2 +PSX00047, 9,20SSE_PSX ,28.45,-96.17, 2 +PSX00048, 9,30SSE_PSX ,28.30,-96.09, 2 +PSX00049, 9,40SSE_PSX ,28.14,-96.02, 2 +PSX00050, 9,50SSE_PSX ,27.99,-95.95, 2 +PSX00051, 9,60SSE_PSX ,27.84,-95.88, 2 +PSX00052, 9,70SSE_PSX ,27.68,-95.81, 2 +PSX00053, 9,80SSE_PSX ,27.53,-95.74, 2 +PSX00054, 9,90SSE_PSX ,27.37,-95.66, 2 +PSX00055, 9,100SSE_PSX ,27.22,-95.59, 2 +PSX00056, 9,110SSE_PSX ,27.07,-95.52, 2 +PSX00057, 9,120SSE_PSX ,26.91,-95.45, 2 +PSX00058, 9,20S_PSX ,28.43,-96.31, 2 +PSX00059, 9,30S_PSX ,28.26,-96.31, 2 +PSX00060, 9,40S_PSX ,28.09,-96.31, 2 +PSX00061, 9,50S_PSX ,27.93,-96.31, 2 +PSX00062, 9,60S_PSX ,27.76,-96.31, 2 +PSX00063, 9,20SSW_PSX ,28.45,-96.45, 2 +PSX00064, 9,30SSW_PSX ,28.30,-96.53, 2 +PSX00065, 9,40SSW_PSX ,28.14,-96.60, 2 +PSX00066, 9,20SW_PSX ,28.52,-96.58, 2 +PSX00067, 9,30SW_PSX ,28.41,-96.71, 2 +PSX00068, 9,40SW_PSX ,28.29,-96.84, 2 +PSX00069, 9,20WSW_PSX ,28.63,-96.66, 2 +PSX00070, 9,30WSW_PSX ,28.57,-96.84, 2 +PSX00071, 9,40WSW_PSX ,28.50,-97.01, 2 +PSX00072, 9,20W_PSX ,28.76,-96.69, 2 +PSX00073, 9,30W_PSX ,28.76,-96.88, 2 +PSX00074, 9,40W_PSX ,28.76,-97.07, 2 +PSX00075, 9,50W_PSX ,28.76,-97.26, 2 +PSX00076, 9,20WNW_PSX ,28.89,-96.66, 2 +PSX00077, 9,30WNW_PSX ,28.95,-96.84, 2 +PSX00078, 9,40WNW_PSX ,29.01,-97.01, 2 +PSX00079, 9,50WNW_PSX ,29.08,-97.19, 2 +PSX00080, 9,20NW_PSX ,29.00,-96.58, 2 +PSX00081, 9,30NW_PSX ,29.11,-96.71, 2 +PSX00082, 9,40NW_PSX ,29.23,-96.85, 2 +PSX00083, 9,50NW_PSX ,29.35,-96.99, 2 +PSX00084, 9,20NNW_PSX ,29.07,-96.46, 2 +PSX00085, 9,30NNW_PSX ,29.22,-96.53, 2 +PSX00086, 9,40NNW_PSX ,29.38,-96.60, 2 +PSX00087, 9,50NNW_PSX ,29.53,-96.68, 2 FSD00000, 9,FSD ,43.65,-96.78, 1 FSD00001, 9,20N_FSD ,43.98,-96.78, 2 FSD00002, 9,30N_FSD ,44.15,-96.78, 2 @@ -10258,69 +10318,69 @@ FAR00058, 9,40WNW_FAR ,47.00,-97.75, 2 FAR00059, 9,20NW_FAR ,46.99,-97.20, 2 FAR00060, 9,30NW_FAR ,47.10,-97.37, 2 FAR00061, 9,20NNW_FAR ,47.06,-97.04, 2 -DFW00000, 9,DFW ,32.87,-97.03, 1 -DFW00001, 9,20N_DFW ,33.20,-97.03, 2 -DFW00002, 9,30N_DFW ,33.37,-97.03, 2 -DFW00003, 9,20NNE_DFW ,33.18,-96.88, 2 -DFW00004, 9,30NNE_DFW ,33.33,-96.80, 2 -DFW00005, 9,20NE_DFW ,33.11,-96.75, 2 -DFW00006, 9,30NE_DFW ,33.22,-96.61, 2 -DFW00007, 9,40NE_DFW ,33.34,-96.47, 2 -DFW00008, 9,50NE_DFW ,33.46,-96.32, 2 -DFW00009, 9,20ENE_DFW ,33.00,-96.66, 2 -DFW00010, 9,30ENE_DFW ,33.06,-96.48, 2 -DFW00011, 9,40ENE_DFW ,33.12,-96.30, 2 -DFW00012, 9,50ENE_DFW ,33.19,-96.11, 2 -DFW00013, 9,60ENE_DFW ,33.25,-95.93, 2 -DFW00014, 9,70ENE_DFW ,33.31,-95.74, 2 -DFW00015, 9,20E_DFW ,32.87,-96.63, 2 -DFW00016, 9,30E_DFW ,32.87,-96.44, 2 -DFW00017, 9,40E_DFW ,32.87,-96.24, 2 -DFW00018, 9,50E_DFW ,32.87,-96.04, 2 -DFW00019, 9,60E_DFW ,32.86,-95.84, 2 -DFW00020, 9,20ESE_DFW ,32.74,-96.66, 2 -DFW00021, 9,30ESE_DFW ,32.68,-96.48, 2 -DFW00022, 9,40ESE_DFW ,32.61,-96.30, 2 -DFW00023, 9,50ESE_DFW ,32.55,-96.12, 2 -DFW00024, 9,60ESE_DFW ,32.48,-95.94, 2 -DFW00025, 9,20SE_DFW ,32.63,-96.75, 2 -DFW00026, 9,30SE_DFW ,32.52,-96.61, 2 -DFW00027, 9,40SE_DFW ,32.40,-96.47, 2 -DFW00028, 9,50SE_DFW ,32.28,-96.33, 2 -DFW00029, 9,60SE_DFW ,32.16,-96.20, 2 -DFW00030, 9,70SE_DFW ,32.04,-96.06, 2 -DFW00031, 9,20SSE_DFW ,32.56,-96.88, 2 -DFW00032, 9,30SSE_DFW ,32.41,-96.80, 2 -DFW00033, 9,40SSE_DFW ,32.25,-96.73, 2 -DFW00034, 9,20S_DFW ,32.54,-97.03, 2 -DFW00035, 9,30S_DFW ,32.37,-97.03, 2 -DFW00036, 9,40S_DFW ,32.20,-97.03, 2 -DFW00037, 9,20SSW_DFW ,32.56,-97.18, 2 -DFW00038, 9,30SSW_DFW ,32.41,-97.26, 2 -DFW00039, 9,40SSW_DFW ,32.25,-97.33, 2 -DFW00040, 9,20SW_DFW ,32.63,-97.31, 2 -DFW00041, 9,30SW_DFW ,32.52,-97.45, 2 -DFW00042, 9,40SW_DFW ,32.40,-97.59, 2 -DFW00043, 9,50SW_DFW ,32.28,-97.73, 2 -DFW00044, 9,20WSW_DFW ,32.74,-97.40, 2 -DFW00045, 9,30WSW_DFW ,32.68,-97.58, 2 -DFW00046, 9,40WSW_DFW ,32.61,-97.76, 2 -DFW00047, 9,50WSW_DFW ,32.55,-97.94, 2 -DFW00048, 9,60WSW_DFW ,32.48,-98.12, 2 -DFW00049, 9,70WSW_DFW ,32.42,-98.31, 2 -DFW00050, 9,20W_DFW ,32.87,-97.43, 2 -DFW00051, 9,30W_DFW ,32.87,-97.62, 2 -DFW00052, 9,40W_DFW ,32.87,-97.82, 2 -DFW00053, 9,50W_DFW ,32.87,-98.02, 2 -DFW00054, 9,60W_DFW ,32.86,-98.22, 2 -DFW00055, 9,20WNW_DFW ,33.00,-97.40, 2 -DFW00056, 9,30WNW_DFW ,33.06,-97.58, 2 -DFW00057, 9,40WNW_DFW ,33.12,-97.76, 2 -DFW00058, 9,20NW_DFW ,33.11,-97.31, 2 -DFW00059, 9,30NW_DFW ,33.22,-97.45, 2 -DFW00060, 9,40NW_DFW ,33.34,-97.59, 2 -DFW00061, 9,20NNW_DFW ,33.18,-97.18, 2 -DFW00062, 9,30NNW_DFW ,33.33,-97.26, 2 +TTT00000, 9,TTT ,32.87,-97.04, 1 +TTT00001, 9,20N_TTT ,33.20,-97.04, 2 +TTT00002, 9,30N_TTT ,33.37,-97.04, 2 +TTT00003, 9,20NNE_TTT ,33.18,-96.89, 2 +TTT00004, 9,30NNE_TTT ,33.33,-96.81, 2 +TTT00005, 9,20NE_TTT ,33.11,-96.76, 2 +TTT00006, 9,30NE_TTT ,33.22,-96.62, 2 +TTT00007, 9,40NE_TTT ,33.34,-96.48, 2 +TTT00008, 9,50NE_TTT ,33.46,-96.33, 2 +TTT00009, 9,20ENE_TTT ,33.00,-96.67, 2 +TTT00010, 9,30ENE_TTT ,33.06,-96.49, 2 +TTT00011, 9,40ENE_TTT ,33.12,-96.31, 2 +TTT00012, 9,50ENE_TTT ,33.19,-96.12, 2 +TTT00013, 9,60ENE_TTT ,33.25,-95.94, 2 +TTT00014, 9,70ENE_TTT ,33.31,-95.75, 2 +TTT00015, 9,20E_TTT ,32.87,-96.64, 2 +TTT00016, 9,30E_TTT ,32.87,-96.45, 2 +TTT00017, 9,40E_TTT ,32.87,-96.25, 2 +TTT00018, 9,50E_TTT ,32.87,-96.05, 2 +TTT00019, 9,60E_TTT ,32.86,-95.85, 2 +TTT00020, 9,20ESE_TTT ,32.74,-96.67, 2 +TTT00021, 9,30ESE_TTT ,32.68,-96.49, 2 +TTT00022, 9,40ESE_TTT ,32.61,-96.31, 2 +TTT00023, 9,50ESE_TTT ,32.55,-96.13, 2 +TTT00024, 9,60ESE_TTT ,32.48,-95.95, 2 +TTT00025, 9,20SE_TTT ,32.63,-96.76, 2 +TTT00026, 9,30SE_TTT ,32.52,-96.62, 2 +TTT00027, 9,40SE_TTT ,32.40,-96.48, 2 +TTT00028, 9,50SE_TTT ,32.28,-96.34, 2 +TTT00029, 9,60SE_TTT ,32.16,-96.21, 2 +TTT00030, 9,70SE_TTT ,32.04,-96.07, 2 +TTT00031, 9,20SSE_TTT ,32.56,-96.89, 2 +TTT00032, 9,30SSE_TTT ,32.41,-96.81, 2 +TTT00033, 9,40SSE_TTT ,32.25,-96.74, 2 +TTT00034, 9,20S_TTT ,32.54,-97.04, 2 +TTT00035, 9,30S_TTT ,32.37,-97.04, 2 +TTT00036, 9,40S_TTT ,32.20,-97.04, 2 +TTT00037, 9,20SSW_TTT ,32.56,-97.19, 2 +TTT00038, 9,30SSW_TTT ,32.41,-97.27, 2 +TTT00039, 9,40SSW_TTT ,32.25,-97.34, 2 +TTT00040, 9,20SW_TTT ,32.63,-97.32, 2 +TTT00041, 9,30SW_TTT ,32.52,-97.46, 2 +TTT00042, 9,40SW_TTT ,32.40,-97.60, 2 +TTT00043, 9,50SW_TTT ,32.28,-97.74, 2 +TTT00044, 9,20WSW_TTT ,32.74,-97.41, 2 +TTT00045, 9,30WSW_TTT ,32.68,-97.59, 2 +TTT00046, 9,40WSW_TTT ,32.61,-97.77, 2 +TTT00047, 9,50WSW_TTT ,32.55,-97.95, 2 +TTT00048, 9,60WSW_TTT ,32.48,-98.13, 2 +TTT00049, 9,70WSW_TTT ,32.42,-98.32, 2 +TTT00050, 9,20W_TTT ,32.87,-97.44, 2 +TTT00051, 9,30W_TTT ,32.87,-97.63, 2 +TTT00052, 9,40W_TTT ,32.87,-97.83, 2 +TTT00053, 9,50W_TTT ,32.87,-98.03, 2 +TTT00054, 9,60W_TTT ,32.86,-98.23, 2 +TTT00055, 9,20WNW_TTT ,33.00,-97.41, 2 +TTT00056, 9,30WNW_TTT ,33.06,-97.59, 2 +TTT00057, 9,40WNW_TTT ,33.12,-97.77, 2 +TTT00058, 9,20NW_TTT ,33.11,-97.32, 2 +TTT00059, 9,30NW_TTT ,33.22,-97.46, 2 +TTT00060, 9,40NW_TTT ,33.34,-97.60, 2 +TTT00061, 9,20NNW_TTT ,33.18,-97.19, 2 +TTT00062, 9,30NNW_TTT ,33.33,-97.27, 2 ADM00000, 9,ADM ,34.21,-97.17, 1 ADM00001, 9,20N_ADM ,34.54,-97.17, 2 ADM00002, 9,30N_ADM ,34.71,-97.17, 2 @@ -10372,7 +10432,7 @@ GFK00004, 9,20NNE_GFK ,48.26,-97.00, 2 GFK00005, 9,30NNE_GFK ,48.41,-96.90, 2 GFK00006, 9,40NNE_GFK ,48.56,-96.80, 2 GFK00007, 9,50NNE_GFK ,48.72,-96.71, 2 -GFK00008, 9,20NE_GFK ,48.18,-96.84, 2 +GFK00008, 9,20NE_GFK ,48.19,-96.84, 2 GFK00009, 9,30NE_GFK ,48.30,-96.66, 2 GFK00010, 9,40NE_GFK ,48.42,-96.48, 2 GFK00011, 9,50NE_GFK ,48.54,-96.30, 2 @@ -10433,7 +10493,7 @@ GFK00065, 9,50WNW_GFK ,48.26,-98.35, 2 GFK00066, 9,60WNW_GFK ,48.32,-98.58, 2 GFK00067, 9,70WNW_GFK ,48.38,-98.81, 2 GFK00068, 9,80WNW_GFK ,48.45,-99.05, 2 -GFK00069, 9,20NW_GFK ,48.18,-97.54, 2 +GFK00069, 9,20NW_GFK ,48.19,-97.54, 2 GFK00070, 9,30NW_GFK ,48.30,-97.72, 2 GFK00071, 9,40NW_GFK ,48.42,-97.90, 2 GFK00072, 9,50NW_GFK ,48.54,-98.08, 2 @@ -10726,198 +10786,201 @@ BRO00029, 9,20E_BRO ,25.92,-97.01, 2 BRO00030, 9,30E_BRO ,25.92,-96.82, 2 BRO00031, 9,40E_BRO ,25.92,-96.64, 2 BRO00032, 9,50E_BRO ,25.92,-96.45, 2 -BRO00033, 9,100E_BRO ,25.91,-95.53, 2 -BRO00034, 9,110E_BRO ,25.91,-95.34, 2 -BRO00035, 9,120E_BRO ,25.90,-95.16, 2 -BRO00036, 9,130E_BRO ,25.90,-94.97, 2 -BRO00037, 9,140E_BRO ,25.90,-94.79, 2 -BRO00038, 9,150E_BRO ,25.89,-94.60, 2 -BRO00039, 9,160E_BRO ,25.89,-94.42, 2 -BRO00040, 9,170E_BRO ,25.89,-94.23, 2 -BRO00041, 9,180E_BRO ,25.88,-94.05, 2 -BRO00042, 9,190E_BRO ,25.88,-93.86, 2 -BRO00043, 9,200E_BRO ,25.87,-93.68, 2 -BRO00044, 9,210E_BRO ,25.87,-93.49, 2 -BRO00045, 9,220E_BRO ,25.86,-93.31, 2 -BRO00046, 9,230E_BRO ,25.86,-93.12, 2 -BRO00047, 9,240E_BRO ,25.85,-92.94, 2 -BRO00048, 9,250E_BRO ,25.85,-92.75, 2 -BRO00049, 9,20ESE_BRO ,25.79,-97.04, 2 -BRO00050, 9,30ESE_BRO ,25.73,-96.87, 2 -BRO00051, 9,40ESE_BRO ,25.66,-96.70, 2 -BRO00052, 9,50ESE_BRO ,25.60,-96.53, 2 -BRO00053, 9,60ESE_BRO ,25.53,-96.36, 2 -BRO00054, 9,70ESE_BRO ,25.47,-96.19, 2 -BRO00055, 9,80ESE_BRO ,25.40,-96.02, 2 -BRO00056, 9,90ESE_BRO ,25.34,-95.85, 2 -BRO00057, 9,100ESE_BRO ,25.27,-95.68, 2 -BRO00058, 9,110ESE_BRO ,25.21,-95.51, 2 -BRO00059, 9,120ESE_BRO ,25.14,-95.34, 2 -BRO00060, 9,130ESE_BRO ,25.07,-95.17, 2 -BRO00061, 9,140ESE_BRO ,25.01,-95.00, 2 -BRO00062, 9,150ESE_BRO ,24.94,-94.83, 2 -BRO00063, 9,160ESE_BRO ,24.88,-94.67, 2 -BRO00064, 9,170ESE_BRO ,24.81,-94.50, 2 -BRO00065, 9,180ESE_BRO ,24.74,-94.33, 2 -BRO00066, 9,190ESE_BRO ,24.67,-94.16, 2 -BRO00067, 9,200ESE_BRO ,24.61,-94.00, 2 -BRO00068, 9,210ESE_BRO ,24.54,-93.83, 2 -BRO00069, 9,220ESE_BRO ,24.47,-93.66, 2 -BRO00070, 9,230ESE_BRO ,24.40,-93.49, 2 -BRO00071, 9,240ESE_BRO ,24.33,-93.33, 2 -BRO00072, 9,20SE_BRO ,25.68,-97.12, 2 -BRO00073, 9,30SE_BRO ,25.57,-96.99, 2 -BRO00074, 9,40SE_BRO ,25.45,-96.86, 2 -BRO00075, 9,50SE_BRO ,25.33,-96.73, 2 -BRO00076, 9,60SE_BRO ,25.21,-96.60, 2 -BRO00077, 9,70SE_BRO ,25.09,-96.47, 2 -BRO00078, 9,80SE_BRO ,24.97,-96.34, 2 -BRO00079, 9,90SE_BRO ,24.86,-96.21, 2 -BRO00080, 9,100SE_BRO ,24.74,-96.08, 2 -BRO00081, 9,110SE_BRO ,24.62,-95.96, 2 -BRO00082, 9,120SE_BRO ,24.50,-95.83, 2 -BRO00083, 9,130SE_BRO ,24.38,-95.70, 2 -BRO00084, 9,140SE_BRO ,24.26,-95.57, 2 -BRO00085, 9,150SE_BRO ,24.14,-95.44, 2 -BRO00086, 9,160SE_BRO ,24.02,-95.32, 2 -BRO00087, 9,170SE_BRO ,23.90,-95.19, 2 -BRO00088, 9,180SE_BRO ,23.78,-95.06, 2 -BRO00089, 9,190SE_BRO ,23.66,-94.94, 2 -BRO00090, 9,200SE_BRO ,23.54,-94.81, 2 -BRO00091, 9,210SE_BRO ,23.42,-94.69, 2 -BRO00092, 9,220SE_BRO ,23.30,-94.56, 2 -BRO00093, 9,230SE_BRO ,23.18,-94.43, 2 -BRO00094, 9,240SE_BRO ,23.06,-94.31, 2 -BRO00095, 9,250SE_BRO ,22.94,-94.18, 2 -BRO00096, 9,20SSE_BRO ,25.61,-97.24, 2 -BRO00097, 9,30SSE_BRO ,25.46,-97.17, 2 -BRO00098, 9,40SSE_BRO ,25.30,-97.10, 2 -BRO00099, 9,50SSE_BRO ,25.15,-97.03, 2 -BRO00100, 9,60SSE_BRO ,25.00,-96.96, 2 -BRO00101, 9,70SSE_BRO ,24.84,-96.89, 2 -BRO00102, 9,80SSE_BRO ,24.69,-96.82, 2 -BRO00103, 9,90SSE_BRO ,24.53,-96.75, 2 -BRO00104, 9,100SSE_BRO ,24.38,-96.68, 2 -BRO00105, 9,110SSE_BRO ,24.23,-96.61, 2 -BRO00106, 9,120SSE_BRO ,24.07,-96.54, 2 -BRO00107, 9,130SSE_BRO ,23.92,-96.47, 2 -BRO00108, 9,140SSE_BRO ,23.76,-96.41, 2 -BRO00109, 9,150SSE_BRO ,23.61,-96.34, 2 -BRO00110, 9,160SSE_BRO ,23.45,-96.27, 2 -BRO00111, 9,170SSE_BRO ,23.30,-96.20, 2 -BRO00112, 9,180SSE_BRO ,23.15,-96.13, 2 -BRO00113, 9,190SSE_BRO ,22.99,-96.07, 2 -BRO00114, 9,200SSE_BRO ,22.84,-96.00, 2 -BRO00115, 9,210SSE_BRO ,22.68,-95.93, 2 -BRO00116, 9,220SSE_BRO ,22.53,-95.86, 2 -BRO00117, 9,230SSE_BRO ,22.37,-95.80, 2 -BRO00118, 9,240SSE_BRO ,22.22,-95.73, 2 -BRO00119, 9,20S_BRO ,25.59,-97.38, 2 -BRO00120, 9,30S_BRO ,25.42,-97.38, 2 -BRO00121, 9,40S_BRO ,25.25,-97.38, 2 -BRO00122, 9,50S_BRO ,25.09,-97.38, 2 -BRO00123, 9,60S_BRO ,24.92,-97.38, 2 -BRO00124, 9,70S_BRO ,24.75,-97.38, 2 -BRO00125, 9,80S_BRO ,24.59,-97.38, 2 -BRO00126, 9,90S_BRO ,24.42,-97.38, 2 -BRO00127, 9,100S_BRO ,24.25,-97.38, 2 -BRO00128, 9,110S_BRO ,24.09,-97.38, 2 -BRO00129, 9,120S_BRO ,23.92,-97.38, 2 -BRO00130, 9,130S_BRO ,23.75,-97.38, 2 -BRO00131, 9,140S_BRO ,23.59,-97.38, 2 -BRO00132, 9,150S_BRO ,23.42,-97.38, 2 -BRO00133, 9,160S_BRO ,23.26,-97.38, 2 -BRO00134, 9,170S_BRO ,23.09,-97.38, 2 -BRO00135, 9,180S_BRO ,22.92,-97.38, 2 -BRO00136, 9,190S_BRO ,22.76,-97.38, 2 -BRO00137, 9,200S_BRO ,22.59,-97.38, 2 -BRO00138, 9,210S_BRO ,22.42,-97.38, 2 -BRO00139, 9,220S_BRO ,22.26,-97.38, 2 -BRO00140, 9,230S_BRO ,22.09,-97.38, 2 -BRO00141, 9,240S_BRO ,21.92,-97.38, 2 -BRO00142, 9,250S_BRO ,21.76,-97.38, 2 -BRO00143, 9,20SSW_BRO ,25.61,-97.52, 2 -BRO00144, 9,30SSW_BRO ,25.46,-97.59, 2 -BRO00145, 9,40SSW_BRO ,25.30,-97.66, 2 -BRO00146, 9,50SSW_BRO ,25.15,-97.73, 2 -BRO00147, 9,60SSW_BRO ,25.00,-97.80, 2 -BRO00148, 9,70SSW_BRO ,24.84,-97.87, 2 -BRO00149, 9,80SSW_BRO ,24.69,-97.94, 2 -BRO00150, 9,90SSW_BRO ,24.53,-98.01, 2 -BRO00151, 9,100SSW_BRO ,24.38,-98.08, 2 -BRO00152, 9,110SSW_BRO ,24.23,-98.15, 2 -BRO00153, 9,120SSW_BRO ,24.07,-98.22, 2 -BRO00154, 9,130SSW_BRO ,23.92,-98.29, 2 -BRO00155, 9,140SSW_BRO ,23.76,-98.35, 2 -BRO00156, 9,150SSW_BRO ,23.61,-98.42, 2 -BRO00157, 9,160SSW_BRO ,23.45,-98.49, 2 -BRO00158, 9,170SSW_BRO ,23.30,-98.56, 2 -BRO00159, 9,180SSW_BRO ,23.15,-98.63, 2 -BRO00160, 9,190SSW_BRO ,22.99,-98.69, 2 -BRO00161, 9,200SSW_BRO ,22.84,-98.76, 2 -BRO00162, 9,210SSW_BRO ,22.68,-98.83, 2 -BRO00163, 9,220SSW_BRO ,22.53,-98.90, 2 -BRO00164, 9,230SSW_BRO ,22.37,-98.96, 2 -BRO00165, 9,240SSW_BRO ,22.22,-99.03, 2 -BRO00166, 9,20SW_BRO ,25.68,-97.64, 2 -BRO00167, 9,30SW_BRO ,25.57,-97.77, 2 -BRO00168, 9,40SW_BRO ,25.45,-97.90, 2 -BRO00169, 9,50SW_BRO ,25.33,-98.03, 2 -BRO00170, 9,60SW_BRO ,25.21,-98.16, 2 -BRO00171, 9,70SW_BRO ,25.09,-98.29, 2 -BRO00172, 9,80SW_BRO ,24.97,-98.42, 2 -BRO00173, 9,90SW_BRO ,24.86,-98.55, 2 -BRO00174, 9,100SW_BRO ,24.74,-98.68, 2 -BRO00175, 9,110SW_BRO ,24.62,-98.80, 2 -BRO00176, 9,120SW_BRO ,24.50,-98.93, 2 -BRO00177, 9,130SW_BRO ,24.38,-99.06, 2 -BRO00178, 9,140SW_BRO ,24.26,-99.19, 2 -BRO00179, 9,150SW_BRO ,24.14,-99.32, 2 -BRO00180, 9,160SW_BRO ,24.02,-99.44, 2 -BRO00181, 9,170SW_BRO ,23.90,-99.57, 2 -BRO00182, 9,180SW_BRO ,23.78,-99.70, 2 -BRO00183, 9,190SW_BRO ,23.66,-99.82, 2 -BRO00184, 9,200SW_BRO ,23.54,-99.95, 2 -BRO00185, 9,210SW_BRO ,23.42,-100.07, 2 -BRO00186, 9,220SW_BRO ,23.30,-100.20, 2 -BRO00187, 9,230SW_BRO ,23.18,-100.33, 2 -BRO00188, 9,240SW_BRO ,23.06,-100.45, 2 -BRO00189, 9,250SW_BRO ,22.94,-100.58, 2 -BRO00190, 9,20WSW_BRO ,25.79,-97.72, 2 -BRO00191, 9,30WSW_BRO ,25.73,-97.89, 2 -BRO00192, 9,40WSW_BRO ,25.66,-98.06, 2 -BRO00193, 9,50WSW_BRO ,25.60,-98.23, 2 -BRO00194, 9,60WSW_BRO ,25.53,-98.40, 2 -BRO00195, 9,70WSW_BRO ,25.47,-98.57, 2 -BRO00196, 9,80WSW_BRO ,25.40,-98.74, 2 -BRO00197, 9,90WSW_BRO ,25.34,-98.91, 2 -BRO00198, 9,100WSW_BRO ,25.27,-99.08, 2 -BRO00199, 9,110WSW_BRO ,25.21,-99.25, 2 -BRO00200, 9,120WSW_BRO ,25.14,-99.42, 2 -BRO00201, 9,130WSW_BRO ,25.07,-99.59, 2 -BRO00202, 9,140WSW_BRO ,25.01,-99.76, 2 -BRO00203, 9,150WSW_BRO ,24.94,-99.93, 2 -BRO00204, 9,20W_BRO ,25.92,-97.75, 2 -BRO00205, 9,30W_BRO ,25.92,-97.94, 2 -BRO00206, 9,40W_BRO ,25.92,-98.12, 2 -BRO00207, 9,50W_BRO ,25.92,-98.31, 2 -BRO00208, 9,60W_BRO ,25.92,-98.49, 2 -BRO00209, 9,70W_BRO ,25.91,-98.68, 2 -BRO00210, 9,20WNW_BRO ,26.05,-97.72, 2 -BRO00211, 9,30WNW_BRO ,26.11,-97.89, 2 -BRO00212, 9,40WNW_BRO ,26.17,-98.07, 2 -BRO00213, 9,50WNW_BRO ,26.24,-98.24, 2 -BRO00214, 9,60WNW_BRO ,26.30,-98.41, 2 -BRO00215, 9,70WNW_BRO ,26.36,-98.58, 2 -BRO00216, 9,20NW_BRO ,26.16,-97.64, 2 -BRO00217, 9,30NW_BRO ,26.27,-97.77, 2 -BRO00218, 9,40NW_BRO ,26.39,-97.91, 2 -BRO00219, 9,50NW_BRO ,26.51,-98.04, 2 -BRO00220, 9,60NW_BRO ,26.62,-98.17, 2 -BRO00221, 9,20NNW_BRO ,26.23,-97.52, 2 -BRO00222, 9,30NNW_BRO ,26.38,-97.59, 2 -BRO00223, 9,40NNW_BRO ,26.54,-97.66, 2 -BRO00224, 9,50NNW_BRO ,26.69,-97.74, 2 +BRO00033, 9,60E_BRO ,25.92,-96.27, 2 +BRO00034, 9,90E_BRO ,25.91,-95.71, 2 +BRO00035, 9,100E_BRO ,25.91,-95.53, 2 +BRO00036, 9,110E_BRO ,25.91,-95.34, 2 +BRO00037, 9,120E_BRO ,25.90,-95.16, 2 +BRO00038, 9,130E_BRO ,25.90,-94.97, 2 +BRO00039, 9,140E_BRO ,25.90,-94.79, 2 +BRO00040, 9,150E_BRO ,25.89,-94.60, 2 +BRO00041, 9,160E_BRO ,25.89,-94.42, 2 +BRO00042, 9,170E_BRO ,25.89,-94.23, 2 +BRO00043, 9,180E_BRO ,25.88,-94.05, 2 +BRO00044, 9,190E_BRO ,25.88,-93.86, 2 +BRO00045, 9,200E_BRO ,25.87,-93.68, 2 +BRO00046, 9,210E_BRO ,25.87,-93.49, 2 +BRO00047, 9,220E_BRO ,25.86,-93.31, 2 +BRO00048, 9,230E_BRO ,25.86,-93.12, 2 +BRO00049, 9,240E_BRO ,25.85,-92.94, 2 +BRO00050, 9,250E_BRO ,25.85,-92.75, 2 +BRO00051, 9,20ESE_BRO ,25.79,-97.04, 2 +BRO00052, 9,30ESE_BRO ,25.73,-96.87, 2 +BRO00053, 9,40ESE_BRO ,25.66,-96.70, 2 +BRO00054, 9,50ESE_BRO ,25.60,-96.53, 2 +BRO00055, 9,60ESE_BRO ,25.53,-96.36, 2 +BRO00056, 9,70ESE_BRO ,25.47,-96.19, 2 +BRO00057, 9,80ESE_BRO ,25.40,-96.02, 2 +BRO00058, 9,90ESE_BRO ,25.34,-95.85, 2 +BRO00059, 9,100ESE_BRO ,25.27,-95.68, 2 +BRO00060, 9,110ESE_BRO ,25.21,-95.51, 2 +BRO00061, 9,120ESE_BRO ,25.14,-95.34, 2 +BRO00062, 9,130ESE_BRO ,25.07,-95.17, 2 +BRO00063, 9,140ESE_BRO ,25.01,-95.00, 2 +BRO00064, 9,150ESE_BRO ,24.94,-94.83, 2 +BRO00065, 9,160ESE_BRO ,24.88,-94.67, 2 +BRO00066, 9,170ESE_BRO ,24.81,-94.50, 2 +BRO00067, 9,180ESE_BRO ,24.74,-94.33, 2 +BRO00068, 9,190ESE_BRO ,24.67,-94.16, 2 +BRO00069, 9,200ESE_BRO ,24.61,-94.00, 2 +BRO00070, 9,210ESE_BRO ,24.54,-93.83, 2 +BRO00071, 9,220ESE_BRO ,24.47,-93.66, 2 +BRO00072, 9,230ESE_BRO ,24.40,-93.49, 2 +BRO00073, 9,240ESE_BRO ,24.33,-93.33, 2 +BRO00074, 9,20SE_BRO ,25.68,-97.12, 2 +BRO00075, 9,30SE_BRO ,25.57,-96.99, 2 +BRO00076, 9,40SE_BRO ,25.45,-96.86, 2 +BRO00077, 9,50SE_BRO ,25.33,-96.73, 2 +BRO00078, 9,60SE_BRO ,25.21,-96.60, 2 +BRO00079, 9,70SE_BRO ,25.09,-96.47, 2 +BRO00080, 9,80SE_BRO ,24.97,-96.34, 2 +BRO00081, 9,90SE_BRO ,24.86,-96.21, 2 +BRO00082, 9,100SE_BRO ,24.74,-96.08, 2 +BRO00083, 9,110SE_BRO ,24.62,-95.96, 2 +BRO00084, 9,120SE_BRO ,24.50,-95.83, 2 +BRO00085, 9,130SE_BRO ,24.38,-95.70, 2 +BRO00086, 9,140SE_BRO ,24.26,-95.57, 2 +BRO00087, 9,150SE_BRO ,24.14,-95.44, 2 +BRO00088, 9,160SE_BRO ,24.02,-95.32, 2 +BRO00089, 9,170SE_BRO ,23.90,-95.19, 2 +BRO00090, 9,180SE_BRO ,23.78,-95.06, 2 +BRO00091, 9,190SE_BRO ,23.66,-94.94, 2 +BRO00092, 9,200SE_BRO ,23.54,-94.81, 2 +BRO00093, 9,210SE_BRO ,23.42,-94.69, 2 +BRO00094, 9,220SE_BRO ,23.30,-94.56, 2 +BRO00095, 9,230SE_BRO ,23.18,-94.43, 2 +BRO00096, 9,240SE_BRO ,23.06,-94.31, 2 +BRO00097, 9,250SE_BRO ,22.94,-94.18, 2 +BRO00098, 9,20SSE_BRO ,25.61,-97.24, 2 +BRO00099, 9,30SSE_BRO ,25.46,-97.17, 2 +BRO00100, 9,40SSE_BRO ,25.30,-97.10, 2 +BRO00101, 9,50SSE_BRO ,25.15,-97.03, 2 +BRO00102, 9,60SSE_BRO ,25.00,-96.96, 2 +BRO00103, 9,70SSE_BRO ,24.84,-96.89, 2 +BRO00104, 9,80SSE_BRO ,24.69,-96.82, 2 +BRO00105, 9,90SSE_BRO ,24.53,-96.75, 2 +BRO00106, 9,100SSE_BRO ,24.38,-96.68, 2 +BRO00107, 9,110SSE_BRO ,24.23,-96.61, 2 +BRO00108, 9,120SSE_BRO ,24.07,-96.54, 2 +BRO00109, 9,130SSE_BRO ,23.92,-96.47, 2 +BRO00110, 9,140SSE_BRO ,23.76,-96.41, 2 +BRO00111, 9,150SSE_BRO ,23.61,-96.34, 2 +BRO00112, 9,160SSE_BRO ,23.45,-96.27, 2 +BRO00113, 9,170SSE_BRO ,23.30,-96.20, 2 +BRO00114, 9,180SSE_BRO ,23.15,-96.13, 2 +BRO00115, 9,190SSE_BRO ,22.99,-96.07, 2 +BRO00116, 9,200SSE_BRO ,22.84,-96.00, 2 +BRO00117, 9,210SSE_BRO ,22.68,-95.93, 2 +BRO00118, 9,220SSE_BRO ,22.53,-95.86, 2 +BRO00119, 9,230SSE_BRO ,22.37,-95.80, 2 +BRO00120, 9,240SSE_BRO ,22.22,-95.73, 2 +BRO00121, 9,20S_BRO ,25.59,-97.38, 2 +BRO00122, 9,30S_BRO ,25.42,-97.38, 2 +BRO00123, 9,40S_BRO ,25.25,-97.38, 2 +BRO00124, 9,50S_BRO ,25.09,-97.38, 2 +BRO00125, 9,60S_BRO ,24.92,-97.38, 2 +BRO00126, 9,70S_BRO ,24.75,-97.38, 2 +BRO00127, 9,80S_BRO ,24.59,-97.38, 2 +BRO00128, 9,90S_BRO ,24.42,-97.38, 2 +BRO00129, 9,100S_BRO ,24.25,-97.38, 2 +BRO00130, 9,110S_BRO ,24.09,-97.38, 2 +BRO00131, 9,120S_BRO ,23.92,-97.38, 2 +BRO00132, 9,130S_BRO ,23.75,-97.38, 2 +BRO00133, 9,140S_BRO ,23.59,-97.38, 2 +BRO00134, 9,150S_BRO ,23.42,-97.38, 2 +BRO00135, 9,160S_BRO ,23.26,-97.38, 2 +BRO00136, 9,170S_BRO ,23.09,-97.38, 2 +BRO00137, 9,180S_BRO ,22.92,-97.38, 2 +BRO00138, 9,190S_BRO ,22.76,-97.38, 2 +BRO00139, 9,200S_BRO ,22.59,-97.38, 2 +BRO00140, 9,210S_BRO ,22.42,-97.38, 2 +BRO00141, 9,220S_BRO ,22.26,-97.38, 2 +BRO00142, 9,230S_BRO ,22.09,-97.38, 2 +BRO00143, 9,240S_BRO ,21.92,-97.38, 2 +BRO00144, 9,250S_BRO ,21.76,-97.38, 2 +BRO00145, 9,20SSW_BRO ,25.61,-97.52, 2 +BRO00146, 9,30SSW_BRO ,25.46,-97.59, 2 +BRO00147, 9,40SSW_BRO ,25.30,-97.66, 2 +BRO00148, 9,50SSW_BRO ,25.15,-97.73, 2 +BRO00149, 9,60SSW_BRO ,25.00,-97.80, 2 +BRO00150, 9,70SSW_BRO ,24.84,-97.87, 2 +BRO00151, 9,80SSW_BRO ,24.69,-97.94, 2 +BRO00152, 9,90SSW_BRO ,24.53,-98.01, 2 +BRO00153, 9,100SSW_BRO ,24.38,-98.08, 2 +BRO00154, 9,110SSW_BRO ,24.23,-98.15, 2 +BRO00155, 9,120SSW_BRO ,24.07,-98.22, 2 +BRO00156, 9,130SSW_BRO ,23.92,-98.29, 2 +BRO00157, 9,140SSW_BRO ,23.76,-98.35, 2 +BRO00158, 9,150SSW_BRO ,23.61,-98.42, 2 +BRO00159, 9,160SSW_BRO ,23.45,-98.49, 2 +BRO00160, 9,170SSW_BRO ,23.30,-98.56, 2 +BRO00161, 9,180SSW_BRO ,23.15,-98.63, 2 +BRO00162, 9,190SSW_BRO ,22.99,-98.69, 2 +BRO00163, 9,200SSW_BRO ,22.84,-98.76, 2 +BRO00164, 9,210SSW_BRO ,22.68,-98.83, 2 +BRO00165, 9,220SSW_BRO ,22.53,-98.90, 2 +BRO00166, 9,230SSW_BRO ,22.37,-98.96, 2 +BRO00167, 9,240SSW_BRO ,22.22,-99.03, 2 +BRO00168, 9,20SW_BRO ,25.68,-97.64, 2 +BRO00169, 9,30SW_BRO ,25.57,-97.77, 2 +BRO00170, 9,40SW_BRO ,25.45,-97.90, 2 +BRO00171, 9,50SW_BRO ,25.33,-98.03, 2 +BRO00172, 9,60SW_BRO ,25.21,-98.16, 2 +BRO00173, 9,70SW_BRO ,25.09,-98.29, 2 +BRO00174, 9,80SW_BRO ,24.97,-98.42, 2 +BRO00175, 9,90SW_BRO ,24.86,-98.55, 2 +BRO00176, 9,100SW_BRO ,24.74,-98.68, 2 +BRO00177, 9,110SW_BRO ,24.62,-98.80, 2 +BRO00178, 9,120SW_BRO ,24.50,-98.93, 2 +BRO00179, 9,130SW_BRO ,24.38,-99.06, 2 +BRO00180, 9,140SW_BRO ,24.26,-99.19, 2 +BRO00181, 9,150SW_BRO ,24.14,-99.32, 2 +BRO00182, 9,160SW_BRO ,24.02,-99.44, 2 +BRO00183, 9,170SW_BRO ,23.90,-99.57, 2 +BRO00184, 9,180SW_BRO ,23.78,-99.70, 2 +BRO00185, 9,190SW_BRO ,23.66,-99.82, 2 +BRO00186, 9,200SW_BRO ,23.54,-99.95, 2 +BRO00187, 9,210SW_BRO ,23.42,-100.07, 2 +BRO00188, 9,220SW_BRO ,23.30,-100.20, 2 +BRO00189, 9,230SW_BRO ,23.18,-100.33, 2 +BRO00190, 9,240SW_BRO ,23.06,-100.45, 2 +BRO00191, 9,250SW_BRO ,22.94,-100.58, 2 +BRO00192, 9,20WSW_BRO ,25.79,-97.72, 2 +BRO00193, 9,30WSW_BRO ,25.73,-97.89, 2 +BRO00194, 9,40WSW_BRO ,25.66,-98.06, 2 +BRO00195, 9,50WSW_BRO ,25.60,-98.23, 2 +BRO00196, 9,60WSW_BRO ,25.53,-98.40, 2 +BRO00197, 9,70WSW_BRO ,25.47,-98.57, 2 +BRO00198, 9,80WSW_BRO ,25.40,-98.74, 2 +BRO00199, 9,90WSW_BRO ,25.34,-98.91, 2 +BRO00200, 9,100WSW_BRO ,25.27,-99.08, 2 +BRO00201, 9,110WSW_BRO ,25.21,-99.25, 2 +BRO00202, 9,120WSW_BRO ,25.14,-99.42, 2 +BRO00203, 9,130WSW_BRO ,25.07,-99.59, 2 +BRO00204, 9,140WSW_BRO ,25.01,-99.76, 2 +BRO00205, 9,150WSW_BRO ,24.94,-99.93, 2 +BRO00206, 9,20W_BRO ,25.92,-97.75, 2 +BRO00207, 9,30W_BRO ,25.92,-97.94, 2 +BRO00208, 9,40W_BRO ,25.92,-98.12, 2 +BRO00209, 9,50W_BRO ,25.92,-98.31, 2 +BRO00210, 9,60W_BRO ,25.92,-98.49, 2 +BRO00211, 9,70W_BRO ,25.91,-98.68, 2 +BRO00212, 9,80W_BRO ,25.91,-98.86, 2 +BRO00213, 9,20WNW_BRO ,26.05,-97.72, 2 +BRO00214, 9,30WNW_BRO ,26.11,-97.89, 2 +BRO00215, 9,40WNW_BRO ,26.17,-98.07, 2 +BRO00216, 9,50WNW_BRO ,26.24,-98.24, 2 +BRO00217, 9,60WNW_BRO ,26.30,-98.41, 2 +BRO00218, 9,70WNW_BRO ,26.36,-98.58, 2 +BRO00219, 9,20NW_BRO ,26.16,-97.64, 2 +BRO00220, 9,30NW_BRO ,26.27,-97.77, 2 +BRO00221, 9,40NW_BRO ,26.39,-97.91, 2 +BRO00222, 9,50NW_BRO ,26.51,-98.04, 2 +BRO00223, 9,60NW_BRO ,26.62,-98.17, 2 +BRO00224, 9,20NNW_BRO ,26.23,-97.52, 2 +BRO00225, 9,30NNW_BRO ,26.38,-97.59, 2 +BRO00226, 9,40NNW_BRO ,26.54,-97.66, 2 +BRO00227, 9,50NNW_BRO ,26.69,-97.74, 2 CRP00000, 9,CRP ,27.90,-97.45, 1 CRP00001, 9,20N_CRP ,28.23,-97.45, 2 CRP00002, 9,30N_CRP ,28.40,-97.45, 2 @@ -11129,109 +11192,112 @@ SLN00021, 9,40ESE_SLN ,38.67,-96.83, 2 SLN00022, 9,50ESE_SLN ,38.61,-96.64, 2 SLN00023, 9,60ESE_SLN ,38.54,-96.44, 2 SLN00024, 9,70ESE_SLN ,38.48,-96.24, 2 -SLN00025, 9,80ESE_SLN ,38.41,-96.05, 2 -SLN00026, 9,20SE_SLN ,38.69,-97.32, 2 -SLN00027, 9,30SE_SLN ,38.58,-97.17, 2 -SLN00028, 9,40SE_SLN ,38.46,-97.02, 2 -SLN00029, 9,50SE_SLN ,38.34,-96.87, 2 -SLN00030, 9,20SSE_SLN ,38.62,-97.46, 2 -SLN00031, 9,30SSE_SLN ,38.47,-97.38, 2 -SLN00032, 9,40SSE_SLN ,38.31,-97.30, 2 -SLN00033, 9,20S_SLN ,38.60,-97.62, 2 -SLN00034, 9,30S_SLN ,38.43,-97.62, 2 -SLN00035, 9,40S_SLN ,38.26,-97.62, 2 -SLN00036, 9,20SSW_SLN ,38.62,-97.78, 2 -SLN00037, 9,30SSW_SLN ,38.47,-97.86, 2 -SLN00038, 9,40SSW_SLN ,38.31,-97.94, 2 -SLN00039, 9,20SW_SLN ,38.69,-97.92, 2 -SLN00040, 9,30SW_SLN ,38.58,-98.07, 2 -SLN00041, 9,40SW_SLN ,38.46,-98.22, 2 -SLN00042, 9,50SW_SLN ,38.34,-98.37, 2 -SLN00043, 9,60SW_SLN ,38.22,-98.52, 2 -SLN00044, 9,20WSW_SLN ,38.80,-98.01, 2 -SLN00045, 9,30WSW_SLN ,38.74,-98.21, 2 -SLN00046, 9,40WSW_SLN ,38.67,-98.41, 2 -SLN00047, 9,50WSW_SLN ,38.61,-98.60, 2 -SLN00048, 9,60WSW_SLN ,38.54,-98.80, 2 -SLN00049, 9,70WSW_SLN ,38.48,-99.00, 2 -SLN00050, 9,20W_SLN ,38.93,-98.05, 2 -SLN00051, 9,30W_SLN ,38.93,-98.26, 2 -SLN00052, 9,40W_SLN ,38.93,-98.48, 2 -SLN00053, 9,50W_SLN ,38.93,-98.69, 2 -SLN00054, 9,60W_SLN ,38.92,-98.90, 2 -SLN00055, 9,20WNW_SLN ,39.06,-98.02, 2 -SLN00056, 9,30WNW_SLN ,39.12,-98.21, 2 -SLN00057, 9,40WNW_SLN ,39.18,-98.41, 2 -SLN00058, 9,50WNW_SLN ,39.24,-98.61, 2 -SLN00059, 9,60WNW_SLN ,39.31,-98.81, 2 -SLN00060, 9,20NW_SLN ,39.17,-97.92, 2 -SLN00061, 9,30NW_SLN ,39.28,-98.08, 2 -SLN00062, 9,40NW_SLN ,39.40,-98.23, 2 -SLN00063, 9,50NW_SLN ,39.52,-98.38, 2 -SLN00064, 9,60NW_SLN ,39.63,-98.54, 2 -SLN00065, 9,70NW_SLN ,39.75,-98.69, 2 -SLN00066, 9,20NNW_SLN ,39.24,-97.78, 2 -SLN00067, 9,30NNW_SLN ,39.39,-97.87, 2 -SLN00068, 9,40NNW_SLN ,39.55,-97.95, 2 -SLN00069, 9,50NNW_SLN ,39.70,-98.03, 2 -SLN00070, 9,60NNW_SLN ,39.85,-98.12, 2 -AUS00000, 9,AUS ,30.30,-97.70, 1 -AUS00001, 9,20N_AUS ,30.63,-97.70, 2 -AUS00002, 9,30N_AUS ,30.80,-97.70, 2 -AUS00003, 9,20NNE_AUS ,30.61,-97.55, 2 -AUS00004, 9,30NNE_AUS ,30.76,-97.48, 2 -AUS00005, 9,20NE_AUS ,30.54,-97.43, 2 -AUS00006, 9,30NE_AUS ,30.65,-97.29, 2 -AUS00007, 9,40NE_AUS ,30.77,-97.15, 2 -AUS00008, 9,20ENE_AUS ,30.43,-97.34, 2 -AUS00009, 9,30ENE_AUS ,30.49,-97.16, 2 -AUS00010, 9,40ENE_AUS ,30.55,-96.99, 2 -AUS00011, 9,50ENE_AUS ,30.62,-96.81, 2 -AUS00012, 9,60ENE_AUS ,30.68,-96.63, 2 -AUS00013, 9,20E_AUS ,30.30,-97.31, 2 -AUS00014, 9,30E_AUS ,30.30,-97.12, 2 -AUS00015, 9,40E_AUS ,30.30,-96.93, 2 -AUS00016, 9,50E_AUS ,30.30,-96.74, 2 -AUS00017, 9,60E_AUS ,30.29,-96.54, 2 -AUS00018, 9,20ESE_AUS ,30.17,-97.34, 2 -AUS00019, 9,30ESE_AUS ,30.11,-97.17, 2 -AUS00020, 9,40ESE_AUS ,30.04,-96.99, 2 -AUS00021, 9,50ESE_AUS ,29.98,-96.81, 2 -AUS00022, 9,60ESE_AUS ,29.91,-96.63, 2 -AUS00023, 9,20SE_AUS ,30.06,-97.43, 2 -AUS00024, 9,30SE_AUS ,29.95,-97.29, 2 -AUS00025, 9,40SE_AUS ,29.83,-97.16, 2 -AUS00026, 9,50SE_AUS ,29.71,-97.02, 2 -AUS00027, 9,60SE_AUS ,29.59,-96.89, 2 -AUS00028, 9,20SSE_AUS ,29.99,-97.55, 2 -AUS00029, 9,30SSE_AUS ,29.84,-97.48, 2 -AUS00030, 9,40SSE_AUS ,29.68,-97.41, 2 -AUS00031, 9,50SSE_AUS ,29.53,-97.33, 2 -AUS00032, 9,60SSE_AUS ,29.38,-97.26, 2 -AUS00033, 9,20S_AUS ,29.97,-97.70, 2 -AUS00034, 9,30S_AUS ,29.80,-97.70, 2 -AUS00035, 9,40S_AUS ,29.63,-97.70, 2 -AUS00036, 9,20SSW_AUS ,29.99,-97.85, 2 -AUS00037, 9,30SSW_AUS ,29.84,-97.92, 2 -AUS00038, 9,20SW_AUS ,30.06,-97.97, 2 -AUS00039, 9,30SW_AUS ,29.95,-98.11, 2 -AUS00040, 9,20WSW_AUS ,30.17,-98.06, 2 -AUS00041, 9,30WSW_AUS ,30.11,-98.23, 2 -AUS00042, 9,20W_AUS ,30.30,-98.09, 2 -AUS00043, 9,30W_AUS ,30.30,-98.28, 2 -AUS00044, 9,40W_AUS ,30.30,-98.47, 2 -AUS00045, 9,20WNW_AUS ,30.43,-98.06, 2 -AUS00046, 9,30WNW_AUS ,30.49,-98.24, 2 -AUS00047, 9,40WNW_AUS ,30.55,-98.41, 2 -AUS00048, 9,50WNW_AUS ,30.62,-98.59, 2 -AUS00049, 9,20NW_AUS ,30.54,-97.97, 2 -AUS00050, 9,30NW_AUS ,30.65,-98.11, 2 -AUS00051, 9,40NW_AUS ,30.77,-98.25, 2 -AUS00052, 9,50NW_AUS ,30.89,-98.39, 2 -AUS00053, 9,60NW_AUS ,31.00,-98.52, 2 -AUS00054, 9,20NNW_AUS ,30.61,-97.85, 2 -AUS00055, 9,30NNW_AUS ,30.76,-97.92, 2 -AUS00056, 9,40NNW_AUS ,30.92,-98.00, 2 +SLN00025, 9,20SE_SLN ,38.69,-97.32, 2 +SLN00026, 9,30SE_SLN ,38.58,-97.17, 2 +SLN00027, 9,40SE_SLN ,38.46,-97.02, 2 +SLN00028, 9,50SE_SLN ,38.34,-96.87, 2 +SLN00029, 9,20SSE_SLN ,38.62,-97.46, 2 +SLN00030, 9,30SSE_SLN ,38.47,-97.38, 2 +SLN00031, 9,40SSE_SLN ,38.31,-97.30, 2 +SLN00032, 9,20S_SLN ,38.60,-97.62, 2 +SLN00033, 9,30S_SLN ,38.43,-97.62, 2 +SLN00034, 9,40S_SLN ,38.26,-97.62, 2 +SLN00035, 9,20SSW_SLN ,38.62,-97.78, 2 +SLN00036, 9,30SSW_SLN ,38.47,-97.86, 2 +SLN00037, 9,40SSW_SLN ,38.31,-97.94, 2 +SLN00038, 9,20SW_SLN ,38.69,-97.92, 2 +SLN00039, 9,30SW_SLN ,38.58,-98.07, 2 +SLN00040, 9,40SW_SLN ,38.46,-98.22, 2 +SLN00041, 9,50SW_SLN ,38.34,-98.37, 2 +SLN00042, 9,60SW_SLN ,38.22,-98.52, 2 +SLN00043, 9,20WSW_SLN ,38.80,-98.01, 2 +SLN00044, 9,30WSW_SLN ,38.74,-98.21, 2 +SLN00045, 9,40WSW_SLN ,38.67,-98.41, 2 +SLN00046, 9,50WSW_SLN ,38.61,-98.60, 2 +SLN00047, 9,60WSW_SLN ,38.54,-98.80, 2 +SLN00048, 9,70WSW_SLN ,38.48,-99.00, 2 +SLN00049, 9,20W_SLN ,38.93,-98.05, 2 +SLN00050, 9,30W_SLN ,38.93,-98.26, 2 +SLN00051, 9,40W_SLN ,38.93,-98.48, 2 +SLN00052, 9,50W_SLN ,38.93,-98.69, 2 +SLN00053, 9,60W_SLN ,38.92,-98.90, 2 +SLN00054, 9,20WNW_SLN ,39.06,-98.02, 2 +SLN00055, 9,30WNW_SLN ,39.12,-98.22, 2 +SLN00056, 9,40WNW_SLN ,39.18,-98.41, 2 +SLN00057, 9,50WNW_SLN ,39.24,-98.61, 2 +SLN00058, 9,60WNW_SLN ,39.31,-98.81, 2 +SLN00059, 9,20NW_SLN ,39.17,-97.92, 2 +SLN00060, 9,30NW_SLN ,39.28,-98.08, 2 +SLN00061, 9,40NW_SLN ,39.40,-98.23, 2 +SLN00062, 9,50NW_SLN ,39.52,-98.38, 2 +SLN00063, 9,60NW_SLN ,39.63,-98.54, 2 +SLN00064, 9,70NW_SLN ,39.75,-98.69, 2 +SLN00065, 9,20NNW_SLN ,39.24,-97.78, 2 +SLN00066, 9,30NNW_SLN ,39.39,-97.87, 2 +SLN00067, 9,40NNW_SLN ,39.55,-97.95, 2 +SLN00068, 9,50NNW_SLN ,39.70,-98.03, 2 +SLN00069, 9,60NNW_SLN ,39.85,-98.12, 2 +CWK00000, 9,CWK ,30.38,-97.53, 1 +CWK00001, 9,20N_CWK ,30.71,-97.53, 2 +CWK00002, 9,30N_CWK ,30.88,-97.53, 2 +CWK00003, 9,20NNE_CWK ,30.69,-97.38, 2 +CWK00004, 9,30NNE_CWK ,30.84,-97.31, 2 +CWK00005, 9,20NE_CWK ,30.62,-97.26, 2 +CWK00006, 9,30NE_CWK ,30.73,-97.12, 2 +CWK00007, 9,40NE_CWK ,30.85,-96.98, 2 +CWK00008, 9,20ENE_CWK ,30.51,-97.17, 2 +CWK00009, 9,30ENE_CWK ,30.57,-96.99, 2 +CWK00010, 9,40ENE_CWK ,30.63,-96.81, 2 +CWK00011, 9,50ENE_CWK ,30.70,-96.64, 2 +CWK00012, 9,60ENE_CWK ,30.76,-96.46, 2 +CWK00013, 9,20E_CWK ,30.38,-97.14, 2 +CWK00014, 9,30E_CWK ,30.38,-96.95, 2 +CWK00015, 9,40E_CWK ,30.38,-96.76, 2 +CWK00016, 9,50E_CWK ,30.38,-96.56, 2 +CWK00017, 9,60E_CWK ,30.37,-96.37, 2 +CWK00018, 9,20ESE_CWK ,30.25,-97.17, 2 +CWK00019, 9,30ESE_CWK ,30.19,-97.00, 2 +CWK00020, 9,40ESE_CWK ,30.12,-96.82, 2 +CWK00021, 9,50ESE_CWK ,30.06,-96.64, 2 +CWK00022, 9,60ESE_CWK ,29.99,-96.46, 2 +CWK00023, 9,20SE_CWK ,30.14,-97.26, 2 +CWK00024, 9,30SE_CWK ,30.03,-97.12, 2 +CWK00025, 9,40SE_CWK ,29.91,-96.99, 2 +CWK00026, 9,50SE_CWK ,29.79,-96.85, 2 +CWK00027, 9,60SE_CWK ,29.67,-96.72, 2 +CWK00028, 9,20SSE_CWK ,30.07,-97.38, 2 +CWK00029, 9,30SSE_CWK ,29.92,-97.31, 2 +CWK00030, 9,40SSE_CWK ,29.76,-97.24, 2 +CWK00031, 9,50SSE_CWK ,29.61,-97.16, 2 +CWK00032, 9,60SSE_CWK ,29.46,-97.09, 2 +CWK00033, 9,20S_CWK ,30.05,-97.53, 2 +CWK00034, 9,30S_CWK ,29.88,-97.53, 2 +CWK00035, 9,40S_CWK ,29.71,-97.53, 2 +CWK00036, 9,50S_CWK ,29.55,-97.53, 2 +CWK00037, 9,20SSW_CWK ,30.07,-97.68, 2 +CWK00038, 9,30SSW_CWK ,29.92,-97.75, 2 +CWK00039, 9,40SSW_CWK ,29.76,-97.82, 2 +CWK00040, 9,20SW_CWK ,30.14,-97.80, 2 +CWK00041, 9,30SW_CWK ,30.03,-97.94, 2 +CWK00042, 9,20WSW_CWK ,30.25,-97.89, 2 +CWK00043, 9,30WSW_CWK ,30.19,-98.06, 2 +CWK00044, 9,40WSW_CWK ,30.12,-98.24, 2 +CWK00045, 9,20W_CWK ,30.38,-97.92, 2 +CWK00046, 9,30W_CWK ,30.38,-98.11, 2 +CWK00047, 9,40W_CWK ,30.38,-98.30, 2 +CWK00048, 9,50W_CWK ,30.38,-98.50, 2 +CWK00049, 9,20WNW_CWK ,30.51,-97.89, 2 +CWK00050, 9,30WNW_CWK ,30.57,-98.07, 2 +CWK00051, 9,40WNW_CWK ,30.63,-98.25, 2 +CWK00052, 9,50WNW_CWK ,30.70,-98.42, 2 +CWK00053, 9,60WNW_CWK ,30.76,-98.60, 2 +CWK00054, 9,20NW_CWK ,30.62,-97.80, 2 +CWK00055, 9,30NW_CWK ,30.73,-97.94, 2 +CWK00056, 9,40NW_CWK ,30.85,-98.08, 2 +CWK00057, 9,50NW_CWK ,30.97,-98.22, 2 +CWK00058, 9,20NNW_CWK ,30.69,-97.68, 2 +CWK00059, 9,30NNW_CWK ,30.84,-97.75, 2 +CWK00060, 9,40NNW_CWK ,31.00,-97.83, 2 END00000, 9,END ,36.35,-97.92, 1 END00001, 9,20N_END ,36.68,-97.92, 2 END00002, 9,30N_END ,36.85,-97.92, 2 @@ -11434,61 +11500,64 @@ ABR00077, 9,60NNW_ABR ,46.34,-98.92, 2 SAT00000, 9,SAT ,29.64,-98.46, 1 SAT00001, 9,20N_SAT ,29.97,-98.46, 2 SAT00002, 9,30N_SAT ,30.14,-98.46, 2 -SAT00003, 9,20NNE_SAT ,29.95,-98.31, 2 -SAT00004, 9,20NE_SAT ,29.88,-98.19, 2 -SAT00005, 9,20ENE_SAT ,29.77,-98.11, 2 -SAT00006, 9,20E_SAT ,29.64,-98.08, 2 -SAT00007, 9,30E_SAT ,29.64,-97.89, 2 -SAT00008, 9,20ESE_SAT ,29.51,-98.11, 2 -SAT00009, 9,30ESE_SAT ,29.45,-97.93, 2 -SAT00010, 9,40ESE_SAT ,29.38,-97.75, 2 -SAT00011, 9,50ESE_SAT ,29.32,-97.58, 2 -SAT00012, 9,20SE_SAT ,29.40,-98.19, 2 -SAT00013, 9,30SE_SAT ,29.29,-98.05, 2 -SAT00014, 9,40SE_SAT ,29.17,-97.92, 2 -SAT00015, 9,50SE_SAT ,29.05,-97.79, 2 -SAT00016, 9,60SE_SAT ,28.93,-97.65, 2 -SAT00017, 9,20SSE_SAT ,29.33,-98.31, 2 -SAT00018, 9,30SSE_SAT ,29.18,-98.24, 2 -SAT00019, 9,40SSE_SAT ,29.02,-98.17, 2 -SAT00020, 9,50SSE_SAT ,28.87,-98.10, 2 -SAT00021, 9,60SSE_SAT ,28.72,-98.02, 2 -SAT00022, 9,20S_SAT ,29.31,-98.46, 2 -SAT00023, 9,30S_SAT ,29.14,-98.46, 2 -SAT00024, 9,40S_SAT ,28.97,-98.46, 2 -SAT00025, 9,50S_SAT ,28.81,-98.46, 2 -SAT00026, 9,60S_SAT ,28.64,-98.46, 2 -SAT00027, 9,70S_SAT ,28.47,-98.46, 2 -SAT00028, 9,20SSW_SAT ,29.33,-98.61, 2 -SAT00029, 9,30SSW_SAT ,29.18,-98.68, 2 -SAT00030, 9,40SSW_SAT ,29.02,-98.75, 2 -SAT00031, 9,50SSW_SAT ,28.87,-98.82, 2 -SAT00032, 9,60SSW_SAT ,28.72,-98.90, 2 -SAT00033, 9,70SSW_SAT ,28.56,-98.97, 2 -SAT00034, 9,20SW_SAT ,29.40,-98.73, 2 -SAT00035, 9,30SW_SAT ,29.29,-98.87, 2 -SAT00036, 9,40SW_SAT ,29.17,-99.00, 2 -SAT00037, 9,50SW_SAT ,29.05,-99.13, 2 -SAT00038, 9,60SW_SAT ,28.93,-99.27, 2 -SAT00039, 9,70SW_SAT ,28.81,-99.40, 2 -SAT00040, 9,20WSW_SAT ,29.51,-98.81, 2 -SAT00041, 9,30WSW_SAT ,29.45,-98.99, 2 -SAT00042, 9,40WSW_SAT ,29.38,-99.17, 2 -SAT00043, 9,50WSW_SAT ,29.32,-99.34, 2 -SAT00044, 9,60WSW_SAT ,29.25,-99.52, 2 -SAT00045, 9,20W_SAT ,29.64,-98.84, 2 -SAT00046, 9,30W_SAT ,29.64,-99.03, 2 -SAT00047, 9,40W_SAT ,29.64,-99.23, 2 -SAT00048, 9,50W_SAT ,29.64,-99.42, 2 -SAT00049, 9,20WNW_SAT ,29.77,-98.81, 2 -SAT00050, 9,30WNW_SAT ,29.83,-98.99, 2 -SAT00051, 9,40WNW_SAT ,29.89,-99.17, 2 -SAT00052, 9,20NW_SAT ,29.88,-98.73, 2 -SAT00053, 9,30NW_SAT ,29.99,-98.87, 2 -SAT00054, 9,40NW_SAT ,30.11,-99.00, 2 -SAT00055, 9,20NNW_SAT ,29.95,-98.61, 2 -SAT00056, 9,30NNW_SAT ,30.10,-98.68, 2 -SAT00057, 9,40NNW_SAT ,30.26,-98.76, 2 +SAT00003, 9,40N_SAT ,30.31,-98.46, 2 +SAT00004, 9,20NNE_SAT ,29.95,-98.31, 2 +SAT00005, 9,30NNE_SAT ,30.10,-98.24, 2 +SAT00006, 9,20NE_SAT ,29.88,-98.19, 2 +SAT00007, 9,20ENE_SAT ,29.77,-98.11, 2 +SAT00008, 9,20E_SAT ,29.64,-98.08, 2 +SAT00009, 9,30E_SAT ,29.64,-97.89, 2 +SAT00010, 9,20ESE_SAT ,29.51,-98.11, 2 +SAT00011, 9,30ESE_SAT ,29.45,-97.93, 2 +SAT00012, 9,40ESE_SAT ,29.38,-97.75, 2 +SAT00013, 9,50ESE_SAT ,29.32,-97.58, 2 +SAT00014, 9,60ESE_SAT ,29.25,-97.40, 2 +SAT00015, 9,20SE_SAT ,29.40,-98.19, 2 +SAT00016, 9,30SE_SAT ,29.29,-98.05, 2 +SAT00017, 9,40SE_SAT ,29.17,-97.92, 2 +SAT00018, 9,50SE_SAT ,29.05,-97.79, 2 +SAT00019, 9,60SE_SAT ,28.93,-97.65, 2 +SAT00020, 9,20SSE_SAT ,29.33,-98.31, 2 +SAT00021, 9,30SSE_SAT ,29.18,-98.24, 2 +SAT00022, 9,40SSE_SAT ,29.02,-98.17, 2 +SAT00023, 9,50SSE_SAT ,28.87,-98.10, 2 +SAT00024, 9,60SSE_SAT ,28.72,-98.02, 2 +SAT00025, 9,20S_SAT ,29.31,-98.46, 2 +SAT00026, 9,30S_SAT ,29.14,-98.46, 2 +SAT00027, 9,40S_SAT ,28.97,-98.46, 2 +SAT00028, 9,50S_SAT ,28.81,-98.46, 2 +SAT00029, 9,60S_SAT ,28.64,-98.46, 2 +SAT00030, 9,70S_SAT ,28.47,-98.46, 2 +SAT00031, 9,20SSW_SAT ,29.33,-98.61, 2 +SAT00032, 9,30SSW_SAT ,29.18,-98.68, 2 +SAT00033, 9,40SSW_SAT ,29.02,-98.75, 2 +SAT00034, 9,50SSW_SAT ,28.87,-98.82, 2 +SAT00035, 9,60SSW_SAT ,28.72,-98.90, 2 +SAT00036, 9,70SSW_SAT ,28.56,-98.97, 2 +SAT00037, 9,20SW_SAT ,29.40,-98.73, 2 +SAT00038, 9,30SW_SAT ,29.29,-98.87, 2 +SAT00039, 9,40SW_SAT ,29.17,-99.00, 2 +SAT00040, 9,50SW_SAT ,29.05,-99.13, 2 +SAT00041, 9,60SW_SAT ,28.93,-99.27, 2 +SAT00042, 9,70SW_SAT ,28.81,-99.40, 2 +SAT00043, 9,20WSW_SAT ,29.51,-98.81, 2 +SAT00044, 9,30WSW_SAT ,29.45,-98.99, 2 +SAT00045, 9,40WSW_SAT ,29.38,-99.17, 2 +SAT00046, 9,50WSW_SAT ,29.32,-99.34, 2 +SAT00047, 9,60WSW_SAT ,29.25,-99.52, 2 +SAT00048, 9,20W_SAT ,29.64,-98.84, 2 +SAT00049, 9,30W_SAT ,29.64,-99.03, 2 +SAT00050, 9,40W_SAT ,29.64,-99.23, 2 +SAT00051, 9,50W_SAT ,29.64,-99.42, 2 +SAT00052, 9,20WNW_SAT ,29.77,-98.81, 2 +SAT00053, 9,30WNW_SAT ,29.83,-98.99, 2 +SAT00054, 9,40WNW_SAT ,29.89,-99.17, 2 +SAT00055, 9,20NW_SAT ,29.88,-98.73, 2 +SAT00056, 9,30NW_SAT ,29.99,-98.87, 2 +SAT00057, 9,40NW_SAT ,30.11,-99.00, 2 +SAT00058, 9,20NNW_SAT ,29.95,-98.61, 2 +SAT00059, 9,30NNW_SAT ,30.10,-98.68, 2 +SAT00060, 9,40NNW_SAT ,30.26,-98.76, 2 SPS00000, 9,SPS ,33.99,-98.59, 1 SPS00001, 9,20N_SPS ,34.32,-98.59, 2 SPS00002, 9,30N_SPS ,34.49,-98.59, 2 @@ -11770,42 +11839,43 @@ JCT00016, 9,20E_JCT ,30.60,-99.43, 2 JCT00017, 9,30E_JCT ,30.60,-99.24, 2 JCT00018, 9,40E_JCT ,30.60,-99.05, 2 JCT00019, 9,50E_JCT ,30.60,-98.85, 2 -JCT00020, 9,20ESE_JCT ,30.47,-99.46, 2 -JCT00021, 9,30ESE_JCT ,30.41,-99.28, 2 -JCT00022, 9,40ESE_JCT ,30.34,-99.11, 2 -JCT00023, 9,50ESE_JCT ,30.28,-98.93, 2 -JCT00024, 9,20SE_JCT ,30.36,-99.55, 2 -JCT00025, 9,30SE_JCT ,30.25,-99.41, 2 -JCT00026, 9,40SE_JCT ,30.13,-99.28, 2 -JCT00027, 9,50SE_JCT ,30.01,-99.14, 2 -JCT00028, 9,20SSE_JCT ,30.29,-99.67, 2 -JCT00029, 9,30SSE_JCT ,30.14,-99.60, 2 -JCT00030, 9,40SSE_JCT ,29.98,-99.53, 2 -JCT00031, 9,50SSE_JCT ,29.83,-99.45, 2 -JCT00032, 9,20S_JCT ,30.27,-99.82, 2 -JCT00033, 9,30S_JCT ,30.10,-99.82, 2 -JCT00034, 9,40S_JCT ,29.93,-99.82, 2 -JCT00035, 9,50S_JCT ,29.77,-99.82, 2 -JCT00036, 9,60S_JCT ,29.60,-99.82, 2 -JCT00037, 9,20SSW_JCT ,30.29,-99.97, 2 -JCT00038, 9,30SSW_JCT ,30.14,-100.04, 2 -JCT00039, 9,40SSW_JCT ,29.98,-100.11, 2 -JCT00040, 9,50SSW_JCT ,29.83,-100.19, 2 -JCT00041, 9,20SW_JCT ,30.36,-100.09, 2 -JCT00042, 9,30SW_JCT ,30.25,-100.23, 2 -JCT00043, 9,40SW_JCT ,30.13,-100.36, 2 -JCT00044, 9,50SW_JCT ,30.01,-100.50, 2 -JCT00045, 9,20WSW_JCT ,30.47,-100.18, 2 -JCT00046, 9,30WSW_JCT ,30.41,-100.36, 2 -JCT00047, 9,40WSW_JCT ,30.34,-100.53, 2 -JCT00048, 9,50WSW_JCT ,30.28,-100.71, 2 -JCT00049, 9,60WSW_JCT ,30.21,-100.89, 2 -JCT00050, 9,20W_JCT ,30.60,-100.21, 2 -JCT00051, 9,30W_JCT ,30.60,-100.40, 2 -JCT00052, 9,40W_JCT ,30.60,-100.59, 2 -JCT00053, 9,20WNW_JCT ,30.73,-100.18, 2 -JCT00054, 9,20NW_JCT ,30.84,-100.09, 2 -JCT00055, 9,20NNW_JCT ,30.91,-99.97, 2 +JCT00020, 9,60E_JCT ,30.59,-98.66, 2 +JCT00021, 9,20ESE_JCT ,30.47,-99.46, 2 +JCT00022, 9,30ESE_JCT ,30.41,-99.28, 2 +JCT00023, 9,40ESE_JCT ,30.34,-99.11, 2 +JCT00024, 9,50ESE_JCT ,30.28,-98.93, 2 +JCT00025, 9,20SE_JCT ,30.36,-99.55, 2 +JCT00026, 9,30SE_JCT ,30.25,-99.41, 2 +JCT00027, 9,40SE_JCT ,30.13,-99.28, 2 +JCT00028, 9,50SE_JCT ,30.01,-99.14, 2 +JCT00029, 9,20SSE_JCT ,30.29,-99.67, 2 +JCT00030, 9,30SSE_JCT ,30.14,-99.60, 2 +JCT00031, 9,40SSE_JCT ,29.98,-99.53, 2 +JCT00032, 9,50SSE_JCT ,29.83,-99.45, 2 +JCT00033, 9,20S_JCT ,30.27,-99.82, 2 +JCT00034, 9,30S_JCT ,30.10,-99.82, 2 +JCT00035, 9,40S_JCT ,29.93,-99.82, 2 +JCT00036, 9,50S_JCT ,29.77,-99.82, 2 +JCT00037, 9,60S_JCT ,29.60,-99.82, 2 +JCT00038, 9,20SSW_JCT ,30.29,-99.97, 2 +JCT00039, 9,30SSW_JCT ,30.14,-100.04, 2 +JCT00040, 9,40SSW_JCT ,29.98,-100.11, 2 +JCT00041, 9,50SSW_JCT ,29.83,-100.19, 2 +JCT00042, 9,20SW_JCT ,30.36,-100.09, 2 +JCT00043, 9,30SW_JCT ,30.25,-100.23, 2 +JCT00044, 9,40SW_JCT ,30.13,-100.36, 2 +JCT00045, 9,50SW_JCT ,30.01,-100.50, 2 +JCT00046, 9,20WSW_JCT ,30.47,-100.18, 2 +JCT00047, 9,30WSW_JCT ,30.41,-100.36, 2 +JCT00048, 9,40WSW_JCT ,30.34,-100.53, 2 +JCT00049, 9,50WSW_JCT ,30.28,-100.71, 2 +JCT00050, 9,60WSW_JCT ,30.21,-100.89, 2 +JCT00051, 9,20W_JCT ,30.60,-100.21, 2 +JCT00052, 9,30W_JCT ,30.60,-100.40, 2 +JCT00053, 9,40W_JCT ,30.60,-100.59, 2 +JCT00054, 9,20WNW_JCT ,30.73,-100.18, 2 +JCT00055, 9,20NW_JCT ,30.84,-100.09, 2 +JCT00056, 9,20NNW_JCT ,30.91,-99.97, 2 ABI00000, 9,ABI ,32.48,-99.86, 1 ABI00001, 9,20N_ABI ,32.81,-99.86, 2 ABI00002, 9,30N_ABI ,32.98,-99.86, 2 @@ -11877,67 +11947,6 @@ ABI00067, 9,20NNW_ABI ,32.79,-100.01, 2 ABI00068, 9,30NNW_ABI ,32.94,-100.09, 2 ABI00069, 9,40NNW_ABI ,33.10,-100.16, 2 ABI00070, 9,50NNW_ABI ,33.25,-100.24, 2 -GAG00000, 9,GAG ,36.34,-99.88, 1 -GAG00001, 9,20N_GAG ,36.67,-99.88, 2 -GAG00002, 9,30N_GAG ,36.84,-99.88, 2 -GAG00003, 9,40N_GAG ,37.01,-99.88, 2 -GAG00004, 9,20NNE_GAG ,36.65,-99.72, 2 -GAG00005, 9,30NNE_GAG ,36.80,-99.64, 2 -GAG00006, 9,40NNE_GAG ,36.96,-99.56, 2 -GAG00007, 9,50NNE_GAG ,37.11,-99.48, 2 -GAG00008, 9,60NNE_GAG ,37.26,-99.40, 2 -GAG00009, 9,20NE_GAG ,36.58,-99.59, 2 -GAG00010, 9,30NE_GAG ,36.69,-99.44, 2 -GAG00011, 9,40NE_GAG ,36.81,-99.29, 2 -GAG00012, 9,50NE_GAG ,36.93,-99.14, 2 -GAG00013, 9,60NE_GAG ,37.04,-98.99, 2 -GAG00014, 9,20ENE_GAG ,36.47,-99.50, 2 -GAG00015, 9,30ENE_GAG ,36.53,-99.31, 2 -GAG00016, 9,40ENE_GAG ,36.59,-99.11, 2 -GAG00017, 9,50ENE_GAG ,36.65,-98.92, 2 -GAG00018, 9,20E_GAG ,36.34,-99.47, 2 -GAG00019, 9,30E_GAG ,36.34,-99.26, 2 -GAG00020, 9,40E_GAG ,36.34,-99.05, 2 -GAG00021, 9,20ESE_GAG ,36.21,-99.50, 2 -GAG00022, 9,30ESE_GAG ,36.15,-99.31, 2 -GAG00023, 9,40ESE_GAG ,36.08,-99.12, 2 -GAG00024, 9,50ESE_GAG ,36.02,-98.93, 2 -GAG00025, 9,20SE_GAG ,36.10,-99.59, 2 -GAG00026, 9,30SE_GAG ,35.99,-99.44, 2 -GAG00027, 9,40SE_GAG ,35.87,-99.30, 2 -GAG00028, 9,50SE_GAG ,35.75,-99.15, 2 -GAG00029, 9,60SE_GAG ,35.63,-99.01, 2 -GAG00030, 9,20SSE_GAG ,36.03,-99.72, 2 -GAG00031, 9,30SSE_GAG ,35.88,-99.64, 2 -GAG00032, 9,40SSE_GAG ,35.72,-99.57, 2 -GAG00033, 9,50SSE_GAG ,35.57,-99.49, 2 -GAG00034, 9,60SSE_GAG ,35.42,-99.41, 2 -GAG00035, 9,70SSE_GAG ,35.26,-99.33, 2 -GAG00036, 9,20S_GAG ,36.01,-99.88, 2 -GAG00037, 9,30S_GAG ,35.84,-99.88, 2 -GAG00038, 9,40S_GAG ,35.67,-99.88, 2 -GAG00039, 9,50S_GAG ,35.51,-99.88, 2 -GAG00040, 9,60S_GAG ,35.34,-99.88, 2 -GAG00041, 9,20SSW_GAG ,36.03,-100.04, 2 -GAG00042, 9,30SSW_GAG ,35.88,-100.12, 2 -GAG00043, 9,40SSW_GAG ,35.72,-100.19, 2 -GAG00044, 9,50SSW_GAG ,35.57,-100.27, 2 -GAG00045, 9,60SSW_GAG ,35.42,-100.35, 2 -GAG00046, 9,20SW_GAG ,36.10,-100.17, 2 -GAG00047, 9,30SW_GAG ,35.99,-100.32, 2 -GAG00048, 9,40SW_GAG ,35.87,-100.46, 2 -GAG00049, 9,50SW_GAG ,35.75,-100.61, 2 -GAG00050, 9,60SW_GAG ,35.63,-100.75, 2 -GAG00051, 9,20WSW_GAG ,36.21,-100.26, 2 -GAG00052, 9,30WSW_GAG ,36.15,-100.45, 2 -GAG00053, 9,40WSW_GAG ,36.08,-100.64, 2 -GAG00054, 9,50WSW_GAG ,36.02,-100.83, 2 -GAG00055, 9,20W_GAG ,36.34,-100.29, 2 -GAG00056, 9,30W_GAG ,36.34,-100.50, 2 -GAG00057, 9,20WNW_GAG ,36.47,-100.26, 2 -GAG00058, 9,20NW_GAG ,36.58,-100.17, 2 -GAG00059, 9,20NNW_GAG ,36.65,-100.04, 2 -GAG00060, 9,30NNW_GAG ,36.80,-100.12, 2 ANW00000, 9,ANW ,42.57,-99.99, 1 ANW00001, 9,20N_ANW ,42.90,-99.99, 2 ANW00002, 9,30N_ANW ,43.07,-99.99, 2 @@ -12391,19 +12400,20 @@ LBF00039, 9,50WSW_LBF ,40.81,-101.74, 2 LBF00040, 9,20W_LBF ,41.13,-101.16, 2 LBF00041, 9,30W_LBF ,41.13,-101.38, 2 LBF00042, 9,40W_LBF ,41.13,-101.60, 2 -LBF00043, 9,20WNW_LBF ,41.26,-101.13, 2 -LBF00044, 9,30WNW_LBF ,41.32,-101.33, 2 -LBF00045, 9,40WNW_LBF ,41.38,-101.54, 2 -LBF00046, 9,50WNW_LBF ,41.44,-101.75, 2 -LBF00047, 9,20NW_LBF ,41.37,-101.03, 2 -LBF00048, 9,30NW_LBF ,41.48,-101.19, 2 -LBF00049, 9,40NW_LBF ,41.60,-101.35, 2 -LBF00050, 9,50NW_LBF ,41.72,-101.51, 2 -LBF00051, 9,60NW_LBF ,41.83,-101.67, 2 -LBF00052, 9,20NNW_LBF ,41.44,-100.89, 2 -LBF00053, 9,30NNW_LBF ,41.59,-100.98, 2 -LBF00054, 9,40NNW_LBF ,41.74,-101.06, 2 -LBF00055, 9,50NNW_LBF ,41.90,-101.15, 2 +LBF00043, 9,50W_LBF ,41.12,-101.83, 2 +LBF00044, 9,20WNW_LBF ,41.26,-101.13, 2 +LBF00045, 9,30WNW_LBF ,41.32,-101.33, 2 +LBF00046, 9,40WNW_LBF ,41.38,-101.54, 2 +LBF00047, 9,50WNW_LBF ,41.44,-101.75, 2 +LBF00048, 9,20NW_LBF ,41.37,-101.03, 2 +LBF00049, 9,30NW_LBF ,41.48,-101.19, 2 +LBF00050, 9,40NW_LBF ,41.60,-101.35, 2 +LBF00051, 9,50NW_LBF ,41.72,-101.51, 2 +LBF00052, 9,60NW_LBF ,41.83,-101.67, 2 +LBF00053, 9,20NNW_LBF ,41.44,-100.89, 2 +LBF00054, 9,30NNW_LBF ,41.59,-100.98, 2 +LBF00055, 9,40NNW_LBF ,41.74,-101.06, 2 +LBF00056, 9,50NNW_LBF ,41.90,-101.15, 2 GCK00000, 9,GCK ,37.92,-100.73, 1 GCK00001, 9,20N_GCK ,38.25,-100.73, 2 GCK00002, 9,30N_GCK ,38.42,-100.73, 2 @@ -12603,11 +12613,14 @@ LBL00037, 9,50WSW_LBL ,36.72,-101.93, 2 LBL00038, 9,60WSW_LBL ,36.65,-102.12, 2 LBL00039, 9,70WSW_LBL ,36.59,-102.31, 2 LBL00040, 9,20W_LBL ,37.04,-101.39, 2 -LBL00041, 9,20WNW_LBL ,37.17,-101.36, 2 -LBL00042, 9,30WNW_LBL ,37.23,-101.55, 2 -LBL00043, 9,20NW_LBL ,37.28,-101.27, 2 -LBL00044, 9,30NW_LBL ,37.39,-101.41, 2 -LBL00045, 9,20NNW_LBL ,37.35,-101.13, 2 +LBL00041, 9,30W_LBL ,37.04,-101.60, 2 +LBL00042, 9,60W_LBL ,37.03,-102.22, 2 +LBL00043, 9,20WNW_LBL ,37.17,-101.36, 2 +LBL00044, 9,30WNW_LBL ,37.23,-101.55, 2 +LBL00045, 9,40WNW_LBL ,37.29,-101.74, 2 +LBL00046, 9,20NW_LBL ,37.28,-101.27, 2 +LBL00047, 9,30NW_LBL ,37.39,-101.41, 2 +LBL00048, 9,20NNW_LBL ,37.35,-101.13, 2 MOT00000, 9,MOT ,48.26,-101.29, 1 MOT00001, 9,20N_MOT ,48.59,-101.29, 2 MOT00002, 9,30N_MOT ,48.76,-101.29, 2 @@ -12749,7 +12762,7 @@ AMA00045, 9,40W_AMA ,35.29,-102.46, 2 AMA00046, 9,20WNW_AMA ,35.42,-102.02, 2 AMA00047, 9,30WNW_AMA ,35.48,-102.21, 2 AMA00048, 9,40WNW_AMA ,35.54,-102.40, 2 -AMA00049, 9,50WNW_AMA ,35.60,-102.59, 2 +AMA00049, 9,50WNW_AMA ,35.61,-102.59, 2 AMA00050, 9,20NW_AMA ,35.53,-101.93, 2 AMA00051, 9,30NW_AMA ,35.64,-102.07, 2 AMA00052, 9,40NW_AMA ,35.76,-102.22, 2 @@ -13008,33 +13021,34 @@ LAA00024, 9,20SSE_LAA ,37.89,-102.53, 2 LAA00025, 9,30SSE_LAA ,37.74,-102.45, 2 LAA00026, 9,40SSE_LAA ,37.58,-102.37, 2 LAA00027, 9,50SSE_LAA ,37.43,-102.29, 2 -LAA00028, 9,20S_LAA ,37.87,-102.69, 2 -LAA00029, 9,30S_LAA ,37.70,-102.69, 2 -LAA00030, 9,40S_LAA ,37.53,-102.69, 2 -LAA00031, 9,50S_LAA ,37.37,-102.69, 2 -LAA00032, 9,20SSW_LAA ,37.89,-102.85, 2 -LAA00033, 9,30SSW_LAA ,37.74,-102.93, 2 -LAA00034, 9,40SSW_LAA ,37.58,-103.01, 2 -LAA00035, 9,20SW_LAA ,37.96,-102.99, 2 -LAA00036, 9,30SW_LAA ,37.85,-103.14, 2 -LAA00037, 9,40SW_LAA ,37.73,-103.29, 2 -LAA00038, 9,20WSW_LAA ,38.07,-103.08, 2 -LAA00039, 9,30WSW_LAA ,38.01,-103.28, 2 -LAA00040, 9,40WSW_LAA ,37.94,-103.47, 2 -LAA00041, 9,20W_LAA ,38.20,-103.11, 2 -LAA00042, 9,30W_LAA ,38.20,-103.33, 2 -LAA00043, 9,40W_LAA ,38.20,-103.54, 2 -LAA00044, 9,20WNW_LAA ,38.33,-103.08, 2 -LAA00045, 9,30WNW_LAA ,38.39,-103.28, 2 -LAA00046, 9,40WNW_LAA ,38.45,-103.48, 2 -LAA00047, 9,20NW_LAA ,38.44,-102.99, 2 -LAA00048, 9,30NW_LAA ,38.55,-103.14, 2 -LAA00049, 9,40NW_LAA ,38.67,-103.29, 2 -LAA00050, 9,50NW_LAA ,38.79,-103.45, 2 -LAA00051, 9,20NNW_LAA ,38.51,-102.85, 2 -LAA00052, 9,30NNW_LAA ,38.66,-102.93, 2 -LAA00053, 9,40NNW_LAA ,38.82,-103.02, 2 -LAA00054, 9,50NNW_LAA ,38.97,-103.10, 2 +LAA00028, 9,60SSE_LAA ,37.28,-102.21, 2 +LAA00029, 9,20S_LAA ,37.87,-102.69, 2 +LAA00030, 9,30S_LAA ,37.70,-102.69, 2 +LAA00031, 9,40S_LAA ,37.53,-102.69, 2 +LAA00032, 9,50S_LAA ,37.37,-102.69, 2 +LAA00033, 9,20SSW_LAA ,37.89,-102.85, 2 +LAA00034, 9,30SSW_LAA ,37.74,-102.93, 2 +LAA00035, 9,40SSW_LAA ,37.58,-103.01, 2 +LAA00036, 9,20SW_LAA ,37.96,-102.99, 2 +LAA00037, 9,30SW_LAA ,37.85,-103.14, 2 +LAA00038, 9,40SW_LAA ,37.73,-103.29, 2 +LAA00039, 9,20WSW_LAA ,38.07,-103.08, 2 +LAA00040, 9,30WSW_LAA ,38.01,-103.28, 2 +LAA00041, 9,40WSW_LAA ,37.94,-103.47, 2 +LAA00042, 9,20W_LAA ,38.20,-103.11, 2 +LAA00043, 9,30W_LAA ,38.20,-103.33, 2 +LAA00044, 9,40W_LAA ,38.20,-103.54, 2 +LAA00045, 9,20WNW_LAA ,38.33,-103.08, 2 +LAA00046, 9,30WNW_LAA ,38.39,-103.28, 2 +LAA00047, 9,40WNW_LAA ,38.45,-103.48, 2 +LAA00048, 9,20NW_LAA ,38.44,-102.99, 2 +LAA00049, 9,30NW_LAA ,38.55,-103.14, 2 +LAA00050, 9,40NW_LAA ,38.67,-103.29, 2 +LAA00051, 9,50NW_LAA ,38.79,-103.45, 2 +LAA00052, 9,20NNW_LAA ,38.51,-102.85, 2 +LAA00053, 9,30NNW_LAA ,38.66,-102.93, 2 +LAA00054, 9,40NNW_LAA ,38.82,-103.02, 2 +LAA00055, 9,50NNW_LAA ,38.97,-103.10, 2 DIK00000, 9,DIK ,46.86,-102.77, 1 DIK00001, 9,20N_DIK ,47.19,-102.77, 2 DIK00002, 9,30N_DIK ,47.36,-102.77, 2 @@ -13154,26 +13168,38 @@ SNY00004, 9,30NE_SNY ,41.45,-102.51, 2 SNY00005, 9,40NE_SNY ,41.57,-102.35, 2 SNY00006, 9,50NE_SNY ,41.69,-102.19, 2 SNY00007, 9,20ENE_SNY ,41.23,-102.57, 2 -SNY00008, 9,20ESE_SNY ,40.97,-102.57, 2 -SNY00009, 9,50ESE_SNY ,40.78,-101.96, 2 -SNY00010, 9,20SE_SNY ,40.86,-102.67, 2 -SNY00011, 9,30SE_SNY ,40.75,-102.51, 2 -SNY00012, 9,40SE_SNY ,40.63,-102.36, 2 -SNY00013, 9,50SE_SNY ,40.51,-102.21, 2 -SNY00014, 9,60SE_SNY ,40.39,-102.05, 2 -SNY00015, 9,20SSE_SNY ,40.79,-102.81, 2 -SNY00016, 9,30SSE_SNY ,40.64,-102.73, 2 -SNY00017, 9,40SSE_SNY ,40.48,-102.64, 2 -SNY00018, 9,20S_SNY ,40.77,-102.98, 2 -SNY00019, 9,30S_SNY ,40.60,-102.98, 2 -SNY00020, 9,20SSW_SNY ,40.79,-103.15, 2 -SNY00021, 9,30SSW_SNY ,40.64,-103.23, 2 -SNY00022, 9,20SW_SNY ,40.86,-103.29, 2 -SNY00023, 9,30SW_SNY ,40.75,-103.45, 2 -SNY00024, 9,40SW_SNY ,40.63,-103.60, 2 -SNY00025, 9,20WSW_SNY ,40.97,-103.39, 2 -SNY00026, 9,20W_SNY ,41.10,-103.42, 2 -SNY00027, 9,20WNW_SNY ,41.23,-103.39, 2 +SNY00008, 9,30ENE_SNY ,41.29,-102.37, 2 +SNY00009, 9,40ENE_SNY ,41.35,-102.16, 2 +SNY00010, 9,50ENE_SNY ,41.41,-101.95, 2 +SNY00011, 9,20E_SNY ,41.10,-102.54, 2 +SNY00012, 9,30E_SNY ,41.10,-102.32, 2 +SNY00013, 9,40E_SNY ,41.10,-102.10, 2 +SNY00014, 9,50E_SNY ,41.09,-101.87, 2 +SNY00015, 9,20ESE_SNY ,40.97,-102.57, 2 +SNY00016, 9,30ESE_SNY ,40.91,-102.37, 2 +SNY00017, 9,40ESE_SNY ,40.84,-102.17, 2 +SNY00018, 9,50ESE_SNY ,40.78,-101.96, 2 +SNY00019, 9,20SE_SNY ,40.86,-102.67, 2 +SNY00020, 9,30SE_SNY ,40.75,-102.51, 2 +SNY00021, 9,40SE_SNY ,40.63,-102.36, 2 +SNY00022, 9,50SE_SNY ,40.51,-102.21, 2 +SNY00023, 9,60SE_SNY ,40.39,-102.05, 2 +SNY00024, 9,20SSE_SNY ,40.79,-102.81, 2 +SNY00025, 9,30SSE_SNY ,40.64,-102.73, 2 +SNY00026, 9,40SSE_SNY ,40.48,-102.64, 2 +SNY00027, 9,20S_SNY ,40.77,-102.98, 2 +SNY00028, 9,30S_SNY ,40.60,-102.98, 2 +SNY00029, 9,20SSW_SNY ,40.79,-103.15, 2 +SNY00030, 9,30SSW_SNY ,40.64,-103.23, 2 +SNY00031, 9,20SW_SNY ,40.86,-103.29, 2 +SNY00032, 9,30SW_SNY ,40.75,-103.45, 2 +SNY00033, 9,40SW_SNY ,40.63,-103.60, 2 +SNY00034, 9,20WSW_SNY ,40.97,-103.39, 2 +SNY00035, 9,30WSW_SNY ,40.91,-103.59, 2 +SNY00036, 9,40WSW_SNY ,40.84,-103.79, 2 +SNY00037, 9,20W_SNY ,41.10,-103.42, 2 +SNY00038, 9,30W_SNY ,41.10,-103.64, 2 +SNY00039, 9,20WNW_SNY ,41.23,-103.39, 2 FST00000, 9,FST ,30.95,-102.98, 1 FST00001, 9,20N_FST ,31.28,-102.98, 2 FST00002, 9,20NNE_FST ,31.26,-102.83, 2 @@ -13275,41 +13301,39 @@ RAP00047, 9,30SW_RAP ,43.63,-103.50, 2 RAP00048, 9,40SW_RAP ,43.51,-103.66, 2 RAP00049, 9,50SW_RAP ,43.39,-103.82, 2 RAP00050, 9,60SW_RAP ,43.27,-103.98, 2 -RAP00051, 9,70SW_RAP ,43.15,-104.14, 2 -RAP00052, 9,80SW_RAP ,43.03,-104.30, 2 -RAP00053, 9,20WSW_RAP ,43.85,-103.44, 2 -RAP00054, 9,30WSW_RAP ,43.79,-103.65, 2 -RAP00055, 9,40WSW_RAP ,43.72,-103.86, 2 -RAP00056, 9,50WSW_RAP ,43.66,-104.07, 2 -RAP00057, 9,60WSW_RAP ,43.59,-104.28, 2 -RAP00058, 9,70WSW_RAP ,43.52,-104.50, 2 -RAP00059, 9,80WSW_RAP ,43.46,-104.71, 2 -RAP00060, 9,20W_RAP ,43.98,-103.47, 2 -RAP00061, 9,30W_RAP ,43.98,-103.70, 2 -RAP00062, 9,40W_RAP ,43.98,-103.94, 2 -RAP00063, 9,50W_RAP ,43.97,-104.17, 2 -RAP00064, 9,60W_RAP ,43.97,-104.40, 2 -RAP00065, 9,70W_RAP ,43.97,-104.63, 2 -RAP00066, 9,20WNW_RAP ,44.11,-103.44, 2 -RAP00067, 9,30WNW_RAP ,44.17,-103.65, 2 -RAP00068, 9,40WNW_RAP ,44.23,-103.87, 2 -RAP00069, 9,50WNW_RAP ,44.29,-104.08, 2 -RAP00070, 9,60WNW_RAP ,44.36,-104.30, 2 -RAP00071, 9,70WNW_RAP ,44.42,-104.52, 2 -RAP00072, 9,80WNW_RAP ,44.48,-104.74, 2 -RAP00073, 9,20NW_RAP ,44.22,-103.34, 2 -RAP00074, 9,30NW_RAP ,44.33,-103.50, 2 -RAP00075, 9,40NW_RAP ,44.45,-103.67, 2 -RAP00076, 9,50NW_RAP ,44.57,-103.84, 2 -RAP00077, 9,60NW_RAP ,44.68,-104.00, 2 -RAP00078, 9,70NW_RAP ,44.80,-104.17, 2 -RAP00079, 9,80NW_RAP ,44.91,-104.34, 2 -RAP00080, 9,20NNW_RAP ,44.29,-103.19, 2 -RAP00081, 9,30NNW_RAP ,44.44,-103.28, 2 -RAP00082, 9,40NNW_RAP ,44.59,-103.37, 2 -RAP00083, 9,50NNW_RAP ,44.75,-103.46, 2 -RAP00084, 9,60NNW_RAP ,44.90,-103.55, 2 -RAP00085, 9,70NNW_RAP ,45.06,-103.64, 2 +RAP00051, 9,20WSW_RAP ,43.85,-103.44, 2 +RAP00052, 9,30WSW_RAP ,43.79,-103.65, 2 +RAP00053, 9,40WSW_RAP ,43.72,-103.86, 2 +RAP00054, 9,50WSW_RAP ,43.66,-104.07, 2 +RAP00055, 9,60WSW_RAP ,43.59,-104.28, 2 +RAP00056, 9,70WSW_RAP ,43.52,-104.50, 2 +RAP00057, 9,80WSW_RAP ,43.46,-104.71, 2 +RAP00058, 9,20W_RAP ,43.98,-103.47, 2 +RAP00059, 9,30W_RAP ,43.98,-103.70, 2 +RAP00060, 9,40W_RAP ,43.98,-103.94, 2 +RAP00061, 9,50W_RAP ,43.97,-104.17, 2 +RAP00062, 9,60W_RAP ,43.97,-104.40, 2 +RAP00063, 9,70W_RAP ,43.97,-104.63, 2 +RAP00064, 9,20WNW_RAP ,44.11,-103.44, 2 +RAP00065, 9,30WNW_RAP ,44.17,-103.65, 2 +RAP00066, 9,40WNW_RAP ,44.23,-103.87, 2 +RAP00067, 9,50WNW_RAP ,44.29,-104.08, 2 +RAP00068, 9,60WNW_RAP ,44.36,-104.30, 2 +RAP00069, 9,70WNW_RAP ,44.42,-104.52, 2 +RAP00070, 9,80WNW_RAP ,44.48,-104.74, 2 +RAP00071, 9,20NW_RAP ,44.22,-103.34, 2 +RAP00072, 9,30NW_RAP ,44.33,-103.50, 2 +RAP00073, 9,40NW_RAP ,44.45,-103.67, 2 +RAP00074, 9,50NW_RAP ,44.57,-103.84, 2 +RAP00075, 9,60NW_RAP ,44.68,-104.00, 2 +RAP00076, 9,70NW_RAP ,44.80,-104.17, 2 +RAP00077, 9,80NW_RAP ,44.91,-104.34, 2 +RAP00078, 9,20NNW_RAP ,44.29,-103.19, 2 +RAP00079, 9,30NNW_RAP ,44.44,-103.28, 2 +RAP00080, 9,40NNW_RAP ,44.59,-103.37, 2 +RAP00081, 9,50NNW_RAP ,44.75,-103.46, 2 +RAP00082, 9,60NNW_RAP ,44.90,-103.55, 2 +RAP00083, 9,70NNW_RAP ,45.06,-103.64, 2 AKO00000, 9,AKO ,40.16,-103.18, 1 AKO00001, 9,20N_AKO ,40.49,-103.18, 2 AKO00002, 9,20NNE_AKO ,40.47,-103.01, 2 @@ -13448,31 +13472,32 @@ BFF00034, 9,30S_BFF ,41.39,-103.48, 2 BFF00035, 9,20SSW_BFF ,41.58,-103.65, 2 BFF00036, 9,30SSW_BFF ,41.43,-103.74, 2 BFF00037, 9,40SSW_BFF ,41.27,-103.82, 2 -BFF00038, 9,20SW_BFF ,41.65,-103.80, 2 -BFF00039, 9,30SW_BFF ,41.54,-103.95, 2 -BFF00040, 9,40SW_BFF ,41.42,-104.11, 2 -BFF00041, 9,20WSW_BFF ,41.76,-103.89, 2 -BFF00042, 9,30WSW_BFF ,41.70,-104.10, 2 -BFF00043, 9,40WSW_BFF ,41.63,-104.30, 2 -BFF00044, 9,20W_BFF ,41.89,-103.93, 2 -BFF00045, 9,30W_BFF ,41.89,-104.15, 2 -BFF00046, 9,40W_BFF ,41.89,-104.37, 2 -BFF00047, 9,50W_BFF ,41.88,-104.60, 2 -BFF00048, 9,20WNW_BFF ,42.02,-103.89, 2 -BFF00049, 9,30WNW_BFF ,42.08,-104.10, 2 -BFF00050, 9,40WNW_BFF ,42.14,-104.31, 2 -BFF00051, 9,50WNW_BFF ,42.20,-104.52, 2 -BFF00052, 9,60WNW_BFF ,42.27,-104.73, 2 -BFF00053, 9,20NW_BFF ,42.13,-103.80, 2 -BFF00054, 9,30NW_BFF ,42.24,-103.96, 2 -BFF00055, 9,40NW_BFF ,42.36,-104.12, 2 -BFF00056, 9,50NW_BFF ,42.48,-104.28, 2 -BFF00057, 9,60NW_BFF ,42.59,-104.44, 2 -BFF00058, 9,20NNW_BFF ,42.20,-103.65, 2 -BFF00059, 9,30NNW_BFF ,42.35,-103.74, 2 -BFF00060, 9,40NNW_BFF ,42.50,-103.83, 2 -BFF00061, 9,50NNW_BFF ,42.66,-103.91, 2 -BFF00062, 9,60NNW_BFF ,42.81,-104.00, 2 +BFF00038, 9,50SSW_BFF ,41.12,-103.90, 2 +BFF00039, 9,20SW_BFF ,41.65,-103.80, 2 +BFF00040, 9,30SW_BFF ,41.54,-103.95, 2 +BFF00041, 9,40SW_BFF ,41.42,-104.11, 2 +BFF00042, 9,20WSW_BFF ,41.76,-103.89, 2 +BFF00043, 9,30WSW_BFF ,41.70,-104.10, 2 +BFF00044, 9,40WSW_BFF ,41.63,-104.30, 2 +BFF00045, 9,20W_BFF ,41.89,-103.93, 2 +BFF00046, 9,30W_BFF ,41.89,-104.15, 2 +BFF00047, 9,40W_BFF ,41.89,-104.37, 2 +BFF00048, 9,50W_BFF ,41.88,-104.60, 2 +BFF00049, 9,20WNW_BFF ,42.02,-103.89, 2 +BFF00050, 9,30WNW_BFF ,42.08,-104.10, 2 +BFF00051, 9,40WNW_BFF ,42.14,-104.31, 2 +BFF00052, 9,50WNW_BFF ,42.20,-104.52, 2 +BFF00053, 9,60WNW_BFF ,42.27,-104.73, 2 +BFF00054, 9,20NW_BFF ,42.13,-103.80, 2 +BFF00055, 9,30NW_BFF ,42.24,-103.96, 2 +BFF00056, 9,40NW_BFF ,42.36,-104.12, 2 +BFF00057, 9,50NW_BFF ,42.48,-104.28, 2 +BFF00058, 9,60NW_BFF ,42.59,-104.44, 2 +BFF00059, 9,20NNW_BFF ,42.20,-103.65, 2 +BFF00060, 9,30NNW_BFF ,42.35,-103.74, 2 +BFF00061, 9,40NNW_BFF ,42.50,-103.83, 2 +BFF00062, 9,50NNW_BFF ,42.66,-103.91, 2 +BFF00063, 9,60NNW_BFF ,42.81,-104.00, 2 TBE00000, 9,TBE ,37.27,-103.60, 1 TBE00001, 9,20N_TBE ,37.60,-103.60, 2 TBE00002, 9,30N_TBE ,37.77,-103.60, 2 @@ -13480,41 +13505,49 @@ TBE00003, 9,20NNE_TBE ,37.58,-103.44, 2 TBE00004, 9,20NE_TBE ,37.51,-103.30, 2 TBE00005, 9,20ENE_TBE ,37.40,-103.21, 2 TBE00006, 9,30ENE_TBE ,37.46,-103.02, 2 -TBE00007, 9,50ESE_TBE ,36.95,-102.64, 2 -TBE00008, 9,60ESE_TBE ,36.88,-102.45, 2 -TBE00009, 9,50SE_TBE ,36.68,-102.87, 2 -TBE00010, 9,60SE_TBE ,36.56,-102.72, 2 -TBE00011, 9,70SE_TBE ,36.44,-102.58, 2 -TBE00012, 9,80SE_TBE ,36.32,-102.43, 2 -TBE00013, 9,20SSE_TBE ,36.96,-103.44, 2 -TBE00014, 9,30SSE_TBE ,36.81,-103.36, 2 -TBE00015, 9,40SSE_TBE ,36.65,-103.28, 2 -TBE00016, 9,50SSE_TBE ,36.50,-103.20, 2 -TBE00017, 9,60SSE_TBE ,36.35,-103.13, 2 -TBE00018, 9,70SSE_TBE ,36.19,-103.05, 2 -TBE00019, 9,20S_TBE ,36.94,-103.60, 2 -TBE00020, 9,30S_TBE ,36.77,-103.60, 2 -TBE00021, 9,40S_TBE ,36.60,-103.60, 2 -TBE00022, 9,50S_TBE ,36.44,-103.60, 2 -TBE00023, 9,60S_TBE ,36.27,-103.60, 2 -TBE00024, 9,20SSW_TBE ,36.96,-103.76, 2 -TBE00025, 9,30SSW_TBE ,36.81,-103.84, 2 -TBE00026, 9,40SSW_TBE ,36.65,-103.92, 2 -TBE00027, 9,50SSW_TBE ,36.50,-104.00, 2 -TBE00028, 9,20SW_TBE ,37.03,-103.90, 2 -TBE00029, 9,30SW_TBE ,36.92,-104.04, 2 -TBE00030, 9,40SW_TBE ,36.80,-104.19, 2 -TBE00031, 9,20WSW_TBE ,37.14,-103.99, 2 -TBE00032, 9,30WSW_TBE ,37.08,-104.18, 2 -TBE00033, 9,40WSW_TBE ,37.01,-104.37, 2 -TBE00034, 9,20W_TBE ,37.27,-104.02, 2 -TBE00035, 9,30W_TBE ,37.27,-104.23, 2 -TBE00036, 9,40W_TBE ,37.27,-104.44, 2 -TBE00037, 9,50W_TBE ,37.27,-104.65, 2 -TBE00038, 9,20WNW_TBE ,37.40,-103.99, 2 -TBE00039, 9,30WNW_TBE ,37.46,-104.18, 2 -TBE00040, 9,20NW_TBE ,37.51,-103.90, 2 -TBE00041, 9,20NNW_TBE ,37.58,-103.76, 2 +TBE00007, 9,20E_TBE ,37.27,-103.18, 2 +TBE00008, 9,30E_TBE ,37.27,-102.97, 2 +TBE00009, 9,40E_TBE ,37.27,-102.76, 2 +TBE00010, 9,20ESE_TBE ,37.14,-103.21, 2 +TBE00011, 9,40ESE_TBE ,37.01,-102.83, 2 +TBE00012, 9,50ESE_TBE ,36.95,-102.64, 2 +TBE00013, 9,60ESE_TBE ,36.88,-102.45, 2 +TBE00014, 9,20SE_TBE ,37.03,-103.30, 2 +TBE00015, 9,30SE_TBE ,36.92,-103.16, 2 +TBE00016, 9,40SE_TBE ,36.80,-103.01, 2 +TBE00017, 9,50SE_TBE ,36.68,-102.87, 2 +TBE00018, 9,60SE_TBE ,36.56,-102.72, 2 +TBE00019, 9,70SE_TBE ,36.44,-102.58, 2 +TBE00020, 9,80SE_TBE ,36.32,-102.43, 2 +TBE00021, 9,20SSE_TBE ,36.96,-103.44, 2 +TBE00022, 9,30SSE_TBE ,36.81,-103.36, 2 +TBE00023, 9,40SSE_TBE ,36.65,-103.28, 2 +TBE00024, 9,50SSE_TBE ,36.50,-103.20, 2 +TBE00025, 9,60SSE_TBE ,36.35,-103.13, 2 +TBE00026, 9,70SSE_TBE ,36.19,-103.05, 2 +TBE00027, 9,20S_TBE ,36.94,-103.60, 2 +TBE00028, 9,30S_TBE ,36.77,-103.60, 2 +TBE00029, 9,40S_TBE ,36.60,-103.60, 2 +TBE00030, 9,50S_TBE ,36.44,-103.60, 2 +TBE00031, 9,60S_TBE ,36.27,-103.60, 2 +TBE00032, 9,20SSW_TBE ,36.96,-103.76, 2 +TBE00033, 9,30SSW_TBE ,36.81,-103.84, 2 +TBE00034, 9,40SSW_TBE ,36.65,-103.92, 2 +TBE00035, 9,50SSW_TBE ,36.50,-104.00, 2 +TBE00036, 9,20SW_TBE ,37.03,-103.90, 2 +TBE00037, 9,30SW_TBE ,36.92,-104.04, 2 +TBE00038, 9,40SW_TBE ,36.80,-104.19, 2 +TBE00039, 9,20WSW_TBE ,37.14,-103.99, 2 +TBE00040, 9,30WSW_TBE ,37.08,-104.18, 2 +TBE00041, 9,40WSW_TBE ,37.01,-104.37, 2 +TBE00042, 9,20W_TBE ,37.27,-104.02, 2 +TBE00043, 9,30W_TBE ,37.27,-104.23, 2 +TBE00044, 9,40W_TBE ,37.27,-104.44, 2 +TBE00045, 9,50W_TBE ,37.27,-104.65, 2 +TBE00046, 9,20WNW_TBE ,37.40,-103.99, 2 +TBE00047, 9,30WNW_TBE ,37.46,-104.18, 2 +TBE00048, 9,20NW_TBE ,37.51,-103.90, 2 +TBE00049, 9,20NNW_TBE ,37.58,-103.76, 2 TCC00000, 9,TCC ,35.18,-103.60, 1 TCC00001, 9,20N_TCC ,35.51,-103.60, 2 TCC00002, 9,30N_TCC ,35.68,-103.60, 2 @@ -13574,82 +13607,86 @@ ISN00000, 9,ISN ,48.18,-103.63, 1 ISN00001, 9,20N_ISN ,48.51,-103.63, 2 ISN00002, 9,30N_ISN ,48.68,-103.63, 2 ISN00003, 9,40N_ISN ,48.85,-103.63, 2 -ISN00004, 9,60N_ISN ,49.18,-103.63, 2 -ISN00005, 9,70N_ISN ,49.35,-103.63, 2 -ISN00006, 9,80N_ISN ,49.51,-103.63, 2 -ISN00007, 9,20NNE_ISN ,48.49,-103.44, 2 -ISN00008, 9,30NNE_ISN ,48.64,-103.34, 2 -ISN00009, 9,40NNE_ISN ,48.79,-103.24, 2 -ISN00010, 9,50NNE_ISN ,48.95,-103.14, 2 -ISN00011, 9,60NNE_ISN ,49.10,-103.05, 2 -ISN00012, 9,70NNE_ISN ,49.26,-102.95, 2 -ISN00013, 9,80NNE_ISN ,49.41,-102.85, 2 -ISN00014, 9,20NE_ISN ,48.41,-103.28, 2 -ISN00015, 9,30NE_ISN ,48.53,-103.10, 2 -ISN00016, 9,40NE_ISN ,48.65,-102.92, 2 -ISN00017, 9,50NE_ISN ,48.77,-102.74, 2 -ISN00018, 9,60NE_ISN ,48.88,-102.56, 2 -ISN00019, 9,20ENE_ISN ,48.31,-103.17, 2 -ISN00020, 9,30ENE_ISN ,48.37,-102.94, 2 -ISN00021, 9,40ENE_ISN ,48.43,-102.70, 2 -ISN00022, 9,20E_ISN ,48.18,-103.13, 2 -ISN00023, 9,30E_ISN ,48.18,-102.88, 2 -ISN00024, 9,40E_ISN ,48.18,-102.63, 2 -ISN00025, 9,20ESE_ISN ,48.05,-103.17, 2 -ISN00026, 9,30ESE_ISN ,47.99,-102.94, 2 -ISN00027, 9,40ESE_ISN ,47.92,-102.71, 2 -ISN00028, 9,50ESE_ISN ,47.86,-102.48, 2 -ISN00029, 9,20SE_ISN ,47.94,-103.28, 2 -ISN00030, 9,30SE_ISN ,47.83,-103.10, 2 -ISN00031, 9,40SE_ISN ,47.71,-102.93, 2 -ISN00032, 9,50SE_ISN ,47.59,-102.76, 2 -ISN00033, 9,20SSE_ISN ,47.87,-103.44, 2 -ISN00034, 9,30SSE_ISN ,47.72,-103.35, 2 -ISN00035, 9,40SSE_ISN ,47.56,-103.25, 2 -ISN00036, 9,50SSE_ISN ,47.41,-103.16, 2 -ISN00037, 9,20S_ISN ,47.85,-103.63, 2 -ISN00038, 9,30S_ISN ,47.68,-103.63, 2 -ISN00039, 9,40S_ISN ,47.51,-103.63, 2 -ISN00040, 9,50S_ISN ,47.35,-103.63, 2 -ISN00041, 9,20SSW_ISN ,47.87,-103.82, 2 -ISN00042, 9,30SSW_ISN ,47.72,-103.91, 2 -ISN00043, 9,40SSW_ISN ,47.56,-104.01, 2 -ISN00044, 9,50SSW_ISN ,47.41,-104.10, 2 -ISN00045, 9,60SSW_ISN ,47.26,-104.19, 2 -ISN00046, 9,70SSW_ISN ,47.10,-104.29, 2 -ISN00047, 9,20SW_ISN ,47.94,-103.98, 2 -ISN00048, 9,30SW_ISN ,47.83,-104.16, 2 -ISN00049, 9,40SW_ISN ,47.71,-104.33, 2 -ISN00050, 9,50SW_ISN ,47.59,-104.50, 2 -ISN00051, 9,60SW_ISN ,47.47,-104.68, 2 -ISN00052, 9,70SW_ISN ,47.35,-104.85, 2 -ISN00053, 9,80SW_ISN ,47.23,-105.02, 2 -ISN00054, 9,20WSW_ISN ,48.05,-104.09, 2 -ISN00055, 9,30WSW_ISN ,47.99,-104.32, 2 -ISN00056, 9,40WSW_ISN ,47.92,-104.55, 2 -ISN00057, 9,50WSW_ISN ,47.86,-104.78, 2 -ISN00058, 9,60WSW_ISN ,47.79,-105.00, 2 -ISN00059, 9,20W_ISN ,48.18,-104.13, 2 -ISN00060, 9,30W_ISN ,48.18,-104.38, 2 -ISN00061, 9,40W_ISN ,48.18,-104.63, 2 -ISN00062, 9,50W_ISN ,48.17,-104.88, 2 -ISN00063, 9,60W_ISN ,48.17,-105.13, 2 -ISN00064, 9,20WNW_ISN ,48.31,-104.09, 2 -ISN00065, 9,30WNW_ISN ,48.37,-104.32, 2 -ISN00066, 9,40WNW_ISN ,48.43,-104.56, 2 -ISN00067, 9,50WNW_ISN ,48.49,-104.79, 2 -ISN00068, 9,60WNW_ISN ,48.55,-105.02, 2 -ISN00069, 9,20NW_ISN ,48.41,-103.98, 2 -ISN00070, 9,30NW_ISN ,48.53,-104.16, 2 -ISN00071, 9,40NW_ISN ,48.65,-104.34, 2 -ISN00072, 9,60NW_ISN ,48.88,-104.70, 2 -ISN00073, 9,70NW_ISN ,49.00,-104.89, 2 -ISN00074, 9,80NW_ISN ,49.11,-105.07, 2 -ISN00075, 9,20NNW_ISN ,48.49,-103.82, 2 -ISN00076, 9,30NNW_ISN ,48.64,-103.92, 2 -ISN00077, 9,80NNW_ISN ,49.41,-104.41, 2 -ISN00078, 9,90NNW_ISN ,49.56,-104.51, 2 -ISN00079, 9,100NNW_ISN ,49.71,-104.62, 2 +ISN00004, 9,50N_ISN ,49.01,-103.63, 2 +ISN00005, 9,60N_ISN ,49.18,-103.63, 2 +ISN00006, 9,70N_ISN ,49.35,-103.63, 2 +ISN00007, 9,80N_ISN ,49.51,-103.63, 2 +ISN00008, 9,20NNE_ISN ,48.49,-103.44, 2 +ISN00009, 9,30NNE_ISN ,48.64,-103.34, 2 +ISN00010, 9,40NNE_ISN ,48.79,-103.24, 2 +ISN00011, 9,50NNE_ISN ,48.95,-103.14, 2 +ISN00012, 9,60NNE_ISN ,49.10,-103.05, 2 +ISN00013, 9,70NNE_ISN ,49.26,-102.95, 2 +ISN00014, 9,80NNE_ISN ,49.41,-102.85, 2 +ISN00015, 9,20NE_ISN ,48.41,-103.28, 2 +ISN00016, 9,30NE_ISN ,48.53,-103.10, 2 +ISN00017, 9,40NE_ISN ,48.65,-102.92, 2 +ISN00018, 9,50NE_ISN ,48.77,-102.74, 2 +ISN00019, 9,60NE_ISN ,48.88,-102.56, 2 +ISN00020, 9,20ENE_ISN ,48.31,-103.17, 2 +ISN00021, 9,30ENE_ISN ,48.37,-102.94, 2 +ISN00022, 9,40ENE_ISN ,48.43,-102.70, 2 +ISN00023, 9,20E_ISN ,48.18,-103.13, 2 +ISN00024, 9,30E_ISN ,48.18,-102.88, 2 +ISN00025, 9,40E_ISN ,48.18,-102.63, 2 +ISN00026, 9,20ESE_ISN ,48.05,-103.17, 2 +ISN00027, 9,30ESE_ISN ,47.99,-102.94, 2 +ISN00028, 9,40ESE_ISN ,47.92,-102.71, 2 +ISN00029, 9,50ESE_ISN ,47.86,-102.48, 2 +ISN00030, 9,20SE_ISN ,47.94,-103.28, 2 +ISN00031, 9,30SE_ISN ,47.83,-103.10, 2 +ISN00032, 9,40SE_ISN ,47.71,-102.93, 2 +ISN00033, 9,50SE_ISN ,47.59,-102.76, 2 +ISN00034, 9,20SSE_ISN ,47.87,-103.44, 2 +ISN00035, 9,30SSE_ISN ,47.72,-103.35, 2 +ISN00036, 9,40SSE_ISN ,47.56,-103.25, 2 +ISN00037, 9,50SSE_ISN ,47.41,-103.16, 2 +ISN00038, 9,20S_ISN ,47.85,-103.63, 2 +ISN00039, 9,30S_ISN ,47.68,-103.63, 2 +ISN00040, 9,40S_ISN ,47.51,-103.63, 2 +ISN00041, 9,50S_ISN ,47.35,-103.63, 2 +ISN00042, 9,20SSW_ISN ,47.87,-103.82, 2 +ISN00043, 9,30SSW_ISN ,47.72,-103.91, 2 +ISN00044, 9,40SSW_ISN ,47.56,-104.01, 2 +ISN00045, 9,50SSW_ISN ,47.41,-104.10, 2 +ISN00046, 9,60SSW_ISN ,47.26,-104.19, 2 +ISN00047, 9,70SSW_ISN ,47.10,-104.29, 2 +ISN00048, 9,20SW_ISN ,47.94,-103.98, 2 +ISN00049, 9,30SW_ISN ,47.83,-104.16, 2 +ISN00050, 9,40SW_ISN ,47.71,-104.33, 2 +ISN00051, 9,50SW_ISN ,47.59,-104.50, 2 +ISN00052, 9,60SW_ISN ,47.47,-104.68, 2 +ISN00053, 9,70SW_ISN ,47.35,-104.85, 2 +ISN00054, 9,80SW_ISN ,47.23,-105.02, 2 +ISN00055, 9,20WSW_ISN ,48.05,-104.09, 2 +ISN00056, 9,30WSW_ISN ,47.99,-104.32, 2 +ISN00057, 9,40WSW_ISN ,47.92,-104.55, 2 +ISN00058, 9,50WSW_ISN ,47.86,-104.78, 2 +ISN00059, 9,60WSW_ISN ,47.79,-105.00, 2 +ISN00060, 9,20W_ISN ,48.18,-104.13, 2 +ISN00061, 9,30W_ISN ,48.18,-104.38, 2 +ISN00062, 9,40W_ISN ,48.18,-104.63, 2 +ISN00063, 9,50W_ISN ,48.17,-104.88, 2 +ISN00064, 9,60W_ISN ,48.17,-105.13, 2 +ISN00065, 9,20WNW_ISN ,48.31,-104.09, 2 +ISN00066, 9,30WNW_ISN ,48.37,-104.32, 2 +ISN00067, 9,40WNW_ISN ,48.43,-104.56, 2 +ISN00068, 9,50WNW_ISN ,48.49,-104.79, 2 +ISN00069, 9,60WNW_ISN ,48.55,-105.02, 2 +ISN00070, 9,20NW_ISN ,48.41,-103.98, 2 +ISN00071, 9,30NW_ISN ,48.53,-104.16, 2 +ISN00072, 9,40NW_ISN ,48.65,-104.34, 2 +ISN00073, 9,50NW_ISN ,48.77,-104.52, 2 +ISN00074, 9,60NW_ISN ,48.88,-104.70, 2 +ISN00075, 9,70NW_ISN ,49.00,-104.89, 2 +ISN00076, 9,80NW_ISN ,49.11,-105.07, 2 +ISN00077, 9,20NNW_ISN ,48.49,-103.82, 2 +ISN00078, 9,30NNW_ISN ,48.64,-103.92, 2 +ISN00079, 9,40NNW_ISN ,48.79,-104.02, 2 +ISN00080, 9,70NNW_ISN ,49.26,-104.31, 2 +ISN00081, 9,80NNW_ISN ,49.41,-104.41, 2 +ISN00082, 9,90NNW_ISN ,49.56,-104.51, 2 +ISN00083, 9,100NNW_ISN ,49.71,-104.62, 2 MRF00000, 9,MRF ,30.30,-103.95, 1 MRF00001, 9,20N_MRF ,30.63,-103.95, 2 MRF00002, 9,30N_MRF ,30.80,-103.95, 2 @@ -13691,105 +13728,107 @@ MRF00037, 9,40S_MRF ,29.63,-103.95, 2 MRF00038, 9,50S_MRF ,29.47,-103.95, 2 MRF00039, 9,60S_MRF ,29.30,-103.95, 2 MRF00040, 9,70S_MRF ,29.13,-103.95, 2 -MRF00041, 9,120S_MRF ,28.30,-103.95, 2 -MRF00042, 9,130S_MRF ,28.13,-103.95, 2 -MRF00043, 9,140S_MRF ,27.97,-103.95, 2 -MRF00044, 9,150S_MRF ,27.80,-103.95, 2 -MRF00045, 9,160S_MRF ,27.64,-103.95, 2 -MRF00046, 9,170S_MRF ,27.47,-103.95, 2 -MRF00047, 9,180S_MRF ,27.30,-103.95, 2 -MRF00048, 9,190S_MRF ,27.14,-103.95, 2 -MRF00049, 9,200S_MRF ,26.97,-103.95, 2 -MRF00050, 9,210S_MRF ,26.80,-103.95, 2 -MRF00051, 9,220S_MRF ,26.64,-103.95, 2 -MRF00052, 9,230S_MRF ,26.47,-103.95, 2 -MRF00053, 9,240S_MRF ,26.30,-103.95, 2 -MRF00054, 9,250S_MRF ,26.14,-103.95, 2 -MRF00055, 9,20SSW_MRF ,29.99,-104.10, 2 -MRF00056, 9,30SSW_MRF ,29.84,-104.17, 2 -MRF00057, 9,40SSW_MRF ,29.68,-104.24, 2 -MRF00058, 9,50SSW_MRF ,29.53,-104.32, 2 -MRF00059, 9,60SSW_MRF ,29.38,-104.39, 2 -MRF00060, 9,70SSW_MRF ,29.22,-104.46, 2 -MRF00061, 9,80SSW_MRF ,29.07,-104.53, 2 -MRF00062, 9,90SSW_MRF ,28.91,-104.61, 2 -MRF00063, 9,100SSW_MRF ,28.76,-104.68, 2 -MRF00064, 9,110SSW_MRF ,28.60,-104.75, 2 -MRF00065, 9,120SSW_MRF ,28.45,-104.82, 2 -MRF00066, 9,130SSW_MRF ,28.30,-104.89, 2 -MRF00067, 9,140SSW_MRF ,28.14,-104.96, 2 -MRF00068, 9,150SSW_MRF ,27.99,-105.03, 2 -MRF00069, 9,160SSW_MRF ,27.83,-105.10, 2 -MRF00070, 9,170SSW_MRF ,27.68,-105.17, 2 -MRF00071, 9,180SSW_MRF ,27.52,-105.24, 2 -MRF00072, 9,190SSW_MRF ,27.37,-105.31, 2 -MRF00073, 9,200SSW_MRF ,27.21,-105.38, 2 -MRF00074, 9,210SSW_MRF ,27.06,-105.45, 2 -MRF00075, 9,220SSW_MRF ,26.91,-105.52, 2 -MRF00076, 9,230SSW_MRF ,26.75,-105.59, 2 -MRF00077, 9,240SSW_MRF ,26.60,-105.66, 2 -MRF00078, 9,20SW_MRF ,30.06,-104.22, 2 -MRF00079, 9,30SW_MRF ,29.95,-104.36, 2 -MRF00080, 9,40SW_MRF ,29.83,-104.49, 2 -MRF00081, 9,50SW_MRF ,29.71,-104.63, 2 -MRF00082, 9,60SW_MRF ,29.59,-104.76, 2 -MRF00083, 9,70SW_MRF ,29.47,-104.90, 2 -MRF00084, 9,80SW_MRF ,29.35,-105.03, 2 -MRF00085, 9,90SW_MRF ,29.23,-105.16, 2 -MRF00086, 9,100SW_MRF ,29.12,-105.30, 2 -MRF00087, 9,110SW_MRF ,29.00,-105.43, 2 -MRF00088, 9,120SW_MRF ,28.88,-105.56, 2 -MRF00089, 9,130SW_MRF ,28.76,-105.70, 2 -MRF00090, 9,140SW_MRF ,28.64,-105.83, 2 -MRF00091, 9,150SW_MRF ,28.52,-105.96, 2 -MRF00092, 9,160SW_MRF ,28.40,-106.09, 2 -MRF00093, 9,170SW_MRF ,28.28,-106.22, 2 -MRF00094, 9,180SW_MRF ,28.16,-106.35, 2 -MRF00095, 9,190SW_MRF ,28.04,-106.48, 2 -MRF00096, 9,200SW_MRF ,27.92,-106.62, 2 -MRF00097, 9,210SW_MRF ,27.80,-106.75, 2 -MRF00098, 9,220SW_MRF ,27.68,-106.87, 2 -MRF00099, 9,230SW_MRF ,27.56,-107.00, 2 -MRF00100, 9,240SW_MRF ,27.44,-107.13, 2 -MRF00101, 9,250SW_MRF ,27.31,-107.26, 2 -MRF00102, 9,20WSW_MRF ,30.17,-104.31, 2 -MRF00103, 9,30WSW_MRF ,30.11,-104.48, 2 -MRF00104, 9,40WSW_MRF ,30.04,-104.66, 2 -MRF00105, 9,50WSW_MRF ,29.98,-104.84, 2 -MRF00106, 9,60WSW_MRF ,29.91,-105.02, 2 -MRF00107, 9,70WSW_MRF ,29.85,-105.19, 2 -MRF00108, 9,80WSW_MRF ,29.78,-105.37, 2 -MRF00109, 9,90WSW_MRF ,29.72,-105.54, 2 -MRF00110, 9,100WSW_MRF ,29.65,-105.72, 2 -MRF00111, 9,110WSW_MRF ,29.58,-105.90, 2 -MRF00112, 9,120WSW_MRF ,29.52,-106.07, 2 -MRF00113, 9,130WSW_MRF ,29.45,-106.25, 2 -MRF00114, 9,140WSW_MRF ,29.38,-106.42, 2 -MRF00115, 9,20W_MRF ,30.30,-104.34, 2 -MRF00116, 9,30W_MRF ,30.30,-104.53, 2 -MRF00117, 9,40W_MRF ,30.30,-104.72, 2 -MRF00118, 9,50W_MRF ,30.30,-104.91, 2 -MRF00119, 9,60W_MRF ,30.29,-105.11, 2 -MRF00120, 9,70W_MRF ,30.29,-105.30, 2 -MRF00121, 9,80W_MRF ,30.29,-105.49, 2 -MRF00122, 9,90W_MRF ,30.29,-105.69, 2 -MRF00123, 9,20WNW_MRF ,30.43,-104.31, 2 -MRF00124, 9,30WNW_MRF ,30.49,-104.49, 2 -MRF00125, 9,40WNW_MRF ,30.55,-104.66, 2 -MRF00126, 9,50WNW_MRF ,30.62,-104.84, 2 -MRF00127, 9,60WNW_MRF ,30.68,-105.02, 2 -MRF00128, 9,70WNW_MRF ,30.74,-105.20, 2 -MRF00129, 9,20NW_MRF ,30.54,-104.22, 2 -MRF00130, 9,30NW_MRF ,30.65,-104.36, 2 -MRF00131, 9,40NW_MRF ,30.77,-104.50, 2 -MRF00132, 9,50NW_MRF ,30.89,-104.64, 2 -MRF00133, 9,60NW_MRF ,31.00,-104.77, 2 -MRF00134, 9,70NW_MRF ,31.12,-104.91, 2 -MRF00135, 9,20NNW_MRF ,30.61,-104.10, 2 -MRF00136, 9,30NNW_MRF ,30.76,-104.17, 2 -MRF00137, 9,40NNW_MRF ,30.92,-104.25, 2 -MRF00138, 9,50NNW_MRF ,31.07,-104.32, 2 -MRF00139, 9,60NNW_MRF ,31.22,-104.40, 2 +MRF00041, 9,80S_MRF ,28.97,-103.95, 2 +MRF00042, 9,110S_MRF ,28.47,-103.95, 2 +MRF00043, 9,120S_MRF ,28.30,-103.95, 2 +MRF00044, 9,130S_MRF ,28.13,-103.95, 2 +MRF00045, 9,140S_MRF ,27.97,-103.95, 2 +MRF00046, 9,150S_MRF ,27.80,-103.95, 2 +MRF00047, 9,160S_MRF ,27.64,-103.95, 2 +MRF00048, 9,170S_MRF ,27.47,-103.95, 2 +MRF00049, 9,180S_MRF ,27.30,-103.95, 2 +MRF00050, 9,190S_MRF ,27.14,-103.95, 2 +MRF00051, 9,200S_MRF ,26.97,-103.95, 2 +MRF00052, 9,210S_MRF ,26.80,-103.95, 2 +MRF00053, 9,220S_MRF ,26.64,-103.95, 2 +MRF00054, 9,230S_MRF ,26.47,-103.95, 2 +MRF00055, 9,240S_MRF ,26.30,-103.95, 2 +MRF00056, 9,250S_MRF ,26.14,-103.95, 2 +MRF00057, 9,20SSW_MRF ,29.99,-104.10, 2 +MRF00058, 9,30SSW_MRF ,29.84,-104.17, 2 +MRF00059, 9,40SSW_MRF ,29.68,-104.24, 2 +MRF00060, 9,50SSW_MRF ,29.53,-104.32, 2 +MRF00061, 9,60SSW_MRF ,29.38,-104.39, 2 +MRF00062, 9,70SSW_MRF ,29.22,-104.46, 2 +MRF00063, 9,80SSW_MRF ,29.07,-104.53, 2 +MRF00064, 9,90SSW_MRF ,28.91,-104.61, 2 +MRF00065, 9,100SSW_MRF ,28.76,-104.68, 2 +MRF00066, 9,110SSW_MRF ,28.60,-104.75, 2 +MRF00067, 9,120SSW_MRF ,28.45,-104.82, 2 +MRF00068, 9,130SSW_MRF ,28.30,-104.89, 2 +MRF00069, 9,140SSW_MRF ,28.14,-104.96, 2 +MRF00070, 9,150SSW_MRF ,27.99,-105.03, 2 +MRF00071, 9,160SSW_MRF ,27.83,-105.10, 2 +MRF00072, 9,170SSW_MRF ,27.68,-105.17, 2 +MRF00073, 9,180SSW_MRF ,27.52,-105.24, 2 +MRF00074, 9,190SSW_MRF ,27.37,-105.31, 2 +MRF00075, 9,200SSW_MRF ,27.21,-105.38, 2 +MRF00076, 9,210SSW_MRF ,27.06,-105.45, 2 +MRF00077, 9,220SSW_MRF ,26.91,-105.52, 2 +MRF00078, 9,230SSW_MRF ,26.75,-105.59, 2 +MRF00079, 9,240SSW_MRF ,26.60,-105.66, 2 +MRF00080, 9,20SW_MRF ,30.06,-104.22, 2 +MRF00081, 9,30SW_MRF ,29.95,-104.36, 2 +MRF00082, 9,40SW_MRF ,29.83,-104.49, 2 +MRF00083, 9,50SW_MRF ,29.71,-104.63, 2 +MRF00084, 9,60SW_MRF ,29.59,-104.76, 2 +MRF00085, 9,70SW_MRF ,29.47,-104.90, 2 +MRF00086, 9,80SW_MRF ,29.35,-105.03, 2 +MRF00087, 9,90SW_MRF ,29.23,-105.16, 2 +MRF00088, 9,100SW_MRF ,29.12,-105.30, 2 +MRF00089, 9,110SW_MRF ,29.00,-105.43, 2 +MRF00090, 9,120SW_MRF ,28.88,-105.56, 2 +MRF00091, 9,130SW_MRF ,28.76,-105.70, 2 +MRF00092, 9,140SW_MRF ,28.64,-105.83, 2 +MRF00093, 9,150SW_MRF ,28.52,-105.96, 2 +MRF00094, 9,160SW_MRF ,28.40,-106.09, 2 +MRF00095, 9,170SW_MRF ,28.28,-106.22, 2 +MRF00096, 9,180SW_MRF ,28.16,-106.35, 2 +MRF00097, 9,190SW_MRF ,28.04,-106.48, 2 +MRF00098, 9,200SW_MRF ,27.92,-106.62, 2 +MRF00099, 9,210SW_MRF ,27.80,-106.75, 2 +MRF00100, 9,220SW_MRF ,27.68,-106.87, 2 +MRF00101, 9,230SW_MRF ,27.56,-107.00, 2 +MRF00102, 9,240SW_MRF ,27.44,-107.13, 2 +MRF00103, 9,250SW_MRF ,27.31,-107.26, 2 +MRF00104, 9,20WSW_MRF ,30.17,-104.31, 2 +MRF00105, 9,30WSW_MRF ,30.11,-104.48, 2 +MRF00106, 9,40WSW_MRF ,30.04,-104.66, 2 +MRF00107, 9,50WSW_MRF ,29.98,-104.84, 2 +MRF00108, 9,60WSW_MRF ,29.91,-105.02, 2 +MRF00109, 9,70WSW_MRF ,29.85,-105.19, 2 +MRF00110, 9,80WSW_MRF ,29.78,-105.37, 2 +MRF00111, 9,90WSW_MRF ,29.72,-105.54, 2 +MRF00112, 9,100WSW_MRF ,29.65,-105.72, 2 +MRF00113, 9,110WSW_MRF ,29.58,-105.90, 2 +MRF00114, 9,120WSW_MRF ,29.52,-106.07, 2 +MRF00115, 9,130WSW_MRF ,29.45,-106.25, 2 +MRF00116, 9,140WSW_MRF ,29.38,-106.42, 2 +MRF00117, 9,20W_MRF ,30.30,-104.34, 2 +MRF00118, 9,30W_MRF ,30.30,-104.53, 2 +MRF00119, 9,40W_MRF ,30.30,-104.72, 2 +MRF00120, 9,50W_MRF ,30.30,-104.91, 2 +MRF00121, 9,60W_MRF ,30.29,-105.11, 2 +MRF00122, 9,70W_MRF ,30.29,-105.30, 2 +MRF00123, 9,80W_MRF ,30.29,-105.49, 2 +MRF00124, 9,90W_MRF ,30.29,-105.69, 2 +MRF00125, 9,20WNW_MRF ,30.43,-104.31, 2 +MRF00126, 9,30WNW_MRF ,30.49,-104.49, 2 +MRF00127, 9,40WNW_MRF ,30.55,-104.66, 2 +MRF00128, 9,50WNW_MRF ,30.62,-104.84, 2 +MRF00129, 9,60WNW_MRF ,30.68,-105.02, 2 +MRF00130, 9,70WNW_MRF ,30.74,-105.20, 2 +MRF00131, 9,20NW_MRF ,30.54,-104.22, 2 +MRF00132, 9,30NW_MRF ,30.65,-104.36, 2 +MRF00133, 9,40NW_MRF ,30.77,-104.50, 2 +MRF00134, 9,50NW_MRF ,30.89,-104.64, 2 +MRF00135, 9,60NW_MRF ,31.00,-104.77, 2 +MRF00136, 9,70NW_MRF ,31.12,-104.91, 2 +MRF00137, 9,20NNW_MRF ,30.61,-104.10, 2 +MRF00138, 9,30NNW_MRF ,30.76,-104.17, 2 +MRF00139, 9,40NNW_MRF ,30.92,-104.25, 2 +MRF00140, 9,50NNW_MRF ,31.07,-104.32, 2 +MRF00141, 9,60NNW_MRF ,31.22,-104.40, 2 PUB00000, 9,PUB ,38.29,-104.43, 1 PUB00001, 9,20N_PUB ,38.62,-104.43, 2 PUB00002, 9,30N_PUB ,38.79,-104.43, 2 @@ -13847,88 +13886,88 @@ PUB00053, 9,40NW_PUB ,38.76,-105.03, 2 PUB00054, 9,20NNW_PUB ,38.60,-104.59, 2 PUB00055, 9,30NNW_PUB ,38.75,-104.68, 2 PUB00056, 9,40NNW_PUB ,38.91,-104.76, 2 -ROW00000, 9,ROW ,33.34,-104.62, 1 -ROW00001, 9,20N_ROW ,33.67,-104.62, 2 -ROW00002, 9,30N_ROW ,33.84,-104.62, 2 -ROW00003, 9,40N_ROW ,34.01,-104.62, 2 -ROW00004, 9,50N_ROW ,34.17,-104.62, 2 -ROW00005, 9,20NNE_ROW ,33.65,-104.47, 2 -ROW00006, 9,30NNE_ROW ,33.80,-104.39, 2 -ROW00007, 9,40NNE_ROW ,33.96,-104.31, 2 -ROW00008, 9,50NNE_ROW ,34.11,-104.24, 2 -ROW00009, 9,20NE_ROW ,33.58,-104.34, 2 -ROW00010, 9,30NE_ROW ,33.69,-104.20, 2 -ROW00011, 9,40NE_ROW ,33.81,-104.05, 2 -ROW00012, 9,50NE_ROW ,33.93,-103.91, 2 -ROW00013, 9,20ENE_ROW ,33.47,-104.25, 2 -ROW00014, 9,30ENE_ROW ,33.53,-104.07, 2 -ROW00015, 9,40ENE_ROW ,33.59,-103.88, 2 -ROW00016, 9,50ENE_ROW ,33.66,-103.70, 2 -ROW00017, 9,20E_ROW ,33.34,-104.22, 2 -ROW00018, 9,30E_ROW ,33.34,-104.02, 2 -ROW00019, 9,40E_ROW ,33.34,-103.82, 2 -ROW00020, 9,50E_ROW ,33.34,-103.62, 2 -ROW00021, 9,60E_ROW ,33.33,-103.42, 2 -ROW00022, 9,20ESE_ROW ,33.21,-104.25, 2 -ROW00023, 9,30ESE_ROW ,33.15,-104.07, 2 -ROW00024, 9,40ESE_ROW ,33.08,-103.89, 2 -ROW00025, 9,50ESE_ROW ,33.02,-103.70, 2 -ROW00026, 9,60ESE_ROW ,32.95,-103.52, 2 -ROW00027, 9,70ESE_ROW ,32.89,-103.34, 2 -ROW00028, 9,20SE_ROW ,33.10,-104.34, 2 -ROW00029, 9,30SE_ROW ,32.99,-104.20, 2 -ROW00030, 9,40SE_ROW ,32.87,-104.06, 2 -ROW00031, 9,50SE_ROW ,32.75,-103.92, 2 -ROW00032, 9,60SE_ROW ,32.63,-103.78, 2 -ROW00033, 9,20SSE_ROW ,33.03,-104.47, 2 -ROW00034, 9,30SSE_ROW ,32.88,-104.39, 2 -ROW00035, 9,40SSE_ROW ,32.72,-104.32, 2 -ROW00036, 9,50SSE_ROW ,32.57,-104.24, 2 -ROW00037, 9,60SSE_ROW ,32.42,-104.17, 2 -ROW00038, 9,20S_ROW ,33.01,-104.62, 2 -ROW00039, 9,30S_ROW ,32.84,-104.62, 2 -ROW00040, 9,40S_ROW ,32.67,-104.62, 2 -ROW00041, 9,50S_ROW ,32.51,-104.62, 2 -ROW00042, 9,60S_ROW ,32.34,-104.62, 2 -ROW00043, 9,70S_ROW ,32.17,-104.62, 2 -ROW00044, 9,20SSW_ROW ,33.03,-104.77, 2 -ROW00045, 9,30SSW_ROW ,32.88,-104.85, 2 -ROW00046, 9,40SSW_ROW ,32.72,-104.92, 2 -ROW00047, 9,50SSW_ROW ,32.57,-105.00, 2 -ROW00048, 9,60SSW_ROW ,32.42,-105.07, 2 -ROW00049, 9,70SSW_ROW ,32.26,-105.15, 2 -ROW00050, 9,20SW_ROW ,33.10,-104.90, 2 -ROW00051, 9,30SW_ROW ,32.99,-105.04, 2 -ROW00052, 9,40SW_ROW ,32.87,-105.18, 2 -ROW00053, 9,50SW_ROW ,32.75,-105.32, 2 -ROW00054, 9,60SW_ROW ,32.63,-105.46, 2 -ROW00055, 9,20WSW_ROW ,33.21,-104.99, 2 -ROW00056, 9,30WSW_ROW ,33.15,-105.17, 2 -ROW00057, 9,40WSW_ROW ,33.08,-105.35, 2 -ROW00058, 9,50WSW_ROW ,33.02,-105.54, 2 -ROW00059, 9,60WSW_ROW ,32.95,-105.72, 2 -ROW00060, 9,70WSW_ROW ,32.89,-105.90, 2 -ROW00061, 9,20W_ROW ,33.34,-105.02, 2 -ROW00062, 9,30W_ROW ,33.34,-105.22, 2 -ROW00063, 9,40W_ROW ,33.34,-105.42, 2 -ROW00064, 9,50W_ROW ,33.34,-105.62, 2 -ROW00065, 9,60W_ROW ,33.33,-105.82, 2 -ROW00066, 9,20WNW_ROW ,33.47,-104.99, 2 -ROW00067, 9,30WNW_ROW ,33.53,-105.17, 2 -ROW00068, 9,40WNW_ROW ,33.59,-105.36, 2 -ROW00069, 9,50WNW_ROW ,33.66,-105.54, 2 -ROW00070, 9,60WNW_ROW ,33.72,-105.73, 2 -ROW00071, 9,70WNW_ROW ,33.78,-105.92, 2 -ROW00072, 9,20NW_ROW ,33.58,-104.90, 2 -ROW00073, 9,30NW_ROW ,33.69,-105.04, 2 -ROW00074, 9,40NW_ROW ,33.81,-105.19, 2 -ROW00075, 9,50NW_ROW ,33.93,-105.33, 2 -ROW00076, 9,60NW_ROW ,34.04,-105.47, 2 -ROW00077, 9,20NNW_ROW ,33.65,-104.77, 2 -ROW00078, 9,30NNW_ROW ,33.80,-104.85, 2 -ROW00079, 9,40NNW_ROW ,33.96,-104.93, 2 -ROW00080, 9,50NNW_ROW ,34.11,-105.00, 2 -ROW00081, 9,60NNW_ROW ,34.26,-105.08, 2 +CME00000, 9,CME ,33.34,-104.62, 1 +CME00001, 9,20N_CME ,33.67,-104.62, 2 +CME00002, 9,30N_CME ,33.84,-104.62, 2 +CME00003, 9,40N_CME ,34.01,-104.62, 2 +CME00004, 9,50N_CME ,34.17,-104.62, 2 +CME00005, 9,20NNE_CME ,33.65,-104.47, 2 +CME00006, 9,30NNE_CME ,33.80,-104.39, 2 +CME00007, 9,40NNE_CME ,33.96,-104.31, 2 +CME00008, 9,50NNE_CME ,34.11,-104.24, 2 +CME00009, 9,20NE_CME ,33.58,-104.34, 2 +CME00010, 9,30NE_CME ,33.69,-104.20, 2 +CME00011, 9,40NE_CME ,33.81,-104.05, 2 +CME00012, 9,50NE_CME ,33.93,-103.91, 2 +CME00013, 9,20ENE_CME ,33.47,-104.25, 2 +CME00014, 9,30ENE_CME ,33.53,-104.07, 2 +CME00015, 9,40ENE_CME ,33.59,-103.88, 2 +CME00016, 9,50ENE_CME ,33.66,-103.70, 2 +CME00017, 9,20E_CME ,33.34,-104.22, 2 +CME00018, 9,30E_CME ,33.34,-104.02, 2 +CME00019, 9,40E_CME ,33.34,-103.82, 2 +CME00020, 9,50E_CME ,33.34,-103.62, 2 +CME00021, 9,60E_CME ,33.33,-103.42, 2 +CME00022, 9,20ESE_CME ,33.21,-104.25, 2 +CME00023, 9,30ESE_CME ,33.15,-104.07, 2 +CME00024, 9,40ESE_CME ,33.08,-103.89, 2 +CME00025, 9,50ESE_CME ,33.02,-103.70, 2 +CME00026, 9,60ESE_CME ,32.95,-103.52, 2 +CME00027, 9,70ESE_CME ,32.89,-103.34, 2 +CME00028, 9,20SE_CME ,33.10,-104.34, 2 +CME00029, 9,30SE_CME ,32.99,-104.20, 2 +CME00030, 9,40SE_CME ,32.87,-104.06, 2 +CME00031, 9,50SE_CME ,32.75,-103.92, 2 +CME00032, 9,60SE_CME ,32.63,-103.78, 2 +CME00033, 9,20SSE_CME ,33.03,-104.47, 2 +CME00034, 9,30SSE_CME ,32.88,-104.39, 2 +CME00035, 9,40SSE_CME ,32.72,-104.32, 2 +CME00036, 9,50SSE_CME ,32.57,-104.24, 2 +CME00037, 9,60SSE_CME ,32.42,-104.17, 2 +CME00038, 9,20S_CME ,33.01,-104.62, 2 +CME00039, 9,30S_CME ,32.84,-104.62, 2 +CME00040, 9,40S_CME ,32.67,-104.62, 2 +CME00041, 9,50S_CME ,32.51,-104.62, 2 +CME00042, 9,60S_CME ,32.34,-104.62, 2 +CME00043, 9,70S_CME ,32.17,-104.62, 2 +CME00044, 9,20SSW_CME ,33.03,-104.77, 2 +CME00045, 9,30SSW_CME ,32.88,-104.85, 2 +CME00046, 9,40SSW_CME ,32.72,-104.92, 2 +CME00047, 9,50SSW_CME ,32.57,-105.00, 2 +CME00048, 9,60SSW_CME ,32.42,-105.07, 2 +CME00049, 9,70SSW_CME ,32.26,-105.15, 2 +CME00050, 9,20SW_CME ,33.10,-104.90, 2 +CME00051, 9,30SW_CME ,32.99,-105.04, 2 +CME00052, 9,40SW_CME ,32.87,-105.18, 2 +CME00053, 9,50SW_CME ,32.75,-105.32, 2 +CME00054, 9,60SW_CME ,32.63,-105.46, 2 +CME00055, 9,20WSW_CME ,33.21,-104.99, 2 +CME00056, 9,30WSW_CME ,33.15,-105.17, 2 +CME00057, 9,40WSW_CME ,33.08,-105.35, 2 +CME00058, 9,50WSW_CME ,33.02,-105.54, 2 +CME00059, 9,60WSW_CME ,32.95,-105.72, 2 +CME00060, 9,70WSW_CME ,32.89,-105.90, 2 +CME00061, 9,20W_CME ,33.34,-105.02, 2 +CME00062, 9,30W_CME ,33.34,-105.22, 2 +CME00063, 9,40W_CME ,33.34,-105.42, 2 +CME00064, 9,50W_CME ,33.34,-105.62, 2 +CME00065, 9,60W_CME ,33.33,-105.82, 2 +CME00066, 9,20WNW_CME ,33.47,-104.99, 2 +CME00067, 9,30WNW_CME ,33.53,-105.17, 2 +CME00068, 9,40WNW_CME ,33.59,-105.36, 2 +CME00069, 9,50WNW_CME ,33.66,-105.54, 2 +CME00070, 9,60WNW_CME ,33.72,-105.73, 2 +CME00071, 9,70WNW_CME ,33.78,-105.92, 2 +CME00072, 9,20NW_CME ,33.58,-104.90, 2 +CME00073, 9,30NW_CME ,33.69,-105.04, 2 +CME00074, 9,40NW_CME ,33.81,-105.19, 2 +CME00075, 9,50NW_CME ,33.93,-105.33, 2 +CME00076, 9,60NW_CME ,34.04,-105.47, 2 +CME00077, 9,20NNW_CME ,33.65,-104.77, 2 +CME00078, 9,30NNW_CME ,33.80,-104.85, 2 +CME00079, 9,40NNW_CME ,33.96,-104.93, 2 +CME00080, 9,50NNW_CME ,34.11,-105.00, 2 +CME00081, 9,60NNW_CME ,34.26,-105.08, 2 DEN00000, 9,DEN ,39.81,-104.66, 1 DEN00001, 9,20N_DEN ,40.14,-104.66, 2 DEN00002, 9,30N_DEN ,40.31,-104.66, 2 @@ -13992,24 +14031,31 @@ CYS00005, 9,30NNE_CYS ,41.67,-104.51, 2 CYS00006, 9,20NE_CYS ,41.45,-104.46, 2 CYS00007, 9,20ENE_CYS ,41.34,-104.36, 2 CYS00008, 9,20E_CYS ,41.21,-104.33, 2 -CYS00009, 9,20SE_CYS ,40.97,-104.46, 2 -CYS00010, 9,20SSE_CYS ,40.90,-104.60, 2 -CYS00011, 9,30SSE_CYS ,40.75,-104.52, 2 -CYS00012, 9,40SSE_CYS ,40.59,-104.43, 2 -CYS00013, 9,50SSE_CYS ,40.44,-104.35, 2 -CYS00014, 9,20S_CYS ,40.88,-104.77, 2 -CYS00015, 9,30S_CYS ,40.71,-104.77, 2 -CYS00016, 9,40S_CYS ,40.54,-104.77, 2 -CYS00017, 9,20SSW_CYS ,40.90,-104.94, 2 -CYS00018, 9,30SSW_CYS ,40.75,-105.02, 2 -CYS00019, 9,40SSW_CYS ,40.59,-105.11, 2 -CYS00020, 9,50SSW_CYS ,40.44,-105.19, 2 -CYS00021, 9,20SW_CYS ,40.97,-105.08, 2 -CYS00022, 9,30SW_CYS ,40.86,-105.24, 2 -CYS00023, 9,20WSW_CYS ,41.08,-105.18, 2 -CYS00024, 9,20NW_CYS ,41.45,-105.08, 2 -CYS00025, 9,20NNW_CYS ,41.52,-104.94, 2 -CYS00026, 9,30NNW_CYS ,41.67,-105.03, 2 +CYS00009, 9,30E_CYS ,41.21,-104.11, 2 +CYS00010, 9,20ESE_CYS ,41.08,-104.36, 2 +CYS00011, 9,30ESE_CYS ,41.02,-104.16, 2 +CYS00012, 9,40ESE_CYS ,40.95,-103.96, 2 +CYS00013, 9,20SE_CYS ,40.97,-104.46, 2 +CYS00014, 9,30SE_CYS ,40.86,-104.30, 2 +CYS00015, 9,40SE_CYS ,40.74,-104.15, 2 +CYS00016, 9,50SE_CYS ,40.62,-103.99, 2 +CYS00017, 9,20SSE_CYS ,40.90,-104.60, 2 +CYS00018, 9,30SSE_CYS ,40.75,-104.52, 2 +CYS00019, 9,40SSE_CYS ,40.59,-104.43, 2 +CYS00020, 9,50SSE_CYS ,40.44,-104.35, 2 +CYS00021, 9,20S_CYS ,40.88,-104.77, 2 +CYS00022, 9,30S_CYS ,40.71,-104.77, 2 +CYS00023, 9,40S_CYS ,40.54,-104.77, 2 +CYS00024, 9,20SSW_CYS ,40.90,-104.94, 2 +CYS00025, 9,30SSW_CYS ,40.75,-105.02, 2 +CYS00026, 9,40SSW_CYS ,40.59,-105.11, 2 +CYS00027, 9,50SSW_CYS ,40.44,-105.19, 2 +CYS00028, 9,20SW_CYS ,40.97,-105.08, 2 +CYS00029, 9,30SW_CYS ,40.86,-105.24, 2 +CYS00030, 9,20WSW_CYS ,41.08,-105.18, 2 +CYS00031, 9,20NW_CYS ,41.45,-105.08, 2 +CYS00032, 9,20NNW_CYS ,41.52,-104.94, 2 +CYS00033, 9,30NNW_CYS ,41.67,-105.03, 2 CIM00000, 9,CIM ,36.49,-104.87, 1 CIM00001, 9,20N_CIM ,36.82,-104.87, 2 CIM00002, 9,30N_CIM ,36.99,-104.87, 2 @@ -14051,56 +14097,56 @@ CIM00037, 9,20WNW_CIM ,36.62,-105.25, 2 CIM00038, 9,30WNW_CIM ,36.68,-105.45, 2 CIM00039, 9,20NW_CIM ,36.73,-105.16, 2 CIM00040, 9,20NNW_CIM ,36.80,-105.03, 2 -LVS00000, 9,LVS ,35.66,-105.14, 1 -LVS00001, 9,20N_LVS ,35.99,-105.14, 2 -LVS00002, 9,20NE_LVS ,35.90,-104.85, 2 -LVS00003, 9,20ENE_LVS ,35.79,-104.76, 2 -LVS00004, 9,30ENE_LVS ,35.85,-104.57, 2 -LVS00005, 9,20E_LVS ,35.66,-104.73, 2 -LVS00006, 9,30E_LVS ,35.66,-104.53, 2 -LVS00007, 9,40E_LVS ,35.66,-104.32, 2 -LVS00008, 9,20ESE_LVS ,35.53,-104.76, 2 -LVS00009, 9,30ESE_LVS ,35.47,-104.57, 2 -LVS00010, 9,40ESE_LVS ,35.40,-104.38, 2 -LVS00011, 9,20SE_LVS ,35.42,-104.85, 2 -LVS00012, 9,30SE_LVS ,35.31,-104.71, 2 -LVS00013, 9,40SE_LVS ,35.19,-104.56, 2 -LVS00014, 9,20SSE_LVS ,35.35,-104.98, 2 -LVS00015, 9,30SSE_LVS ,35.20,-104.91, 2 -LVS00016, 9,40SSE_LVS ,35.04,-104.83, 2 -LVS00017, 9,50SSE_LVS ,34.89,-104.75, 2 -LVS00018, 9,60SSE_LVS ,34.74,-104.67, 2 -LVS00019, 9,20S_LVS ,35.33,-105.14, 2 -LVS00020, 9,30S_LVS ,35.16,-105.14, 2 -LVS00021, 9,40S_LVS ,34.99,-105.14, 2 -LVS00022, 9,50S_LVS ,34.83,-105.14, 2 -LVS00023, 9,60S_LVS ,34.66,-105.14, 2 -LVS00024, 9,70S_LVS ,34.49,-105.14, 2 -LVS00025, 9,20SSW_LVS ,35.35,-105.30, 2 -LVS00026, 9,30SSW_LVS ,35.20,-105.37, 2 -LVS00027, 9,40SSW_LVS ,35.04,-105.45, 2 -LVS00028, 9,50SSW_LVS ,34.89,-105.53, 2 -LVS00029, 9,60SSW_LVS ,34.74,-105.61, 2 -LVS00030, 9,20SW_LVS ,35.42,-105.43, 2 -LVS00031, 9,30SW_LVS ,35.31,-105.57, 2 -LVS00032, 9,40SW_LVS ,35.19,-105.72, 2 -LVS00033, 9,50SW_LVS ,35.07,-105.86, 2 -LVS00034, 9,20WSW_LVS ,35.53,-105.52, 2 -LVS00035, 9,30WSW_LVS ,35.47,-105.71, 2 -LVS00036, 9,40WSW_LVS ,35.40,-105.90, 2 -LVS00037, 9,20W_LVS ,35.66,-105.55, 2 -LVS00038, 9,30W_LVS ,35.66,-105.75, 2 -LVS00039, 9,40W_LVS ,35.66,-105.96, 2 -LVS00040, 9,50W_LVS ,35.66,-106.16, 2 -LVS00041, 9,20WNW_LVS ,35.79,-105.52, 2 -LVS00042, 9,30WNW_LVS ,35.85,-105.71, 2 -LVS00043, 9,40WNW_LVS ,35.91,-105.90, 2 -LVS00044, 9,50WNW_LVS ,35.97,-106.09, 2 -LVS00045, 9,60WNW_LVS ,36.04,-106.28, 2 -LVS00046, 9,70WNW_LVS ,36.10,-106.47, 2 -LVS00047, 9,20NW_LVS ,35.90,-105.43, 2 -LVS00048, 9,30NW_LVS ,36.01,-105.58, 2 -LVS00049, 9,20NNW_LVS ,35.97,-105.30, 2 +FTI00000, 9,FTI ,35.66,-105.14, 1 +FTI00001, 9,20N_FTI ,35.99,-105.14, 2 +FTI00002, 9,20NE_FTI ,35.90,-104.85, 2 +FTI00003, 9,20ENE_FTI ,35.79,-104.76, 2 +FTI00004, 9,30ENE_FTI ,35.85,-104.57, 2 +FTI00005, 9,20E_FTI ,35.66,-104.73, 2 +FTI00006, 9,30E_FTI ,35.66,-104.53, 2 +FTI00007, 9,40E_FTI ,35.66,-104.32, 2 +FTI00008, 9,20ESE_FTI ,35.53,-104.76, 2 +FTI00009, 9,30ESE_FTI ,35.47,-104.57, 2 +FTI00010, 9,40ESE_FTI ,35.40,-104.38, 2 +FTI00011, 9,20SE_FTI ,35.42,-104.85, 2 +FTI00012, 9,30SE_FTI ,35.31,-104.71, 2 +FTI00013, 9,40SE_FTI ,35.19,-104.56, 2 +FTI00014, 9,20SSE_FTI ,35.35,-104.98, 2 +FTI00015, 9,30SSE_FTI ,35.20,-104.91, 2 +FTI00016, 9,40SSE_FTI ,35.04,-104.83, 2 +FTI00017, 9,50SSE_FTI ,34.89,-104.75, 2 +FTI00018, 9,60SSE_FTI ,34.74,-104.67, 2 +FTI00019, 9,20S_FTI ,35.33,-105.14, 2 +FTI00020, 9,30S_FTI ,35.16,-105.14, 2 +FTI00021, 9,40S_FTI ,34.99,-105.14, 2 +FTI00022, 9,50S_FTI ,34.83,-105.14, 2 +FTI00023, 9,60S_FTI ,34.66,-105.14, 2 +FTI00024, 9,70S_FTI ,34.49,-105.14, 2 +FTI00025, 9,20SSW_FTI ,35.35,-105.30, 2 +FTI00026, 9,30SSW_FTI ,35.20,-105.37, 2 +FTI00027, 9,40SSW_FTI ,35.04,-105.45, 2 +FTI00028, 9,50SSW_FTI ,34.89,-105.53, 2 +FTI00029, 9,60SSW_FTI ,34.74,-105.61, 2 +FTI00030, 9,20SW_FTI ,35.42,-105.43, 2 +FTI00031, 9,30SW_FTI ,35.31,-105.57, 2 +FTI00032, 9,40SW_FTI ,35.19,-105.72, 2 +FTI00033, 9,50SW_FTI ,35.07,-105.86, 2 +FTI00034, 9,20WSW_FTI ,35.53,-105.52, 2 +FTI00035, 9,30WSW_FTI ,35.47,-105.71, 2 +FTI00036, 9,40WSW_FTI ,35.40,-105.90, 2 +FTI00037, 9,20W_FTI ,35.66,-105.55, 2 +FTI00038, 9,30W_FTI ,35.66,-105.75, 2 +FTI00039, 9,40W_FTI ,35.66,-105.96, 2 +FTI00040, 9,50W_FTI ,35.66,-106.16, 2 +FTI00041, 9,20WNW_FTI ,35.79,-105.52, 2 +FTI00042, 9,30WNW_FTI ,35.85,-105.71, 2 +FTI00043, 9,40WNW_FTI ,35.91,-105.90, 2 +FTI00044, 9,50WNW_FTI ,35.97,-106.09, 2 +FTI00045, 9,60WNW_FTI ,36.04,-106.28, 2 +FTI00046, 9,70WNW_FTI ,36.10,-106.47, 2 +FTI00047, 9,20NW_FTI ,35.90,-105.43, 2 +FTI00048, 9,30NW_FTI ,36.01,-105.58, 2 +FTI00049, 9,20NNW_FTI ,35.97,-105.30, 2 LAR00000, 9,LAR ,41.33,-105.72, 1 LAR00001, 9,20N_LAR ,41.66,-105.72, 2 LAR00002, 9,30N_LAR ,41.83,-105.72, 2 @@ -15151,77 +15197,77 @@ YYN00152, 9,200NNW_YYN ,53.34,-109.81, 2 YYN00153, 9,210NNW_YYN ,53.49,-109.93, 2 YYN00154, 9,220NNW_YYN ,53.64,-110.04, 2 YYN00155, 9,230NNW_YYN ,53.79,-110.16, 2 -FMN00000, 9,FMN ,36.75,-108.10, 1 -FMN00001, 9,20N_FMN ,37.08,-108.10, 2 -FMN00002, 9,30N_FMN ,37.25,-108.10, 2 -FMN00003, 9,20NNE_FMN ,37.06,-107.94, 2 -FMN00004, 9,30NNE_FMN ,37.21,-107.86, 2 -FMN00005, 9,40NNE_FMN ,37.37,-107.78, 2 -FMN00006, 9,20NE_FMN ,36.99,-107.81, 2 -FMN00007, 9,30NE_FMN ,37.10,-107.66, 2 -FMN00008, 9,40NE_FMN ,37.22,-107.51, 2 -FMN00009, 9,50NE_FMN ,37.34,-107.36, 2 -FMN00010, 9,20ENE_FMN ,36.88,-107.72, 2 -FMN00011, 9,30ENE_FMN ,36.94,-107.52, 2 -FMN00012, 9,40ENE_FMN ,37.00,-107.33, 2 -FMN00013, 9,50ENE_FMN ,37.06,-107.14, 2 -FMN00014, 9,20E_FMN ,36.75,-107.68, 2 -FMN00015, 9,30E_FMN ,36.75,-107.48, 2 -FMN00016, 9,40E_FMN ,36.75,-107.27, 2 -FMN00017, 9,50E_FMN ,36.75,-107.06, 2 -FMN00018, 9,20ESE_FMN ,36.62,-107.72, 2 -FMN00019, 9,30ESE_FMN ,36.56,-107.53, 2 -FMN00020, 9,40ESE_FMN ,36.49,-107.33, 2 -FMN00021, 9,50ESE_FMN ,36.43,-107.14, 2 -FMN00022, 9,60ESE_FMN ,36.36,-106.95, 2 -FMN00023, 9,70ESE_FMN ,36.30,-106.76, 2 -FMN00024, 9,20SE_FMN ,36.51,-107.81, 2 -FMN00025, 9,30SE_FMN ,36.40,-107.66, 2 -FMN00026, 9,40SE_FMN ,36.28,-107.52, 2 -FMN00027, 9,50SE_FMN ,36.16,-107.37, 2 -FMN00028, 9,60SE_FMN ,36.04,-107.23, 2 -FMN00029, 9,20SSE_FMN ,36.44,-107.94, 2 -FMN00030, 9,30SSE_FMN ,36.29,-107.86, 2 -FMN00031, 9,40SSE_FMN ,36.13,-107.78, 2 -FMN00032, 9,50SSE_FMN ,35.98,-107.71, 2 -FMN00033, 9,60SSE_FMN ,35.83,-107.63, 2 -FMN00034, 9,20S_FMN ,36.42,-108.10, 2 -FMN00035, 9,30S_FMN ,36.25,-108.10, 2 -FMN00036, 9,40S_FMN ,36.08,-108.10, 2 -FMN00037, 9,50S_FMN ,35.92,-108.10, 2 -FMN00038, 9,60S_FMN ,35.75,-108.10, 2 -FMN00039, 9,70S_FMN ,35.58,-108.10, 2 -FMN00040, 9,20SSW_FMN ,36.44,-108.26, 2 -FMN00041, 9,30SSW_FMN ,36.29,-108.34, 2 -FMN00042, 9,40SSW_FMN ,36.13,-108.42, 2 -FMN00043, 9,50SSW_FMN ,35.98,-108.49, 2 -FMN00044, 9,60SSW_FMN ,35.83,-108.57, 2 -FMN00045, 9,70SSW_FMN ,35.67,-108.65, 2 -FMN00046, 9,80SSW_FMN ,35.52,-108.73, 2 -FMN00047, 9,20SW_FMN ,36.51,-108.39, 2 -FMN00048, 9,30SW_FMN ,36.40,-108.54, 2 -FMN00049, 9,40SW_FMN ,36.28,-108.68, 2 -FMN00050, 9,50SW_FMN ,36.16,-108.83, 2 -FMN00051, 9,60SW_FMN ,36.04,-108.97, 2 -FMN00052, 9,70SW_FMN ,35.92,-109.12, 2 -FMN00053, 9,80SW_FMN ,35.80,-109.26, 2 -FMN00054, 9,20WSW_FMN ,36.62,-108.48, 2 -FMN00055, 9,30WSW_FMN ,36.56,-108.67, 2 -FMN00056, 9,40WSW_FMN ,36.49,-108.87, 2 -FMN00057, 9,50WSW_FMN ,36.43,-109.06, 2 -FMN00058, 9,60WSW_FMN ,36.36,-109.25, 2 -FMN00059, 9,70WSW_FMN ,36.30,-109.44, 2 -FMN00060, 9,80WSW_FMN ,36.23,-109.63, 2 -FMN00061, 9,20W_FMN ,36.75,-108.52, 2 -FMN00062, 9,30W_FMN ,36.75,-108.72, 2 -FMN00063, 9,40W_FMN ,36.75,-108.93, 2 -FMN00064, 9,50W_FMN ,36.75,-109.14, 2 -FMN00065, 9,20WNW_FMN ,36.88,-108.48, 2 -FMN00066, 9,30WNW_FMN ,36.94,-108.68, 2 -FMN00067, 9,20NW_FMN ,36.99,-108.39, 2 -FMN00068, 9,30NW_FMN ,37.10,-108.54, 2 -FMN00069, 9,20NNW_FMN ,37.06,-108.26, 2 -FMN00070, 9,30NNW_FMN ,37.21,-108.34, 2 +RSK00000, 9,RSK ,36.75,-108.10, 1 +RSK00001, 9,20N_RSK ,37.08,-108.10, 2 +RSK00002, 9,30N_RSK ,37.25,-108.10, 2 +RSK00003, 9,20NNE_RSK ,37.06,-107.94, 2 +RSK00004, 9,30NNE_RSK ,37.21,-107.86, 2 +RSK00005, 9,40NNE_RSK ,37.37,-107.78, 2 +RSK00006, 9,20NE_RSK ,36.99,-107.81, 2 +RSK00007, 9,30NE_RSK ,37.10,-107.66, 2 +RSK00008, 9,40NE_RSK ,37.22,-107.51, 2 +RSK00009, 9,50NE_RSK ,37.34,-107.36, 2 +RSK00010, 9,20ENE_RSK ,36.88,-107.72, 2 +RSK00011, 9,30ENE_RSK ,36.94,-107.52, 2 +RSK00012, 9,40ENE_RSK ,37.00,-107.33, 2 +RSK00013, 9,50ENE_RSK ,37.06,-107.14, 2 +RSK00014, 9,20E_RSK ,36.75,-107.68, 2 +RSK00015, 9,30E_RSK ,36.75,-107.48, 2 +RSK00016, 9,40E_RSK ,36.75,-107.27, 2 +RSK00017, 9,50E_RSK ,36.75,-107.06, 2 +RSK00018, 9,20ESE_RSK ,36.62,-107.72, 2 +RSK00019, 9,30ESE_RSK ,36.56,-107.53, 2 +RSK00020, 9,40ESE_RSK ,36.49,-107.33, 2 +RSK00021, 9,50ESE_RSK ,36.43,-107.14, 2 +RSK00022, 9,60ESE_RSK ,36.36,-106.95, 2 +RSK00023, 9,70ESE_RSK ,36.30,-106.76, 2 +RSK00024, 9,20SE_RSK ,36.51,-107.81, 2 +RSK00025, 9,30SE_RSK ,36.40,-107.66, 2 +RSK00026, 9,40SE_RSK ,36.28,-107.52, 2 +RSK00027, 9,50SE_RSK ,36.16,-107.37, 2 +RSK00028, 9,60SE_RSK ,36.04,-107.23, 2 +RSK00029, 9,20SSE_RSK ,36.44,-107.94, 2 +RSK00030, 9,30SSE_RSK ,36.29,-107.86, 2 +RSK00031, 9,40SSE_RSK ,36.13,-107.78, 2 +RSK00032, 9,50SSE_RSK ,35.98,-107.71, 2 +RSK00033, 9,60SSE_RSK ,35.83,-107.63, 2 +RSK00034, 9,20S_RSK ,36.42,-108.10, 2 +RSK00035, 9,30S_RSK ,36.25,-108.10, 2 +RSK00036, 9,40S_RSK ,36.08,-108.10, 2 +RSK00037, 9,50S_RSK ,35.92,-108.10, 2 +RSK00038, 9,60S_RSK ,35.75,-108.10, 2 +RSK00039, 9,70S_RSK ,35.58,-108.10, 2 +RSK00040, 9,20SSW_RSK ,36.44,-108.26, 2 +RSK00041, 9,30SSW_RSK ,36.29,-108.34, 2 +RSK00042, 9,40SSW_RSK ,36.13,-108.42, 2 +RSK00043, 9,50SSW_RSK ,35.98,-108.49, 2 +RSK00044, 9,60SSW_RSK ,35.83,-108.57, 2 +RSK00045, 9,70SSW_RSK ,35.67,-108.65, 2 +RSK00046, 9,80SSW_RSK ,35.52,-108.73, 2 +RSK00047, 9,20SW_RSK ,36.51,-108.39, 2 +RSK00048, 9,30SW_RSK ,36.40,-108.54, 2 +RSK00049, 9,40SW_RSK ,36.28,-108.68, 2 +RSK00050, 9,50SW_RSK ,36.16,-108.83, 2 +RSK00051, 9,60SW_RSK ,36.04,-108.97, 2 +RSK00052, 9,70SW_RSK ,35.92,-109.12, 2 +RSK00053, 9,80SW_RSK ,35.80,-109.26, 2 +RSK00054, 9,20WSW_RSK ,36.62,-108.48, 2 +RSK00055, 9,30WSW_RSK ,36.56,-108.67, 2 +RSK00056, 9,40WSW_RSK ,36.49,-108.87, 2 +RSK00057, 9,50WSW_RSK ,36.43,-109.06, 2 +RSK00058, 9,60WSW_RSK ,36.36,-109.25, 2 +RSK00059, 9,70WSW_RSK ,36.30,-109.44, 2 +RSK00060, 9,80WSW_RSK ,36.23,-109.63, 2 +RSK00061, 9,20W_RSK ,36.75,-108.52, 2 +RSK00062, 9,30W_RSK ,36.75,-108.72, 2 +RSK00063, 9,40W_RSK ,36.75,-108.93, 2 +RSK00064, 9,50W_RSK ,36.75,-109.14, 2 +RSK00065, 9,20WNW_RSK ,36.88,-108.48, 2 +RSK00066, 9,30WNW_RSK ,36.94,-108.68, 2 +RSK00067, 9,20NW_RSK ,36.99,-108.39, 2 +RSK00068, 9,30NW_RSK ,37.10,-108.54, 2 +RSK00069, 9,20NNW_RSK ,37.06,-108.26, 2 +RSK00070, 9,30NNW_RSK ,37.21,-108.34, 2 BOY00000, 9,BOY ,43.46,-108.30, 1 BOY00001, 9,20N_BOY ,43.79,-108.30, 2 BOY00002, 9,30N_BOY ,43.96,-108.30, 2 @@ -16285,100 +16331,105 @@ TUS00027, 9,50SE_TUS ,31.51,-110.23, 2 TUS00028, 9,60SE_TUS ,31.39,-110.09, 2 TUS00029, 9,20SSE_TUS ,31.79,-110.77, 2 TUS00030, 9,30SSE_TUS ,31.64,-110.70, 2 -TUS00031, 9,60SSE_TUS ,31.18,-110.47, 2 -TUS00032, 9,70SSE_TUS ,31.02,-110.40, 2 -TUS00033, 9,80SSE_TUS ,30.87,-110.33, 2 -TUS00034, 9,90SSE_TUS ,30.71,-110.25, 2 -TUS00035, 9,100SSE_TUS ,30.56,-110.18, 2 -TUS00036, 9,110SSE_TUS ,30.40,-110.11, 2 -TUS00037, 9,120SSE_TUS ,30.25,-110.03, 2 -TUS00038, 9,130SSE_TUS ,30.10,-109.96, 2 -TUS00039, 9,140SSE_TUS ,29.94,-109.89, 2 -TUS00040, 9,150SSE_TUS ,29.79,-109.82, 2 -TUS00041, 9,20S_TUS ,31.77,-110.92, 2 -TUS00042, 9,70S_TUS ,30.93,-110.92, 2 -TUS00043, 9,80S_TUS ,30.77,-110.92, 2 -TUS00044, 9,90S_TUS ,30.60,-110.92, 2 -TUS00045, 9,100S_TUS ,30.43,-110.92, 2 -TUS00046, 9,110S_TUS ,30.27,-110.92, 2 -TUS00047, 9,120S_TUS ,30.10,-110.92, 2 -TUS00048, 9,130S_TUS ,29.93,-110.92, 2 -TUS00049, 9,140S_TUS ,29.77,-110.92, 2 -TUS00050, 9,150S_TUS ,29.60,-110.92, 2 -TUS00051, 9,160S_TUS ,29.44,-110.92, 2 -TUS00052, 9,170S_TUS ,29.27,-110.92, 2 -TUS00053, 9,180S_TUS ,29.10,-110.92, 2 -TUS00054, 9,190S_TUS ,28.94,-110.92, 2 -TUS00055, 9,200S_TUS ,28.77,-110.92, 2 -TUS00056, 9,210S_TUS ,28.60,-110.92, 2 -TUS00057, 9,220S_TUS ,28.44,-110.92, 2 -TUS00058, 9,230S_TUS ,28.27,-110.92, 2 -TUS00059, 9,240S_TUS ,28.10,-110.92, 2 -TUS00060, 9,250S_TUS ,27.94,-110.92, 2 -TUS00061, 9,20SSW_TUS ,31.79,-111.07, 2 -TUS00062, 9,30SSW_TUS ,31.64,-111.14, 2 -TUS00063, 9,40SSW_TUS ,31.48,-111.22, 2 -TUS00064, 9,60SSW_TUS ,31.18,-111.37, 2 -TUS00065, 9,70SSW_TUS ,31.02,-111.44, 2 -TUS00066, 9,80SSW_TUS ,30.87,-111.51, 2 -TUS00067, 9,90SSW_TUS ,30.71,-111.59, 2 -TUS00068, 9,100SSW_TUS ,30.56,-111.66, 2 -TUS00069, 9,110SSW_TUS ,30.40,-111.73, 2 -TUS00070, 9,120SSW_TUS ,30.25,-111.81, 2 -TUS00071, 9,130SSW_TUS ,30.10,-111.88, 2 -TUS00072, 9,140SSW_TUS ,29.94,-111.95, 2 -TUS00073, 9,150SSW_TUS ,29.79,-112.02, 2 -TUS00074, 9,160SSW_TUS ,29.63,-112.09, 2 -TUS00075, 9,170SSW_TUS ,29.48,-112.16, 2 -TUS00076, 9,180SSW_TUS ,29.32,-112.24, 2 -TUS00077, 9,190SSW_TUS ,29.17,-112.31, 2 -TUS00078, 9,200SSW_TUS ,29.01,-112.38, 2 -TUS00079, 9,210SSW_TUS ,28.86,-112.45, 2 -TUS00080, 9,220SSW_TUS ,28.70,-112.52, 2 -TUS00081, 9,230SSW_TUS ,28.55,-112.59, 2 -TUS00082, 9,240SSW_TUS ,28.40,-112.66, 2 -TUS00083, 9,20SW_TUS ,31.86,-111.20, 2 -TUS00084, 9,30SW_TUS ,31.75,-111.34, 2 -TUS00085, 9,40SW_TUS ,31.63,-111.47, 2 -TUS00086, 9,50SW_TUS ,31.51,-111.61, 2 -TUS00087, 9,60SW_TUS ,31.39,-111.75, 2 -TUS00088, 9,70SW_TUS ,31.27,-111.88, 2 -TUS00089, 9,80SW_TUS ,31.15,-112.02, 2 -TUS00090, 9,90SW_TUS ,31.03,-112.16, 2 -TUS00091, 9,100SW_TUS ,30.91,-112.29, 2 -TUS00092, 9,110SW_TUS ,30.80,-112.43, 2 -TUS00093, 9,120SW_TUS ,30.68,-112.56, 2 -TUS00094, 9,130SW_TUS ,30.56,-112.70, 2 -TUS00095, 9,140SW_TUS ,30.44,-112.83, 2 -TUS00096, 9,150SW_TUS ,30.32,-112.97, 2 -TUS00097, 9,160SW_TUS ,30.20,-113.10, 2 -TUS00098, 9,170SW_TUS ,30.08,-113.23, 2 -TUS00099, 9,20WSW_TUS ,31.97,-111.28, 2 -TUS00100, 9,30WSW_TUS ,31.91,-111.46, 2 -TUS00101, 9,40WSW_TUS ,31.84,-111.64, 2 -TUS00102, 9,50WSW_TUS ,31.78,-111.83, 2 -TUS00103, 9,60WSW_TUS ,31.71,-112.01, 2 -TUS00104, 9,70WSW_TUS ,31.65,-112.19, 2 -TUS00105, 9,80WSW_TUS ,31.58,-112.37, 2 -TUS00106, 9,90WSW_TUS ,31.52,-112.54, 2 -TUS00107, 9,100WSW_TUS ,31.45,-112.72, 2 -TUS00108, 9,110WSW_TUS ,31.38,-112.90, 2 -TUS00109, 9,20W_TUS ,32.10,-111.31, 2 -TUS00110, 9,30W_TUS ,32.10,-111.51, 2 -TUS00111, 9,40W_TUS ,32.10,-111.71, 2 -TUS00112, 9,50W_TUS ,32.10,-111.90, 2 -TUS00113, 9,60W_TUS ,32.09,-112.10, 2 -TUS00114, 9,70W_TUS ,32.09,-112.30, 2 -TUS00115, 9,20WNW_TUS ,32.23,-111.28, 2 -TUS00116, 9,30WNW_TUS ,32.29,-111.47, 2 -TUS00117, 9,40WNW_TUS ,32.35,-111.65, 2 -TUS00118, 9,50WNW_TUS ,32.42,-111.83, 2 -TUS00119, 9,20NW_TUS ,32.34,-111.20, 2 -TUS00120, 9,30NW_TUS ,32.45,-111.34, 2 -TUS00121, 9,40NW_TUS ,32.57,-111.48, 2 -TUS00122, 9,20NNW_TUS ,32.41,-111.07, 2 -TUS00123, 9,30NNW_TUS ,32.56,-111.15, 2 -TUS00124, 9,40NNW_TUS ,32.72,-111.22, 2 +TUS00031, 9,40SSE_TUS ,31.48,-110.62, 2 +TUS00032, 9,50SSE_TUS ,31.33,-110.55, 2 +TUS00033, 9,60SSE_TUS ,31.18,-110.47, 2 +TUS00034, 9,70SSE_TUS ,31.02,-110.40, 2 +TUS00035, 9,80SSE_TUS ,30.87,-110.33, 2 +TUS00036, 9,90SSE_TUS ,30.71,-110.25, 2 +TUS00037, 9,100SSE_TUS ,30.56,-110.18, 2 +TUS00038, 9,110SSE_TUS ,30.40,-110.11, 2 +TUS00039, 9,120SSE_TUS ,30.25,-110.03, 2 +TUS00040, 9,130SSE_TUS ,30.10,-109.96, 2 +TUS00041, 9,140SSE_TUS ,29.94,-109.89, 2 +TUS00042, 9,150SSE_TUS ,29.79,-109.82, 2 +TUS00043, 9,20S_TUS ,31.77,-110.92, 2 +TUS00044, 9,30S_TUS ,31.60,-110.92, 2 +TUS00045, 9,60S_TUS ,31.10,-110.92, 2 +TUS00046, 9,70S_TUS ,30.93,-110.92, 2 +TUS00047, 9,80S_TUS ,30.77,-110.92, 2 +TUS00048, 9,90S_TUS ,30.60,-110.92, 2 +TUS00049, 9,100S_TUS ,30.43,-110.92, 2 +TUS00050, 9,110S_TUS ,30.27,-110.92, 2 +TUS00051, 9,120S_TUS ,30.10,-110.92, 2 +TUS00052, 9,130S_TUS ,29.93,-110.92, 2 +TUS00053, 9,140S_TUS ,29.77,-110.92, 2 +TUS00054, 9,150S_TUS ,29.60,-110.92, 2 +TUS00055, 9,160S_TUS ,29.44,-110.92, 2 +TUS00056, 9,170S_TUS ,29.27,-110.92, 2 +TUS00057, 9,180S_TUS ,29.10,-110.92, 2 +TUS00058, 9,190S_TUS ,28.94,-110.92, 2 +TUS00059, 9,200S_TUS ,28.77,-110.92, 2 +TUS00060, 9,210S_TUS ,28.60,-110.92, 2 +TUS00061, 9,220S_TUS ,28.44,-110.92, 2 +TUS00062, 9,230S_TUS ,28.27,-110.92, 2 +TUS00063, 9,240S_TUS ,28.10,-110.92, 2 +TUS00064, 9,250S_TUS ,27.94,-110.92, 2 +TUS00065, 9,20SSW_TUS ,31.79,-111.07, 2 +TUS00066, 9,30SSW_TUS ,31.64,-111.14, 2 +TUS00067, 9,40SSW_TUS ,31.48,-111.22, 2 +TUS00068, 9,50SSW_TUS ,31.33,-111.29, 2 +TUS00069, 9,60SSW_TUS ,31.18,-111.37, 2 +TUS00070, 9,70SSW_TUS ,31.02,-111.44, 2 +TUS00071, 9,80SSW_TUS ,30.87,-111.51, 2 +TUS00072, 9,90SSW_TUS ,30.71,-111.59, 2 +TUS00073, 9,100SSW_TUS ,30.56,-111.66, 2 +TUS00074, 9,110SSW_TUS ,30.40,-111.73, 2 +TUS00075, 9,120SSW_TUS ,30.25,-111.81, 2 +TUS00076, 9,130SSW_TUS ,30.10,-111.88, 2 +TUS00077, 9,140SSW_TUS ,29.94,-111.95, 2 +TUS00078, 9,150SSW_TUS ,29.79,-112.02, 2 +TUS00079, 9,160SSW_TUS ,29.63,-112.09, 2 +TUS00080, 9,170SSW_TUS ,29.48,-112.16, 2 +TUS00081, 9,180SSW_TUS ,29.32,-112.24, 2 +TUS00082, 9,190SSW_TUS ,29.17,-112.31, 2 +TUS00083, 9,200SSW_TUS ,29.01,-112.38, 2 +TUS00084, 9,210SSW_TUS ,28.86,-112.45, 2 +TUS00085, 9,220SSW_TUS ,28.70,-112.52, 2 +TUS00086, 9,230SSW_TUS ,28.55,-112.59, 2 +TUS00087, 9,240SSW_TUS ,28.40,-112.66, 2 +TUS00088, 9,20SW_TUS ,31.86,-111.20, 2 +TUS00089, 9,30SW_TUS ,31.75,-111.34, 2 +TUS00090, 9,40SW_TUS ,31.63,-111.47, 2 +TUS00091, 9,50SW_TUS ,31.51,-111.61, 2 +TUS00092, 9,60SW_TUS ,31.39,-111.75, 2 +TUS00093, 9,70SW_TUS ,31.27,-111.88, 2 +TUS00094, 9,80SW_TUS ,31.15,-112.02, 2 +TUS00095, 9,90SW_TUS ,31.03,-112.16, 2 +TUS00096, 9,100SW_TUS ,30.91,-112.29, 2 +TUS00097, 9,110SW_TUS ,30.80,-112.43, 2 +TUS00098, 9,120SW_TUS ,30.68,-112.56, 2 +TUS00099, 9,130SW_TUS ,30.56,-112.70, 2 +TUS00100, 9,140SW_TUS ,30.44,-112.83, 2 +TUS00101, 9,150SW_TUS ,30.32,-112.97, 2 +TUS00102, 9,160SW_TUS ,30.20,-113.10, 2 +TUS00103, 9,170SW_TUS ,30.08,-113.23, 2 +TUS00104, 9,20WSW_TUS ,31.97,-111.28, 2 +TUS00105, 9,30WSW_TUS ,31.91,-111.46, 2 +TUS00106, 9,40WSW_TUS ,31.84,-111.64, 2 +TUS00107, 9,50WSW_TUS ,31.78,-111.83, 2 +TUS00108, 9,60WSW_TUS ,31.71,-112.01, 2 +TUS00109, 9,70WSW_TUS ,31.65,-112.19, 2 +TUS00110, 9,80WSW_TUS ,31.58,-112.37, 2 +TUS00111, 9,90WSW_TUS ,31.52,-112.54, 2 +TUS00112, 9,100WSW_TUS ,31.45,-112.72, 2 +TUS00113, 9,110WSW_TUS ,31.38,-112.90, 2 +TUS00114, 9,20W_TUS ,32.10,-111.31, 2 +TUS00115, 9,30W_TUS ,32.10,-111.51, 2 +TUS00116, 9,40W_TUS ,32.10,-111.71, 2 +TUS00117, 9,50W_TUS ,32.10,-111.90, 2 +TUS00118, 9,60W_TUS ,32.09,-112.10, 2 +TUS00119, 9,70W_TUS ,32.09,-112.30, 2 +TUS00120, 9,20WNW_TUS ,32.23,-111.28, 2 +TUS00121, 9,30WNW_TUS ,32.29,-111.47, 2 +TUS00122, 9,40WNW_TUS ,32.35,-111.65, 2 +TUS00123, 9,50WNW_TUS ,32.42,-111.83, 2 +TUS00124, 9,20NW_TUS ,32.34,-111.20, 2 +TUS00125, 9,30NW_TUS ,32.45,-111.34, 2 +TUS00126, 9,40NW_TUS ,32.57,-111.48, 2 +TUS00127, 9,20NNW_TUS ,32.41,-111.07, 2 +TUS00128, 9,30NNW_TUS ,32.56,-111.15, 2 +TUS00129, 9,40NNW_TUS ,32.72,-111.22, 2 TBC00000, 9,TBC ,36.12,-111.27, 1 TBC00001, 9,20N_TBC ,36.45,-111.27, 2 TBC00002, 9,30N_TBC ,36.62,-111.27, 2 @@ -17145,7 +17196,7 @@ YQL00080, 9,30NNW_YQL ,50.09,-113.10, 2 YQL00081, 9,40NNW_YQL ,50.24,-113.20, 2 YQL00082, 9,50NNW_YQL ,50.40,-113.30, 2 YQL00083, 9,60NNW_YQL ,50.55,-113.40, 2 -YQL00084, 9,70NNW_YQL ,50.70,-113.50, 2 +YQL00084, 9,70NNW_YQL ,50.71,-113.50, 2 YQL00085, 9,80NNW_YQL ,50.86,-113.61, 2 YQL00086, 9,90NNW_YQL ,51.01,-113.71, 2 YQL00087, 9,100NNW_YQL ,51.16,-113.82, 2 @@ -17954,7 +18005,7 @@ YXC00026, 9,30NNE_YXC ,50.06,-115.48, 2 YXC00027, 9,40NNE_YXC ,50.21,-115.38, 2 YXC00028, 9,50NNE_YXC ,50.37,-115.28, 2 YXC00029, 9,60NNE_YXC ,50.52,-115.18, 2 -YXC00030, 9,70NNE_YXC ,50.67,-115.08, 2 +YXC00030, 9,70NNE_YXC ,50.68,-115.08, 2 YXC00031, 9,80NNE_YXC ,50.83,-114.97, 2 YXC00032, 9,90NNE_YXC ,50.98,-114.87, 2 YXC00033, 9,100NNE_YXC ,51.13,-114.76, 2 @@ -18008,64 +18059,69 @@ YXC00080, 9,70SSW_YXC ,48.52,-116.45, 2 YXC00081, 9,80SSW_YXC ,48.37,-116.55, 2 YXC00082, 9,20SW_YXC ,49.36,-116.14, 2 YXC00083, 9,30SW_YXC ,49.25,-116.32, 2 -YXC00084, 9,60SW_YXC ,48.89,-116.85, 2 -YXC00085, 9,70SW_YXC ,48.77,-117.03, 2 -YXC00086, 9,80SW_YXC ,48.65,-117.21, 2 -YXC00087, 9,20WSW_YXC ,49.47,-116.25, 2 -YXC00088, 9,70WSW_YXC ,49.14,-117.43, 2 -YXC00089, 9,80WSW_YXC ,49.07,-117.66, 2 -YXC00090, 9,90WSW_YXC ,49.01,-117.89, 2 -YXC00091, 9,20W_YXC ,49.60,-116.29, 2 -YXC00092, 9,30W_YXC ,49.60,-116.55, 2 -YXC00093, 9,40W_YXC ,49.60,-116.81, 2 -YXC00094, 9,60W_YXC ,49.59,-117.32, 2 -YXC00095, 9,70W_YXC ,49.59,-117.58, 2 -YXC00096, 9,80W_YXC ,49.58,-117.84, 2 -YXC00097, 9,90W_YXC ,49.58,-118.09, 2 -YXC00098, 9,20WNW_YXC ,49.73,-116.26, 2 -YXC00099, 9,30WNW_YXC ,49.79,-116.50, 2 -YXC00100, 9,40WNW_YXC ,49.85,-116.73, 2 -YXC00101, 9,50WNW_YXC ,49.91,-116.97, 2 -YXC00102, 9,60WNW_YXC ,49.97,-117.22, 2 -YXC00103, 9,70WNW_YXC ,50.03,-117.46, 2 -YXC00104, 9,80WNW_YXC ,50.09,-117.70, 2 -YXC00105, 9,90WNW_YXC ,50.15,-117.94, 2 -YXC00106, 9,100WNW_YXC ,50.21,-118.18, 2 -YXC00107, 9,20NW_YXC ,49.83,-116.15, 2 -YXC00108, 9,30NW_YXC ,49.95,-116.33, 2 -YXC00109, 9,40NW_YXC ,50.07,-116.51, 2 -YXC00110, 9,50NW_YXC ,50.19,-116.70, 2 -YXC00111, 9,60NW_YXC ,50.30,-116.89, 2 -YXC00112, 9,70NW_YXC ,50.42,-117.07, 2 -YXC00113, 9,80NW_YXC ,50.53,-117.26, 2 -YXC00114, 9,90NW_YXC ,50.65,-117.45, 2 -YXC00115, 9,100NW_YXC ,50.76,-117.64, 2 -YXC00116, 9,110NW_YXC ,50.88,-117.83, 2 -YXC00117, 9,120NW_YXC ,50.99,-118.03, 2 -YXC00118, 9,130NW_YXC ,51.11,-118.22, 2 -YXC00119, 9,20NNW_YXC ,49.91,-115.98, 2 -YXC00120, 9,30NNW_YXC ,50.06,-116.08, 2 -YXC00121, 9,40NNW_YXC ,50.21,-116.18, 2 -YXC00122, 9,50NNW_YXC ,50.37,-116.28, 2 -YXC00123, 9,60NNW_YXC ,50.52,-116.38, 2 -YXC00124, 9,70NNW_YXC ,50.67,-116.48, 2 -YXC00125, 9,80NNW_YXC ,50.83,-116.59, 2 -YXC00126, 9,90NNW_YXC ,50.98,-116.69, 2 -YXC00127, 9,100NNW_YXC ,51.13,-116.80, 2 -YXC00128, 9,110NNW_YXC ,51.29,-116.90, 2 -YXC00129, 9,120NNW_YXC ,51.44,-117.01, 2 -YXC00130, 9,130NNW_YXC ,51.59,-117.11, 2 -YXC00131, 9,140NNW_YXC ,51.75,-117.22, 2 -YXC00132, 9,150NNW_YXC ,51.90,-117.33, 2 -YXC00133, 9,160NNW_YXC ,52.05,-117.44, 2 -YXC00134, 9,170NNW_YXC ,52.20,-117.55, 2 -YXC00135, 9,180NNW_YXC ,52.36,-117.66, 2 -YXC00136, 9,190NNW_YXC ,52.51,-117.77, 2 -YXC00137, 9,200NNW_YXC ,52.66,-117.88, 2 -YXC00138, 9,210NNW_YXC ,52.81,-117.99, 2 -YXC00139, 9,220NNW_YXC ,52.96,-118.11, 2 -YXC00140, 9,230NNW_YXC ,53.11,-118.22, 2 -YXC00141, 9,240NNW_YXC ,53.27,-118.34, 2 +YXC00084, 9,40SW_YXC ,49.13,-116.50, 2 +YXC00085, 9,50SW_YXC ,49.01,-116.68, 2 +YXC00086, 9,60SW_YXC ,48.89,-116.85, 2 +YXC00087, 9,70SW_YXC ,48.77,-117.03, 2 +YXC00088, 9,80SW_YXC ,48.65,-117.21, 2 +YXC00089, 9,20WSW_YXC ,49.47,-116.25, 2 +YXC00090, 9,30WSW_YXC ,49.41,-116.49, 2 +YXC00091, 9,60WSW_YXC ,49.21,-117.19, 2 +YXC00092, 9,70WSW_YXC ,49.14,-117.43, 2 +YXC00093, 9,80WSW_YXC ,49.07,-117.66, 2 +YXC00094, 9,90WSW_YXC ,49.01,-117.89, 2 +YXC00095, 9,20W_YXC ,49.60,-116.29, 2 +YXC00096, 9,30W_YXC ,49.60,-116.55, 2 +YXC00097, 9,40W_YXC ,49.60,-116.81, 2 +YXC00098, 9,50W_YXC ,49.59,-117.06, 2 +YXC00099, 9,60W_YXC ,49.59,-117.32, 2 +YXC00100, 9,70W_YXC ,49.59,-117.58, 2 +YXC00101, 9,80W_YXC ,49.58,-117.84, 2 +YXC00102, 9,90W_YXC ,49.58,-118.09, 2 +YXC00103, 9,20WNW_YXC ,49.73,-116.26, 2 +YXC00104, 9,30WNW_YXC ,49.79,-116.50, 2 +YXC00105, 9,40WNW_YXC ,49.85,-116.73, 2 +YXC00106, 9,50WNW_YXC ,49.91,-116.97, 2 +YXC00107, 9,60WNW_YXC ,49.97,-117.22, 2 +YXC00108, 9,70WNW_YXC ,50.03,-117.46, 2 +YXC00109, 9,80WNW_YXC ,50.09,-117.70, 2 +YXC00110, 9,90WNW_YXC ,50.15,-117.94, 2 +YXC00111, 9,100WNW_YXC ,50.21,-118.18, 2 +YXC00112, 9,20NW_YXC ,49.83,-116.15, 2 +YXC00113, 9,30NW_YXC ,49.95,-116.33, 2 +YXC00114, 9,40NW_YXC ,50.07,-116.51, 2 +YXC00115, 9,50NW_YXC ,50.19,-116.70, 2 +YXC00116, 9,60NW_YXC ,50.30,-116.89, 2 +YXC00117, 9,70NW_YXC ,50.42,-117.07, 2 +YXC00118, 9,80NW_YXC ,50.53,-117.26, 2 +YXC00119, 9,90NW_YXC ,50.65,-117.45, 2 +YXC00120, 9,100NW_YXC ,50.76,-117.64, 2 +YXC00121, 9,110NW_YXC ,50.88,-117.83, 2 +YXC00122, 9,120NW_YXC ,50.99,-118.03, 2 +YXC00123, 9,130NW_YXC ,51.11,-118.22, 2 +YXC00124, 9,20NNW_YXC ,49.91,-115.98, 2 +YXC00125, 9,30NNW_YXC ,50.06,-116.08, 2 +YXC00126, 9,40NNW_YXC ,50.21,-116.18, 2 +YXC00127, 9,50NNW_YXC ,50.37,-116.28, 2 +YXC00128, 9,60NNW_YXC ,50.52,-116.38, 2 +YXC00129, 9,70NNW_YXC ,50.68,-116.48, 2 +YXC00130, 9,80NNW_YXC ,50.83,-116.59, 2 +YXC00131, 9,90NNW_YXC ,50.98,-116.69, 2 +YXC00132, 9,100NNW_YXC ,51.13,-116.80, 2 +YXC00133, 9,110NNW_YXC ,51.29,-116.90, 2 +YXC00134, 9,120NNW_YXC ,51.44,-117.01, 2 +YXC00135, 9,130NNW_YXC ,51.59,-117.11, 2 +YXC00136, 9,140NNW_YXC ,51.75,-117.22, 2 +YXC00137, 9,150NNW_YXC ,51.90,-117.33, 2 +YXC00138, 9,160NNW_YXC ,52.05,-117.44, 2 +YXC00139, 9,170NNW_YXC ,52.20,-117.55, 2 +YXC00140, 9,180NNW_YXC ,52.36,-117.66, 2 +YXC00141, 9,190NNW_YXC ,52.51,-117.77, 2 +YXC00142, 9,200NNW_YXC ,52.66,-117.88, 2 +YXC00143, 9,210NNW_YXC ,52.81,-117.99, 2 +YXC00144, 9,220NNW_YXC ,52.96,-118.11, 2 +YXC00145, 9,230NNW_YXC ,53.11,-118.22, 2 +YXC00146, 9,240NNW_YXC ,53.27,-118.34, 2 TRM00000, 9,TRM ,33.63,-116.16, 1 TRM00001, 9,20N_TRM ,33.96,-116.16, 2 TRM00002, 9,30N_TRM ,34.13,-116.16, 2 @@ -18502,115 +18558,114 @@ MZB00023, 9,60SE_MZB ,32.07,-116.40, 2 MZB00024, 9,70SE_MZB ,31.95,-116.26, 2 MZB00025, 9,80SE_MZB ,31.83,-116.12, 2 MZB00026, 9,90SE_MZB ,31.71,-115.98, 2 -MZB00027, 9,20SSE_MZB ,32.47,-117.08, 2 -MZB00028, 9,30SSE_MZB ,32.32,-117.00, 2 -MZB00029, 9,40SSE_MZB ,32.16,-116.93, 2 -MZB00030, 9,50SSE_MZB ,32.01,-116.85, 2 -MZB00031, 9,60SSE_MZB ,31.86,-116.78, 2 -MZB00032, 9,70SSE_MZB ,31.70,-116.71, 2 -MZB00033, 9,80SSE_MZB ,31.55,-116.63, 2 -MZB00034, 9,90SSE_MZB ,31.39,-116.56, 2 -MZB00035, 9,100SSE_MZB ,31.24,-116.48, 2 -MZB00036, 9,110SSE_MZB ,31.08,-116.41, 2 -MZB00037, 9,120SSE_MZB ,30.93,-116.34, 2 -MZB00038, 9,130SSE_MZB ,30.78,-116.27, 2 -MZB00039, 9,140SSE_MZB ,30.62,-116.19, 2 -MZB00040, 9,150SSE_MZB ,30.47,-116.12, 2 -MZB00041, 9,160SSE_MZB ,30.31,-116.05, 2 -MZB00042, 9,170SSE_MZB ,30.16,-115.98, 2 -MZB00043, 9,20S_MZB ,32.45,-117.23, 2 -MZB00044, 9,30S_MZB ,32.28,-117.23, 2 -MZB00045, 9,40S_MZB ,32.11,-117.23, 2 -MZB00046, 9,50S_MZB ,31.95,-117.23, 2 -MZB00047, 9,60S_MZB ,31.78,-117.23, 2 -MZB00048, 9,70S_MZB ,31.61,-117.23, 2 -MZB00049, 9,80S_MZB ,31.45,-117.23, 2 -MZB00050, 9,90S_MZB ,31.28,-117.23, 2 -MZB00051, 9,100S_MZB ,31.11,-117.23, 2 -MZB00052, 9,110S_MZB ,30.95,-117.23, 2 -MZB00053, 9,120S_MZB ,30.78,-117.23, 2 -MZB00054, 9,130S_MZB ,30.61,-117.23, 2 -MZB00055, 9,140S_MZB ,30.45,-117.23, 2 -MZB00056, 9,150S_MZB ,30.28,-117.23, 2 -MZB00057, 9,160S_MZB ,30.12,-117.23, 2 -MZB00058, 9,170S_MZB ,29.95,-117.23, 2 -MZB00059, 9,180S_MZB ,29.78,-117.23, 2 -MZB00060, 9,190S_MZB ,29.62,-117.23, 2 -MZB00061, 9,200S_MZB ,29.45,-117.23, 2 -MZB00062, 9,210S_MZB ,29.28,-117.23, 2 -MZB00063, 9,220S_MZB ,29.12,-117.23, 2 -MZB00064, 9,230S_MZB ,28.95,-117.23, 2 -MZB00065, 9,240S_MZB ,28.78,-117.23, 2 -MZB00066, 9,250S_MZB ,28.62,-117.23, 2 -MZB00067, 9,20SSW_MZB ,32.47,-117.38, 2 -MZB00068, 9,30SSW_MZB ,32.32,-117.46, 2 -MZB00069, 9,40SSW_MZB ,32.16,-117.53, 2 -MZB00070, 9,50SSW_MZB ,32.01,-117.61, 2 -MZB00071, 9,60SSW_MZB ,31.86,-117.68, 2 -MZB00072, 9,70SSW_MZB ,31.70,-117.75, 2 -MZB00073, 9,80SSW_MZB ,31.55,-117.83, 2 -MZB00074, 9,90SSW_MZB ,31.39,-117.90, 2 -MZB00075, 9,100SSW_MZB ,31.24,-117.98, 2 -MZB00076, 9,110SSW_MZB ,31.08,-118.05, 2 -MZB00077, 9,120SSW_MZB ,30.93,-118.12, 2 -MZB00078, 9,130SSW_MZB ,30.78,-118.19, 2 -MZB00079, 9,140SSW_MZB ,30.62,-118.27, 2 -MZB00080, 9,150SSW_MZB ,30.47,-118.34, 2 -MZB00081, 9,160SSW_MZB ,30.31,-118.41, 2 -MZB00082, 9,170SSW_MZB ,30.16,-118.48, 2 -MZB00083, 9,180SSW_MZB ,30.00,-118.55, 2 -MZB00084, 9,190SSW_MZB ,29.85,-118.63, 2 -MZB00085, 9,200SSW_MZB ,29.69,-118.70, 2 -MZB00086, 9,210SSW_MZB ,29.54,-118.77, 2 -MZB00087, 9,220SSW_MZB ,29.38,-118.84, 2 -MZB00088, 9,230SSW_MZB ,29.23,-118.91, 2 -MZB00089, 9,240SSW_MZB ,29.07,-118.98, 2 -MZB00090, 9,20SW_MZB ,32.54,-117.51, 2 -MZB00091, 9,30SW_MZB ,32.43,-117.65, 2 -MZB00092, 9,40SW_MZB ,32.31,-117.79, 2 -MZB00093, 9,50SW_MZB ,32.19,-117.93, 2 -MZB00094, 9,60SW_MZB ,32.07,-118.06, 2 -MZB00095, 9,70SW_MZB ,31.95,-118.20, 2 -MZB00096, 9,80SW_MZB ,31.83,-118.34, 2 -MZB00097, 9,90SW_MZB ,31.71,-118.48, 2 -MZB00098, 9,100SW_MZB ,31.59,-118.61, 2 -MZB00099, 9,110SW_MZB ,31.48,-118.75, 2 -MZB00100, 9,120SW_MZB ,31.36,-118.88, 2 -MZB00101, 9,130SW_MZB ,31.24,-119.02, 2 -MZB00102, 9,140SW_MZB ,31.12,-119.16, 2 -MZB00103, 9,150SW_MZB ,31.00,-119.29, 2 -MZB00104, 9,160SW_MZB ,30.88,-119.43, 2 -MZB00105, 9,170SW_MZB ,30.76,-119.56, 2 -MZB00106, 9,180SW_MZB ,30.64,-119.69, 2 -MZB00107, 9,190SW_MZB ,30.52,-119.83, 2 -MZB00108, 9,200SW_MZB ,30.39,-119.96, 2 -MZB00109, 9,250SW_MZB ,29.79,-120.62, 2 -MZB00110, 9,20WSW_MZB ,32.65,-117.60, 2 -MZB00111, 9,30WSW_MZB ,32.59,-117.78, 2 -MZB00112, 9,40WSW_MZB ,32.52,-117.96, 2 -MZB00113, 9,50WSW_MZB ,32.46,-118.14, 2 -MZB00114, 9,60WSW_MZB ,32.39,-118.32, 2 -MZB00115, 9,70WSW_MZB ,32.33,-118.50, 2 -MZB00116, 9,80WSW_MZB ,32.26,-118.69, 2 -MZB00117, 9,90WSW_MZB ,32.20,-118.87, 2 -MZB00118, 9,100WSW_MZB ,32.13,-119.05, 2 -MZB00119, 9,110WSW_MZB ,32.06,-119.23, 2 -MZB00120, 9,120WSW_MZB ,32.00,-119.41, 2 -MZB00121, 9,130WSW_MZB ,31.93,-119.59, 2 -MZB00122, 9,20W_MZB ,32.78,-117.63, 2 -MZB00123, 9,30W_MZB ,32.78,-117.82, 2 -MZB00124, 9,40W_MZB ,32.78,-118.02, 2 -MZB00125, 9,50W_MZB ,32.78,-118.22, 2 -MZB00126, 9,60W_MZB ,32.77,-118.42, 2 -MZB00127, 9,20WNW_MZB ,32.91,-117.60, 2 -MZB00128, 9,30WNW_MZB ,32.97,-117.78, 2 -MZB00129, 9,40WNW_MZB ,33.03,-117.96, 2 -MZB00130, 9,20NW_MZB ,33.02,-117.51, 2 -MZB00131, 9,30NW_MZB ,33.13,-117.65, 2 -MZB00132, 9,40NW_MZB ,33.25,-117.79, 2 -MZB00133, 9,20NNW_MZB ,33.09,-117.38, 2 -MZB00134, 9,30NNW_MZB ,33.24,-117.46, 2 -MZB00135, 9,40NNW_MZB ,33.40,-117.54, 2 +MZB00027, 9,30SSE_MZB ,32.32,-117.00, 2 +MZB00028, 9,40SSE_MZB ,32.16,-116.93, 2 +MZB00029, 9,50SSE_MZB ,32.01,-116.85, 2 +MZB00030, 9,60SSE_MZB ,31.86,-116.78, 2 +MZB00031, 9,70SSE_MZB ,31.70,-116.71, 2 +MZB00032, 9,80SSE_MZB ,31.55,-116.63, 2 +MZB00033, 9,90SSE_MZB ,31.39,-116.56, 2 +MZB00034, 9,100SSE_MZB ,31.24,-116.48, 2 +MZB00035, 9,110SSE_MZB ,31.08,-116.41, 2 +MZB00036, 9,120SSE_MZB ,30.93,-116.34, 2 +MZB00037, 9,130SSE_MZB ,30.78,-116.27, 2 +MZB00038, 9,140SSE_MZB ,30.62,-116.19, 2 +MZB00039, 9,150SSE_MZB ,30.47,-116.12, 2 +MZB00040, 9,160SSE_MZB ,30.31,-116.05, 2 +MZB00041, 9,170SSE_MZB ,30.16,-115.98, 2 +MZB00042, 9,30S_MZB ,32.28,-117.23, 2 +MZB00043, 9,40S_MZB ,32.11,-117.23, 2 +MZB00044, 9,50S_MZB ,31.95,-117.23, 2 +MZB00045, 9,60S_MZB ,31.78,-117.23, 2 +MZB00046, 9,70S_MZB ,31.61,-117.23, 2 +MZB00047, 9,80S_MZB ,31.45,-117.23, 2 +MZB00048, 9,90S_MZB ,31.28,-117.23, 2 +MZB00049, 9,100S_MZB ,31.11,-117.23, 2 +MZB00050, 9,110S_MZB ,30.95,-117.23, 2 +MZB00051, 9,120S_MZB ,30.78,-117.23, 2 +MZB00052, 9,130S_MZB ,30.61,-117.23, 2 +MZB00053, 9,140S_MZB ,30.45,-117.23, 2 +MZB00054, 9,150S_MZB ,30.28,-117.23, 2 +MZB00055, 9,160S_MZB ,30.12,-117.23, 2 +MZB00056, 9,170S_MZB ,29.95,-117.23, 2 +MZB00057, 9,180S_MZB ,29.78,-117.23, 2 +MZB00058, 9,190S_MZB ,29.62,-117.23, 2 +MZB00059, 9,200S_MZB ,29.45,-117.23, 2 +MZB00060, 9,210S_MZB ,29.28,-117.23, 2 +MZB00061, 9,220S_MZB ,29.12,-117.23, 2 +MZB00062, 9,230S_MZB ,28.95,-117.23, 2 +MZB00063, 9,240S_MZB ,28.78,-117.23, 2 +MZB00064, 9,250S_MZB ,28.62,-117.23, 2 +MZB00065, 9,30SSW_MZB ,32.32,-117.46, 2 +MZB00066, 9,40SSW_MZB ,32.16,-117.53, 2 +MZB00067, 9,50SSW_MZB ,32.01,-117.61, 2 +MZB00068, 9,60SSW_MZB ,31.86,-117.68, 2 +MZB00069, 9,70SSW_MZB ,31.70,-117.75, 2 +MZB00070, 9,80SSW_MZB ,31.55,-117.83, 2 +MZB00071, 9,90SSW_MZB ,31.39,-117.90, 2 +MZB00072, 9,100SSW_MZB ,31.24,-117.98, 2 +MZB00073, 9,110SSW_MZB ,31.08,-118.05, 2 +MZB00074, 9,120SSW_MZB ,30.93,-118.12, 2 +MZB00075, 9,130SSW_MZB ,30.78,-118.19, 2 +MZB00076, 9,140SSW_MZB ,30.62,-118.27, 2 +MZB00077, 9,150SSW_MZB ,30.47,-118.34, 2 +MZB00078, 9,160SSW_MZB ,30.31,-118.41, 2 +MZB00079, 9,170SSW_MZB ,30.16,-118.48, 2 +MZB00080, 9,180SSW_MZB ,30.00,-118.55, 2 +MZB00081, 9,190SSW_MZB ,29.85,-118.63, 2 +MZB00082, 9,200SSW_MZB ,29.69,-118.70, 2 +MZB00083, 9,210SSW_MZB ,29.54,-118.77, 2 +MZB00084, 9,220SSW_MZB ,29.38,-118.84, 2 +MZB00085, 9,230SSW_MZB ,29.23,-118.91, 2 +MZB00086, 9,240SSW_MZB ,29.07,-118.98, 2 +MZB00087, 9,20SW_MZB ,32.54,-117.51, 2 +MZB00088, 9,30SW_MZB ,32.43,-117.65, 2 +MZB00089, 9,40SW_MZB ,32.31,-117.79, 2 +MZB00090, 9,50SW_MZB ,32.19,-117.93, 2 +MZB00091, 9,60SW_MZB ,32.07,-118.06, 2 +MZB00092, 9,70SW_MZB ,31.95,-118.20, 2 +MZB00093, 9,80SW_MZB ,31.83,-118.34, 2 +MZB00094, 9,90SW_MZB ,31.71,-118.48, 2 +MZB00095, 9,100SW_MZB ,31.59,-118.61, 2 +MZB00096, 9,110SW_MZB ,31.48,-118.75, 2 +MZB00097, 9,120SW_MZB ,31.36,-118.88, 2 +MZB00098, 9,130SW_MZB ,31.24,-119.02, 2 +MZB00099, 9,140SW_MZB ,31.12,-119.16, 2 +MZB00100, 9,150SW_MZB ,31.00,-119.29, 2 +MZB00101, 9,160SW_MZB ,30.88,-119.43, 2 +MZB00102, 9,170SW_MZB ,30.76,-119.56, 2 +MZB00103, 9,180SW_MZB ,30.64,-119.69, 2 +MZB00104, 9,190SW_MZB ,30.52,-119.83, 2 +MZB00105, 9,200SW_MZB ,30.39,-119.96, 2 +MZB00106, 9,210SW_MZB ,30.27,-120.09, 2 +MZB00107, 9,240SW_MZB ,29.91,-120.49, 2 +MZB00108, 9,250SW_MZB ,29.79,-120.62, 2 +MZB00109, 9,20WSW_MZB ,32.65,-117.60, 2 +MZB00110, 9,30WSW_MZB ,32.59,-117.78, 2 +MZB00111, 9,40WSW_MZB ,32.52,-117.96, 2 +MZB00112, 9,50WSW_MZB ,32.46,-118.14, 2 +MZB00113, 9,60WSW_MZB ,32.39,-118.32, 2 +MZB00114, 9,70WSW_MZB ,32.33,-118.50, 2 +MZB00115, 9,80WSW_MZB ,32.26,-118.69, 2 +MZB00116, 9,90WSW_MZB ,32.20,-118.87, 2 +MZB00117, 9,100WSW_MZB ,32.13,-119.05, 2 +MZB00118, 9,110WSW_MZB ,32.06,-119.23, 2 +MZB00119, 9,120WSW_MZB ,32.00,-119.41, 2 +MZB00120, 9,130WSW_MZB ,31.93,-119.59, 2 +MZB00121, 9,20W_MZB ,32.78,-117.63, 2 +MZB00122, 9,30W_MZB ,32.78,-117.82, 2 +MZB00123, 9,40W_MZB ,32.78,-118.02, 2 +MZB00124, 9,50W_MZB ,32.78,-118.22, 2 +MZB00125, 9,60W_MZB ,32.77,-118.42, 2 +MZB00126, 9,20WNW_MZB ,32.91,-117.60, 2 +MZB00127, 9,30WNW_MZB ,32.97,-117.78, 2 +MZB00128, 9,40WNW_MZB ,33.03,-117.96, 2 +MZB00129, 9,20NW_MZB ,33.02,-117.51, 2 +MZB00130, 9,30NW_MZB ,33.13,-117.65, 2 +MZB00131, 9,40NW_MZB ,33.25,-117.79, 2 +MZB00132, 9,20NNW_MZB ,33.09,-117.38, 2 +MZB00133, 9,30NNW_MZB ,33.24,-117.46, 2 +MZB00134, 9,40NNW_MZB ,33.40,-117.54, 2 GEG00000, 9,GEG ,47.56,-117.63, 1 GEG00001, 9,20N_GEG ,47.89,-117.63, 2 GEG00002, 9,30N_GEG ,48.06,-117.63, 2 @@ -18846,62 +18901,66 @@ REO00015, 9,40E_REO ,42.59,-116.97, 2 REO00016, 9,20ESE_REO ,42.46,-117.45, 2 REO00017, 9,30ESE_REO ,42.40,-117.24, 2 REO00018, 9,40ESE_REO ,42.33,-117.04, 2 -REO00019, 9,60ESE_REO ,42.20,-116.62, 2 -REO00020, 9,70ESE_REO ,42.13,-116.42, 2 -REO00021, 9,20SE_REO ,42.35,-117.55, 2 -REO00022, 9,70SE_REO ,41.76,-116.76, 2 -REO00023, 9,20SSE_REO ,42.28,-117.70, 2 -REO00024, 9,30SSE_REO ,42.13,-117.61, 2 -REO00025, 9,40SSE_REO ,41.97,-117.53, 2 -REO00026, 9,60SSE_REO ,41.67,-117.36, 2 -REO00027, 9,70SSE_REO ,41.51,-117.27, 2 -REO00028, 9,20S_REO ,42.26,-117.87, 2 -REO00029, 9,30S_REO ,42.09,-117.87, 2 -REO00030, 9,40S_REO ,41.92,-117.87, 2 -REO00031, 9,50S_REO ,41.76,-117.87, 2 -REO00032, 9,60S_REO ,41.59,-117.87, 2 -REO00033, 9,70S_REO ,41.42,-117.87, 2 -REO00034, 9,20SSW_REO ,42.28,-118.04, 2 -REO00035, 9,30SSW_REO ,42.13,-118.13, 2 -REO00036, 9,40SSW_REO ,41.97,-118.21, 2 -REO00037, 9,50SSW_REO ,41.82,-118.30, 2 -REO00038, 9,60SSW_REO ,41.67,-118.38, 2 -REO00039, 9,70SSW_REO ,41.51,-118.47, 2 -REO00040, 9,80SSW_REO ,41.36,-118.55, 2 -REO00041, 9,90SSW_REO ,41.20,-118.63, 2 -REO00042, 9,20SW_REO ,42.35,-118.19, 2 -REO00043, 9,30SW_REO ,42.24,-118.35, 2 -REO00044, 9,40SW_REO ,42.12,-118.51, 2 -REO00045, 9,50SW_REO ,42.00,-118.66, 2 -REO00046, 9,60SW_REO ,41.88,-118.82, 2 -REO00047, 9,70SW_REO ,41.76,-118.98, 2 -REO00048, 9,80SW_REO ,41.64,-119.13, 2 -REO00049, 9,20WSW_REO ,42.46,-118.29, 2 -REO00050, 9,30WSW_REO ,42.40,-118.50, 2 -REO00051, 9,40WSW_REO ,42.33,-118.70, 2 -REO00052, 9,50WSW_REO ,42.27,-118.91, 2 -REO00053, 9,60WSW_REO ,42.20,-119.12, 2 -REO00054, 9,20W_REO ,42.59,-118.32, 2 -REO00055, 9,30W_REO ,42.59,-118.55, 2 -REO00056, 9,40W_REO ,42.59,-118.77, 2 -REO00057, 9,50W_REO ,42.58,-119.00, 2 -REO00058, 9,20WNW_REO ,42.72,-118.29, 2 -REO00059, 9,30WNW_REO ,42.78,-118.50, 2 -REO00060, 9,40WNW_REO ,42.84,-118.71, 2 -REO00061, 9,50WNW_REO ,42.90,-118.92, 2 -REO00062, 9,60WNW_REO ,42.97,-119.13, 2 -REO00063, 9,20NW_REO ,42.83,-118.19, 2 -REO00064, 9,30NW_REO ,42.94,-118.35, 2 -REO00065, 9,40NW_REO ,43.06,-118.51, 2 -REO00066, 9,50NW_REO ,43.18,-118.68, 2 -REO00067, 9,60NW_REO ,43.29,-118.84, 2 -REO00068, 9,70NW_REO ,43.41,-119.00, 2 -REO00069, 9,80NW_REO ,43.52,-119.17, 2 -REO00070, 9,20NNW_REO ,42.90,-118.04, 2 -REO00071, 9,30NNW_REO ,43.05,-118.13, 2 -REO00072, 9,40NNW_REO ,43.20,-118.22, 2 -REO00073, 9,50NNW_REO ,43.36,-118.31, 2 -REO00074, 9,60NNW_REO ,43.51,-118.40, 2 +REO00019, 9,50ESE_REO ,42.27,-116.83, 2 +REO00020, 9,60ESE_REO ,42.20,-116.62, 2 +REO00021, 9,70ESE_REO ,42.13,-116.42, 2 +REO00022, 9,20SE_REO ,42.35,-117.55, 2 +REO00023, 9,30SE_REO ,42.24,-117.39, 2 +REO00024, 9,60SE_REO ,41.88,-116.92, 2 +REO00025, 9,70SE_REO ,41.76,-116.76, 2 +REO00026, 9,20SSE_REO ,42.28,-117.70, 2 +REO00027, 9,30SSE_REO ,42.13,-117.61, 2 +REO00028, 9,40SSE_REO ,41.97,-117.53, 2 +REO00029, 9,50SSE_REO ,41.82,-117.44, 2 +REO00030, 9,60SSE_REO ,41.67,-117.36, 2 +REO00031, 9,70SSE_REO ,41.51,-117.27, 2 +REO00032, 9,20S_REO ,42.26,-117.87, 2 +REO00033, 9,30S_REO ,42.09,-117.87, 2 +REO00034, 9,40S_REO ,41.92,-117.87, 2 +REO00035, 9,50S_REO ,41.76,-117.87, 2 +REO00036, 9,60S_REO ,41.59,-117.87, 2 +REO00037, 9,70S_REO ,41.42,-117.87, 2 +REO00038, 9,20SSW_REO ,42.28,-118.04, 2 +REO00039, 9,30SSW_REO ,42.13,-118.13, 2 +REO00040, 9,40SSW_REO ,41.97,-118.21, 2 +REO00041, 9,50SSW_REO ,41.82,-118.30, 2 +REO00042, 9,60SSW_REO ,41.67,-118.38, 2 +REO00043, 9,70SSW_REO ,41.51,-118.47, 2 +REO00044, 9,80SSW_REO ,41.36,-118.55, 2 +REO00045, 9,90SSW_REO ,41.20,-118.63, 2 +REO00046, 9,20SW_REO ,42.35,-118.19, 2 +REO00047, 9,30SW_REO ,42.24,-118.35, 2 +REO00048, 9,40SW_REO ,42.12,-118.51, 2 +REO00049, 9,50SW_REO ,42.00,-118.66, 2 +REO00050, 9,60SW_REO ,41.88,-118.82, 2 +REO00051, 9,70SW_REO ,41.76,-118.98, 2 +REO00052, 9,80SW_REO ,41.64,-119.13, 2 +REO00053, 9,20WSW_REO ,42.46,-118.29, 2 +REO00054, 9,30WSW_REO ,42.40,-118.50, 2 +REO00055, 9,40WSW_REO ,42.33,-118.70, 2 +REO00056, 9,50WSW_REO ,42.27,-118.91, 2 +REO00057, 9,60WSW_REO ,42.20,-119.12, 2 +REO00058, 9,20W_REO ,42.59,-118.32, 2 +REO00059, 9,30W_REO ,42.59,-118.55, 2 +REO00060, 9,40W_REO ,42.59,-118.77, 2 +REO00061, 9,50W_REO ,42.58,-119.00, 2 +REO00062, 9,20WNW_REO ,42.72,-118.29, 2 +REO00063, 9,30WNW_REO ,42.78,-118.50, 2 +REO00064, 9,40WNW_REO ,42.84,-118.71, 2 +REO00065, 9,50WNW_REO ,42.90,-118.92, 2 +REO00066, 9,60WNW_REO ,42.97,-119.13, 2 +REO00067, 9,20NW_REO ,42.83,-118.19, 2 +REO00068, 9,30NW_REO ,42.94,-118.35, 2 +REO00069, 9,40NW_REO ,43.06,-118.51, 2 +REO00070, 9,50NW_REO ,43.18,-118.68, 2 +REO00071, 9,60NW_REO ,43.29,-118.84, 2 +REO00072, 9,70NW_REO ,43.41,-119.00, 2 +REO00073, 9,80NW_REO ,43.52,-119.17, 2 +REO00074, 9,20NNW_REO ,42.90,-118.04, 2 +REO00075, 9,30NNW_REO ,43.05,-118.13, 2 +REO00076, 9,40NNW_REO ,43.20,-118.22, 2 +REO00077, 9,50NNW_REO ,43.36,-118.31, 2 +REO00078, 9,60NNW_REO ,43.51,-118.40, 2 LAX00000, 9,LAX ,33.93,-118.43, 1 LAX00001, 9,20N_LAX ,34.26,-118.43, 2 LAX00002, 9,30N_LAX ,34.43,-118.43, 2 @@ -19210,40 +19269,47 @@ FMG00046, 9,50SSE_FMG ,38.76,-119.25, 2 FMG00047, 9,60SSE_FMG ,38.61,-119.17, 2 FMG00048, 9,70SSE_FMG ,38.45,-119.09, 2 FMG00049, 9,20S_FMG ,39.20,-119.66, 2 -FMG00050, 9,60S_FMG ,38.53,-119.66, 2 -FMG00051, 9,70S_FMG ,38.36,-119.66, 2 -FMG00052, 9,80S_FMG ,38.20,-119.66, 2 -FMG00053, 9,20SSW_FMG ,39.22,-119.82, 2 -FMG00054, 9,70SSW_FMG ,38.45,-120.23, 2 -FMG00055, 9,20SW_FMG ,39.29,-119.96, 2 -FMG00056, 9,50SW_FMG ,38.94,-120.42, 2 -FMG00057, 9,60SW_FMG ,38.82,-120.57, 2 -FMG00058, 9,20WSW_FMG ,39.40,-120.06, 2 -FMG00059, 9,30WSW_FMG ,39.34,-120.26, 2 -FMG00060, 9,40WSW_FMG ,39.27,-120.46, 2 -FMG00061, 9,50WSW_FMG ,39.21,-120.65, 2 -FMG00062, 9,60WSW_FMG ,39.14,-120.85, 2 -FMG00063, 9,20W_FMG ,39.53,-120.09, 2 -FMG00064, 9,30W_FMG ,39.53,-120.31, 2 -FMG00065, 9,40W_FMG ,39.53,-120.52, 2 -FMG00066, 9,50W_FMG ,39.53,-120.74, 2 -FMG00067, 9,60W_FMG ,39.52,-120.96, 2 -FMG00068, 9,20WNW_FMG ,39.66,-120.06, 2 -FMG00069, 9,30WNW_FMG ,39.72,-120.26, 2 -FMG00070, 9,40WNW_FMG ,39.78,-120.46, 2 -FMG00071, 9,50WNW_FMG ,39.84,-120.66, 2 -FMG00072, 9,20NW_FMG ,39.77,-119.97, 2 -FMG00073, 9,30NW_FMG ,39.88,-120.12, 2 -FMG00074, 9,40NW_FMG ,40.00,-120.27, 2 -FMG00075, 9,50NW_FMG ,40.12,-120.43, 2 -FMG00076, 9,60NW_FMG ,40.23,-120.59, 2 -FMG00077, 9,20NNW_FMG ,39.84,-119.83, 2 -FMG00078, 9,30NNW_FMG ,39.99,-119.91, 2 -FMG00079, 9,40NNW_FMG ,40.15,-119.99, 2 -FMG00080, 9,50NNW_FMG ,40.30,-120.08, 2 -FMG00081, 9,60NNW_FMG ,40.45,-120.16, 2 -FMG00082, 9,70NNW_FMG ,40.61,-120.25, 2 -FMG00083, 9,80NNW_FMG ,40.76,-120.33, 2 +FMG00050, 9,30S_FMG ,39.03,-119.66, 2 +FMG00051, 9,40S_FMG ,38.86,-119.66, 2 +FMG00052, 9,50S_FMG ,38.70,-119.66, 2 +FMG00053, 9,60S_FMG ,38.53,-119.66, 2 +FMG00054, 9,70S_FMG ,38.36,-119.66, 2 +FMG00055, 9,80S_FMG ,38.20,-119.66, 2 +FMG00056, 9,20SSW_FMG ,39.22,-119.82, 2 +FMG00057, 9,30SSW_FMG ,39.07,-119.91, 2 +FMG00058, 9,60SSW_FMG ,38.61,-120.15, 2 +FMG00059, 9,70SSW_FMG ,38.45,-120.23, 2 +FMG00060, 9,20SW_FMG ,39.29,-119.96, 2 +FMG00061, 9,30SW_FMG ,39.18,-120.12, 2 +FMG00062, 9,40SW_FMG ,39.06,-120.27, 2 +FMG00063, 9,50SW_FMG ,38.94,-120.42, 2 +FMG00064, 9,60SW_FMG ,38.82,-120.57, 2 +FMG00065, 9,20WSW_FMG ,39.40,-120.06, 2 +FMG00066, 9,30WSW_FMG ,39.34,-120.26, 2 +FMG00067, 9,40WSW_FMG ,39.27,-120.46, 2 +FMG00068, 9,50WSW_FMG ,39.21,-120.65, 2 +FMG00069, 9,60WSW_FMG ,39.14,-120.85, 2 +FMG00070, 9,20W_FMG ,39.53,-120.09, 2 +FMG00071, 9,30W_FMG ,39.53,-120.31, 2 +FMG00072, 9,40W_FMG ,39.53,-120.52, 2 +FMG00073, 9,50W_FMG ,39.53,-120.74, 2 +FMG00074, 9,60W_FMG ,39.52,-120.96, 2 +FMG00075, 9,20WNW_FMG ,39.66,-120.06, 2 +FMG00076, 9,30WNW_FMG ,39.72,-120.26, 2 +FMG00077, 9,40WNW_FMG ,39.78,-120.46, 2 +FMG00078, 9,50WNW_FMG ,39.84,-120.66, 2 +FMG00079, 9,20NW_FMG ,39.77,-119.97, 2 +FMG00080, 9,30NW_FMG ,39.88,-120.12, 2 +FMG00081, 9,40NW_FMG ,40.00,-120.27, 2 +FMG00082, 9,50NW_FMG ,40.12,-120.43, 2 +FMG00083, 9,60NW_FMG ,40.23,-120.59, 2 +FMG00084, 9,20NNW_FMG ,39.84,-119.83, 2 +FMG00085, 9,30NNW_FMG ,39.99,-119.91, 2 +FMG00086, 9,40NNW_FMG ,40.15,-119.99, 2 +FMG00087, 9,50NNW_FMG ,40.30,-120.08, 2 +FMG00088, 9,60NNW_FMG ,40.45,-120.16, 2 +FMG00089, 9,70NNW_FMG ,40.61,-120.25, 2 +FMG00090, 9,80NNW_FMG ,40.76,-120.33, 2 RZS00000, 9,RZS ,34.51,-119.77, 1 RZS00001, 9,20N_RZS ,34.84,-119.77, 2 RZS00002, 9,30N_RZS ,35.01,-119.77, 2 @@ -19505,59 +19571,66 @@ LKV00021, 9,30E_LKV ,42.49,-119.83, 2 LKV00022, 9,40E_LKV ,42.49,-119.61, 2 LKV00023, 9,50E_LKV ,42.48,-119.38, 2 LKV00024, 9,20ESE_LKV ,42.36,-120.09, 2 -LKV00025, 9,60ESE_LKV ,42.10,-119.27, 2 -LKV00026, 9,20SE_LKV ,42.25,-120.19, 2 -LKV00027, 9,70SE_LKV ,41.66,-119.41, 2 -LKV00028, 9,80SE_LKV ,41.54,-119.25, 2 -LKV00029, 9,20SSE_LKV ,42.18,-120.34, 2 -LKV00030, 9,50SSE_LKV ,41.72,-120.08, 2 -LKV00031, 9,60SSE_LKV ,41.57,-120.00, 2 -LKV00032, 9,70SSE_LKV ,41.41,-119.92, 2 -LKV00033, 9,80SSE_LKV ,41.26,-119.83, 2 -LKV00034, 9,90SSE_LKV ,41.10,-119.75, 2 -LKV00035, 9,100SSE_LKV ,40.95,-119.67, 2 -LKV00036, 9,20S_LKV ,42.16,-120.51, 2 -LKV00037, 9,30S_LKV ,41.99,-120.51, 2 -LKV00038, 9,40S_LKV ,41.82,-120.51, 2 -LKV00039, 9,50S_LKV ,41.66,-120.51, 2 -LKV00040, 9,60S_LKV ,41.49,-120.51, 2 -LKV00041, 9,70S_LKV ,41.32,-120.51, 2 -LKV00042, 9,80S_LKV ,41.16,-120.51, 2 -LKV00043, 9,90S_LKV ,40.99,-120.51, 2 -LKV00044, 9,100S_LKV ,40.82,-120.51, 2 -LKV00045, 9,20SSW_LKV ,42.18,-120.68, 2 -LKV00046, 9,30SSW_LKV ,42.03,-120.77, 2 -LKV00047, 9,40SSW_LKV ,41.87,-120.85, 2 -LKV00048, 9,50SSW_LKV ,41.72,-120.94, 2 -LKV00049, 9,60SSW_LKV ,41.57,-121.02, 2 -LKV00050, 9,70SSW_LKV ,41.41,-121.10, 2 -LKV00051, 9,80SSW_LKV ,41.26,-121.19, 2 -LKV00052, 9,90SSW_LKV ,41.10,-121.27, 2 -LKV00053, 9,20SW_LKV ,42.25,-120.83, 2 -LKV00054, 9,30SW_LKV ,42.14,-120.99, 2 -LKV00055, 9,40SW_LKV ,42.02,-121.14, 2 -LKV00056, 9,50SW_LKV ,41.90,-121.30, 2 -LKV00057, 9,60SW_LKV ,41.78,-121.46, 2 -LKV00058, 9,70SW_LKV ,41.66,-121.61, 2 -LKV00059, 9,20WSW_LKV ,42.36,-120.93, 2 -LKV00060, 9,30WSW_LKV ,42.30,-121.13, 2 -LKV00061, 9,40WSW_LKV ,42.23,-121.34, 2 -LKV00062, 9,50WSW_LKV ,42.17,-121.55, 2 -LKV00063, 9,20W_LKV ,42.49,-120.96, 2 -LKV00064, 9,30W_LKV ,42.49,-121.19, 2 -LKV00065, 9,40W_LKV ,42.49,-121.41, 2 -LKV00066, 9,50W_LKV ,42.48,-121.64, 2 -LKV00067, 9,20WNW_LKV ,42.62,-120.93, 2 -LKV00068, 9,30WNW_LKV ,42.68,-121.14, 2 -LKV00069, 9,40WNW_LKV ,42.74,-121.35, 2 -LKV00070, 9,50WNW_LKV ,42.80,-121.56, 2 -LKV00071, 9,20NW_LKV ,42.73,-120.83, 2 -LKV00072, 9,30NW_LKV ,42.84,-120.99, 2 -LKV00073, 9,40NW_LKV ,42.96,-121.15, 2 -LKV00074, 9,50NW_LKV ,43.08,-121.32, 2 -LKV00075, 9,20NNW_LKV ,42.80,-120.68, 2 -LKV00076, 9,30NNW_LKV ,42.95,-120.77, 2 -LKV00077, 9,40NNW_LKV ,43.10,-120.86, 2 +LKV00025, 9,30ESE_LKV ,42.30,-119.89, 2 +LKV00026, 9,40ESE_LKV ,42.23,-119.68, 2 +LKV00027, 9,50ESE_LKV ,42.17,-119.47, 2 +LKV00028, 9,60ESE_LKV ,42.10,-119.27, 2 +LKV00029, 9,20SE_LKV ,42.25,-120.19, 2 +LKV00030, 9,30SE_LKV ,42.14,-120.03, 2 +LKV00031, 9,60SE_LKV ,41.78,-119.56, 2 +LKV00032, 9,70SE_LKV ,41.66,-119.41, 2 +LKV00033, 9,80SE_LKV ,41.54,-119.25, 2 +LKV00034, 9,20SSE_LKV ,42.18,-120.34, 2 +LKV00035, 9,30SSE_LKV ,42.03,-120.25, 2 +LKV00036, 9,40SSE_LKV ,41.87,-120.17, 2 +LKV00037, 9,50SSE_LKV ,41.72,-120.08, 2 +LKV00038, 9,60SSE_LKV ,41.57,-120.00, 2 +LKV00039, 9,70SSE_LKV ,41.41,-119.92, 2 +LKV00040, 9,80SSE_LKV ,41.26,-119.83, 2 +LKV00041, 9,90SSE_LKV ,41.10,-119.75, 2 +LKV00042, 9,100SSE_LKV ,40.95,-119.67, 2 +LKV00043, 9,20S_LKV ,42.16,-120.51, 2 +LKV00044, 9,30S_LKV ,41.99,-120.51, 2 +LKV00045, 9,40S_LKV ,41.82,-120.51, 2 +LKV00046, 9,50S_LKV ,41.66,-120.51, 2 +LKV00047, 9,60S_LKV ,41.49,-120.51, 2 +LKV00048, 9,70S_LKV ,41.32,-120.51, 2 +LKV00049, 9,80S_LKV ,41.16,-120.51, 2 +LKV00050, 9,90S_LKV ,40.99,-120.51, 2 +LKV00051, 9,100S_LKV ,40.82,-120.51, 2 +LKV00052, 9,20SSW_LKV ,42.18,-120.68, 2 +LKV00053, 9,30SSW_LKV ,42.03,-120.77, 2 +LKV00054, 9,40SSW_LKV ,41.87,-120.85, 2 +LKV00055, 9,50SSW_LKV ,41.72,-120.94, 2 +LKV00056, 9,60SSW_LKV ,41.57,-121.02, 2 +LKV00057, 9,70SSW_LKV ,41.41,-121.10, 2 +LKV00058, 9,80SSW_LKV ,41.26,-121.19, 2 +LKV00059, 9,90SSW_LKV ,41.10,-121.27, 2 +LKV00060, 9,20SW_LKV ,42.25,-120.83, 2 +LKV00061, 9,30SW_LKV ,42.14,-120.99, 2 +LKV00062, 9,40SW_LKV ,42.02,-121.14, 2 +LKV00063, 9,50SW_LKV ,41.90,-121.30, 2 +LKV00064, 9,60SW_LKV ,41.78,-121.46, 2 +LKV00065, 9,70SW_LKV ,41.66,-121.61, 2 +LKV00066, 9,20WSW_LKV ,42.36,-120.93, 2 +LKV00067, 9,30WSW_LKV ,42.30,-121.13, 2 +LKV00068, 9,40WSW_LKV ,42.23,-121.34, 2 +LKV00069, 9,50WSW_LKV ,42.17,-121.55, 2 +LKV00070, 9,20W_LKV ,42.49,-120.96, 2 +LKV00071, 9,30W_LKV ,42.49,-121.19, 2 +LKV00072, 9,40W_LKV ,42.49,-121.41, 2 +LKV00073, 9,50W_LKV ,42.48,-121.64, 2 +LKV00074, 9,20WNW_LKV ,42.62,-120.93, 2 +LKV00075, 9,30WNW_LKV ,42.68,-121.14, 2 +LKV00076, 9,40WNW_LKV ,42.74,-121.35, 2 +LKV00077, 9,50WNW_LKV ,42.80,-121.56, 2 +LKV00078, 9,20NW_LKV ,42.73,-120.83, 2 +LKV00079, 9,30NW_LKV ,42.84,-120.99, 2 +LKV00080, 9,40NW_LKV ,42.96,-121.15, 2 +LKV00081, 9,50NW_LKV ,43.08,-121.32, 2 +LKV00082, 9,20NNW_LKV ,42.80,-120.68, 2 +LKV00083, 9,30NNW_LKV ,42.95,-120.77, 2 +LKV00084, 9,40NNW_LKV ,43.10,-120.86, 2 YDC00000, 9,YDC ,49.47,-120.52, 1 YDC00001, 9,20N_YDC ,49.80,-120.52, 2 YDC00002, 9,30N_YDC ,49.97,-120.52, 2 @@ -19583,129 +19656,136 @@ YDC00021, 9,220N_YDC ,53.13,-120.52, 2 YDC00022, 9,230N_YDC ,53.30,-120.52, 2 YDC00023, 9,240N_YDC ,53.47,-120.52, 2 YDC00024, 9,250N_YDC ,53.63,-120.52, 2 -YDC00025, 9,30NNE_YDC ,49.93,-120.22, 2 -YDC00026, 9,40NNE_YDC ,50.08,-120.12, 2 -YDC00027, 9,50NNE_YDC ,50.24,-120.02, 2 -YDC00028, 9,60NNE_YDC ,50.39,-119.92, 2 -YDC00029, 9,70NNE_YDC ,50.55,-119.82, 2 -YDC00030, 9,80NNE_YDC ,50.70,-119.72, 2 -YDC00031, 9,90NNE_YDC ,50.85,-119.61, 2 -YDC00032, 9,100NNE_YDC ,51.00,-119.51, 2 -YDC00033, 9,110NNE_YDC ,51.16,-119.40, 2 -YDC00034, 9,120NNE_YDC ,51.31,-119.30, 2 -YDC00035, 9,130NNE_YDC ,51.46,-119.19, 2 -YDC00036, 9,140NNE_YDC ,51.62,-119.08, 2 -YDC00037, 9,150NNE_YDC ,51.77,-118.98, 2 -YDC00038, 9,160NNE_YDC ,51.92,-118.87, 2 -YDC00039, 9,170NNE_YDC ,52.07,-118.76, 2 -YDC00040, 9,180NNE_YDC ,52.23,-118.65, 2 -YDC00041, 9,190NNE_YDC ,52.38,-118.54, 2 -YDC00042, 9,200NNE_YDC ,52.53,-118.43, 2 -YDC00043, 9,210NNE_YDC ,52.68,-118.31, 2 -YDC00044, 9,30NE_YDC ,49.82,-119.97, 2 -YDC00045, 9,40NE_YDC ,49.94,-119.79, 2 -YDC00046, 9,50NE_YDC ,50.06,-119.60, 2 -YDC00047, 9,60NE_YDC ,50.17,-119.42, 2 -YDC00048, 9,70NE_YDC ,50.29,-119.23, 2 -YDC00049, 9,80NE_YDC ,50.40,-119.04, 2 -YDC00050, 9,90NE_YDC ,50.52,-118.85, 2 -YDC00051, 9,100NE_YDC ,50.63,-118.66, 2 -YDC00052, 9,110NE_YDC ,50.75,-118.47, 2 -YDC00053, 9,120NE_YDC ,50.86,-118.28, 2 -YDC00054, 9,30ENE_YDC ,49.66,-119.81, 2 -YDC00055, 9,40ENE_YDC ,49.72,-119.57, 2 -YDC00056, 9,50ENE_YDC ,49.78,-119.33, 2 -YDC00057, 9,60ENE_YDC ,49.84,-119.09, 2 -YDC00058, 9,70ENE_YDC ,49.90,-118.85, 2 -YDC00059, 9,80ENE_YDC ,49.96,-118.61, 2 -YDC00060, 9,90ENE_YDC ,50.02,-118.36, 2 -YDC00061, 9,30E_YDC ,49.47,-119.75, 2 -YDC00062, 9,40E_YDC ,49.47,-119.49, 2 -YDC00063, 9,50E_YDC ,49.46,-119.24, 2 -YDC00064, 9,60E_YDC ,49.46,-118.98, 2 -YDC00065, 9,70E_YDC ,49.46,-118.73, 2 -YDC00066, 9,80E_YDC ,49.45,-118.47, 2 -YDC00067, 9,90E_YDC ,49.45,-118.21, 2 -YDC00068, 9,30ESE_YDC ,49.28,-119.81, 2 -YDC00069, 9,40ESE_YDC ,49.21,-119.58, 2 -YDC00070, 9,50ESE_YDC ,49.15,-119.34, 2 -YDC00071, 9,60ESE_YDC ,49.08,-119.11, 2 -YDC00072, 9,70ESE_YDC ,49.01,-118.88, 2 -YDC00073, 9,80ESE_YDC ,48.94,-118.65, 2 -YDC00074, 9,90ESE_YDC ,48.88,-118.41, 2 -YDC00075, 9,30SE_YDC ,49.12,-119.98, 2 -YDC00076, 9,40SE_YDC ,49.00,-119.80, 2 -YDC00077, 9,50SE_YDC ,48.88,-119.62, 2 -YDC00078, 9,60SE_YDC ,48.76,-119.45, 2 -YDC00079, 9,70SE_YDC ,48.64,-119.27, 2 -YDC00080, 9,80SE_YDC ,48.52,-119.10, 2 -YDC00081, 9,30SSE_YDC ,49.01,-120.23, 2 -YDC00082, 9,40SSE_YDC ,48.85,-120.13, 2 -YDC00083, 9,50SSE_YDC ,48.70,-120.04, 2 -YDC00084, 9,60SSE_YDC ,48.55,-119.94, 2 -YDC00085, 9,70SSE_YDC ,48.39,-119.85, 2 -YDC00086, 9,20S_YDC ,49.14,-120.52, 2 -YDC00087, 9,30S_YDC ,48.97,-120.52, 2 -YDC00088, 9,40S_YDC ,48.80,-120.52, 2 -YDC00089, 9,50S_YDC ,48.64,-120.52, 2 -YDC00090, 9,60S_YDC ,48.47,-120.52, 2 -YDC00091, 9,70S_YDC ,48.30,-120.52, 2 -YDC00092, 9,80S_YDC ,48.14,-120.52, 2 -YDC00093, 9,20SSW_YDC ,49.16,-120.71, 2 -YDC00094, 9,30SSW_YDC ,49.01,-120.81, 2 -YDC00095, 9,40SSW_YDC ,48.85,-120.91, 2 -YDC00096, 9,50SSW_YDC ,48.70,-121.00, 2 -YDC00097, 9,60SSW_YDC ,48.55,-121.10, 2 -YDC00098, 9,70SSW_YDC ,48.39,-121.19, 2 -YDC00099, 9,20SW_YDC ,49.23,-120.88, 2 -YDC00100, 9,30SW_YDC ,49.12,-121.06, 2 -YDC00101, 9,40SW_YDC ,49.00,-121.24, 2 -YDC00102, 9,50SW_YDC ,48.88,-121.42, 2 -YDC00103, 9,20WSW_YDC ,49.34,-120.99, 2 -YDC00104, 9,30WSW_YDC ,49.28,-121.23, 2 -YDC00105, 9,40WSW_YDC ,49.21,-121.46, 2 -YDC00106, 9,20W_YDC ,49.47,-121.03, 2 -YDC00107, 9,30W_YDC ,49.47,-121.29, 2 -YDC00108, 9,40W_YDC ,49.47,-121.55, 2 -YDC00109, 9,50W_YDC ,49.46,-121.80, 2 -YDC00110, 9,20WNW_YDC ,49.60,-120.99, 2 -YDC00111, 9,30WNW_YDC ,49.66,-121.23, 2 -YDC00112, 9,40WNW_YDC ,49.72,-121.47, 2 -YDC00113, 9,50WNW_YDC ,49.78,-121.71, 2 -YDC00114, 9,60WNW_YDC ,49.84,-121.95, 2 -YDC00115, 9,20NW_YDC ,49.70,-120.88, 2 -YDC00116, 9,30NW_YDC ,49.82,-121.07, 2 -YDC00117, 9,40NW_YDC ,49.94,-121.25, 2 -YDC00118, 9,50NW_YDC ,50.06,-121.44, 2 -YDC00119, 9,60NW_YDC ,50.17,-121.62, 2 -YDC00120, 9,70NW_YDC ,50.29,-121.81, 2 -YDC00121, 9,80NW_YDC ,50.40,-122.00, 2 -YDC00122, 9,90NW_YDC ,50.52,-122.19, 2 -YDC00123, 9,100NW_YDC ,50.63,-122.38, 2 -YDC00124, 9,110NW_YDC ,50.75,-122.57, 2 -YDC00125, 9,20NNW_YDC ,49.78,-120.72, 2 -YDC00126, 9,30NNW_YDC ,49.93,-120.82, 2 -YDC00127, 9,40NNW_YDC ,50.08,-120.92, 2 -YDC00128, 9,50NNW_YDC ,50.24,-121.02, 2 -YDC00129, 9,60NNW_YDC ,50.39,-121.12, 2 -YDC00130, 9,70NNW_YDC ,50.55,-121.22, 2 -YDC00131, 9,80NNW_YDC ,50.70,-121.32, 2 -YDC00132, 9,90NNW_YDC ,50.85,-121.43, 2 -YDC00133, 9,100NNW_YDC ,51.00,-121.53, 2 -YDC00134, 9,110NNW_YDC ,51.16,-121.64, 2 -YDC00135, 9,120NNW_YDC ,51.31,-121.74, 2 -YDC00136, 9,130NNW_YDC ,51.46,-121.85, 2 -YDC00137, 9,140NNW_YDC ,51.62,-121.96, 2 -YDC00138, 9,150NNW_YDC ,51.77,-122.06, 2 -YDC00139, 9,160NNW_YDC ,51.92,-122.17, 2 -YDC00140, 9,170NNW_YDC ,52.07,-122.28, 2 -YDC00141, 9,180NNW_YDC ,52.23,-122.39, 2 -YDC00142, 9,190NNW_YDC ,52.38,-122.50, 2 -YDC00143, 9,200NNW_YDC ,52.53,-122.61, 2 -YDC00144, 9,210NNW_YDC ,52.68,-122.73, 2 -YDC00145, 9,220NNW_YDC ,52.83,-122.84, 2 -YDC00146, 9,230NNW_YDC ,52.98,-122.95, 2 -YDC00147, 9,240NNW_YDC ,53.14,-123.07, 2 +YDC00025, 9,20NNE_YDC ,49.78,-120.32, 2 +YDC00026, 9,30NNE_YDC ,49.93,-120.22, 2 +YDC00027, 9,40NNE_YDC ,50.08,-120.12, 2 +YDC00028, 9,50NNE_YDC ,50.24,-120.02, 2 +YDC00029, 9,60NNE_YDC ,50.39,-119.92, 2 +YDC00030, 9,70NNE_YDC ,50.55,-119.82, 2 +YDC00031, 9,80NNE_YDC ,50.70,-119.72, 2 +YDC00032, 9,90NNE_YDC ,50.85,-119.61, 2 +YDC00033, 9,100NNE_YDC ,51.00,-119.51, 2 +YDC00034, 9,110NNE_YDC ,51.16,-119.40, 2 +YDC00035, 9,120NNE_YDC ,51.31,-119.30, 2 +YDC00036, 9,130NNE_YDC ,51.46,-119.19, 2 +YDC00037, 9,140NNE_YDC ,51.62,-119.08, 2 +YDC00038, 9,150NNE_YDC ,51.77,-118.98, 2 +YDC00039, 9,160NNE_YDC ,51.92,-118.87, 2 +YDC00040, 9,170NNE_YDC ,52.07,-118.76, 2 +YDC00041, 9,180NNE_YDC ,52.23,-118.65, 2 +YDC00042, 9,190NNE_YDC ,52.38,-118.54, 2 +YDC00043, 9,200NNE_YDC ,52.53,-118.43, 2 +YDC00044, 9,210NNE_YDC ,52.68,-118.31, 2 +YDC00045, 9,20NE_YDC ,49.70,-120.16, 2 +YDC00046, 9,30NE_YDC ,49.82,-119.97, 2 +YDC00047, 9,40NE_YDC ,49.94,-119.79, 2 +YDC00048, 9,50NE_YDC ,50.06,-119.60, 2 +YDC00049, 9,60NE_YDC ,50.17,-119.42, 2 +YDC00050, 9,70NE_YDC ,50.29,-119.23, 2 +YDC00051, 9,80NE_YDC ,50.40,-119.04, 2 +YDC00052, 9,90NE_YDC ,50.52,-118.85, 2 +YDC00053, 9,100NE_YDC ,50.63,-118.66, 2 +YDC00054, 9,110NE_YDC ,50.75,-118.47, 2 +YDC00055, 9,120NE_YDC ,50.86,-118.28, 2 +YDC00056, 9,20ENE_YDC ,49.60,-120.05, 2 +YDC00057, 9,30ENE_YDC ,49.66,-119.81, 2 +YDC00058, 9,40ENE_YDC ,49.72,-119.57, 2 +YDC00059, 9,50ENE_YDC ,49.78,-119.33, 2 +YDC00060, 9,60ENE_YDC ,49.84,-119.09, 2 +YDC00061, 9,70ENE_YDC ,49.90,-118.85, 2 +YDC00062, 9,80ENE_YDC ,49.96,-118.61, 2 +YDC00063, 9,90ENE_YDC ,50.02,-118.36, 2 +YDC00064, 9,20E_YDC ,49.47,-120.01, 2 +YDC00065, 9,30E_YDC ,49.47,-119.75, 2 +YDC00066, 9,40E_YDC ,49.47,-119.49, 2 +YDC00067, 9,50E_YDC ,49.46,-119.24, 2 +YDC00068, 9,60E_YDC ,49.46,-118.98, 2 +YDC00069, 9,70E_YDC ,49.46,-118.73, 2 +YDC00070, 9,80E_YDC ,49.45,-118.47, 2 +YDC00071, 9,90E_YDC ,49.45,-118.21, 2 +YDC00072, 9,20ESE_YDC ,49.34,-120.05, 2 +YDC00073, 9,30ESE_YDC ,49.28,-119.81, 2 +YDC00074, 9,40ESE_YDC ,49.21,-119.58, 2 +YDC00075, 9,50ESE_YDC ,49.15,-119.34, 2 +YDC00076, 9,60ESE_YDC ,49.08,-119.11, 2 +YDC00077, 9,70ESE_YDC ,49.01,-118.88, 2 +YDC00078, 9,80ESE_YDC ,48.94,-118.65, 2 +YDC00079, 9,90ESE_YDC ,48.88,-118.41, 2 +YDC00080, 9,20SE_YDC ,49.23,-120.16, 2 +YDC00081, 9,30SE_YDC ,49.12,-119.98, 2 +YDC00082, 9,40SE_YDC ,49.00,-119.80, 2 +YDC00083, 9,50SE_YDC ,48.88,-119.62, 2 +YDC00084, 9,60SE_YDC ,48.76,-119.45, 2 +YDC00085, 9,70SE_YDC ,48.64,-119.27, 2 +YDC00086, 9,80SE_YDC ,48.52,-119.10, 2 +YDC00087, 9,20SSE_YDC ,49.16,-120.33, 2 +YDC00088, 9,30SSE_YDC ,49.01,-120.23, 2 +YDC00089, 9,40SSE_YDC ,48.85,-120.13, 2 +YDC00090, 9,50SSE_YDC ,48.70,-120.04, 2 +YDC00091, 9,60SSE_YDC ,48.55,-119.94, 2 +YDC00092, 9,70SSE_YDC ,48.39,-119.85, 2 +YDC00093, 9,20S_YDC ,49.14,-120.52, 2 +YDC00094, 9,30S_YDC ,48.97,-120.52, 2 +YDC00095, 9,40S_YDC ,48.80,-120.52, 2 +YDC00096, 9,50S_YDC ,48.64,-120.52, 2 +YDC00097, 9,60S_YDC ,48.47,-120.52, 2 +YDC00098, 9,70S_YDC ,48.30,-120.52, 2 +YDC00099, 9,80S_YDC ,48.14,-120.52, 2 +YDC00100, 9,20SSW_YDC ,49.16,-120.71, 2 +YDC00101, 9,30SSW_YDC ,49.01,-120.81, 2 +YDC00102, 9,40SSW_YDC ,48.85,-120.91, 2 +YDC00103, 9,50SSW_YDC ,48.70,-121.00, 2 +YDC00104, 9,60SSW_YDC ,48.55,-121.10, 2 +YDC00105, 9,70SSW_YDC ,48.39,-121.19, 2 +YDC00106, 9,20SW_YDC ,49.23,-120.88, 2 +YDC00107, 9,30SW_YDC ,49.12,-121.06, 2 +YDC00108, 9,40SW_YDC ,49.00,-121.24, 2 +YDC00109, 9,50SW_YDC ,48.88,-121.42, 2 +YDC00110, 9,20WSW_YDC ,49.34,-120.99, 2 +YDC00111, 9,30WSW_YDC ,49.28,-121.23, 2 +YDC00112, 9,40WSW_YDC ,49.21,-121.46, 2 +YDC00113, 9,20W_YDC ,49.47,-121.03, 2 +YDC00114, 9,30W_YDC ,49.47,-121.29, 2 +YDC00115, 9,40W_YDC ,49.47,-121.55, 2 +YDC00116, 9,50W_YDC ,49.46,-121.80, 2 +YDC00117, 9,20WNW_YDC ,49.60,-120.99, 2 +YDC00118, 9,30WNW_YDC ,49.66,-121.23, 2 +YDC00119, 9,40WNW_YDC ,49.72,-121.47, 2 +YDC00120, 9,50WNW_YDC ,49.78,-121.71, 2 +YDC00121, 9,60WNW_YDC ,49.84,-121.95, 2 +YDC00122, 9,20NW_YDC ,49.70,-120.88, 2 +YDC00123, 9,30NW_YDC ,49.82,-121.07, 2 +YDC00124, 9,40NW_YDC ,49.94,-121.25, 2 +YDC00125, 9,50NW_YDC ,50.06,-121.44, 2 +YDC00126, 9,60NW_YDC ,50.17,-121.62, 2 +YDC00127, 9,70NW_YDC ,50.29,-121.81, 2 +YDC00128, 9,80NW_YDC ,50.40,-122.00, 2 +YDC00129, 9,90NW_YDC ,50.52,-122.19, 2 +YDC00130, 9,100NW_YDC ,50.63,-122.38, 2 +YDC00131, 9,110NW_YDC ,50.75,-122.57, 2 +YDC00132, 9,20NNW_YDC ,49.78,-120.72, 2 +YDC00133, 9,30NNW_YDC ,49.93,-120.82, 2 +YDC00134, 9,40NNW_YDC ,50.08,-120.92, 2 +YDC00135, 9,50NNW_YDC ,50.24,-121.02, 2 +YDC00136, 9,60NNW_YDC ,50.39,-121.12, 2 +YDC00137, 9,70NNW_YDC ,50.55,-121.22, 2 +YDC00138, 9,80NNW_YDC ,50.70,-121.32, 2 +YDC00139, 9,90NNW_YDC ,50.85,-121.43, 2 +YDC00140, 9,100NNW_YDC ,51.00,-121.53, 2 +YDC00141, 9,110NNW_YDC ,51.16,-121.64, 2 +YDC00142, 9,120NNW_YDC ,51.31,-121.74, 2 +YDC00143, 9,130NNW_YDC ,51.46,-121.85, 2 +YDC00144, 9,140NNW_YDC ,51.62,-121.96, 2 +YDC00145, 9,150NNW_YDC ,51.77,-122.06, 2 +YDC00146, 9,160NNW_YDC ,51.92,-122.17, 2 +YDC00147, 9,170NNW_YDC ,52.07,-122.28, 2 +YDC00148, 9,180NNW_YDC ,52.23,-122.39, 2 +YDC00149, 9,190NNW_YDC ,52.38,-122.50, 2 +YDC00150, 9,200NNW_YDC ,52.53,-122.61, 2 +YDC00151, 9,210NNW_YDC ,52.68,-122.73, 2 +YDC00152, 9,220NNW_YDC ,52.83,-122.84, 2 +YDC00153, 9,230NNW_YDC ,52.98,-122.95, 2 +YDC00154, 9,240NNW_YDC ,53.14,-123.07, 2 MOD00000, 9,MOD ,37.63,-120.96, 1 MOD00001, 9,20N_MOD ,37.96,-120.96, 2 MOD00002, 9,20NNE_MOD ,37.94,-120.80, 2 @@ -19991,7 +20071,7 @@ OAK00021, 9,20SW_OAK ,37.49,-122.52, 2 OAK00022, 9,30SW_OAK ,37.38,-122.66, 2 OAK00023, 9,40SW_OAK ,37.26,-122.81, 2 OAK00024, 9,50SW_OAK ,37.14,-122.96, 2 -OAK00025, 9,60SW_OAK ,37.02,-123.10, 2 +OAK00025, 9,60SW_OAK ,37.02,-123.11, 2 OAK00026, 9,20WSW_OAK ,37.60,-122.61, 2 RBL00000, 9,RBL ,40.10,-122.24, 1 RBL00001, 9,20N_RBL ,40.43,-122.24, 2 @@ -20127,106 +20207,106 @@ SEA00057, 9,30NW_SEA ,47.79,-122.84, 2 SEA00058, 9,40NW_SEA ,47.91,-123.01, 2 SEA00059, 9,20NNW_SEA ,47.75,-122.50, 2 SEA00060, 9,30NNW_SEA ,47.90,-122.60, 2 -BLI00000, 9,BLI ,48.95,-122.58, 1 -BLI00001, 9,20N_BLI ,49.28,-122.58, 2 -BLI00002, 9,30N_BLI ,49.45,-122.58, 2 -BLI00003, 9,40N_BLI ,49.62,-122.58, 2 -BLI00004, 9,50N_BLI ,49.78,-122.58, 2 -BLI00005, 9,60N_BLI ,49.95,-122.58, 2 -BLI00006, 9,70N_BLI ,50.12,-122.58, 2 -BLI00007, 9,80N_BLI ,50.28,-122.58, 2 -BLI00008, 9,90N_BLI ,50.45,-122.58, 2 -BLI00009, 9,100N_BLI ,50.62,-122.58, 2 -BLI00010, 9,110N_BLI ,50.78,-122.58, 2 -BLI00011, 9,20NNE_BLI ,49.26,-122.38, 2 -BLI00012, 9,30NNE_BLI ,49.41,-122.29, 2 -BLI00013, 9,40NNE_BLI ,49.56,-122.19, 2 -BLI00014, 9,50NNE_BLI ,49.72,-122.09, 2 -BLI00015, 9,20NE_BLI ,49.18,-122.22, 2 -BLI00016, 9,30NE_BLI ,49.30,-122.04, 2 -BLI00017, 9,40NE_BLI ,49.42,-121.86, 2 -BLI00018, 9,20ENE_BLI ,49.08,-122.11, 2 -BLI00019, 9,30ENE_BLI ,49.14,-121.87, 2 -BLI00020, 9,20E_BLI ,48.95,-122.07, 2 -BLI00021, 9,30E_BLI ,48.95,-121.82, 2 -BLI00022, 9,40E_BLI ,48.95,-121.57, 2 -BLI00023, 9,20ESE_BLI ,48.82,-122.11, 2 -BLI00024, 9,30ESE_BLI ,48.76,-121.88, 2 -BLI00025, 9,40ESE_BLI ,48.69,-121.65, 2 -BLI00026, 9,50ESE_BLI ,48.63,-121.42, 2 -BLI00027, 9,20SE_BLI ,48.71,-122.22, 2 -BLI00028, 9,30SE_BLI ,48.60,-122.05, 2 -BLI00029, 9,40SE_BLI ,48.48,-121.87, 2 -BLI00030, 9,50SE_BLI ,48.36,-121.69, 2 -BLI00031, 9,60SE_BLI ,48.24,-121.52, 2 -BLI00032, 9,70SE_BLI ,48.12,-121.35, 2 -BLI00033, 9,20SSE_BLI ,48.64,-122.39, 2 -BLI00034, 9,30SSE_BLI ,48.49,-122.29, 2 -BLI00035, 9,40SSE_BLI ,48.33,-122.20, 2 -BLI00036, 9,50SSE_BLI ,48.18,-122.10, 2 -BLI00037, 9,20S_BLI ,48.62,-122.58, 2 -BLI00038, 9,30S_BLI ,48.45,-122.58, 2 -BLI00039, 9,40S_BLI ,48.28,-122.58, 2 -BLI00040, 9,50S_BLI ,48.12,-122.58, 2 -BLI00041, 9,20SSW_BLI ,48.64,-122.77, 2 -BLI00042, 9,30SSW_BLI ,48.49,-122.87, 2 -BLI00043, 9,40SSW_BLI ,48.33,-122.96, 2 -BLI00044, 9,50SSW_BLI ,48.18,-123.06, 2 -BLI00045, 9,60SSW_BLI ,48.03,-123.15, 2 -BLI00046, 9,20SW_BLI ,48.71,-122.94, 2 -BLI00047, 9,30SW_BLI ,48.60,-123.11, 2 -BLI00048, 9,40SW_BLI ,48.48,-123.29, 2 -BLI00049, 9,50SW_BLI ,48.36,-123.47, 2 -BLI00050, 9,20WSW_BLI ,48.82,-123.05, 2 -BLI00051, 9,30WSW_BLI ,48.76,-123.28, 2 -BLI00052, 9,40WSW_BLI ,48.69,-123.51, 2 -BLI00053, 9,50WSW_BLI ,48.63,-123.74, 2 -BLI00054, 9,20W_BLI ,48.95,-123.09, 2 -BLI00055, 9,30W_BLI ,48.95,-123.34, 2 -BLI00056, 9,40W_BLI ,48.95,-123.59, 2 -BLI00057, 9,50W_BLI ,48.94,-123.85, 2 -BLI00058, 9,20WNW_BLI ,49.08,-123.05, 2 -BLI00059, 9,30WNW_BLI ,49.14,-123.29, 2 -BLI00060, 9,40WNW_BLI ,49.20,-123.52, 2 -BLI00061, 9,50WNW_BLI ,49.26,-123.76, 2 -BLI00062, 9,60WNW_BLI ,49.32,-124.00, 2 -BLI00063, 9,70WNW_BLI ,49.38,-124.23, 2 -BLI00064, 9,20NW_BLI ,49.18,-122.94, 2 -BLI00065, 9,30NW_BLI ,49.30,-123.12, 2 -BLI00066, 9,40NW_BLI ,49.42,-123.30, 2 -BLI00067, 9,50NW_BLI ,49.54,-123.49, 2 -BLI00068, 9,60NW_BLI ,49.65,-123.67, 2 -BLI00069, 9,70NW_BLI ,49.77,-123.86, 2 -BLI00070, 9,80NW_BLI ,49.88,-124.04, 2 -BLI00071, 9,90NW_BLI ,50.00,-124.23, 2 -BLI00072, 9,100NW_BLI ,50.11,-124.42, 2 -BLI00073, 9,110NW_BLI ,50.23,-124.61, 2 -BLI00074, 9,120NW_BLI ,50.34,-124.79, 2 -BLI00075, 9,130NW_BLI ,50.46,-124.98, 2 -BLI00076, 9,140NW_BLI ,50.57,-125.18, 2 -BLI00077, 9,20NNW_BLI ,49.26,-122.78, 2 -BLI00078, 9,30NNW_BLI ,49.41,-122.87, 2 -BLI00079, 9,40NNW_BLI ,49.56,-122.97, 2 -BLI00080, 9,50NNW_BLI ,49.72,-123.07, 2 -BLI00081, 9,60NNW_BLI ,49.87,-123.17, 2 -BLI00082, 9,70NNW_BLI ,50.03,-123.27, 2 -BLI00083, 9,80NNW_BLI ,50.18,-123.38, 2 -BLI00084, 9,90NNW_BLI ,50.33,-123.48, 2 -BLI00085, 9,100NNW_BLI ,50.48,-123.58, 2 -BLI00086, 9,110NNW_BLI ,50.64,-123.69, 2 -BLI00087, 9,120NNW_BLI ,50.79,-123.79, 2 -BLI00088, 9,130NNW_BLI ,50.94,-123.89, 2 -BLI00089, 9,140NNW_BLI ,51.10,-124.00, 2 -BLI00090, 9,150NNW_BLI ,51.25,-124.11, 2 -BLI00091, 9,160NNW_BLI ,51.40,-124.21, 2 -BLI00092, 9,170NNW_BLI ,51.55,-124.32, 2 -BLI00093, 9,180NNW_BLI ,51.71,-124.43, 2 -BLI00094, 9,190NNW_BLI ,51.86,-124.54, 2 -BLI00095, 9,200NNW_BLI ,52.01,-124.65, 2 -BLI00096, 9,210NNW_BLI ,52.16,-124.76, 2 -BLI00097, 9,220NNW_BLI ,52.31,-124.87, 2 -BLI00098, 9,230NNW_BLI ,52.47,-124.99, 2 -BLI00099, 9,240NNW_BLI ,52.62,-125.10, 2 +HUH00000, 9,HUH ,48.95,-122.58, 1 +HUH00001, 9,20N_HUH ,49.28,-122.58, 2 +HUH00002, 9,30N_HUH ,49.45,-122.58, 2 +HUH00003, 9,40N_HUH ,49.62,-122.58, 2 +HUH00004, 9,50N_HUH ,49.78,-122.58, 2 +HUH00005, 9,60N_HUH ,49.95,-122.58, 2 +HUH00006, 9,70N_HUH ,50.12,-122.58, 2 +HUH00007, 9,80N_HUH ,50.28,-122.58, 2 +HUH00008, 9,90N_HUH ,50.45,-122.58, 2 +HUH00009, 9,100N_HUH ,50.62,-122.58, 2 +HUH00010, 9,110N_HUH ,50.78,-122.58, 2 +HUH00011, 9,20NNE_HUH ,49.26,-122.38, 2 +HUH00012, 9,30NNE_HUH ,49.41,-122.29, 2 +HUH00013, 9,40NNE_HUH ,49.56,-122.19, 2 +HUH00014, 9,50NNE_HUH ,49.72,-122.09, 2 +HUH00015, 9,20NE_HUH ,49.18,-122.22, 2 +HUH00016, 9,30NE_HUH ,49.30,-122.04, 2 +HUH00017, 9,40NE_HUH ,49.42,-121.86, 2 +HUH00018, 9,20ENE_HUH ,49.08,-122.11, 2 +HUH00019, 9,30ENE_HUH ,49.14,-121.87, 2 +HUH00020, 9,20E_HUH ,48.95,-122.07, 2 +HUH00021, 9,30E_HUH ,48.95,-121.82, 2 +HUH00022, 9,40E_HUH ,48.95,-121.57, 2 +HUH00023, 9,20ESE_HUH ,48.82,-122.11, 2 +HUH00024, 9,30ESE_HUH ,48.76,-121.88, 2 +HUH00025, 9,40ESE_HUH ,48.69,-121.65, 2 +HUH00026, 9,50ESE_HUH ,48.63,-121.42, 2 +HUH00027, 9,20SE_HUH ,48.71,-122.22, 2 +HUH00028, 9,30SE_HUH ,48.60,-122.05, 2 +HUH00029, 9,40SE_HUH ,48.48,-121.87, 2 +HUH00030, 9,50SE_HUH ,48.36,-121.69, 2 +HUH00031, 9,60SE_HUH ,48.24,-121.52, 2 +HUH00032, 9,70SE_HUH ,48.12,-121.35, 2 +HUH00033, 9,20SSE_HUH ,48.64,-122.39, 2 +HUH00034, 9,30SSE_HUH ,48.49,-122.29, 2 +HUH00035, 9,40SSE_HUH ,48.33,-122.20, 2 +HUH00036, 9,50SSE_HUH ,48.18,-122.10, 2 +HUH00037, 9,20S_HUH ,48.62,-122.58, 2 +HUH00038, 9,30S_HUH ,48.45,-122.58, 2 +HUH00039, 9,40S_HUH ,48.28,-122.58, 2 +HUH00040, 9,50S_HUH ,48.12,-122.58, 2 +HUH00041, 9,20SSW_HUH ,48.64,-122.77, 2 +HUH00042, 9,30SSW_HUH ,48.49,-122.87, 2 +HUH00043, 9,40SSW_HUH ,48.33,-122.96, 2 +HUH00044, 9,50SSW_HUH ,48.18,-123.06, 2 +HUH00045, 9,60SSW_HUH ,48.03,-123.15, 2 +HUH00046, 9,20SW_HUH ,48.71,-122.94, 2 +HUH00047, 9,30SW_HUH ,48.60,-123.11, 2 +HUH00048, 9,40SW_HUH ,48.48,-123.29, 2 +HUH00049, 9,50SW_HUH ,48.36,-123.47, 2 +HUH00050, 9,20WSW_HUH ,48.82,-123.05, 2 +HUH00051, 9,30WSW_HUH ,48.76,-123.28, 2 +HUH00052, 9,40WSW_HUH ,48.69,-123.51, 2 +HUH00053, 9,50WSW_HUH ,48.63,-123.74, 2 +HUH00054, 9,20W_HUH ,48.95,-123.09, 2 +HUH00055, 9,30W_HUH ,48.95,-123.34, 2 +HUH00056, 9,40W_HUH ,48.95,-123.59, 2 +HUH00057, 9,50W_HUH ,48.94,-123.85, 2 +HUH00058, 9,20WNW_HUH ,49.08,-123.05, 2 +HUH00059, 9,30WNW_HUH ,49.14,-123.29, 2 +HUH00060, 9,40WNW_HUH ,49.20,-123.52, 2 +HUH00061, 9,50WNW_HUH ,49.26,-123.76, 2 +HUH00062, 9,60WNW_HUH ,49.32,-124.00, 2 +HUH00063, 9,70WNW_HUH ,49.38,-124.23, 2 +HUH00064, 9,20NW_HUH ,49.18,-122.94, 2 +HUH00065, 9,30NW_HUH ,49.30,-123.12, 2 +HUH00066, 9,40NW_HUH ,49.42,-123.30, 2 +HUH00067, 9,50NW_HUH ,49.54,-123.49, 2 +HUH00068, 9,60NW_HUH ,49.65,-123.67, 2 +HUH00069, 9,70NW_HUH ,49.77,-123.86, 2 +HUH00070, 9,80NW_HUH ,49.88,-124.04, 2 +HUH00071, 9,90NW_HUH ,50.00,-124.23, 2 +HUH00072, 9,100NW_HUH ,50.11,-124.42, 2 +HUH00073, 9,110NW_HUH ,50.23,-124.61, 2 +HUH00074, 9,120NW_HUH ,50.34,-124.79, 2 +HUH00075, 9,130NW_HUH ,50.46,-124.98, 2 +HUH00076, 9,140NW_HUH ,50.57,-125.18, 2 +HUH00077, 9,20NNW_HUH ,49.26,-122.78, 2 +HUH00078, 9,30NNW_HUH ,49.41,-122.87, 2 +HUH00079, 9,40NNW_HUH ,49.56,-122.97, 2 +HUH00080, 9,50NNW_HUH ,49.72,-123.07, 2 +HUH00081, 9,60NNW_HUH ,49.87,-123.17, 2 +HUH00082, 9,70NNW_HUH ,50.03,-123.27, 2 +HUH00083, 9,80NNW_HUH ,50.18,-123.38, 2 +HUH00084, 9,90NNW_HUH ,50.33,-123.48, 2 +HUH00085, 9,100NNW_HUH ,50.48,-123.58, 2 +HUH00086, 9,110NNW_HUH ,50.64,-123.69, 2 +HUH00087, 9,120NNW_HUH ,50.79,-123.79, 2 +HUH00088, 9,130NNW_HUH ,50.94,-123.89, 2 +HUH00089, 9,140NNW_HUH ,51.10,-124.00, 2 +HUH00090, 9,150NNW_HUH ,51.25,-124.11, 2 +HUH00091, 9,160NNW_HUH ,51.40,-124.21, 2 +HUH00092, 9,170NNW_HUH ,51.55,-124.32, 2 +HUH00093, 9,180NNW_HUH ,51.71,-124.43, 2 +HUH00094, 9,190NNW_HUH ,51.86,-124.54, 2 +HUH00095, 9,200NNW_HUH ,52.01,-124.65, 2 +HUH00096, 9,210NNW_HUH ,52.16,-124.76, 2 +HUH00097, 9,220NNW_HUH ,52.31,-124.87, 2 +HUH00098, 9,230NNW_HUH ,52.47,-124.99, 2 +HUH00099, 9,240NNW_HUH ,52.62,-125.10, 2 PDX00000, 9,PDX ,45.58,-122.60, 1 PDX00001, 9,20N_PDX ,45.91,-122.60, 2 PDX00002, 9,30N_PDX ,46.08,-122.60, 2 @@ -20859,84 +20939,86 @@ FOT00068, 9,80WSW_FOT ,40.15,-125.84, 2 FOT00069, 9,90WSW_FOT ,40.08,-126.04, 2 FOT00070, 9,100WSW_FOT ,40.02,-126.24, 2 FOT00071, 9,110WSW_FOT ,39.95,-126.44, 2 -FOT00072, 9,160WSW_FOT ,39.61,-127.43, 2 -FOT00073, 9,170WSW_FOT ,39.54,-127.62, 2 -FOT00074, 9,180WSW_FOT ,39.47,-127.82, 2 -FOT00075, 9,190WSW_FOT ,39.40,-128.01, 2 -FOT00076, 9,200WSW_FOT ,39.33,-128.21, 2 -FOT00077, 9,210WSW_FOT ,39.26,-128.40, 2 -FOT00078, 9,220WSW_FOT ,39.18,-128.60, 2 -FOT00079, 9,230WSW_FOT ,39.11,-128.79, 2 -FOT00080, 9,240WSW_FOT ,39.04,-128.99, 2 -FOT00081, 9,20W_FOT ,40.67,-124.67, 2 -FOT00082, 9,30W_FOT ,40.67,-124.89, 2 -FOT00083, 9,40W_FOT ,40.67,-125.11, 2 -FOT00084, 9,50W_FOT ,40.66,-125.33, 2 -FOT00085, 9,60W_FOT ,40.66,-125.55, 2 -FOT00086, 9,70W_FOT ,40.66,-125.77, 2 -FOT00087, 9,80W_FOT ,40.66,-125.99, 2 -FOT00088, 9,90W_FOT ,40.65,-126.21, 2 -FOT00089, 9,100W_FOT ,40.65,-126.43, 2 -FOT00090, 9,110W_FOT ,40.64,-126.64, 2 -FOT00091, 9,120W_FOT ,40.64,-126.86, 2 -FOT00092, 9,130W_FOT ,40.63,-127.08, 2 -FOT00093, 9,140W_FOT ,40.63,-127.30, 2 -FOT00094, 9,150W_FOT ,40.62,-127.52, 2 -FOT00095, 9,160W_FOT ,40.62,-127.74, 2 -FOT00096, 9,170W_FOT ,40.61,-127.96, 2 -FOT00097, 9,180W_FOT ,40.60,-128.18, 2 -FOT00098, 9,190W_FOT ,40.59,-128.40, 2 -FOT00099, 9,200W_FOT ,40.59,-128.62, 2 -FOT00100, 9,210W_FOT ,40.58,-128.84, 2 -FOT00101, 9,220W_FOT ,40.57,-129.06, 2 -FOT00102, 9,230W_FOT ,40.56,-129.27, 2 -FOT00103, 9,240W_FOT ,40.55,-129.49, 2 -FOT00104, 9,250W_FOT ,40.54,-129.71, 2 -FOT00105, 9,20WNW_FOT ,40.80,-124.64, 2 -FOT00106, 9,30WNW_FOT ,40.86,-124.84, 2 -FOT00107, 9,40WNW_FOT ,40.92,-125.04, 2 -FOT00108, 9,50WNW_FOT ,40.98,-125.25, 2 -FOT00109, 9,60WNW_FOT ,41.05,-125.45, 2 -FOT00110, 9,70WNW_FOT ,41.11,-125.66, 2 -FOT00111, 9,80WNW_FOT ,41.17,-125.87, 2 -FOT00112, 9,90WNW_FOT ,41.23,-126.07, 2 -FOT00113, 9,100WNW_FOT ,41.29,-126.28, 2 -FOT00114, 9,110WNW_FOT ,41.35,-126.48, 2 -FOT00115, 9,120WNW_FOT ,41.41,-126.69, 2 -FOT00116, 9,130WNW_FOT ,41.47,-126.90, 2 -FOT00117, 9,140WNW_FOT ,41.53,-127.11, 2 -FOT00118, 9,150WNW_FOT ,41.59,-127.32, 2 -FOT00119, 9,160WNW_FOT ,41.64,-127.53, 2 -FOT00120, 9,170WNW_FOT ,41.70,-127.73, 2 -FOT00121, 9,180WNW_FOT ,41.76,-127.94, 2 -FOT00122, 9,190WNW_FOT ,41.82,-128.15, 2 -FOT00123, 9,200WNW_FOT ,41.87,-128.36, 2 -FOT00124, 9,210WNW_FOT ,41.93,-128.57, 2 -FOT00125, 9,220WNW_FOT ,41.98,-128.79, 2 -FOT00126, 9,230WNW_FOT ,42.04,-129.00, 2 -FOT00127, 9,240WNW_FOT ,42.09,-129.21, 2 -FOT00128, 9,20NW_FOT ,40.91,-124.54, 2 -FOT00129, 9,30NW_FOT ,41.02,-124.70, 2 -FOT00130, 9,40NW_FOT ,41.14,-124.86, 2 -FOT00131, 9,50NW_FOT ,41.26,-125.01, 2 -FOT00132, 9,60NW_FOT ,41.37,-125.17, 2 -FOT00133, 9,70NW_FOT ,41.49,-125.33, 2 -FOT00134, 9,80NW_FOT ,41.61,-125.49, 2 -FOT00135, 9,90NW_FOT ,41.72,-125.65, 2 -FOT00136, 9,100NW_FOT ,41.84,-125.81, 2 -FOT00137, 9,110NW_FOT ,41.95,-125.97, 2 -FOT00138, 9,120NW_FOT ,42.07,-126.13, 2 -FOT00139, 9,130NW_FOT ,42.18,-126.30, 2 -FOT00140, 9,140NW_FOT ,42.30,-126.46, 2 -FOT00141, 9,150NW_FOT ,42.41,-126.62, 2 -FOT00142, 9,160NW_FOT ,42.53,-126.79, 2 -FOT00143, 9,20NNW_FOT ,40.98,-124.40, 2 -FOT00144, 9,30NNW_FOT ,41.13,-124.48, 2 -FOT00145, 9,40NNW_FOT ,41.28,-124.57, 2 -FOT00146, 9,50NNW_FOT ,41.44,-124.66, 2 -FOT00147, 9,60NNW_FOT ,41.59,-124.74, 2 -FOT00148, 9,70NNW_FOT ,41.75,-124.83, 2 -FOT00149, 9,80NNW_FOT ,41.90,-124.91, 2 +FOT00072, 9,120WSW_FOT ,39.88,-126.64, 2 +FOT00073, 9,150WSW_FOT ,39.67,-127.23, 2 +FOT00074, 9,160WSW_FOT ,39.61,-127.43, 2 +FOT00075, 9,170WSW_FOT ,39.54,-127.62, 2 +FOT00076, 9,180WSW_FOT ,39.47,-127.82, 2 +FOT00077, 9,190WSW_FOT ,39.40,-128.01, 2 +FOT00078, 9,200WSW_FOT ,39.33,-128.21, 2 +FOT00079, 9,210WSW_FOT ,39.26,-128.40, 2 +FOT00080, 9,220WSW_FOT ,39.18,-128.60, 2 +FOT00081, 9,230WSW_FOT ,39.11,-128.79, 2 +FOT00082, 9,240WSW_FOT ,39.04,-128.99, 2 +FOT00083, 9,20W_FOT ,40.67,-124.67, 2 +FOT00084, 9,30W_FOT ,40.67,-124.89, 2 +FOT00085, 9,40W_FOT ,40.67,-125.11, 2 +FOT00086, 9,50W_FOT ,40.66,-125.33, 2 +FOT00087, 9,60W_FOT ,40.66,-125.55, 2 +FOT00088, 9,70W_FOT ,40.66,-125.77, 2 +FOT00089, 9,80W_FOT ,40.66,-125.99, 2 +FOT00090, 9,90W_FOT ,40.65,-126.21, 2 +FOT00091, 9,100W_FOT ,40.65,-126.43, 2 +FOT00092, 9,110W_FOT ,40.64,-126.64, 2 +FOT00093, 9,120W_FOT ,40.64,-126.86, 2 +FOT00094, 9,130W_FOT ,40.63,-127.08, 2 +FOT00095, 9,140W_FOT ,40.63,-127.30, 2 +FOT00096, 9,150W_FOT ,40.62,-127.52, 2 +FOT00097, 9,160W_FOT ,40.62,-127.74, 2 +FOT00098, 9,170W_FOT ,40.61,-127.96, 2 +FOT00099, 9,180W_FOT ,40.60,-128.18, 2 +FOT00100, 9,190W_FOT ,40.59,-128.40, 2 +FOT00101, 9,200W_FOT ,40.59,-128.62, 2 +FOT00102, 9,210W_FOT ,40.58,-128.84, 2 +FOT00103, 9,220W_FOT ,40.57,-129.06, 2 +FOT00104, 9,230W_FOT ,40.56,-129.27, 2 +FOT00105, 9,240W_FOT ,40.55,-129.49, 2 +FOT00106, 9,250W_FOT ,40.54,-129.71, 2 +FOT00107, 9,20WNW_FOT ,40.80,-124.64, 2 +FOT00108, 9,30WNW_FOT ,40.86,-124.84, 2 +FOT00109, 9,40WNW_FOT ,40.92,-125.04, 2 +FOT00110, 9,50WNW_FOT ,40.98,-125.25, 2 +FOT00111, 9,60WNW_FOT ,41.05,-125.45, 2 +FOT00112, 9,70WNW_FOT ,41.11,-125.66, 2 +FOT00113, 9,80WNW_FOT ,41.17,-125.87, 2 +FOT00114, 9,90WNW_FOT ,41.23,-126.07, 2 +FOT00115, 9,100WNW_FOT ,41.29,-126.28, 2 +FOT00116, 9,110WNW_FOT ,41.35,-126.48, 2 +FOT00117, 9,120WNW_FOT ,41.41,-126.69, 2 +FOT00118, 9,130WNW_FOT ,41.47,-126.90, 2 +FOT00119, 9,140WNW_FOT ,41.53,-127.11, 2 +FOT00120, 9,150WNW_FOT ,41.59,-127.32, 2 +FOT00121, 9,160WNW_FOT ,41.64,-127.53, 2 +FOT00122, 9,170WNW_FOT ,41.70,-127.73, 2 +FOT00123, 9,180WNW_FOT ,41.76,-127.94, 2 +FOT00124, 9,190WNW_FOT ,41.82,-128.15, 2 +FOT00125, 9,200WNW_FOT ,41.87,-128.36, 2 +FOT00126, 9,210WNW_FOT ,41.93,-128.57, 2 +FOT00127, 9,220WNW_FOT ,41.98,-128.79, 2 +FOT00128, 9,230WNW_FOT ,42.04,-129.00, 2 +FOT00129, 9,240WNW_FOT ,42.09,-129.21, 2 +FOT00130, 9,20NW_FOT ,40.91,-124.54, 2 +FOT00131, 9,30NW_FOT ,41.02,-124.70, 2 +FOT00132, 9,40NW_FOT ,41.14,-124.86, 2 +FOT00133, 9,50NW_FOT ,41.26,-125.01, 2 +FOT00134, 9,60NW_FOT ,41.37,-125.17, 2 +FOT00135, 9,70NW_FOT ,41.49,-125.33, 2 +FOT00136, 9,80NW_FOT ,41.61,-125.49, 2 +FOT00137, 9,90NW_FOT ,41.72,-125.65, 2 +FOT00138, 9,100NW_FOT ,41.84,-125.81, 2 +FOT00139, 9,110NW_FOT ,41.95,-125.97, 2 +FOT00140, 9,120NW_FOT ,42.07,-126.13, 2 +FOT00141, 9,130NW_FOT ,42.18,-126.30, 2 +FOT00142, 9,140NW_FOT ,42.30,-126.46, 2 +FOT00143, 9,150NW_FOT ,42.41,-126.62, 2 +FOT00144, 9,160NW_FOT ,42.53,-126.79, 2 +FOT00145, 9,20NNW_FOT ,40.98,-124.40, 2 +FOT00146, 9,30NNW_FOT ,41.13,-124.48, 2 +FOT00147, 9,40NNW_FOT ,41.28,-124.57, 2 +FOT00148, 9,50NNW_FOT ,41.44,-124.66, 2 +FOT00149, 9,60NNW_FOT ,41.59,-124.74, 2 +FOT00150, 9,70NNW_FOT ,41.75,-124.83, 2 +FOT00151, 9,80NNW_FOT ,41.90,-124.91, 2 TOU00000, 9,TOU ,48.30,-124.63, 1 TOU00001, 9,20N_TOU ,48.63,-124.63, 2 TOU00002, 9,30N_TOU ,48.80,-124.63, 2 @@ -21019,86 +21101,88 @@ TOU00078, 9,80W_TOU ,48.28,-126.63, 2 TOU00079, 9,90W_TOU ,48.28,-126.88, 2 TOU00080, 9,100W_TOU ,48.27,-127.13, 2 TOU00081, 9,110W_TOU ,48.27,-127.38, 2 -TOU00082, 9,160W_TOU ,48.23,-128.63, 2 -TOU00083, 9,170W_TOU ,48.22,-128.88, 2 -TOU00084, 9,180W_TOU ,48.21,-129.13, 2 -TOU00085, 9,190W_TOU ,48.20,-129.38, 2 -TOU00086, 9,200W_TOU ,48.19,-129.63, 2 -TOU00087, 9,210W_TOU ,48.18,-129.88, 2 -TOU00088, 9,220W_TOU ,48.17,-130.13, 2 -TOU00089, 9,230W_TOU ,48.16,-130.38, 2 -TOU00090, 9,240W_TOU ,48.14,-130.63, 2 -TOU00091, 9,250W_TOU ,48.13,-130.88, 2 -TOU00092, 9,20WNW_TOU ,48.43,-125.09, 2 -TOU00093, 9,30WNW_TOU ,48.49,-125.33, 2 -TOU00094, 9,40WNW_TOU ,48.55,-125.56, 2 -TOU00095, 9,50WNW_TOU ,48.61,-125.79, 2 -TOU00096, 9,60WNW_TOU ,48.67,-126.03, 2 -TOU00097, 9,70WNW_TOU ,48.73,-126.26, 2 -TOU00098, 9,80WNW_TOU ,48.79,-126.50, 2 -TOU00099, 9,90WNW_TOU ,48.85,-126.73, 2 -TOU00100, 9,100WNW_TOU ,48.91,-126.97, 2 -TOU00101, 9,110WNW_TOU ,48.97,-127.21, 2 -TOU00102, 9,120WNW_TOU ,49.03,-127.45, 2 -TOU00103, 9,130WNW_TOU ,49.09,-127.69, 2 -TOU00104, 9,140WNW_TOU ,49.15,-127.92, 2 -TOU00105, 9,150WNW_TOU ,49.20,-128.16, 2 -TOU00106, 9,160WNW_TOU ,49.26,-128.40, 2 -TOU00107, 9,170WNW_TOU ,49.31,-128.64, 2 -TOU00108, 9,180WNW_TOU ,49.37,-128.89, 2 -TOU00109, 9,190WNW_TOU ,49.42,-129.13, 2 -TOU00110, 9,200WNW_TOU ,49.48,-129.37, 2 -TOU00111, 9,210WNW_TOU ,49.53,-129.61, 2 -TOU00112, 9,220WNW_TOU ,49.59,-129.86, 2 -TOU00113, 9,230WNW_TOU ,49.64,-130.10, 2 -TOU00114, 9,240WNW_TOU ,49.69,-130.34, 2 -TOU00115, 9,20NW_TOU ,48.53,-124.99, 2 -TOU00116, 9,30NW_TOU ,48.65,-125.16, 2 -TOU00117, 9,40NW_TOU ,48.77,-125.34, 2 -TOU00118, 9,50NW_TOU ,48.89,-125.53, 2 -TOU00119, 9,60NW_TOU ,49.00,-125.71, 2 -TOU00120, 9,70NW_TOU ,49.12,-125.89, 2 -TOU00121, 9,80NW_TOU ,49.23,-126.07, 2 -TOU00122, 9,90NW_TOU ,49.35,-126.26, 2 -TOU00123, 9,100NW_TOU ,49.46,-126.44, 2 -TOU00124, 9,110NW_TOU ,49.58,-126.63, 2 -TOU00125, 9,120NW_TOU ,49.69,-126.81, 2 -TOU00126, 9,130NW_TOU ,49.81,-127.00, 2 -TOU00127, 9,140NW_TOU ,49.92,-127.19, 2 -TOU00128, 9,150NW_TOU ,50.03,-127.38, 2 -TOU00129, 9,160NW_TOU ,50.15,-127.57, 2 -TOU00130, 9,170NW_TOU ,50.26,-127.76, 2 -TOU00131, 9,180NW_TOU ,50.37,-127.95, 2 -TOU00132, 9,190NW_TOU ,50.49,-128.15, 2 -TOU00133, 9,200NW_TOU ,50.60,-128.34, 2 -TOU00134, 9,210NW_TOU ,50.71,-128.54, 2 -TOU00135, 9,220NW_TOU ,50.82,-128.73, 2 -TOU00136, 9,230NW_TOU ,50.93,-128.93, 2 -TOU00137, 9,240NW_TOU ,51.04,-129.13, 2 -TOU00138, 9,250NW_TOU ,51.15,-129.32, 2 -TOU00139, 9,20NNW_TOU ,48.61,-124.82, 2 -TOU00140, 9,30NNW_TOU ,48.76,-124.92, 2 -TOU00141, 9,40NNW_TOU ,48.91,-125.02, 2 -TOU00142, 9,50NNW_TOU ,49.07,-125.12, 2 -TOU00143, 9,60NNW_TOU ,49.22,-125.22, 2 -TOU00144, 9,70NNW_TOU ,49.38,-125.32, 2 -TOU00145, 9,80NNW_TOU ,49.53,-125.42, 2 -TOU00146, 9,90NNW_TOU ,49.68,-125.52, 2 -TOU00147, 9,100NNW_TOU ,49.83,-125.62, 2 -TOU00148, 9,110NNW_TOU ,49.99,-125.72, 2 -TOU00149, 9,120NNW_TOU ,50.14,-125.82, 2 -TOU00150, 9,130NNW_TOU ,50.29,-125.93, 2 -TOU00151, 9,140NNW_TOU ,50.45,-126.03, 2 -TOU00152, 9,150NNW_TOU ,50.60,-126.14, 2 -TOU00153, 9,160NNW_TOU ,50.75,-126.24, 2 -TOU00154, 9,170NNW_TOU ,50.90,-126.35, 2 -TOU00155, 9,180NNW_TOU ,51.06,-126.45, 2 -TOU00156, 9,190NNW_TOU ,51.21,-126.56, 2 -TOU00157, 9,200NNW_TOU ,51.36,-126.67, 2 -TOU00158, 9,210NNW_TOU ,51.51,-126.78, 2 -TOU00159, 9,220NNW_TOU ,51.66,-126.89, 2 -TOU00160, 9,230NNW_TOU ,51.82,-127.00, 2 -TOU00161, 9,240NNW_TOU ,51.97,-127.11, 2 +TOU00082, 9,120W_TOU ,48.26,-127.63, 2 +TOU00083, 9,150W_TOU ,48.24,-128.38, 2 +TOU00084, 9,160W_TOU ,48.23,-128.63, 2 +TOU00085, 9,170W_TOU ,48.22,-128.88, 2 +TOU00086, 9,180W_TOU ,48.21,-129.13, 2 +TOU00087, 9,190W_TOU ,48.20,-129.38, 2 +TOU00088, 9,200W_TOU ,48.19,-129.63, 2 +TOU00089, 9,210W_TOU ,48.18,-129.88, 2 +TOU00090, 9,220W_TOU ,48.17,-130.13, 2 +TOU00091, 9,230W_TOU ,48.16,-130.38, 2 +TOU00092, 9,240W_TOU ,48.14,-130.63, 2 +TOU00093, 9,250W_TOU ,48.13,-130.88, 2 +TOU00094, 9,20WNW_TOU ,48.43,-125.09, 2 +TOU00095, 9,30WNW_TOU ,48.49,-125.33, 2 +TOU00096, 9,40WNW_TOU ,48.55,-125.56, 2 +TOU00097, 9,50WNW_TOU ,48.61,-125.79, 2 +TOU00098, 9,60WNW_TOU ,48.67,-126.03, 2 +TOU00099, 9,70WNW_TOU ,48.73,-126.26, 2 +TOU00100, 9,80WNW_TOU ,48.79,-126.50, 2 +TOU00101, 9,90WNW_TOU ,48.85,-126.73, 2 +TOU00102, 9,100WNW_TOU ,48.91,-126.97, 2 +TOU00103, 9,110WNW_TOU ,48.97,-127.21, 2 +TOU00104, 9,120WNW_TOU ,49.03,-127.45, 2 +TOU00105, 9,130WNW_TOU ,49.09,-127.69, 2 +TOU00106, 9,140WNW_TOU ,49.15,-127.92, 2 +TOU00107, 9,150WNW_TOU ,49.20,-128.16, 2 +TOU00108, 9,160WNW_TOU ,49.26,-128.40, 2 +TOU00109, 9,170WNW_TOU ,49.31,-128.64, 2 +TOU00110, 9,180WNW_TOU ,49.37,-128.89, 2 +TOU00111, 9,190WNW_TOU ,49.42,-129.13, 2 +TOU00112, 9,200WNW_TOU ,49.48,-129.37, 2 +TOU00113, 9,210WNW_TOU ,49.53,-129.61, 2 +TOU00114, 9,220WNW_TOU ,49.59,-129.86, 2 +TOU00115, 9,230WNW_TOU ,49.64,-130.10, 2 +TOU00116, 9,240WNW_TOU ,49.69,-130.34, 2 +TOU00117, 9,20NW_TOU ,48.53,-124.99, 2 +TOU00118, 9,30NW_TOU ,48.65,-125.16, 2 +TOU00119, 9,40NW_TOU ,48.77,-125.34, 2 +TOU00120, 9,50NW_TOU ,48.89,-125.53, 2 +TOU00121, 9,60NW_TOU ,49.00,-125.71, 2 +TOU00122, 9,70NW_TOU ,49.12,-125.89, 2 +TOU00123, 9,80NW_TOU ,49.23,-126.07, 2 +TOU00124, 9,90NW_TOU ,49.35,-126.26, 2 +TOU00125, 9,100NW_TOU ,49.46,-126.44, 2 +TOU00126, 9,110NW_TOU ,49.58,-126.63, 2 +TOU00127, 9,120NW_TOU ,49.69,-126.81, 2 +TOU00128, 9,130NW_TOU ,49.81,-127.00, 2 +TOU00129, 9,140NW_TOU ,49.92,-127.19, 2 +TOU00130, 9,150NW_TOU ,50.03,-127.38, 2 +TOU00131, 9,160NW_TOU ,50.15,-127.57, 2 +TOU00132, 9,170NW_TOU ,50.26,-127.76, 2 +TOU00133, 9,180NW_TOU ,50.37,-127.95, 2 +TOU00134, 9,190NW_TOU ,50.49,-128.15, 2 +TOU00135, 9,200NW_TOU ,50.60,-128.34, 2 +TOU00136, 9,210NW_TOU ,50.71,-128.54, 2 +TOU00137, 9,220NW_TOU ,50.82,-128.73, 2 +TOU00138, 9,230NW_TOU ,50.93,-128.93, 2 +TOU00139, 9,240NW_TOU ,51.04,-129.13, 2 +TOU00140, 9,250NW_TOU ,51.15,-129.32, 2 +TOU00141, 9,20NNW_TOU ,48.61,-124.82, 2 +TOU00142, 9,30NNW_TOU ,48.76,-124.92, 2 +TOU00143, 9,40NNW_TOU ,48.91,-125.02, 2 +TOU00144, 9,50NNW_TOU ,49.07,-125.12, 2 +TOU00145, 9,60NNW_TOU ,49.22,-125.22, 2 +TOU00146, 9,70NNW_TOU ,49.38,-125.32, 2 +TOU00147, 9,80NNW_TOU ,49.53,-125.42, 2 +TOU00148, 9,90NNW_TOU ,49.68,-125.52, 2 +TOU00149, 9,100NNW_TOU ,49.83,-125.62, 2 +TOU00150, 9,110NNW_TOU ,49.99,-125.72, 2 +TOU00151, 9,120NNW_TOU ,50.14,-125.82, 2 +TOU00152, 9,130NNW_TOU ,50.29,-125.93, 2 +TOU00153, 9,140NNW_TOU ,50.45,-126.03, 2 +TOU00154, 9,150NNW_TOU ,50.60,-126.14, 2 +TOU00155, 9,160NNW_TOU ,50.75,-126.24, 2 +TOU00156, 9,170NNW_TOU ,50.90,-126.35, 2 +TOU00157, 9,180NNW_TOU ,51.06,-126.45, 2 +TOU00158, 9,190NNW_TOU ,51.21,-126.56, 2 +TOU00159, 9,200NNW_TOU ,51.36,-126.67, 2 +TOU00160, 9,210NNW_TOU ,51.51,-126.78, 2 +TOU00161, 9,220NNW_TOU ,51.66,-126.89, 2 +TOU00162, 9,230NNW_TOU ,51.82,-127.00, 2 +TOU00163, 9,240NNW_TOU ,51.97,-127.11, 2 YQV00000, 9,YQV ,51.27,-102.47, 1 YQV00001, 9,20N_YQV ,51.60,-102.47, 2 YQV00002, 9,30N_YQV ,51.77,-102.47, 2 @@ -21330,18 +21414,79 @@ YQV00227, 9,210NNW_YQV ,54.48,-104.77, 2 YQV00228, 9,220NNW_YQV ,54.63,-104.89, 2 YQV00229, 9,230NNW_YQV ,54.78,-105.01, 2 YQV00230, 9,240NNW_YQV ,54.93,-105.13, 2 +MMB00000, 9,MMB ,36.34,-99.88, 1 +MMB00001, 9,20N_MMB ,36.67,-99.88, 2 +MMB00002, 9,30N_MMB ,36.84,-99.88, 2 +MMB00003, 9,40N_MMB ,37.01,-99.88, 2 +MMB00004, 9,20NNE_MMB ,36.65,-99.72, 2 +MMB00005, 9,30NNE_MMB ,36.80,-99.64, 2 +MMB00006, 9,40NNE_MMB ,36.96,-99.56, 2 +MMB00007, 9,50NNE_MMB ,37.11,-99.48, 2 +MMB00008, 9,60NNE_MMB ,37.26,-99.40, 2 +MMB00009, 9,20NE_MMB ,36.58,-99.59, 2 +MMB00010, 9,30NE_MMB ,36.69,-99.44, 2 +MMB00011, 9,40NE_MMB ,36.81,-99.29, 2 +MMB00012, 9,50NE_MMB ,36.93,-99.14, 2 +MMB00013, 9,60NE_MMB ,37.04,-98.99, 2 +MMB00014, 9,20ENE_MMB ,36.47,-99.50, 2 +MMB00015, 9,30ENE_MMB ,36.53,-99.31, 2 +MMB00016, 9,40ENE_MMB ,36.59,-99.11, 2 +MMB00017, 9,50ENE_MMB ,36.65,-98.92, 2 +MMB00018, 9,20E_MMB ,36.34,-99.47, 2 +MMB00019, 9,30E_MMB ,36.34,-99.26, 2 +MMB00020, 9,40E_MMB ,36.34,-99.05, 2 +MMB00021, 9,20ESE_MMB ,36.21,-99.50, 2 +MMB00022, 9,30ESE_MMB ,36.15,-99.31, 2 +MMB00023, 9,40ESE_MMB ,36.08,-99.12, 2 +MMB00024, 9,50ESE_MMB ,36.02,-98.93, 2 +MMB00025, 9,20SE_MMB ,36.10,-99.59, 2 +MMB00026, 9,30SE_MMB ,35.99,-99.44, 2 +MMB00027, 9,40SE_MMB ,35.87,-99.30, 2 +MMB00028, 9,50SE_MMB ,35.75,-99.15, 2 +MMB00029, 9,60SE_MMB ,35.63,-99.01, 2 +MMB00030, 9,20SSE_MMB ,36.03,-99.72, 2 +MMB00031, 9,30SSE_MMB ,35.88,-99.64, 2 +MMB00032, 9,40SSE_MMB ,35.72,-99.57, 2 +MMB00033, 9,50SSE_MMB ,35.57,-99.49, 2 +MMB00034, 9,60SSE_MMB ,35.42,-99.41, 2 +MMB00035, 9,70SSE_MMB ,35.26,-99.33, 2 +MMB00036, 9,20S_MMB ,36.01,-99.88, 2 +MMB00037, 9,30S_MMB ,35.84,-99.88, 2 +MMB00038, 9,40S_MMB ,35.67,-99.88, 2 +MMB00039, 9,50S_MMB ,35.51,-99.88, 2 +MMB00040, 9,60S_MMB ,35.34,-99.88, 2 +MMB00041, 9,20SSW_MMB ,36.03,-100.04, 2 +MMB00042, 9,30SSW_MMB ,35.88,-100.12, 2 +MMB00043, 9,40SSW_MMB ,35.72,-100.19, 2 +MMB00044, 9,50SSW_MMB ,35.57,-100.27, 2 +MMB00045, 9,60SSW_MMB ,35.42,-100.35, 2 +MMB00046, 9,20SW_MMB ,36.10,-100.17, 2 +MMB00047, 9,30SW_MMB ,35.99,-100.32, 2 +MMB00048, 9,40SW_MMB ,35.87,-100.46, 2 +MMB00049, 9,50SW_MMB ,35.75,-100.61, 2 +MMB00050, 9,60SW_MMB ,35.63,-100.75, 2 +MMB00051, 9,20WSW_MMB ,36.21,-100.26, 2 +MMB00052, 9,30WSW_MMB ,36.15,-100.45, 2 +MMB00053, 9,40WSW_MMB ,36.08,-100.64, 2 +MMB00054, 9,50WSW_MMB ,36.02,-100.83, 2 +MMB00055, 9,20W_MMB ,36.34,-100.29, 2 +MMB00056, 9,30W_MMB ,36.34,-100.50, 2 +MMB00057, 9,20WNW_MMB ,36.47,-100.26, 2 +MMB00058, 9,20NW_MMB ,36.58,-100.17, 2 +MMB00059, 9,20NNW_MMB ,36.65,-100.04, 2 +MMB00060, 9,30NNW_MMB ,36.80,-100.12, 2 COORD001, 9,50WSW_YXC ,49.27,-116.95, 1 COORD002, 9,50SE_REO ,42.00,-117.08, 1 COORD003, 9,40SE_LKV ,42.02,-119.87, 1 COORD004, 9,40SSW_FMG ,38.90,-119.98, 1 COORD005, 9,50S_TUS ,31.27,-110.91, 1 -COORD006, 9,220SW_MZB ,30.14,-120.23, 1 -COORD007, 9,140WSW_FOT ,39.74,-127.02, 1 -COORD008, 9,140W_TOU ,48.25,-128.13, 1 -COORD009, 9,50WSW_YXC ,49.27,-116.95, 1 -COORD010, 9,50NNW_ISN ,48.95,-104.12, 1 -COORD011, 9,40ESE_CYS ,40.95,-103.96, 1 -COORD012, 9,40E_SNY ,41.10,-102.10, 1 +COORD006, 9,20S_MZB ,32.45,-117.23, 1 +COORD007, 9,220SW_MZB ,30.14,-120.23, 1 +COORD008, 9,140WSW_FOT ,39.74,-127.02, 1 +COORD009, 9,140W_TOU ,48.25,-128.13, 1 +COORD010, 9,50WSW_YXC ,49.27,-116.95, 1 +COORD011, 9,50NNW_ISN ,48.95,-104.12, 1 +COORD012, 9,70SW_RAP ,43.15,-104.14, 1 COORD013, 9,50W_LBL ,37.09,-101.99, 1 COORD014, 9,30ESE_TBE ,37.08,-103.02, 1 COORD015, 9,90S_MRF ,28.80,-103.95, 1 @@ -21354,14 +21499,14 @@ COORD021, 9,30N_INL ,49.06,-93.40, 1 COORD022, 9,50NNW_ISN ,48.95,-104.12, 1 COORD023, 9,130ESE_LEV ,28.32,-87.83, 1 COORD024, 9,40W_CEW ,30.93,-87.46, 1 -COORD025, 9,50SW_ABY ,31.05,-84.98, 1 +COORD025, 9,50SW_PZD ,31.05,-84.98, 1 COORD026, 9,30SE_ECK ,42.90,-82.23, 1 COORD027, 9,70NW_PQI ,47.59,-69.30, 1 COORD028, 9,60NE_PQI ,47.47,-67.04, 1 COORD029, 9,200SE_ACK ,38.88,-67.00, 1 COORD030, 9,160SE_SIE ,37.18,-72.43, 1 COORD031, 9,190ESE_ECG ,34.99,-72.61, 1 -COORD032, 9,130SSE_ILM ,32.38,-76.81, 1 +COORD032, 9,130SSE_ILM ,32.36,-76.90, 1 COORD033, 9,180E_PBI ,26.63,-76.73, 1 COORD034, 9,70ENE_PBI ,27.12,-78.87, 1 COORD035, 9,150SE_MIA ,24.02,-78.37, 1 diff --git a/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap8.sql b/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap8.sql index c682876fce..3c86714a17 100644 --- a/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap8.sql +++ b/edexOsgi/build.edex/opt/db/ddl/ncep/loadSnap8.sql @@ -1192,26 +1192,26 @@ ILM00073, 9,220SE_ILM ,31.72,-74.82, 2 ILM00074, 9,230SE_ILM ,31.60,-74.69, 2 ILM00075, 9,240SE_ILM ,31.48,-74.56, 2 ILM00076, 9,250SE_ILM ,31.36,-74.42, 2 -ILM00099, 9,20S_ILM ,34.02,-77.87, 2 -ILM00100, 9,30S_ILM ,33.85,-77.87, 2 -ILM00101, 9,40S_ILM ,33.68,-77.87, 2 -ILM00102, 9,50S_ILM ,33.52,-77.87, 2 -ILM00103, 9,60S_ILM ,33.35,-77.87, 2 -ILM00104, 9,70S_ILM ,33.18,-77.87, 2 -ILM00105, 9,80S_ILM ,33.02,-77.87, 2 -ILM00106, 9,90S_ILM ,32.85,-77.87, 2 -ILM00107, 9,100S_ILM ,32.68,-77.87, 2 -ILM00108, 9,110S_ILM ,32.52,-77.87, 2 -ILM00116, 9,20SW_ILM ,34.11,-78.15, 2 -ILM00117, 9,30SW_ILM ,34.00,-78.30, 2 -ILM00118, 9,40SW_ILM ,33.88,-78.44, 2 -ILM00119, 9,50SW_ILM ,33.76,-78.58, 2 -ILM00123, 9,20W_ILM ,34.35,-78.27, 2 -ILM00124, 9,30W_ILM ,34.35,-78.48, 2 -ILM00125, 9,40W_ILM ,34.35,-78.68, 2 -ILM00130, 9,20NW_ILM ,34.59,-78.16, 2 -ILM00131, 9,30NW_ILM ,34.70,-78.30, 2 -ILM00132, 9,40NW_ILM ,34.82,-78.44, 2 +ILM00098, 9,20S_ILM ,34.02,-77.87, 2 +ILM00099, 9,30S_ILM ,33.85,-77.87, 2 +ILM00100, 9,40S_ILM ,33.68,-77.87, 2 +ILM00101, 9,50S_ILM ,33.52,-77.87, 2 +ILM00102, 9,60S_ILM ,33.35,-77.87, 2 +ILM00103, 9,70S_ILM ,33.18,-77.87, 2 +ILM00104, 9,80S_ILM ,33.02,-77.87, 2 +ILM00105, 9,90S_ILM ,32.85,-77.87, 2 +ILM00106, 9,100S_ILM ,32.68,-77.87, 2 +ILM00107, 9,110S_ILM ,32.52,-77.87, 2 +ILM00115, 9,20SW_ILM ,34.11,-78.15, 2 +ILM00116, 9,30SW_ILM ,34.00,-78.30, 2 +ILM00117, 9,40SW_ILM ,33.88,-78.44, 2 +ILM00118, 9,50SW_ILM ,33.76,-78.58, 2 +ILM00122, 9,20W_ILM ,34.35,-78.27, 2 +ILM00123, 9,30W_ILM ,34.35,-78.48, 2 +ILM00124, 9,40W_ILM ,34.35,-78.68, 2 +ILM00129, 9,20NW_ILM ,34.59,-78.16, 2 +ILM00130, 9,30NW_ILM ,34.70,-78.30, 2 +ILM00131, 9,40NW_ILM ,34.82,-78.44, 2 SLT00000, 9,SLT ,41.51,-77.97, 1 SLT00001, 9,20N_SLT ,41.84,-77.97, 2 SLT00002, 9,30N_SLT ,42.01,-77.97, 2 @@ -1530,11 +1530,11 @@ PBI00073, 9,20S_PBI ,26.35,-80.09, 2 PBI00074, 9,30S_PBI ,26.18,-80.09, 2 PBI00077, 9,20SW_PBI ,26.44,-80.35, 2 PBI00078, 9,30SW_PBI ,26.33,-80.48, 2 -PBI00083, 9,20W_PBI ,26.68,-80.46, 2 -PBI00084, 9,30W_PBI ,26.68,-80.65, 2 -PBI00085, 9,40W_PBI ,26.68,-80.84, 2 -PBI00089, 9,20NW_PBI ,26.92,-80.35, 2 -PBI00090, 9,30NW_PBI ,27.03,-80.49, 2 +PBI00082, 9,20W_PBI ,26.68,-80.46, 2 +PBI00083, 9,30W_PBI ,26.68,-80.65, 2 +PBI00084, 9,40W_PBI ,26.68,-80.84, 2 +PBI00088, 9,20NW_PBI ,26.92,-80.35, 2 +PBI00089, 9,30NW_PBI ,27.03,-80.49, 2 EKN00000, 9,EKN ,38.92,-80.10, 1 EKN00001, 9,20N_EKN ,39.25,-80.10, 2 EKN00002, 9,30N_EKN ,39.42,-80.10, 2 @@ -1657,42 +1657,41 @@ MIA00093, 9,50SW_MIA ,25.21,-80.95, 2 MIA00099, 9,20W_MIA ,25.80,-80.67, 2 MIA00100, 9,30W_MIA ,25.80,-80.85, 2 MIA00101, 9,40W_MIA ,25.80,-81.04, 2 -MIA00102, 9,50W_MIA ,25.80,-81.22, 2 -MIA00106, 9,20NW_MIA ,26.04,-80.56, 2 -MIA00107, 9,30NW_MIA ,26.15,-80.69, 2 -MIA00108, 9,40NW_MIA ,26.27,-80.83, 2 -VRB00000, 9,VRB ,27.68,-80.49, 1 -VRB00001, 9,20N_VRB ,28.01,-80.49, 2 -VRB00002, 9,30N_VRB ,28.18,-80.49, 2 -VRB00008, 9,20NE_VRB ,27.92,-80.22, 2 -VRB00009, 9,30NE_VRB ,28.03,-80.09, 2 -VRB00010, 9,40NE_VRB ,28.15,-79.96, 2 -VRB00011, 9,50NE_VRB ,28.27,-79.82, 2 -VRB00012, 9,60NE_VRB ,28.38,-79.69, 2 -VRB00013, 9,70NE_VRB ,28.50,-79.55, 2 -VRB00014, 9,80NE_VRB ,28.62,-79.42, 2 -VRB00015, 9,90NE_VRB ,28.73,-79.28, 2 -VRB00016, 9,100NE_VRB ,28.85,-79.15, 2 -VRB00040, 9,20E_VRB ,27.68,-80.11, 2 -VRB00041, 9,30E_VRB ,27.68,-79.93, 2 -VRB00042, 9,40E_VRB ,27.68,-79.74, 2 -VRB00043, 9,50E_VRB ,27.68,-79.55, 2 -VRB00044, 9,60E_VRB ,27.68,-79.36, 2 -VRB00045, 9,70E_VRB ,27.67,-79.17, 2 -VRB00046, 9,80E_VRB ,27.67,-78.99, 2 -VRB00047, 9,90E_VRB ,27.67,-78.80, 2 -VRB00052, 9,20SE_VRB ,27.44,-80.22, 2 -VRB00053, 9,30SE_VRB ,27.33,-80.09, 2 -VRB00056, 9,20S_VRB ,27.35,-80.49, 2 -VRB00057, 9,30S_VRB ,27.18,-80.49, 2 -VRB00061, 9,20SW_VRB ,27.44,-80.76, 2 -VRB00062, 9,30SW_VRB ,27.33,-80.89, 2 -VRB00063, 9,40SW_VRB ,27.21,-81.02, 2 -VRB00064, 9,50SW_VRB ,27.09,-81.15, 2 -VRB00069, 9,20W_VRB ,27.68,-80.87, 2 -VRB00070, 9,30W_VRB ,27.68,-81.05, 2 -VRB00071, 9,40W_VRB ,27.68,-81.24, 2 -VRB00074, 9,20NW_VRB ,27.92,-80.76, 2 +MIA00105, 9,20NW_MIA ,26.04,-80.56, 2 +MIA00106, 9,30NW_MIA ,26.15,-80.69, 2 +MIA00107, 9,40NW_MIA ,26.27,-80.83, 2 +TRV00000, 9,TRV ,27.68,-80.49, 1 +TRV00001, 9,20N_TRV ,28.01,-80.49, 2 +TRV00002, 9,30N_TRV ,28.18,-80.49, 2 +TRV00008, 9,20NE_TRV ,27.92,-80.22, 2 +TRV00009, 9,30NE_TRV ,28.03,-80.09, 2 +TRV00010, 9,40NE_TRV ,28.15,-79.96, 2 +TRV00011, 9,50NE_TRV ,28.27,-79.82, 2 +TRV00012, 9,60NE_TRV ,28.38,-79.69, 2 +TRV00013, 9,70NE_TRV ,28.50,-79.55, 2 +TRV00014, 9,80NE_TRV ,28.62,-79.42, 2 +TRV00015, 9,90NE_TRV ,28.73,-79.28, 2 +TRV00016, 9,100NE_TRV ,28.85,-79.15, 2 +TRV00040, 9,20E_TRV ,27.68,-80.11, 2 +TRV00041, 9,30E_TRV ,27.68,-79.93, 2 +TRV00042, 9,40E_TRV ,27.68,-79.74, 2 +TRV00043, 9,50E_TRV ,27.68,-79.55, 2 +TRV00044, 9,60E_TRV ,27.68,-79.36, 2 +TRV00045, 9,70E_TRV ,27.67,-79.17, 2 +TRV00046, 9,80E_TRV ,27.67,-78.99, 2 +TRV00047, 9,90E_TRV ,27.67,-78.80, 2 +TRV00052, 9,20SE_TRV ,27.44,-80.22, 2 +TRV00053, 9,30SE_TRV ,27.33,-80.09, 2 +TRV00056, 9,20S_TRV ,27.35,-80.49, 2 +TRV00057, 9,30S_TRV ,27.18,-80.49, 2 +TRV00061, 9,20SW_TRV ,27.44,-80.76, 2 +TRV00062, 9,30SW_TRV ,27.33,-80.89, 2 +TRV00063, 9,40SW_TRV ,27.21,-81.02, 2 +TRV00064, 9,50SW_TRV ,27.09,-81.15, 2 +TRV00069, 9,20W_TRV ,27.68,-80.87, 2 +TRV00070, 9,30W_TRV ,27.68,-81.05, 2 +TRV00071, 9,40W_TRV ,27.68,-81.24, 2 +TRV00074, 9,20NW_TRV ,27.92,-80.76, 2 PSK00000, 9,PSK ,37.09,-80.71, 1 PSK00002, 9,20NE_PSK ,37.33,-80.41, 2 PSK00003, 9,30NE_PSK ,37.44,-80.27, 2 @@ -2082,42 +2081,41 @@ EYW00193, 9,220W_EYW ,24.54,-85.83, 2 EYW00194, 9,230W_EYW ,24.53,-86.01, 2 EYW00195, 9,240W_EYW ,24.53,-86.19, 2 EYW00196, 9,250W_EYW ,24.52,-86.38, 2 -EYW00209, 9,20NW_EYW ,24.83,-82.06, 2 -EYW00210, 9,30NW_EYW ,24.94,-82.19, 2 -EYW00211, 9,40NW_EYW ,25.06,-82.32, 2 -EYW00212, 9,50NW_EYW ,25.18,-82.45, 2 -EYW00213, 9,60NW_EYW ,25.29,-82.58, 2 -EYW00214, 9,70NW_EYW ,25.41,-82.71, 2 -FMY00000, 9,FMY ,26.58,-81.87, 1 -FMY00001, 9,20N_FMY ,26.91,-81.87, 2 -FMY00002, 9,30N_FMY ,27.08,-81.87, 2 -FMY00006, 9,20NE_FMY ,26.82,-81.61, 2 -FMY00007, 9,30NE_FMY ,26.93,-81.47, 2 -FMY00008, 9,40NE_FMY ,27.05,-81.34, 2 -FMY00012, 9,20E_FMY ,26.58,-81.50, 2 -FMY00013, 9,30E_FMY ,26.58,-81.31, 2 -FMY00014, 9,40E_FMY ,26.58,-81.13, 2 -FMY00019, 9,20SE_FMY ,26.34,-81.61, 2 -FMY00020, 9,30SE_FMY ,26.23,-81.48, 2 -FMY00021, 9,40SE_FMY ,26.11,-81.35, 2 -FMY00022, 9,50SE_FMY ,25.99,-81.21, 2 -FMY00028, 9,20S_FMY ,26.25,-81.87, 2 -FMY00029, 9,30S_FMY ,26.08,-81.87, 2 -FMY00030, 9,40S_FMY ,25.91,-81.87, 2 -FMY00031, 9,50S_FMY ,25.75,-81.87, 2 -FMY00032, 9,60S_FMY ,25.58,-81.87, 2 -FMY00038, 9,20SW_FMY ,26.34,-82.13, 2 -FMY00039, 9,30SW_FMY ,26.23,-82.26, 2 -FMY00040, 9,40SW_FMY ,26.11,-82.39, 2 -FMY00041, 9,50SW_FMY ,25.99,-82.53, 2 -FMY00042, 9,60SW_FMY ,25.87,-82.66, 2 -FMY00043, 9,70SW_FMY ,25.75,-82.79, 2 -FMY00044, 9,80SW_FMY ,25.63,-82.91, 2 -FMY00045, 9,90SW_FMY ,25.52,-83.04, 2 -FMY00056, 9,20W_FMY ,26.58,-82.24, 2 -FMY00057, 9,30W_FMY ,26.58,-82.43, 2 -FMY00058, 9,40W_FMY ,26.58,-82.61, 2 -FMY00061, 9,20NW_FMY ,26.82,-82.13, 2 +EYW00210, 9,20NW_EYW ,24.83,-82.06, 2 +EYW00211, 9,30NW_EYW ,24.94,-82.19, 2 +EYW00212, 9,40NW_EYW ,25.06,-82.32, 2 +EYW00213, 9,50NW_EYW ,25.18,-82.45, 2 +EYW00214, 9,60NW_EYW ,25.29,-82.58, 2 +EYW00215, 9,70NW_EYW ,25.41,-82.71, 2 +RSW00000, 9,RSW ,26.53,-81.78, 1 +RSW00001, 9,20N_RSW ,26.86,-81.78, 2 +RSW00002, 9,30N_RSW ,27.03,-81.78, 2 +RSW00006, 9,20NE_RSW ,26.77,-81.52, 2 +RSW00007, 9,30NE_RSW ,26.88,-81.38, 2 +RSW00008, 9,40NE_RSW ,27.00,-81.25, 2 +RSW00012, 9,20E_RSW ,26.53,-81.41, 2 +RSW00013, 9,30E_RSW ,26.53,-81.22, 2 +RSW00014, 9,40E_RSW ,26.53,-81.04, 2 +RSW00018, 9,20SE_RSW ,26.29,-81.52, 2 +RSW00019, 9,30SE_RSW ,26.18,-81.39, 2 +RSW00020, 9,40SE_RSW ,26.06,-81.26, 2 +RSW00021, 9,50SE_RSW ,25.94,-81.13, 2 +RSW00027, 9,20S_RSW ,26.20,-81.78, 2 +RSW00028, 9,30S_RSW ,26.03,-81.78, 2 +RSW00029, 9,40S_RSW ,25.86,-81.78, 2 +RSW00030, 9,50S_RSW ,25.70,-81.78, 2 +RSW00031, 9,60S_RSW ,25.53,-81.78, 2 +RSW00037, 9,20SW_RSW ,26.29,-82.04, 2 +RSW00038, 9,30SW_RSW ,26.18,-82.17, 2 +RSW00039, 9,40SW_RSW ,26.06,-82.30, 2 +RSW00040, 9,50SW_RSW ,25.94,-82.43, 2 +RSW00041, 9,60SW_RSW ,25.82,-82.56, 2 +RSW00042, 9,70SW_RSW ,25.70,-82.69, 2 +RSW00043, 9,80SW_RSW ,25.58,-82.82, 2 +RSW00053, 9,20W_RSW ,26.53,-82.15, 2 +RSW00054, 9,30W_RSW ,26.53,-82.34, 2 +RSW00055, 9,40W_RSW ,26.53,-82.52, 2 +RSW00058, 9,20NW_RSW ,26.77,-82.04, 2 SPA00000, 9,SPA ,35.03,-81.93, 1 SPA00001, 9,20N_SPA ,35.36,-81.93, 2 SPA00002, 9,30N_SPA ,35.53,-81.93, 2 @@ -2283,27 +2281,27 @@ SRQ00013, 9,30SE_SRQ ,27.05,-82.15, 2 SRQ00016, 9,20S_SRQ ,27.07,-82.55, 2 SRQ00017, 9,30S_SRQ ,26.90,-82.55, 2 SRQ00018, 9,40S_SRQ ,26.73,-82.55, 2 -SRQ00024, 9,20SW_SRQ ,27.16,-82.81, 2 -SRQ00025, 9,30SW_SRQ ,27.05,-82.95, 2 -SRQ00026, 9,40SW_SRQ ,26.93,-83.08, 2 -SRQ00027, 9,50SW_SRQ ,26.81,-83.21, 2 -SRQ00028, 9,60SW_SRQ ,26.69,-83.34, 2 -SRQ00029, 9,70SW_SRQ ,26.57,-83.47, 2 -SRQ00030, 9,80SW_SRQ ,26.45,-83.60, 2 -SRQ00031, 9,90SW_SRQ ,26.34,-83.73, 2 -SRQ00032, 9,100SW_SRQ ,26.22,-83.86, 2 -SRQ00033, 9,110SW_SRQ ,26.10,-83.99, 2 -SRQ00034, 9,120SW_SRQ ,25.98,-84.12, 2 -SRQ00035, 9,130SW_SRQ ,25.86,-84.25, 2 -SRQ00036, 9,140SW_SRQ ,25.74,-84.38, 2 -SRQ00037, 9,150SW_SRQ ,25.62,-84.51, 2 -SRQ00038, 9,160SW_SRQ ,25.50,-84.64, 2 -SRQ00039, 9,170SW_SRQ ,25.38,-84.77, 2 -SRQ00063, 9,20W_SRQ ,27.40,-82.93, 2 -SRQ00064, 9,30W_SRQ ,27.40,-83.11, 2 -SRQ00065, 9,40W_SRQ ,27.40,-83.30, 2 -SRQ00066, 9,50W_SRQ ,27.40,-83.49, 2 -SRQ00067, 9,60W_SRQ ,27.40,-83.68, 2 +SRQ00025, 9,20SW_SRQ ,27.16,-82.81, 2 +SRQ00026, 9,30SW_SRQ ,27.05,-82.95, 2 +SRQ00027, 9,40SW_SRQ ,26.93,-83.08, 2 +SRQ00028, 9,50SW_SRQ ,26.81,-83.21, 2 +SRQ00029, 9,60SW_SRQ ,26.69,-83.34, 2 +SRQ00030, 9,70SW_SRQ ,26.57,-83.47, 2 +SRQ00031, 9,80SW_SRQ ,26.45,-83.60, 2 +SRQ00032, 9,90SW_SRQ ,26.34,-83.73, 2 +SRQ00033, 9,100SW_SRQ ,26.22,-83.86, 2 +SRQ00034, 9,110SW_SRQ ,26.10,-83.99, 2 +SRQ00035, 9,120SW_SRQ ,25.98,-84.12, 2 +SRQ00036, 9,130SW_SRQ ,25.86,-84.25, 2 +SRQ00037, 9,140SW_SRQ ,25.74,-84.38, 2 +SRQ00038, 9,150SW_SRQ ,25.62,-84.51, 2 +SRQ00039, 9,160SW_SRQ ,25.50,-84.64, 2 +SRQ00040, 9,170SW_SRQ ,25.38,-84.77, 2 +SRQ00064, 9,20W_SRQ ,27.40,-82.93, 2 +SRQ00065, 9,30W_SRQ ,27.40,-83.11, 2 +SRQ00066, 9,40W_SRQ ,27.40,-83.30, 2 +SRQ00067, 9,50W_SRQ ,27.40,-83.49, 2 +SRQ00068, 9,60W_SRQ ,27.40,-83.68, 2 APE00000, 9,APE ,40.15,-82.59, 1 APE00001, 9,20N_APE ,40.48,-82.59, 2 APE00002, 9,30N_APE ,40.65,-82.59, 2 @@ -2622,30 +2620,30 @@ LOZ00054, 9,50W_LOZ ,37.03,-85.16, 2 LOZ00058, 9,20NW_LOZ ,37.27,-84.42, 2 LOZ00059, 9,30NW_LOZ ,37.38,-84.56, 2 LOZ00060, 9,40NW_LOZ ,37.50,-84.71, 2 -ABY00000, 9,ABY ,31.65,-84.30, 1 -ABY00001, 9,20N_ABY ,31.98,-84.30, 2 -ABY00002, 9,30N_ABY ,32.15,-84.30, 2 -ABY00004, 9,20NE_ABY ,31.89,-84.02, 2 -ABY00005, 9,30NE_ABY ,32.00,-83.88, 2 -ABY00008, 9,20E_ABY ,31.65,-83.91, 2 -ABY00009, 9,30E_ABY ,31.65,-83.71, 2 -ABY00010, 9,40E_ABY ,31.65,-83.52, 2 -ABY00014, 9,20SE_ABY ,31.41,-84.02, 2 -ABY00015, 9,30SE_ABY ,31.30,-83.89, 2 -ABY00016, 9,40SE_ABY ,31.18,-83.75, 2 -ABY00017, 9,50SE_ABY ,31.06,-83.61, 2 -ABY00021, 9,20S_ABY ,31.32,-84.30, 2 -ABY00022, 9,30S_ABY ,31.15,-84.30, 2 -ABY00026, 9,20SW_ABY ,31.41,-84.58, 2 -ABY00027, 9,30SW_ABY ,31.30,-84.71, 2 -ABY00028, 9,40SW_ABY ,31.18,-84.85, 2 -ABY00034, 9,20W_ABY ,31.65,-84.69, 2 -ABY00035, 9,30W_ABY ,31.65,-84.89, 2 -ABY00036, 9,40W_ABY ,31.65,-85.08, 2 -ABY00037, 9,50W_ABY ,31.65,-85.28, 2 -ABY00042, 9,20NW_ABY ,31.89,-84.58, 2 -ABY00043, 9,30NW_ABY ,32.00,-84.72, 2 -ABY00044, 9,40NW_ABY ,32.12,-84.86, 2 +PZD00000, 9,PZD ,31.66,-84.29, 1 +PZD00001, 9,20N_PZD ,31.99,-84.29, 2 +PZD00002, 9,30N_PZD ,32.16,-84.29, 2 +PZD00004, 9,20NE_PZD ,31.90,-84.01, 2 +PZD00005, 9,30NE_PZD ,32.01,-83.87, 2 +PZD00008, 9,20E_PZD ,31.66,-83.90, 2 +PZD00009, 9,30E_PZD ,31.66,-83.70, 2 +PZD00010, 9,40E_PZD ,31.66,-83.51, 2 +PZD00014, 9,20SE_PZD ,31.42,-84.01, 2 +PZD00015, 9,30SE_PZD ,31.31,-83.88, 2 +PZD00016, 9,40SE_PZD ,31.19,-83.74, 2 +PZD00017, 9,50SE_PZD ,31.07,-83.60, 2 +PZD00021, 9,20S_PZD ,31.33,-84.29, 2 +PZD00022, 9,30S_PZD ,31.16,-84.29, 2 +PZD00026, 9,20SW_PZD ,31.42,-84.57, 2 +PZD00027, 9,30SW_PZD ,31.31,-84.70, 2 +PZD00028, 9,40SW_PZD ,31.19,-84.84, 2 +PZD00034, 9,20W_PZD ,31.66,-84.68, 2 +PZD00035, 9,30W_PZD ,31.66,-84.88, 2 +PZD00036, 9,40W_PZD ,31.66,-85.07, 2 +PZD00037, 9,50W_PZD ,31.66,-85.27, 2 +PZD00042, 9,20NW_PZD ,31.90,-84.57, 2 +PZD00043, 9,30NW_PZD ,32.01,-84.71, 2 +PZD00044, 9,40NW_PZD ,32.13,-84.85, 2 SSM00000, 9,SSM ,46.41,-84.31, 1 SSM00001, 9,20N_SSM ,46.74,-84.31, 2 SSM00002, 9,30N_SSM ,46.91,-84.31, 2 @@ -2946,31 +2944,31 @@ TVC00058, 9,20NW_TVC ,44.91,-85.88, 2 TVC00059, 9,30NW_TVC ,45.02,-86.05, 2 TVC00060, 9,40NW_TVC ,45.14,-86.22, 2 TVC00061, 9,50NW_TVC ,45.26,-86.39, 2 -LOU00000, 9,LOU ,38.10,-85.58, 1 -LOU00001, 9,20N_LOU ,38.43,-85.58, 2 -LOU00002, 9,30N_LOU ,38.60,-85.58, 2 -LOU00004, 9,20NE_LOU ,38.34,-85.28, 2 -LOU00007, 9,20E_LOU ,38.10,-85.16, 2 -LOU00008, 9,30E_LOU ,38.10,-84.95, 2 -LOU00009, 9,40E_LOU ,38.10,-84.73, 2 -LOU00014, 9,20SE_LOU ,37.86,-85.28, 2 -LOU00015, 9,30SE_LOU ,37.75,-85.13, 2 -LOU00016, 9,40SE_LOU ,37.63,-84.99, 2 -LOU00017, 9,50SE_LOU ,37.51,-84.84, 2 -LOU00022, 9,20S_LOU ,37.77,-85.58, 2 -LOU00023, 9,30S_LOU ,37.60,-85.58, 2 -LOU00024, 9,40S_LOU ,37.43,-85.58, 2 -LOU00025, 9,50S_LOU ,37.27,-85.58, 2 -LOU00029, 9,20SW_LOU ,37.86,-85.88, 2 -LOU00030, 9,30SW_LOU ,37.75,-86.03, 2 -LOU00031, 9,40SW_LOU ,37.63,-86.17, 2 -LOU00036, 9,20W_LOU ,38.10,-86.00, 2 -LOU00037, 9,30W_LOU ,38.10,-86.21, 2 -LOU00038, 9,40W_LOU ,38.10,-86.43, 2 -LOU00039, 9,50W_LOU ,38.10,-86.64, 2 -LOU00044, 9,20NW_LOU ,38.34,-85.88, 2 -LOU00045, 9,30NW_LOU ,38.45,-86.03, 2 -LOU00046, 9,40NW_LOU ,38.57,-86.18, 2 +IIU00000, 9,IIU ,38.10,-85.58, 1 +IIU00001, 9,20N_IIU ,38.43,-85.58, 2 +IIU00002, 9,30N_IIU ,38.60,-85.58, 2 +IIU00004, 9,20NE_IIU ,38.34,-85.28, 2 +IIU00007, 9,20E_IIU ,38.10,-85.16, 2 +IIU00008, 9,30E_IIU ,38.10,-84.95, 2 +IIU00009, 9,40E_IIU ,38.10,-84.73, 2 +IIU00014, 9,20SE_IIU ,37.86,-85.28, 2 +IIU00015, 9,30SE_IIU ,37.75,-85.13, 2 +IIU00016, 9,40SE_IIU ,37.63,-84.99, 2 +IIU00017, 9,50SE_IIU ,37.51,-84.84, 2 +IIU00022, 9,20S_IIU ,37.77,-85.58, 2 +IIU00023, 9,30S_IIU ,37.60,-85.58, 2 +IIU00024, 9,40S_IIU ,37.43,-85.58, 2 +IIU00025, 9,50S_IIU ,37.27,-85.58, 2 +IIU00029, 9,20SW_IIU ,37.86,-85.88, 2 +IIU00030, 9,30SW_IIU ,37.75,-86.03, 2 +IIU00031, 9,40SW_IIU ,37.63,-86.17, 2 +IIU00036, 9,20W_IIU ,38.10,-86.00, 2 +IIU00037, 9,30W_IIU ,38.10,-86.21, 2 +IIU00038, 9,40W_IIU ,38.10,-86.43, 2 +IIU00039, 9,50W_IIU ,38.10,-86.64, 2 +IIU00044, 9,20NW_IIU ,38.34,-85.88, 2 +IIU00045, 9,30NW_IIU ,38.45,-86.03, 2 +IIU00046, 9,40NW_IIU ,38.57,-86.18, 2 MKG00000, 9,MKG ,43.17,-86.04, 1 MKG00001, 9,20N_MKG ,43.50,-86.04, 2 MKG00002, 9,30N_MKG ,43.67,-86.04, 2 @@ -3461,19 +3459,18 @@ SJI00041, 9,60S_SJI ,29.73,-88.36, 2 SJI00042, 9,70S_SJI ,29.56,-88.36, 2 SJI00043, 9,80S_SJI ,29.40,-88.36, 2 SJI00044, 9,90S_SJI ,29.23,-88.36, 2 -SJI00051, 9,20SW_SJI ,30.49,-88.63, 2 -SJI00052, 9,30SW_SJI ,30.38,-88.77, 2 -SJI00053, 9,40SW_SJI ,30.26,-88.91, 2 -SJI00054, 9,50SW_SJI ,30.14,-89.04, 2 -SJI00055, 9,60SW_SJI ,30.02,-89.18, 2 -SJI00060, 9,20W_SJI ,30.73,-88.75, 2 -SJI00061, 9,30W_SJI ,30.73,-88.94, 2 -SJI00062, 9,40W_SJI ,30.73,-89.14, 2 -SJI00063, 9,50W_SJI ,30.73,-89.33, 2 -SJI00067, 9,20NW_SJI ,30.97,-88.63, 2 -SJI00068, 9,30NW_SJI ,31.08,-88.77, 2 -SJI00069, 9,40NW_SJI ,31.20,-88.91, 2 -SJI00070, 9,50NW_SJI ,31.32,-89.05, 2 +SJI00050, 9,20SW_SJI ,30.49,-88.63, 2 +SJI00051, 9,30SW_SJI ,30.38,-88.77, 2 +SJI00052, 9,40SW_SJI ,30.26,-88.91, 2 +SJI00053, 9,50SW_SJI ,30.14,-89.04, 2 +SJI00058, 9,20W_SJI ,30.73,-88.75, 2 +SJI00059, 9,30W_SJI ,30.73,-88.94, 2 +SJI00060, 9,40W_SJI ,30.73,-89.14, 2 +SJI00061, 9,50W_SJI ,30.73,-89.33, 2 +SJI00065, 9,20NW_SJI ,30.97,-88.63, 2 +SJI00066, 9,30NW_SJI ,31.08,-88.77, 2 +SJI00067, 9,40NW_SJI ,31.20,-88.91, 2 +SJI00068, 9,50NW_SJI ,31.32,-89.05, 2 IGB00000, 9,IGB ,33.48,-88.52, 1 IGB00001, 9,20N_IGB ,33.81,-88.52, 2 IGB00002, 9,30N_IGB ,33.98,-88.52, 2 @@ -3521,42 +3518,41 @@ MEI00030, 9,50S_MEI ,31.55,-88.80, 2 MEI00036, 9,20SW_MEI ,32.14,-89.08, 2 MEI00037, 9,30SW_MEI ,32.03,-89.22, 2 MEI00038, 9,40SW_MEI ,31.91,-89.35, 2 -MEI00039, 9,50SW_MEI ,31.79,-89.49, 2 -MEI00042, 9,20W_MEI ,32.38,-89.19, 2 -MEI00043, 9,30W_MEI ,32.38,-89.39, 2 -MEI00046, 9,20NW_MEI ,32.62,-89.08, 2 -MEI00047, 9,30NW_MEI ,32.73,-89.22, 2 -MEI00048, 9,40NW_MEI ,32.85,-89.36, 2 -DEC00000, 9,DEC ,39.74,-88.86, 1 -DEC00001, 9,20N_DEC ,40.07,-88.86, 2 -DEC00002, 9,30N_DEC ,40.24,-88.86, 2 -DEC00003, 9,40N_DEC ,40.41,-88.86, 2 -DEC00007, 9,20NE_DEC ,39.98,-88.55, 2 -DEC00008, 9,30NE_DEC ,40.09,-88.40, 2 -DEC00009, 9,40NE_DEC ,40.21,-88.24, 2 -DEC00013, 9,20E_DEC ,39.74,-88.43, 2 -DEC00014, 9,30E_DEC ,39.74,-88.21, 2 -DEC00015, 9,40E_DEC ,39.74,-87.99, 2 -DEC00019, 9,20SE_DEC ,39.50,-88.55, 2 -DEC00020, 9,30SE_DEC ,39.39,-88.40, 2 -DEC00021, 9,40SE_DEC ,39.27,-88.25, 2 -DEC00027, 9,20S_DEC ,39.41,-88.86, 2 -DEC00028, 9,30S_DEC ,39.24,-88.86, 2 -DEC00029, 9,40S_DEC ,39.07,-88.86, 2 -DEC00030, 9,50S_DEC ,38.91,-88.86, 2 -DEC00031, 9,60S_DEC ,38.74,-88.86, 2 -DEC00032, 9,70S_DEC ,38.57,-88.86, 2 -DEC00038, 9,20SW_DEC ,39.50,-89.17, 2 -DEC00039, 9,30SW_DEC ,39.39,-89.32, 2 -DEC00040, 9,40SW_DEC ,39.27,-89.47, 2 -DEC00041, 9,50SW_DEC ,39.15,-89.62, 2 -DEC00046, 9,20W_DEC ,39.74,-89.29, 2 -DEC00047, 9,30W_DEC ,39.74,-89.51, 2 -DEC00048, 9,40W_DEC ,39.74,-89.73, 2 -DEC00049, 9,50W_DEC ,39.73,-89.94, 2 -DEC00054, 9,20NW_DEC ,39.98,-89.17, 2 -DEC00055, 9,30NW_DEC ,40.09,-89.32, 2 -DEC00056, 9,40NW_DEC ,40.21,-89.48, 2 +MEI00041, 9,20W_MEI ,32.38,-89.19, 2 +MEI00042, 9,30W_MEI ,32.38,-89.39, 2 +MEI00045, 9,20NW_MEI ,32.62,-89.08, 2 +MEI00046, 9,30NW_MEI ,32.73,-89.22, 2 +MEI00047, 9,40NW_MEI ,32.85,-89.36, 2 +AXC00000, 9,AXC ,39.74,-88.86, 1 +AXC00001, 9,20N_AXC ,40.07,-88.86, 2 +AXC00002, 9,30N_AXC ,40.24,-88.86, 2 +AXC00003, 9,40N_AXC ,40.41,-88.86, 2 +AXC00007, 9,20NE_AXC ,39.98,-88.55, 2 +AXC00008, 9,30NE_AXC ,40.09,-88.40, 2 +AXC00009, 9,40NE_AXC ,40.21,-88.24, 2 +AXC00013, 9,20E_AXC ,39.74,-88.43, 2 +AXC00014, 9,30E_AXC ,39.74,-88.21, 2 +AXC00015, 9,40E_AXC ,39.74,-87.99, 2 +AXC00019, 9,20SE_AXC ,39.50,-88.55, 2 +AXC00020, 9,30SE_AXC ,39.39,-88.40, 2 +AXC00021, 9,40SE_AXC ,39.27,-88.25, 2 +AXC00027, 9,20S_AXC ,39.41,-88.86, 2 +AXC00028, 9,30S_AXC ,39.24,-88.86, 2 +AXC00029, 9,40S_AXC ,39.07,-88.86, 2 +AXC00030, 9,50S_AXC ,38.91,-88.86, 2 +AXC00031, 9,60S_AXC ,38.74,-88.86, 2 +AXC00032, 9,70S_AXC ,38.57,-88.86, 2 +AXC00038, 9,20SW_AXC ,39.50,-89.17, 2 +AXC00039, 9,30SW_AXC ,39.39,-89.32, 2 +AXC00040, 9,40SW_AXC ,39.27,-89.47, 2 +AXC00041, 9,50SW_AXC ,39.15,-89.62, 2 +AXC00046, 9,20W_AXC ,39.74,-89.29, 2 +AXC00047, 9,30W_AXC ,39.74,-89.51, 2 +AXC00048, 9,40W_AXC ,39.74,-89.73, 2 +AXC00049, 9,50W_AXC ,39.73,-89.94, 2 +AXC00054, 9,20NW_AXC ,39.98,-89.17, 2 +AXC00055, 9,30NW_AXC ,40.09,-89.32, 2 +AXC00056, 9,40NW_AXC ,40.21,-89.48, 2 YQT00000, 9,YQT ,48.37,-89.32, 1 YQT00001, 9,20N_YQT ,48.70,-89.32, 2 YQT00002, 9,30N_YQT ,48.87,-89.32, 2 @@ -3802,127 +3798,125 @@ MEM00045, 9,50W_MEM ,35.06,-91.00, 2 MEM00048, 9,20NW_MEM ,35.30,-90.27, 2 MEM00049, 9,30NW_MEM ,35.41,-90.41, 2 LEV00000, 9,LEV ,29.18,-90.10, 1 -LEV00001, 9,20N_LEV ,29.51,-90.10, 2 -LEV00003, 9,20NE_LEV ,29.42,-89.83, 2 -LEV00004, 9,30NE_LEV ,29.53,-89.69, 2 -LEV00010, 9,20E_LEV ,29.18,-89.72, 2 -LEV00011, 9,30E_LEV ,29.18,-89.53, 2 -LEV00012, 9,40E_LEV ,29.18,-89.34, 2 -LEV00013, 9,50E_LEV ,29.18,-89.15, 2 -LEV00014, 9,60E_LEV ,29.18,-88.96, 2 -LEV00015, 9,70E_LEV ,29.17,-88.76, 2 -LEV00016, 9,80E_LEV ,29.17,-88.57, 2 -LEV00029, 9,20SE_LEV ,28.94,-89.83, 2 -LEV00030, 9,30SE_LEV ,28.83,-89.70, 2 -LEV00031, 9,40SE_LEV ,28.71,-89.56, 2 -LEV00032, 9,50SE_LEV ,28.59,-89.43, 2 -LEV00033, 9,60SE_LEV ,28.47,-89.30, 2 -LEV00034, 9,70SE_LEV ,28.35,-89.16, 2 -LEV00035, 9,80SE_LEV ,28.23,-89.03, 2 -LEV00036, 9,90SE_LEV ,28.11,-88.90, 2 -LEV00037, 9,100SE_LEV ,28.00,-88.77, 2 -LEV00038, 9,110SE_LEV ,27.88,-88.63, 2 -LEV00039, 9,120SE_LEV ,27.76,-88.50, 2 -LEV00040, 9,130SE_LEV ,27.64,-88.37, 2 -LEV00041, 9,140SE_LEV ,27.52,-88.24, 2 -LEV00042, 9,150SE_LEV ,27.40,-88.11, 2 -LEV00043, 9,160SE_LEV ,27.28,-87.98, 2 -LEV00044, 9,190SE_LEV ,26.92,-87.59, 2 -LEV00045, 9,200SE_LEV ,26.80,-87.46, 2 -LEV00046, 9,210SE_LEV ,26.68,-87.33, 2 -LEV00047, 9,220SE_LEV ,26.56,-87.20, 2 -LEV00048, 9,230SE_LEV ,26.44,-87.08, 2 -LEV00049, 9,240SE_LEV ,26.32,-86.95, 2 -LEV00050, 9,250SE_LEV ,26.20,-86.82, 2 -LEV00074, 9,20S_LEV ,28.85,-90.10, 2 -LEV00075, 9,30S_LEV ,28.68,-90.10, 2 -LEV00076, 9,40S_LEV ,28.51,-90.10, 2 -LEV00077, 9,50S_LEV ,28.35,-90.10, 2 -LEV00078, 9,60S_LEV ,28.18,-90.10, 2 -LEV00079, 9,70S_LEV ,28.01,-90.10, 2 -LEV00080, 9,80S_LEV ,27.85,-90.10, 2 -LEV00081, 9,90S_LEV ,27.68,-90.10, 2 -LEV00082, 9,100S_LEV ,27.51,-90.10, 2 -LEV00083, 9,110S_LEV ,27.35,-90.10, 2 -LEV00084, 9,120S_LEV ,27.18,-90.10, 2 -LEV00085, 9,130S_LEV ,27.01,-90.10, 2 -LEV00086, 9,140S_LEV ,26.85,-90.10, 2 -LEV00087, 9,150S_LEV ,26.68,-90.10, 2 -LEV00088, 9,160S_LEV ,26.52,-90.10, 2 -LEV00089, 9,170S_LEV ,26.35,-90.10, 2 -LEV00090, 9,180S_LEV ,26.18,-90.10, 2 -LEV00091, 9,190S_LEV ,26.02,-90.10, 2 -LEV00092, 9,200S_LEV ,25.85,-90.10, 2 -LEV00093, 9,210S_LEV ,25.68,-90.10, 2 -LEV00094, 9,220S_LEV ,25.52,-90.10, 2 -LEV00095, 9,230S_LEV ,25.35,-90.10, 2 -LEV00096, 9,240S_LEV ,25.18,-90.10, 2 -LEV00097, 9,250S_LEV ,25.02,-90.10, 2 -LEV00121, 9,20SW_LEV ,28.94,-90.37, 2 -LEV00122, 9,30SW_LEV ,28.83,-90.50, 2 -LEV00123, 9,40SW_LEV ,28.71,-90.64, 2 -LEV00124, 9,50SW_LEV ,28.59,-90.77, 2 -LEV00125, 9,60SW_LEV ,28.47,-90.90, 2 -LEV00126, 9,70SW_LEV ,28.35,-91.04, 2 -LEV00127, 9,80SW_LEV ,28.23,-91.17, 2 -LEV00128, 9,90SW_LEV ,28.11,-91.30, 2 -LEV00129, 9,100SW_LEV ,28.00,-91.43, 2 -LEV00130, 9,110SW_LEV ,27.88,-91.57, 2 -LEV00131, 9,120SW_LEV ,27.76,-91.70, 2 -LEV00132, 9,130SW_LEV ,27.64,-91.83, 2 -LEV00133, 9,140SW_LEV ,27.52,-91.96, 2 -LEV00134, 9,150SW_LEV ,27.40,-92.09, 2 -LEV00135, 9,160SW_LEV ,27.28,-92.22, 2 -LEV00136, 9,170SW_LEV ,27.16,-92.35, 2 -LEV00137, 9,180SW_LEV ,27.04,-92.48, 2 -LEV00138, 9,190SW_LEV ,26.92,-92.61, 2 -LEV00149, 9,20W_LEV ,29.18,-90.48, 2 -LEV00150, 9,30W_LEV ,29.18,-90.67, 2 -LEV00151, 9,40W_LEV ,29.18,-90.86, 2 -LEV00152, 9,50W_LEV ,29.18,-91.05, 2 -LEV00153, 9,60W_LEV ,29.18,-91.24, 2 -LEV00154, 9,70W_LEV ,29.17,-91.44, 2 -LEV00157, 9,20NW_LEV ,29.42,-90.37, 2 -JAN00000, 9,JAN ,32.51,-90.17, 1 -JAN00001, 9,20N_JAN ,32.84,-90.17, 2 -JAN00003, 9,20NE_JAN ,32.75,-89.89, 2 -JAN00004, 9,30NE_JAN ,32.86,-89.75, 2 -JAN00008, 9,20E_JAN ,32.51,-89.78, 2 -JAN00009, 9,30E_JAN ,32.51,-89.58, 2 -JAN00012, 9,20SE_JAN ,32.27,-89.89, 2 -JAN00013, 9,30SE_JAN ,32.16,-89.75, 2 -JAN00014, 9,40SE_JAN ,32.04,-89.61, 2 -JAN00018, 9,20S_JAN ,32.18,-90.17, 2 -JAN00019, 9,30S_JAN ,32.01,-90.17, 2 -JAN00020, 9,40S_JAN ,31.84,-90.17, 2 -JAN00024, 9,20SW_JAN ,32.27,-90.45, 2 -JAN00025, 9,30SW_JAN ,32.16,-90.59, 2 -JAN00026, 9,40SW_JAN ,32.04,-90.73, 2 -JAN00027, 9,50SW_JAN ,31.92,-90.86, 2 -JAN00032, 9,20W_JAN ,32.51,-90.56, 2 -JAN00033, 9,30W_JAN ,32.51,-90.76, 2 -JAN00034, 9,40W_JAN ,32.51,-90.96, 2 -JAN00038, 9,20NW_JAN ,32.75,-90.45, 2 -MSY00000, 9,MSY ,30.00,-90.27, 1 -MSY00001, 9,20N_MSY ,30.33,-90.27, 2 -MSY00002, 9,30N_MSY ,30.50,-90.27, 2 -MSY00005, 9,20NE_MSY ,30.24,-90.00, 2 -MSY00006, 9,30NE_MSY ,30.35,-89.86, 2 -MSY00007, 9,40NE_MSY ,30.47,-89.72, 2 -MSY00012, 9,20E_MSY ,30.00,-89.89, 2 -MSY00013, 9,30E_MSY ,30.00,-89.69, 2 -MSY00014, 9,40E_MSY ,30.00,-89.50, 2 -MSY00015, 9,50E_MSY ,30.00,-89.31, 2 -MSY00020, 9,20SE_MSY ,29.76,-90.00, 2 -MSY00021, 9,30SE_MSY ,29.65,-89.86, 2 -MSY00024, 9,20S_MSY ,29.67,-90.27, 2 -MSY00025, 9,30S_MSY ,29.50,-90.27, 2 -MSY00028, 9,20SW_MSY ,29.76,-90.54, 2 -MSY00029, 9,30SW_MSY ,29.65,-90.68, 2 -MSY00030, 9,40SW_MSY ,29.53,-90.81, 2 -MSY00031, 9,50SW_MSY ,29.41,-90.95, 2 -MSY00035, 9,20W_MSY ,30.00,-90.65, 2 -MSY00037, 9,20NW_MSY ,30.24,-90.54, 2 +LEV00003, 9,20E_LEV ,29.18,-89.72, 2 +LEV00004, 9,30E_LEV ,29.18,-89.53, 2 +LEV00005, 9,40E_LEV ,29.18,-89.34, 2 +LEV00006, 9,50E_LEV ,29.18,-89.15, 2 +LEV00007, 9,60E_LEV ,29.18,-88.96, 2 +LEV00008, 9,70E_LEV ,29.17,-88.76, 2 +LEV00009, 9,80E_LEV ,29.17,-88.57, 2 +LEV00022, 9,20SE_LEV ,28.94,-89.83, 2 +LEV00023, 9,30SE_LEV ,28.83,-89.70, 2 +LEV00024, 9,40SE_LEV ,28.71,-89.56, 2 +LEV00025, 9,50SE_LEV ,28.59,-89.43, 2 +LEV00026, 9,60SE_LEV ,28.47,-89.30, 2 +LEV00027, 9,70SE_LEV ,28.35,-89.16, 2 +LEV00028, 9,80SE_LEV ,28.23,-89.03, 2 +LEV00029, 9,90SE_LEV ,28.11,-88.90, 2 +LEV00030, 9,100SE_LEV ,28.00,-88.77, 2 +LEV00031, 9,110SE_LEV ,27.88,-88.63, 2 +LEV00032, 9,120SE_LEV ,27.76,-88.50, 2 +LEV00033, 9,130SE_LEV ,27.64,-88.37, 2 +LEV00034, 9,140SE_LEV ,27.52,-88.24, 2 +LEV00035, 9,150SE_LEV ,27.40,-88.11, 2 +LEV00036, 9,160SE_LEV ,27.28,-87.98, 2 +LEV00037, 9,190SE_LEV ,26.92,-87.59, 2 +LEV00038, 9,200SE_LEV ,26.80,-87.46, 2 +LEV00039, 9,210SE_LEV ,26.68,-87.33, 2 +LEV00040, 9,220SE_LEV ,26.56,-87.20, 2 +LEV00041, 9,230SE_LEV ,26.44,-87.08, 2 +LEV00042, 9,240SE_LEV ,26.32,-86.95, 2 +LEV00043, 9,250SE_LEV ,26.20,-86.82, 2 +LEV00067, 9,20S_LEV ,28.85,-90.10, 2 +LEV00068, 9,30S_LEV ,28.68,-90.10, 2 +LEV00069, 9,40S_LEV ,28.51,-90.10, 2 +LEV00070, 9,50S_LEV ,28.35,-90.10, 2 +LEV00071, 9,60S_LEV ,28.18,-90.10, 2 +LEV00072, 9,70S_LEV ,28.01,-90.10, 2 +LEV00073, 9,80S_LEV ,27.85,-90.10, 2 +LEV00074, 9,90S_LEV ,27.68,-90.10, 2 +LEV00075, 9,100S_LEV ,27.51,-90.10, 2 +LEV00076, 9,110S_LEV ,27.35,-90.10, 2 +LEV00077, 9,120S_LEV ,27.18,-90.10, 2 +LEV00078, 9,130S_LEV ,27.01,-90.10, 2 +LEV00079, 9,140S_LEV ,26.85,-90.10, 2 +LEV00080, 9,150S_LEV ,26.68,-90.10, 2 +LEV00081, 9,160S_LEV ,26.52,-90.10, 2 +LEV00082, 9,170S_LEV ,26.35,-90.10, 2 +LEV00083, 9,180S_LEV ,26.18,-90.10, 2 +LEV00084, 9,190S_LEV ,26.02,-90.10, 2 +LEV00085, 9,200S_LEV ,25.85,-90.10, 2 +LEV00086, 9,210S_LEV ,25.68,-90.10, 2 +LEV00087, 9,220S_LEV ,25.52,-90.10, 2 +LEV00088, 9,230S_LEV ,25.35,-90.10, 2 +LEV00089, 9,240S_LEV ,25.18,-90.10, 2 +LEV00090, 9,250S_LEV ,25.02,-90.10, 2 +LEV00114, 9,20SW_LEV ,28.94,-90.37, 2 +LEV00115, 9,30SW_LEV ,28.83,-90.50, 2 +LEV00116, 9,40SW_LEV ,28.71,-90.64, 2 +LEV00117, 9,50SW_LEV ,28.59,-90.77, 2 +LEV00118, 9,60SW_LEV ,28.47,-90.90, 2 +LEV00119, 9,70SW_LEV ,28.35,-91.04, 2 +LEV00120, 9,80SW_LEV ,28.23,-91.17, 2 +LEV00121, 9,90SW_LEV ,28.11,-91.30, 2 +LEV00122, 9,100SW_LEV ,28.00,-91.43, 2 +LEV00123, 9,110SW_LEV ,27.88,-91.57, 2 +LEV00124, 9,120SW_LEV ,27.76,-91.70, 2 +LEV00125, 9,130SW_LEV ,27.64,-91.83, 2 +LEV00126, 9,140SW_LEV ,27.52,-91.96, 2 +LEV00127, 9,150SW_LEV ,27.40,-92.09, 2 +LEV00128, 9,160SW_LEV ,27.28,-92.22, 2 +LEV00129, 9,170SW_LEV ,27.16,-92.35, 2 +LEV00130, 9,180SW_LEV ,27.04,-92.48, 2 +LEV00131, 9,190SW_LEV ,26.92,-92.61, 2 +LEV00142, 9,20W_LEV ,29.18,-90.48, 2 +LEV00143, 9,30W_LEV ,29.18,-90.67, 2 +LEV00144, 9,40W_LEV ,29.18,-90.86, 2 +LEV00145, 9,50W_LEV ,29.18,-91.05, 2 +LEV00146, 9,60W_LEV ,29.18,-91.24, 2 +LEV00147, 9,70W_LEV ,29.17,-91.44, 2 +LEV00152, 9,20NW_LEV ,29.42,-90.37, 2 +MHZ00000, 9,MHZ ,32.43,-90.10, 1 +MHZ00001, 9,20N_MHZ ,32.76,-90.10, 2 +MHZ00003, 9,20NE_MHZ ,32.67,-89.82, 2 +MHZ00004, 9,30NE_MHZ ,32.78,-89.68, 2 +MHZ00005, 9,40NE_MHZ ,32.90,-89.54, 2 +MHZ00008, 9,20E_MHZ ,32.43,-89.71, 2 +MHZ00009, 9,30E_MHZ ,32.43,-89.51, 2 +MHZ00012, 9,20SE_MHZ ,32.19,-89.82, 2 +MHZ00013, 9,30SE_MHZ ,32.08,-89.68, 2 +MHZ00014, 9,40SE_MHZ ,31.96,-89.54, 2 +MHZ00018, 9,20S_MHZ ,32.10,-90.10, 2 +MHZ00019, 9,30S_MHZ ,31.93,-90.10, 2 +MHZ00023, 9,20SW_MHZ ,32.19,-90.38, 2 +MHZ00024, 9,30SW_MHZ ,32.08,-90.52, 2 +MHZ00025, 9,40SW_MHZ ,31.96,-90.66, 2 +MHZ00026, 9,50SW_MHZ ,31.84,-90.79, 2 +MHZ00031, 9,20W_MHZ ,32.43,-90.49, 2 +MHZ00032, 9,30W_MHZ ,32.43,-90.69, 2 +MHZ00033, 9,40W_MHZ ,32.43,-90.89, 2 +MHZ00037, 9,20NW_MHZ ,32.67,-90.38, 2 +MHZ00038, 9,30NW_MHZ ,32.78,-90.52, 2 +HRV00000, 9,HRV ,29.85,-90.00, 1 +HRV00001, 9,20N_HRV ,30.18,-90.00, 2 +HRV00002, 9,30N_HRV ,30.35,-90.00, 2 +HRV00006, 9,20NE_HRV ,30.09,-89.73, 2 +HRV00007, 9,30NE_HRV ,30.20,-89.59, 2 +HRV00008, 9,40NE_HRV ,30.32,-89.45, 2 +HRV00012, 9,20E_HRV ,29.85,-89.62, 2 +HRV00013, 9,30E_HRV ,29.85,-89.42, 2 +HRV00014, 9,40E_HRV ,29.85,-89.23, 2 +HRV00015, 9,50E_HRV ,29.85,-89.04, 2 +HRV00022, 9,20SE_HRV ,29.61,-89.73, 2 +HRV00023, 9,30SE_HRV ,29.50,-89.59, 2 +HRV00024, 9,40SE_HRV ,29.38,-89.46, 2 +HRV00026, 9,20S_HRV ,29.52,-90.00, 2 +HRV00028, 9,20SW_HRV ,29.61,-90.27, 2 +HRV00029, 9,30SW_HRV ,29.50,-90.41, 2 +HRV00034, 9,20W_HRV ,29.85,-90.38, 2 +HRV00035, 9,30W_HRV ,29.85,-90.58, 2 +HRV00038, 9,20NW_HRV ,30.09,-90.27, 2 +HRV00039, 9,30NW_HRV ,30.20,-90.41, 2 FAM00000, 9,FAM ,37.67,-90.23, 1 FAM00001, 9,20N_FAM ,38.00,-90.23, 2 FAM00004, 9,20NE_FAM ,37.91,-89.93, 2 @@ -3957,32 +3951,30 @@ FAM00060, 9,20NW_FAM ,37.91,-90.53, 2 FAM00061, 9,30NW_FAM ,38.02,-90.68, 2 MCB00000, 9,MCB ,31.30,-90.26, 1 MCB00001, 9,20N_MCB ,31.63,-90.26, 2 -MCB00002, 9,30N_MCB ,31.80,-90.26, 2 -MCB00005, 9,20NE_MCB ,31.54,-89.98, 2 -MCB00006, 9,30NE_MCB ,31.65,-89.84, 2 -MCB00007, 9,40NE_MCB ,31.77,-89.71, 2 -MCB00011, 9,20E_MCB ,31.30,-89.87, 2 -MCB00012, 9,30E_MCB ,31.30,-89.68, 2 -MCB00013, 9,40E_MCB ,31.30,-89.48, 2 -MCB00014, 9,50E_MCB ,31.30,-89.29, 2 -MCB00019, 9,20SE_MCB ,31.06,-89.99, 2 -MCB00020, 9,30SE_MCB ,30.95,-89.85, 2 -MCB00021, 9,40SE_MCB ,30.83,-89.71, 2 -MCB00022, 9,50SE_MCB ,30.71,-89.58, 2 -MCB00023, 9,60SE_MCB ,30.59,-89.44, 2 -MCB00027, 9,20S_MCB ,30.97,-90.26, 2 -MCB00028, 9,30S_MCB ,30.80,-90.26, 2 -MCB00029, 9,40S_MCB ,30.63,-90.26, 2 -MCB00033, 9,20SW_MCB ,31.06,-90.53, 2 -MCB00034, 9,30SW_MCB ,30.95,-90.67, 2 -MCB00035, 9,40SW_MCB ,30.83,-90.81, 2 -MCB00039, 9,20W_MCB ,31.30,-90.65, 2 -MCB00040, 9,30W_MCB ,31.30,-90.84, 2 -MCB00041, 9,40W_MCB ,31.30,-91.04, 2 -MCB00042, 9,50W_MCB ,31.30,-91.23, 2 -MCB00047, 9,20NW_MCB ,31.54,-90.54, 2 -MCB00048, 9,30NW_MCB ,31.65,-90.68, 2 -MCB00049, 9,40NW_MCB ,31.77,-90.81, 2 +MCB00003, 9,20NE_MCB ,31.54,-89.98, 2 +MCB00004, 9,30NE_MCB ,31.65,-89.84, 2 +MCB00008, 9,20E_MCB ,31.30,-89.87, 2 +MCB00009, 9,30E_MCB ,31.30,-89.68, 2 +MCB00010, 9,40E_MCB ,31.30,-89.48, 2 +MCB00011, 9,50E_MCB ,31.30,-89.29, 2 +MCB00016, 9,20SE_MCB ,31.06,-89.99, 2 +MCB00017, 9,30SE_MCB ,30.95,-89.85, 2 +MCB00018, 9,40SE_MCB ,30.83,-89.71, 2 +MCB00019, 9,50SE_MCB ,30.71,-89.58, 2 +MCB00020, 9,60SE_MCB ,30.59,-89.44, 2 +MCB00025, 9,20S_MCB ,30.97,-90.26, 2 +MCB00026, 9,30S_MCB ,30.80,-90.26, 2 +MCB00027, 9,40S_MCB ,30.63,-90.26, 2 +MCB00031, 9,20SW_MCB ,31.06,-90.53, 2 +MCB00032, 9,30SW_MCB ,30.95,-90.67, 2 +MCB00033, 9,40SW_MCB ,30.83,-90.81, 2 +MCB00037, 9,20W_MCB ,31.30,-90.65, 2 +MCB00038, 9,30W_MCB ,31.30,-90.84, 2 +MCB00039, 9,40W_MCB ,31.30,-91.04, 2 +MCB00040, 9,50W_MCB ,31.30,-91.23, 2 +MCB00045, 9,20NW_MCB ,31.54,-90.54, 2 +MCB00046, 9,30NW_MCB ,31.65,-90.68, 2 +MCB00047, 9,40NW_MCB ,31.77,-90.81, 2 SQS00000, 9,SQS ,33.46,-90.28, 1 SQS00001, 9,20N_SQS ,33.79,-90.28, 2 SQS00002, 9,30N_SQS ,33.96,-90.28, 2 @@ -3999,19 +3991,19 @@ SQS00021, 9,30SE_SQS ,33.11,-89.86, 2 SQS00022, 9,40SE_SQS ,32.99,-89.72, 2 SQS00025, 9,20S_SQS ,33.13,-90.28, 2 SQS00026, 9,30S_SQS ,32.96,-90.28, 2 -SQS00029, 9,20SW_SQS ,33.22,-90.56, 2 -SQS00030, 9,30SW_SQS ,33.11,-90.70, 2 -SQS00031, 9,40SW_SQS ,32.99,-90.84, 2 -SQS00032, 9,50SW_SQS ,32.87,-90.98, 2 -SQS00037, 9,20W_SQS ,33.46,-90.68, 2 -SQS00038, 9,30W_SQS ,33.46,-90.88, 2 -SQS00039, 9,40W_SQS ,33.46,-91.08, 2 -SQS00040, 9,50W_SQS ,33.46,-91.28, 2 -SQS00041, 9,60W_SQS ,33.45,-91.48, 2 -SQS00046, 9,20NW_SQS ,33.70,-90.56, 2 -SQS00047, 9,30NW_SQS ,33.81,-90.71, 2 -SQS00048, 9,40NW_SQS ,33.93,-90.85, 2 -SQS00049, 9,50NW_SQS ,34.05,-90.99, 2 +SQS00030, 9,20SW_SQS ,33.22,-90.56, 2 +SQS00031, 9,30SW_SQS ,33.11,-90.70, 2 +SQS00032, 9,40SW_SQS ,32.99,-90.84, 2 +SQS00033, 9,50SW_SQS ,32.87,-90.98, 2 +SQS00038, 9,20W_SQS ,33.46,-90.68, 2 +SQS00039, 9,30W_SQS ,33.46,-90.88, 2 +SQS00040, 9,40W_SQS ,33.46,-91.08, 2 +SQS00041, 9,50W_SQS ,33.46,-91.28, 2 +SQS00042, 9,60W_SQS ,33.45,-91.48, 2 +SQS00047, 9,20NW_SQS ,33.70,-90.56, 2 +SQS00048, 9,30NW_SQS ,33.81,-90.71, 2 +SQS00049, 9,40NW_SQS ,33.93,-90.85, 2 +SQS00050, 9,50NW_SQS ,34.05,-90.99, 2 STL00000, 9,STL ,38.86,-90.48, 1 STL00001, 9,20N_STL ,39.19,-90.48, 2 STL00002, 9,30N_STL ,39.36,-90.48, 2 @@ -4126,23 +4118,25 @@ BTR00006, 9,20NE_BTR ,30.72,-91.03, 2 BTR00007, 9,30NE_BTR ,30.83,-90.89, 2 BTR00010, 9,20E_BTR ,30.48,-90.91, 2 BTR00011, 9,30E_BTR ,30.48,-90.72, 2 -BTR00014, 9,20SE_BTR ,30.24,-91.03, 2 -BTR00015, 9,30SE_BTR ,30.13,-90.89, 2 -BTR00019, 9,20S_BTR ,30.15,-91.30, 2 -BTR00020, 9,30S_BTR ,29.98,-91.30, 2 -BTR00021, 9,40S_BTR ,29.81,-91.30, 2 -BTR00022, 9,50S_BTR ,29.65,-91.30, 2 -BTR00023, 9,60S_BTR ,29.48,-91.30, 2 -BTR00024, 9,70S_BTR ,29.31,-91.30, 2 -BTR00032, 9,20SW_BTR ,30.24,-91.57, 2 -BTR00033, 9,30SW_BTR ,30.13,-91.71, 2 -BTR00034, 9,40SW_BTR ,30.01,-91.84, 2 -BTR00035, 9,50SW_BTR ,29.89,-91.98, 2 -BTR00040, 9,20W_BTR ,30.48,-91.69, 2 -BTR00041, 9,30W_BTR ,30.48,-91.88, 2 -BTR00042, 9,40W_BTR ,30.48,-92.07, 2 -BTR00045, 9,20NW_BTR ,30.72,-91.57, 2 -BTR00046, 9,30NW_BTR ,30.83,-91.71, 2 +BTR00012, 9,40E_BTR ,30.48,-90.53, 2 +BTR00016, 9,20SE_BTR ,30.24,-91.03, 2 +BTR00017, 9,30SE_BTR ,30.13,-90.89, 2 +BTR00018, 9,40SE_BTR ,30.01,-90.76, 2 +BTR00023, 9,20S_BTR ,30.15,-91.30, 2 +BTR00024, 9,30S_BTR ,29.98,-91.30, 2 +BTR00025, 9,40S_BTR ,29.81,-91.30, 2 +BTR00026, 9,50S_BTR ,29.65,-91.30, 2 +BTR00027, 9,60S_BTR ,29.48,-91.30, 2 +BTR00028, 9,70S_BTR ,29.31,-91.30, 2 +BTR00036, 9,20SW_BTR ,30.24,-91.57, 2 +BTR00037, 9,30SW_BTR ,30.13,-91.71, 2 +BTR00038, 9,40SW_BTR ,30.01,-91.84, 2 +BTR00039, 9,50SW_BTR ,29.89,-91.98, 2 +BTR00044, 9,20W_BTR ,30.48,-91.69, 2 +BTR00045, 9,30W_BTR ,30.48,-91.88, 2 +BTR00046, 9,40W_BTR ,30.48,-92.07, 2 +BTR00049, 9,20NW_BTR ,30.72,-91.57, 2 +BTR00050, 9,30NW_BTR ,30.83,-91.71, 2 ODI00000, 9,ODI ,43.91,-91.47, 1 ODI00001, 9,20N_ODI ,44.24,-91.47, 2 ODI00003, 9,20NE_ODI ,44.15,-91.14, 2 @@ -4389,13 +4383,13 @@ IRK00030, 9,30SW_IRK ,39.79,-93.05, 2 IRK00031, 9,40SW_IRK ,39.67,-93.20, 2 IRK00032, 9,50SW_IRK ,39.55,-93.35, 2 IRK00033, 9,60SW_IRK ,39.43,-93.50, 2 -IRK00038, 9,20W_IRK ,40.14,-93.03, 2 -IRK00039, 9,30W_IRK ,40.14,-93.24, 2 -IRK00040, 9,40W_IRK ,40.14,-93.46, 2 -IRK00041, 9,50W_IRK ,40.13,-93.68, 2 -IRK00042, 9,60W_IRK ,40.13,-93.90, 2 -IRK00046, 9,20NW_IRK ,40.38,-92.90, 2 -IRK00047, 9,30NW_IRK ,40.49,-93.05, 2 +IRK00039, 9,20W_IRK ,40.14,-93.03, 2 +IRK00040, 9,30W_IRK ,40.14,-93.24, 2 +IRK00041, 9,40W_IRK ,40.14,-93.46, 2 +IRK00042, 9,50W_IRK ,40.13,-93.68, 2 +IRK00043, 9,60W_IRK ,40.13,-93.90, 2 +IRK00047, 9,20NW_IRK ,40.38,-92.90, 2 +IRK00048, 9,30NW_IRK ,40.49,-93.05, 2 ELD00000, 9,ELD ,33.26,-92.74, 1 ELD00001, 9,20N_ELD ,33.59,-92.74, 2 ELD00002, 9,30N_ELD ,33.76,-92.74, 2 @@ -4797,56 +4791,56 @@ BUM00000, 9,BUM ,38.27,-94.49, 1 BUM00001, 9,20N_BUM ,38.60,-94.49, 2 BUM00003, 9,20NE_BUM ,38.51,-94.19, 2 BUM00004, 9,30NE_BUM ,38.62,-94.04, 2 -BUM00009, 9,20E_BUM ,38.27,-94.07, 2 -BUM00010, 9,30E_BUM ,38.27,-93.85, 2 -BUM00011, 9,40E_BUM ,38.27,-93.64, 2 -BUM00012, 9,50E_BUM ,38.27,-93.43, 2 -BUM00016, 9,20SE_BUM ,38.03,-94.19, 2 -BUM00017, 9,30SE_BUM ,37.92,-94.04, 2 -BUM00018, 9,40SE_BUM ,37.80,-93.89, 2 -BUM00022, 9,20S_BUM ,37.94,-94.49, 2 -BUM00023, 9,30S_BUM ,37.77,-94.49, 2 -BUM00024, 9,40S_BUM ,37.60,-94.49, 2 -BUM00025, 9,50S_BUM ,37.44,-94.49, 2 -BUM00029, 9,20SW_BUM ,38.03,-94.79, 2 -BUM00030, 9,30SW_BUM ,37.92,-94.94, 2 -BUM00031, 9,40SW_BUM ,37.80,-95.09, 2 -BUM00036, 9,20W_BUM ,38.27,-94.91, 2 -BUM00037, 9,30W_BUM ,38.27,-95.13, 2 -BUM00038, 9,40W_BUM ,38.27,-95.34, 2 -BUM00039, 9,50W_BUM ,38.27,-95.55, 2 -BUM00040, 9,60W_BUM ,38.26,-95.76, 2 -BUM00041, 9,70W_BUM ,38.26,-95.97, 2 +BUM00005, 9,40NE_BUM ,38.74,-93.89, 2 +BUM00010, 9,20E_BUM ,38.27,-94.07, 2 +BUM00011, 9,30E_BUM ,38.27,-93.85, 2 +BUM00012, 9,40E_BUM ,38.27,-93.64, 2 +BUM00013, 9,50E_BUM ,38.27,-93.43, 2 +BUM00017, 9,20SE_BUM ,38.03,-94.19, 2 +BUM00018, 9,30SE_BUM ,37.92,-94.04, 2 +BUM00019, 9,40SE_BUM ,37.80,-93.89, 2 +BUM00023, 9,20S_BUM ,37.94,-94.49, 2 +BUM00024, 9,30S_BUM ,37.77,-94.49, 2 +BUM00025, 9,40S_BUM ,37.60,-94.49, 2 +BUM00026, 9,50S_BUM ,37.44,-94.49, 2 +BUM00030, 9,20SW_BUM ,38.03,-94.79, 2 +BUM00031, 9,30SW_BUM ,37.92,-94.94, 2 +BUM00032, 9,40SW_BUM ,37.80,-95.09, 2 +BUM00037, 9,20W_BUM ,38.27,-94.91, 2 +BUM00038, 9,30W_BUM ,38.27,-95.13, 2 +BUM00039, 9,40W_BUM ,38.27,-95.34, 2 +BUM00040, 9,50W_BUM ,38.27,-95.55, 2 +BUM00041, 9,60W_BUM ,38.26,-95.76, 2 +BUM00042, 9,70W_BUM ,38.26,-95.97, 2 BUM00046, 9,20NW_BUM ,38.51,-94.79, 2 -BUM00047, 9,30NW_BUM ,38.62,-94.94, 2 -MKC00000, 9,MKC ,39.28,-94.59, 1 -MKC00001, 9,20N_MKC ,39.61,-94.59, 2 -MKC00002, 9,30N_MKC ,39.78,-94.59, 2 -MKC00003, 9,40N_MKC ,39.95,-94.59, 2 -MKC00004, 9,50N_MKC ,40.11,-94.59, 2 -MKC00005, 9,60N_MKC ,40.28,-94.59, 2 -MKC00010, 9,20NE_MKC ,39.52,-94.28, 2 -MKC00011, 9,30NE_MKC ,39.63,-94.13, 2 -MKC00012, 9,40NE_MKC ,39.75,-93.98, 2 -MKC00016, 9,20E_MKC ,39.28,-94.16, 2 -MKC00017, 9,30E_MKC ,39.28,-93.94, 2 -MKC00018, 9,40E_MKC ,39.28,-93.73, 2 -MKC00019, 9,50E_MKC ,39.28,-93.51, 2 -MKC00025, 9,20SE_MKC ,39.04,-94.29, 2 -MKC00026, 9,30SE_MKC ,38.93,-94.14, 2 -MKC00027, 9,40SE_MKC ,38.81,-93.99, 2 -MKC00030, 9,20S_MKC ,38.95,-94.59, 2 -MKC00031, 9,30S_MKC ,38.78,-94.59, 2 -MKC00035, 9,20SW_MKC ,39.04,-94.89, 2 -MKC00036, 9,30SW_MKC ,38.93,-95.04, 2 -MKC00037, 9,40SW_MKC ,38.81,-95.19, 2 -MKC00038, 9,50SW_MKC ,38.69,-95.34, 2 -MKC00045, 9,20W_MKC ,39.28,-95.02, 2 -MKC00046, 9,30W_MKC ,39.28,-95.24, 2 -MKC00047, 9,40W_MKC ,39.28,-95.45, 2 -MKC00051, 9,20NW_MKC ,39.52,-94.90, 2 -MKC00052, 9,30NW_MKC ,39.63,-95.05, 2 -MKC00053, 9,40NW_MKC ,39.75,-95.20, 2 +MCI00000, 9,MCI ,39.29,-94.74, 1 +MCI00001, 9,20N_MCI ,39.62,-94.74, 2 +MCI00002, 9,30N_MCI ,39.79,-94.74, 2 +MCI00003, 9,40N_MCI ,39.96,-94.74, 2 +MCI00004, 9,50N_MCI ,40.12,-94.74, 2 +MCI00010, 9,20NE_MCI ,39.53,-94.43, 2 +MCI00011, 9,30NE_MCI ,39.64,-94.28, 2 +MCI00012, 9,40NE_MCI ,39.76,-94.13, 2 +MCI00013, 9,50NE_MCI ,39.88,-93.97, 2 +MCI00018, 9,20E_MCI ,39.29,-94.31, 2 +MCI00019, 9,30E_MCI ,39.29,-94.09, 2 +MCI00020, 9,40E_MCI ,39.29,-93.88, 2 +MCI00021, 9,50E_MCI ,39.29,-93.66, 2 +MCI00027, 9,20SE_MCI ,39.05,-94.44, 2 +MCI00028, 9,30SE_MCI ,38.94,-94.29, 2 +MCI00029, 9,40SE_MCI ,38.82,-94.14, 2 +MCI00032, 9,20S_MCI ,38.96,-94.74, 2 +MCI00033, 9,30S_MCI ,38.79,-94.74, 2 +MCI00037, 9,20SW_MCI ,39.05,-95.04, 2 +MCI00038, 9,30SW_MCI ,38.94,-95.19, 2 +MCI00039, 9,40SW_MCI ,38.82,-95.34, 2 +MCI00040, 9,50SW_MCI ,38.70,-95.49, 2 +MCI00041, 9,60SW_MCI ,38.58,-95.64, 2 +MCI00048, 9,20W_MCI ,39.29,-95.17, 2 +MCI00049, 9,30W_MCI ,39.29,-95.39, 2 +MCI00050, 9,40W_MCI ,39.29,-95.60, 2 +MCI00053, 9,20NW_MCI ,39.53,-95.05, 2 +MCI00054, 9,30NW_MCI ,39.64,-95.20, 2 LFK00000, 9,LFK ,31.16,-94.72, 1 LFK00001, 9,20N_LFK ,31.49,-94.72, 2 LFK00002, 9,30N_LFK ,31.66,-94.72, 2 @@ -5020,12 +5014,11 @@ IAH00048, 9,20W_IAH ,29.96,-95.73, 2 IAH00049, 9,30W_IAH ,29.96,-95.93, 2 IAH00050, 9,40W_IAH ,29.96,-96.12, 2 IAH00051, 9,50W_IAH ,29.96,-96.31, 2 -IAH00052, 9,60W_IAH ,29.95,-96.50, 2 -IAH00058, 9,20NW_IAH ,30.20,-95.62, 2 -IAH00059, 9,30NW_IAH ,30.31,-95.76, 2 -IAH00060, 9,40NW_IAH ,30.43,-95.90, 2 -IAH00061, 9,50NW_IAH ,30.55,-96.03, 2 -IAH00062, 9,60NW_IAH ,30.66,-96.17, 2 +IAH00056, 9,20NW_IAH ,30.20,-95.62, 2 +IAH00057, 9,30NW_IAH ,30.31,-95.76, 2 +IAH00058, 9,40NW_IAH ,30.43,-95.90, 2 +IAH00059, 9,50NW_IAH ,30.55,-96.03, 2 +IAH00060, 9,60NW_IAH ,30.66,-96.17, 2 OVR00000, 9,OVR ,41.17,-95.74, 1 OVR00001, 9,20N_OVR ,41.50,-95.74, 2 OVR00002, 9,30N_OVR ,41.67,-95.74, 2 @@ -5124,71 +5117,71 @@ PWE00015, 9,20SE_PWE ,39.96,-95.90, 2 PWE00016, 9,30SE_PWE ,39.85,-95.75, 2 PWE00017, 9,40SE_PWE ,39.73,-95.60, 2 PWE00018, 9,50SE_PWE ,39.61,-95.45, 2 -PWE00024, 9,20S_PWE ,39.87,-96.21, 2 -PWE00025, 9,30S_PWE ,39.70,-96.21, 2 -PWE00026, 9,40S_PWE ,39.53,-96.21, 2 -PWE00027, 9,50S_PWE ,39.37,-96.21, 2 -PWE00028, 9,60S_PWE ,39.20,-96.21, 2 -PWE00029, 9,70S_PWE ,39.03,-96.21, 2 -PWE00035, 9,20SW_PWE ,39.96,-96.52, 2 -PWE00036, 9,30SW_PWE ,39.85,-96.67, 2 -PWE00037, 9,40SW_PWE ,39.73,-96.82, 2 -PWE00038, 9,50SW_PWE ,39.61,-96.97, 2 -PWE00044, 9,20W_PWE ,40.20,-96.65, 2 -PWE00045, 9,30W_PWE ,40.20,-96.86, 2 -PWE00046, 9,40W_PWE ,40.20,-97.08, 2 -PWE00047, 9,50W_PWE ,40.19,-97.30, 2 -PWE00048, 9,60W_PWE ,40.19,-97.52, 2 -PWE00053, 9,20NW_PWE ,40.44,-96.52, 2 -PWE00054, 9,30NW_PWE ,40.55,-96.67, 2 -PWE00055, 9,40NW_PWE ,40.67,-96.83, 2 -PWE00056, 9,50NW_PWE ,40.79,-96.99, 2 +PWE00023, 9,20S_PWE ,39.87,-96.21, 2 +PWE00024, 9,30S_PWE ,39.70,-96.21, 2 +PWE00025, 9,40S_PWE ,39.53,-96.21, 2 +PWE00026, 9,50S_PWE ,39.37,-96.21, 2 +PWE00027, 9,60S_PWE ,39.20,-96.21, 2 +PWE00028, 9,70S_PWE ,39.03,-96.21, 2 +PWE00034, 9,20SW_PWE ,39.96,-96.52, 2 +PWE00035, 9,30SW_PWE ,39.85,-96.67, 2 +PWE00036, 9,40SW_PWE ,39.73,-96.82, 2 +PWE00037, 9,50SW_PWE ,39.61,-96.97, 2 +PWE00043, 9,20W_PWE ,40.20,-96.65, 2 +PWE00044, 9,30W_PWE ,40.20,-96.86, 2 +PWE00045, 9,40W_PWE ,40.20,-97.08, 2 +PWE00046, 9,50W_PWE ,40.19,-97.30, 2 +PWE00047, 9,60W_PWE ,40.19,-97.52, 2 +PWE00052, 9,20NW_PWE ,40.44,-96.52, 2 +PWE00053, 9,30NW_PWE ,40.55,-96.67, 2 +PWE00054, 9,40NW_PWE ,40.67,-96.83, 2 +PWE00055, 9,50NW_PWE ,40.79,-96.99, 2 PSX00000, 9,PSX ,28.76,-96.31, 1 PSX00001, 9,20N_PSX ,29.09,-96.31, 2 PSX00002, 9,30N_PSX ,29.26,-96.31, 2 PSX00003, 9,40N_PSX ,29.43,-96.31, 2 -PSX00007, 9,20NE_PSX ,29.00,-96.04, 2 -PSX00008, 9,30NE_PSX ,29.11,-95.91, 2 -PSX00012, 9,20E_PSX ,28.76,-95.93, 2 -PSX00013, 9,30E_PSX ,28.76,-95.74, 2 -PSX00014, 9,40E_PSX ,28.76,-95.55, 2 -PSX00015, 9,50E_PSX ,28.76,-95.36, 2 -PSX00016, 9,60E_PSX ,28.76,-95.17, 2 -PSX00029, 9,20SE_PSX ,28.52,-96.04, 2 -PSX00030, 9,30SE_PSX ,28.41,-95.91, 2 -PSX00031, 9,40SE_PSX ,28.29,-95.78, 2 -PSX00032, 9,50SE_PSX ,28.17,-95.64, 2 -PSX00033, 9,60SE_PSX ,28.05,-95.51, 2 -PSX00034, 9,70SE_PSX ,27.93,-95.38, 2 -PSX00035, 9,80SE_PSX ,27.81,-95.24, 2 -PSX00036, 9,90SE_PSX ,27.69,-95.11, 2 -PSX00037, 9,100SE_PSX ,27.58,-94.98, 2 -PSX00038, 9,110SE_PSX ,27.46,-94.85, 2 -PSX00039, 9,120SE_PSX ,27.34,-94.72, 2 -PSX00040, 9,130SE_PSX ,27.22,-94.59, 2 -PSX00041, 9,140SE_PSX ,27.10,-94.46, 2 -PSX00042, 9,150SE_PSX ,26.98,-94.33, 2 -PSX00043, 9,160SE_PSX ,26.86,-94.20, 2 -PSX00044, 9,170SE_PSX ,26.74,-94.07, 2 -PSX00045, 9,180SE_PSX ,26.62,-93.94, 2 -PSX00046, 9,190SE_PSX ,26.50,-93.81, 2 -PSX00047, 9,200SE_PSX ,26.38,-93.68, 2 -PSX00059, 9,20S_PSX ,28.43,-96.31, 2 -PSX00060, 9,30S_PSX ,28.26,-96.31, 2 -PSX00061, 9,40S_PSX ,28.09,-96.31, 2 -PSX00062, 9,50S_PSX ,27.93,-96.31, 2 -PSX00063, 9,60S_PSX ,27.76,-96.31, 2 -PSX00067, 9,20SW_PSX ,28.52,-96.58, 2 -PSX00068, 9,30SW_PSX ,28.41,-96.71, 2 -PSX00069, 9,40SW_PSX ,28.29,-96.84, 2 -PSX00073, 9,20W_PSX ,28.76,-96.69, 2 -PSX00074, 9,30W_PSX ,28.76,-96.88, 2 -PSX00075, 9,40W_PSX ,28.76,-97.07, 2 -PSX00076, 9,50W_PSX ,28.76,-97.26, 2 -PSX00081, 9,20NW_PSX ,29.00,-96.58, 2 -PSX00082, 9,30NW_PSX ,29.11,-96.71, 2 -PSX00083, 9,40NW_PSX ,29.23,-96.85, 2 -PSX00084, 9,50NW_PSX ,29.35,-96.99, 2 +PSX00006, 9,20NE_PSX ,29.00,-96.04, 2 +PSX00007, 9,30NE_PSX ,29.11,-95.91, 2 +PSX00011, 9,20E_PSX ,28.76,-95.93, 2 +PSX00012, 9,30E_PSX ,28.76,-95.74, 2 +PSX00013, 9,40E_PSX ,28.76,-95.55, 2 +PSX00014, 9,50E_PSX ,28.76,-95.36, 2 +PSX00015, 9,60E_PSX ,28.76,-95.17, 2 +PSX00028, 9,20SE_PSX ,28.52,-96.04, 2 +PSX00029, 9,30SE_PSX ,28.41,-95.91, 2 +PSX00030, 9,40SE_PSX ,28.29,-95.78, 2 +PSX00031, 9,50SE_PSX ,28.17,-95.64, 2 +PSX00032, 9,60SE_PSX ,28.05,-95.51, 2 +PSX00033, 9,70SE_PSX ,27.93,-95.38, 2 +PSX00034, 9,80SE_PSX ,27.81,-95.24, 2 +PSX00035, 9,90SE_PSX ,27.69,-95.11, 2 +PSX00036, 9,100SE_PSX ,27.58,-94.98, 2 +PSX00037, 9,110SE_PSX ,27.46,-94.85, 2 +PSX00038, 9,120SE_PSX ,27.34,-94.72, 2 +PSX00039, 9,130SE_PSX ,27.22,-94.59, 2 +PSX00040, 9,140SE_PSX ,27.10,-94.46, 2 +PSX00041, 9,150SE_PSX ,26.98,-94.33, 2 +PSX00042, 9,160SE_PSX ,26.86,-94.20, 2 +PSX00043, 9,170SE_PSX ,26.74,-94.07, 2 +PSX00044, 9,180SE_PSX ,26.62,-93.94, 2 +PSX00045, 9,190SE_PSX ,26.50,-93.81, 2 +PSX00046, 9,200SE_PSX ,26.38,-93.68, 2 +PSX00058, 9,20S_PSX ,28.43,-96.31, 2 +PSX00059, 9,30S_PSX ,28.26,-96.31, 2 +PSX00060, 9,40S_PSX ,28.09,-96.31, 2 +PSX00061, 9,50S_PSX ,27.93,-96.31, 2 +PSX00062, 9,60S_PSX ,27.76,-96.31, 2 +PSX00066, 9,20SW_PSX ,28.52,-96.58, 2 +PSX00067, 9,30SW_PSX ,28.41,-96.71, 2 +PSX00068, 9,40SW_PSX ,28.29,-96.84, 2 +PSX00072, 9,20W_PSX ,28.76,-96.69, 2 +PSX00073, 9,30W_PSX ,28.76,-96.88, 2 +PSX00074, 9,40W_PSX ,28.76,-97.07, 2 +PSX00075, 9,50W_PSX ,28.76,-97.26, 2 +PSX00080, 9,20NW_PSX ,29.00,-96.58, 2 +PSX00081, 9,30NW_PSX ,29.11,-96.71, 2 +PSX00082, 9,40NW_PSX ,29.23,-96.85, 2 +PSX00083, 9,50NW_PSX ,29.35,-96.99, 2 FSD00000, 9,FSD ,43.65,-96.78, 1 FSD00001, 9,20N_FSD ,43.98,-96.78, 2 FSD00002, 9,30N_FSD ,44.15,-96.78, 2 @@ -5261,39 +5254,39 @@ FAR00054, 9,60W_FAR ,46.74,-98.31, 2 FAR00055, 9,70W_FAR ,46.74,-98.55, 2 FAR00059, 9,20NW_FAR ,46.99,-97.20, 2 FAR00060, 9,30NW_FAR ,47.10,-97.37, 2 -DFW00000, 9,DFW ,32.87,-97.03, 1 -DFW00001, 9,20N_DFW ,33.20,-97.03, 2 -DFW00002, 9,30N_DFW ,33.37,-97.03, 2 -DFW00005, 9,20NE_DFW ,33.11,-96.75, 2 -DFW00006, 9,30NE_DFW ,33.22,-96.61, 2 -DFW00007, 9,40NE_DFW ,33.34,-96.47, 2 -DFW00008, 9,50NE_DFW ,33.46,-96.32, 2 -DFW00015, 9,20E_DFW ,32.87,-96.63, 2 -DFW00016, 9,30E_DFW ,32.87,-96.44, 2 -DFW00017, 9,40E_DFW ,32.87,-96.24, 2 -DFW00018, 9,50E_DFW ,32.87,-96.04, 2 -DFW00019, 9,60E_DFW ,32.86,-95.84, 2 -DFW00025, 9,20SE_DFW ,32.63,-96.75, 2 -DFW00026, 9,30SE_DFW ,32.52,-96.61, 2 -DFW00027, 9,40SE_DFW ,32.40,-96.47, 2 -DFW00028, 9,50SE_DFW ,32.28,-96.33, 2 -DFW00029, 9,60SE_DFW ,32.16,-96.20, 2 -DFW00030, 9,70SE_DFW ,32.04,-96.06, 2 -DFW00034, 9,20S_DFW ,32.54,-97.03, 2 -DFW00035, 9,30S_DFW ,32.37,-97.03, 2 -DFW00036, 9,40S_DFW ,32.20,-97.03, 2 -DFW00040, 9,20SW_DFW ,32.63,-97.31, 2 -DFW00041, 9,30SW_DFW ,32.52,-97.45, 2 -DFW00042, 9,40SW_DFW ,32.40,-97.59, 2 -DFW00043, 9,50SW_DFW ,32.28,-97.73, 2 -DFW00050, 9,20W_DFW ,32.87,-97.43, 2 -DFW00051, 9,30W_DFW ,32.87,-97.62, 2 -DFW00052, 9,40W_DFW ,32.87,-97.82, 2 -DFW00053, 9,50W_DFW ,32.87,-98.02, 2 -DFW00054, 9,60W_DFW ,32.86,-98.22, 2 -DFW00058, 9,20NW_DFW ,33.11,-97.31, 2 -DFW00059, 9,30NW_DFW ,33.22,-97.45, 2 -DFW00060, 9,40NW_DFW ,33.34,-97.59, 2 +TTT00000, 9,TTT ,32.87,-97.04, 1 +TTT00001, 9,20N_TTT ,33.20,-97.04, 2 +TTT00002, 9,30N_TTT ,33.37,-97.04, 2 +TTT00005, 9,20NE_TTT ,33.11,-96.76, 2 +TTT00006, 9,30NE_TTT ,33.22,-96.62, 2 +TTT00007, 9,40NE_TTT ,33.34,-96.48, 2 +TTT00008, 9,50NE_TTT ,33.46,-96.33, 2 +TTT00015, 9,20E_TTT ,32.87,-96.64, 2 +TTT00016, 9,30E_TTT ,32.87,-96.45, 2 +TTT00017, 9,40E_TTT ,32.87,-96.25, 2 +TTT00018, 9,50E_TTT ,32.87,-96.05, 2 +TTT00019, 9,60E_TTT ,32.86,-95.85, 2 +TTT00025, 9,20SE_TTT ,32.63,-96.76, 2 +TTT00026, 9,30SE_TTT ,32.52,-96.62, 2 +TTT00027, 9,40SE_TTT ,32.40,-96.48, 2 +TTT00028, 9,50SE_TTT ,32.28,-96.34, 2 +TTT00029, 9,60SE_TTT ,32.16,-96.21, 2 +TTT00030, 9,70SE_TTT ,32.04,-96.07, 2 +TTT00034, 9,20S_TTT ,32.54,-97.04, 2 +TTT00035, 9,30S_TTT ,32.37,-97.04, 2 +TTT00036, 9,40S_TTT ,32.20,-97.04, 2 +TTT00040, 9,20SW_TTT ,32.63,-97.32, 2 +TTT00041, 9,30SW_TTT ,32.52,-97.46, 2 +TTT00042, 9,40SW_TTT ,32.40,-97.60, 2 +TTT00043, 9,50SW_TTT ,32.28,-97.74, 2 +TTT00050, 9,20W_TTT ,32.87,-97.44, 2 +TTT00051, 9,30W_TTT ,32.87,-97.63, 2 +TTT00052, 9,40W_TTT ,32.87,-97.83, 2 +TTT00053, 9,50W_TTT ,32.87,-98.03, 2 +TTT00054, 9,60W_TTT ,32.86,-98.23, 2 +TTT00058, 9,20NW_TTT ,33.11,-97.32, 2 +TTT00059, 9,30NW_TTT ,33.22,-97.46, 2 +TTT00060, 9,40NW_TTT ,33.34,-97.60, 2 ADM00000, 9,ADM ,34.21,-97.17, 1 ADM00001, 9,20N_ADM ,34.54,-97.17, 2 ADM00002, 9,30N_ADM ,34.71,-97.17, 2 @@ -5320,7 +5313,7 @@ GFK00000, 9,GFK ,47.95,-97.19, 1 GFK00001, 9,20N_GFK ,48.28,-97.19, 2 GFK00002, 9,30N_GFK ,48.45,-97.19, 2 GFK00003, 9,40N_GFK ,48.62,-97.19, 2 -GFK00008, 9,20NE_GFK ,48.18,-96.84, 2 +GFK00008, 9,20NE_GFK ,48.19,-96.84, 2 GFK00009, 9,30NE_GFK ,48.30,-96.66, 2 GFK00010, 9,40NE_GFK ,48.42,-96.48, 2 GFK00011, 9,50NE_GFK ,48.54,-96.30, 2 @@ -5351,7 +5344,7 @@ GFK00058, 9,50W_GFK ,47.94,-98.43, 2 GFK00059, 9,60W_GFK ,47.94,-98.68, 2 GFK00060, 9,70W_GFK ,47.94,-98.93, 2 GFK00061, 9,80W_GFK ,47.93,-99.18, 2 -GFK00069, 9,20NW_GFK ,48.18,-97.54, 2 +GFK00069, 9,20NW_GFK ,48.19,-97.54, 2 GFK00070, 9,30NW_GFK ,48.30,-97.72, 2 GFK00071, 9,40NW_GFK ,48.42,-97.90, 2 GFK00072, 9,50NW_GFK ,48.54,-98.08, 2 @@ -5712,58 +5705,59 @@ SLN00015, 9,30E_SLN ,38.93,-96.98, 2 SLN00016, 9,40E_SLN ,38.93,-96.76, 2 SLN00017, 9,50E_SLN ,38.93,-96.55, 2 SLN00018, 9,60E_SLN ,38.92,-96.34, 2 -SLN00026, 9,20SE_SLN ,38.69,-97.32, 2 -SLN00027, 9,30SE_SLN ,38.58,-97.17, 2 -SLN00028, 9,40SE_SLN ,38.46,-97.02, 2 -SLN00029, 9,50SE_SLN ,38.34,-96.87, 2 -SLN00033, 9,20S_SLN ,38.60,-97.62, 2 -SLN00034, 9,30S_SLN ,38.43,-97.62, 2 -SLN00035, 9,40S_SLN ,38.26,-97.62, 2 -SLN00039, 9,20SW_SLN ,38.69,-97.92, 2 -SLN00040, 9,30SW_SLN ,38.58,-98.07, 2 -SLN00041, 9,40SW_SLN ,38.46,-98.22, 2 -SLN00042, 9,50SW_SLN ,38.34,-98.37, 2 -SLN00043, 9,60SW_SLN ,38.22,-98.52, 2 -SLN00050, 9,20W_SLN ,38.93,-98.05, 2 -SLN00051, 9,30W_SLN ,38.93,-98.26, 2 -SLN00052, 9,40W_SLN ,38.93,-98.48, 2 -SLN00053, 9,50W_SLN ,38.93,-98.69, 2 -SLN00054, 9,60W_SLN ,38.92,-98.90, 2 -SLN00060, 9,20NW_SLN ,39.17,-97.92, 2 -SLN00061, 9,30NW_SLN ,39.28,-98.08, 2 -SLN00062, 9,40NW_SLN ,39.40,-98.23, 2 -SLN00063, 9,50NW_SLN ,39.52,-98.38, 2 -SLN00064, 9,60NW_SLN ,39.63,-98.54, 2 -SLN00065, 9,70NW_SLN ,39.75,-98.69, 2 -AUS00000, 9,AUS ,30.30,-97.70, 1 -AUS00001, 9,20N_AUS ,30.63,-97.70, 2 -AUS00002, 9,30N_AUS ,30.80,-97.70, 2 -AUS00005, 9,20NE_AUS ,30.54,-97.43, 2 -AUS00006, 9,30NE_AUS ,30.65,-97.29, 2 -AUS00007, 9,40NE_AUS ,30.77,-97.15, 2 -AUS00013, 9,20E_AUS ,30.30,-97.31, 2 -AUS00014, 9,30E_AUS ,30.30,-97.12, 2 -AUS00015, 9,40E_AUS ,30.30,-96.93, 2 -AUS00016, 9,50E_AUS ,30.30,-96.74, 2 -AUS00017, 9,60E_AUS ,30.29,-96.54, 2 -AUS00023, 9,20SE_AUS ,30.06,-97.43, 2 -AUS00024, 9,30SE_AUS ,29.95,-97.29, 2 -AUS00025, 9,40SE_AUS ,29.83,-97.16, 2 -AUS00026, 9,50SE_AUS ,29.71,-97.02, 2 -AUS00027, 9,60SE_AUS ,29.59,-96.89, 2 -AUS00033, 9,20S_AUS ,29.97,-97.70, 2 -AUS00034, 9,30S_AUS ,29.80,-97.70, 2 -AUS00035, 9,40S_AUS ,29.63,-97.70, 2 -AUS00038, 9,20SW_AUS ,30.06,-97.97, 2 -AUS00039, 9,30SW_AUS ,29.95,-98.11, 2 -AUS00042, 9,20W_AUS ,30.30,-98.09, 2 -AUS00043, 9,30W_AUS ,30.30,-98.28, 2 -AUS00044, 9,40W_AUS ,30.30,-98.47, 2 -AUS00049, 9,20NW_AUS ,30.54,-97.97, 2 -AUS00050, 9,30NW_AUS ,30.65,-98.11, 2 -AUS00051, 9,40NW_AUS ,30.77,-98.25, 2 -AUS00052, 9,50NW_AUS ,30.89,-98.39, 2 -AUS00053, 9,60NW_AUS ,31.00,-98.52, 2 +SLN00025, 9,20SE_SLN ,38.69,-97.32, 2 +SLN00026, 9,30SE_SLN ,38.58,-97.17, 2 +SLN00027, 9,40SE_SLN ,38.46,-97.02, 2 +SLN00028, 9,50SE_SLN ,38.34,-96.87, 2 +SLN00032, 9,20S_SLN ,38.60,-97.62, 2 +SLN00033, 9,30S_SLN ,38.43,-97.62, 2 +SLN00034, 9,40S_SLN ,38.26,-97.62, 2 +SLN00038, 9,20SW_SLN ,38.69,-97.92, 2 +SLN00039, 9,30SW_SLN ,38.58,-98.07, 2 +SLN00040, 9,40SW_SLN ,38.46,-98.22, 2 +SLN00041, 9,50SW_SLN ,38.34,-98.37, 2 +SLN00042, 9,60SW_SLN ,38.22,-98.52, 2 +SLN00049, 9,20W_SLN ,38.93,-98.05, 2 +SLN00050, 9,30W_SLN ,38.93,-98.26, 2 +SLN00051, 9,40W_SLN ,38.93,-98.48, 2 +SLN00052, 9,50W_SLN ,38.93,-98.69, 2 +SLN00053, 9,60W_SLN ,38.92,-98.90, 2 +SLN00059, 9,20NW_SLN ,39.17,-97.92, 2 +SLN00060, 9,30NW_SLN ,39.28,-98.08, 2 +SLN00061, 9,40NW_SLN ,39.40,-98.23, 2 +SLN00062, 9,50NW_SLN ,39.52,-98.38, 2 +SLN00063, 9,60NW_SLN ,39.63,-98.54, 2 +SLN00064, 9,70NW_SLN ,39.75,-98.69, 2 +CWK00000, 9,CWK ,30.38,-97.53, 1 +CWK00001, 9,20N_CWK ,30.71,-97.53, 2 +CWK00002, 9,30N_CWK ,30.88,-97.53, 2 +CWK00005, 9,20NE_CWK ,30.62,-97.26, 2 +CWK00006, 9,30NE_CWK ,30.73,-97.12, 2 +CWK00007, 9,40NE_CWK ,30.85,-96.98, 2 +CWK00013, 9,20E_CWK ,30.38,-97.14, 2 +CWK00014, 9,30E_CWK ,30.38,-96.95, 2 +CWK00015, 9,40E_CWK ,30.38,-96.76, 2 +CWK00016, 9,50E_CWK ,30.38,-96.56, 2 +CWK00017, 9,60E_CWK ,30.37,-96.37, 2 +CWK00023, 9,20SE_CWK ,30.14,-97.26, 2 +CWK00024, 9,30SE_CWK ,30.03,-97.12, 2 +CWK00025, 9,40SE_CWK ,29.91,-96.99, 2 +CWK00026, 9,50SE_CWK ,29.79,-96.85, 2 +CWK00027, 9,60SE_CWK ,29.67,-96.72, 2 +CWK00033, 9,20S_CWK ,30.05,-97.53, 2 +CWK00034, 9,30S_CWK ,29.88,-97.53, 2 +CWK00035, 9,40S_CWK ,29.71,-97.53, 2 +CWK00036, 9,50S_CWK ,29.55,-97.53, 2 +CWK00040, 9,20SW_CWK ,30.14,-97.80, 2 +CWK00041, 9,30SW_CWK ,30.03,-97.94, 2 +CWK00045, 9,20W_CWK ,30.38,-97.92, 2 +CWK00046, 9,30W_CWK ,30.38,-98.11, 2 +CWK00047, 9,40W_CWK ,30.38,-98.30, 2 +CWK00048, 9,50W_CWK ,30.38,-98.50, 2 +CWK00054, 9,20NW_CWK ,30.62,-97.80, 2 +CWK00055, 9,30NW_CWK ,30.73,-97.94, 2 +CWK00056, 9,40NW_CWK ,30.85,-98.08, 2 +CWK00057, 9,50NW_CWK ,30.97,-98.22, 2 END00000, 9,END ,36.35,-97.92, 1 END00001, 9,20N_END ,36.68,-97.92, 2 END00002, 9,30N_END ,36.85,-97.92, 2 @@ -5869,33 +5863,34 @@ ABR00072, 9,50NW_ABR ,46.01,-99.22, 2 SAT00000, 9,SAT ,29.64,-98.46, 1 SAT00001, 9,20N_SAT ,29.97,-98.46, 2 SAT00002, 9,30N_SAT ,30.14,-98.46, 2 -SAT00004, 9,20NE_SAT ,29.88,-98.19, 2 -SAT00006, 9,20E_SAT ,29.64,-98.08, 2 -SAT00007, 9,30E_SAT ,29.64,-97.89, 2 -SAT00012, 9,20SE_SAT ,29.40,-98.19, 2 -SAT00013, 9,30SE_SAT ,29.29,-98.05, 2 -SAT00014, 9,40SE_SAT ,29.17,-97.92, 2 -SAT00015, 9,50SE_SAT ,29.05,-97.79, 2 -SAT00016, 9,60SE_SAT ,28.93,-97.65, 2 -SAT00022, 9,20S_SAT ,29.31,-98.46, 2 -SAT00023, 9,30S_SAT ,29.14,-98.46, 2 -SAT00024, 9,40S_SAT ,28.97,-98.46, 2 -SAT00025, 9,50S_SAT ,28.81,-98.46, 2 -SAT00026, 9,60S_SAT ,28.64,-98.46, 2 -SAT00027, 9,70S_SAT ,28.47,-98.46, 2 -SAT00034, 9,20SW_SAT ,29.40,-98.73, 2 -SAT00035, 9,30SW_SAT ,29.29,-98.87, 2 -SAT00036, 9,40SW_SAT ,29.17,-99.00, 2 -SAT00037, 9,50SW_SAT ,29.05,-99.13, 2 -SAT00038, 9,60SW_SAT ,28.93,-99.27, 2 -SAT00039, 9,70SW_SAT ,28.81,-99.40, 2 -SAT00045, 9,20W_SAT ,29.64,-98.84, 2 -SAT00046, 9,30W_SAT ,29.64,-99.03, 2 -SAT00047, 9,40W_SAT ,29.64,-99.23, 2 -SAT00048, 9,50W_SAT ,29.64,-99.42, 2 -SAT00052, 9,20NW_SAT ,29.88,-98.73, 2 -SAT00053, 9,30NW_SAT ,29.99,-98.87, 2 -SAT00054, 9,40NW_SAT ,30.11,-99.00, 2 +SAT00003, 9,40N_SAT ,30.31,-98.46, 2 +SAT00006, 9,20NE_SAT ,29.88,-98.19, 2 +SAT00008, 9,20E_SAT ,29.64,-98.08, 2 +SAT00009, 9,30E_SAT ,29.64,-97.89, 2 +SAT00015, 9,20SE_SAT ,29.40,-98.19, 2 +SAT00016, 9,30SE_SAT ,29.29,-98.05, 2 +SAT00017, 9,40SE_SAT ,29.17,-97.92, 2 +SAT00018, 9,50SE_SAT ,29.05,-97.79, 2 +SAT00019, 9,60SE_SAT ,28.93,-97.65, 2 +SAT00025, 9,20S_SAT ,29.31,-98.46, 2 +SAT00026, 9,30S_SAT ,29.14,-98.46, 2 +SAT00027, 9,40S_SAT ,28.97,-98.46, 2 +SAT00028, 9,50S_SAT ,28.81,-98.46, 2 +SAT00029, 9,60S_SAT ,28.64,-98.46, 2 +SAT00030, 9,70S_SAT ,28.47,-98.46, 2 +SAT00037, 9,20SW_SAT ,29.40,-98.73, 2 +SAT00038, 9,30SW_SAT ,29.29,-98.87, 2 +SAT00039, 9,40SW_SAT ,29.17,-99.00, 2 +SAT00040, 9,50SW_SAT ,29.05,-99.13, 2 +SAT00041, 9,60SW_SAT ,28.93,-99.27, 2 +SAT00042, 9,70SW_SAT ,28.81,-99.40, 2 +SAT00048, 9,20W_SAT ,29.64,-98.84, 2 +SAT00049, 9,30W_SAT ,29.64,-99.03, 2 +SAT00050, 9,40W_SAT ,29.64,-99.23, 2 +SAT00051, 9,50W_SAT ,29.64,-99.42, 2 +SAT00055, 9,20NW_SAT ,29.88,-98.73, 2 +SAT00056, 9,30NW_SAT ,29.99,-98.87, 2 +SAT00057, 9,40NW_SAT ,30.11,-99.00, 2 SPS00000, 9,SPS ,33.99,-98.59, 1 SPS00001, 9,20N_SPS ,34.32,-98.59, 2 SPS00002, 9,30N_SPS ,34.49,-98.59, 2 @@ -6035,23 +6030,24 @@ JCT00016, 9,20E_JCT ,30.60,-99.43, 2 JCT00017, 9,30E_JCT ,30.60,-99.24, 2 JCT00018, 9,40E_JCT ,30.60,-99.05, 2 JCT00019, 9,50E_JCT ,30.60,-98.85, 2 -JCT00024, 9,20SE_JCT ,30.36,-99.55, 2 -JCT00025, 9,30SE_JCT ,30.25,-99.41, 2 -JCT00026, 9,40SE_JCT ,30.13,-99.28, 2 -JCT00027, 9,50SE_JCT ,30.01,-99.14, 2 -JCT00032, 9,20S_JCT ,30.27,-99.82, 2 -JCT00033, 9,30S_JCT ,30.10,-99.82, 2 -JCT00034, 9,40S_JCT ,29.93,-99.82, 2 -JCT00035, 9,50S_JCT ,29.77,-99.82, 2 -JCT00036, 9,60S_JCT ,29.60,-99.82, 2 -JCT00041, 9,20SW_JCT ,30.36,-100.09, 2 -JCT00042, 9,30SW_JCT ,30.25,-100.23, 2 -JCT00043, 9,40SW_JCT ,30.13,-100.36, 2 -JCT00044, 9,50SW_JCT ,30.01,-100.50, 2 -JCT00050, 9,20W_JCT ,30.60,-100.21, 2 -JCT00051, 9,30W_JCT ,30.60,-100.40, 2 -JCT00052, 9,40W_JCT ,30.60,-100.59, 2 -JCT00054, 9,20NW_JCT ,30.84,-100.09, 2 +JCT00020, 9,60E_JCT ,30.59,-98.66, 2 +JCT00025, 9,20SE_JCT ,30.36,-99.55, 2 +JCT00026, 9,30SE_JCT ,30.25,-99.41, 2 +JCT00027, 9,40SE_JCT ,30.13,-99.28, 2 +JCT00028, 9,50SE_JCT ,30.01,-99.14, 2 +JCT00033, 9,20S_JCT ,30.27,-99.82, 2 +JCT00034, 9,30S_JCT ,30.10,-99.82, 2 +JCT00035, 9,40S_JCT ,29.93,-99.82, 2 +JCT00036, 9,50S_JCT ,29.77,-99.82, 2 +JCT00037, 9,60S_JCT ,29.60,-99.82, 2 +JCT00042, 9,20SW_JCT ,30.36,-100.09, 2 +JCT00043, 9,30SW_JCT ,30.25,-100.23, 2 +JCT00044, 9,40SW_JCT ,30.13,-100.36, 2 +JCT00045, 9,50SW_JCT ,30.01,-100.50, 2 +JCT00051, 9,20W_JCT ,30.60,-100.21, 2 +JCT00052, 9,30W_JCT ,30.60,-100.40, 2 +JCT00053, 9,40W_JCT ,30.60,-100.59, 2 +JCT00055, 9,20NW_JCT ,30.84,-100.09, 2 ABI00000, 9,ABI ,32.48,-99.86, 1 ABI00001, 9,20N_ABI ,32.81,-99.86, 2 ABI00002, 9,30N_ABI ,32.98,-99.86, 2 @@ -6089,36 +6085,6 @@ ABI00063, 9,20NW_ABI ,32.72,-100.14, 2 ABI00064, 9,30NW_ABI ,32.83,-100.28, 2 ABI00065, 9,40NW_ABI ,32.95,-100.42, 2 ABI00066, 9,50NW_ABI ,33.07,-100.56, 2 -GAG00000, 9,GAG ,36.34,-99.88, 1 -GAG00001, 9,20N_GAG ,36.67,-99.88, 2 -GAG00002, 9,30N_GAG ,36.84,-99.88, 2 -GAG00003, 9,40N_GAG ,37.01,-99.88, 2 -GAG00009, 9,20NE_GAG ,36.58,-99.59, 2 -GAG00010, 9,30NE_GAG ,36.69,-99.44, 2 -GAG00011, 9,40NE_GAG ,36.81,-99.29, 2 -GAG00012, 9,50NE_GAG ,36.93,-99.14, 2 -GAG00013, 9,60NE_GAG ,37.04,-98.99, 2 -GAG00018, 9,20E_GAG ,36.34,-99.47, 2 -GAG00019, 9,30E_GAG ,36.34,-99.26, 2 -GAG00020, 9,40E_GAG ,36.34,-99.05, 2 -GAG00025, 9,20SE_GAG ,36.10,-99.59, 2 -GAG00026, 9,30SE_GAG ,35.99,-99.44, 2 -GAG00027, 9,40SE_GAG ,35.87,-99.30, 2 -GAG00028, 9,50SE_GAG ,35.75,-99.15, 2 -GAG00029, 9,60SE_GAG ,35.63,-99.01, 2 -GAG00036, 9,20S_GAG ,36.01,-99.88, 2 -GAG00037, 9,30S_GAG ,35.84,-99.88, 2 -GAG00038, 9,40S_GAG ,35.67,-99.88, 2 -GAG00039, 9,50S_GAG ,35.51,-99.88, 2 -GAG00040, 9,60S_GAG ,35.34,-99.88, 2 -GAG00046, 9,20SW_GAG ,36.10,-100.17, 2 -GAG00047, 9,30SW_GAG ,35.99,-100.32, 2 -GAG00048, 9,40SW_GAG ,35.87,-100.46, 2 -GAG00049, 9,50SW_GAG ,35.75,-100.61, 2 -GAG00050, 9,60SW_GAG ,35.63,-100.75, 2 -GAG00055, 9,20W_GAG ,36.34,-100.29, 2 -GAG00056, 9,30W_GAG ,36.34,-100.50, 2 -GAG00058, 9,20NW_GAG ,36.58,-100.17, 2 ANW00000, 9,ANW ,42.57,-99.99, 1 ANW00001, 9,20N_ANW ,42.90,-99.99, 2 ANW00002, 9,30N_ANW ,43.07,-99.99, 2 @@ -6742,19 +6708,21 @@ SNY00004, 9,30NE_SNY ,41.45,-102.51, 2 SNY00005, 9,40NE_SNY ,41.57,-102.35, 2 SNY00006, 9,50NE_SNY ,41.69,-102.19, 2 SNY00011, 9,20E_SNY ,41.10,-102.54, 2 -SNY00012, 9,50E_SNY ,41.09,-101.87, 2 -SNY00017, 9,20SE_SNY ,40.86,-102.67, 2 -SNY00018, 9,30SE_SNY ,40.75,-102.51, 2 -SNY00019, 9,40SE_SNY ,40.63,-102.36, 2 -SNY00020, 9,50SE_SNY ,40.51,-102.21, 2 -SNY00021, 9,60SE_SNY ,40.39,-102.05, 2 -SNY00025, 9,20S_SNY ,40.77,-102.98, 2 -SNY00026, 9,30S_SNY ,40.60,-102.98, 2 -SNY00029, 9,20SW_SNY ,40.86,-103.29, 2 -SNY00030, 9,30SW_SNY ,40.75,-103.45, 2 -SNY00031, 9,40SW_SNY ,40.63,-103.60, 2 -SNY00034, 9,20W_SNY ,41.10,-103.42, 2 -SNY00035, 9,30W_SNY ,41.10,-103.64, 2 +SNY00012, 9,30E_SNY ,41.10,-102.32, 2 +SNY00013, 9,40E_SNY ,41.10,-102.10, 2 +SNY00014, 9,50E_SNY ,41.09,-101.87, 2 +SNY00019, 9,20SE_SNY ,40.86,-102.67, 2 +SNY00020, 9,30SE_SNY ,40.75,-102.51, 2 +SNY00021, 9,40SE_SNY ,40.63,-102.36, 2 +SNY00022, 9,50SE_SNY ,40.51,-102.21, 2 +SNY00023, 9,60SE_SNY ,40.39,-102.05, 2 +SNY00027, 9,20S_SNY ,40.77,-102.98, 2 +SNY00028, 9,30S_SNY ,40.60,-102.98, 2 +SNY00031, 9,20SW_SNY ,40.86,-103.29, 2 +SNY00032, 9,30SW_SNY ,40.75,-103.45, 2 +SNY00033, 9,40SW_SNY ,40.63,-103.60, 2 +SNY00037, 9,20W_SNY ,41.10,-103.42, 2 +SNY00038, 9,30W_SNY ,41.10,-103.64, 2 FST00000, 9,FST ,30.95,-102.98, 1 FST00001, 9,20N_FST ,31.28,-102.98, 2 FST00003, 9,20NE_FST ,31.19,-102.70, 2 @@ -6809,21 +6777,19 @@ RAP00047, 9,30SW_RAP ,43.63,-103.50, 2 RAP00048, 9,40SW_RAP ,43.51,-103.66, 2 RAP00049, 9,50SW_RAP ,43.39,-103.82, 2 RAP00050, 9,60SW_RAP ,43.27,-103.98, 2 -RAP00051, 9,70SW_RAP ,43.15,-104.14, 2 -RAP00052, 9,80SW_RAP ,43.03,-104.30, 2 -RAP00060, 9,20W_RAP ,43.98,-103.47, 2 -RAP00061, 9,30W_RAP ,43.98,-103.70, 2 -RAP00062, 9,40W_RAP ,43.98,-103.94, 2 -RAP00063, 9,50W_RAP ,43.97,-104.17, 2 -RAP00064, 9,60W_RAP ,43.97,-104.40, 2 -RAP00065, 9,70W_RAP ,43.97,-104.63, 2 -RAP00073, 9,20NW_RAP ,44.22,-103.34, 2 -RAP00074, 9,30NW_RAP ,44.33,-103.50, 2 -RAP00075, 9,40NW_RAP ,44.45,-103.67, 2 -RAP00076, 9,50NW_RAP ,44.57,-103.84, 2 -RAP00077, 9,60NW_RAP ,44.68,-104.00, 2 -RAP00078, 9,70NW_RAP ,44.80,-104.17, 2 -RAP00079, 9,80NW_RAP ,44.91,-104.34, 2 +RAP00058, 9,20W_RAP ,43.98,-103.47, 2 +RAP00059, 9,30W_RAP ,43.98,-103.70, 2 +RAP00060, 9,40W_RAP ,43.98,-103.94, 2 +RAP00061, 9,50W_RAP ,43.97,-104.17, 2 +RAP00062, 9,60W_RAP ,43.97,-104.40, 2 +RAP00063, 9,70W_RAP ,43.97,-104.63, 2 +RAP00071, 9,20NW_RAP ,44.22,-103.34, 2 +RAP00072, 9,30NW_RAP ,44.33,-103.50, 2 +RAP00073, 9,40NW_RAP ,44.45,-103.67, 2 +RAP00074, 9,50NW_RAP ,44.57,-103.84, 2 +RAP00075, 9,60NW_RAP ,44.68,-104.00, 2 +RAP00076, 9,70NW_RAP ,44.80,-104.17, 2 +RAP00077, 9,80NW_RAP ,44.91,-104.34, 2 AKO00000, 9,AKO ,40.16,-103.18, 1 AKO00001, 9,20N_AKO ,40.49,-103.18, 2 AKO00003, 9,20NE_AKO ,40.40,-102.87, 2 @@ -7110,46 +7076,46 @@ PUB00045, 9,60W_PUB ,38.28,-105.70, 2 PUB00051, 9,20NW_PUB ,38.53,-104.73, 2 PUB00052, 9,30NW_PUB ,38.64,-104.88, 2 PUB00053, 9,40NW_PUB ,38.76,-105.03, 2 -ROW00000, 9,ROW ,33.34,-104.62, 1 -ROW00001, 9,20N_ROW ,33.67,-104.62, 2 -ROW00002, 9,30N_ROW ,33.84,-104.62, 2 -ROW00003, 9,40N_ROW ,34.01,-104.62, 2 -ROW00004, 9,50N_ROW ,34.17,-104.62, 2 -ROW00009, 9,20NE_ROW ,33.58,-104.34, 2 -ROW00010, 9,30NE_ROW ,33.69,-104.20, 2 -ROW00011, 9,40NE_ROW ,33.81,-104.05, 2 -ROW00012, 9,50NE_ROW ,33.93,-103.91, 2 -ROW00017, 9,20E_ROW ,33.34,-104.22, 2 -ROW00018, 9,30E_ROW ,33.34,-104.02, 2 -ROW00019, 9,40E_ROW ,33.34,-103.82, 2 -ROW00020, 9,50E_ROW ,33.34,-103.62, 2 -ROW00021, 9,60E_ROW ,33.33,-103.42, 2 -ROW00028, 9,20SE_ROW ,33.10,-104.34, 2 -ROW00029, 9,30SE_ROW ,32.99,-104.20, 2 -ROW00030, 9,40SE_ROW ,32.87,-104.06, 2 -ROW00031, 9,50SE_ROW ,32.75,-103.92, 2 -ROW00032, 9,60SE_ROW ,32.63,-103.78, 2 -ROW00038, 9,20S_ROW ,33.01,-104.62, 2 -ROW00039, 9,30S_ROW ,32.84,-104.62, 2 -ROW00040, 9,40S_ROW ,32.67,-104.62, 2 -ROW00041, 9,50S_ROW ,32.51,-104.62, 2 -ROW00042, 9,60S_ROW ,32.34,-104.62, 2 -ROW00043, 9,70S_ROW ,32.17,-104.62, 2 -ROW00050, 9,20SW_ROW ,33.10,-104.90, 2 -ROW00051, 9,30SW_ROW ,32.99,-105.04, 2 -ROW00052, 9,40SW_ROW ,32.87,-105.18, 2 -ROW00053, 9,50SW_ROW ,32.75,-105.32, 2 -ROW00054, 9,60SW_ROW ,32.63,-105.46, 2 -ROW00061, 9,20W_ROW ,33.34,-105.02, 2 -ROW00062, 9,30W_ROW ,33.34,-105.22, 2 -ROW00063, 9,40W_ROW ,33.34,-105.42, 2 -ROW00064, 9,50W_ROW ,33.34,-105.62, 2 -ROW00065, 9,60W_ROW ,33.33,-105.82, 2 -ROW00072, 9,20NW_ROW ,33.58,-104.90, 2 -ROW00073, 9,30NW_ROW ,33.69,-105.04, 2 -ROW00074, 9,40NW_ROW ,33.81,-105.19, 2 -ROW00075, 9,50NW_ROW ,33.93,-105.33, 2 -ROW00076, 9,60NW_ROW ,34.04,-105.47, 2 +CME00000, 9,CME ,33.34,-104.62, 1 +CME00001, 9,20N_CME ,33.67,-104.62, 2 +CME00002, 9,30N_CME ,33.84,-104.62, 2 +CME00003, 9,40N_CME ,34.01,-104.62, 2 +CME00004, 9,50N_CME ,34.17,-104.62, 2 +CME00009, 9,20NE_CME ,33.58,-104.34, 2 +CME00010, 9,30NE_CME ,33.69,-104.20, 2 +CME00011, 9,40NE_CME ,33.81,-104.05, 2 +CME00012, 9,50NE_CME ,33.93,-103.91, 2 +CME00017, 9,20E_CME ,33.34,-104.22, 2 +CME00018, 9,30E_CME ,33.34,-104.02, 2 +CME00019, 9,40E_CME ,33.34,-103.82, 2 +CME00020, 9,50E_CME ,33.34,-103.62, 2 +CME00021, 9,60E_CME ,33.33,-103.42, 2 +CME00028, 9,20SE_CME ,33.10,-104.34, 2 +CME00029, 9,30SE_CME ,32.99,-104.20, 2 +CME00030, 9,40SE_CME ,32.87,-104.06, 2 +CME00031, 9,50SE_CME ,32.75,-103.92, 2 +CME00032, 9,60SE_CME ,32.63,-103.78, 2 +CME00038, 9,20S_CME ,33.01,-104.62, 2 +CME00039, 9,30S_CME ,32.84,-104.62, 2 +CME00040, 9,40S_CME ,32.67,-104.62, 2 +CME00041, 9,50S_CME ,32.51,-104.62, 2 +CME00042, 9,60S_CME ,32.34,-104.62, 2 +CME00043, 9,70S_CME ,32.17,-104.62, 2 +CME00050, 9,20SW_CME ,33.10,-104.90, 2 +CME00051, 9,30SW_CME ,32.99,-105.04, 2 +CME00052, 9,40SW_CME ,32.87,-105.18, 2 +CME00053, 9,50SW_CME ,32.75,-105.32, 2 +CME00054, 9,60SW_CME ,32.63,-105.46, 2 +CME00061, 9,20W_CME ,33.34,-105.02, 2 +CME00062, 9,30W_CME ,33.34,-105.22, 2 +CME00063, 9,40W_CME ,33.34,-105.42, 2 +CME00064, 9,50W_CME ,33.34,-105.62, 2 +CME00065, 9,60W_CME ,33.33,-105.82, 2 +CME00072, 9,20NW_CME ,33.58,-104.90, 2 +CME00073, 9,30NW_CME ,33.69,-105.04, 2 +CME00074, 9,40NW_CME ,33.81,-105.19, 2 +CME00075, 9,50NW_CME ,33.93,-105.33, 2 +CME00076, 9,60NW_CME ,34.04,-105.47, 2 DEN00000, 9,DEN ,39.81,-104.66, 1 DEN00001, 9,20N_DEN ,40.14,-104.66, 2 DEN00002, 9,30N_DEN ,40.31,-104.66, 2 @@ -7185,16 +7151,16 @@ CYS00003, 9,40N_CYS ,41.88,-104.77, 2 CYS00006, 9,20NE_CYS ,41.45,-104.46, 2 CYS00008, 9,20E_CYS ,41.21,-104.33, 2 CYS00009, 9,30E_CYS ,41.21,-104.11, 2 -CYS00011, 9,20SE_CYS ,40.97,-104.46, 2 -CYS00012, 9,30SE_CYS ,40.86,-104.30, 2 -CYS00013, 9,40SE_CYS ,40.74,-104.15, 2 -CYS00014, 9,50SE_CYS ,40.62,-103.99, 2 -CYS00019, 9,20S_CYS ,40.88,-104.77, 2 -CYS00020, 9,30S_CYS ,40.71,-104.77, 2 -CYS00021, 9,40S_CYS ,40.54,-104.77, 2 -CYS00026, 9,20SW_CYS ,40.97,-105.08, 2 -CYS00027, 9,30SW_CYS ,40.86,-105.24, 2 -CYS00029, 9,20NW_CYS ,41.45,-105.08, 2 +CYS00013, 9,20SE_CYS ,40.97,-104.46, 2 +CYS00014, 9,30SE_CYS ,40.86,-104.30, 2 +CYS00015, 9,40SE_CYS ,40.74,-104.15, 2 +CYS00016, 9,50SE_CYS ,40.62,-103.99, 2 +CYS00021, 9,20S_CYS ,40.88,-104.77, 2 +CYS00022, 9,30S_CYS ,40.71,-104.77, 2 +CYS00023, 9,40S_CYS ,40.54,-104.77, 2 +CYS00028, 9,20SW_CYS ,40.97,-105.08, 2 +CYS00029, 9,30SW_CYS ,40.86,-105.24, 2 +CYS00031, 9,20NW_CYS ,41.45,-105.08, 2 CIM00000, 9,CIM ,36.49,-104.87, 1 CIM00001, 9,20N_CIM ,36.82,-104.87, 2 CIM00002, 9,30N_CIM ,36.99,-104.87, 2 @@ -7215,31 +7181,31 @@ CIM00034, 9,20W_CIM ,36.49,-105.28, 2 CIM00035, 9,30W_CIM ,36.49,-105.49, 2 CIM00036, 9,40W_CIM ,36.49,-105.70, 2 CIM00039, 9,20NW_CIM ,36.73,-105.16, 2 -LVS00000, 9,LVS ,35.66,-105.14, 1 -LVS00001, 9,20N_LVS ,35.99,-105.14, 2 -LVS00002, 9,20NE_LVS ,35.90,-104.85, 2 -LVS00005, 9,20E_LVS ,35.66,-104.73, 2 -LVS00006, 9,30E_LVS ,35.66,-104.53, 2 -LVS00007, 9,40E_LVS ,35.66,-104.32, 2 -LVS00011, 9,20SE_LVS ,35.42,-104.85, 2 -LVS00012, 9,30SE_LVS ,35.31,-104.71, 2 -LVS00013, 9,40SE_LVS ,35.19,-104.56, 2 -LVS00019, 9,20S_LVS ,35.33,-105.14, 2 -LVS00020, 9,30S_LVS ,35.16,-105.14, 2 -LVS00021, 9,40S_LVS ,34.99,-105.14, 2 -LVS00022, 9,50S_LVS ,34.83,-105.14, 2 -LVS00023, 9,60S_LVS ,34.66,-105.14, 2 -LVS00024, 9,70S_LVS ,34.49,-105.14, 2 -LVS00030, 9,20SW_LVS ,35.42,-105.43, 2 -LVS00031, 9,30SW_LVS ,35.31,-105.57, 2 -LVS00032, 9,40SW_LVS ,35.19,-105.72, 2 -LVS00033, 9,50SW_LVS ,35.07,-105.86, 2 -LVS00037, 9,20W_LVS ,35.66,-105.55, 2 -LVS00038, 9,30W_LVS ,35.66,-105.75, 2 -LVS00039, 9,40W_LVS ,35.66,-105.96, 2 -LVS00040, 9,50W_LVS ,35.66,-106.16, 2 -LVS00047, 9,20NW_LVS ,35.90,-105.43, 2 -LVS00048, 9,30NW_LVS ,36.01,-105.58, 2 +FTI00000, 9,FTI ,35.66,-105.14, 1 +FTI00001, 9,20N_FTI ,35.99,-105.14, 2 +FTI00002, 9,20NE_FTI ,35.90,-104.85, 2 +FTI00005, 9,20E_FTI ,35.66,-104.73, 2 +FTI00006, 9,30E_FTI ,35.66,-104.53, 2 +FTI00007, 9,40E_FTI ,35.66,-104.32, 2 +FTI00011, 9,20SE_FTI ,35.42,-104.85, 2 +FTI00012, 9,30SE_FTI ,35.31,-104.71, 2 +FTI00013, 9,40SE_FTI ,35.19,-104.56, 2 +FTI00019, 9,20S_FTI ,35.33,-105.14, 2 +FTI00020, 9,30S_FTI ,35.16,-105.14, 2 +FTI00021, 9,40S_FTI ,34.99,-105.14, 2 +FTI00022, 9,50S_FTI ,34.83,-105.14, 2 +FTI00023, 9,60S_FTI ,34.66,-105.14, 2 +FTI00024, 9,70S_FTI ,34.49,-105.14, 2 +FTI00030, 9,20SW_FTI ,35.42,-105.43, 2 +FTI00031, 9,30SW_FTI ,35.31,-105.57, 2 +FTI00032, 9,40SW_FTI ,35.19,-105.72, 2 +FTI00033, 9,50SW_FTI ,35.07,-105.86, 2 +FTI00037, 9,20W_FTI ,35.66,-105.55, 2 +FTI00038, 9,30W_FTI ,35.66,-105.75, 2 +FTI00039, 9,40W_FTI ,35.66,-105.96, 2 +FTI00040, 9,50W_FTI ,35.66,-106.16, 2 +FTI00047, 9,20NW_FTI ,35.90,-105.43, 2 +FTI00048, 9,30NW_FTI ,36.01,-105.58, 2 LAR00000, 9,LAR ,41.33,-105.72, 1 LAR00001, 9,20N_LAR ,41.66,-105.72, 2 LAR00002, 9,30N_LAR ,41.83,-105.72, 2 @@ -7764,41 +7730,41 @@ YYN00130, 9,60NW_YYN ,50.98,-108.80, 2 YYN00131, 9,70NW_YYN ,51.10,-108.99, 2 YYN00132, 9,80NW_YYN ,51.21,-109.18, 2 YYN00133, 9,90NW_YYN ,51.33,-109.38, 2 -FMN00000, 9,FMN ,36.75,-108.10, 1 -FMN00001, 9,20N_FMN ,37.08,-108.10, 2 -FMN00002, 9,30N_FMN ,37.25,-108.10, 2 -FMN00006, 9,20NE_FMN ,36.99,-107.81, 2 -FMN00007, 9,30NE_FMN ,37.10,-107.66, 2 -FMN00008, 9,40NE_FMN ,37.22,-107.51, 2 -FMN00009, 9,50NE_FMN ,37.34,-107.36, 2 -FMN00014, 9,20E_FMN ,36.75,-107.68, 2 -FMN00015, 9,30E_FMN ,36.75,-107.48, 2 -FMN00016, 9,40E_FMN ,36.75,-107.27, 2 -FMN00017, 9,50E_FMN ,36.75,-107.06, 2 -FMN00024, 9,20SE_FMN ,36.51,-107.81, 2 -FMN00025, 9,30SE_FMN ,36.40,-107.66, 2 -FMN00026, 9,40SE_FMN ,36.28,-107.52, 2 -FMN00027, 9,50SE_FMN ,36.16,-107.37, 2 -FMN00028, 9,60SE_FMN ,36.04,-107.23, 2 -FMN00034, 9,20S_FMN ,36.42,-108.10, 2 -FMN00035, 9,30S_FMN ,36.25,-108.10, 2 -FMN00036, 9,40S_FMN ,36.08,-108.10, 2 -FMN00037, 9,50S_FMN ,35.92,-108.10, 2 -FMN00038, 9,60S_FMN ,35.75,-108.10, 2 -FMN00039, 9,70S_FMN ,35.58,-108.10, 2 -FMN00047, 9,20SW_FMN ,36.51,-108.39, 2 -FMN00048, 9,30SW_FMN ,36.40,-108.54, 2 -FMN00049, 9,40SW_FMN ,36.28,-108.68, 2 -FMN00050, 9,50SW_FMN ,36.16,-108.83, 2 -FMN00051, 9,60SW_FMN ,36.04,-108.97, 2 -FMN00052, 9,70SW_FMN ,35.92,-109.12, 2 -FMN00053, 9,80SW_FMN ,35.80,-109.26, 2 -FMN00061, 9,20W_FMN ,36.75,-108.52, 2 -FMN00062, 9,30W_FMN ,36.75,-108.72, 2 -FMN00063, 9,40W_FMN ,36.75,-108.93, 2 -FMN00064, 9,50W_FMN ,36.75,-109.14, 2 -FMN00067, 9,20NW_FMN ,36.99,-108.39, 2 -FMN00068, 9,30NW_FMN ,37.10,-108.54, 2 +RSK00000, 9,RSK ,36.75,-108.10, 1 +RSK00001, 9,20N_RSK ,37.08,-108.10, 2 +RSK00002, 9,30N_RSK ,37.25,-108.10, 2 +RSK00006, 9,20NE_RSK ,36.99,-107.81, 2 +RSK00007, 9,30NE_RSK ,37.10,-107.66, 2 +RSK00008, 9,40NE_RSK ,37.22,-107.51, 2 +RSK00009, 9,50NE_RSK ,37.34,-107.36, 2 +RSK00014, 9,20E_RSK ,36.75,-107.68, 2 +RSK00015, 9,30E_RSK ,36.75,-107.48, 2 +RSK00016, 9,40E_RSK ,36.75,-107.27, 2 +RSK00017, 9,50E_RSK ,36.75,-107.06, 2 +RSK00024, 9,20SE_RSK ,36.51,-107.81, 2 +RSK00025, 9,30SE_RSK ,36.40,-107.66, 2 +RSK00026, 9,40SE_RSK ,36.28,-107.52, 2 +RSK00027, 9,50SE_RSK ,36.16,-107.37, 2 +RSK00028, 9,60SE_RSK ,36.04,-107.23, 2 +RSK00034, 9,20S_RSK ,36.42,-108.10, 2 +RSK00035, 9,30S_RSK ,36.25,-108.10, 2 +RSK00036, 9,40S_RSK ,36.08,-108.10, 2 +RSK00037, 9,50S_RSK ,35.92,-108.10, 2 +RSK00038, 9,60S_RSK ,35.75,-108.10, 2 +RSK00039, 9,70S_RSK ,35.58,-108.10, 2 +RSK00047, 9,20SW_RSK ,36.51,-108.39, 2 +RSK00048, 9,30SW_RSK ,36.40,-108.54, 2 +RSK00049, 9,40SW_RSK ,36.28,-108.68, 2 +RSK00050, 9,50SW_RSK ,36.16,-108.83, 2 +RSK00051, 9,60SW_RSK ,36.04,-108.97, 2 +RSK00052, 9,70SW_RSK ,35.92,-109.12, 2 +RSK00053, 9,80SW_RSK ,35.80,-109.26, 2 +RSK00061, 9,20W_RSK ,36.75,-108.52, 2 +RSK00062, 9,30W_RSK ,36.75,-108.72, 2 +RSK00063, 9,40W_RSK ,36.75,-108.93, 2 +RSK00064, 9,50W_RSK ,36.75,-109.14, 2 +RSK00067, 9,20NW_RSK ,36.99,-108.39, 2 +RSK00068, 9,30NW_RSK ,37.10,-108.54, 2 BOY00000, 9,BOY ,43.46,-108.30, 1 BOY00001, 9,20N_BOY ,43.79,-108.30, 2 BOY00002, 9,30N_BOY ,43.96,-108.30, 2 @@ -9475,60 +9441,59 @@ MZB00023, 9,60SE_MZB ,32.07,-116.40, 2 MZB00024, 9,70SE_MZB ,31.95,-116.26, 2 MZB00025, 9,80SE_MZB ,31.83,-116.12, 2 MZB00026, 9,90SE_MZB ,31.71,-115.98, 2 -MZB00043, 9,20S_MZB ,32.45,-117.23, 2 -MZB00044, 9,30S_MZB ,32.28,-117.23, 2 -MZB00045, 9,40S_MZB ,32.11,-117.23, 2 -MZB00046, 9,50S_MZB ,31.95,-117.23, 2 -MZB00047, 9,60S_MZB ,31.78,-117.23, 2 -MZB00048, 9,70S_MZB ,31.61,-117.23, 2 -MZB00049, 9,80S_MZB ,31.45,-117.23, 2 -MZB00050, 9,90S_MZB ,31.28,-117.23, 2 -MZB00051, 9,100S_MZB ,31.11,-117.23, 2 -MZB00052, 9,110S_MZB ,30.95,-117.23, 2 -MZB00053, 9,120S_MZB ,30.78,-117.23, 2 -MZB00054, 9,130S_MZB ,30.61,-117.23, 2 -MZB00055, 9,140S_MZB ,30.45,-117.23, 2 -MZB00056, 9,150S_MZB ,30.28,-117.23, 2 -MZB00057, 9,160S_MZB ,30.12,-117.23, 2 -MZB00058, 9,170S_MZB ,29.95,-117.23, 2 -MZB00059, 9,180S_MZB ,29.78,-117.23, 2 -MZB00060, 9,190S_MZB ,29.62,-117.23, 2 -MZB00061, 9,200S_MZB ,29.45,-117.23, 2 -MZB00062, 9,210S_MZB ,29.28,-117.23, 2 -MZB00063, 9,220S_MZB ,29.12,-117.23, 2 -MZB00064, 9,230S_MZB ,28.95,-117.23, 2 -MZB00065, 9,240S_MZB ,28.78,-117.23, 2 -MZB00066, 9,250S_MZB ,28.62,-117.23, 2 -MZB00090, 9,20SW_MZB ,32.54,-117.51, 2 -MZB00091, 9,30SW_MZB ,32.43,-117.65, 2 -MZB00092, 9,40SW_MZB ,32.31,-117.79, 2 -MZB00093, 9,50SW_MZB ,32.19,-117.93, 2 -MZB00094, 9,60SW_MZB ,32.07,-118.06, 2 -MZB00095, 9,70SW_MZB ,31.95,-118.20, 2 -MZB00096, 9,80SW_MZB ,31.83,-118.34, 2 -MZB00097, 9,90SW_MZB ,31.71,-118.48, 2 -MZB00098, 9,100SW_MZB ,31.59,-118.61, 2 -MZB00099, 9,110SW_MZB ,31.48,-118.75, 2 -MZB00100, 9,120SW_MZB ,31.36,-118.88, 2 -MZB00101, 9,130SW_MZB ,31.24,-119.02, 2 -MZB00102, 9,140SW_MZB ,31.12,-119.16, 2 -MZB00103, 9,150SW_MZB ,31.00,-119.29, 2 -MZB00104, 9,160SW_MZB ,30.88,-119.43, 2 -MZB00105, 9,170SW_MZB ,30.76,-119.56, 2 -MZB00106, 9,180SW_MZB ,30.64,-119.69, 2 -MZB00107, 9,190SW_MZB ,30.52,-119.83, 2 -MZB00108, 9,200SW_MZB ,30.39,-119.96, 2 -MZB00109, 9,210SW_MZB ,30.27,-120.09, 2 -MZB00110, 9,240SW_MZB ,29.91,-120.49, 2 -MZB00111, 9,250SW_MZB ,29.79,-120.62, 2 -MZB00124, 9,20W_MZB ,32.78,-117.63, 2 -MZB00125, 9,30W_MZB ,32.78,-117.82, 2 -MZB00126, 9,40W_MZB ,32.78,-118.02, 2 -MZB00127, 9,50W_MZB ,32.78,-118.22, 2 -MZB00128, 9,60W_MZB ,32.77,-118.42, 2 -MZB00132, 9,20NW_MZB ,33.02,-117.51, 2 -MZB00133, 9,30NW_MZB ,33.13,-117.65, 2 -MZB00134, 9,40NW_MZB ,33.25,-117.79, 2 +MZB00042, 9,30S_MZB ,32.28,-117.23, 2 +MZB00043, 9,40S_MZB ,32.11,-117.23, 2 +MZB00044, 9,50S_MZB ,31.95,-117.23, 2 +MZB00045, 9,60S_MZB ,31.78,-117.23, 2 +MZB00046, 9,70S_MZB ,31.61,-117.23, 2 +MZB00047, 9,80S_MZB ,31.45,-117.23, 2 +MZB00048, 9,90S_MZB ,31.28,-117.23, 2 +MZB00049, 9,100S_MZB ,31.11,-117.23, 2 +MZB00050, 9,110S_MZB ,30.95,-117.23, 2 +MZB00051, 9,120S_MZB ,30.78,-117.23, 2 +MZB00052, 9,130S_MZB ,30.61,-117.23, 2 +MZB00053, 9,140S_MZB ,30.45,-117.23, 2 +MZB00054, 9,150S_MZB ,30.28,-117.23, 2 +MZB00055, 9,160S_MZB ,30.12,-117.23, 2 +MZB00056, 9,170S_MZB ,29.95,-117.23, 2 +MZB00057, 9,180S_MZB ,29.78,-117.23, 2 +MZB00058, 9,190S_MZB ,29.62,-117.23, 2 +MZB00059, 9,200S_MZB ,29.45,-117.23, 2 +MZB00060, 9,210S_MZB ,29.28,-117.23, 2 +MZB00061, 9,220S_MZB ,29.12,-117.23, 2 +MZB00062, 9,230S_MZB ,28.95,-117.23, 2 +MZB00063, 9,240S_MZB ,28.78,-117.23, 2 +MZB00064, 9,250S_MZB ,28.62,-117.23, 2 +MZB00087, 9,20SW_MZB ,32.54,-117.51, 2 +MZB00088, 9,30SW_MZB ,32.43,-117.65, 2 +MZB00089, 9,40SW_MZB ,32.31,-117.79, 2 +MZB00090, 9,50SW_MZB ,32.19,-117.93, 2 +MZB00091, 9,60SW_MZB ,32.07,-118.06, 2 +MZB00092, 9,70SW_MZB ,31.95,-118.20, 2 +MZB00093, 9,80SW_MZB ,31.83,-118.34, 2 +MZB00094, 9,90SW_MZB ,31.71,-118.48, 2 +MZB00095, 9,100SW_MZB ,31.59,-118.61, 2 +MZB00096, 9,110SW_MZB ,31.48,-118.75, 2 +MZB00097, 9,120SW_MZB ,31.36,-118.88, 2 +MZB00098, 9,130SW_MZB ,31.24,-119.02, 2 +MZB00099, 9,140SW_MZB ,31.12,-119.16, 2 +MZB00100, 9,150SW_MZB ,31.00,-119.29, 2 +MZB00101, 9,160SW_MZB ,30.88,-119.43, 2 +MZB00102, 9,170SW_MZB ,30.76,-119.56, 2 +MZB00103, 9,180SW_MZB ,30.64,-119.69, 2 +MZB00104, 9,190SW_MZB ,30.52,-119.83, 2 +MZB00105, 9,200SW_MZB ,30.39,-119.96, 2 +MZB00106, 9,210SW_MZB ,30.27,-120.09, 2 +MZB00107, 9,240SW_MZB ,29.91,-120.49, 2 +MZB00108, 9,250SW_MZB ,29.79,-120.62, 2 +MZB00121, 9,20W_MZB ,32.78,-117.63, 2 +MZB00122, 9,30W_MZB ,32.78,-117.82, 2 +MZB00123, 9,40W_MZB ,32.78,-118.02, 2 +MZB00124, 9,50W_MZB ,32.78,-118.22, 2 +MZB00125, 9,60W_MZB ,32.77,-118.42, 2 +MZB00129, 9,20NW_MZB ,33.02,-117.51, 2 +MZB00130, 9,30NW_MZB ,33.13,-117.65, 2 +MZB00131, 9,40NW_MZB ,33.25,-117.79, 2 GEG00000, 9,GEG ,47.56,-117.63, 1 GEG00001, 9,20N_GEG ,47.89,-117.63, 2 GEG00002, 9,30N_GEG ,48.06,-117.63, 2 @@ -10227,7 +10192,7 @@ OAK00021, 9,20SW_OAK ,37.49,-122.52, 2 OAK00022, 9,30SW_OAK ,37.38,-122.66, 2 OAK00023, 9,40SW_OAK ,37.26,-122.81, 2 OAK00024, 9,50SW_OAK ,37.14,-122.96, 2 -OAK00025, 9,60SW_OAK ,37.02,-123.10, 2 +OAK00025, 9,60SW_OAK ,37.02,-123.11, 2 RBL00000, 9,RBL ,40.10,-122.24, 1 RBL00001, 9,20N_RBL ,40.43,-122.24, 2 RBL00002, 9,30N_RBL ,40.60,-122.24, 2 @@ -10294,54 +10259,54 @@ SEA00052, 9,50W_SEA ,47.43,-123.54, 2 SEA00056, 9,20NW_SEA ,47.68,-122.66, 2 SEA00057, 9,30NW_SEA ,47.79,-122.84, 2 SEA00058, 9,40NW_SEA ,47.91,-123.01, 2 -BLI00000, 9,BLI ,48.95,-122.58, 1 -BLI00001, 9,20N_BLI ,49.28,-122.58, 2 -BLI00002, 9,30N_BLI ,49.45,-122.58, 2 -BLI00003, 9,40N_BLI ,49.62,-122.58, 2 -BLI00004, 9,50N_BLI ,49.78,-122.58, 2 -BLI00005, 9,60N_BLI ,49.95,-122.58, 2 -BLI00006, 9,70N_BLI ,50.12,-122.58, 2 -BLI00007, 9,80N_BLI ,50.28,-122.58, 2 -BLI00008, 9,90N_BLI ,50.45,-122.58, 2 -BLI00009, 9,100N_BLI ,50.62,-122.58, 2 -BLI00010, 9,110N_BLI ,50.78,-122.58, 2 -BLI00015, 9,20NE_BLI ,49.18,-122.22, 2 -BLI00016, 9,30NE_BLI ,49.30,-122.04, 2 -BLI00017, 9,40NE_BLI ,49.42,-121.86, 2 -BLI00020, 9,20E_BLI ,48.95,-122.07, 2 -BLI00021, 9,30E_BLI ,48.95,-121.82, 2 -BLI00022, 9,40E_BLI ,48.95,-121.57, 2 -BLI00027, 9,20SE_BLI ,48.71,-122.22, 2 -BLI00028, 9,30SE_BLI ,48.60,-122.05, 2 -BLI00029, 9,40SE_BLI ,48.48,-121.87, 2 -BLI00030, 9,50SE_BLI ,48.36,-121.69, 2 -BLI00031, 9,60SE_BLI ,48.24,-121.52, 2 -BLI00032, 9,70SE_BLI ,48.12,-121.35, 2 -BLI00037, 9,20S_BLI ,48.62,-122.58, 2 -BLI00038, 9,30S_BLI ,48.45,-122.58, 2 -BLI00039, 9,40S_BLI ,48.28,-122.58, 2 -BLI00040, 9,50S_BLI ,48.12,-122.58, 2 -BLI00046, 9,20SW_BLI ,48.71,-122.94, 2 -BLI00047, 9,30SW_BLI ,48.60,-123.11, 2 -BLI00048, 9,40SW_BLI ,48.48,-123.29, 2 -BLI00049, 9,50SW_BLI ,48.36,-123.47, 2 -BLI00054, 9,20W_BLI ,48.95,-123.09, 2 -BLI00055, 9,30W_BLI ,48.95,-123.34, 2 -BLI00056, 9,40W_BLI ,48.95,-123.59, 2 -BLI00057, 9,50W_BLI ,48.94,-123.85, 2 -BLI00064, 9,20NW_BLI ,49.18,-122.94, 2 -BLI00065, 9,30NW_BLI ,49.30,-123.12, 2 -BLI00066, 9,40NW_BLI ,49.42,-123.30, 2 -BLI00067, 9,50NW_BLI ,49.54,-123.49, 2 -BLI00068, 9,60NW_BLI ,49.65,-123.67, 2 -BLI00069, 9,70NW_BLI ,49.77,-123.86, 2 -BLI00070, 9,80NW_BLI ,49.88,-124.04, 2 -BLI00071, 9,90NW_BLI ,50.00,-124.23, 2 -BLI00072, 9,100NW_BLI ,50.11,-124.42, 2 -BLI00073, 9,110NW_BLI ,50.23,-124.61, 2 -BLI00074, 9,120NW_BLI ,50.34,-124.79, 2 -BLI00075, 9,130NW_BLI ,50.46,-124.98, 2 -BLI00076, 9,140NW_BLI ,50.57,-125.18, 2 +HUH00000, 9,HUH ,48.95,-122.58, 1 +HUH00001, 9,20N_HUH ,49.28,-122.58, 2 +HUH00002, 9,30N_HUH ,49.45,-122.58, 2 +HUH00003, 9,40N_HUH ,49.62,-122.58, 2 +HUH00004, 9,50N_HUH ,49.78,-122.58, 2 +HUH00005, 9,60N_HUH ,49.95,-122.58, 2 +HUH00006, 9,70N_HUH ,50.12,-122.58, 2 +HUH00007, 9,80N_HUH ,50.28,-122.58, 2 +HUH00008, 9,90N_HUH ,50.45,-122.58, 2 +HUH00009, 9,100N_HUH ,50.62,-122.58, 2 +HUH00010, 9,110N_HUH ,50.78,-122.58, 2 +HUH00015, 9,20NE_HUH ,49.18,-122.22, 2 +HUH00016, 9,30NE_HUH ,49.30,-122.04, 2 +HUH00017, 9,40NE_HUH ,49.42,-121.86, 2 +HUH00020, 9,20E_HUH ,48.95,-122.07, 2 +HUH00021, 9,30E_HUH ,48.95,-121.82, 2 +HUH00022, 9,40E_HUH ,48.95,-121.57, 2 +HUH00027, 9,20SE_HUH ,48.71,-122.22, 2 +HUH00028, 9,30SE_HUH ,48.60,-122.05, 2 +HUH00029, 9,40SE_HUH ,48.48,-121.87, 2 +HUH00030, 9,50SE_HUH ,48.36,-121.69, 2 +HUH00031, 9,60SE_HUH ,48.24,-121.52, 2 +HUH00032, 9,70SE_HUH ,48.12,-121.35, 2 +HUH00037, 9,20S_HUH ,48.62,-122.58, 2 +HUH00038, 9,30S_HUH ,48.45,-122.58, 2 +HUH00039, 9,40S_HUH ,48.28,-122.58, 2 +HUH00040, 9,50S_HUH ,48.12,-122.58, 2 +HUH00046, 9,20SW_HUH ,48.71,-122.94, 2 +HUH00047, 9,30SW_HUH ,48.60,-123.11, 2 +HUH00048, 9,40SW_HUH ,48.48,-123.29, 2 +HUH00049, 9,50SW_HUH ,48.36,-123.47, 2 +HUH00054, 9,20W_HUH ,48.95,-123.09, 2 +HUH00055, 9,30W_HUH ,48.95,-123.34, 2 +HUH00056, 9,40W_HUH ,48.95,-123.59, 2 +HUH00057, 9,50W_HUH ,48.94,-123.85, 2 +HUH00064, 9,20NW_HUH ,49.18,-122.94, 2 +HUH00065, 9,30NW_HUH ,49.30,-123.12, 2 +HUH00066, 9,40NW_HUH ,49.42,-123.30, 2 +HUH00067, 9,50NW_HUH ,49.54,-123.49, 2 +HUH00068, 9,60NW_HUH ,49.65,-123.67, 2 +HUH00069, 9,70NW_HUH ,49.77,-123.86, 2 +HUH00070, 9,80NW_HUH ,49.88,-124.04, 2 +HUH00071, 9,90NW_HUH ,50.00,-124.23, 2 +HUH00072, 9,100NW_HUH ,50.11,-124.42, 2 +HUH00073, 9,110NW_HUH ,50.23,-124.61, 2 +HUH00074, 9,120NW_HUH ,50.34,-124.79, 2 +HUH00075, 9,130NW_HUH ,50.46,-124.98, 2 +HUH00076, 9,140NW_HUH ,50.57,-125.18, 2 PDX00000, 9,PDX ,45.58,-122.60, 1 PDX00001, 9,20N_PDX ,45.91,-122.60, 2 PDX00002, 9,30N_PDX ,46.08,-122.60, 2 @@ -10901,1180 +10866,43 @@ YQV00204, 9,190NW_YQV ,53.45,-106.23, 2 YQV00205, 9,200NW_YQV ,53.56,-106.44, 2 YQV00206, 9,210NW_YQV ,53.67,-106.65, 2 YQV00207, 9,220NW_YQV ,53.78,-106.86, 2 -ANN00000, 9,ANN ,0.00,0.00, 1 -ANN00001, 9,20N_ANN ,0.33,0.00, 2 -ANN00002, 9,30N_ANN ,0.50,0.00, 2 -ANN00003, 9,40N_ANN ,0.67,0.00, 2 -ANN00004, 9,50N_ANN ,0.83,0.00, 2 -ANN00005, 9,60N_ANN ,1.00,0.00, 2 -ANN00006, 9,70N_ANN ,1.17,0.00, 2 -ANN00007, 9,80N_ANN ,1.33,0.00, 2 -ANN00008, 9,90N_ANN ,1.50,0.00, 2 -ANN00009, 9,100N_ANN ,1.67,0.00, 2 -ANN00010, 9,110N_ANN ,1.83,0.00, 2 -ANN00011, 9,120N_ANN ,2.00,0.00, 2 -ANN00012, 9,130N_ANN ,2.17,0.00, 2 -ANN00013, 9,140N_ANN ,2.33,0.00, 2 -ANN00014, 9,150N_ANN ,2.50,0.00, 2 -ANN00015, 9,160N_ANN ,2.66,0.00, 2 -ANN00016, 9,170N_ANN ,2.83,0.00, 2 -ANN00017, 9,180N_ANN ,3.00,0.00, 2 -ANN00018, 9,190N_ANN ,3.16,0.00, 2 -ANN00019, 9,200N_ANN ,3.33,0.00, 2 -ANN00020, 9,210N_ANN ,3.50,0.00, 2 -ANN00021, 9,220N_ANN ,3.66,0.00, 2 -ANN00022, 9,230N_ANN ,3.83,0.00, 2 -ANN00023, 9,240N_ANN ,4.00,0.00, 2 -ANN00024, 9,250N_ANN ,4.16,0.00, 2 -ANN00048, 9,20NE_ANN ,0.24,0.24, 2 -ANN00049, 9,30NE_ANN ,0.35,0.35, 2 -ANN00050, 9,40NE_ANN ,0.47,0.47, 2 -ANN00051, 9,50NE_ANN ,0.59,0.59, 2 -ANN00052, 9,60NE_ANN ,0.71,0.71, 2 -ANN00053, 9,70NE_ANN ,0.82,0.82, 2 -ANN00054, 9,80NE_ANN ,0.94,0.94, 2 -ANN00055, 9,90NE_ANN ,1.06,1.06, 2 -ANN00056, 9,100NE_ANN ,1.18,1.18, 2 -ANN00057, 9,110NE_ANN ,1.30,1.30, 2 -ANN00058, 9,120NE_ANN ,1.41,1.41, 2 -ANN00059, 9,130NE_ANN ,1.53,1.53, 2 -ANN00060, 9,140NE_ANN ,1.65,1.65, 2 -ANN00061, 9,150NE_ANN ,1.77,1.77, 2 -ANN00062, 9,160NE_ANN ,1.88,1.88, 2 -ANN00063, 9,170NE_ANN ,2.00,2.00, 2 -ANN00064, 9,180NE_ANN ,2.12,2.12, 2 -ANN00065, 9,190NE_ANN ,2.24,2.24, 2 -ANN00066, 9,200NE_ANN ,2.35,2.36, 2 -ANN00067, 9,210NE_ANN ,2.47,2.47, 2 -ANN00068, 9,220NE_ANN ,2.59,2.59, 2 -ANN00069, 9,230NE_ANN ,2.71,2.71, 2 -ANN00070, 9,240NE_ANN ,2.83,2.83, 2 -ANN00071, 9,250NE_ANN ,2.94,2.95, 2 -ANN00072, 9,20NW_ANN ,0.24,-0.24, 2 -ANN00073, 9,30NW_ANN ,0.35,-0.35, 2 -ANN00074, 9,40NW_ANN ,0.47,-0.47, 2 -ANN00075, 9,50NW_ANN ,0.59,-0.59, 2 -ANN00076, 9,60NW_ANN ,0.71,-0.71, 2 -ANN00077, 9,70NW_ANN ,0.82,-0.82, 2 -ANN00078, 9,80NW_ANN ,0.94,-0.94, 2 -ANN00079, 9,90NW_ANN ,1.06,-1.06, 2 -ANN00080, 9,100NW_ANN ,1.18,-1.18, 2 -ANN00081, 9,110NW_ANN ,1.30,-1.30, 2 -ANN00082, 9,120NW_ANN ,1.41,-1.41, 2 -ANN00083, 9,130NW_ANN ,1.53,-1.53, 2 -ANN00084, 9,140NW_ANN ,1.65,-1.65, 2 -ANN00085, 9,150NW_ANN ,1.77,-1.77, 2 -ANN00086, 9,160NW_ANN ,1.88,-1.88, 2 -ANN00087, 9,170NW_ANN ,2.00,-2.00, 2 -ANN00088, 9,180NW_ANN ,2.12,-2.12, 2 -ANN00089, 9,190NW_ANN ,2.24,-2.24, 2 -ANN00090, 9,200NW_ANN ,2.35,-2.36, 2 -ANN00091, 9,210NW_ANN ,2.47,-2.47, 2 -ANN00092, 9,220NW_ANN ,2.59,-2.59, 2 -ANN00093, 9,230NW_ANN ,2.71,-2.71, 2 -ANN00094, 9,240NW_ANN ,2.83,-2.83, 2 -ANN00095, 9,250NW_ANN ,2.94,-2.95, 2 -LVD00000, 9,LVD ,0.00,0.00, 1 -LVD00001, 9,20N_LVD ,0.33,0.00, 2 -LVD00002, 9,30N_LVD ,0.50,0.00, 2 -LVD00003, 9,40N_LVD ,0.67,0.00, 2 -LVD00004, 9,50N_LVD ,0.83,0.00, 2 -LVD00005, 9,60N_LVD ,1.00,0.00, 2 -LVD00006, 9,70N_LVD ,1.17,0.00, 2 -LVD00007, 9,80N_LVD ,1.33,0.00, 2 -LVD00008, 9,90N_LVD ,1.50,0.00, 2 -LVD00009, 9,100N_LVD ,1.67,0.00, 2 -LVD00010, 9,110N_LVD ,1.83,0.00, 2 -LVD00011, 9,120N_LVD ,2.00,0.00, 2 -LVD00012, 9,130N_LVD ,2.17,0.00, 2 -LVD00013, 9,140N_LVD ,2.33,0.00, 2 -LVD00014, 9,150N_LVD ,2.50,0.00, 2 -LVD00015, 9,160N_LVD ,2.66,0.00, 2 -LVD00016, 9,170N_LVD ,2.83,0.00, 2 -LVD00017, 9,180N_LVD ,3.00,0.00, 2 -LVD00018, 9,190N_LVD ,3.16,0.00, 2 -LVD00019, 9,200N_LVD ,3.33,0.00, 2 -LVD00020, 9,210N_LVD ,3.50,0.00, 2 -LVD00021, 9,220N_LVD ,3.66,0.00, 2 -LVD00022, 9,230N_LVD ,3.83,0.00, 2 -LVD00023, 9,240N_LVD ,4.00,0.00, 2 -LVD00024, 9,250N_LVD ,4.16,0.00, 2 -LVD00048, 9,20NE_LVD ,0.24,0.24, 2 -LVD00049, 9,30NE_LVD ,0.35,0.35, 2 -LVD00050, 9,40NE_LVD ,0.47,0.47, 2 -LVD00051, 9,50NE_LVD ,0.59,0.59, 2 -LVD00052, 9,60NE_LVD ,0.71,0.71, 2 -LVD00053, 9,70NE_LVD ,0.82,0.82, 2 -LVD00054, 9,80NE_LVD ,0.94,0.94, 2 -LVD00055, 9,90NE_LVD ,1.06,1.06, 2 -LVD00056, 9,100NE_LVD ,1.18,1.18, 2 -LVD00057, 9,110NE_LVD ,1.30,1.30, 2 -LVD00058, 9,120NE_LVD ,1.41,1.41, 2 -LVD00059, 9,130NE_LVD ,1.53,1.53, 2 -LVD00060, 9,140NE_LVD ,1.65,1.65, 2 -LVD00061, 9,150NE_LVD ,1.77,1.77, 2 -LVD00062, 9,160NE_LVD ,1.88,1.88, 2 -LVD00063, 9,170NE_LVD ,2.00,2.00, 2 -LVD00064, 9,180NE_LVD ,2.12,2.12, 2 -LVD00065, 9,190NE_LVD ,2.24,2.24, 2 -LVD00066, 9,200NE_LVD ,2.35,2.36, 2 -LVD00067, 9,210NE_LVD ,2.47,2.47, 2 -LVD00068, 9,220NE_LVD ,2.59,2.59, 2 -LVD00069, 9,230NE_LVD ,2.71,2.71, 2 -LVD00070, 9,240NE_LVD ,2.83,2.83, 2 -LVD00071, 9,250NE_LVD ,2.94,2.95, 2 -LVD00072, 9,20NW_LVD ,0.24,-0.24, 2 -LVD00073, 9,30NW_LVD ,0.35,-0.35, 2 -LVD00074, 9,40NW_LVD ,0.47,-0.47, 2 -LVD00075, 9,50NW_LVD ,0.59,-0.59, 2 -LVD00076, 9,60NW_LVD ,0.71,-0.71, 2 -LVD00077, 9,70NW_LVD ,0.82,-0.82, 2 -LVD00078, 9,80NW_LVD ,0.94,-0.94, 2 -LVD00079, 9,90NW_LVD ,1.06,-1.06, 2 -LVD00080, 9,100NW_LVD ,1.18,-1.18, 2 -LVD00081, 9,110NW_LVD ,1.30,-1.30, 2 -LVD00082, 9,120NW_LVD ,1.41,-1.41, 2 -LVD00083, 9,130NW_LVD ,1.53,-1.53, 2 -LVD00084, 9,140NW_LVD ,1.65,-1.65, 2 -LVD00085, 9,150NW_LVD ,1.77,-1.77, 2 -LVD00086, 9,160NW_LVD ,1.88,-1.88, 2 -LVD00087, 9,170NW_LVD ,2.00,-2.00, 2 -LVD00088, 9,180NW_LVD ,2.12,-2.12, 2 -LVD00089, 9,190NW_LVD ,2.24,-2.24, 2 -LVD00090, 9,200NW_LVD ,2.35,-2.36, 2 -LVD00091, 9,210NW_LVD ,2.47,-2.47, 2 -LVD00092, 9,220NW_LVD ,2.59,-2.59, 2 -LVD00093, 9,230NW_LVD ,2.71,-2.71, 2 -LVD00094, 9,240NW_LVD ,2.83,-2.83, 2 -LVD00095, 9,250NW_LVD ,2.94,-2.95, 2 -BKA00000, 9,BKA ,0.00,0.00, 1 -BKA00001, 9,20N_BKA ,0.33,0.00, 2 -BKA00002, 9,30N_BKA ,0.50,0.00, 2 -BKA00003, 9,40N_BKA ,0.67,0.00, 2 -BKA00004, 9,50N_BKA ,0.83,0.00, 2 -BKA00005, 9,60N_BKA ,1.00,0.00, 2 -BKA00006, 9,70N_BKA ,1.17,0.00, 2 -BKA00007, 9,80N_BKA ,1.33,0.00, 2 -BKA00008, 9,90N_BKA ,1.50,0.00, 2 -BKA00009, 9,100N_BKA ,1.67,0.00, 2 -BKA00010, 9,110N_BKA ,1.83,0.00, 2 -BKA00011, 9,120N_BKA ,2.00,0.00, 2 -BKA00012, 9,130N_BKA ,2.17,0.00, 2 -BKA00013, 9,140N_BKA ,2.33,0.00, 2 -BKA00014, 9,150N_BKA ,2.50,0.00, 2 -BKA00015, 9,160N_BKA ,2.66,0.00, 2 -BKA00016, 9,170N_BKA ,2.83,0.00, 2 -BKA00017, 9,180N_BKA ,3.00,0.00, 2 -BKA00018, 9,190N_BKA ,3.16,0.00, 2 -BKA00019, 9,200N_BKA ,3.33,0.00, 2 -BKA00020, 9,210N_BKA ,3.50,0.00, 2 -BKA00021, 9,220N_BKA ,3.66,0.00, 2 -BKA00022, 9,230N_BKA ,3.83,0.00, 2 -BKA00023, 9,240N_BKA ,4.00,0.00, 2 -BKA00024, 9,250N_BKA ,4.16,0.00, 2 -BKA00048, 9,20NE_BKA ,0.24,0.24, 2 -BKA00049, 9,30NE_BKA ,0.35,0.35, 2 -BKA00050, 9,40NE_BKA ,0.47,0.47, 2 -BKA00051, 9,50NE_BKA ,0.59,0.59, 2 -BKA00052, 9,60NE_BKA ,0.71,0.71, 2 -BKA00053, 9,70NE_BKA ,0.82,0.82, 2 -BKA00054, 9,80NE_BKA ,0.94,0.94, 2 -BKA00055, 9,90NE_BKA ,1.06,1.06, 2 -BKA00056, 9,100NE_BKA ,1.18,1.18, 2 -BKA00057, 9,110NE_BKA ,1.30,1.30, 2 -BKA00058, 9,120NE_BKA ,1.41,1.41, 2 -BKA00059, 9,130NE_BKA ,1.53,1.53, 2 -BKA00060, 9,140NE_BKA ,1.65,1.65, 2 -BKA00061, 9,150NE_BKA ,1.77,1.77, 2 -BKA00062, 9,160NE_BKA ,1.88,1.88, 2 -BKA00063, 9,170NE_BKA ,2.00,2.00, 2 -BKA00064, 9,180NE_BKA ,2.12,2.12, 2 -BKA00065, 9,190NE_BKA ,2.24,2.24, 2 -BKA00066, 9,200NE_BKA ,2.35,2.36, 2 -BKA00067, 9,210NE_BKA ,2.47,2.47, 2 -BKA00068, 9,220NE_BKA ,2.59,2.59, 2 -BKA00069, 9,230NE_BKA ,2.71,2.71, 2 -BKA00070, 9,240NE_BKA ,2.83,2.83, 2 -BKA00071, 9,250NE_BKA ,2.94,2.95, 2 -BKA00072, 9,20NW_BKA ,0.24,-0.24, 2 -BKA00073, 9,30NW_BKA ,0.35,-0.35, 2 -BKA00074, 9,40NW_BKA ,0.47,-0.47, 2 -BKA00075, 9,50NW_BKA ,0.59,-0.59, 2 -BKA00076, 9,60NW_BKA ,0.71,-0.71, 2 -BKA00077, 9,70NW_BKA ,0.82,-0.82, 2 -BKA00078, 9,80NW_BKA ,0.94,-0.94, 2 -BKA00079, 9,90NW_BKA ,1.06,-1.06, 2 -BKA00080, 9,100NW_BKA ,1.18,-1.18, 2 -BKA00081, 9,110NW_BKA ,1.30,-1.30, 2 -BKA00082, 9,120NW_BKA ,1.41,-1.41, 2 -BKA00083, 9,130NW_BKA ,1.53,-1.53, 2 -BKA00084, 9,140NW_BKA ,1.65,-1.65, 2 -BKA00085, 9,150NW_BKA ,1.77,-1.77, 2 -BKA00086, 9,160NW_BKA ,1.88,-1.88, 2 -BKA00087, 9,170NW_BKA ,2.00,-2.00, 2 -BKA00088, 9,180NW_BKA ,2.12,-2.12, 2 -BKA00089, 9,190NW_BKA ,2.24,-2.24, 2 -BKA00090, 9,200NW_BKA ,2.35,-2.36, 2 -BKA00091, 9,210NW_BKA ,2.47,-2.47, 2 -BKA00092, 9,220NW_BKA ,2.59,-2.59, 2 -BKA00093, 9,230NW_BKA ,2.71,-2.71, 2 -BKA00094, 9,240NW_BKA ,2.83,-2.83, 2 -BKA00095, 9,250NW_BKA ,2.94,-2.95, 2 -SSR00000, 9,SSR ,0.00,0.00, 1 -SSR00001, 9,20N_SSR ,0.33,0.00, 2 -SSR00002, 9,30N_SSR ,0.50,0.00, 2 -SSR00003, 9,40N_SSR ,0.67,0.00, 2 -SSR00004, 9,50N_SSR ,0.83,0.00, 2 -SSR00005, 9,60N_SSR ,1.00,0.00, 2 -SSR00006, 9,70N_SSR ,1.17,0.00, 2 -SSR00007, 9,80N_SSR ,1.33,0.00, 2 -SSR00008, 9,90N_SSR ,1.50,0.00, 2 -SSR00009, 9,100N_SSR ,1.67,0.00, 2 -SSR00010, 9,110N_SSR ,1.83,0.00, 2 -SSR00011, 9,120N_SSR ,2.00,0.00, 2 -SSR00012, 9,130N_SSR ,2.17,0.00, 2 -SSR00013, 9,140N_SSR ,2.33,0.00, 2 -SSR00014, 9,150N_SSR ,2.50,0.00, 2 -SSR00015, 9,160N_SSR ,2.66,0.00, 2 -SSR00016, 9,170N_SSR ,2.83,0.00, 2 -SSR00017, 9,180N_SSR ,3.00,0.00, 2 -SSR00018, 9,190N_SSR ,3.16,0.00, 2 -SSR00019, 9,200N_SSR ,3.33,0.00, 2 -SSR00020, 9,210N_SSR ,3.50,0.00, 2 -SSR00021, 9,220N_SSR ,3.66,0.00, 2 -SSR00022, 9,230N_SSR ,3.83,0.00, 2 -SSR00023, 9,240N_SSR ,4.00,0.00, 2 -SSR00024, 9,250N_SSR ,4.16,0.00, 2 -SSR00048, 9,20NE_SSR ,0.24,0.24, 2 -SSR00049, 9,30NE_SSR ,0.35,0.35, 2 -SSR00050, 9,40NE_SSR ,0.47,0.47, 2 -SSR00051, 9,50NE_SSR ,0.59,0.59, 2 -SSR00052, 9,60NE_SSR ,0.71,0.71, 2 -SSR00053, 9,70NE_SSR ,0.82,0.82, 2 -SSR00054, 9,80NE_SSR ,0.94,0.94, 2 -SSR00055, 9,90NE_SSR ,1.06,1.06, 2 -SSR00056, 9,100NE_SSR ,1.18,1.18, 2 -SSR00057, 9,110NE_SSR ,1.30,1.30, 2 -SSR00058, 9,120NE_SSR ,1.41,1.41, 2 -SSR00059, 9,130NE_SSR ,1.53,1.53, 2 -SSR00060, 9,140NE_SSR ,1.65,1.65, 2 -SSR00061, 9,150NE_SSR ,1.77,1.77, 2 -SSR00062, 9,160NE_SSR ,1.88,1.88, 2 -SSR00063, 9,170NE_SSR ,2.00,2.00, 2 -SSR00064, 9,180NE_SSR ,2.12,2.12, 2 -SSR00065, 9,190NE_SSR ,2.24,2.24, 2 -SSR00066, 9,200NE_SSR ,2.35,2.36, 2 -SSR00067, 9,210NE_SSR ,2.47,2.47, 2 -SSR00068, 9,220NE_SSR ,2.59,2.59, 2 -SSR00069, 9,230NE_SSR ,2.71,2.71, 2 -SSR00070, 9,240NE_SSR ,2.83,2.83, 2 -SSR00071, 9,250NE_SSR ,2.94,2.95, 2 -SSR00072, 9,20NW_SSR ,0.24,-0.24, 2 -SSR00073, 9,30NW_SSR ,0.35,-0.35, 2 -SSR00074, 9,40NW_SSR ,0.47,-0.47, 2 -SSR00075, 9,50NW_SSR ,0.59,-0.59, 2 -SSR00076, 9,60NW_SSR ,0.71,-0.71, 2 -SSR00077, 9,70NW_SSR ,0.82,-0.82, 2 -SSR00078, 9,80NW_SSR ,0.94,-0.94, 2 -SSR00079, 9,90NW_SSR ,1.06,-1.06, 2 -SSR00080, 9,100NW_SSR ,1.18,-1.18, 2 -SSR00081, 9,110NW_SSR ,1.30,-1.30, 2 -SSR00082, 9,120NW_SSR ,1.41,-1.41, 2 -SSR00083, 9,130NW_SSR ,1.53,-1.53, 2 -SSR00084, 9,140NW_SSR ,1.65,-1.65, 2 -SSR00085, 9,150NW_SSR ,1.77,-1.77, 2 -SSR00086, 9,160NW_SSR ,1.88,-1.88, 2 -SSR00087, 9,170NW_SSR ,2.00,-2.00, 2 -SSR00088, 9,180NW_SSR ,2.12,-2.12, 2 -SSR00089, 9,190NW_SSR ,2.24,-2.24, 2 -SSR00090, 9,200NW_SSR ,2.35,-2.36, 2 -SSR00091, 9,210NW_SSR ,2.47,-2.47, 2 -SSR00092, 9,220NW_SSR ,2.59,-2.59, 2 -SSR00093, 9,230NW_SSR ,2.71,-2.71, 2 -SSR00094, 9,240NW_SSR ,2.83,-2.83, 2 -SSR00095, 9,250NW_SSR ,2.94,-2.95, 2 -JNU00000, 9,JNU ,0.00,0.00, 1 -JNU00001, 9,20N_JNU ,0.33,0.00, 2 -JNU00002, 9,30N_JNU ,0.50,0.00, 2 -JNU00003, 9,40N_JNU ,0.67,0.00, 2 -JNU00004, 9,50N_JNU ,0.83,0.00, 2 -JNU00005, 9,60N_JNU ,1.00,0.00, 2 -JNU00006, 9,70N_JNU ,1.17,0.00, 2 -JNU00007, 9,80N_JNU ,1.33,0.00, 2 -JNU00008, 9,90N_JNU ,1.50,0.00, 2 -JNU00009, 9,100N_JNU ,1.67,0.00, 2 -JNU00010, 9,110N_JNU ,1.83,0.00, 2 -JNU00011, 9,120N_JNU ,2.00,0.00, 2 -JNU00012, 9,130N_JNU ,2.17,0.00, 2 -JNU00013, 9,140N_JNU ,2.33,0.00, 2 -JNU00014, 9,150N_JNU ,2.50,0.00, 2 -JNU00015, 9,160N_JNU ,2.66,0.00, 2 -JNU00016, 9,170N_JNU ,2.83,0.00, 2 -JNU00017, 9,180N_JNU ,3.00,0.00, 2 -JNU00018, 9,190N_JNU ,3.16,0.00, 2 -JNU00019, 9,200N_JNU ,3.33,0.00, 2 -JNU00020, 9,210N_JNU ,3.50,0.00, 2 -JNU00021, 9,220N_JNU ,3.66,0.00, 2 -JNU00022, 9,230N_JNU ,3.83,0.00, 2 -JNU00023, 9,240N_JNU ,4.00,0.00, 2 -JNU00024, 9,250N_JNU ,4.16,0.00, 2 -JNU00048, 9,20NE_JNU ,0.24,0.24, 2 -JNU00049, 9,30NE_JNU ,0.35,0.35, 2 -JNU00050, 9,40NE_JNU ,0.47,0.47, 2 -JNU00051, 9,50NE_JNU ,0.59,0.59, 2 -JNU00052, 9,60NE_JNU ,0.71,0.71, 2 -JNU00053, 9,70NE_JNU ,0.82,0.82, 2 -JNU00054, 9,80NE_JNU ,0.94,0.94, 2 -JNU00055, 9,90NE_JNU ,1.06,1.06, 2 -JNU00056, 9,100NE_JNU ,1.18,1.18, 2 -JNU00057, 9,110NE_JNU ,1.30,1.30, 2 -JNU00058, 9,120NE_JNU ,1.41,1.41, 2 -JNU00059, 9,130NE_JNU ,1.53,1.53, 2 -JNU00060, 9,140NE_JNU ,1.65,1.65, 2 -JNU00061, 9,150NE_JNU ,1.77,1.77, 2 -JNU00062, 9,160NE_JNU ,1.88,1.88, 2 -JNU00063, 9,170NE_JNU ,2.00,2.00, 2 -JNU00064, 9,180NE_JNU ,2.12,2.12, 2 -JNU00065, 9,190NE_JNU ,2.24,2.24, 2 -JNU00066, 9,200NE_JNU ,2.35,2.36, 2 -JNU00067, 9,210NE_JNU ,2.47,2.47, 2 -JNU00068, 9,220NE_JNU ,2.59,2.59, 2 -JNU00069, 9,230NE_JNU ,2.71,2.71, 2 -JNU00070, 9,240NE_JNU ,2.83,2.83, 2 -JNU00071, 9,250NE_JNU ,2.94,2.95, 2 -JNU00072, 9,20NW_JNU ,0.24,-0.24, 2 -JNU00073, 9,30NW_JNU ,0.35,-0.35, 2 -JNU00074, 9,40NW_JNU ,0.47,-0.47, 2 -JNU00075, 9,50NW_JNU ,0.59,-0.59, 2 -JNU00076, 9,60NW_JNU ,0.71,-0.71, 2 -JNU00077, 9,70NW_JNU ,0.82,-0.82, 2 -JNU00078, 9,80NW_JNU ,0.94,-0.94, 2 -JNU00079, 9,90NW_JNU ,1.06,-1.06, 2 -JNU00080, 9,100NW_JNU ,1.18,-1.18, 2 -JNU00081, 9,110NW_JNU ,1.30,-1.30, 2 -JNU00082, 9,120NW_JNU ,1.41,-1.41, 2 -JNU00083, 9,130NW_JNU ,1.53,-1.53, 2 -JNU00084, 9,140NW_JNU ,1.65,-1.65, 2 -JNU00085, 9,150NW_JNU ,1.77,-1.77, 2 -JNU00086, 9,160NW_JNU ,1.88,-1.88, 2 -JNU00087, 9,170NW_JNU ,2.00,-2.00, 2 -JNU00088, 9,180NW_JNU ,2.12,-2.12, 2 -JNU00089, 9,190NW_JNU ,2.24,-2.24, 2 -JNU00090, 9,200NW_JNU ,2.35,-2.36, 2 -JNU00091, 9,210NW_JNU ,2.47,-2.47, 2 -JNU00092, 9,220NW_JNU ,2.59,-2.59, 2 -JNU00093, 9,230NW_JNU ,2.71,-2.71, 2 -JNU00094, 9,240NW_JNU ,2.83,-2.83, 2 -JNU00095, 9,250NW_JNU ,2.94,-2.95, 2 -YAK00000, 9,YAK ,0.00,0.00, 1 -YAK00001, 9,20N_YAK ,0.33,0.00, 2 -YAK00002, 9,30N_YAK ,0.50,0.00, 2 -YAK00003, 9,40N_YAK ,0.67,0.00, 2 -YAK00004, 9,50N_YAK ,0.83,0.00, 2 -YAK00005, 9,60N_YAK ,1.00,0.00, 2 -YAK00006, 9,70N_YAK ,1.17,0.00, 2 -YAK00007, 9,80N_YAK ,1.33,0.00, 2 -YAK00008, 9,90N_YAK ,1.50,0.00, 2 -YAK00009, 9,100N_YAK ,1.67,0.00, 2 -YAK00010, 9,110N_YAK ,1.83,0.00, 2 -YAK00011, 9,120N_YAK ,2.00,0.00, 2 -YAK00012, 9,130N_YAK ,2.17,0.00, 2 -YAK00013, 9,140N_YAK ,2.33,0.00, 2 -YAK00014, 9,150N_YAK ,2.50,0.00, 2 -YAK00015, 9,160N_YAK ,2.66,0.00, 2 -YAK00016, 9,170N_YAK ,2.83,0.00, 2 -YAK00017, 9,180N_YAK ,3.00,0.00, 2 -YAK00018, 9,190N_YAK ,3.16,0.00, 2 -YAK00019, 9,200N_YAK ,3.33,0.00, 2 -YAK00020, 9,210N_YAK ,3.50,0.00, 2 -YAK00021, 9,220N_YAK ,3.66,0.00, 2 -YAK00022, 9,230N_YAK ,3.83,0.00, 2 -YAK00023, 9,240N_YAK ,4.00,0.00, 2 -YAK00024, 9,250N_YAK ,4.16,0.00, 2 -YAK00048, 9,20NE_YAK ,0.24,0.24, 2 -YAK00049, 9,30NE_YAK ,0.35,0.35, 2 -YAK00050, 9,40NE_YAK ,0.47,0.47, 2 -YAK00051, 9,50NE_YAK ,0.59,0.59, 2 -YAK00052, 9,60NE_YAK ,0.71,0.71, 2 -YAK00053, 9,70NE_YAK ,0.82,0.82, 2 -YAK00054, 9,80NE_YAK ,0.94,0.94, 2 -YAK00055, 9,90NE_YAK ,1.06,1.06, 2 -YAK00056, 9,100NE_YAK ,1.18,1.18, 2 -YAK00057, 9,110NE_YAK ,1.30,1.30, 2 -YAK00058, 9,120NE_YAK ,1.41,1.41, 2 -YAK00059, 9,130NE_YAK ,1.53,1.53, 2 -YAK00060, 9,140NE_YAK ,1.65,1.65, 2 -YAK00061, 9,150NE_YAK ,1.77,1.77, 2 -YAK00062, 9,160NE_YAK ,1.88,1.88, 2 -YAK00063, 9,170NE_YAK ,2.00,2.00, 2 -YAK00064, 9,180NE_YAK ,2.12,2.12, 2 -YAK00065, 9,190NE_YAK ,2.24,2.24, 2 -YAK00066, 9,200NE_YAK ,2.35,2.36, 2 -YAK00067, 9,210NE_YAK ,2.47,2.47, 2 -YAK00068, 9,220NE_YAK ,2.59,2.59, 2 -YAK00069, 9,230NE_YAK ,2.71,2.71, 2 -YAK00070, 9,240NE_YAK ,2.83,2.83, 2 -YAK00071, 9,250NE_YAK ,2.94,2.95, 2 -YAK00072, 9,20NW_YAK ,0.24,-0.24, 2 -YAK00073, 9,30NW_YAK ,0.35,-0.35, 2 -YAK00074, 9,40NW_YAK ,0.47,-0.47, 2 -YAK00075, 9,50NW_YAK ,0.59,-0.59, 2 -YAK00076, 9,60NW_YAK ,0.71,-0.71, 2 -YAK00077, 9,70NW_YAK ,0.82,-0.82, 2 -YAK00078, 9,80NW_YAK ,0.94,-0.94, 2 -YAK00079, 9,90NW_YAK ,1.06,-1.06, 2 -YAK00080, 9,100NW_YAK ,1.18,-1.18, 2 -YAK00081, 9,110NW_YAK ,1.30,-1.30, 2 -YAK00082, 9,120NW_YAK ,1.41,-1.41, 2 -YAK00083, 9,130NW_YAK ,1.53,-1.53, 2 -YAK00084, 9,140NW_YAK ,1.65,-1.65, 2 -YAK00085, 9,150NW_YAK ,1.77,-1.77, 2 -YAK00086, 9,160NW_YAK ,1.88,-1.88, 2 -YAK00087, 9,170NW_YAK ,2.00,-2.00, 2 -YAK00088, 9,180NW_YAK ,2.12,-2.12, 2 -YAK00089, 9,190NW_YAK ,2.24,-2.24, 2 -YAK00090, 9,200NW_YAK ,2.35,-2.36, 2 -YAK00091, 9,210NW_YAK ,2.47,-2.47, 2 -YAK00092, 9,220NW_YAK ,2.59,-2.59, 2 -YAK00093, 9,230NW_YAK ,2.71,-2.71, 2 -YAK00094, 9,240NW_YAK ,2.83,-2.83, 2 -YAK00095, 9,250NW_YAK ,2.94,-2.95, 2 -MDO00000, 9,MDO ,0.00,0.00, 1 -MDO00001, 9,20N_MDO ,0.33,0.00, 2 -MDO00002, 9,30N_MDO ,0.50,0.00, 2 -MDO00003, 9,40N_MDO ,0.67,0.00, 2 -MDO00004, 9,50N_MDO ,0.83,0.00, 2 -MDO00005, 9,60N_MDO ,1.00,0.00, 2 -MDO00006, 9,70N_MDO ,1.17,0.00, 2 -MDO00007, 9,80N_MDO ,1.33,0.00, 2 -MDO00008, 9,90N_MDO ,1.50,0.00, 2 -MDO00009, 9,100N_MDO ,1.67,0.00, 2 -MDO00010, 9,110N_MDO ,1.83,0.00, 2 -MDO00011, 9,120N_MDO ,2.00,0.00, 2 -MDO00012, 9,130N_MDO ,2.17,0.00, 2 -MDO00013, 9,140N_MDO ,2.33,0.00, 2 -MDO00014, 9,150N_MDO ,2.50,0.00, 2 -MDO00015, 9,160N_MDO ,2.66,0.00, 2 -MDO00016, 9,170N_MDO ,2.83,0.00, 2 -MDO00017, 9,180N_MDO ,3.00,0.00, 2 -MDO00018, 9,190N_MDO ,3.16,0.00, 2 -MDO00019, 9,200N_MDO ,3.33,0.00, 2 -MDO00020, 9,210N_MDO ,3.50,0.00, 2 -MDO00021, 9,220N_MDO ,3.66,0.00, 2 -MDO00022, 9,230N_MDO ,3.83,0.00, 2 -MDO00023, 9,240N_MDO ,4.00,0.00, 2 -MDO00024, 9,250N_MDO ,4.16,0.00, 2 -MDO00048, 9,20NE_MDO ,0.24,0.24, 2 -MDO00049, 9,30NE_MDO ,0.35,0.35, 2 -MDO00050, 9,40NE_MDO ,0.47,0.47, 2 -MDO00051, 9,50NE_MDO ,0.59,0.59, 2 -MDO00052, 9,60NE_MDO ,0.71,0.71, 2 -MDO00053, 9,70NE_MDO ,0.82,0.82, 2 -MDO00054, 9,80NE_MDO ,0.94,0.94, 2 -MDO00055, 9,90NE_MDO ,1.06,1.06, 2 -MDO00056, 9,100NE_MDO ,1.18,1.18, 2 -MDO00057, 9,110NE_MDO ,1.30,1.30, 2 -MDO00058, 9,120NE_MDO ,1.41,1.41, 2 -MDO00059, 9,130NE_MDO ,1.53,1.53, 2 -MDO00060, 9,140NE_MDO ,1.65,1.65, 2 -MDO00061, 9,150NE_MDO ,1.77,1.77, 2 -MDO00062, 9,160NE_MDO ,1.88,1.88, 2 -MDO00063, 9,170NE_MDO ,2.00,2.00, 2 -MDO00064, 9,180NE_MDO ,2.12,2.12, 2 -MDO00065, 9,190NE_MDO ,2.24,2.24, 2 -MDO00066, 9,200NE_MDO ,2.35,2.36, 2 -MDO00067, 9,210NE_MDO ,2.47,2.47, 2 -MDO00068, 9,220NE_MDO ,2.59,2.59, 2 -MDO00069, 9,230NE_MDO ,2.71,2.71, 2 -MDO00070, 9,240NE_MDO ,2.83,2.83, 2 -MDO00071, 9,250NE_MDO ,2.94,2.95, 2 -MDO00072, 9,20NW_MDO ,0.24,-0.24, 2 -MDO00073, 9,30NW_MDO ,0.35,-0.35, 2 -MDO00074, 9,40NW_MDO ,0.47,-0.47, 2 -MDO00075, 9,50NW_MDO ,0.59,-0.59, 2 -MDO00076, 9,60NW_MDO ,0.71,-0.71, 2 -MDO00077, 9,70NW_MDO ,0.82,-0.82, 2 -MDO00078, 9,80NW_MDO ,0.94,-0.94, 2 -MDO00079, 9,90NW_MDO ,1.06,-1.06, 2 -MDO00080, 9,100NW_MDO ,1.18,-1.18, 2 -MDO00081, 9,110NW_MDO ,1.30,-1.30, 2 -MDO00082, 9,120NW_MDO ,1.41,-1.41, 2 -MDO00083, 9,130NW_MDO ,1.53,-1.53, 2 -MDO00084, 9,140NW_MDO ,1.65,-1.65, 2 -MDO00085, 9,150NW_MDO ,1.77,-1.77, 2 -MDO00086, 9,160NW_MDO ,1.88,-1.88, 2 -MDO00087, 9,170NW_MDO ,2.00,-2.00, 2 -MDO00088, 9,180NW_MDO ,2.12,-2.12, 2 -MDO00089, 9,190NW_MDO ,2.24,-2.24, 2 -MDO00090, 9,200NW_MDO ,2.35,-2.36, 2 -MDO00091, 9,210NW_MDO ,2.47,-2.47, 2 -MDO00092, 9,220NW_MDO ,2.59,-2.59, 2 -MDO00093, 9,230NW_MDO ,2.71,-2.71, 2 -MDO00094, 9,240NW_MDO ,2.83,-2.83, 2 -MDO00095, 9,250NW_MDO ,2.94,-2.95, 2 -JOH00000, 9,JOH ,0.00,0.00, 1 -JOH00001, 9,20N_JOH ,0.33,0.00, 2 -JOH00002, 9,30N_JOH ,0.50,0.00, 2 -JOH00003, 9,40N_JOH ,0.67,0.00, 2 -JOH00004, 9,50N_JOH ,0.83,0.00, 2 -JOH00005, 9,60N_JOH ,1.00,0.00, 2 -JOH00006, 9,70N_JOH ,1.17,0.00, 2 -JOH00007, 9,80N_JOH ,1.33,0.00, 2 -JOH00008, 9,90N_JOH ,1.50,0.00, 2 -JOH00009, 9,100N_JOH ,1.67,0.00, 2 -JOH00010, 9,110N_JOH ,1.83,0.00, 2 -JOH00011, 9,120N_JOH ,2.00,0.00, 2 -JOH00012, 9,130N_JOH ,2.17,0.00, 2 -JOH00013, 9,140N_JOH ,2.33,0.00, 2 -JOH00014, 9,150N_JOH ,2.50,0.00, 2 -JOH00015, 9,160N_JOH ,2.66,0.00, 2 -JOH00016, 9,170N_JOH ,2.83,0.00, 2 -JOH00017, 9,180N_JOH ,3.00,0.00, 2 -JOH00018, 9,190N_JOH ,3.16,0.00, 2 -JOH00019, 9,200N_JOH ,3.33,0.00, 2 -JOH00020, 9,210N_JOH ,3.50,0.00, 2 -JOH00021, 9,220N_JOH ,3.66,0.00, 2 -JOH00022, 9,230N_JOH ,3.83,0.00, 2 -JOH00023, 9,240N_JOH ,4.00,0.00, 2 -JOH00024, 9,250N_JOH ,4.16,0.00, 2 -JOH00048, 9,20NE_JOH ,0.24,0.24, 2 -JOH00049, 9,30NE_JOH ,0.35,0.35, 2 -JOH00050, 9,40NE_JOH ,0.47,0.47, 2 -JOH00051, 9,50NE_JOH ,0.59,0.59, 2 -JOH00052, 9,60NE_JOH ,0.71,0.71, 2 -JOH00053, 9,70NE_JOH ,0.82,0.82, 2 -JOH00054, 9,80NE_JOH ,0.94,0.94, 2 -JOH00055, 9,90NE_JOH ,1.06,1.06, 2 -JOH00056, 9,100NE_JOH ,1.18,1.18, 2 -JOH00057, 9,110NE_JOH ,1.30,1.30, 2 -JOH00058, 9,120NE_JOH ,1.41,1.41, 2 -JOH00059, 9,130NE_JOH ,1.53,1.53, 2 -JOH00060, 9,140NE_JOH ,1.65,1.65, 2 -JOH00061, 9,150NE_JOH ,1.77,1.77, 2 -JOH00062, 9,160NE_JOH ,1.88,1.88, 2 -JOH00063, 9,170NE_JOH ,2.00,2.00, 2 -JOH00064, 9,180NE_JOH ,2.12,2.12, 2 -JOH00065, 9,190NE_JOH ,2.24,2.24, 2 -JOH00066, 9,200NE_JOH ,2.35,2.36, 2 -JOH00067, 9,210NE_JOH ,2.47,2.47, 2 -JOH00068, 9,220NE_JOH ,2.59,2.59, 2 -JOH00069, 9,230NE_JOH ,2.71,2.71, 2 -JOH00070, 9,240NE_JOH ,2.83,2.83, 2 -JOH00071, 9,250NE_JOH ,2.94,2.95, 2 -JOH00072, 9,20NW_JOH ,0.24,-0.24, 2 -JOH00073, 9,30NW_JOH ,0.35,-0.35, 2 -JOH00074, 9,40NW_JOH ,0.47,-0.47, 2 -JOH00075, 9,50NW_JOH ,0.59,-0.59, 2 -JOH00076, 9,60NW_JOH ,0.71,-0.71, 2 -JOH00077, 9,70NW_JOH ,0.82,-0.82, 2 -JOH00078, 9,80NW_JOH ,0.94,-0.94, 2 -JOH00079, 9,90NW_JOH ,1.06,-1.06, 2 -JOH00080, 9,100NW_JOH ,1.18,-1.18, 2 -JOH00081, 9,110NW_JOH ,1.30,-1.30, 2 -JOH00082, 9,120NW_JOH ,1.41,-1.41, 2 -JOH00083, 9,130NW_JOH ,1.53,-1.53, 2 -JOH00084, 9,140NW_JOH ,1.65,-1.65, 2 -JOH00085, 9,150NW_JOH ,1.77,-1.77, 2 -JOH00086, 9,160NW_JOH ,1.88,-1.88, 2 -JOH00087, 9,170NW_JOH ,2.00,-2.00, 2 -JOH00088, 9,180NW_JOH ,2.12,-2.12, 2 -JOH00089, 9,190NW_JOH ,2.24,-2.24, 2 -JOH00090, 9,200NW_JOH ,2.35,-2.36, 2 -JOH00091, 9,210NW_JOH ,2.47,-2.47, 2 -JOH00092, 9,220NW_JOH ,2.59,-2.59, 2 -JOH00093, 9,230NW_JOH ,2.71,-2.71, 2 -JOH00094, 9,240NW_JOH ,2.83,-2.83, 2 -JOH00095, 9,250NW_JOH ,2.94,-2.95, 2 -ODK00000, 9,ODK ,0.00,0.00, 1 -ODK00001, 9,20N_ODK ,0.33,0.00, 2 -ODK00002, 9,30N_ODK ,0.50,0.00, 2 -ODK00003, 9,40N_ODK ,0.67,0.00, 2 -ODK00004, 9,50N_ODK ,0.83,0.00, 2 -ODK00005, 9,60N_ODK ,1.00,0.00, 2 -ODK00006, 9,70N_ODK ,1.17,0.00, 2 -ODK00007, 9,80N_ODK ,1.33,0.00, 2 -ODK00008, 9,90N_ODK ,1.50,0.00, 2 -ODK00009, 9,100N_ODK ,1.67,0.00, 2 -ODK00010, 9,110N_ODK ,1.83,0.00, 2 -ODK00011, 9,120N_ODK ,2.00,0.00, 2 -ODK00012, 9,130N_ODK ,2.17,0.00, 2 -ODK00013, 9,140N_ODK ,2.33,0.00, 2 -ODK00014, 9,150N_ODK ,2.50,0.00, 2 -ODK00015, 9,160N_ODK ,2.66,0.00, 2 -ODK00016, 9,170N_ODK ,2.83,0.00, 2 -ODK00017, 9,180N_ODK ,3.00,0.00, 2 -ODK00018, 9,190N_ODK ,3.16,0.00, 2 -ODK00019, 9,200N_ODK ,3.33,0.00, 2 -ODK00020, 9,210N_ODK ,3.50,0.00, 2 -ODK00021, 9,220N_ODK ,3.66,0.00, 2 -ODK00022, 9,230N_ODK ,3.83,0.00, 2 -ODK00023, 9,240N_ODK ,4.00,0.00, 2 -ODK00024, 9,250N_ODK ,4.16,0.00, 2 -ODK00048, 9,20NE_ODK ,0.24,0.24, 2 -ODK00049, 9,30NE_ODK ,0.35,0.35, 2 -ODK00050, 9,40NE_ODK ,0.47,0.47, 2 -ODK00051, 9,50NE_ODK ,0.59,0.59, 2 -ODK00052, 9,60NE_ODK ,0.71,0.71, 2 -ODK00053, 9,70NE_ODK ,0.82,0.82, 2 -ODK00054, 9,80NE_ODK ,0.94,0.94, 2 -ODK00055, 9,90NE_ODK ,1.06,1.06, 2 -ODK00056, 9,100NE_ODK ,1.18,1.18, 2 -ODK00057, 9,110NE_ODK ,1.30,1.30, 2 -ODK00058, 9,120NE_ODK ,1.41,1.41, 2 -ODK00059, 9,130NE_ODK ,1.53,1.53, 2 -ODK00060, 9,140NE_ODK ,1.65,1.65, 2 -ODK00061, 9,150NE_ODK ,1.77,1.77, 2 -ODK00062, 9,160NE_ODK ,1.88,1.88, 2 -ODK00063, 9,170NE_ODK ,2.00,2.00, 2 -ODK00064, 9,180NE_ODK ,2.12,2.12, 2 -ODK00065, 9,190NE_ODK ,2.24,2.24, 2 -ODK00066, 9,200NE_ODK ,2.35,2.36, 2 -ODK00067, 9,210NE_ODK ,2.47,2.47, 2 -ODK00068, 9,220NE_ODK ,2.59,2.59, 2 -ODK00069, 9,230NE_ODK ,2.71,2.71, 2 -ODK00070, 9,240NE_ODK ,2.83,2.83, 2 -ODK00071, 9,250NE_ODK ,2.94,2.95, 2 -ODK00072, 9,20NW_ODK ,0.24,-0.24, 2 -ODK00073, 9,30NW_ODK ,0.35,-0.35, 2 -ODK00074, 9,40NW_ODK ,0.47,-0.47, 2 -ODK00075, 9,50NW_ODK ,0.59,-0.59, 2 -ODK00076, 9,60NW_ODK ,0.71,-0.71, 2 -ODK00077, 9,70NW_ODK ,0.82,-0.82, 2 -ODK00078, 9,80NW_ODK ,0.94,-0.94, 2 -ODK00079, 9,90NW_ODK ,1.06,-1.06, 2 -ODK00080, 9,100NW_ODK ,1.18,-1.18, 2 -ODK00081, 9,110NW_ODK ,1.30,-1.30, 2 -ODK00082, 9,120NW_ODK ,1.41,-1.41, 2 -ODK00083, 9,130NW_ODK ,1.53,-1.53, 2 -ODK00084, 9,140NW_ODK ,1.65,-1.65, 2 -ODK00085, 9,150NW_ODK ,1.77,-1.77, 2 -ODK00086, 9,160NW_ODK ,1.88,-1.88, 2 -ODK00087, 9,170NW_ODK ,2.00,-2.00, 2 -ODK00088, 9,180NW_ODK ,2.12,-2.12, 2 -ODK00089, 9,190NW_ODK ,2.24,-2.24, 2 -ODK00090, 9,200NW_ODK ,2.35,-2.36, 2 -ODK00091, 9,210NW_ODK ,2.47,-2.47, 2 -ODK00092, 9,220NW_ODK ,2.59,-2.59, 2 -ODK00093, 9,230NW_ODK ,2.71,-2.71, 2 -ODK00094, 9,240NW_ODK ,2.83,-2.83, 2 -ODK00095, 9,250NW_ODK ,2.94,-2.95, 2 -HOM00000, 9,HOM ,0.00,0.00, 1 -HOM00001, 9,20N_HOM ,0.33,0.00, 2 -HOM00002, 9,30N_HOM ,0.50,0.00, 2 -HOM00003, 9,40N_HOM ,0.67,0.00, 2 -HOM00004, 9,50N_HOM ,0.83,0.00, 2 -HOM00005, 9,60N_HOM ,1.00,0.00, 2 -HOM00006, 9,70N_HOM ,1.17,0.00, 2 -HOM00007, 9,80N_HOM ,1.33,0.00, 2 -HOM00008, 9,90N_HOM ,1.50,0.00, 2 -HOM00009, 9,100N_HOM ,1.67,0.00, 2 -HOM00010, 9,110N_HOM ,1.83,0.00, 2 -HOM00011, 9,120N_HOM ,2.00,0.00, 2 -HOM00012, 9,130N_HOM ,2.17,0.00, 2 -HOM00013, 9,140N_HOM ,2.33,0.00, 2 -HOM00014, 9,150N_HOM ,2.50,0.00, 2 -HOM00015, 9,160N_HOM ,2.66,0.00, 2 -HOM00016, 9,170N_HOM ,2.83,0.00, 2 -HOM00017, 9,180N_HOM ,3.00,0.00, 2 -HOM00018, 9,190N_HOM ,3.16,0.00, 2 -HOM00019, 9,200N_HOM ,3.33,0.00, 2 -HOM00020, 9,210N_HOM ,3.50,0.00, 2 -HOM00021, 9,220N_HOM ,3.66,0.00, 2 -HOM00022, 9,230N_HOM ,3.83,0.00, 2 -HOM00023, 9,240N_HOM ,4.00,0.00, 2 -HOM00024, 9,250N_HOM ,4.16,0.00, 2 -HOM00048, 9,20NE_HOM ,0.24,0.24, 2 -HOM00049, 9,30NE_HOM ,0.35,0.35, 2 -HOM00050, 9,40NE_HOM ,0.47,0.47, 2 -HOM00051, 9,50NE_HOM ,0.59,0.59, 2 -HOM00052, 9,60NE_HOM ,0.71,0.71, 2 -HOM00053, 9,70NE_HOM ,0.82,0.82, 2 -HOM00054, 9,80NE_HOM ,0.94,0.94, 2 -HOM00055, 9,90NE_HOM ,1.06,1.06, 2 -HOM00056, 9,100NE_HOM ,1.18,1.18, 2 -HOM00057, 9,110NE_HOM ,1.30,1.30, 2 -HOM00058, 9,120NE_HOM ,1.41,1.41, 2 -HOM00059, 9,130NE_HOM ,1.53,1.53, 2 -HOM00060, 9,140NE_HOM ,1.65,1.65, 2 -HOM00061, 9,150NE_HOM ,1.77,1.77, 2 -HOM00062, 9,160NE_HOM ,1.88,1.88, 2 -HOM00063, 9,170NE_HOM ,2.00,2.00, 2 -HOM00064, 9,180NE_HOM ,2.12,2.12, 2 -HOM00065, 9,190NE_HOM ,2.24,2.24, 2 -HOM00066, 9,200NE_HOM ,2.35,2.36, 2 -HOM00067, 9,210NE_HOM ,2.47,2.47, 2 -HOM00068, 9,220NE_HOM ,2.59,2.59, 2 -HOM00069, 9,230NE_HOM ,2.71,2.71, 2 -HOM00070, 9,240NE_HOM ,2.83,2.83, 2 -HOM00071, 9,250NE_HOM ,2.94,2.95, 2 -HOM00072, 9,20NW_HOM ,0.24,-0.24, 2 -HOM00073, 9,30NW_HOM ,0.35,-0.35, 2 -HOM00074, 9,40NW_HOM ,0.47,-0.47, 2 -HOM00075, 9,50NW_HOM ,0.59,-0.59, 2 -HOM00076, 9,60NW_HOM ,0.71,-0.71, 2 -HOM00077, 9,70NW_HOM ,0.82,-0.82, 2 -HOM00078, 9,80NW_HOM ,0.94,-0.94, 2 -HOM00079, 9,90NW_HOM ,1.06,-1.06, 2 -HOM00080, 9,100NW_HOM ,1.18,-1.18, 2 -HOM00081, 9,110NW_HOM ,1.30,-1.30, 2 -HOM00082, 9,120NW_HOM ,1.41,-1.41, 2 -HOM00083, 9,130NW_HOM ,1.53,-1.53, 2 -HOM00084, 9,140NW_HOM ,1.65,-1.65, 2 -HOM00085, 9,150NW_HOM ,1.77,-1.77, 2 -HOM00086, 9,160NW_HOM ,1.88,-1.88, 2 -HOM00087, 9,170NW_HOM ,2.00,-2.00, 2 -HOM00088, 9,180NW_HOM ,2.12,-2.12, 2 -HOM00089, 9,190NW_HOM ,2.24,-2.24, 2 -HOM00090, 9,200NW_HOM ,2.35,-2.36, 2 -HOM00091, 9,210NW_HOM ,2.47,-2.47, 2 -HOM00092, 9,220NW_HOM ,2.59,-2.59, 2 -HOM00093, 9,230NW_HOM ,2.71,-2.71, 2 -HOM00094, 9,240NW_HOM ,2.83,-2.83, 2 -HOM00095, 9,250NW_HOM ,2.94,-2.95, 2 -ENA00000, 9,ENA ,0.00,0.00, 1 -ENA00001, 9,20N_ENA ,0.33,0.00, 2 -ENA00002, 9,30N_ENA ,0.50,0.00, 2 -ENA00003, 9,40N_ENA ,0.67,0.00, 2 -ENA00004, 9,50N_ENA ,0.83,0.00, 2 -ENA00005, 9,60N_ENA ,1.00,0.00, 2 -ENA00006, 9,70N_ENA ,1.17,0.00, 2 -ENA00007, 9,80N_ENA ,1.33,0.00, 2 -ENA00008, 9,90N_ENA ,1.50,0.00, 2 -ENA00009, 9,100N_ENA ,1.67,0.00, 2 -ENA00010, 9,110N_ENA ,1.83,0.00, 2 -ENA00011, 9,120N_ENA ,2.00,0.00, 2 -ENA00012, 9,130N_ENA ,2.17,0.00, 2 -ENA00013, 9,140N_ENA ,2.33,0.00, 2 -ENA00014, 9,150N_ENA ,2.50,0.00, 2 -ENA00015, 9,160N_ENA ,2.66,0.00, 2 -ENA00016, 9,170N_ENA ,2.83,0.00, 2 -ENA00017, 9,180N_ENA ,3.00,0.00, 2 -ENA00018, 9,190N_ENA ,3.16,0.00, 2 -ENA00019, 9,200N_ENA ,3.33,0.00, 2 -ENA00020, 9,210N_ENA ,3.50,0.00, 2 -ENA00021, 9,220N_ENA ,3.66,0.00, 2 -ENA00022, 9,230N_ENA ,3.83,0.00, 2 -ENA00023, 9,240N_ENA ,4.00,0.00, 2 -ENA00024, 9,250N_ENA ,4.16,0.00, 2 -ENA00048, 9,20NE_ENA ,0.24,0.24, 2 -ENA00049, 9,30NE_ENA ,0.35,0.35, 2 -ENA00050, 9,40NE_ENA ,0.47,0.47, 2 -ENA00051, 9,50NE_ENA ,0.59,0.59, 2 -ENA00052, 9,60NE_ENA ,0.71,0.71, 2 -ENA00053, 9,70NE_ENA ,0.82,0.82, 2 -ENA00054, 9,80NE_ENA ,0.94,0.94, 2 -ENA00055, 9,90NE_ENA ,1.06,1.06, 2 -ENA00056, 9,100NE_ENA ,1.18,1.18, 2 -ENA00057, 9,110NE_ENA ,1.30,1.30, 2 -ENA00058, 9,120NE_ENA ,1.41,1.41, 2 -ENA00059, 9,130NE_ENA ,1.53,1.53, 2 -ENA00060, 9,140NE_ENA ,1.65,1.65, 2 -ENA00061, 9,150NE_ENA ,1.77,1.77, 2 -ENA00062, 9,160NE_ENA ,1.88,1.88, 2 -ENA00063, 9,170NE_ENA ,2.00,2.00, 2 -ENA00064, 9,180NE_ENA ,2.12,2.12, 2 -ENA00065, 9,190NE_ENA ,2.24,2.24, 2 -ENA00066, 9,200NE_ENA ,2.35,2.36, 2 -ENA00067, 9,210NE_ENA ,2.47,2.47, 2 -ENA00068, 9,220NE_ENA ,2.59,2.59, 2 -ENA00069, 9,230NE_ENA ,2.71,2.71, 2 -ENA00070, 9,240NE_ENA ,2.83,2.83, 2 -ENA00071, 9,250NE_ENA ,2.94,2.95, 2 -ENA00072, 9,20NW_ENA ,0.24,-0.24, 2 -ENA00073, 9,30NW_ENA ,0.35,-0.35, 2 -ENA00074, 9,40NW_ENA ,0.47,-0.47, 2 -ENA00075, 9,50NW_ENA ,0.59,-0.59, 2 -ENA00076, 9,60NW_ENA ,0.71,-0.71, 2 -ENA00077, 9,70NW_ENA ,0.82,-0.82, 2 -ENA00078, 9,80NW_ENA ,0.94,-0.94, 2 -ENA00079, 9,90NW_ENA ,1.06,-1.06, 2 -ENA00080, 9,100NW_ENA ,1.18,-1.18, 2 -ENA00081, 9,110NW_ENA ,1.30,-1.30, 2 -ENA00082, 9,120NW_ENA ,1.41,-1.41, 2 -ENA00083, 9,130NW_ENA ,1.53,-1.53, 2 -ENA00084, 9,140NW_ENA ,1.65,-1.65, 2 -ENA00085, 9,150NW_ENA ,1.77,-1.77, 2 -ENA00086, 9,160NW_ENA ,1.88,-1.88, 2 -ENA00087, 9,170NW_ENA ,2.00,-2.00, 2 -ENA00088, 9,180NW_ENA ,2.12,-2.12, 2 -ENA00089, 9,190NW_ENA ,2.24,-2.24, 2 -ENA00090, 9,200NW_ENA ,2.35,-2.36, 2 -ENA00091, 9,210NW_ENA ,2.47,-2.47, 2 -ENA00092, 9,220NW_ENA ,2.59,-2.59, 2 -ENA00093, 9,230NW_ENA ,2.71,-2.71, 2 -ENA00094, 9,240NW_ENA ,2.83,-2.83, 2 -ENA00095, 9,250NW_ENA ,2.94,-2.95, 2 -ANC00000, 9,ANC ,0.00,0.00, 1 -ANC00001, 9,20N_ANC ,0.33,0.00, 2 -ANC00002, 9,30N_ANC ,0.50,0.00, 2 -ANC00003, 9,40N_ANC ,0.67,0.00, 2 -ANC00004, 9,50N_ANC ,0.83,0.00, 2 -ANC00005, 9,60N_ANC ,1.00,0.00, 2 -ANC00006, 9,70N_ANC ,1.17,0.00, 2 -ANC00007, 9,80N_ANC ,1.33,0.00, 2 -ANC00008, 9,90N_ANC ,1.50,0.00, 2 -ANC00009, 9,100N_ANC ,1.67,0.00, 2 -ANC00010, 9,110N_ANC ,1.83,0.00, 2 -ANC00011, 9,120N_ANC ,2.00,0.00, 2 -ANC00012, 9,130N_ANC ,2.17,0.00, 2 -ANC00013, 9,140N_ANC ,2.33,0.00, 2 -ANC00014, 9,150N_ANC ,2.50,0.00, 2 -ANC00015, 9,160N_ANC ,2.66,0.00, 2 -ANC00016, 9,170N_ANC ,2.83,0.00, 2 -ANC00017, 9,180N_ANC ,3.00,0.00, 2 -ANC00018, 9,190N_ANC ,3.16,0.00, 2 -ANC00019, 9,200N_ANC ,3.33,0.00, 2 -ANC00020, 9,210N_ANC ,3.50,0.00, 2 -ANC00021, 9,220N_ANC ,3.66,0.00, 2 -ANC00022, 9,230N_ANC ,3.83,0.00, 2 -ANC00023, 9,240N_ANC ,4.00,0.00, 2 -ANC00024, 9,250N_ANC ,4.16,0.00, 2 -ANC00048, 9,20NE_ANC ,0.24,0.24, 2 -ANC00049, 9,30NE_ANC ,0.35,0.35, 2 -ANC00050, 9,40NE_ANC ,0.47,0.47, 2 -ANC00051, 9,50NE_ANC ,0.59,0.59, 2 -ANC00052, 9,60NE_ANC ,0.71,0.71, 2 -ANC00053, 9,70NE_ANC ,0.82,0.82, 2 -ANC00054, 9,80NE_ANC ,0.94,0.94, 2 -ANC00055, 9,90NE_ANC ,1.06,1.06, 2 -ANC00056, 9,100NE_ANC ,1.18,1.18, 2 -ANC00057, 9,110NE_ANC ,1.30,1.30, 2 -ANC00058, 9,120NE_ANC ,1.41,1.41, 2 -ANC00059, 9,130NE_ANC ,1.53,1.53, 2 -ANC00060, 9,140NE_ANC ,1.65,1.65, 2 -ANC00061, 9,150NE_ANC ,1.77,1.77, 2 -ANC00062, 9,160NE_ANC ,1.88,1.88, 2 -ANC00063, 9,170NE_ANC ,2.00,2.00, 2 -ANC00064, 9,180NE_ANC ,2.12,2.12, 2 -ANC00065, 9,190NE_ANC ,2.24,2.24, 2 -ANC00066, 9,200NE_ANC ,2.35,2.36, 2 -ANC00067, 9,210NE_ANC ,2.47,2.47, 2 -ANC00068, 9,220NE_ANC ,2.59,2.59, 2 -ANC00069, 9,230NE_ANC ,2.71,2.71, 2 -ANC00070, 9,240NE_ANC ,2.83,2.83, 2 -ANC00071, 9,250NE_ANC ,2.94,2.95, 2 -ANC00072, 9,20NW_ANC ,0.24,-0.24, 2 -ANC00073, 9,30NW_ANC ,0.35,-0.35, 2 -ANC00074, 9,40NW_ANC ,0.47,-0.47, 2 -ANC00075, 9,50NW_ANC ,0.59,-0.59, 2 -ANC00076, 9,60NW_ANC ,0.71,-0.71, 2 -ANC00077, 9,70NW_ANC ,0.82,-0.82, 2 -ANC00078, 9,80NW_ANC ,0.94,-0.94, 2 -ANC00079, 9,90NW_ANC ,1.06,-1.06, 2 -ANC00080, 9,100NW_ANC ,1.18,-1.18, 2 -ANC00081, 9,110NW_ANC ,1.30,-1.30, 2 -ANC00082, 9,120NW_ANC ,1.41,-1.41, 2 -ANC00083, 9,130NW_ANC ,1.53,-1.53, 2 -ANC00084, 9,140NW_ANC ,1.65,-1.65, 2 -ANC00085, 9,150NW_ANC ,1.77,-1.77, 2 -ANC00086, 9,160NW_ANC ,1.88,-1.88, 2 -ANC00087, 9,170NW_ANC ,2.00,-2.00, 2 -ANC00088, 9,180NW_ANC ,2.12,-2.12, 2 -ANC00089, 9,190NW_ANC ,2.24,-2.24, 2 -ANC00090, 9,200NW_ANC ,2.35,-2.36, 2 -ANC00091, 9,210NW_ANC ,2.47,-2.47, 2 -ANC00092, 9,220NW_ANC ,2.59,-2.59, 2 -ANC00093, 9,230NW_ANC ,2.71,-2.71, 2 -ANC00094, 9,240NW_ANC ,2.83,-2.83, 2 -ANC00095, 9,250NW_ANC ,2.94,-2.95, 2 -BGQ00000, 9,BGQ ,0.00,0.00, 1 -BGQ00001, 9,20N_BGQ ,0.33,0.00, 2 -BGQ00002, 9,30N_BGQ ,0.50,0.00, 2 -BGQ00003, 9,40N_BGQ ,0.67,0.00, 2 -BGQ00004, 9,50N_BGQ ,0.83,0.00, 2 -BGQ00005, 9,60N_BGQ ,1.00,0.00, 2 -BGQ00006, 9,70N_BGQ ,1.17,0.00, 2 -BGQ00007, 9,80N_BGQ ,1.33,0.00, 2 -BGQ00008, 9,90N_BGQ ,1.50,0.00, 2 -BGQ00009, 9,100N_BGQ ,1.67,0.00, 2 -BGQ00010, 9,110N_BGQ ,1.83,0.00, 2 -BGQ00011, 9,120N_BGQ ,2.00,0.00, 2 -BGQ00012, 9,130N_BGQ ,2.17,0.00, 2 -BGQ00013, 9,140N_BGQ ,2.33,0.00, 2 -BGQ00014, 9,150N_BGQ ,2.50,0.00, 2 -BGQ00015, 9,160N_BGQ ,2.66,0.00, 2 -BGQ00016, 9,170N_BGQ ,2.83,0.00, 2 -BGQ00017, 9,180N_BGQ ,3.00,0.00, 2 -BGQ00018, 9,190N_BGQ ,3.16,0.00, 2 -BGQ00019, 9,200N_BGQ ,3.33,0.00, 2 -BGQ00020, 9,210N_BGQ ,3.50,0.00, 2 -BGQ00021, 9,220N_BGQ ,3.66,0.00, 2 -BGQ00022, 9,230N_BGQ ,3.83,0.00, 2 -BGQ00023, 9,240N_BGQ ,4.00,0.00, 2 -BGQ00024, 9,250N_BGQ ,4.16,0.00, 2 -BGQ00048, 9,20NE_BGQ ,0.24,0.24, 2 -BGQ00049, 9,30NE_BGQ ,0.35,0.35, 2 -BGQ00050, 9,40NE_BGQ ,0.47,0.47, 2 -BGQ00051, 9,50NE_BGQ ,0.59,0.59, 2 -BGQ00052, 9,60NE_BGQ ,0.71,0.71, 2 -BGQ00053, 9,70NE_BGQ ,0.82,0.82, 2 -BGQ00054, 9,80NE_BGQ ,0.94,0.94, 2 -BGQ00055, 9,90NE_BGQ ,1.06,1.06, 2 -BGQ00056, 9,100NE_BGQ ,1.18,1.18, 2 -BGQ00057, 9,110NE_BGQ ,1.30,1.30, 2 -BGQ00058, 9,120NE_BGQ ,1.41,1.41, 2 -BGQ00059, 9,130NE_BGQ ,1.53,1.53, 2 -BGQ00060, 9,140NE_BGQ ,1.65,1.65, 2 -BGQ00061, 9,150NE_BGQ ,1.77,1.77, 2 -BGQ00062, 9,160NE_BGQ ,1.88,1.88, 2 -BGQ00063, 9,170NE_BGQ ,2.00,2.00, 2 -BGQ00064, 9,180NE_BGQ ,2.12,2.12, 2 -BGQ00065, 9,190NE_BGQ ,2.24,2.24, 2 -BGQ00066, 9,200NE_BGQ ,2.35,2.36, 2 -BGQ00067, 9,210NE_BGQ ,2.47,2.47, 2 -BGQ00068, 9,220NE_BGQ ,2.59,2.59, 2 -BGQ00069, 9,230NE_BGQ ,2.71,2.71, 2 -BGQ00070, 9,240NE_BGQ ,2.83,2.83, 2 -BGQ00071, 9,250NE_BGQ ,2.94,2.95, 2 -BGQ00072, 9,20NW_BGQ ,0.24,-0.24, 2 -BGQ00073, 9,30NW_BGQ ,0.35,-0.35, 2 -BGQ00074, 9,40NW_BGQ ,0.47,-0.47, 2 -BGQ00075, 9,50NW_BGQ ,0.59,-0.59, 2 -BGQ00076, 9,60NW_BGQ ,0.71,-0.71, 2 -BGQ00077, 9,70NW_BGQ ,0.82,-0.82, 2 -BGQ00078, 9,80NW_BGQ ,0.94,-0.94, 2 -BGQ00079, 9,90NW_BGQ ,1.06,-1.06, 2 -BGQ00080, 9,100NW_BGQ ,1.18,-1.18, 2 -BGQ00081, 9,110NW_BGQ ,1.30,-1.30, 2 -BGQ00082, 9,120NW_BGQ ,1.41,-1.41, 2 -BGQ00083, 9,130NW_BGQ ,1.53,-1.53, 2 -BGQ00084, 9,140NW_BGQ ,1.65,-1.65, 2 -BGQ00085, 9,150NW_BGQ ,1.77,-1.77, 2 -BGQ00086, 9,160NW_BGQ ,1.88,-1.88, 2 -BGQ00087, 9,170NW_BGQ ,2.00,-2.00, 2 -BGQ00088, 9,180NW_BGQ ,2.12,-2.12, 2 -BGQ00089, 9,190NW_BGQ ,2.24,-2.24, 2 -BGQ00090, 9,200NW_BGQ ,2.35,-2.36, 2 -BGQ00091, 9,210NW_BGQ ,2.47,-2.47, 2 -BGQ00092, 9,220NW_BGQ ,2.59,-2.59, 2 -BGQ00093, 9,230NW_BGQ ,2.71,-2.71, 2 -BGQ00094, 9,240NW_BGQ ,2.83,-2.83, 2 -BGQ00095, 9,250NW_BGQ ,2.94,-2.95, 2 -ORT00000, 9,ORT ,0.00,0.00, 1 -ORT00001, 9,20N_ORT ,0.33,0.00, 2 -ORT00002, 9,30N_ORT ,0.50,0.00, 2 -ORT00003, 9,40N_ORT ,0.67,0.00, 2 -ORT00004, 9,50N_ORT ,0.83,0.00, 2 -ORT00005, 9,60N_ORT ,1.00,0.00, 2 -ORT00006, 9,70N_ORT ,1.17,0.00, 2 -ORT00007, 9,80N_ORT ,1.33,0.00, 2 -ORT00008, 9,90N_ORT ,1.50,0.00, 2 -ORT00009, 9,100N_ORT ,1.67,0.00, 2 -ORT00010, 9,110N_ORT ,1.83,0.00, 2 -ORT00011, 9,120N_ORT ,2.00,0.00, 2 -ORT00012, 9,130N_ORT ,2.17,0.00, 2 -ORT00013, 9,140N_ORT ,2.33,0.00, 2 -ORT00014, 9,150N_ORT ,2.50,0.00, 2 -ORT00015, 9,160N_ORT ,2.66,0.00, 2 -ORT00016, 9,170N_ORT ,2.83,0.00, 2 -ORT00017, 9,180N_ORT ,3.00,0.00, 2 -ORT00018, 9,190N_ORT ,3.16,0.00, 2 -ORT00019, 9,200N_ORT ,3.33,0.00, 2 -ORT00020, 9,210N_ORT ,3.50,0.00, 2 -ORT00021, 9,220N_ORT ,3.66,0.00, 2 -ORT00022, 9,230N_ORT ,3.83,0.00, 2 -ORT00023, 9,240N_ORT ,4.00,0.00, 2 -ORT00024, 9,250N_ORT ,4.16,0.00, 2 -ORT00048, 9,20NE_ORT ,0.24,0.24, 2 -ORT00049, 9,30NE_ORT ,0.35,0.35, 2 -ORT00050, 9,40NE_ORT ,0.47,0.47, 2 -ORT00051, 9,50NE_ORT ,0.59,0.59, 2 -ORT00052, 9,60NE_ORT ,0.71,0.71, 2 -ORT00053, 9,70NE_ORT ,0.82,0.82, 2 -ORT00054, 9,80NE_ORT ,0.94,0.94, 2 -ORT00055, 9,90NE_ORT ,1.06,1.06, 2 -ORT00056, 9,100NE_ORT ,1.18,1.18, 2 -ORT00057, 9,110NE_ORT ,1.30,1.30, 2 -ORT00058, 9,120NE_ORT ,1.41,1.41, 2 -ORT00059, 9,130NE_ORT ,1.53,1.53, 2 -ORT00060, 9,140NE_ORT ,1.65,1.65, 2 -ORT00061, 9,150NE_ORT ,1.77,1.77, 2 -ORT00062, 9,160NE_ORT ,1.88,1.88, 2 -ORT00063, 9,170NE_ORT ,2.00,2.00, 2 -ORT00064, 9,180NE_ORT ,2.12,2.12, 2 -ORT00065, 9,190NE_ORT ,2.24,2.24, 2 -ORT00066, 9,200NE_ORT ,2.35,2.36, 2 -ORT00067, 9,210NE_ORT ,2.47,2.47, 2 -ORT00068, 9,220NE_ORT ,2.59,2.59, 2 -ORT00069, 9,230NE_ORT ,2.71,2.71, 2 -ORT00070, 9,240NE_ORT ,2.83,2.83, 2 -ORT00071, 9,250NE_ORT ,2.94,2.95, 2 -ORT00072, 9,20NW_ORT ,0.24,-0.24, 2 -ORT00073, 9,30NW_ORT ,0.35,-0.35, 2 -ORT00074, 9,40NW_ORT ,0.47,-0.47, 2 -ORT00075, 9,50NW_ORT ,0.59,-0.59, 2 -ORT00076, 9,60NW_ORT ,0.71,-0.71, 2 -ORT00077, 9,70NW_ORT ,0.82,-0.82, 2 -ORT00078, 9,80NW_ORT ,0.94,-0.94, 2 -ORT00079, 9,90NW_ORT ,1.06,-1.06, 2 -ORT00080, 9,100NW_ORT ,1.18,-1.18, 2 -ORT00081, 9,110NW_ORT ,1.30,-1.30, 2 -ORT00082, 9,120NW_ORT ,1.41,-1.41, 2 -ORT00083, 9,130NW_ORT ,1.53,-1.53, 2 -ORT00084, 9,140NW_ORT ,1.65,-1.65, 2 -ORT00085, 9,150NW_ORT ,1.77,-1.77, 2 -ORT00086, 9,160NW_ORT ,1.88,-1.88, 2 -ORT00087, 9,170NW_ORT ,2.00,-2.00, 2 -ORT00088, 9,180NW_ORT ,2.12,-2.12, 2 -ORT00089, 9,190NW_ORT ,2.24,-2.24, 2 -ORT00090, 9,200NW_ORT ,2.35,-2.36, 2 -ORT00091, 9,210NW_ORT ,2.47,-2.47, 2 -ORT00092, 9,220NW_ORT ,2.59,-2.59, 2 -ORT00093, 9,230NW_ORT ,2.71,-2.71, 2 -ORT00094, 9,240NW_ORT ,2.83,-2.83, 2 -ORT00095, 9,250NW_ORT ,2.94,-2.95, 2 -GKN00000, 9,GKN ,0.00,0.00, 1 -GKN00001, 9,20N_GKN ,0.33,0.00, 2 -GKN00002, 9,30N_GKN ,0.50,0.00, 2 -GKN00003, 9,40N_GKN ,0.67,0.00, 2 -GKN00004, 9,50N_GKN ,0.83,0.00, 2 -GKN00005, 9,60N_GKN ,1.00,0.00, 2 -GKN00006, 9,70N_GKN ,1.17,0.00, 2 -GKN00007, 9,80N_GKN ,1.33,0.00, 2 -GKN00008, 9,90N_GKN ,1.50,0.00, 2 -GKN00009, 9,100N_GKN ,1.67,0.00, 2 -GKN00010, 9,110N_GKN ,1.83,0.00, 2 -GKN00011, 9,120N_GKN ,2.00,0.00, 2 -GKN00012, 9,130N_GKN ,2.17,0.00, 2 -GKN00013, 9,140N_GKN ,2.33,0.00, 2 -GKN00014, 9,150N_GKN ,2.50,0.00, 2 -GKN00015, 9,160N_GKN ,2.66,0.00, 2 -GKN00016, 9,170N_GKN ,2.83,0.00, 2 -GKN00017, 9,180N_GKN ,3.00,0.00, 2 -GKN00018, 9,190N_GKN ,3.16,0.00, 2 -GKN00019, 9,200N_GKN ,3.33,0.00, 2 -GKN00020, 9,210N_GKN ,3.50,0.00, 2 -GKN00021, 9,220N_GKN ,3.66,0.00, 2 -GKN00022, 9,230N_GKN ,3.83,0.00, 2 -GKN00023, 9,240N_GKN ,4.00,0.00, 2 -GKN00024, 9,250N_GKN ,4.16,0.00, 2 -GKN00048, 9,20NE_GKN ,0.24,0.24, 2 -GKN00049, 9,30NE_GKN ,0.35,0.35, 2 -GKN00050, 9,40NE_GKN ,0.47,0.47, 2 -GKN00051, 9,50NE_GKN ,0.59,0.59, 2 -GKN00052, 9,60NE_GKN ,0.71,0.71, 2 -GKN00053, 9,70NE_GKN ,0.82,0.82, 2 -GKN00054, 9,80NE_GKN ,0.94,0.94, 2 -GKN00055, 9,90NE_GKN ,1.06,1.06, 2 -GKN00056, 9,100NE_GKN ,1.18,1.18, 2 -GKN00057, 9,110NE_GKN ,1.30,1.30, 2 -GKN00058, 9,120NE_GKN ,1.41,1.41, 2 -GKN00059, 9,130NE_GKN ,1.53,1.53, 2 -GKN00060, 9,140NE_GKN ,1.65,1.65, 2 -GKN00061, 9,150NE_GKN ,1.77,1.77, 2 -GKN00062, 9,160NE_GKN ,1.88,1.88, 2 -GKN00063, 9,170NE_GKN ,2.00,2.00, 2 -GKN00064, 9,180NE_GKN ,2.12,2.12, 2 -GKN00065, 9,190NE_GKN ,2.24,2.24, 2 -GKN00066, 9,200NE_GKN ,2.35,2.36, 2 -GKN00067, 9,210NE_GKN ,2.47,2.47, 2 -GKN00068, 9,220NE_GKN ,2.59,2.59, 2 -GKN00069, 9,230NE_GKN ,2.71,2.71, 2 -GKN00070, 9,240NE_GKN ,2.83,2.83, 2 -GKN00071, 9,250NE_GKN ,2.94,2.95, 2 -GKN00072, 9,20NW_GKN ,0.24,-0.24, 2 -GKN00073, 9,30NW_GKN ,0.35,-0.35, 2 -GKN00074, 9,40NW_GKN ,0.47,-0.47, 2 -GKN00075, 9,50NW_GKN ,0.59,-0.59, 2 -GKN00076, 9,60NW_GKN ,0.71,-0.71, 2 -GKN00077, 9,70NW_GKN ,0.82,-0.82, 2 -GKN00078, 9,80NW_GKN ,0.94,-0.94, 2 -GKN00079, 9,90NW_GKN ,1.06,-1.06, 2 -GKN00080, 9,100NW_GKN ,1.18,-1.18, 2 -GKN00081, 9,110NW_GKN ,1.30,-1.30, 2 -GKN00082, 9,120NW_GKN ,1.41,-1.41, 2 -GKN00083, 9,130NW_GKN ,1.53,-1.53, 2 -GKN00084, 9,140NW_GKN ,1.65,-1.65, 2 -GKN00085, 9,150NW_GKN ,1.77,-1.77, 2 -GKN00086, 9,160NW_GKN ,1.88,-1.88, 2 -GKN00087, 9,170NW_GKN ,2.00,-2.00, 2 -GKN00088, 9,180NW_GKN ,2.12,-2.12, 2 -GKN00089, 9,190NW_GKN ,2.24,-2.24, 2 -GKN00090, 9,200NW_GKN ,2.35,-2.36, 2 -GKN00091, 9,210NW_GKN ,2.47,-2.47, 2 -GKN00092, 9,220NW_GKN ,2.59,-2.59, 2 -GKN00093, 9,230NW_GKN ,2.71,-2.71, 2 -GKN00094, 9,240NW_GKN ,2.83,-2.83, 2 -GKN00095, 9,250NW_GKN ,2.94,-2.95, 2 -TKA00000, 9,TKA ,0.00,0.00, 1 -TKA00001, 9,20N_TKA ,0.33,0.00, 2 -TKA00002, 9,30N_TKA ,0.50,0.00, 2 -TKA00003, 9,40N_TKA ,0.67,0.00, 2 -TKA00004, 9,50N_TKA ,0.83,0.00, 2 -TKA00005, 9,60N_TKA ,1.00,0.00, 2 -TKA00006, 9,70N_TKA ,1.17,0.00, 2 -TKA00007, 9,80N_TKA ,1.33,0.00, 2 -TKA00008, 9,90N_TKA ,1.50,0.00, 2 -TKA00009, 9,100N_TKA ,1.67,0.00, 2 -TKA00010, 9,110N_TKA ,1.83,0.00, 2 -TKA00011, 9,120N_TKA ,2.00,0.00, 2 -TKA00012, 9,130N_TKA ,2.17,0.00, 2 -TKA00013, 9,140N_TKA ,2.33,0.00, 2 -TKA00014, 9,150N_TKA ,2.50,0.00, 2 -TKA00015, 9,160N_TKA ,2.66,0.00, 2 -TKA00016, 9,170N_TKA ,2.83,0.00, 2 -TKA00017, 9,180N_TKA ,3.00,0.00, 2 -TKA00018, 9,190N_TKA ,3.16,0.00, 2 -TKA00019, 9,200N_TKA ,3.33,0.00, 2 -TKA00020, 9,210N_TKA ,3.50,0.00, 2 -TKA00021, 9,220N_TKA ,3.66,0.00, 2 -TKA00022, 9,230N_TKA ,3.83,0.00, 2 -TKA00023, 9,240N_TKA ,4.00,0.00, 2 -TKA00024, 9,250N_TKA ,4.16,0.00, 2 -TKA00048, 9,20NE_TKA ,0.24,0.24, 2 -TKA00049, 9,30NE_TKA ,0.35,0.35, 2 -TKA00050, 9,40NE_TKA ,0.47,0.47, 2 -TKA00051, 9,50NE_TKA ,0.59,0.59, 2 -TKA00052, 9,60NE_TKA ,0.71,0.71, 2 -TKA00053, 9,70NE_TKA ,0.82,0.82, 2 -TKA00054, 9,80NE_TKA ,0.94,0.94, 2 -TKA00055, 9,90NE_TKA ,1.06,1.06, 2 -TKA00056, 9,100NE_TKA ,1.18,1.18, 2 -TKA00057, 9,110NE_TKA ,1.30,1.30, 2 -TKA00058, 9,120NE_TKA ,1.41,1.41, 2 -TKA00059, 9,130NE_TKA ,1.53,1.53, 2 -TKA00060, 9,140NE_TKA ,1.65,1.65, 2 -TKA00061, 9,150NE_TKA ,1.77,1.77, 2 -TKA00062, 9,160NE_TKA ,1.88,1.88, 2 -TKA00063, 9,170NE_TKA ,2.00,2.00, 2 -TKA00064, 9,180NE_TKA ,2.12,2.12, 2 -TKA00065, 9,190NE_TKA ,2.24,2.24, 2 -TKA00066, 9,200NE_TKA ,2.35,2.36, 2 -TKA00067, 9,210NE_TKA ,2.47,2.47, 2 -TKA00068, 9,220NE_TKA ,2.59,2.59, 2 -TKA00069, 9,230NE_TKA ,2.71,2.71, 2 -TKA00070, 9,240NE_TKA ,2.83,2.83, 2 -TKA00071, 9,250NE_TKA ,2.94,2.95, 2 -TKA00072, 9,20NW_TKA ,0.24,-0.24, 2 -TKA00073, 9,30NW_TKA ,0.35,-0.35, 2 -TKA00074, 9,40NW_TKA ,0.47,-0.47, 2 -TKA00075, 9,50NW_TKA ,0.59,-0.59, 2 -TKA00076, 9,60NW_TKA ,0.71,-0.71, 2 -TKA00077, 9,70NW_TKA ,0.82,-0.82, 2 -TKA00078, 9,80NW_TKA ,0.94,-0.94, 2 -TKA00079, 9,90NW_TKA ,1.06,-1.06, 2 -TKA00080, 9,100NW_TKA ,1.18,-1.18, 2 -TKA00081, 9,110NW_TKA ,1.30,-1.30, 2 -TKA00082, 9,120NW_TKA ,1.41,-1.41, 2 -TKA00083, 9,130NW_TKA ,1.53,-1.53, 2 -TKA00084, 9,140NW_TKA ,1.65,-1.65, 2 -TKA00085, 9,150NW_TKA ,1.77,-1.77, 2 -TKA00086, 9,160NW_TKA ,1.88,-1.88, 2 -TKA00087, 9,170NW_TKA ,2.00,-2.00, 2 -TKA00088, 9,180NW_TKA ,2.12,-2.12, 2 -TKA00089, 9,190NW_TKA ,2.24,-2.24, 2 -TKA00090, 9,200NW_TKA ,2.35,-2.36, 2 -TKA00091, 9,210NW_TKA ,2.47,-2.47, 2 -TKA00092, 9,220NW_TKA ,2.59,-2.59, 2 -TKA00093, 9,230NW_TKA ,2.71,-2.71, 2 -TKA00094, 9,240NW_TKA ,2.83,-2.83, 2 -TKA00095, 9,250NW_TKA ,2.94,-2.95, 2 +MMB00000, 9,MMB ,36.34,-99.88, 1 +MMB00001, 9,20N_MMB ,36.67,-99.88, 2 +MMB00002, 9,30N_MMB ,36.84,-99.88, 2 +MMB00003, 9,40N_MMB ,37.01,-99.88, 2 +MMB00009, 9,20NE_MMB ,36.58,-99.59, 2 +MMB00010, 9,30NE_MMB ,36.69,-99.44, 2 +MMB00011, 9,40NE_MMB ,36.81,-99.29, 2 +MMB00012, 9,50NE_MMB ,36.93,-99.14, 2 +MMB00013, 9,60NE_MMB ,37.04,-98.99, 2 +MMB00018, 9,20E_MMB ,36.34,-99.47, 2 +MMB00019, 9,30E_MMB ,36.34,-99.26, 2 +MMB00020, 9,40E_MMB ,36.34,-99.05, 2 +MMB00025, 9,20SE_MMB ,36.10,-99.59, 2 +MMB00026, 9,30SE_MMB ,35.99,-99.44, 2 +MMB00027, 9,40SE_MMB ,35.87,-99.30, 2 +MMB00028, 9,50SE_MMB ,35.75,-99.15, 2 +MMB00029, 9,60SE_MMB ,35.63,-99.01, 2 +MMB00036, 9,20S_MMB ,36.01,-99.88, 2 +MMB00037, 9,30S_MMB ,35.84,-99.88, 2 +MMB00038, 9,40S_MMB ,35.67,-99.88, 2 +MMB00039, 9,50S_MMB ,35.51,-99.88, 2 +MMB00040, 9,60S_MMB ,35.34,-99.88, 2 +MMB00046, 9,20SW_MMB ,36.10,-100.17, 2 +MMB00047, 9,30SW_MMB ,35.99,-100.32, 2 +MMB00048, 9,40SW_MMB ,35.87,-100.46, 2 +MMB00049, 9,50SW_MMB ,35.75,-100.61, 2 +MMB00050, 9,60SW_MMB ,35.63,-100.75, 2 +MMB00055, 9,20W_MMB ,36.34,-100.29, 2 +MMB00056, 9,30W_MMB ,36.34,-100.50, 2 +MMB00058, 9,20NW_MMB ,36.58,-100.17, 2 COORD002, 9,50SE_REO ,42.00,-117.08, 1 COORD003, 9,40SE_LKV ,42.02,-119.87, 1 COORD005, 9,50S_TUS ,31.27,-110.91, 1 -COORD006, 9,220SW_MZB ,30.14,-120.23, 1 -COORD008, 9,140W_TOU ,48.25,-128.13, 1 -COORD012, 9,40E_SNY ,41.10,-102.10, 1 +COORD006, 9,20S_MZB ,32.45,-117.23, 1 +COORD007, 9,220SW_MZB ,30.14,-120.23, 1 +COORD009, 9,140W_TOU ,48.25,-128.13, 1 +COORD012, 9,70SW_RAP ,43.15,-104.14, 1 COORD013, 9,50W_LBL ,37.09,-101.99, 1 COORD015, 9,90S_MRF ,28.80,-103.95, 1 COORD016, 9,90W_BRO ,25.91,-99.05, 1 @@ -12083,7 +10911,7 @@ COORD019, 9,50W_LBL ,37.09,-101.99, 1 COORD020, 9,30SE_ECK ,42.90,-82.23, 1 COORD021, 9,30N_INL ,49.06,-93.40, 1 COORD024, 9,40W_CEW ,30.93,-87.46, 1 -COORD025, 9,50SW_ABY ,31.05,-84.98, 1 +COORD025, 9,50SW_PZD ,31.05,-84.98, 1 COORD026, 9,30SE_ECK ,42.90,-82.23, 1 COORD027, 9,70NW_PQI ,47.59,-69.30, 1 COORD028, 9,60NE_PQI ,47.47,-67.04, 1 diff --git a/edexOsgi/build.edex/opt/db/ddl/ncep/loadVors.sql b/edexOsgi/build.edex/opt/db/ddl/ncep/loadVors.sql index 23a2e65e5f..bc0e5fa10b 100644 --- a/edexOsgi/build.edex/opt/db/ddl/ncep/loadVors.sql +++ b/edexOsgi/build.edex/opt/db/ddl/ncep/loadVors.sql @@ -32,7 +32,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 31,HAR,126,HARRISBURG,PA,US,40.23,-77.02 32,DCA,306,WASHINGTON,DC,US,38.86,-77.04 33,RIC,229,RICHMOND,VA,US,37.5,-77.32 -34,CSN,299,CASSANOVA,VA,US,38.64,-77.87 +34,CSN,299,CASANOVA,VA,US,38.64,-77.87 35,ILM,135,WILMINGTON,NC,US,34.35,-77.87 36,SLT,252,SLATE_RUN,PA,US,41.51,-77.97 37,PSB,368,PHILLIPSBURG,PA,US,40.92,-77.99 @@ -50,7 +50,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 49,EWC,326,ELLWOOD_CITY,PA,US,40.83,-80.21 50,ERI,92,ERIE,PA,US,42.02,-80.3 51,MIA,176,MIAMI,FL,US,25.8,-80.3 -52,VRB,276,VERO_BEACH,FL,US,27.68,-80.49 +52,TRV,276,TREASURE,FL,US,27.68,-80.49 53,PSK,369,DUBLIN,VA,US,37.09,-80.71 54,AIR,280,BELLAIRE,OH,US,40.02,-80.82 55,CLT,59,CHARLOTTE,NC,US,35.22,-80.93 @@ -62,7 +62,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 61,ORL,204,ORLANDO,FL,US,28.54,-81.34 62,CRG,298,JACKSONVILLE,FL,US,30.34,-81.51 63,EYW,96,KEY_WEST,FL,US,24.59,-81.8 -64,FMY,104,FT_MEYERS,FL,US,26.58,-81.87 +64,RSW,104,LEE_COUNTY,FL,US,26.53,-81.78 65,SPA,380,SPARTANBURG,SC,US,35.03,-81.93 66,HNN,339,HENDERSON,WV,US,38.75,-82.03 67,HMV,337,HOLSTON_MOUNTAIN,TN,US,36.44,-82.13 @@ -83,7 +83,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 82,ROD,373,ROSEWOOD,OH,US,40.29,-84.04 83,MBS,168,SAGINAW,MI,US,43.53,-84.08 84,LOZ,160,LONDON,KY,US,37.03,-84.12 -85,ABY,4,ALBANY,GA,US,31.65,-84.3 +85,PZD,4,PECAN,GA,US,31.66,-84.29 86,SSM,255,SAULT_STE_MARIE,MI,US,46.41,-84.31 87,TLH,264,TALLAHASSEE,FL,US,30.56,-84.37 88,ATL,19,ATLANTA,GA,US,33.63,-84.44 @@ -93,7 +93,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 92,LGC,350,LA_GRANGE,GA,US,33.05,-85.21 93,GRR,332,GRAND_RAPIDS,MI,US,42.79,-85.5 94,TVC,270,TRAVERSE_CITY,MI,US,44.67,-85.55 -95,LOU,159,LOUISVILLE,KY,US,38.1,-85.58 +95,IIU,159,LOUISVILLE,KY,US,38.1,-85.58 96,MKG,179,MUSKEGON,MI,US,43.17,-86.04 97,PMM,366,PULLMAN,MI,US,42.47,-86.11 98,GIJ,330,NILES,MI,US,41.77,-86.32 @@ -115,7 +115,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 114,SJI,378,SEMMNES,AL,US,30.73,-88.36 115,IGB,133,BIGBEE,MS,US,33.48,-88.52 116,MEI,172,MERIDIAN,MS,US,32.38,-88.8 -117,DEC,70,DECATUR,IL,US,39.74,-88.86 +117,AXC,70,ADDERS,IL,US,39.74,-88.86 118,YQT,393,THUNDER_BAY,ON,CN,48.37,-89.32 119,DYR,83,DYERSBURG,TN,US,36.02,-89.32 120,RHI,228,RHINELANDER,WI,US,45.63,-89.45 @@ -123,8 +123,8 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 122,DLL,310,DELLS,WI,US,43.55,-89.76 123,MEM,173,MEMPHIS,TN,US,35.06,-89.98 124,LEV,349,GRAND_ISLE,LA,US,29.18,-90.1 -125,JAN,142,JACKSON,MS,US,32.51,-90.17 -126,MSY,195,NEW_ORLEANS,LA,US,30,-90.27 +125,MHZ,142,MAGNOLIA,MS,US,32.43,-90.1 +126,HRV,195,HARVEY,LA,US,29.85,-90 127,FAM,97,FARMINGTON,MO,US,37.67,-90.23 128,MCB,169,MC_COMB,MS,US,31.3,-90.26 129,SQS,381,SIDON,MS,US,33.46,-90.28 @@ -156,7 +156,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 155,FSM,108,FT_SMITH,AR,US,35.38,-94.27 156,FOD,105,FT_DODGE,IA,US,42.61,-94.29 157,BUM,45,BUTLER,MO,US,38.27,-94.49 -158,MKC,177,KANSAS_CITY,MO,US,39.28,-94.59 +158,MCI,177,KANSAS_CITY,MO,US,39.29,-94.74 159,LFK,155,LUFKIN,TX,US,31.16,-94.72 160,GGG,115,LONGVIEW,TX,US,32.42,-94.75 161,BJI,33,BEMIDJI,MN,US,47.58,-95.02 @@ -170,7 +170,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 169,PSX,219,PALACIOS,TX,US,28.76,-96.31 170,FSD,107,SIOUX_FALLS,SD,US,43.65,-96.78 171,FAR,98,FARGO,ND,US,46.75,-96.85 -172,DFW,72,DALLAS-FT_WORTH,TX,US,32.87,-97.03 +172,TTT,72,MAVERICK,TX,US,32.87,-97.04 173,ADM,8,ARDMORE,OK,US,34.21,-97.17 174,GFK,114,GRAND_FORKS,ND,US,47.95,-97.19 175,YWG,397,WINNIPEG,MB,CN,49.9,-97.23 @@ -180,7 +180,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 179,ICT,132,WICHITA,KS,US,37.75,-97.58 180,OKC,198,OKLAHOMA_CITY,OK,US,35.36,-97.61 181,SLN,251,SALINA,KS,US,38.93,-97.62 -182,AUS,20,AUSTIN,TX,US,30.3,-97.7 +182,CWK,20,CENTEX,TX,US,30.38,-97.53 183,END,321,VANCE_AFB,OK,US,36.35,-97.92 184,OBH,358,WOLBACH,NE,US,41.38,-98.35 185,ABR,3,ABERDEEN,SD,US,45.42,-98.37 @@ -190,7 +190,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 189,LRD,161,LAREDO,TX,US,27.48,-99.42 190,JCT,144,JUNCTION,TX,US,30.6,-99.82 191,ABI,1,ABILENE,TX,US,32.48,-99.86 -192,GAG,110,GAGE,OK,US,36.34,-99.88 +192,MMB,110,MITBEE,OK,US,36.34,-99.88 193,ANW,282,AINSWORTH,NE,US,42.57,-99.99 194,PIR,214,PIERRE,SD,US,44.4,-100.17 195,HLC,335,HILL_CITY,KS,US,39.26,-100.23 @@ -222,11 +222,11 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 221,ISN,140,WILLISTON,ND,US,48.18,-103.63 222,MRF,190,MARFA,TX,US,30.3,-103.95 223,PUB,220,PUEBLO,CO,US,38.29,-104.43 -224,ROW,233,ROSWELL,NM,US,33.34,-104.62 +224,CME,233,CHISUM,NM,US,33.34,-104.62 225,DEN,71,DENVER,CO,US,39.81,-104.66 226,CYS,301,CHEYENNE,WY,US,41.21,-104.77 227,CIM,297,CIMARRON,NM,US,36.49,-104.87 -228,LVS,163,LAS_VEGAS,NM,US,35.66,-105.14 +228,FTI,163,FT_UNION,NM,US,35.66,-105.14 229,LAR,148,LARAMIE,WY,US,41.33,-105.72 230,ALS,13,ALAMOSA,CO,US,37.35,-105.82 231,MLS,182,MILES_CITY,MT,US,46.38,-105.95 @@ -242,7 +242,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 241,CHE,54,HAYDEN,CO,US,40.52,-107.31 242,DMN,76,DEMING,NM,US,32.28,-107.6 243,YYN,400,SWIFT_CURRENT,SA,CN,50.28,-107.68 -244,FMN,103,FARMINGTON,NM,US,36.75,-108.1 +244,RSK,103,RATTLESNAKE,NM,US,36.75,-108.1 245,BOY,290,BOYSEN_RESV.,WY,US,43.46,-108.3 246,BIL,31,BILLINGS,MT,US,45.81,-108.63 247,JNC,347,GRAND_JUNCTION,CO,US,39.06,-108.79 @@ -312,7 +312,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 311,OAK,356,OAKLAND,CA,US,37.73,-122.22 312,RBL,225,RED_BLUFF,CA,US,40.1,-122.24 313,SEA,243,SEATTLE,WA,US,47.44,-122.31 -314,BLI,35,BELLINGHAM,WA,US,48.95,-122.58 +314,HUH,35,WHATCOM,WA,US,48.95,-122.58 315,PDX,208,PORTLAND,OR,US,45.58,-122.6 316,PYE,371,POINT_REYES,CA,US,38.08,-122.87 317,OED,362,MEDFORD,OR,US,42.48,-122.91 @@ -388,3 +388,4 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO 387,LIH,0,LIHUE,HI,US,21.97,-159.34 388,SOK,0,SOUTH_KAUAI,HI,US,21.9,-159.53 \. + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/grib1ParameterConvTable.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/grib1ParameterConvTable.xml index fabbf7ff67..0df61629c7 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/grib1ParameterConvTable.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/common_static/base/grid/grib1ParameterConvTable.xml @@ -9010,4 +9010,15 @@ 14 + + + +
54
+ 2 + 52 + 0 + 1 + 1 +
+ diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/cmcHR.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/cmcHR.xml new file mode 100644 index 0000000000..d964112354 --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/cmcHR.xml @@ -0,0 +1,36 @@ + + + + 493399001 + 15km HR CMC + 32.548 + -134.62 + LowerLeft + 493 + 399 + 15 + 15 + km + 6367470.0 + 6367470.0 + -111.0 + 60 + \ No newline at end of file diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsAK.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsAK.xml new file mode 100755 index 0000000000..81435f6bce --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsAK.xml @@ -0,0 +1,36 @@ + + + + 825553001 + ESTOFS HIRES - 6 km Alaska + 40.530101 + -178.571 + LowerLeft + 825 + 553 + 5.953125 + 5.953125 + km + 6371229.0 + 6371229.0 + -150.0 + 60 + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml new file mode 100755 index 0000000000..2721a041cb --- /dev/null +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/grids/estofsHW.xml @@ -0,0 +1,37 @@ + + + + 321225001 + Extratropical Storm and Tide Operation Forecast System (Hawaii) + 18.067 + -161.525 + LowerLeft + 321 + 225 + 2.5 + 2.5 + km + 6371229.0 + 6371229.0 + 20.0 + 23.082 + -153.969 + diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml index cec4d8e4e3..25b035621d 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_NCEP-7.xml @@ -10,6 +10,26 @@ + + estofsHW +
7
+ 4 + 321225001 + + 14 + +
+ + + estofsAK +
7
+ 4 + 825553001 + + 14 + +
+ estofsPR
7
@@ -2430,16 +2450,6 @@ - - hysplit -
7
- 3 - 36928220 - - 3 - -
- diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RSMC-54.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RSMC-54.xml index e6dace61e1..dba8fa0350 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RSMC-54.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/models/gribModels_RSMC-54.xml @@ -12,6 +12,16 @@ + + cmcHR +
53
+ 0 + 493399001 + + 36 + +
+ CanadianModel
54
diff --git a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/thinnedModels/UkmetHR-NH.xml b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/thinnedModels/UkmetHR-NH.xml index 5325335d6b..964db69089 100644 --- a/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/thinnedModels/UkmetHR-NH.xml +++ b/edexOsgi/com.raytheon.edex.plugin.grib/utility/edex_static/base/grib/thinnedModels/UkmetHR-NH.xml @@ -1,4 +1,4 @@ - + - ^FOUS5[1-5] ([A-Z]{4}) ([0-9]{6}).* + ^FOUS5[1-6] ([A-Z]{4}) ([0-9]{6}).* diff --git a/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MdlSoundingQuery.java b/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MdlSoundingQuery.java index 6e4429efe7..8aedaca3e7 100644 --- a/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MdlSoundingQuery.java +++ b/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MdlSoundingQuery.java @@ -17,7 +17,7 @@ package gov.noaa.nws.ncep.edex.uengine.tasks.profile; * 03/28/2012 Chin Chen Add new API to support query multiple Points at one shoot and using * dataStore.retrieveGroups() * Oct 15, 2012 2473 bsteffen Remove ncgrib - * + * 03/2014 1116 T. Lee Added DpD * * * @author Chin Chen @@ -62,396 +62,409 @@ import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.LinearRing; import com.vividsolutions.jts.geom.Polygon; import com.vividsolutions.jts.geom.impl.CoordinateArraySequence; + //import org.opengis.geometry.Envelope; public class MdlSoundingQuery { - private static final String D2DGRIB_TBL_NAME = "grid"; - - private static String D2D_PARMS = "GH, uW, vW,T, DWPK, SPFH,OMEG, RH"; + private static final String D2DGRIB_TBL_NAME = "grid"; - private enum D2DParmNames { - GH, uW, vW, T, DWPK, SPFH, OMEG, RH - }; + private static String D2D_PARMS = "GH, uW, vW,T, DWPK, SPFH,OMEG, RH, DpD"; - public static UnitConverter kelvinToCelsius = SI.KELVIN - .getConverterTo(SI.CELSIUS); - private static final UnitConverter metersPerSecondToKnots = SI.METERS_PER_SECOND.getConverterTo(NonSI.KNOT); + private enum D2DParmNames { + GH, uW, vW, T, DWPK, SPFH, OMEG, RH, DpD + }; - //Note; we are using NCInventory now. So, this api is actually not used. - public static NcSoundingTimeLines getMdlSndTimeLine(String mdlType, - String currentDBTblName) { - NcSoundingTimeLines tl = new NcSoundingTimeLines(); - /* - if(currentDBTblName.equals(NCGRIB_TBL_NAME)){ - Object[] refTimeAry = null; - String queryStr = new String("Select Distinct reftime FROM " - + currentDBTblName + " where modelname='" + mdlType - + "' ORDER BY reftime DESC"); + public static UnitConverter kelvinToCelsius = SI.KELVIN + .getConverterTo(SI.CELSIUS); - CoreDao dao = new CoreDao(DaoConfig.forClass(NcgribRecord.class)); - refTimeAry = (Object[]) dao.executeSQLQuery(queryStr); - tl.setTimeLines(refTimeAry); - }else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){ - TableQuery query; - try { - query = new TableQuery("metadata", GridRecord.class.getName()); - query.setDistinctField("dataTime.refTime"); - query.addParameter(GridConstants.DATASET_ID, mdlType); - query.setSortBy("dataTime.refTime", false); - @SuppressWarnings("unchecked") - List recList = (List) query.execute(); - tl.setTimeLines(recList.toArray()); - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } */ - - //Chin: modified for Unified Grid DB - // Use the following SQL statement - //Select Distinct reftime FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where grid_info.datasetid='gfs' ORDER BY reftime DESC - Object[] refTimeAry = null; - String queryStr = new String("Select Distinct reftime FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where grid_info.datasetid='" - + mdlType - + "' ORDER BY reftime DESC"); + private static final UnitConverter metersPerSecondToKnots = SI.METERS_PER_SECOND + .getConverterTo(NonSI.KNOT); + + // Note; we are using NCInventory now. So, this api is actually not used. + public static NcSoundingTimeLines getMdlSndTimeLine(String mdlType, + String currentDBTblName) { + NcSoundingTimeLines tl = new NcSoundingTimeLines(); + /* + * if(currentDBTblName.equals(NCGRIB_TBL_NAME)){ Object[] refTimeAry = + * null; String queryStr = new String("Select Distinct reftime FROM " + + * currentDBTblName + " where modelname='" + mdlType + + * "' ORDER BY reftime DESC"); + * + * CoreDao dao = new CoreDao(DaoConfig.forClass(NcgribRecord.class)); + * refTimeAry = (Object[]) dao.executeSQLQuery(queryStr); + * tl.setTimeLines(refTimeAry); }else + * if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){ TableQuery query; try + * { query = new TableQuery("metadata", GridRecord.class.getName()); + * query.setDistinctField("dataTime.refTime"); + * query.addParameter(GridConstants.DATASET_ID, mdlType); + * query.setSortBy("dataTime.refTime", false); + * + * @SuppressWarnings("unchecked") List recList = + * (List) query.execute(); + * tl.setTimeLines(recList.toArray()); } catch (DataAccessLayerException + * e) { // TODO Auto-generated catch block e.printStackTrace(); } catch + * (Exception e) { // TODO Auto-generated catch block + * e.printStackTrace(); } + * + * } + */ + + // Chin: modified for Unified Grid DB + // Use the following SQL statement + // Select Distinct reftime FROM grid FULL JOIN grid_info ON + // grid.info_id=grid_info.id where grid_info.datasetid='gfs' ORDER BY + // reftime DESC + Object[] refTimeAry = null; + String queryStr = new String( + "Select Distinct reftime FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where grid_info.datasetid='" + + mdlType + "' ORDER BY reftime DESC"); CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); refTimeAry = dao.executeSQLQuery(queryStr); - tl.setTimeLines(refTimeAry); - + tl.setTimeLines(refTimeAry); - return tl; - } + return tl; + } - public static NcSoundingTimeLines getMdlSndRangeTimeLine(String mdlType, - String refTimeStr, String currentDBTblName) { - NcSoundingTimeLines tl = new NcSoundingTimeLines(); - /* - if(currentDBTblName.equals(NCGRIB_TBL_NAME)){ - Object[] refTimeAry = null; - String queryStr = new String("Select Distinct rangestart FROM " - + currentDBTblName + " where modelname='" + mdlType + "' AND " - + "reftime='" + refTimeStr + ":00:00'" - + " ORDER BY rangestart"); - System.out.println("queryStr " + queryStr); + public static NcSoundingTimeLines getMdlSndRangeTimeLine(String mdlType, + String refTimeStr, String currentDBTblName) { + NcSoundingTimeLines tl = new NcSoundingTimeLines(); + /* + * if(currentDBTblName.equals(NCGRIB_TBL_NAME)){ Object[] refTimeAry = + * null; String queryStr = new String("Select Distinct rangestart FROM " + * + currentDBTblName + " where modelname='" + mdlType + "' AND " + + * "reftime='" + refTimeStr + ":00:00'" + " ORDER BY rangestart"); + * System.out.println("queryStr " + queryStr); + * + * CoreDao dao = new CoreDao(DaoConfig.forClass(SoundingSite.class)); + * refTimeAry = (Object[]) dao.executeSQLQuery(queryStr); + * tl.setTimeLines(refTimeAry); } else + * if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){ TableQuery query; try + * { query = new TableQuery("metadata", GridRecord.class.getName()); + * query.setDistinctField("dataTime.validPeriod.start"); + * query.addParameter(GridConstants.DATASET_ID, mdlType); + * query.addParameter("dataTime.refTime", refTimeStr + ":00:00"); + * query.setSortBy("dataTime.validPeriod.start", true); + * + * @SuppressWarnings("unchecked") List recList = + * (List) query.execute(); + * tl.setTimeLines(recList.toArray()); } catch (DataAccessLayerException + * e) { // TODO Auto-generated catch block e.printStackTrace(); } catch + * (Exception e) { // TODO Auto-generated catch block + * e.printStackTrace(); } + */ + // Chin: modified for Unified Grid DB + // make sure data in DB is not just nHour data, as those data are not + // used by Nsharp. And when query to it, the returned will be + // null. We do not want to show such sounding time line to user. + // use this SQL query string for gfs as example. + /* + * Select Distinct rangestart FROM grid FULL JOIN grid_info ON + * grid.info_id=grid_info.id where grid.reftime = '2012-01-26 00:00:00' + * AND grid.rangestart = grid.rangeend AND + * grid_info.datasetid='mesoEta212' AND + * grid_info.parameter_abbreviation='T' order by rangestart + */ + Object[] soundingTimeAry = null; + List reSoundingTimeAry = new ArrayList(); + String queryStr = new String( + "Select Distinct rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where grid.reftime = '" + + refTimeStr + + ":00:00' AND grid.rangestart = grid.rangeend AND grid_info.datasetid='" + + mdlType + + "' AND grid_info.parameter_abbreviation='T' order by rangestart"); + // System.out.println("queryStr " + queryStr); - CoreDao dao = new CoreDao(DaoConfig.forClass(SoundingSite.class)); - refTimeAry = (Object[]) dao.executeSQLQuery(queryStr); - tl.setTimeLines(refTimeAry); - } - else if(currentDBTblName.equals(D2DGRIB_TBL_NAME)){ - TableQuery query; - try { - query = new TableQuery("metadata", GridRecord.class.getName()); - query.setDistinctField("dataTime.validPeriod.start"); - query.addParameter(GridConstants.DATASET_ID, mdlType); - query.addParameter("dataTime.refTime", refTimeStr + ":00:00"); - query.setSortBy("dataTime.validPeriod.start", true); - @SuppressWarnings("unchecked") - List recList = (List) query.execute(); - tl.setTimeLines(recList.toArray()); - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - }*/ - //Chin: modified for Unified Grid DB - // make sure data in DB is not just nHour data, as those data are not used by Nsharp. And when query to it, the returned will be - // null. We do not want to show such sounding time line to user. - // use this SQL query string for gfs as example. - /* - * Select Distinct rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where - * grid.reftime = '2012-01-26 00:00:00' AND grid.rangestart = grid.rangeend AND grid_info.datasetid='mesoEta212' AND - * grid_info.parameter_abbreviation='T' order by rangestart - */ - Object[] soundingTimeAry = null; - List reSoundingTimeAry = new ArrayList(); - String queryStr = new String("Select Distinct rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id where grid.reftime = '" - + refTimeStr + ":00:00' AND grid.rangestart = grid.rangeend AND grid_info.datasetid='"+mdlType+"' AND grid_info.parameter_abbreviation='T' order by rangestart"); - //System.out.println("queryStr " + queryStr); - - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - soundingTimeAry = (Object[]) dao.executeSQLQuery(queryStr); - for(int i=0; i< soundingTimeAry.length; i++){ - /* - * Chin: make sure the time line has more than 5 T(temp) values at pressure (levelone) greater/equal than/to 100 hPa (mbar) - * use this SQL : - * Select count(rangestart) FROM (select rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id - * FULL JOIN level ON grid_info.level_id= level.id - * where grid.rangestart = '2012-01-26 03:00:00.0' AND - * grid.rangestart = grid.rangeend AND grid_info.datasetid='mesoEta212' AND - * grid_info.parameter_abbreviation='T' AND level.levelonevalue > 99) X HAVING count(X.rangestart) >5 - */ - String queryStr1 = new String("Select count(rangestart) FROM (select rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id FULL JOIN level ON grid_info.level_id= level.id where grid.rangestart = '" - + soundingTimeAry[i] + "' AND grid.rangestart = grid.rangeend AND grid_info.datasetid='"+mdlType+"' AND grid_info.parameter_abbreviation='T' AND level.levelonevalue > 99) X HAVING count(X.rangestart) >5"); - Object[] countAry = null; - //System.out.println("queryStr1 " + queryStr1); - countAry = (Object[]) dao.executeSQLQuery(queryStr1); - java.math.BigInteger count = new java.math.BigInteger("0"); - if(countAry.length >0 ){ - //System.out.println("rangestart =" +soundingTimeAry[i]+" number="+countAry[0]); - count = (java.math.BigInteger)countAry[0]; - } - //else{ - // System.out.println("rangestart =" +soundingTimeAry[i]+" return null"); - //} - if(count.intValue() > 5){ - Object timeLine= soundingTimeAry[i]; - reSoundingTimeAry.add(timeLine); - } - } - - tl.setTimeLines(reSoundingTimeAry.toArray()); - - //} - return tl; - } // public static NcSoundingProfile getMdlSndData(double lat, double lon, - // String stn, long refTimeL, long validTimeL, String sndTypeStr, - // SndQueryKeyType queryType, String mdlName) { - // //*System.out.println("getPfcSndData input ref time = "+ - // refTimeL+" valid time is " + validTimeL); - // Calendar refTimeCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); - // refTimeCal.setTimeInMillis(refTimeL); - // Calendar validTimeCal = - // Calendar.getInstance(TimeZone.getTimeZone("GMT")); - // validTimeCal.setTimeInMillis(validTimeL); - // return getMdlSndData( lat, lon, refTimeCal, validTimeCal, "ncgrib", - // mdlName); - // } + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + soundingTimeAry = (Object[]) dao.executeSQLQuery(queryStr); + for (int i = 0; i < soundingTimeAry.length; i++) { + /* + * Chin: make sure the time line has more than 5 T(temp) values at + * pressure (levelone) greater/equal than/to 100 hPa (mbar) use this + * SQL : Select count(rangestart) FROM (select rangestart FROM grid + * FULL JOIN grid_info ON grid.info_id=grid_info.id FULL JOIN level + * ON grid_info.level_id= level.id where grid.rangestart = + * '2012-01-26 03:00:00.0' AND grid.rangestart = grid.rangeend AND + * grid_info.datasetid='mesoEta212' AND + * grid_info.parameter_abbreviation='T' AND level.levelonevalue > + * 99) X HAVING count(X.rangestart) >5 + */ + String queryStr1 = new String( + "Select count(rangestart) FROM (select rangestart FROM grid FULL JOIN grid_info ON grid.info_id=grid_info.id FULL JOIN level ON grid_info.level_id= level.id where grid.rangestart = '" + + soundingTimeAry[i] + + "' AND grid.rangestart = grid.rangeend AND grid_info.datasetid='" + + mdlType + + "' AND grid_info.parameter_abbreviation='T' AND level.levelonevalue > 99) X HAVING count(X.rangestart) >2"); + Object[] countAry = null; + // System.out.println("queryStr1 " + queryStr1); + countAry = (Object[]) dao.executeSQLQuery(queryStr1); + java.math.BigInteger count = new java.math.BigInteger("0"); + if (countAry.length > 0) { + // System.out.println("rangestart =" + // +soundingTimeAry[i]+" number="+countAry[0]); + count = (java.math.BigInteger) countAry[0]; + } + // else{ + // System.out.println("rangestart =" + // +soundingTimeAry[i]+" return null"); + // } + if (count.intValue() > 2) { + Object timeLine = soundingTimeAry[i]; + reSoundingTimeAry.add(timeLine); + } + } - /** - * Returns a list of profile for location (lat,lon) array, time, and model for - * grib or ncgrib data. - * - * @param double[][] latLonArray, e.g. at nth element, lat=[n][0], lon=[n][1] - * @param refTimeCal - * data record reference time - * @param validTimeCal - * data record valid time - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param mdlName - * the name of the model - * @return the profile - * created @ 3/28/2012 - */ - public static List getMdlSndDataProfileList(double[][] latLonArray, - String refTime, String validTime, String pluginName, String mdlName) { - double lat, lon; - //System.out.println("getMdlSndData lat=" + lat + " lon="+lon); - long t01 = System.currentTimeMillis(); - NcSoundingProfile pf = new NcSoundingProfile(); - //NcSoundingCube cube = new NcSoundingCube(); - List soundingProfileList = new ArrayList(); - List levels = getModelLevels(refTime, validTime, pluginName, mdlName); - if (levels.size() == 0) { - System.out.println("getModelLevels return 0; file=" + refTime+ " stime="+validTime + " gribtype="+ pluginName + " modeltype="+mdlName); - return soundingProfileList; - } - //System.out.println("getModelLevels = "+ levels.size()+" levels, took "+ (System.currentTimeMillis()-t01) + " ms"); - - List points = new ArrayList(); - for(int k =0; k< latLonArray.length; k++){ - lat=latLonArray[k][0]; - lon=latLonArray[k][1] ; - Point pnt = getLatLonIndices(lat, lon, refTime, validTime, levels.get(0).toString(), - pluginName, mdlName); - if (pnt == null) { - System.out.println("getLatLonIndices return 0; lat=" + lat + " lon="+lon+" stime="+validTime + " gribtype="+ pluginName + " modeltype="+mdlName); - } - else{ - points.add(pnt); - } - } - if(points.size()==0){ - return soundingProfileList; - } - long t011 = System.currentTimeMillis(); - soundingProfileList = queryProfileListByPointGroup(points, - refTime, validTime, pluginName, mdlName, levels); - System.out.println("queryProfileListByPointGroup took "+ (System.currentTimeMillis()-t011) + " ms"); + tl.setTimeLines(reSoundingTimeAry.toArray()); - return soundingProfileList; - /* The floowing should be done in queryProfileListByPointGroup() - //System.out.println("getModelSoundingLayerList= "+ layerList.size()+ " layers, took "+ (System.currentTimeMillis()-t012) + " ms"); - //pf.setStationLatitude( lat); - //pf.setStationLongitude( lon); - //Float sfcPressure = getModelSfcPressure(pnt, refTime, validTime, - // pluginName, mdlName); - //System.out.println("getModelSfcPressure took "+ (System.currentTimeMillis()-t013) + " ms"); - //if (sfcPressure == null) { - // pf.setSfcPress(-9999.f); - //} - //else { - // if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) - // pf.setSfcPress(sfcPressure/100F); - // else - // pf.setSfcPress(sfcPressure); - //} - //System.out.println("surface pressure ="+pf.getSfcPress()+ " lat= "+lat+ " lon="+lon); - //calculate dew point if necessary - long t014 = System.currentTimeMillis(); - MergeSounding ms = new MergeSounding(); - //ms.spfhToDewpoint(layerList); - ms.rhToDewpoint(layerList); - System.out.println("MergeSounding took "+ (System.currentTimeMillis()-t014) + " ms"); - - - pf.setSoundingLyLst(layerList); - - - soundingProfileList.add(pf); - //cube.setSoundingProfileList(soundingProfileList); - //cube.setRtnStatus(NcSoundingCube.QueryStatus.OK); - long t02 = System.currentTimeMillis(); - System.out.println("MDL cube retreival took " + (t02 - t01)); - return pf; - */ + // } + return tl; + } // public static NcSoundingProfile getMdlSndData(double lat, double lon, - } - /** - * Returns a profile for a specified location (lat,lon), time, and model for - * grib or ncgrib data. - * - * @param lat - * location latitude - * @param lon - * location longitude - * @param refTimeCal - * data record reference time - * @param validTimeCal - * data record valid time - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param mdlName - * the name of the model - * @return the profile - * - public static NcSoundingProfile getMdlSndData(double lat, double lon, - String refTime, String validTime, String pluginName, String mdlName) { - System.out.println("getMdlSndData lat=" + lat + " lon="+lon); - long t01 = System.currentTimeMillis(); - NcSoundingProfile pf = new NcSoundingProfile(); - List levels = getModelLevels(refTime, validTime, pluginName, mdlName); - if (levels.size() == 0) { - System.out.println("getModelLevels return 0; file=" + refTime+ " stime="+validTime + " gribtype="+ pluginName + " modeltype="+mdlName); - pf.setRtnStatus(NcSoundingCube.QueryStatus.FAILED); - return pf; - } - System.out.println("getModelLevels = "+ levels.size()+" levels, took "+ (System.currentTimeMillis()-t01) + " ms"); - long t011 = System.currentTimeMillis(); - Point pnt = getLatLonIndices(lat, lon, refTime, validTime, levels.get(0).toString(), - pluginName, mdlName); - if (pnt == null) { - System.out.println("getLatLonIndices return 0; lat=" + lat + " lon="+lon+" stime="+validTime + " gribtype="+ pluginName + " modeltype="+mdlName); - - pf.setRtnStatus(NcSoundingCube.QueryStatus.LOCATION_NOT_FOUND); - return pf; + // String stn, long refTimeL, long validTimeL, String sndTypeStr, + // SndQueryKeyType queryType, String mdlName) { + // //*System.out.println("getPfcSndData input ref time = "+ + // refTimeL+" valid time is " + validTimeL); + // Calendar refTimeCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); + // refTimeCal.setTimeInMillis(refTimeL); + // Calendar validTimeCal = + // Calendar.getInstance(TimeZone.getTimeZone("GMT")); + // validTimeCal.setTimeInMillis(validTimeL); + // return getMdlSndData( lat, lon, refTimeCal, validTimeCal, "ncgrib", + // mdlName); + // } - } - System.out.println("getLatLonIndices pntX=" + pnt.getX()+ " pntY=" + pnt.getY()+ " took "+ (System.currentTimeMillis()-t011) + " ms"); - long t012 = System.currentTimeMillis(); - List layerList = getModelSoundingLayerList(pnt, - refTime, validTime, pluginName, mdlName, levels); - if (layerList.size() == 0) { - System.out.println("getModelSoundingLayerList return 0; lat=" + lat + " lon="+lon+" stime="+validTime + " gribtype="+ pluginName + " modeltype="+mdlName); - - - pf.setRtnStatus(NcSoundingCube.QueryStatus.FAILED); - return pf; - } - - System.out.println("getModelSoundingLayerList= "+ layerList.size()+ " layers, took "+ (System.currentTimeMillis()-t012) + " ms"); - - pf.setStationLatitude( lat); - pf.setStationLongitude( lon); - Float sfcPressure = getModelSfcPressure(pnt, refTime, validTime, - pluginName, mdlName); - //System.out.println("getModelSfcPressure took "+ (System.currentTimeMillis()-t013) + " ms"); - if (sfcPressure == null) { - pf.setSfcPress(-9999.f); - } - else { - if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) - pf.setSfcPress(sfcPressure/100F); - else - pf.setSfcPress(sfcPressure); - } - //System.out.println("surface pressure ="+pf.getSfcPress()+ " lat= "+lat+ " lon="+lon); - //calculate dew point if necessary - long t014 = System.currentTimeMillis(); - MergeSounding ms = new MergeSounding(); - //ms.spfhToDewpoint(layerList); - ms.rhToDewpoint(layerList); - System.out.println("MergeSounding took "+ (System.currentTimeMillis()-t014) + " ms"); - - - pf.setSoundingLyLst(layerList); - - long t02 = System.currentTimeMillis(); - System.out.println("MDL cube retreival took " + (t02 - t01)); - return pf; + /** + * Returns a list of profile for location (lat,lon) array, time, and model + * for grib or ncgrib data. + * + * @param double[][] latLonArray, e.g. at nth element, lat=[n][0], + * lon=[n][1] + * @param refTimeCal + * data record reference time + * @param validTimeCal + * data record valid time + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param mdlName + * the name of the model + * @return the profile created @ 3/28/2012 + */ + public static List getMdlSndDataProfileList( + double[][] latLonArray, String refTime, String validTime, + String pluginName, String mdlName) { + double lat, lon; + // System.out.println("getMdlSndData lat=" + lat + " lon="+lon); + long t01 = System.currentTimeMillis(); + NcSoundingProfile pf = new NcSoundingProfile(); + // NcSoundingCube cube = new NcSoundingCube(); + List soundingProfileList = new ArrayList(); + List levels = getModelLevels(refTime, validTime, pluginName, mdlName); + if (levels.size() == 0) { + System.out.println("getModelLevels return 0; file=" + refTime + + " stime=" + validTime + " gribtype=" + pluginName + + " modeltype=" + mdlName); + return soundingProfileList; + } + // System.out.println("getModelLevels = "+ + // levels.size()+" levels, took "+ (System.currentTimeMillis()-t01) + + // " ms"); - }*/ + List points = new ArrayList(); + for (int k = 0; k < latLonArray.length; k++) { + lat = latLonArray[k][0]; + lon = latLonArray[k][1]; + Point pnt = getLatLonIndices(lat, lon, refTime, validTime, levels + .get(0).toString(), pluginName, mdlName); + if (pnt == null) { + System.out.println("getLatLonIndices return 0; lat=" + lat + + " lon=" + lon + " stime=" + validTime + " gribtype=" + + pluginName + " modeltype=" + mdlName); + } else { + points.add(pnt); + } + } + if (points.size() == 0) { + return soundingProfileList; + } + long t011 = System.currentTimeMillis(); + soundingProfileList = queryProfileListByPointGroup(points, refTime, + validTime, pluginName, mdlName, levels); + System.out.println("queryProfileListByPointGroup took " + + (System.currentTimeMillis() - t011) + " ms"); - public static NcSoundingModel getMdls(String pluginName) { - NcSoundingModel mdls = new NcSoundingModel(); - Object[] mdlName = null; + return soundingProfileList; + /* + * The floowing should be done in queryProfileListByPointGroup() + * //System.out.println("getModelSoundingLayerList= "+ layerList.size()+ + * " layers, took "+ (System.currentTimeMillis()-t012) + " ms"); + * //pf.setStationLatitude( lat); //pf.setStationLongitude( lon); + * //Float sfcPressure = getModelSfcPressure(pnt, refTime, validTime, // + * pluginName, mdlName); + * //System.out.println("getModelSfcPressure took "+ + * (System.currentTimeMillis()-t013) + " ms"); //if (sfcPressure == + * null) { // pf.setSfcPress(-9999.f); //} //else { // if + * (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) // + * pf.setSfcPress(sfcPressure/100F); // else // + * pf.setSfcPress(sfcPressure); //} + * //System.out.println("surface pressure ="+pf.getSfcPress()+ + * " lat= "+lat+ " lon="+lon); //calculate dew point if necessary long + * t014 = System.currentTimeMillis(); MergeSounding ms = new + * MergeSounding(); //ms.spfhToDewpoint(layerList); + * ms.rhToDewpoint(layerList); System.out.println("MergeSounding took "+ + * (System.currentTimeMillis()-t014) + " ms"); + * + * + * pf.setSoundingLyLst(layerList); + * + * + * soundingProfileList.add(pf); + * //cube.setSoundingProfileList(soundingProfileList); + * //cube.setRtnStatus(NcSoundingCube.QueryStatus.OK); long t02 = + * System.currentTimeMillis(); + * System.out.println("MDL cube retreival took " + (t02 - t01)); return + * pf; + */ + + } + + /** + * Returns a profile for a specified location (lat,lon), time, and model for + * grib or ncgrib data. + * + * @param lat + * location latitude + * @param lon + * location longitude + * @param refTimeCal + * data record reference time + * @param validTimeCal + * data record valid time + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param mdlName + * the name of the model + * @return the profile + * + * public static NcSoundingProfile getMdlSndData(double lat, double + * lon, String refTime, String validTime, String pluginName, String + * mdlName) { System.out.println("getMdlSndData lat=" + lat + + * " lon="+lon); long t01 = System.currentTimeMillis(); + * NcSoundingProfile pf = new NcSoundingProfile(); List levels = + * getModelLevels(refTime, validTime, pluginName, mdlName); if + * (levels.size() == 0) { + * System.out.println("getModelLevels return 0; file=" + refTime+ + * " stime="+validTime + " gribtype="+ pluginName + + * " modeltype="+mdlName); + * pf.setRtnStatus(NcSoundingCube.QueryStatus.FAILED); return pf; } + * System.out.println("getModelLevels = "+ + * levels.size()+" levels, took "+ (System.currentTimeMillis()-t01) + * + " ms"); long t011 = System.currentTimeMillis(); Point pnt = + * getLatLonIndices(lat, lon, refTime, validTime, + * levels.get(0).toString(), pluginName, mdlName); if (pnt == null) + * { System.out.println("getLatLonIndices return 0; lat=" + lat + + * " lon="+lon+" stime="+validTime + " gribtype="+ pluginName + + * " modeltype="+mdlName); + * + * pf.setRtnStatus(NcSoundingCube.QueryStatus.LOCATION_NOT_FOUND); + * return pf; + * + * } System.out.println("getLatLonIndices pntX=" + pnt.getX()+ + * " pntY=" + pnt.getY()+ " took "+ + * (System.currentTimeMillis()-t011) + " ms"); long t012 = + * System.currentTimeMillis(); List layerList = + * getModelSoundingLayerList(pnt, refTime, validTime, pluginName, + * mdlName, levels); if (layerList.size() == 0) { + * System.out.println("getModelSoundingLayerList return 0; lat=" + + * lat + " lon="+lon+" stime="+validTime + " gribtype="+ pluginName + * + " modeltype="+mdlName); + * + * + * pf.setRtnStatus(NcSoundingCube.QueryStatus.FAILED); return pf; } + * + * System.out.println("getModelSoundingLayerList= "+ + * layerList.size()+ " layers, took "+ + * (System.currentTimeMillis()-t012) + " ms"); + * + * pf.setStationLatitude( lat); pf.setStationLongitude( lon); Float + * sfcPressure = getModelSfcPressure(pnt, refTime, validTime, + * pluginName, mdlName); + * //System.out.println("getModelSfcPressure took "+ + * (System.currentTimeMillis()-t013) + " ms"); if (sfcPressure == + * null) { pf.setSfcPress(-9999.f); } else { if + * (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) + * pf.setSfcPress(sfcPressure/100F); else + * pf.setSfcPress(sfcPressure); } + * //System.out.println("surface pressure ="+pf.getSfcPress()+ + * " lat= "+lat+ " lon="+lon); //calculate dew point if necessary + * long t014 = System.currentTimeMillis(); MergeSounding ms = new + * MergeSounding(); //ms.spfhToDewpoint(layerList); + * ms.rhToDewpoint(layerList); + * System.out.println("MergeSounding took "+ + * (System.currentTimeMillis()-t014) + " ms"); + * + * + * pf.setSoundingLyLst(layerList); + * + * long t02 = System.currentTimeMillis(); + * System.out.println("MDL cube retreival took " + (t02 - t01)); + * return pf; + * + * } + */ + + public static NcSoundingModel getMdls(String pluginName) { + NcSoundingModel mdls = new NcSoundingModel(); + Object[] mdlName = null; if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { CoreDao dao = new CoreDao(DaoConfig.forClass(GridInfoRecord.class)); - String queryStr = new String("Select Distinct modelname FROM grib_models ORDER BY modelname"); - mdlName = (Object[]) dao.executeSQLQuery(queryStr); - } - if(mdlName!=null && mdlName.length>0){ - List mdlList = new ArrayList(); - for(Object mn : mdlName){ - mdlList.add((String)mn); - } - mdls.setMdlList(mdlList); - } - return mdls; - } + String queryStr = new String( + "Select Distinct modelname FROM grib_models ORDER BY modelname"); + mdlName = (Object[]) dao.executeSQLQuery(queryStr); + } + if (mdlName != null && mdlName.length > 0) { + List mdlList = new ArrayList(); + for (Object mn : mdlName) { + mdlList.add((String) mn); + } + mdls.setMdlList(mdlList); + } + return mdls; + } - public static boolean isPointWithinGridGeometry(double lat, double lon, - String refTime, String validTime, String pluginName, - String modelName) { - - ISpatialObject spatialArea = null; - MathTransform crsFromLatLon = null; + public static boolean isPointWithinGridGeometry(double lat, double lon, + String refTime, String validTime, String pluginName, + String modelName) { + + ISpatialObject spatialArea = null; + MathTransform crsFromLatLon = null; if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); - query.setMaxResults(new Integer(1)); - query.addQueryParam(GridConstants.DATASET_ID, modelName); - query.addQueryParam("dataTime.refTime", refTime); - query.addQueryParam("dataTime.validPeriod.start", validTime); + query.setMaxResults(new Integer(1)); + query.addQueryParam(GridConstants.DATASET_ID, modelName); + query.addQueryParam("dataTime.refTime", refTime); + query.addQueryParam("dataTime.validPeriod.start", validTime); - try { - List recList = ((List) dao - .queryByCriteria(query)); - if (recList.size() == 0) { - return false; - } else { - GridRecord rec = recList.get(0); - spatialArea = rec.getSpatialObject(); - } + try { + List recList = ((List) dao + .queryByCriteria(query)); + if (recList.size() == 0) { + return false; + } else { + GridRecord rec = recList.get(0); + spatialArea = rec.getSpatialObject(); + } - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return false; - } - } + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return false; + } + } - try { - crsFromLatLon = MapUtil + try { + crsFromLatLon = MapUtil .getTransformFromLatLon(spatialArea.getCrs()); } catch (FactoryException e) { // TODO Auto-generated catch block @@ -465,611 +478,568 @@ public class MdlSoundingQuery { GeometryFactory gf = new GeometryFactory(); - Coordinate p1 = new Coordinate(lowerCorner.getOrdinate(0), lowerCorner - .getOrdinate(1)); - Coordinate p2 = new Coordinate(lowerCorner.getOrdinate(0), upperCorner - .getOrdinate(1)); - Coordinate p3 = new Coordinate(upperCorner.getOrdinate(0), upperCorner - .getOrdinate(1)); - Coordinate p4 = new Coordinate(upperCorner.getOrdinate(0), lowerCorner - .getOrdinate(1)); + Coordinate p1 = new Coordinate(lowerCorner.getOrdinate(0), + lowerCorner.getOrdinate(1)); + Coordinate p2 = new Coordinate(lowerCorner.getOrdinate(0), + upperCorner.getOrdinate(1)); + Coordinate p3 = new Coordinate(upperCorner.getOrdinate(0), + upperCorner.getOrdinate(1)); + Coordinate p4 = new Coordinate(upperCorner.getOrdinate(0), + lowerCorner.getOrdinate(1)); LinearRing lr = gf.createLinearRing(new Coordinate[] { p1, p2, p3, p4, p1 }); Polygon gridGeometry = gf.createPolygon(lr, null); - + DirectPosition ll = new GeneralDirectPosition(MapUtil.LATLON_PROJECTION); - + Coordinate coord = new Coordinate(lon, lat); ll.setOrdinate(0, coord.x); ll.setOrdinate(1, coord.y); -// DirectPosition crs = new GeneralDirectPosition(spatialArea.getCrs()); -// try { -// crsFromLatLon.transform(ll, crs); -// } catch (MismatchedDimensionException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } catch (TransformException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// -// Coordinate newC = new Coordinate(crs.getOrdinate(0), crs.getOrdinate(1)); + // DirectPosition crs = new GeneralDirectPosition(spatialArea.getCrs()); + // try { + // crsFromLatLon.transform(ll, crs); + // } catch (MismatchedDimensionException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } catch (TransformException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + // + // Coordinate newC = new Coordinate(crs.getOrdinate(0), + // crs.getOrdinate(1)); Coordinate newC = new Coordinate(ll.getOrdinate(0), ll.getOrdinate(1)); com.vividsolutions.jts.geom.Point p = gf.createPoint(newC); return gridGeometry.contains(p); - } - - public static boolean isPointWithinGridGeometry2(double lat, double lon, - String refTime, String validTime, String pluginName, - String modelName) { - - ISpatialObject spatialArea = null; - MathTransform crsFromLatLon = null; + } + + public static boolean isPointWithinGridGeometry2(double lat, double lon, + String refTime, String validTime, String pluginName, + String modelName) { + + ISpatialObject spatialArea = null; + MathTransform crsFromLatLon = null; if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); - query.setMaxResults(new Integer(1)); - query.addQueryParam(GridConstants.DATASET_ID, modelName); - query.addQueryParam("dataTime.refTime", refTime); - query.addQueryParam("dataTime.validPeriod.start", validTime); + query.setMaxResults(new Integer(1)); + query.addQueryParam(GridConstants.DATASET_ID, modelName); + query.addQueryParam("dataTime.refTime", refTime); + query.addQueryParam("dataTime.validPeriod.start", validTime); - try { - List recList = ((List) dao - .queryByCriteria(query)); - if (recList.size() == 0) { - return false; - } else { - GridRecord rec = recList.get(0); - spatialArea = rec.getSpatialObject(); - } + try { + List recList = ((List) dao + .queryByCriteria(query)); + if (recList.size() == 0) { + return false; + } else { + GridRecord rec = recList.get(0); + spatialArea = rec.getSpatialObject(); + } + + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return false; + } + } - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return false; - } - } - Geometry g = spatialArea.getGeometry(); - + GeometryFactory geometryFactory = new GeometryFactory(); - CoordinateSequence sequence = new CoordinateArraySequence(g.getCoordinates()); - - + CoordinateSequence sequence = new CoordinateArraySequence( + g.getCoordinates()); + Coordinate[] oldCoords = sequence.toCoordinateArray(); Coordinate[] newCoords = new Coordinate[oldCoords.length]; /* * adjust longitude for global grids whose lon span goes from 0 to 360 * and the asked lon is negative. */ - for ( Coordinate c:oldCoords ){ - double x = c.x; - double y = c.y; - double z = c.z; - if ( x >=180.0 && x <=360.0 && lon < 0.0) { - lon = lon + 360.0; - break; - } + for (Coordinate c : oldCoords) { + double x = c.x; + double y = c.y; + double z = c.z; + if (x >= 180.0 && x <= 360.0 && lon < 0.0) { + lon = lon + 360.0; + break; + } } Coordinate coord = new Coordinate(lon, lat); - LinearRing ring = new LinearRing(sequence, geometryFactory); - Polygon gridGeometry = new Polygon(ring, null, geometryFactory); - com.vividsolutions.jts.geom.Point p = geometryFactory.createPoint(coord); - + LinearRing ring = new LinearRing(sequence, geometryFactory); + Polygon gridGeometry = new Polygon(ring, null, geometryFactory); + com.vividsolutions.jts.geom.Point p = geometryFactory + .createPoint(coord); + return gridGeometry.contains(p); - } + } - /** - * Returns the value of surface pressure for a specified location, time, and - * model for grib or ncgrib data. - * - * @param pnt - * location - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param modelName - * the name of the model - * @return surface pressure - */ - public static Float getModelSfcPressure(Point pnt, String refTime, - String validTime, String pluginName, String modelName) { + /** + * Returns the value of surface pressure for a specified location, time, and + * model for grib or ncgrib data. + * + * @param pnt + * location + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param modelName + * the name of the model + * @return surface pressure + */ + public static Float getModelSfcPressure(Point pnt, String refTime, + String validTime, String pluginName, String modelName) { if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); - query.addQueryParam(GridConstants.LEVEL_ONE, "0.0"); - query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0"); - query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MSL"); - query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "PMSL"); - query.addQueryParam(GridConstants.DATASET_ID, modelName); - query.addQueryParam("dataTime.refTime", refTime); - query.addQueryParam("dataTime.validPeriod.start", validTime); + query.addQueryParam(GridConstants.LEVEL_ONE, "0.0"); + query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0"); + query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MSL"); + query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "PMSL"); + query.addQueryParam(GridConstants.DATASET_ID, modelName); + query.addQueryParam("dataTime.refTime", refTime); + query.addQueryParam("dataTime.validPeriod.start", validTime); - GridRecord rec = null; - try { - List recList = ((List) dao - .queryByCriteria(query)); - if (recList.size() == 0) { - return null; - } else { - rec = recList.get(0); - PointIn pointIn = new PointIn(pluginName, rec, pnt.x, pnt.y); - try { - float fdata = pointIn.getPointData(); - return new Float(fdata); - } catch (PluginException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; - } - } + GridRecord rec = null; + try { + List recList = ((List) dao + .queryByCriteria(query)); + if (recList.size() == 0) { + return null; + } else { + rec = recList.get(0); + PointIn pointIn = new PointIn(pluginName, rec, pnt.x, pnt.y); + try { + float fdata = pointIn.getPointData(); + return new Float(fdata); + } catch (PluginException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } + } - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; - } - } - return null; + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } + } + return null; - } + } - /** - * Returns a list of NcSoundingProfile for a group of Point with specific ref and range time, and - * model for grib or ncgrib data. - * - * @param pnt - * location - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param modelName - * the name of the model - * @param levels - * list of vertical levels - * @return list of NcSoundingLayer objects - * - * Created @ 3/28/2012 - */ + /** + * Returns a list of NcSoundingProfile for a group of Point with specific + * ref and range time, and model for grib or ncgrib data. + * + * @param pnt + * location + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param modelName + * the name of the model + * @param levels + * list of vertical levels + * @return list of NcSoundingLayer objects + * + * Created @ 3/28/2012 + */ - private static List queryProfileListByPointGroup(List points, - String refTime, String validTime, String pluginName, - String modelName, List levels) { - - List soundingProfileList = new ArrayList(); - List fdataArrayList = new ArrayList(); - //long t01 = System.currentTimeMillis(); + private static List queryProfileListByPointGroup( + List points, String refTime, String validTime, + String pluginName, String modelName, List levels) { + + List soundingProfileList = new ArrayList(); + List fdataArrayList = new ArrayList(); + // long t01 = System.currentTimeMillis(); if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - List recList = new ArrayList(); ; - TableQuery query; - try { - query = new TableQuery("metadata", - GridRecord.class.getName()); - query.addParameter(GridConstants.MASTER_LEVEL_NAME, "MB"); - query.addParameter(GridConstants.DATASET_ID, modelName); - query.addList(GridConstants.PARAMETER_ABBREVIATION, - D2D_PARMS); - query.addParameter("dataTime.refTime", refTime); - query.addParameter("dataTime.validPeriod.start", validTime); - query.setSortBy(GridConstants.LEVEL_ONE, false); - recList = (List) query.execute(); - if (recList.size() != 0) { - PointIn pointIn = new PointIn(pluginName, recList.get(0)); - fdataArrayList = pointIn.getHDF5GroupDataPoints(recList.toArray(),points); - } - }catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - int index=0; - GridGeometry2D geom = MapUtil.getGridGeometry(spatialArea); - CoordinateReferenceSystem crs = geom.getCoordinateReferenceSystem(); - Coordinate coord= new Coordinate(45,45); + List recList = new ArrayList(); + ; + TableQuery query; + try { + query = new TableQuery("metadata", GridRecord.class.getName()); + query.addParameter(GridConstants.MASTER_LEVEL_NAME, "MB"); + query.addParameter(GridConstants.DATASET_ID, modelName); + query.addList(GridConstants.PARAMETER_ABBREVIATION, D2D_PARMS); + query.addParameter("dataTime.refTime", refTime); + query.addParameter("dataTime.validPeriod.start", validTime); + query.setSortBy(GridConstants.LEVEL_ONE, false); + recList = (List) query.execute(); + if (recList.size() != 0) { + PointIn pointIn = new PointIn(pluginName, recList.get(0)); + fdataArrayList = pointIn.getHDF5GroupDataPoints( + recList.toArray(), points); + } + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + int index = 0; + GridGeometry2D geom = MapUtil.getGridGeometry(spatialArea); + CoordinateReferenceSystem crs = geom.getCoordinateReferenceSystem(); + Coordinate coord = new Coordinate(45, 45); - for(float[] fdataArray: fdataArrayList ){ - //one fdataArray is for one Point or say one profile - NcSoundingProfile pf = new NcSoundingProfile(); - List soundLyList = new ArrayList(); - Point pnt = points.get(index); - Object[] recArray = recList.toArray(); - for (Object level : levels){ - NcSoundingLayer soundingLy = new NcSoundingLayer(); - double pressure= (Double)level; - soundingLy.setPressure( (float)pressure); - for (int i=0; i < recArray.length; i++) { - GridRecord rec1 = (GridRecord)recArray[i]; - float fdata = fdataArray[i]; - if(rec1.getLevel().getLevelonevalue() == pressure){ - String prm = rec1.getParameter().getAbbreviation(); - switch (D2DParmNames.valueOf(prm)) { - case GH: - soundingLy.setGeoHeight(fdata); - break; - case uW: - // HDF5 data in unit of m/s, convert to Knots 4/12/2012 - soundingLy.setWindU((float)metersPerSecondToKnots.convert(fdata)); - break; - case vW: - // HDF5 data in unit of m/s, convert to Knots 4/12/2012 - soundingLy.setWindV((float)metersPerSecondToKnots.convert(fdata)); - break; - case T: - soundingLy.setTemperature((float) kelvinToCelsius - .convert(fdata)); - break; - case DWPK: - soundingLy.setDewpoint((float) kelvinToCelsius - .convert(fdata)); - break; - case OMEG: - soundingLy.setOmega(fdata); - break; - case RH: - soundingLy.setRelativeHumidity(fdata); - break; - } - } - } - soundLyList.add(soundingLy); - } - try { - coord = PointUtil.determineLatLon(pnt, crs, geom); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - //System.out.println(" point coord.y="+coord.y+ " coord.x="+ coord.x); - pf.setStationLatitude(coord.y); - pf.setStationLongitude( coord.x); - //Float sfcPressure = getModelSfcPressure(pnt, refTime, validTime, - // pluginName, modelName); - //System.out.println("getModelSfcPressure took "+ (System.currentTimeMillis()-t013) + " ms"); - ///if (sfcPressure == null) { - pf.setSfcPress(-9999.f); - //} - //else { - // pf.setSfcPress(sfcPressure/100F); - //} - //System.out.println("surface pressure ="+pf.getSfcPress()+ " lat= "+lat+ " lon="+lon); - //calculate dew point if necessary - MergeSounding ms = new MergeSounding(); - //ms.spfhToDewpoint(layerList); - ms.rhToDewpoint(soundLyList); - pf.setSoundingLyLst(soundLyList); - soundingProfileList.add(pf); - index++; - } - } - return soundingProfileList; - } - /** - * Returns a list of NcSoundingLayer for a specified location, time, and - * model for grib or ncgrib data. - * - * @param pnt - * location - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param modelName - * the name of the model - * @param levels - * list of vertical levels - * @return list of NcSoundingLayer objects - * + for (float[] fdataArray : fdataArrayList) { + // one fdataArray is for one Point or say one profile + NcSoundingProfile pf = new NcSoundingProfile(); + List soundLyList = new ArrayList(); + Point pnt = points.get(index); + Object[] recArray = recList.toArray(); + for (Object level : levels) { + NcSoundingLayer soundingLy = new NcSoundingLayer(); + double pressure = (Double) level; + soundingLy.setPressure((float) pressure); + for (int i = 0; i < recArray.length; i++) { + GridRecord rec1 = (GridRecord) recArray[i]; + float fdata = fdataArray[i]; + if (rec1.getLevel().getLevelonevalue() == pressure) { + String prm = rec1.getParameter().getAbbreviation(); + switch (D2DParmNames.valueOf(prm)) { + case GH: + soundingLy.setGeoHeight(fdata); + break; + case uW: + // HDF5 data in unit of m/s, convert to Knots + // 4/12/2012 + soundingLy + .setWindU((float) metersPerSecondToKnots + .convert(fdata)); + break; + case vW: + // HDF5 data in unit of m/s, convert to Knots + // 4/12/2012 + soundingLy + .setWindV((float) metersPerSecondToKnots + .convert(fdata)); + break; + case T: + soundingLy + .setTemperature((float) kelvinToCelsius + .convert(fdata)); + break; + case DWPK: + soundingLy.setDewpoint((float) kelvinToCelsius + .convert(fdata)); + break; + case OMEG: + soundingLy.setOmega(fdata); + break; + case RH: + soundingLy.setRelativeHumidity(fdata); + break; + case DpD: + soundingLy.setDpd(fdata); + break; + } + } + } + soundLyList.add(soundingLy); + } + try { + coord = PointUtil.determineLatLon(pnt, crs, geom); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + // System.out.println(" point coord.y="+coord.y+ " coord.x="+ + // coord.x); + pf.setStationLatitude(coord.y); + pf.setStationLongitude(coord.x); + // Float sfcPressure = getModelSfcPressure(pnt, refTime, + // validTime, + // pluginName, modelName); + // System.out.println("getModelSfcPressure took "+ + // (System.currentTimeMillis()-t013) + " ms"); + // /if (sfcPressure == null) { + pf.setSfcPress(-9999.f); + // } + // else { + // pf.setSfcPress(sfcPressure/100F); + // } + // System.out.println("surface pressure ="+pf.getSfcPress()+ + // " lat= "+lat+ " lon="+lon); + // calculate dew point if necessary + MergeSounding ms = new MergeSounding(); + // ms.spfhToDewpoint(layerList); + ms.rhToDewpoint(soundLyList); + ms.dpdToDewpoint(soundLyList); + pf.setSoundingLyLst(soundLyList); + soundingProfileList.add(pf); + index++; + } + } + return soundingProfileList; + } - private static List getModelSoundingLayerList(Point pnt, - String refTime, String validTime, String pluginName, - String modelName, List levels) { - List soundLyList = new ArrayList(); + /** + * Returns a list of NcSoundingLayer for a specified location, time, and + * model for grib or ncgrib data. + * + * @param pnt + * location + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param modelName + * the name of the model + * @param levels + * list of vertical levels + * @return list of NcSoundingLayer objects + * + * + * private static List + * getModelSoundingLayerList(Point pnt, String refTime, String + * validTime, String pluginName, String modelName, List levels) { + * List soundLyList = new + * ArrayList(); + * + * //long t01 = System.currentTimeMillis(); if + * (pluginName.equalsIgnoreCase(NCGRIB_TBL_NAME)) { + * + * TableQuery query; try { query = new TableQuery("metadata", + * NcgribRecord.class.getName()); query.addParameter("vcord", + * "PRES"); query.addParameter("modelName", modelName); + * query.addList("parm",NC_PARMS);//parmList.toString()); // + * query.addParameter("dataTime.refTime", refTime); + * query.addParameter("dataTime.validPeriod.start", validTime); + * //query.addParameter("glevel1", level.toString()); + * query.setSortBy("glevel1", false); + * + * + * List recList = (List) + * query.execute(); + * System.out.println("Ncgrib group query0 result size ="+ + * recList.size()); + * + * if (recList.size() != 0) { + * + * PointIn pointIn = new PointIn(pluginName, recList.get(0), pnt.x, + * pnt.y); //Chin note: // We query all levels (pressure) and all + * parameters (at that level) at once. // The return array + * (fdataArray) are listed in the same order as query array + * (recList.toArray()) //However, returned array does not tell you + * which parameter itself is. //Therefore, we have to use + * information in query array to find out returned value's type + * (which parameter it is) // Further, we have to sort and store + * returned values to NcSoundingLayer based on its level (pressure) + * // Parameters in same level should be stored in one same + * NcSoundingLayer float[] fdataArray = + * pointIn.getHDF5GroupDataPoint(recList.toArray()); Object[] + * recArray = recList.toArray(); for (Object level : levels){ + * NcSoundingLayer soundingLy = new NcSoundingLayer(); int pressure= + * (Integer)level; soundingLy.setPressure( pressure); + * + * for (int i=0; i < recArray.length; i++) { NcgribRecord rec1 = + * (NcgribRecord)recArray[i]; float fdata = fdataArray[i]; + * if(rec1.getGlevel1() == pressure){ String prm = rec1.getParm(); + * //System.out.println("point.x="+ pnt.x + + * " .y="+pnt.y+"pressure="+rec1 // .getGlevel1()+ " Parm="+prm ); + * //long t01 = System.currentTimeMillis(); switch + * (NcParmNames.valueOf(prm)) { case HGHT: + * soundingLy.setGeoHeight(fdata); break; case UREL: // HDF5 data in + * unit of Knots, no conversion needed soundingLy.setWindU(fdata); + * break; case VREL: // HDF5 data in unit of Knots, no conversion + * needed soundingLy.setWindV(fdata); break; case TMPK: + * soundingLy.setTemperature((float) kelvinToCelsius + * .convert(fdata)); break; case DWPK: + * soundingLy.setDewpoint((float) kelvinToCelsius .convert(fdata)); + * break; case SPFH: soundingLy.setSpecHumidity(fdata); break; case + * OMEG: soundingLy.setOmega(fdata); break; case RELH: + * soundingLy.setRelativeHumidity(fdata); break; } } } + * soundLyList.add(soundingLy); } } + * + * } catch (DataAccessLayerException e) { // TODO Auto-generated + * catch block e.printStackTrace(); } catch (Exception e) { // TODO + * Auto-generated catch block e.printStackTrace(); } + * //System.out.println("getModelSoundingLayerList:total level = "+ + * totalLevel + " total records= "+totalRecords ); + * + * } else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { try { + * TableQuery query = new TableQuery("metadata", + * GribRecord.class.getName()); + * //query.addParameter("modelInfo.level.levelonevalue", // + * level.toString()); + * //query.addParameter("modelInfo.level.leveltwovalue", // + * "-999999.0"); + * query.addParameter("modelInfo.level.masterLevel.name", "MB"); + * query.addParameter("modelInfo.modelName", modelName); + * query.addList("modelInfo.parameterAbbreviation", D2D_PARMS); + * query.addParameter("dataTime.refTime", refTime); + * query.addParameter("dataTime.validPeriod.start", validTime); + * query.setSortBy("modelInfo.level.levelonevalue", false); + * //System.out.println("level = "+ level.toString()); + * + * List recList = (List) query.execute(); + * System.out.println("Grib group query0 result size ="+ + * recList.size()); + * + * if (recList.size() > 0) { PointIn pointIn = new + * PointIn(pluginName, recList.get(0), pnt.x, pnt.y); float[] + * fdataArray = pointIn.getHDF5GroupDataPoint(recList.toArray()); + * Object[] recArray = recList.toArray(); for (Object level : + * levels){ NcSoundingLayer soundingLy = new NcSoundingLayer(); + * double pressure= (Double)level; soundingLy.setPressure( + * (float)pressure); + * + * for (int i=0; i < recArray.length; i++) { GribRecord rec1 = + * (GribRecord)recArray[i]; float fdata = fdataArray[i]; + * if(rec1.getModelInfo().getLevelOneValue() == pressure){ String + * prm = rec1.getModelInfo().getParameterAbbreviation(); + * //System.out.println("point.x="+ pnt.x + + * " .y="+pnt.y+"pressure="+pressure+ " Parm="+prm ); //long t01 = + * System.currentTimeMillis(); switch (D2DParmNames.valueOf(prm)) { + * case GH: soundingLy.setGeoHeight(fdata); break; case uW: // HDF5 + * data in unit of Knots, no conversion needed + * soundingLy.setWindU(fdata); break; case vW: // HDF5 data in unit + * of Knots, no conversion needed soundingLy.setWindV(fdata); break; + * case T: soundingLy.setTemperature((float) kelvinToCelsius + * .convert(fdata)); break; case DWPK: + * soundingLy.setDewpoint((float) kelvinToCelsius .convert(fdata)); + * break; case OMEG: soundingLy.setOmega(fdata); break; case RH: + * soundingLy.setRelativeHumidity(fdata); break; } } } + * soundLyList.add(soundingLy); } } } catch + * (DataAccessLayerException e) { // TODO Auto-generated catch block + * e.printStackTrace(); } catch (Exception e) { // TODO + * Auto-generated catch block e.printStackTrace(); } } + * + * //long t02 = System.currentTimeMillis(); + * //System.out.println("MDL profile retreival took " + (t02 - + * t01)); + * + * for(NcSoundingLayer layer: soundLyList){ + * System.out.println("pre="+ layer.getPressure()+ + * " h="+layer.getGeoHeight()+ " T="+layer.getTemperature()+" D="+ + * layer.getDewpoint()+ " WS="+layer.getWindSpeed()+ + * " WD="+layer.getWindDirection() + " SH="+layer.getSpecHumidity()+ + * " RH="+layer.getRelativeHumidity()); } return soundLyList; } + */ + /** + * Return a list of data vertical levels for a specified time and model for + * grib or ncgrib data. + * + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param modelName + * the name of the model + * @return list of vertical levels + */ + public static List getModelLevels(String refTime, String validTime, + String pluginName, String modelName) { - //long t01 = System.currentTimeMillis(); - if (pluginName.equalsIgnoreCase(NCGRIB_TBL_NAME)) { - - TableQuery query; - try { - query = new TableQuery("metadata", - NcgribRecord.class.getName()); - query.addParameter("vcord", "PRES"); - query.addParameter("modelName", modelName); - query.addList("parm",NC_PARMS);//parmList.toString()); // - query.addParameter("dataTime.refTime", refTime); - query.addParameter("dataTime.validPeriod.start", validTime); - //query.addParameter("glevel1", level.toString()); - query.setSortBy("glevel1", false); - - - List recList = (List) query.execute(); - System.out.println("Ncgrib group query0 result size ="+ recList.size()); - - if (recList.size() != 0) { - - PointIn pointIn = new PointIn(pluginName, recList.get(0), - pnt.x, pnt.y); - //Chin note: - // We query all levels (pressure) and all parameters (at that level) at once. - // The return array (fdataArray) are listed in the same order as query array (recList.toArray()) - //However, returned array does not tell you which parameter itself is. - //Therefore, we have to use information in query array to find out returned value's type (which parameter it is) - // Further, we have to sort and store returned values to NcSoundingLayer based on its level (pressure) - // Parameters in same level should be stored in one same NcSoundingLayer - float[] fdataArray = pointIn.getHDF5GroupDataPoint(recList.toArray()); - Object[] recArray = recList.toArray(); - for (Object level : levels){ - NcSoundingLayer soundingLy = new NcSoundingLayer(); - int pressure= (Integer)level; - soundingLy.setPressure( pressure); - - for (int i=0; i < recArray.length; i++) { - NcgribRecord rec1 = (NcgribRecord)recArray[i]; - float fdata = fdataArray[i]; - if(rec1.getGlevel1() == pressure){ - String prm = rec1.getParm(); - //System.out.println("point.x="+ pnt.x + " .y="+pnt.y+"pressure="+rec1 - // .getGlevel1()+ " Parm="+prm ); - //long t01 = System.currentTimeMillis(); - switch (NcParmNames.valueOf(prm)) { - case HGHT: - soundingLy.setGeoHeight(fdata); - break; - case UREL: - // HDF5 data in unit of Knots, no conversion needed - soundingLy.setWindU(fdata); - break; - case VREL: - // HDF5 data in unit of Knots, no conversion needed - soundingLy.setWindV(fdata); - break; - case TMPK: - soundingLy.setTemperature((float) kelvinToCelsius - .convert(fdata)); - break; - case DWPK: - soundingLy.setDewpoint((float) kelvinToCelsius - .convert(fdata)); - break; - case SPFH: - soundingLy.setSpecHumidity(fdata); - break; - case OMEG: - soundingLy.setOmega(fdata); - break; - case RELH: - soundingLy.setRelativeHumidity(fdata); - break; - } - } - } - soundLyList.add(soundingLy); - } - } - - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - //System.out.println("getModelSoundingLayerList:total level = "+ totalLevel + " total records= "+totalRecords ); - - } - else if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - try { - TableQuery query = new TableQuery("metadata", - GribRecord.class.getName()); - //query.addParameter("modelInfo.level.levelonevalue", - // level.toString()); - //query.addParameter("modelInfo.level.leveltwovalue", - // "-999999.0"); - query.addParameter("modelInfo.level.masterLevel.name", "MB"); - query.addParameter("modelInfo.modelName", modelName); - query.addList("modelInfo.parameterAbbreviation", - D2D_PARMS); - query.addParameter("dataTime.refTime", refTime); - query.addParameter("dataTime.validPeriod.start", validTime); - query.setSortBy("modelInfo.level.levelonevalue", false); - //System.out.println("level = "+ level.toString()); - - List recList = (List) query.execute(); - System.out.println("Grib group query0 result size ="+ recList.size()); - - if (recList.size() > 0) { - PointIn pointIn = new PointIn(pluginName, recList.get(0), - pnt.x, pnt.y); - float[] fdataArray = pointIn.getHDF5GroupDataPoint(recList.toArray()); - Object[] recArray = recList.toArray(); - for (Object level : levels){ - NcSoundingLayer soundingLy = new NcSoundingLayer(); - double pressure= (Double)level; - soundingLy.setPressure( (float)pressure); - - for (int i=0; i < recArray.length; i++) { - GribRecord rec1 = (GribRecord)recArray[i]; - float fdata = fdataArray[i]; - if(rec1.getModelInfo().getLevelOneValue() == pressure){ - String prm = rec1.getModelInfo().getParameterAbbreviation(); - //System.out.println("point.x="+ pnt.x + " .y="+pnt.y+"pressure="+pressure+ " Parm="+prm ); - //long t01 = System.currentTimeMillis(); - switch (D2DParmNames.valueOf(prm)) { - case GH: - soundingLy.setGeoHeight(fdata); - break; - case uW: - // HDF5 data in unit of Knots, no conversion needed - soundingLy.setWindU(fdata); - break; - case vW: - // HDF5 data in unit of Knots, no conversion needed - soundingLy.setWindV(fdata); - break; - case T: - soundingLy.setTemperature((float) kelvinToCelsius - .convert(fdata)); - break; - case DWPK: - soundingLy.setDewpoint((float) kelvinToCelsius - .convert(fdata)); - break; - case OMEG: - soundingLy.setOmega(fdata); - break; - case RH: - soundingLy.setRelativeHumidity(fdata); - break; - } - } - } - soundLyList.add(soundingLy); - } - } - } - catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - //long t02 = System.currentTimeMillis(); - //System.out.println("MDL profile retreival took " + (t02 - t01)); - - for(NcSoundingLayer layer: soundLyList){ - System.out.println("pre="+ layer.getPressure()+ " h="+layer.getGeoHeight()+ " T="+layer.getTemperature()+" D="+ - layer.getDewpoint()+ " WS="+layer.getWindSpeed()+ " WD="+layer.getWindDirection() + " SH="+layer.getSpecHumidity()+ " RH="+layer.getRelativeHumidity()); - } - return soundLyList; - } - */ - /** - * Return a list of data vertical levels for a specified time and model for - * grib or ncgrib data. - * - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param modelName - * the name of the model - * @return list of vertical levels - */ - public static List getModelLevels(String refTime, String validTime, - String pluginName, String modelName) { - - // Listvals = null; + // Listvals = null; if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); - query.addDistinctParameter(GridConstants.LEVEL_ONE); - query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH"); - query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB"); + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); + query.addDistinctParameter(GridConstants.LEVEL_ONE); + query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH"); + query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB"); - query.addQueryParam(GridConstants.DATASET_ID, modelName); - query.addQueryParam("dataTime.refTime", refTime); - query.addQueryParam("dataTime.validPeriod.start", validTime); - query.addOrder(GridConstants.LEVEL_ONE, false); + query.addQueryParam(GridConstants.DATASET_ID, modelName); + query.addQueryParam("dataTime.refTime", refTime); + query.addQueryParam("dataTime.validPeriod.start", validTime); + query.addOrder(GridConstants.LEVEL_ONE, false); - try { - return (List) dao.queryByCriteria(query); + try { + return (List) dao.queryByCriteria(query); - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; - } - } + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } + } - return null; + return null; - } - private static ISpatialObject spatialArea = null; - /** - * Returns the indices of the model grid of the closest point to the - * specified latitude, longitude. - * - * @param lat - * latitude - * @param lon - * longitude - * @param level - * vertical level - * @param pluginName - * the name of the data table ('grib' or 'ncgrib') - * @param modelName - * the name of the model - * @return the point indices - */ - public static Point getLatLonIndices(double lat, double lon, - String refTime, String validTime, String level, String pluginName, - String modelName) { - //ISpatialObject spatialArea = null; + } - Point pnt = null; + private static ISpatialObject spatialArea = null; + + /** + * Returns the indices of the model grid of the closest point to the + * specified latitude, longitude. + * + * @param lat + * latitude + * @param lon + * longitude + * @param level + * vertical level + * @param pluginName + * the name of the data table ('grib' or 'ncgrib') + * @param modelName + * the name of the model + * @return the point indices + */ + public static Point getLatLonIndices(double lat, double lon, + String refTime, String validTime, String level, String pluginName, + String modelName) { + // ISpatialObject spatialArea = null; + + Point pnt = null; if (pluginName.equalsIgnoreCase(D2DGRIB_TBL_NAME)) { - CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); - DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); + CoreDao dao = new CoreDao(DaoConfig.forClass(GridRecord.class)); + DatabaseQuery query = new DatabaseQuery(GridRecord.class.getName()); - query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH"); - query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB"); - query.addQueryParam(GridConstants.DATASET_ID, modelName); - query.addQueryParam("dataTime.refTime", refTime); - query.addQueryParam("dataTime.validPeriod.start", validTime); - query.addQueryParam(GridConstants.LEVEL_ONE, level); - query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0"); + query.addQueryParam(GridConstants.PARAMETER_ABBREVIATION, "GH"); + query.addQueryParam(GridConstants.MASTER_LEVEL_NAME, "MB"); + query.addQueryParam(GridConstants.DATASET_ID, modelName); + query.addQueryParam("dataTime.refTime", refTime); + query.addQueryParam("dataTime.validPeriod.start", validTime); + query.addQueryParam(GridConstants.LEVEL_ONE, level); + query.addQueryParam(GridConstants.LEVEL_TWO, "-999999.0"); - GridRecord rec; - try { - List recList = ((List) dao - .queryByCriteria(query)); - if (recList.size() == 0) { - return null; - } else { - rec = recList.get(0); - spatialArea = rec.getSpatialObject(); - } - } catch (DataAccessLayerException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; - } + GridRecord rec; + try { + List recList = ((List) dao + .queryByCriteria(query)); + if (recList.size() == 0) { + return null; + } else { + rec = recList.get(0); + spatialArea = rec.getSpatialObject(); + } + } catch (DataAccessLayerException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + return null; + } - } - else - return null; + } else + return null; + GridGeometry2D geom = MapUtil.getGridGeometry(spatialArea); - GridGeometry2D geom = MapUtil.getGridGeometry(spatialArea); + CoordinateReferenceSystem crs = geom.getCoordinateReferenceSystem(); + Coordinate coord = new Coordinate(lon, lat); - CoordinateReferenceSystem crs = geom.getCoordinateReferenceSystem(); - Coordinate coord = new Coordinate(lon, lat); + try { + pnt = PointUtil.determineIndex(coord, crs, geom); + Integer nx = spatialArea.getNx(); + Integer ny = spatialArea.getNy(); - try { - pnt = PointUtil.determineIndex(coord, crs, geom); - Integer nx = spatialArea.getNx(); - Integer ny = spatialArea.getNy(); + if (pnt.x > nx || pnt.y > ny) { + return null; + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return pnt; - if ( pnt.x > nx || pnt.y > ny) { - return null; - } - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return pnt; - - } + } } diff --git a/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSounding.java b/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSounding.java index 499a2c7789..d5ba34037d 100644 --- a/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSounding.java +++ b/ncep/gov.noaa.nws.ncep.edex.uengine/src/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSounding.java @@ -31,7 +31,8 @@ import java.util.List; * 02/28/2012 Chin Chen modify several sounding query algorithms for better performance * 8/2012 T. Lee/NCEP Removed missing wind interpolation * 8/2012 T. Lee/NCEP Fixed max wind merging; May fix NSHARP EL calculation - * 12/2013 T. Lee/NCEP Fixed missing height at top level before sorting + * 12/2013 1115 T. Lee/NCEP Fixed missing height at top level before sorting + * 3/2014 1116 T. Lee/NCEP Added dpdToDewpoint for cmcHR (15km) data * * * @author T. Lee @@ -93,8 +94,7 @@ public class MergeSounding { } else { if (ppaa.size() < 1 && ttbb.size() < 1) { - System.out - .println(" Missing TTAA/TTBB and PPAA data."); + System.out.println(" Missing TTAA/TTBB and PPAA data."); return missingSounding(); } else { man = missingSounding(); @@ -389,6 +389,33 @@ public class MergeSounding { return sndata; } + /* + * computes DWPC from TMPC and RELH Note: If DWPC is less than -190 degrees + * C, it is treated as missing data Code is based on GEMPAK's prrhdp.f + */ + public List dpdToDewpoint(List sndata) { + float temp, dpdk; + float dwpc = RMISSD; + + for (NcSoundingLayer layer : sndata) { + if (layer.getDewpoint() == RMISSD) { + temp = layer.getTemperature(); + dpdk = layer.getDpd(); + + if (temp == RMISSD || dpdk == RMISSD) { + continue; + } else { + + dwpc = temp - dpdk; + layer.setDewpoint(dwpc); + // //System.out.println("rhToDewpoint dwpc: " + dwpc); + } + } + + } + return sndata; + } + /* * computes VAPR from TMPC Code is based on GEMPAK's prvapr.f */ diff --git a/tests/unit/gov/noaa/nws/ncep/edex/plugin/ffg/util/FfgParserTest.java b/tests/unit/gov/noaa/nws/ncep/edex/plugin/ffg/util/FfgParserTest.java index b420f62b6e..0499908293 100644 --- a/tests/unit/gov/noaa/nws/ncep/edex/plugin/ffg/util/FfgParserTest.java +++ b/tests/unit/gov/noaa/nws/ncep/edex/plugin/ffg/util/FfgParserTest.java @@ -12,11 +12,8 @@ import java.util.Set; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; -//TODO fix? -@Ignore public class FfgParserTest { FfgRecord record = new FfgRecord(); @@ -83,11 +80,11 @@ public class FfgParserTest { Iterator it = ppp.iterator(); while (it.hasNext()) { FfgPrecip pr = it.next(); - assertEquals(3.0, pr.getFf01()); - assertEquals(4.2, pr.getFf03()); - assertEquals(4.5, pr.getFf06()); - assertEquals(4.8, pr.getFf12()); - assertEquals(6.0, pr.getFf24()); + assertEquals(3.0, pr.getFf01(), 0.01); + assertEquals(4.2, pr.getFf03(), 0.01); + assertEquals(4.5, pr.getFf06(), 0.01); + assertEquals(4.8, pr.getFf12(), 0.01); + assertEquals(6.0, pr.getFf24(), 0.01); } } @@ -100,11 +97,11 @@ public class FfgParserTest { Iterator it = ppp.iterator(); while (it.hasNext()) { FfgPrecip pr = it.next(); - assertEquals(3.0, pr.getFf01()); - assertEquals(4.2, pr.getFf03()); - assertEquals(4.5, pr.getFf06()); - assertEquals(4.8, pr.getFf12()); - assertEquals(6.0, pr.getFf24()); + assertEquals(3.0f, pr.getFf01(), 0.01); + assertEquals(4.2f, pr.getFf03(), 0.01); + assertEquals(4.5f, pr.getFf06(), 0.01); + assertEquals(4.8f, pr.getFf12(), 0.01); + assertEquals(6.0f, pr.getFf24(), 0.01); } } @@ -117,13 +114,13 @@ public class FfgParserTest { Iterator it = ppp.iterator(); while (it.hasNext()) { FfgPrecip pr = it.next(); - assertEquals(3.0, pr.getFf01()); + assertEquals(3.0, pr.getFf01(), 0.01); assertEquals(IDecoderConstantsN.FLOAT_MISSING.doubleValue(), (double) pr.getFf03(), 0.0); - assertEquals(4.5, pr.getFf06()); + assertEquals(4.5, pr.getFf06(), 0.01); assertEquals(IDecoderConstantsN.FLOAT_MISSING.doubleValue(), (double) pr.getFf12(), 0.0); - assertEquals(6.0, pr.getFf24()); + assertEquals(6.0, pr.getFf24(), 0.01); } } @@ -136,7 +133,7 @@ public class FfgParserTest { Iterator it = ppp.iterator(); while (it.hasNext()) { FfgPrecip pr = it.next(); - assertEquals(3.0, pr.getFf01()); + assertEquals(3.0, pr.getFf01(), 0.01); assertEquals(IDecoderConstantsN.FLOAT_MISSING.doubleValue(), (double) pr.getFf03(), 0.0); assertEquals(IDecoderConstantsN.FLOAT_MISSING.doubleValue(), diff --git a/tests/unit/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSoundingTest.java b/tests/unit/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSoundingTest.java index 16bfa5a23a..9b7b11439a 100644 --- a/tests/unit/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSoundingTest.java +++ b/tests/unit/gov/noaa/nws/ncep/edex/uengine/tasks/profile/MergeSoundingTest.java @@ -1,42 +1,42 @@ package gov.noaa.nws.ncep.edex.uengine.tasks.profile; //import edu.emory.mathcs.backport.java.util.Collections; +import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer; + import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer; import org.junit.After; import org.junit.Before; import org.junit.Test; public class MergeSoundingTest { - @Before - public void setUp() throws Exception { - } + @Before + public void setUp() throws Exception { + } - @After - public void tearDown() throws Exception { - } + @After + public void tearDown() throws Exception { + } - @Test - public void testMergeObservedSounding() { - /* Case I: Good report with a string of five characters*/ - MergeSounding ms = new MergeSounding(); + @Test + public void testMergeObservedSounding() { + /* Case I: Good report with a string of five characters */ + MergeSounding ms = new MergeSounding(); - List sls = new ArrayList(); - List ttaa = new ArrayList(); - List ttbb = new ArrayList(); - List ttcc = new ArrayList(); - List ttdd = new ArrayList(); - List ppaa = new ArrayList(); - List ppbb = new ArrayList(); - List ppcc = new ArrayList(); - List ppdd = new ArrayList(); - List trop_a = new ArrayList(); - List wmax_a = new ArrayList(); - List trop_c = new ArrayList(); - List wmax_c = new ArrayList(); + List sls = new ArrayList(); + List ttaa = new ArrayList(); + List ttbb = new ArrayList(); + List ttcc = new ArrayList(); + List ttdd = new ArrayList(); + List ppaa = new ArrayList(); + List ppbb = new ArrayList(); + List ppcc = new ArrayList(); + List ppdd = new ArrayList(); + List trop_a = new ArrayList(); + List wmax_a = new ArrayList(); + List trop_c = new ArrayList(); + List wmax_c = new ArrayList(); NcSoundingLayer ta; ta = new NcSoundingLayer(); @@ -46,26 +46,7 @@ public class MergeSoundingTest { ta.setWindDirection(285.f); ta.setWindSpeed(58.0f); ta.setGeoHeight(11830.f); - ttaa.add(ta); - - - ta = new NcSoundingLayer(); - ta.setPressure(1000.f); - ta.setTemperature(-9999.f); - ta.setDewpoint(-9999.f); - ta.setWindDirection(-9999.f); - ta.setWindSpeed(-9999.f); - ta.setGeoHeight(71.f); - ttaa.add(ta); - - ta = new NcSoundingLayer(); - ta.setPressure(997.f); - ta.setTemperature(17.6f); - ta.setDewpoint(9.6f); - ta.setWindDirection(0.f); - ta.setWindSpeed(3.00f); - ta.setGeoHeight(95.f); - ttaa.add(ta); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(700.f); @@ -74,7 +55,7 @@ public class MergeSoundingTest { ta.setWindDirection(295.f); ta.setWindSpeed(37.0f); ta.setGeoHeight(3013.f); - ttaa.add(ta); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(500.f); @@ -83,7 +64,16 @@ public class MergeSoundingTest { ta.setWindDirection(290.f); ta.setWindSpeed(52.0f); ta.setGeoHeight(5620.f); - ttaa.add(ta); + ttaa.add(ta); + + ta = new NcSoundingLayer(); + ta.setPressure(1000.f); + ta.setTemperature(-9999.f); + ta.setDewpoint(-9999.f); + ta.setWindDirection(-9999.f); + ta.setWindSpeed(-9999.f); + ta.setGeoHeight(71.f); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(150.f); @@ -91,17 +81,26 @@ public class MergeSoundingTest { ta.setDewpoint(-69.5f); ta.setWindDirection(275.f); ta.setWindSpeed(52.0f); - ta.setGeoHeight(13670.f); - ttaa.add(ta); + ta.setGeoHeight(13670.f); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(925.f); - ta.setTemperature(12.f); - ta.setDewpoint(7.f); - ta.setWindDirection(290.f); - ta.setWindSpeed(12.0f); + ta.setTemperature(-9999.f); + ta.setDewpoint(-9999.f); + ta.setWindDirection(-9999.f); + ta.setWindSpeed(-9999.f); ta.setGeoHeight(731.f); - ttaa.add(ta); + ttaa.add(ta); + + // ta = new NcSoundingLayer(); + // ta.setPressure(997.f); + // ta.setTemperature(17.6f); + // ta.setDewpoint(9.6f); + // ta.setWindDirection(0.f); + // ta.setWindSpeed(3.00f); + // ta.setGeoHeight(95.f); + // ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(850.f); @@ -110,7 +109,7 @@ public class MergeSoundingTest { ta.setWindDirection(255.f); ta.setWindSpeed(27.0f); ta.setGeoHeight(1435.f); - ttaa.add(ta); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(100.f); @@ -119,7 +118,7 @@ public class MergeSoundingTest { ta.setWindDirection(270.f); ta.setWindSpeed(27.0f); ta.setGeoHeight(16240.f); - ttaa.add(ta); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(250.f); @@ -128,7 +127,7 @@ public class MergeSoundingTest { ta.setWindDirection(270.f); ta.setWindSpeed(84.0f); ta.setGeoHeight(10420.f); - ttaa.add(ta); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(400.f); @@ -137,7 +136,16 @@ public class MergeSoundingTest { ta.setWindDirection(280.f); ta.setWindSpeed(61.0f); ta.setGeoHeight(7250.f); - ttaa.add(ta); + ttaa.add(ta); + + ta = new NcSoundingLayer(); + ta.setPressure(920.f); + ta.setTemperature(17.6f); + ta.setDewpoint(9.6f); + ta.setWindDirection(0.f); + ta.setWindSpeed(3.0f); + ta.setGeoHeight(-9999.f); + ttaa.add(ta); ta = new NcSoundingLayer(); ta.setPressure(300.f); @@ -146,34 +154,54 @@ public class MergeSoundingTest { ta.setWindDirection(275.f); ta.setWindSpeed(68.0f); ta.setGeoHeight(9230.f); - ttaa.add(ta); + ttaa.add(ta); - NcSoundingLayer trop = new NcSoundingLayer(); - trop.setPressure(223.f); - trop.setTemperature(-59.5f); - trop.setDewpoint(-67.5f); - trop.setWindDirection(275.f); - trop.setWindSpeed(75.0f); - trop.setGeoHeight(-9999.f); - trop_a.add(trop); + NcSoundingLayer tropa; + tropa = new NcSoundingLayer(); + tropa.setPressure(223.f); + tropa.setTemperature(-59.5f); + tropa.setDewpoint(-67.5f); + tropa.setWindDirection(275.f); + tropa.setWindSpeed(75.0f); + tropa.setGeoHeight(-9999.f); + trop_a.add(tropa); - NcSoundingLayer wmaxa = new NcSoundingLayer(); + tropa = new NcSoundingLayer(); + tropa.setPressure(123.f); + tropa.setTemperature(-60.5f); + tropa.setDewpoint(-69.5f); + tropa.setWindDirection(275.f); + tropa.setWindSpeed(80.0f); + tropa.setGeoHeight(-9999.f); + trop_a.add(tropa); + + NcSoundingLayer tropc; + tropc = new NcSoundingLayer(); + tropc.setPressure(63.f); + tropc.setTemperature(-60.5f); + tropc.setDewpoint(-69.5f); + tropc.setWindDirection(275.f); + tropc.setWindSpeed(80.0f); + tropc.setGeoHeight(-9999.f); + trop_c.add(tropc); + + NcSoundingLayer wmaxa = new NcSoundingLayer(); wmaxa.setPressure(252.f); wmaxa.setTemperature(-9999.f); wmaxa.setDewpoint(-9999.f); wmaxa.setWindDirection(270.f); wmaxa.setWindSpeed(84.0f); wmaxa.setGeoHeight(-9999.f); - wmax_a.add(wmaxa); + wmax_a.add(wmaxa); - NcSoundingLayer wmaxc = new NcSoundingLayer(); - wmaxc.setPressure(7.8f); + NcSoundingLayer wmaxc = new NcSoundingLayer(); + wmaxc.setPressure(5.8f); wmaxc.setTemperature(-9999.f); wmaxc.setDewpoint(-9999.f); wmaxc.setWindDirection(270.f); wmaxc.setWindSpeed(67.f); wmaxc.setGeoHeight(-9999.f); - wmax_c.add(wmaxc); + wmax_c.add(wmaxc); NcSoundingLayer tb; tb = new NcSoundingLayer(); @@ -183,7 +211,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(769.f); @@ -192,7 +220,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(170.f); @@ -201,7 +229,16 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); + + tb = new NcSoundingLayer(); + tb.setPressure(920.f); + tb.setTemperature(17.6f); + tb.setDewpoint(9.6f); + tb.setWindDirection(-9999.f); + tb.setWindSpeed(-9999.f); + tb.setGeoHeight(-9999.f); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(150.f); @@ -210,16 +247,25 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); + + // tb = new NcSoundingLayer(); + // tb.setPressure(922.f); + // tb.setTemperature(11.8f); + // tb.setDewpoint(6.8f); + // tb.setWindDirection(-9999.f); + // tb.setWindSpeed(-9999.f); + // tb.setGeoHeight(-9999.f); + // ttbb.add(tb); tb = new NcSoundingLayer(); - tb.setPressure(922.f); - tb.setTemperature(11.8f); - tb.setDewpoint(6.8f); + tb.setPressure(-9999.f); + tb.setTemperature(17.6f); + tb.setDewpoint(9.6f); tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(215.f); @@ -227,8 +273,8 @@ public class MergeSoundingTest { tb.setDewpoint(-65.1f); tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); - tb.setGeoHeight(-9999.f); - ttbb.add(tb); + tb.setGeoHeight(-9999.f); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(106.f); @@ -237,7 +283,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(244.f); @@ -246,7 +292,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(521.f); @@ -255,7 +301,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(805.f); @@ -264,7 +310,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(194.f); @@ -273,7 +319,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(109.f); @@ -282,7 +328,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(189.f); @@ -291,7 +337,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(436.f); @@ -300,7 +346,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(198.f); @@ -309,16 +355,16 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); - tb = new NcSoundingLayer(); - tb.setPressure(965.f); - tb.setTemperature(15.f); - tb.setDewpoint(7.f); - tb.setWindDirection(-9999.f); - tb.setWindSpeed(-9999.f); - tb.setGeoHeight(-9999.f); - ttbb.add(tb); + // tb = new NcSoundingLayer(); + // tb.setPressure(965.f); + // tb.setTemperature(15.f); + // tb.setDewpoint(7.f); + // tb.setWindDirection(-9999.f); + // tb.setWindSpeed(-9999.f); + // tb.setGeoHeight(-9999.f); + // ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(772.f); @@ -327,7 +373,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(559.f); @@ -336,7 +382,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(507.f); @@ -345,7 +391,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(134.f); @@ -354,7 +400,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(541.f); @@ -363,7 +409,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(524.f); @@ -381,7 +427,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(809.f); @@ -390,7 +436,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(545.f); @@ -399,7 +445,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(126.f); @@ -408,7 +454,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(569.f); @@ -417,7 +463,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(787.f); @@ -426,7 +472,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(803.f); @@ -435,7 +481,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(308.f); @@ -444,7 +490,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(468.f); @@ -453,7 +499,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(699.f); @@ -471,7 +517,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(223.f); @@ -480,7 +526,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(138.f); @@ -489,7 +535,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(221.f); @@ -498,7 +544,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(885.f); @@ -507,7 +553,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(806.f); @@ -516,7 +562,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(662.f); @@ -525,16 +571,16 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); - tb = new NcSoundingLayer(); - tb.setPressure(986.f); - tb.setTemperature(16.2f); - tb.setDewpoint(8.200001f); - tb.setWindDirection(-9999.f); - tb.setWindSpeed(-9999.f); - tb.setGeoHeight(-9999.f); - ttbb.add(tb); + // tb = new NcSoundingLayer(); + // tb.setPressure(986.f); + // tb.setTemperature(16.2f); + // tb.setDewpoint(8.200001f); + // tb.setWindDirection(-9999.f); + // tb.setWindSpeed(-9999.f); + // tb.setGeoHeight(-9999.f); + // ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(601.f); @@ -543,8 +589,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); - + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(204.f); @@ -562,7 +607,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(551.f); @@ -571,7 +616,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(537.f); @@ -580,7 +625,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(212.f); @@ -589,7 +634,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(202.f); @@ -598,7 +643,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(391.f); @@ -607,7 +652,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(560.f); @@ -616,7 +661,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(142.f); @@ -625,7 +670,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(234.f); @@ -634,10 +679,10 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); - tb.setPressure(120.f); + tb.setPressure(120.f); tb.setTemperature(-57.1f); tb.setDewpoint(-73.1f); tb.setWindDirection(-9999.f); @@ -652,7 +697,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(484.f); @@ -661,7 +706,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(558.f); @@ -670,7 +715,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(627.f); @@ -679,16 +724,16 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); - tb = new NcSoundingLayer(); - tb.setPressure(997.f); - tb.setTemperature(17.6f); - tb.setDewpoint(9.6f); - tb.setWindDirection(-9999.f); - tb.setWindSpeed(-9999.f); - tb.setGeoHeight(-9999.f); - ttbb.add(tb); + // tb = new NcSoundingLayer(); + // tb.setPressure(997.f); + // tb.setTemperature(17.6f); + // tb.setDewpoint(9.6f); + // tb.setWindDirection(-9999.f); + // tb.setWindSpeed(-9999.f); + // tb.setGeoHeight(-9999.f); + // ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(585.f); @@ -697,7 +742,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(130.f); @@ -706,7 +751,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(459.f); @@ -715,7 +760,7 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); tb = new NcSoundingLayer(); tb.setPressure(115.f); @@ -724,16 +769,16 @@ public class MergeSoundingTest { tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); - - tb = new NcSoundingLayer(); + ttbb.add(tb); + + tb = new NcSoundingLayer(); tb.setPressure(513.f); - tb.setTemperature(-15.9f); - tb.setDewpoint(-29.9f); + tb.setTemperature(-15.9f); + tb.setDewpoint(-29.9f); tb.setWindDirection(-9999.f); tb.setWindSpeed(-9999.f); tb.setGeoHeight(-9999.f); - ttbb.add(tb); + ttbb.add(tb); NcSoundingLayer pb = new NcSoundingLayer(); pb.setWindDirection(280.f); @@ -760,7 +805,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(250.f); @@ -769,7 +814,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(285.f); @@ -778,7 +823,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(250.f); @@ -787,7 +832,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(275.f); @@ -796,7 +841,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(295.f); @@ -805,7 +850,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(280.f); @@ -814,7 +859,7 @@ public class MergeSoundingTest { pb.setGeoHeight(1829.f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(285.f); @@ -823,7 +868,7 @@ public class MergeSoundingTest { pb.setGeoHeight(4877.f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(305.f); @@ -832,7 +877,7 @@ public class MergeSoundingTest { pb.setGeoHeight(305.f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(305.f); @@ -850,7 +895,7 @@ public class MergeSoundingTest { pb.setGeoHeight(6096.0f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(285.f); @@ -859,7 +904,7 @@ public class MergeSoundingTest { pb.setGeoHeight(14326.f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(295.f); @@ -868,7 +913,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setDewpoint(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(280.f); @@ -877,7 +922,7 @@ public class MergeSoundingTest { pb.setGeoHeight(15240.0f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setDewpoint(-9999.f); @@ -886,7 +931,7 @@ public class MergeSoundingTest { pb.setGeoHeight(3658.f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(290.f); @@ -895,7 +940,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(285.f); @@ -904,16 +949,16 @@ public class MergeSoundingTest { pb.setGeoHeight(4572.0f); pb.setPressure(-9999.f); pb.setTemperature(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); - pb.setWindDirection(0.f); - pb.setWindSpeed(3.00f); - pb.setGeoHeight(0.f); - pb.setTemperature(-9999.f); - pb.setPressure(-9999.f); - pb.setDewpoint(-9999.f); - ppbb.add(pb); + pb.setWindDirection(0.f); + pb.setWindSpeed(3.00f); + pb.setGeoHeight(0.f); + pb.setTemperature(-9999.f); + pb.setPressure(-9999.f); + pb.setDewpoint(-9999.f); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(285.f); @@ -922,7 +967,7 @@ public class MergeSoundingTest { pb.setDewpoint(-9999.f); pb.setGeoHeight(2134.f); pb.setPressure(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(280.f); @@ -940,7 +985,7 @@ public class MergeSoundingTest { pb.setTemperature(-9999.f); pb.setGeoHeight(4267.f); pb.setPressure(-9999.f); - ppbb.add(pb); + ppbb.add(pb); pb = new NcSoundingLayer(); pb.setWindDirection(265.f); @@ -949,7 +994,7 @@ public class MergeSoundingTest { pb.setPressure(-9999.f); pb.setTemperature(-9999.f); pb.setDewpoint(-9999.f); - ppbb.add(pb); + ppbb.add(pb); NcSoundingLayer tc = new NcSoundingLayer(); tc.setPressure(7.f); @@ -960,6 +1005,24 @@ public class MergeSoundingTest { tc.setGeoHeight(33260.f); ttcc.add(tc); + tc = new NcSoundingLayer(); + tc.setPressure(20.f); + tc.setTemperature(-53.1f); + tc.setDewpoint(-85.1f); + tc.setWindSpeed(22.0f); + tc.setWindDirection(245.f); + tc.setGeoHeight(26470.0f); + ttcc.add(tc); + + tc = new NcSoundingLayer(); + tc.setPressure(30.f); + tc.setTemperature(-55.1f); + tc.setDewpoint(-81.1f); + tc.setWindDirection(310.0f); + tc.setWindSpeed(11.00f); + tc.setGeoHeight(23860.0f); + ttcc.add(tc); + tc = new NcSoundingLayer(); tc.setPressure(10.f); tc.setTemperature(-53.5f); @@ -969,24 +1032,6 @@ public class MergeSoundingTest { tc.setGeoHeight(30950.0f); ttcc.add(tc); - tc = new NcSoundingLayer(); - tc.setPressure(20.f); - tc.setTemperature(-53.1f); - tc.setDewpoint(-85.1f); - tc.setWindSpeed(22.0f); - tc.setWindDirection(245.f); - tc.setGeoHeight(26470.0f); - ttcc.add(tc); - - tc = new NcSoundingLayer(); - tc.setPressure(30.f); - tc.setTemperature(-55.1f); - tc.setDewpoint(-81.1f); - tc.setWindDirection(310.0f); - tc.setWindSpeed(11.00f); - tc.setGeoHeight(23860.0f); - ttcc.add(tc); - tc = new NcSoundingLayer(); tc.setPressure(70.f); tc.setTemperature(-56.9f); @@ -994,7 +1039,7 @@ public class MergeSoundingTest { tc.setWindDirection(270.0f); tc.setWindSpeed(11.0f); tc.setGeoHeight(18500.0f); - ttcc.add(tc); + ttcc.add(tc); tc = new NcSoundingLayer(); tc.setPressure(50.f); @@ -1003,13 +1048,13 @@ public class MergeSoundingTest { tc.setWindDirection(275.0f); tc.setWindSpeed(9.00f); tc.setGeoHeight(20620.0f); - ttcc.add(tc); + ttcc.add(tc); NcSoundingLayer td = new NcSoundingLayer(); td.setPressure(44.4f); td.setTemperature(-58.1f); td.setDewpoint(-79.1f); - td.setWindDirection(-9999.f); + td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); ttdd.add(td); @@ -1030,7 +1075,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(7.3f); @@ -1039,7 +1084,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(8.4f); @@ -1048,7 +1093,7 @@ public class MergeSoundingTest { td.setDewpoint(-9999.f); td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(54.9f); @@ -1057,7 +1102,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(50.1f); @@ -1066,7 +1111,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(71.4f); @@ -1075,7 +1120,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(36.7f); @@ -1084,7 +1129,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(10.4f); @@ -1093,8 +1138,8 @@ public class MergeSoundingTest { td.setDewpoint(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); - + ttdd.add(td); + td = new NcSoundingLayer(); td.setPressure(64.0f); td.setWindDirection(-9999.f); @@ -1102,7 +1147,7 @@ public class MergeSoundingTest { td.setDewpoint(-78.1f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(70.2f); @@ -1120,7 +1165,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(77.3f); @@ -1129,7 +1174,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(84.7f); @@ -1138,7 +1183,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(33.4f); @@ -1147,7 +1192,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(82.8f); @@ -1156,7 +1201,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(8.f); @@ -1165,7 +1210,7 @@ public class MergeSoundingTest { td.setWindSpeed(-9999.f); td.setWindDirection(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(8.9f); @@ -1174,7 +1219,7 @@ public class MergeSoundingTest { td.setWindSpeed(-9999.f); td.setWindDirection(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(90.4f); @@ -1183,7 +1228,7 @@ public class MergeSoundingTest { td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); td.setWindDirection(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(29.8f); @@ -1192,7 +1237,7 @@ public class MergeSoundingTest { td.setDewpoint(-81.1f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(12.8f); @@ -1210,9 +1255,9 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); - td = new NcSoundingLayer(); + td = new NcSoundingLayer(); td.setPressure(6.8f); td.setTemperature(-50.7f); td.setDewpoint(-9999.f); @@ -1220,7 +1265,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(27.8f); @@ -1229,7 +1274,7 @@ public class MergeSoundingTest { td.setWindDirection(-9999.f); td.setWindSpeed(-9999.f); td.setGeoHeight(-9999.f); - ttdd.add(td); + ttdd.add(td); td = new NcSoundingLayer(); td.setPressure(15.1f); @@ -1241,7 +1286,7 @@ public class MergeSoundingTest { ttdd.add(td); NcSoundingLayer pd = new NcSoundingLayer(); - pd.setWindDirection(300.0f); + pd.setWindDirection(300.0f); pd.setWindSpeed(12.00f); pd.setGeoHeight(24993.6f); pd.setPressure(-9999.f); @@ -1265,7 +1310,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(335.0f); @@ -1274,7 +1319,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(280.0f); @@ -1283,7 +1328,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(280.0f); @@ -1292,7 +1337,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(280.0f); @@ -1301,7 +1346,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(260.0f); @@ -1310,7 +1355,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(285.0f); @@ -1319,7 +1364,7 @@ public class MergeSoundingTest { pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); pd.setPressure(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(265.0f); @@ -1328,7 +1373,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(290.0f); @@ -1337,8 +1382,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); - + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(210.0f); @@ -1356,7 +1400,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(295.0f); @@ -1365,7 +1409,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(250.0f); @@ -1374,7 +1418,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(0.0f); @@ -1383,7 +1427,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(305.f); @@ -1392,7 +1436,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(280.0f); @@ -1401,7 +1445,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setDewpoint(-9999.f); pd.setTemperature(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(255.0f); @@ -1410,16 +1454,16 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setDewpoint(-9999.f); pd.setTemperature(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindSpeed(37.0f); pd.setWindDirection(240.f); pd.setGeoHeight(27127.f); - pd.setPressure(-9999.f); - pd.setTemperature(-9999.f); - pd.setDewpoint(-9999.f); - ppdd.add(pd); + pd.setPressure(-9999.f); + pd.setTemperature(-9999.f); + pd.setDewpoint(-9999.f); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(325.0f); @@ -1428,7 +1472,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(275.0f); @@ -1446,7 +1490,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(255.0f); @@ -1455,7 +1499,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(270.0f); @@ -1464,7 +1508,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(285.0f); @@ -1473,16 +1517,16 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(280.0f); pd.setWindSpeed(30.0f); pd.setGeoHeight(17374.f); - pd.setPressure(-9999.f); + pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(270.0f); @@ -1491,7 +1535,7 @@ public class MergeSoundingTest { pd.setPressure(-9999.f); pd.setDewpoint(-9999.f); pd.setTemperature(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(265.0f); @@ -1500,123 +1544,99 @@ public class MergeSoundingTest { pd.setGeoHeight(31090.0f); pd.setTemperature(-9999.f); pd.setPressure(-9999.f); - ppdd.add(pd); + ppdd.add(pd); pd = new NcSoundingLayer(); pd.setWindDirection(270.f); pd.setWindSpeed(67.f); pd.setGeoHeight(32614.0f); - pd.setPressure(-9999.f); - pd.setDewpoint(-9999.f); - pd.setTemperature(-9999.f); - ppdd.add(pd); + pd.setPressure(-9999.f); + pd.setDewpoint(-9999.f); + pd.setTemperature(-9999.f); + ppdd.add(pd); - pd = new NcSoundingLayer(); + pd = new NcSoundingLayer(); pd.setWindDirection(260.0f); pd.setWindSpeed(60.0f); pd.setGeoHeight(33223.0f); - pd.setPressure(-9999.f); + pd.setPressure(-9999.f); pd.setTemperature(-9999.f); pd.setDewpoint(-9999.f); - ppdd.add(pd); + ppdd.add(pd); + + NcSoundingLayer pa; + pa = new NcSoundingLayer(); + + pa.setPressure(700.f); + pa.setTemperature(-9999.f); + pa.setDewpoint(-9999.f); + pa.setWindDirection(230.f); + pa.setWindSpeed(30.0f); + pa.setGeoHeight(-9999.f); + ppaa.add(pa); + + pa = new NcSoundingLayer(); + pa.setPressure(300.f); + pa.setWindDirection(250.f); + pa.setWindSpeed(50.0f); + pa.setTemperature(-9999.f); + pa.setDewpoint(-9999.f); + pa.setGeoHeight(-9999.f); + ppaa.add(pa); + + pa = new NcSoundingLayer(); + pa.setPressure(850.f); + pa.setTemperature(-9999.f); + pa.setDewpoint(-9999.f); + pa.setGeoHeight(-9999.f); + pa.setWindDirection(220.f); + pa.setWindSpeed(20.0f); + ppaa.add(pa); + + pa = new NcSoundingLayer(); + pa.setPressure(500.f); + pa.setTemperature(-9999.f); + pa.setDewpoint(-9999.f); + pa.setWindDirection(240.f); + pa.setWindSpeed(40.0f); + pa.setGeoHeight(-9999.f); + ppaa.add(pa); + + NcSoundingLayer pc; + pc = new NcSoundingLayer(); + + pc.setPressure(30.f); + pc.setTemperature(-9999.f); + pc.setDewpoint(-9999.f); + pc.setWindDirection(230.f); + pc.setWindSpeed(30.0f); + pc.setGeoHeight(-9999.f); + ppcc.add(pc); + + pc = new NcSoundingLayer(); + pc.setPressure(70.f); + pc.setTemperature(-9999.f); + pc.setDewpoint(-9999.f); + pc.setWindDirection(270.f); + pc.setWindSpeed(70.0f); + pc.setGeoHeight(-9999.f); + ppcc.add(pc); + + pc = new NcSoundingLayer(); + pc.setPressure(50.f); + pc.setTemperature(-9999.f); + pc.setDewpoint(-9999.f); + pc.setWindDirection(250.f); + pc.setWindSpeed(50.0f); + pc.setGeoHeight(-9999.f); + ppcc.add(pc); // Sorting the data - Collections.sort(ttaa, new MergeSounding.reverseSortByPressure()); - Collections.sort(ttbb, new MergeSounding.reverseSortByPressure()); - Collections.sort(ttcc, new MergeSounding.reverseSortByPressure()); - Collections.sort(ttdd, new MergeSounding.reverseSortByPressure()); - if ( ms.checkWindData(ppbb)) { - Collections.sort(ppbb, new MergeSounding.sortByHeight()); - Collections.sort(ppdd, new MergeSounding.sortByHeight()); - } else { - Collections.sort(ppbb, new MergeSounding.reverseSortByPressure()); - Collections.sort(ppdd, new MergeSounding.reverseSortByPressure()); - } - - // Remove underground mandatory data - Listman = ms.removeUnderGround(ttaa); + sls = ms.mergeUairSounding("", ttaa, ttbb, ttcc, ttdd, ppaa, ppbb, + ppcc, ppdd, trop_a, trop_c, wmax_a, wmax_c, 770.f); - // Find the surface data - float elevation = 95.f; - sls.add(0, ms.getSurfaceData(man, ttbb, ppbb, elevation)); + ms.printOut(sls); - // Merge mandatory data (TTAA, TTCC) - ms.mergeMandatory(ttaa,ttcc,sls); - - // Merge mandatory winds (PPAA, PPCC) - ppaa= null; - ppcc= null; - if ( ppaa != null && ppcc !=null ) { - ms.mergeMandatoryWinds (ppaa, ppcc, sls); - } - - // Merge tropopause - ms.mergeTropSigTemp (trop_a, trop_c, sls); - - // Merge Significant temperature and dew point (TTBB) - ms.mergeTropSigTemp (ttbb, ttdd, sls); - - // Construct height for TTBB and tropopause - ms.constructTtbbHeight(sls); - - // Merge significant winds and max winds on pressure surfaces (PPBB) - // and construct the height. - if (!ms.checkWindData(ppbb)) { - ms.mergeSigMaxWindOnPressure(ppbb,ppdd,sls); - } - ms.mergeSigMaxWindOnPressure(wmax_a,wmax_c,sls); - ms.constructPpbbHeight(sls); - - // Merge significant winds on height surfaces and construct the pressures - if (ms.checkWindData(ppbb)) { - ms.mergeSigWindOnHeight(ppbb,ppdd,sls); - ms.constructPpbbPressure(sls); - } - - // Interpolate missing temperature, dew point and winds - ms.constructMissing(1, sls); - ms.constructMissing(2, sls); - ms.constructMissing(3, sls); - - // Add below-ground mandatory levels - sls = ms.addUnderGround(ttaa, sls); - - // Print the output as the same format as SNLIST for comparison - System.out.println ( " PRES TMPC DWPC " + - "DRCT SPED HGHT"); - - if ( sls != null ) { - for (int kk=0; kk < sls.size(); kk++ ) { - System.out.println ( " " - + String.format("%9.2f",sls.get(kk).getPressure()) - + String.format("%9.2f", sls.get(kk).getTemperature()) - + String.format("%9.2f", sls.get(kk).getDewpoint()) - + String.format("%9.2f", sls.get(kk).getWindDirection()) - + String.format("%9.2f", sls.get(kk).getWindSpeed()) - + String.format("%9.2f", sls.get(kk).getGeoHeight())); - - - } - } - else { - System.out.println ( " Not found"); - } -// float rmult = (float) ((15544.8 - 15240.) / (15245.68 - 15240.)); -// System.out.println(119.11*(Math.pow(119.00/119.11,rmult))); - - // Get single level data - - List singLevel = ms.getSingLevel (500.f, sls); - System.out.println ("\n " - + String.format("%9.2f",singLevel.get(0).getPressure()) - + String.format("%9.2f", singLevel.get(0).getTemperature()) - + String.format("%9.2f", singLevel.get(0).getDewpoint()) - + String.format("%9.2f", singLevel.get(0).getWindDirection()) - + String.format("%9.2f", singLevel.get(0).getWindSpeed()) - + String.format("%9.2f", singLevel.get(0).getGeoHeight())); - // System.out.println ( " last !!! " + Integer.valueOf("900".trim()).floatValue()); - - } - + } } From 7330213de581a390687bd16aafc206b2095b0fa2 Mon Sep 17 00:00:00 2001 From: Stephen Gilbert Date: Thu, 15 May 2014 15:43:44 -0400 Subject: [PATCH 02/35] VLab Issue #3722 - SWPC delivery for 14.3.1 Upgrades to Geomag and solar image processing Change-Id: Ibe33d00843419e34998274a87734f3f29d2b63dc Former-commit-id: 9b470a605b1db454b9287098e84079e8438a2f2b --- .../META-INF/MANIFEST.MF | 6 +- .../common/dataplugin/geomag/GeoMagAvg.java | 79 +- .../common/dataplugin/geomag/GeoMagK1min.java | 230 +- .../dataplugin/geomag/GeoMagPathProvider.java | 16 +- .../dataplugin/geomag/GeoMagRecord.java | 431 +--- .../geomag/calculation/CalcEach1min.java | 483 ++++ .../geomag/calculation/CalcEach3hr.java | 392 ++++ .../dataplugin/geomag/calculation/CalcKp.java | 382 ++++ .../geomag/calculation/CalcUtil.java | 550 +++++ .../dataplugin/geomag/dao/GeoMagAvgDao.java | 52 +- .../dataplugin/geomag/dao/GeoMagDao.java | 686 ++---- .../dataplugin/geomag/dao/GeoMagK1minDao.java | 96 +- .../dataplugin/geomag/dao/GeoMagK3hrDao.java | 49 +- .../geomag/request/DatabaseUtil.java | 314 +++ .../geomag/request/RetrieveHrAvgRequest.java | 72 + .../geomag/request/RetrieveK1minRequest.java | 72 + .../{geomag-request => geomag-request.xml} | 18 +- .../edex/plugin/geomag/GeoMagDecoder.java | 4 +- .../edex/plugin/geomag/TrigKCalculation.java | 1966 ++++++++--------- .../geomag/calculation/CalcEach1min.java | 454 ---- .../geomag/calculation/CalcEach3hr.java | 335 --- .../plugin/geomag/calculation/CalcKp.java | 443 ---- .../plugin/geomag/calculation/CalcUtil.java | 715 ------ .../handler/RetrieveHrAvgRequestHandler.java | 58 + .../handler/RetrieveK1minRequestHandler.java | 56 + .../base/purge/geomagPurgeRules.xml | 2 +- .../plugin/solarimage/SolarImageDecoder.java | 14 +- .../styleRules/solarImageryStyleRules.xml | 15 +- .../viz/rsc/solarimage/wcs/WCSConverter.java | 7 +- 29 files changed, 3840 insertions(+), 4157 deletions(-) create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach1min.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach3hr.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcKp.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcUtil.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/DatabaseUtil.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveHrAvgRequest.java create mode 100644 ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveK1minRequest.java rename ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/{geomag-request => geomag-request.xml} (67%) delete mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java delete mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java delete mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java delete mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java create mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveHrAvgRequestHandler.java create mode 100644 ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveK1minRequestHandler.java diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF index cf8ca1880d..734660e9a0 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/META-INF/MANIFEST.MF @@ -7,12 +7,12 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Require-Bundle: com.raytheon.edex.common;bundle-version="1.12.1174", javax.persistence;bundle-version="1.0.0" Export-Package: gov.noaa.nws.ncep.common.dataplugin.geomag, + gov.noaa.nws.ncep.common.dataplugin.geomag.calculation, gov.noaa.nws.ncep.common.dataplugin.geomag.dao, gov.noaa.nws.ncep.common.dataplugin.geomag.exception, + gov.noaa.nws.ncep.common.dataplugin.geomag.request, gov.noaa.nws.ncep.common.dataplugin.geomag.table, gov.noaa.nws.ncep.common.dataplugin.geomag.util Import-Package: com.raytheon.uf.common.localization, - gov.noaa.nws.ncep.common.dataplugin.geomag, + com.raytheon.uf.common.serialization.comm, org.apache.commons.logging - - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java index b30cb712ff..5a4c008e4e 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagAvg.java @@ -9,7 +9,6 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.SequenceGenerator; import javax.persistence.Table; -//import javax.persistence.UniqueConstraint; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; @@ -22,14 +21,17 @@ import com.raytheon.uf.common.dataplugin.persist.PersistableDataObject; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +//import javax.persistence.UniqueConstraint; + /** - * Record implementation for geomag avg. + * Record implementation for geomag avg. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer           Description
  * ------------ ---------- ----------------   --------------------------
  * 08/14/2013   T989       qzhou              Initial creation.
+ * 03/03/2014              qzhou              modified get/set
  * 
* * @author qzhou @@ -44,26 +46,26 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @DynamicSerialize public class GeoMagAvg extends PersistableDataObject { - - /** + /** * */ - private static final long serialVersionUID = 1L; - public static final String ID_GEN = "idgen"; - - /** The id */ + private static final long serialVersionUID = 1L; + + public static final String ID_GEN = "idgen"; + + /** The id */ @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN) private Integer id; - - /** + + /** * station code */ @Column @XmlAttribute @DynamicSerializeElement private String stationCode; - + /** * time tag */ @@ -71,7 +73,7 @@ public class GeoMagAvg extends PersistableDataObject { @XmlAttribute @DynamicSerializeElement private Date avgTime; - + /** * insert time tag */ @@ -79,54 +81,53 @@ public class GeoMagAvg extends PersistableDataObject { @XmlAttribute @DynamicSerializeElement private Date insertTime; - + /** * H data Hour Average */ - @Column(length=16) - @XmlAttribute + @Column + @XmlAttribute @DynamicSerializeElement - private float hHrAvg; - - /** + private float hHrAvg; + + /** * D data Hour Average */ - @Column(length=16) - @XmlAttribute + @Column + @XmlAttribute @DynamicSerializeElement private float dHrAvg; - - - public GeoMagAvg() { - - } - - public void generateId() { + + public GeoMagAvg() { + + } + + public void generateId() { this.id = hashCode(); } - - /** + + /** * @return the hHrAvg */ - public float getHHrAvg() { + public float gethHrAvg() { return hHrAvg; } - public void setHHrAvg(float hHrAvg) { + public void sethHrAvg(float hHrAvg) { this.hHrAvg = hHrAvg; } - + /** * @return the dHrAvg */ - public float getDHrAvg() { + public float getdHrAvg() { return dHrAvg; } - public void setDHrAvg(float dHrAvg) { + public void setdHrAvg(float dHrAvg) { this.dHrAvg = dHrAvg; } - + /** * @return The id */ @@ -138,7 +139,7 @@ public class GeoMagAvg extends PersistableDataObject { this.id = id; } - /** + /** * @return the timeTag */ public Date getAvgTime() { @@ -148,9 +149,9 @@ public class GeoMagAvg extends PersistableDataObject { public void setAvgTime(Date avgTime) { this.avgTime = avgTime; } - + /** - * @return the timeTag + * @return the insert time */ public Date getInsertTime() { return insertTime; @@ -159,7 +160,7 @@ public class GeoMagAvg extends PersistableDataObject { public void setInsertTime(Date insertTime) { this.insertTime = insertTime; } - + /** * @return the stationCode */ diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java index 56882d023f..dcc15f244d 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagK1min.java @@ -22,13 +22,14 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; /** - * Record implementation for geomag k 1 min. + * Record implementation for geomag k 1 min. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer           Description
  * ------------ ---------- ----------------   --------------------------
  * 08/14/2013   T989       qzhou              Initial creation.
+ * 03/03/2014   #1110      qzhou              modified get/set
  * 
* * @author qzhou @@ -43,25 +44,26 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; @DynamicSerialize public class GeoMagK1min extends PersistableDataObject { - /** + /** * */ - private static final long serialVersionUID = 1L; - public static final String ID_GEN = "idgen"; - - /** The id */ + private static final long serialVersionUID = 1L; + + public static final String ID_GEN = "idgen"; + + /** The id */ @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = ID_GEN) private Integer id; - - /** + + /** * station code */ @Column @XmlAttribute @DynamicSerializeElement private String stationCode; - + /** * time tag */ @@ -69,7 +71,7 @@ public class GeoMagK1min extends PersistableDataObject { @XmlAttribute @DynamicSerializeElement private Date refTime; - + /** * insert time tag */ @@ -77,110 +79,108 @@ public class GeoMagK1min extends PersistableDataObject { @XmlAttribute @DynamicSerializeElement private Date lastUpdate; - + /** * H data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement - private int kestIndex; - - /** + private int kestIndex; + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float kestReal; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float kestGamma; - + /** * H data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement - private int hkIndex; - - /** + private int hkIndex; + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float hkReal; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float hkGamma; - + /** * H data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement - private int dkIndex; - - /** + private int dkIndex; + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float dkReal; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float dkGamma; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private int hCount; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private int dCount; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private int aest; - - /** + + /** * D data Hour Average */ - @Column(length=16) + @Column(length = 16) @DynamicSerializeElement private float ks; - - - - public GeoMagK1min() { - - } - - public void generateId() { + + public GeoMagK1min() { + + } + + public void generateId() { this.id = hashCode(); } - - /** - * @return the hHrAvg + + /** + * @return the kestIndex */ public int getKestIndex() { return kestIndex; @@ -189,9 +189,9 @@ public class GeoMagK1min extends PersistableDataObject { public void setKestIndex(int kestIndex) { this.kestIndex = kestIndex; } - + /** - * @return the dHrAvg + * @return the kestReal */ public float getKestReal() { return kestReal; @@ -200,9 +200,9 @@ public class GeoMagK1min extends PersistableDataObject { public void setKestReal(float kestReal) { this.kestReal = kestReal; } - + /** - * @return the hHrAvg + * @return the kestGamma */ public float getKestGamma() { return kestGamma; @@ -211,95 +211,95 @@ public class GeoMagK1min extends PersistableDataObject { public void setKestGamma(float kestGamma) { this.kestGamma = kestGamma; } - - /** - * @return the hHrAvg + + /** + * @return the hkReal + */ + public float getHkReal() { + return hkReal; + } + + public void setHkReal(float hkReal) { + this.hkReal = hkReal; + } + + /** + * @return the hkGamma + */ + public float getHkGamma() { + return hkGamma; + } + + public void setHkGamma(float hkGamma) { + this.hkGamma = hkGamma; + } + + /** + * @return the hkIndex */ public int getHkIndex() { return hkIndex; } - public void setHKIndex(int hkIndex) { + public void setHkIndex(int hkIndex) { this.hkIndex = hkIndex; } - - /** - * @return the dHrAvg - */ - public float getHKReal() { - return hkReal; - } - public void setHKReal(float hkReal) { - this.hkReal = hkReal; - } - /** - * @return the hHrAvg + * @return the dkIndex */ - public float getHKGamma() { - return hkGamma; - } - - public void setHKGamma(float hkGamma) { - this.hkGamma = hkGamma; - } - - /** - * @return the hHrAvg - */ - public int getDKIndex() { + public int getDkIndex() { return dkIndex; } - public void setDKIndex(int dkIndex) { + public void setDkIndex(int dkIndex) { this.dkIndex = dkIndex; } - + /** - * @return the dHrAvg + * @return the dkReal */ - public float getDKReal() { + public float getDkReal() { return dkReal; } - public void setDKReal(float dkReal) { + public void setDkReal(float dkReal) { this.dkReal = dkReal; } - + /** - * @return the hHrAvg + * @return the dkGamma */ - public float getDKGamma() { + public float getDkGamma() { return dkGamma; } - public void setDKGamma(float dkGamma) { + public void setDkGamma(float dkGamma) { this.dkGamma = dkGamma; } - + /** - * @return the dHrAvg + * @return the hCount */ - public float getHCount() { + public int gethCount() { return hCount; } - public void setHCount(int hCount) { + public void sethCount(int hCount) { this.hCount = hCount; } - + /** - * @return the dHrAvg + * @return the dCount */ - public int getDCount() { + public int getdCount() { return dCount; } - public void setDCount(int dCount) { + public void setdCount(int dCount) { this.dCount = dCount; } - + /** * @return the dHrAvg */ @@ -310,7 +310,7 @@ public class GeoMagK1min extends PersistableDataObject { public void setAest(int aest) { this.aest = aest; } - + /** * @return the dHrAvg */ @@ -321,7 +321,7 @@ public class GeoMagK1min extends PersistableDataObject { public void setKs(float ks) { this.ks = ks; } - + /** * @return The id */ @@ -333,7 +333,7 @@ public class GeoMagK1min extends PersistableDataObject { this.id = id; } - /** + /** * @return the timeTag */ public Date getRefTime() { @@ -343,7 +343,7 @@ public class GeoMagK1min extends PersistableDataObject { public void setRefTime(Date refTime) { this.refTime = refTime; } - + /** * @return the timeTag */ @@ -354,7 +354,7 @@ public class GeoMagK1min extends PersistableDataObject { public void setLastUpdate(Date lastUpdate) { this.lastUpdate = lastUpdate; } - + /** * @return the stationCode */ diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagPathProvider.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagPathProvider.java index d43f9fe9e1..2f27261f3e 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagPathProvider.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagPathProvider.java @@ -6,7 +6,7 @@ import com.raytheon.uf.common.dataplugin.persist.DefaultPathProvider; import com.raytheon.uf.common.dataplugin.persist.IPersistable; public class GeoMagPathProvider extends DefaultPathProvider { - private static GeoMagPathProvider instance = new GeoMagPathProvider(); + private static GeoMagPathProvider instance = new GeoMagPathProvider(); public static GeoMagPathProvider getInstance() { return instance; @@ -40,15 +40,13 @@ public class GeoMagPathProvider extends DefaultPathProvider { StringBuffer sb = new StringBuffer(64); sb.append(pluginName); - if (pdo.getDataTime() != null ) { - Date time = (Date) pdo.getDataTime().getRefTime().clone(); - time.setHours(0); - - // //System.out.println("***Path "+pdo.getDataTime().getRefTime() +" "+ fileNameFormat.get().format(pdo.getDataTime().getRefTime())); - sb.append(fileNameFormat.get().format(time)); - sb.append(".h5"); + if (pdo.getDataTime() != null) { + Date time = (Date) pdo.getDataTime().getRefTime().clone(); + time.setHours(0); + + sb.append(fileNameFormat.get().format(time)); + sb.append(".h5"); } return sb.toString(); } } - diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java index fdd7be0dee..f47f784663 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/GeoMagRecord.java @@ -1,6 +1,5 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag; - import javax.persistence.Access; import javax.persistence.AccessType; import javax.persistence.Column; @@ -21,8 +20,9 @@ import com.raytheon.uf.common.dataplugin.persist.IHDFFilePathProvider; import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject; import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; + /** - * Record implementation for geomag plugin. + * Record implementation for geomag plugin. * *
  * SOFTWARE HISTORY
@@ -51,49 +51,84 @@ public class GeoMagRecord extends PersistablePluginDataObject {
 
     private static final long serialVersionUID = 1L;
 
-    public static final String OBS_TIME = "Obs_Time";//h5
-    public static final String Comp_Insert_Time = "Comp_Insert_Time"; 
-    public static final String component1 = "Component1";   
-    public static final String component2 = "Component2";    
-    public static final String component3 = "Component3";    
+    public static final String OBS_TIME = "Obs_Time";// h5
+
+    public static final String Comp_Insert_Time = "Comp_Insert_Time";
+
+    public static final String component1 = "Component1";
+
+    public static final String component2 = "Component2";
+
+    public static final String component3 = "Component3";
+
     public static final String component4 = "Component4";
 
     public static final String H_HR_AVG = "Hr_Avg_H";
+
     public static final String D_HR_AVG = "Hr_Avg_D";
-    
+
     public static final String K_Index = "P3h_K_Index";
+
     public static final String K_Real = "P3h_K_Real";
+
     public static final String K_Gamma = "P3h_Gamma";
+
     public static final String Kest_Index = "P3h_Kest_Index";
+
     public static final String Kest_Real = "P3h_Kest_Real";
+
     public static final String Kest_Gamma = "P3h_Kest_Gamma";
+
     public static final String KH_Real = "P3h_Hk_Real";
+
     public static final String KH_Gamma = "P3h_H_Gamma";
+
     public static final String KD_Real = "P3h_Dk_Real";
+
     public static final String KD_Gamma = "P3h_D_Gamma";
+
     public static final String A_Running = "P3h_A_Running";
+
     public static final String A_Final_Running = "P3h_A_Final_Running";
+
     public static final String KH_Int = "P3h_Hk_Int";
+
     public static final String KD_Int = "P3h_Dk_Int";
+
     public static final String Last_Update = "P3h_Last_Update";
-    
+
     public static final String Kest_Index_1m = "P1m_Kest_Index";
+
     public static final String Kest_Real_1m = "P1m_Kest_Real";
+
     public static final String Kest_Gamma_1m = "P1m_Kest_Gamma";
+
     public static final String KH_Real_1m = "P1m_Hk_Real";
+
     public static final String KH_Gamma_1m = "P1m_H_Gamma";
+
     public static final String KH_Index_1m = "P1m_Hk_Index";
+
     public static final String KD_Real_1m = "P1m_Dk_Real";
+
     public static final String KD_Gamma_1m = "P1m_D_Gamma";
+
     public static final String KD_Index_1m = "P1m_Dk_Index";
+
     public static final String KH_Count = "P1m_H_Count";
+
     public static final String KD_Count = "P1m_D_Count";
+
     public static final String KH_Dev = "P1m_H_Dev";
+
     public static final String KD_Dev = "P1m_D_Dev";
+
     public static final String A_est = "P1m_A_est";
+
     public static final String K_s = "P1m_K_s";
+
     public static final String Last_Update_1m = "P1m_Last_Update";
-    
+
     /**
      * station code
      */
@@ -116,19 +151,11 @@ public class GeoMagRecord extends PersistablePluginDataObject {
      * report type
      */
     @DataURI(position = 3)
-    @Column 
+    @Column
     @DynamicSerializeElement
     @XmlAttribute
     private String reportType;
-    
-//    /**
-//     * index for data in hdf5, 0-1439
-//     */
-//    @Column 
-//    @DynamicSerializeElement
-//    @XmlAttribute
-//    private int idx;
-    
+
     /**
      * flag to indicate bad data point
      */
@@ -136,7 +163,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private int badDataPoint;
- 
+
     /**
      * H or X values
      */
@@ -144,7 +171,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private float component_1;
-    
+
     /**
      * D or Y values
      */
@@ -152,7 +179,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private float component_2;
-    
+
     /**
      * Z values
      */
@@ -160,7 +187,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private float component_3;
-    
+
     /**
      * F values
      */
@@ -168,7 +195,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private float component_4;
-    
+
     /**
      * F values
      */
@@ -192,108 +219,37 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     @DynamicSerializeElement
     @XmlAttribute
     private int cadenceId;
-    
+
     /**
      * Observation Date and Time for the minute values
      */
     @Transient
     private long[] obs_times;
-    
+
     /**
      * H or X values
      */
     @Transient
     private float[] comp1_data;
-    
+
     /**
      * D or Y values
      */
     @Transient
     private float[] comp2_data;
-    
+
     /**
      * Z values
      */
     @Transient
     private float[] comp3_data;
-    
+
     /**
      * F values
      */
     @Transient
     private float[] comp4_data;
 
-//    /**
-//     * Following for HrAvg values
-//     */
-//    @Transient
-//    private float[] hrAvgH;
-//
-//    @Transient
-//    private float[] hrAvgD;
-//
-//    @Transient
-//    private long[] comp_InsertTime;
-//
-//    /**
-//     * Following for K values
-//     */
-//    // 3hr
-//    @Transient
-//    private int[] kK_Index;
-//    @Transient
-//    private float[] kK_Real;
-//    @Transient
-//    private float[] kK_Gamma;    
-//    @Transient
-//    private int[] kest_Index;
-//    @Transient
-//    private float[] kest_Real;
-//    @Transient
-//    private float[] kest_Gamma;
-//    @Transient
-//    private float[] hK_Real;
-//    @Transient
-//    private float[] hK_Gamma;
-//    @Transient
-//    private float[] dK_Real;     
-//    @Transient
-//    private float[] dK_Gamma;
-//    
-//    // 1 min
-//    @Transient
-//    private int[] h_Count;
-//    @Transient
-//    private int[] d_Count;
-//    @Transient
-//    private int[] kest_Index_1m;
-//    @Transient
-//    private float[] kest_Real_1m;
-//    @Transient
-//    private float[] kest_Gamma_1m;
-//    @Transient
-//    private float[] hK_Real_1m;
-//    @Transient
-//    private float[] hK_Gamma_1m;
-//    @Transient
-//    private float[] dK_Real_1m;     
-//    @Transient
-//    private float[] dK_Gamma_1m;    
-//    @Transient
-//    private int[] hK_Index_1m;
-//    @Transient
-//    private int[] dK_Index_1m;
-//    @Transient
-//    private float[] h_Dev;
-//    @Transient
-//    private float[] d_Dev;
-//    @Transient
-//    private float[] Ks;
-//    @Transient
-//    private int[] a_est;
-//    @Transient
-//    private float[] update_1m;
-    
     /**
      * No-arg Constructor
      */
@@ -325,7 +281,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setStationCode(String stationCode) {
         this.stationCode = stationCode;
     }
-   
+
     /**
      * @return the sourceId
      */
@@ -340,7 +296,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setSourceId(int sourceId) {
         this.sourceId = sourceId;
     }
-    
+
     /**
      * @return the badDataPoint
      */
@@ -349,12 +305,13 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     }
 
     /**
-     * @param the badDataPoint to set
+     * @param the
+     *            badDataPoint to set
      */
     public void setBadDataPoint(int badDataPoint) {
         this.badDataPoint = badDataPoint;
     }
-    
+
     /**
      * @return the reportType
      */
@@ -376,10 +333,11 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public long[] getObsTimes() {
         return obs_times;
     }
+
     public void setObsTimes(long[] obs_times) {
         this.obs_times = obs_times;
     }
-    
+
     /**
      * @return the comp1_data array
      */
@@ -390,7 +348,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComp1Data(float[] h_data) {
         this.comp1_data = h_data;
     }
-    
+
     /**
      * @return the comp2_data array
      */
@@ -401,7 +359,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComp2Data(float[] d_data) {
         this.comp2_data = d_data;
     }
-    
+
     /**
      * @return the comp3_data
      */
@@ -412,18 +370,18 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComp3Data(float[] z_data) {
         this.comp3_data = z_data;
     }
-    
+
     /**
      * @return the comp4_data
      */
     public float[] getComp4Data() {
         return comp4_data;
     }
-   
+
     public void setComp4Data(float[] f_data) {
         this.comp4_data = f_data;
     }
-    
+
     /**
      * @return the component_1
      */
@@ -434,7 +392,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComponent_1(float component_1) {
         this.component_1 = component_1;
     }
-    
+
     /**
      * @return the component_2
      */
@@ -445,7 +403,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComponent_2(float component_2) {
         this.component_2 = component_2;
     }
-    
+
     /**
      * @return the component_3
      */
@@ -456,7 +414,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setComponent_3(float component_3) {
         this.component_3 = component_3;
     }
-    
+
     /**
      * @return the component_4
      */
@@ -481,7 +439,7 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public void setDistributionId(int distributionId) {
         this.distributionId = distributionId;
     }
-    
+
     /**
      * @return the d_HrAvg
      */
@@ -499,257 +457,16 @@ public class GeoMagRecord extends PersistablePluginDataObject {
     public int getCadenceId() {
         return cadenceId;
     }
-    
+
     public void setCadenceId(int cadenceId) {
         this.cadenceId = cadenceId;
     }
 
-//    /*
-//     * @param k index related
-//     */
-//    // 3hr
-//    public int[] getKKIndex() {
-//        return kK_Index;
-//    }
-//
-//    public void setKKIndex(int[] kK_Index) {
-//        this.kK_Index = kK_Index;
-//    }
-//      
-//    public float[] getKKReal() {
-//        return kK_Real;
-//    }
-//
-//    public void setKKReal(float[] kK_Real) {
-//        this.kK_Real = kK_Real;
-//    }
-//    
-//    public float[] getKKGamma() {
-//        return kK_Gamma;
-//    }
-//
-//    public void setKKGamma(float[] kK_Gamma) {
-//        this.kK_Gamma = kK_Gamma;
-//    }
-//    
-//    
-//    public float[] getHKReal() {
-//        return hK_Real;
-//    }
-//
-//    public void setHKReal(float[] hK_Real) {
-//        this.hK_Real = hK_Real;
-//    }
-//    
-//    public float[] getDKReal() {
-//        return dK_Real;
-//    }
-//
-//    public void setDKReal(float[] dK_Real) {
-//        this.dK_Real = dK_Real;
-//    }
-//    
-//    public int[] getKestIndex() {
-//        return kest_Index;
-//    }
-//
-//    public void setKestIndex(int[] kest_Index) {
-//        this.kest_Index = kest_Index;
-//    }
-//    
-//    public float[] getKestReal() {
-//        return kest_Real;
-//    }
-//
-//    public void setKestReal(float[] kest_Real) {
-//        this.kest_Real = kest_Real;
-//    }
-//
-//    public float[] getKestGamma() {
-//        return kest_Gamma;
-//    }
-//
-//    public void setKestGamma(float[] kest_Gamma) {
-//        this.kest_Gamma = kest_Gamma;
-//    }
-//       
-//    public float[] getHKGamma() {
-//        return hK_Gamma;
-//    }
-//
-//    public void setHKGamma(float[] hK_Gamma) {
-//        this.hK_Gamma = hK_Gamma;
-//    }
-//    
-//    public float[] getDKGamma() {
-//        return dK_Gamma;
-//    }
-//
-//    public void setDKGamma(float[] dK_Gamma) {
-//        this.dK_Gamma = dK_Gamma;
-//    }
-//    
-//    // 1min
-//    public float[] getHKReal1m() {
-//        return hK_Real_1m;
-//    }
-//
-//    public void setHKReal1m(float[] hK_Real_1m) {
-//        this.hK_Real_1m = hK_Real_1m;
-//    }
-//    
-//    public float[] getDKReal1m() {
-//        return dK_Real_1m;
-//    }
-//
-//    public void setDKReal1m(float[] dK_Real_1m) {
-//        this.dK_Real_1m = dK_Real_1m;
-//    }
-//    
-//    public int[] getKestIndex1m() {
-//        return kest_Index_1m;
-//    }
-//
-//    public void setKestIndex1m(int[] kest_Index_1m) {
-//        this.kest_Index_1m = kest_Index_1m;
-//    }
-//    
-//    public float[] getKestReal1m() {
-//        return kest_Real_1m;
-//    }
-//
-//    public void setKestReal1m(float[] kest_Real_1m) {
-//        this.kest_Real_1m = kest_Real_1m;
-//    }
-//
-//    public float[] getKestGamma1m() {
-//        return kest_Gamma_1m;
-//    }
-//
-//    public void setKestGamma1m(float[] kest_Gamma_1m) {
-//        this.kest_Gamma_1m = kest_Gamma_1m;
-//    }
-//       
-//    public float[] getHKGamma1m() {
-//        return hK_Gamma_1m;
-//    }
-//
-//    public void setHKGamma1m(float[] hK_Gamma_1m) {
-//        this.hK_Gamma_1m = hK_Gamma_1m;
-//    }
-//    
-//    public float[] getDKGamma1m() {
-//        return dK_Gamma_1m;
-//    }
-//
-//    public void setDKGamma1m(float[] dK_Gamma_1m) {
-//        this.dK_Gamma_1m = dK_Gamma_1m;
-//    }
-//    
-//    public int[] getHKIndex1m() {
-//        return hK_Index_1m;
-//    }
-//
-//    public void setHKIndex1m(int[] hK_Index_1m) {
-//        this.hK_Index_1m = hK_Index_1m;
-//    }
-//    
-//    public int[] getDKIndex1m() {
-//        return dK_Index_1m;
-//    }
-//
-//    public void setDKIndex1m(int[] dK_Index_1m) {
-//        this.dK_Index_1m = dK_Index_1m;
-//    }
-//  
-//    public int[] getHCount() {
-//        return h_Count;
-//    }
-//
-//    public void setHCount(int[] h_Count) {
-//        this.h_Count = h_Count;
-//    }
-//    
-//    public int[] getDCount() {
-//        return d_Count;
-//    }
-//
-//    public void setDCount(int[] d_Count) {
-//        this.d_Count = d_Count;
-//    }
-//    
-//    public float[] getHDev() {
-//        return h_Dev;
-//    }
-//
-//    public void setHDev(float[] h_Dev) {
-//        this.h_Dev = h_Dev;
-//    }
-//    
-//    public float[] getDDev() {
-//        return d_Dev;
-//    }
-//
-//    public void setDDev(float[] d_Dev) {
-//        this.d_Dev = d_Dev;
-//    }
-//    
-//    public float[] getKs() {
-//        return Ks;
-//    }
-//
-//    public void setKs(float[] Ks) {
-//        this.Ks = Ks;
-//    }
-//    
-//    public int[] getAest() {
-//        return a_est;
-//    }
-//
-//    public void setAest(int[] a_est) {
-//        this.a_est = a_est;
-//    }
-//    
-//    public float[] getLastUpdate() {
-//        return update_1m;
-//    }
-//
-//    public void setLastUpdate(float[] update_1m) {
-//        this.update_1m = update_1m;
-//    }
-    
     @Override
     public IDecoderGettable getDecoderGettable() {
         return null;
     }
 
-//    public void retrieveFromDataStore(IDataStore dataStore) {
-//        
-//        try {
-//            IDataRecord[] dataRec = dataStore.retrieve(getDataURI());
-//            for (int i = 0; i < dataRec.length; i++) {
-//            	if (dataRec[i].getName().equals(GeoMagRecord.OBS_TIME)) {
-//               	     obs_times = (((LongDataRecord) dataRec[i]).getLongData());
-//                } 
-//                if (dataRec[i].getName().equals(GeoMagRecord.component1)) {
-//                	 comp1_data = (((FloatDataRecord) dataRec[i]).getFloatData());
-//                } 
-//                if (dataRec[i].getName().equals(GeoMagRecord.component2)) {
-//               	     comp2_data = (((FloatDataRecord) dataRec[i]).getFloatData());
-//                } 
-//                if (dataRec[i].getName().equals(GeoMagRecord.component3)) {
-//               	     comp3_data = (((FloatDataRecord) dataRec[i]).getFloatData());
-//                } 
-//                if (dataRec[i].getName().equals(GeoMagRecord.component4)) {
-//               	     comp4_data = (((FloatDataRecord) dataRec[i]).getFloatData());
-//                } 
-//            }
-//
-//        } catch (Exception se) {
-//            se.printStackTrace();
-//        }
-//    }
-   
     @Override
     @Column
     @Access(AccessType.PROPERTY)
diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach1min.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach1min.java
new file mode 100644
index 0000000000..2e210d2473
--- /dev/null
+++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach1min.java
@@ -0,0 +1,483 @@
+package gov.noaa.nws.ncep.common.dataplugin.geomag.calculation;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/*
+ * The calculation of k, 1 minute related.
+ * 
+ * 
+ * SOFTWARE HISTORY
+ *                   
+ * ate          Ticket#     Engineer   Description
+ * -----------  ----------  ---------- --------------------------
+ * 05/14/2013   #989        qzhou      Initial Creation
+ * 03/18/2014   #1123       qzhou      Add getHdevOrDDev
+ * 04/09/2014   #1123       qzhou      Modified getKIndex for gamma value
+ * 
+ * + * @author qzhou + * @version 1 + */ +public class CalcEach1min { + private static final float MISSING_VAL = 99999.99f; + + private static final int MAX_GAP_LENGTH = 15; + + private static final int SMOOTH_WINDOW = 60;// + + private static final int TRANSITION_TIME = 60; + + private static final int PHASE_POWER = 3; + + private static final int HARM_ORDER = 5; + + private static int HOURS = 24; + + private static int MINUTES = 60; + + /* + * @param dataIn -- data of 4320 + */ + public static float[] fillGaps(float[] dataIn) { + float[] data = dataIn.clone(); + int i = 0; + int size = data.length; + + while (i < size) { + + // Find the next missing value + int flag = 0; // flag used for break + while (i < size && flag == 0) { + if (data[i] == MISSING_VAL) + flag = 1; + else + i++; + } + + // If a gap was found handle it + if (i < size) { + int gapIndex = i; // index of first missing value + + // Find the last missing point + flag = 0; + while (i < size && flag == 0) { + if (data[i] != MISSING_VAL) + flag = 1; + else + i++; + } + + // Interpolate the gap if possible. We cannot extrapolate + if ((gapIndex > 0) && (i < size)) { + // Now i is the index of first non-missing value + // and GapIndex is the index of first missing value + int gapLength = i - gapIndex; // i is index of first + // non-missing value + + // Interpolate if the gap is small enough + if (gapLength < MAX_GAP_LENGTH) { + float value1 = data[gapIndex - 1]; + float value2 = data[i]; + for (int j = 1; j < gapLength + 1; j++) + data[gapIndex++] = value1 + (j * (value2 - value1)) + / (gapLength + 1); + } + } + } + } + + return data; + } + + /* + * 24 element floating point array. (DefLength + 30 + kLength) Find out how + * many points are used to get the centered hour average + */ + public static float[] getFitLength(float[] defLength, float[] kIndex, + float[] kLength) { + float[] fitLength = new float[HOURS]; + int[] ind = new int[HOURS]; + float[] curK = new float[HOURS]; + + for (int i = 0; i < HOURS; i++) { + fitLength[i] = 30.0f + defLength[i]; + ind[i] = (int) Math.floor(i / 3); + curK[i] = kIndex[ind[i]]; + + if (curK[i] != MISSING_VAL) + fitLength[i] += kLength[(int) curK[i]]; + + if (fitLength[i] > 1440) + fitLength[i] = 1440; + } + + return fitLength; + } + + /* + * @param data (hhdata, dddata), float[4320] + * + * @return -- 24 element floating point array. Calculate averages centered + * on each hour of the day + */ + public static float[] getCentHourAvg(float[] data, float[] fitLength, + float[] defLength) { + + float[] HrAvg = new float[HOURS]; // double + Arrays.fill(HrAvg, MISSING_VAL); + + for (int ihr = 0; ihr < HOURS; ihr++) { + // take middle interval + int center = 1440 + ihr * MINUTES + 30; + int start = center - Math.round(fitLength[ihr]); + int end = center + Math.round(fitLength[ihr]); + int missing = 0; + double sum = 0; + + // if data[i] have no missing value + for (int i = start; i < end + 1; i++) { + + if (data[i] != MISSING_VAL) { + sum += data[i]; + } else { + missing++; + break;// this loop + } + } + + if (missing == 0) // no missing value + HrAvg[ihr] = (float) sum / (end - start + 1); + } + + // if HrAvg have missing value + // Extrapolate the first missing points--missing beginning + int hr0 = 0; + int flag = 0; + while (hr0 < HOURS && flag == 0) { + if (HrAvg[hr0] != MISSING_VAL) + flag = 1; + else { + hr0++; + + } + } + if (hr0 > 0 && hr0 < HOURS) + for (int i = 0; i < hr0; i++) + HrAvg[i] = HrAvg[hr0]; + + // Extrapolate the last missing points--missing end + int hr1 = 23; + while ((hr1 > hr0) && (HrAvg[hr1] == MISSING_VAL)) + hr1--; + if (hr1 < 23) + for (int i = hr1 + 1; i < HOURS; i++) + HrAvg[i] = HrAvg[hr1]; + + // Interpolate the missing points between hour0 and hour1 + // Both hour0 and hour1 are hours where data exists + while (hr0 < hr1) { + + do { + hr0++; + } while (hr0 < hr1 && HrAvg[hr0] != MISSING_VAL); + + if (hr0 < hr1) { + int hr = hr0; // first missing hour + while ((hr0 < hr1) && (HrAvg[hr0] == MISSING_VAL)) + hr0++; + int gapLength = hr0 - hr; + float value1 = HrAvg[hr - 1];// not missing + float value2 = HrAvg[hr0]; // not missing + + for (int i = 1; i < gapLength + 1; i++) + HrAvg[hr++] = value1 + (i * (value2 - value1)) + / (gapLength + 1); + } + } + + return HrAvg; + } + + /* + * @param hrAvg -- QHA data 1440 + */ + public static float[] getHarmonicFit(float[] hrCentAvg) { + float[] fitCurve = new float[1440]; + int delta = MINUTES; // minutes between points in HrAvg + int t0 = 30; // time tag for first point in HrAvg + float t1 = (HOURS - 1) * delta + t0; // time tag for last point in HrAvg + + // Rotate HrAvg so that 1st and last points are equal, store in HA + float r_coeff = (hrCentAvg[HOURS - 1] - hrCentAvg[0]) / (t1 - t0); + float[] hrA = new float[HOURS];// 0.0*HrAvg + for (int i = 0; i < HOURS; i++) + hrA[i] = hrCentAvg[i] - r_coeff * (i * delta); + + // Calculate first Fourier series coefficients up to Horder + float[] reA = new float[HARM_ORDER + 1]; // real part of the Fourier + // Series Coefficients + // (initially 0) + float[] imA = new float[HARM_ORDER + 1]; // imaginary part of Fourier + // Series Coefficients + // (initially 0) + for (int i = 0; i < HARM_ORDER + 1; i++) { + for (int j = 0; j < HOURS; j++) { + reA[i] += hrA[j] * Math.cos(2 * (Math.PI) * j * i / HOURS); + imA[i] -= hrA[j] * Math.sin(2 * (Math.PI) * j * i / HOURS); + } + } + + // Derive FitCurve as harmonic fit using inverse transform + for (int t = 0; t < HOURS * delta; t++) { // t is minute of the day + float theta = (float) (2 * (Math.PI) * (t - t0) / (HOURS * delta)); + fitCurve[t] = reA[0] / HOURS; + for (int i = 1; i < HARM_ORDER + 1; i++) + fitCurve[t] += (2 * reA[i] * Math.cos(i * theta) - 2 * imA[i] + * Math.sin(i * theta)) + / HOURS; + + // Derotate FitCurve by same amount as HrAvg + fitCurve[t] += r_coeff * (t - t0); + } + + return fitCurve; + } + + /* + * @param hdev,ddev -- float[1440] + */ + public static List getKIndex(float[] hdev, float[] ddev, int[] kLimit, + int missingFlag) { + List list = new ArrayList(); + + // Initialize the return data with MissingValue + float[] kIndex = new float[8]; + float[] hk = new float[8]; + float[] dk = new float[8]; + float[] gamma = new float[8]; + float[] hGamma = new float[8]; + float[] dGamma = new float[8]; + + Arrays.fill(kIndex, MISSING_VAL); + Arrays.fill(hk, MISSING_VAL); + Arrays.fill(dk, MISSING_VAL); + Arrays.fill(gamma, MISSING_VAL); + Arrays.fill(hGamma, MISSING_VAL); + Arrays.fill(dGamma, MISSING_VAL); + + // Check for bad input data + int npts = hdev.length; + if (npts != ddev.length) + return list; + + if (npts < 1261 || npts > 1440) // 21*60+1 + return list; + + // Step through each three hourly interval + for (int ipd = 0; ipd < 8; ipd++) { + int istart = ipd * 180; + int iend = istart + 180 - 1; + if (iend >= npts) + iend = npts - 1; // allow for partial interval on the end + if (iend < istart) + continue; // should never happen... + + // Check for missing data + int i = 0; + int ii = 0; + int npdpts = iend - istart + 1; // number of possible points in the + // period, =180 + float[] hhdev = new float[npdpts]; + float[] dddev = new float[npdpts]; + + for (int j = istart; j < iend + 1; j++) { + hhdev[j - istart] = hdev[j]; + dddev[j - istart] = ddev[j]; + } + + // get hdevGood + for (i = npdpts - 1; i >= 0; i--) + if (hhdev[i] != MISSING_VAL && hhdev[i] != 0) + break; + + for (ii = npdpts - 1; ii >= 0; ii--) + if (dddev[ii] != MISSING_VAL && dddev[ii] != 0) + break; + + // i, ii are the last data that is not missing + float[] hdevGood = new float[i + 1]; + float[] ddevGood = new float[ii + 1]; + if (i > -1) + for (int j = 0; j < i + 1; j++) + hdevGood[j] = hhdev[j]; + if (ii > -1) + for (int j = 0; j < ii + 1; j++) + ddevGood[j] = dddev[j]; + + if (missingFlag == 0 || (i > -1 && ii > -1)) { + if (hdevGood != null && hdevGood.length != 0) + hGamma[ipd] = CalcUtil.maxValue(hdevGood) + - CalcUtil.minValue(hdevGood); + if (ddevGood != null && ddevGood.length != 0) + dGamma[ipd] = CalcUtil.maxValue(ddevGood) + - CalcUtil.minValue(ddevGood); + + if (hGamma[ipd] != MISSING_VAL) + hk[ipd] = CalcUtil.getKfromTable(kLimit, hGamma[ipd]); + + if (dGamma[ipd] != MISSING_VAL) + dk[ipd] = CalcUtil.getKfromTable(kLimit, dGamma[ipd]); + + // get bigger one + if (hGamma[ipd] >= dGamma[ipd] && hGamma[ipd] != MISSING_VAL) { + kIndex[ipd] = hk[ipd]; + gamma[ipd] = hGamma[ipd]; + } else if (dGamma[ipd] >= hGamma[ipd] + && dGamma[ipd] != MISSING_VAL) { + kIndex[ipd] = dk[ipd]; + gamma[ipd] = dGamma[ipd]; + } + } + } + + list.add(0, kIndex); + list.add(1, gamma); + list.add(2, hk); + list.add(3, hGamma); + list.add(4, dk); + list.add(5, dGamma); + + return list; + } + + /* + * Force QHAQDC and QDAQDC to be continuous between the last and the first + * value using a +/- SMOOTH_WINDOW + */ + public static float[] getQHAQDC(float[] qdc) { + float[] data = qdc.clone(); // new float[1440]; + + if (qdc.length != 1440) + return data; + + float jump = qdc[0] - qdc[1439]; + + for (int i = 0; i < SMOOTH_WINDOW; i++) { + data[1440 - SMOOTH_WINDOW - i] += i / (SMOOTH_WINDOW - 1) * 0.5 + * jump; + data[i] -= (1 - i / (SMOOTH_WINDOW - 1)) * 0.5 * jump; + } + + return data; + } + + /* + * find index in hhdata that indicates current time currTimeIndex = first + * 1440 minutes + prev day minutes + curr day minutes + */ + public static int getCurrTimeIndex(int hour, int min, int epHour) { + + if (epHour == 0) + epHour = 24; + + int currTimeIndex = HOURS * MINUTES + (HOURS - epHour) * MINUTES + hour + * MINUTES + min; + + return currTimeIndex; + } + + /* + * + */ + public static float[] getExtrapolation(float[] dataIn, float[] qhaQdc, + int currTimeIndex) { // 4320 + float[] data = dataIn.clone(); + int j0 = currTimeIndex;// Last good H or D index + + if (data.length != 4320 || qhaQdc.length != 1440) + return data; + + if (data[j0] != MISSING_VAL) { + for (int j = j0 + 1; j < 4320; j++) { + int w2 = j - j0 - 1; // from .pro + int w1 = TRANSITION_TIME - w2; + + if (w1 < 0) + w1 = 0; + + data[j] = (w1 * data[j0] + w2 * qhaQdc[j % 1440]) / (w1 + w2); + } + } + + return data; + } + + public static float[] getDev(float[] data, float[] qdc) { + float[] dev = new float[1440]; + + if (data.length != 4320 || qdc.length != 1440) + return dev; + + for (int i = 0; i < 1440; i++) { + + if (data[i + 1440] != MISSING_VAL && qdc[i] != MISSING_VAL) + dev[i] = data[i + 1440] - qdc[i]; + else + dev[i] = MISSING_VAL; + } + + return dev; + } + + public static float[] adjustHrCentAvg(float[] hcAIn, float[] qha, + float[] gamma, int[] kLimit) { + float[] hcA = hcAIn.clone(); + float wh = 0; + + if (hcA.length != HOURS || gamma.length != 8) + return hcA; + + for (int ipd = 0; ipd < 8; ipd++) { + if (gamma[ipd] < kLimit[4]) + wh = 1; + else if (gamma[ipd] >= kLimit[4] && gamma[ipd] < kLimit[6]) + wh = (float) Math.pow( + ((kLimit[6] - gamma[ipd]) / (kLimit[6] - kLimit[4])), + PHASE_POWER); + else + wh = 0; + + for (int j = 0; j < 3; j++) { + hcA[ipd * 3 + j] = wh * hcA[ipd * 3 + j] + (1 - wh) + * qha[ipd * 3 + j];// ? + + } + } + + return hcA; + } + + /* + * wraper function for a few functions in this class. + * + * @param -- hdata, H or D data + * + * @param -- hQdc, H or D quiet day curve. float[1440] + * + * @param -- currTimeIndex, current time index in the array + * + * @return -- hDev or dDev. float[1440] + */ + public static float[] getHdevOrDDev(float[] hdata, float[] hQdc, + int currTimeIndex) { + float[] hDev = null; + + float[] hhdata = CalcEach1min.fillGaps(hdata); + + hDev = CalcEach1min.getDev(hhdata, hQdc);// [1440] + + return hDev; + } +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach3hr.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach3hr.java new file mode 100644 index 0000000000..577d01d2e7 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcEach3hr.java @@ -0,0 +1,392 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.calculation; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/* + * The calculation of k, 3 hour related. + * + *
+ * SOFTWARE HISTORY
+ *                   
+ * ate          Ticket#     Engineer   Description
+ * -----------  ----------  ---------- --------------------------
+ * 05/14/2013   #989        qzhou      Initial Creation
+ * 03/18/2014   #1123       qzhou      Add getHQdcOrDQdc
+ * 
+ * + * @author qzhou + * @version 1 + */ +public class CalcEach3hr { + private static final float MISSING_VAL = 99999.99f; + + private static final int NIGHT_LENGTH = 90; // min + + private static final int DAWN_LENGTH = 60; + + private static final int DAY_LENGTH = 0; + + private static final int DUSK_LENGTH = 60; + + private static int DAYS = 30; + + private static int HOURS = 24; + + private static int MINUTES = 60; + + /* + * calculate hrAvgs for this hour + * + * @param bestList -- contains 1 hour data + */ + public static float[] getSimpleHourAvg(List bestList) { + float[] simpHrAvg = new float[2]; + float simpHrAvg1 = 0; + float simpHrAvg2 = 0; + double sum1 = 0; + double sum2 = 0; + int rec1 = 0; + int rec2 = 0; + + for (int i = 0; i < bestList.size(); i++) { + + List list = (List) bestList.get(i); + + float comp1 = (Float) list.get(1); + float comp2 = (Float) list.get(2); + + if (comp1 != MISSING_VAL) { + sum1 += comp1; + rec1++; + } + if (comp2 != MISSING_VAL) { + sum2 += comp2; + rec2++; + } + } + + if (rec1 > 30) // less than half missing value + simpHrAvg1 = (float) sum1 / rec1; + else + simpHrAvg1 = MISSING_VAL; + + if (rec2 > 30) // less than half missing value + simpHrAvg2 = (float) sum2 / rec2; + else + simpHrAvg2 = MISSING_VAL; + + simpHrAvg[0] = simpHrAvg1; + simpHrAvg[1] = simpHrAvg2; + + return simpHrAvg; + } + + /* + * calculate hrAvgs for this day. + * + * @param data -- data of one day, 1440 + */ + public static float[] getSimpleHourAvg(float[] data) { // data 1440 + + float[] simpHrAvg = new float[HOURS]; + + for (int ihr = 0; ihr < HOURS; ihr++) { + double sum = 0; + int missing = 0; + + for (int i = ihr * MINUTES; i < ihr * MINUTES + MINUTES; i++) { + + if (data[i] != MISSING_VAL) + sum += data[i]; + else + missing++; + } + + if (missing < 30) // less than half missing value + simpHrAvg[ihr] = (float) sum / (MINUTES - missing); + else + simpHrAvg[ihr] = MISSING_VAL; + } + + return simpHrAvg; + } + + /* + * calculate hrAvgs for this hour in data array + * + * @param data -- data of one day, 1440 + */ + public static float getSimpleHourAvg(float[] data, int hour) { // one day + // 1440, avg + // for hour-1 + + float simpHrAvg = 0; + double sum = 0; + int rec = 0; + + if (data.length <= hour * MINUTES + MINUTES) + for (int i = hour * MINUTES; i < data.length; i++) { + if (data[i] != MISSING_VAL) { + sum += data[i]; + rec++; + } + } + else + for (int i = hour * MINUTES; i < hour * MINUTES + MINUTES; i++) { + if (data[i] != MISSING_VAL) { + sum += data[i]; + rec++; + } + } + + if (rec > 30) // less than half missing value + simpHrAvg = (float) sum / (rec); + else + simpHrAvg = MISSING_VAL; + + return simpHrAvg; + } + + /* + * @param simpHrAvgH -- data of 30 intervals(720 hours) + * + * @return disturbance levels for 30 intervals + */ + public static float[] getDisturbanceLevel(float[] simpHrAvgH, + float[] simpHrAvgD) { + float[] dB = new float[30]; + + for (int j = 0; j < DAYS; j++) { + double sum = 0; + int missing = 0; + + int endOfArray = simpHrAvgH.length; + int endTime = (endOfArray > j * HOURS + HOURS) ? j * HOURS + HOURS + : endOfArray; + + for (int i = j * HOURS; i < endTime - 1; i++) { + + if (simpHrAvgH[i] != MISSING_VAL + && simpHrAvgD[i] != MISSING_VAL + && simpHrAvgH[i + 1] != MISSING_VAL + && simpHrAvgD[i + 1] != MISSING_VAL) { + sum += Math.sqrt(Math.pow( + (simpHrAvgH[i + 1] - simpHrAvgH[i]), 2) + + Math.pow((simpHrAvgD[i + 1] - simpHrAvgD[i]), 2)); + } else + missing++; + } + + if (missing <= 12) // not 12 or more missing + dB[j] = (float) sum / (HOURS - 1 - missing); + else + dB[j] = MISSING_VAL; + + } + + return dB; + } + + /* + * @param dB -- float[30 ] + * + * @return --5 smallest disturbance levels + */ + public static Map getSmallDisturbanceLevel(float[] dB) { + // create a map that key=dBIndex and value=dBValue. + // create a duplicate array dBDup. Sort it. + // take 5 smallest dBDup[i]. Then find its index and value from the dB. + // Put them to the map + Map dBSmall = new HashMap(); + + float[] dBDup = new float[dB.length]; + for (int i = 0; i < dBDup.length; i++) { + dBDup[i] = dB[i]; + } + + Arrays.sort(dBDup); + + float dupIndex = (int) MISSING_VAL; + float wk = 0; + // take 5 smallest dBDup + for (int j = 0; j < 5; j++) { + for (int i = 0; i < dB.length; i++) { + if (dB[i] == dBDup[j] && i != dupIndex) { // for duplicated + // values + + dBSmall.put(i, dB[i]); + dupIndex = i; + break; + } + } + } + + return dBSmall; + } + + /* + * @param -- dBSmall, 5 set map + * + * @param -- simpHrAvg, -- float[720] + * + * @rturn -- quietLevelHourAvg, float[24] + */ + public static float[] getQuietLevelHourAvg(Map dBSmall, + float[] simpHrAvg) { + if (dBSmall.entrySet().size() < 5) + return simpHrAvg; + + float[] quietHrAvg = new float[24]; + Arrays.fill(quietHrAvg, MISSING_VAL); + int[] index = new int[5]; + float[] dB = new float[5]; + + int k = 0; + Iterator iter = dBSmall.entrySet().iterator(); + while (iter.hasNext()) { + @SuppressWarnings("unchecked") + Map.Entry mEntry = (Map.Entry) iter + .next(); // sorted on key + + index[k] = mEntry.getKey(); + dB[k] = mEntry.getValue(); + + k++; + } + + // construct smallHrAvg array (24*5) from simpHrAvg (24*30) + float[] smallHrAvg = new float[24 * 5]; + + for (int j = 0; j < 5; j++) { // k=5 + int endOfArray = smallHrAvg.length; + int endTime = (endOfArray > j * HOURS + HOURS) ? j * HOURS + HOURS + : endOfArray; + + for (int i = j * HOURS; i < endTime; i++) { + smallHrAvg[i] = simpHrAvg[index[j] * HOURS + i % HOURS]; // 700 + } + } + + for (int ihr = 0; ihr < HOURS; ihr++) { + float sumAvg = 0; + float sumWk = 0; + float wk = 0; + + for (int jk = 0; jk < 5; jk++) { + int ind = jk * HOURS + ihr; + if (dB[jk] < 1) + wk = 1; + else + wk = 1 / (dB[jk] * dB[jk]); + + if (smallHrAvg[ind] != MISSING_VAL) { + sumAvg += wk * smallHrAvg[ind]; + sumWk += wk; + } + } + + if (sumWk > 0) + quietHrAvg[ihr] = sumAvg / sumWk; + + } + + return quietHrAvg; + } + + /* + * @param -- quietHrAvg, float[24] + * + * @return -- shifted quietLevelHourAvg, float[24] + */ + public static float[] getQHA(float[] quietHrAvg) { + float[] QHA = new float[24]; + + if (quietHrAvg.length != 24) + return quietHrAvg; + + for (int ihr = 0; ihr < 24; ihr++) { + QHA[ihr] = quietHrAvg[(ihr + 3) % 24]; + } + + return QHA; + } + + /* + * @return -- 24 element floating point array. Default fitting lengths. + * (one for each hour of the 24 hour interval that ends at EPtime). + */ + public static float[] getDefLength(String station, int epHour) { + float[] defLength = new float[24]; + float lon = CalcUtil.getLongitude(station); + int UTdiff = Math.round(1440.0f * lon / 360.0f); + int minute0 = epHour * MINUTES; + + for (int ihr = 0; ihr < HOURS; ihr++) { + float sum = 0; + + for (int imin = 0; imin < MINUTES; imin++) { + int curMin = (minute0 + ihr * MINUTES + imin) % 1440; + int localMin = (curMin + UTdiff) % 1440; + + if (localMin >= 0 && localMin < 180) + sum += NIGHT_LENGTH; + else if (localMin >= 180 && localMin < 360) + sum += DAWN_LENGTH; + else if (localMin >= 360 && localMin < 1080) + sum += DAY_LENGTH; + else if (localMin >= 1080 && localMin < 1260) + sum += DUSK_LENGTH; + else if (localMin >= 1260 && localMin < 1440) + sum += NIGHT_LENGTH; + } + + defLength[ihr] = sum / MINUTES; + + } + + return defLength; + } + + /* + * wraper function for a few functions in this class. + * + * @param -- hHrAvgs, hourly average for H. float[720] + * + * @param -- dHrAvgs, hourly average for D. float[720] + * + * @return -- if hHrAvgs is first param, return hQdc; if dHrAvgs is first + * param, return dQdc. float[1440] + */ + public static float[] getHQdcOrDQdc(float[] hHrAvgs, float[] dHrAvgs) { + float[] hQdc = null; + float[] qhaQdc = null; + + float[] dB = CalcEach3hr.getDisturbanceLevel(hHrAvgs, dHrAvgs); + + @SuppressWarnings("unchecked") + Map dBsmall = CalcEach3hr.getSmallDisturbanceLevel(dB); + + float[] quietHHrAvg = CalcEach3hr + .getQuietLevelHourAvg(dBsmall, hHrAvgs); + + // added from FMIQDCRT11_3hr.pro + for (int k = 0; k < quietHHrAvg.length; k++) { + if (quietHHrAvg[k] == MISSING_VAL) { + quietHHrAvg[k] = CalcUtil.getMedian(quietHHrAvg); + } + } + + float[] qha = CalcEach3hr.getQHA(quietHHrAvg); + + hQdc = CalcEach1min.getHarmonicFit(qha);// [1440] + + // qhaQdc = CalcEach1min.getQHAQDC(hQdc);// [1440] + + return hQdc; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcKp.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcKp.java new file mode 100644 index 0000000000..ba9c846a35 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcKp.java @@ -0,0 +1,382 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.calculation; + +import gov.noaa.nws.ncep.common.dataplugin.geomag.table.KsThree; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +/* + * The calculation of Kp and related. + * + *
+ * SOFTWARE HISTORY
+ *                   
+ * ate          Ticket#     Engineer   Description
+ * -----------  ----------  ---------- --------------------------
+ * 05/14/2013   #989        qzhou      Initial Creation
+ * 03/18/2014   #1123       qzhou      default k to 99999
+ * 
+ * + * @author qzhou + * @version 1 + */ +public class CalcKp { + private static final float MISSING_VAL = 99999.99f; + + public CalcKp() { + + } + + public static float[] getKest(String station, float[] kIndex, float[] gamma) { + float[] kest = new float[8]; + + for (int i = 0; i < 8; i++) { + int[] gammaLimit = CalcUtil.getKLimit(station); // .getGammaFromK(station, + // gamma); + if (kIndex[i] < 9) { + kest[i] = kIndex[i] + + (gamma[i] - gammaLimit[(int) kIndex[i]]) + / (gammaLimit[(int) kIndex[i] + 1] - gammaLimit[(int) kIndex[i]]); + } else if (kIndex[i] < 999) + kest[i] = 9.0f; + else + kest[i] = 99999f; + + } + + return kest; + } + + public static float getKest(String station, int kIndex, float gamma) { + float kest = 99999f; + + int[] gammaLimit = CalcUtil.getKLimit(station); + if (kIndex < 9) + kest = kIndex + (gamma - gammaLimit[kIndex]) + / (gammaLimit[kIndex + 1] - gammaLimit[kIndex]); + else if (kIndex < 999) + kest = 9.0f; + + return kest; + } + + /* + * list of the station coefficient values in the order of 00-03, 03-06... + */ + public static ArrayList getKsThreeList(String station) { + + ArrayList threeKsList = CalcUtil.getStationCoeff() + .getStationByCode(station).getKsThree();// size 24 + + return threeKsList; + } + + public static List getKsThree(Date time, String station, int k) { + List ks = new ArrayList(); + + // KsThree ksThree = null; + ArrayList ksThreeList = getKsThreeList(station); + + if (ksThreeList != null && !ksThreeList.isEmpty()) { + + int hour = CalcUtil.getSPTime(time).getHours(); + int period = hour / 3;// 24 -> 8 + + KsThree ksThree = ksThreeList.get(period); + + if (ksThree != null) + ks.add(getKsOfKsThree(k, ksThree)); + + ksThree = ksThreeList.get(period + 8); + + if (ksThree != null) + ks.add(getKsOfKsThree(k, ksThree)); + + ksThree = ksThreeList.get(period + 16); + if (ksThree != null) + ks.add(getKsOfKsThree(k, ksThree)); + + } + + return ks; + } + + private static int getKsOfKsThree(int k, KsThree ksThree) { + int ks = 99999; + + if (k == 0) + ks = ksThree.getK0(); + else if (k == 1) + ks = ksThree.getK1(); + else if (k == 2) + ks = ksThree.getK2(); + else if (k == 3) + ks = ksThree.getK3(); + else if (k == 4) + ks = ksThree.getK4(); + else if (k == 5) + ks = ksThree.getK5(); + else if (k == 6) + ks = ksThree.getK6(); + else if (k == 7) + ks = ksThree.getK7(); + else if (k == 8) + ks = ksThree.getK8(); + else if (k == 9) + ks = ksThree.getK9(); + + return ks; + } + + public static float getKs(String station, int k, Date time) + throws ParseException { + float a = 0; + float b = 0; + float ks = 0; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + // int year = time.getYear();113 + Calendar cal = Calendar.getInstance(); + cal.setTime(time); + int year = cal.get(Calendar.YEAR); + + Date date1 = sdf.parse(year + "-01-01"); + Date date2 = sdf.parse(year + "-02-14"); + Date date3 = sdf.parse(year + "-02-24"); + Date date4 = sdf.parse(year + "-03-06"); + Date date5 = sdf.parse(year + "-03-16"); + Date date6 = sdf.parse(year + "-04-16"); + Date date7 = sdf.parse(year + "-04-26"); + Date date8 = sdf.parse(year + "-05-06"); + Date date9 = sdf.parse(year + "-05-16"); + Date date10 = sdf.parse(year + "-08-17"); + Date date11 = sdf.parse(year + "-08-27"); + Date date12 = sdf.parse(year + "-09-06"); + Date date13 = sdf.parse(year + "-09-16"); + Date date14 = sdf.parse(year + "-10-17"); + Date date15 = sdf.parse(year + "-10-27"); + Date date16 = sdf.parse(year + "-11-06"); + Date date17 = sdf.parse(year + "-11-16"); + Date date18 = sdf.parse(year + "-12-31"); + + Date date2Leep = sdf.parse(year + "-02-15"); + Date date3Leep = sdf.parse(year + "-02-25"); + + List ksThree = getKsThree(time, station, k); + + if (time.compareTo(date1) >= 0 && time.compareTo(date2) < 0) { + ks = (float) ksThree.get(0) / 3; + } else if (time.compareTo(date4) >= 0 && time.compareTo(date5) < 0) { + ks = (float) (0.25f * ksThree.get(0) + 0.75f * ksThree.get(1)) / 3; + } else if (time.compareTo(date5) >= 0 && time.compareTo(date6) < 0) { + ks = (float) ksThree.get(1) / 3; + } else if (time.compareTo(date6) >= 0 && time.compareTo(date7) < 0) { + ks = (float) (0.75f * ksThree.get(1) + 0.25f * ksThree.get(2)) / 3; + } else if (time.compareTo(date7) >= 0 && time.compareTo(date8) < 0) { + ks = (float) (0.5f * ksThree.get(1) + 0.5f * ksThree.get(2)) / 3; + } else if (time.compareTo(date8) >= 0 && time.compareTo(date9) < 0) { + ks = (float) (0.25f * ksThree.get(1) + 0.75f * ksThree.get(2)) / 3; + } else if (time.compareTo(date9) >= 0 && time.compareTo(date10) < 0) { + ks = (float) ksThree.get(2) / 3; + } else if (time.compareTo(date10) >= 0 && time.compareTo(date11) < 0) { + ks = (float) (0.75f * ksThree.get(2) + 0.25f * ksThree.get(1)) / 3; + } else if (time.compareTo(date11) >= 0 && time.compareTo(date12) < 0) { + ks = (float) (0.5f * ksThree.get(2) + 0.5f * ksThree.get(1)) / 3; + } else if (time.compareTo(date12) >= 0 && time.compareTo(date13) < 0) { + ks = (float) (0.25f * ksThree.get(2) + 0.75f * ksThree.get(1)) / 3; + } else if (time.compareTo(date13) >= 0 && time.compareTo(date14) < 0) { + ks = (float) ksThree.get(1) / 3; + } else if (time.compareTo(date14) >= 0 && time.compareTo(date15) < 0) { + ks = (float) (0.75f * ksThree.get(1) + 0.25f * ksThree.get(0)) / 3; + } else if (time.compareTo(date15) >= 0 && time.compareTo(date16) < 0) { + ks = (float) (0.5f * ksThree.get(1) + 0.5f * ksThree.get(0)) / 3; + } else if (time.compareTo(date16) >= 0 && time.compareTo(date17) < 0) { + ks = (float) (0.25f * ksThree.get(1) + 0.75f * ksThree.get(0)) / 3; + } else if (time.compareTo(date17) >= 0 && time.compareTo(date18) <= 0) { + ks = (float) ksThree.get(0) / 3; + } else if (CalcUtil.isLeapYear(year)) { + if (time.compareTo(date2Leep) >= 0 && time.compareTo(date3Leep) < 0) { + ks = (float) (0.75f * ksThree.get(0) + 0.25f * ksThree.get(1)) / 3; + } else if (time.compareTo(date3Leep) >= 0 + && time.compareTo(date4) < 0) { + ks = (float) (0.5f * ksThree.get(0) + 0.5f * ksThree.get(1)) / 3; + } + } else { + if (time.compareTo(date2) >= 0 && time.compareTo(date3) < 0) { + ks = (float) (0.75f * ksThree.get(0) + 0.25f * ksThree.get(1)) / 3; + } else if (time.compareTo(date3) >= 0 && time.compareTo(date4) < 0) { + ks = (float) (0.5f * ksThree.get(0) + 0.5f * ksThree.get(1)) / 3; + } + } + + return ks; + } + + // protected float[] getKs(String station, float[] kest) { + // float a = 0; + // float b = 0; + // float[] ks = new float[8]; + // + // Map abCoeff = CalcUtil.getCoeffAandB(station); + // if (abCoeff.size() != 8) + // return ks; + // + // int i = 0; + // Iterator iter = abCoeff.entrySet().iterator(); + // while (iter.hasNext()) { + // @SuppressWarnings("unchecked") + // Map.Entry mEntry = (Map.Entry) iter.next(); + // + // a = mEntry.getKey(); + // b = mEntry.getValue(); + // ks[i] = a + b * kest[i]; + // i++; + // } + // + // return ks; + // } + + public static float getKs(String station, float kest, String timePrd) { + float a = 0; + float b = 0; + float ks = 0; + + Map abCoeff = CalcUtil.getCoeffAandB(station); + if (abCoeff.size() != 8) + return ks; + + int j = 0; + if (timePrd.equalsIgnoreCase("00-03")) + j = 0; + else if (timePrd.equalsIgnoreCase("03-06")) + j = 1; + else if (timePrd.equalsIgnoreCase("06-09")) + j = 2; + else if (timePrd.equalsIgnoreCase("09-12")) + j = 3; + else if (timePrd.equalsIgnoreCase("12-15")) + j = 4; + else if (timePrd.equalsIgnoreCase("15-18")) + j = 5; + else if (timePrd.equalsIgnoreCase("18-21")) + j = 6; + else if (timePrd.equalsIgnoreCase("21-24")) + j = 7; + + int i = 0; + Iterator iter = abCoeff.entrySet().iterator(); + while (iter.hasNext()) { + @SuppressWarnings("unchecked") + Map.Entry mEntry = (Map.Entry) iter + .next(); + + if (i == j) { + a = mEntry.getKey(); + b = mEntry.getValue(); + ks = a + b * kest; + break; + } + i++; + } + return ks; + } + + public static int getAest(String station, int kIndex) { + return CalcUtil.getK2a(kIndex); + } + + @SuppressWarnings("unchecked") + public static float[] getKpEst(String[] station, float[] ks) { + float kpEst[] = new float[ks.length]; + float[][] wcoeff = new float[station.length][ks.length]; + + if (ks.length != 8) + return kpEst; + + for (int i = 0; i < station.length; i++) { + Map coeff = CalcUtil.getCoeffW(station[i]); + int j = 0; + + Iterator iter = coeff.entrySet().iterator(); + while (iter.hasNext()) { + wcoeff[i][j] = ((Map.Entry) iter.next()) + .getValue(); + j++; + } + } + + float sumW = 0; + float sumWK = 0; + + for (int j = 0; j < ks.length; j++) { + for (int i = 0; i < station.length; i++) { + sumW += wcoeff[i][j]; + sumWK += wcoeff[i][j] * ks[i]; + } + // kpEst[i] = (float) (Math.round(3 * sumWK / sumW)) / 3; + kpEst[j] = sumWK / sumW; + kpEst[j] = (int) kpEst[j] + CalcUtil.getThird(kpEst[j]); + } + + return kpEst; + } + + @SuppressWarnings("unchecked") + public static float getKpEst(String[] station, float ks, String fitTime) { + float kpEst = 0; + float[] wcoeff = new float[8]; + + for (int i = 0; i < station.length; i++) { + Map coeff = CalcUtil.getCoeffW(station[i]); + int j = 0; + Iterator iter = coeff.entrySet().iterator(); + while (iter.hasNext()) { + if (((Map.Entry) iter.next()).getKey() + .equalsIgnoreCase(fitTime)) { + wcoeff[i] = ((Map.Entry) iter.next()) + .getValue(); + break; + } + j++; + } + } + + float sumW = 0; + float sumWK = 0; + + for (int i = 0; i < station.length; i++) { + sumW += wcoeff[i]; + sumWK += wcoeff[i] * ks; + } + + kpEst = sumWK / sumW; + kpEst = (int) kpEst + CalcUtil.getThird(kpEst); + + return kpEst; + } + + public static String[] getKp(float kpEst[], String[] kpModifier) { + String[] kp = new String[kpEst.length]; + if (kpEst.length != kpModifier.length) + return kp; + + for (int i = 0; i < kpEst.length; i++) { + int k = Math.round(kpEst[i]); + kp[i] = k + kpModifier[i]; + } + + return kp; + } + + public static String getKp(float kpEst, String kpModifier) { + int kp = Math.round(kpEst); + + return kp + kpModifier; + } +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcUtil.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcUtil.java new file mode 100644 index 0000000000..d40efbd256 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/calculation/CalcUtil.java @@ -0,0 +1,550 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.calculation; + +import gov.noaa.nws.ncep.common.dataplugin.geomag.table.KFitTime; +import gov.noaa.nws.ncep.common.dataplugin.geomag.util.KStationCoefficientLookup; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/* + * The k index and decoder calculation utility. + * + *
+ * SOFTWARE HISTORY
+ *                   
+ * ate          Ticket#     Engineer   Description
+ * -----------  ----------  ---------- --------------------------
+ * 05/14/2013   #989        qzhou      Initial Creation
+ * 
+ * + * @author qzhou + * @version 1 + */ + +public class CalcUtil { + private static final float MISSING_VAL = 99999.99f; + + private static final float K_EXPONENT = 3.3f; + + private static KStationCoefficientLookup stationCoeff = KStationCoefficientLookup + .getInstance(); + + // Gamma limit table + private static enum Limit { + K0(0), K1(5), K2(10), K3(20), K4(40), K5(70), K6(120), K7(200), K8(330), K9( + 500); + + private final int kConst; + + private Limit(int kConst) { + this.kConst = kConst; + } + } + + public static int getKConst(int k) { + int kConst = 0; + if (k == 0) + kConst = Limit.K0.kConst; + else if (k == 1) + kConst = Limit.K1.kConst; + else if (k == 2) + kConst = Limit.K2.kConst; + else if (k == 3) + kConst = Limit.K3.kConst; + else if (k == 4) + kConst = Limit.K4.kConst; + else if (k == 5) + kConst = Limit.K5.kConst; + else if (k == 6) + kConst = Limit.K6.kConst; + else if (k == 7) + kConst = Limit.K7.kConst; + else if (k == 8) + kConst = Limit.K8.kConst; + else if (k == 9) + kConst = Limit.K9.kConst; + + return kConst; + } + + // A-index table + private static enum K2a { + a0(0), a1(3), a2(7), a3(15), a4(27), a5(48), a6(80), a7(140), a8(240), a9( + 400); + + private final int a; + + private K2a(int a) { + this.a = a; + } + } + + public static int getK2a(int k) { + int a = 0; + if (k == 0) + a = K2a.a0.a; + else if (k == 1) + a = K2a.a1.a; + else if (k == 2) + a = K2a.a2.a; + else if (k == 3) + a = K2a.a3.a; + else if (k == 4) + a = K2a.a4.a; + else if (k == 5) + a = K2a.a5.a; + else if (k == 6) + a = K2a.a6.a; + else if (k == 7) + a = K2a.a7.a; + else if (k == 8) + a = K2a.a8.a; + else if (k == 9) + a = K2a.a9.a; + + return a; + } + + public static KStationCoefficientLookup getStationCoeff() { + return stationCoeff; + } + + public static int getK9Limit(String station) throws NumberFormatException { + int k9 = 0; + + String k9Limit = getStationCoeff().getStationByCode(station) + .getK9Limit(); + k9 = Integer.parseInt(k9Limit); + + return k9; + } + + public static float getLongitude(String station) + throws NumberFormatException { + float lon = 0; + if (station != null && !station.equalsIgnoreCase("")) { + String longitude = getStationCoeff().getStationByCode(station) + .getLongitude(); + lon = Float.parseFloat(longitude); + } + return lon; + } + + /* + * map of the A and the B values in the order of 00-03, 03-06... + */ + public static Map getCoeffAandB(String station) { + Map abCoeff = new HashMap(); + + List fitTime = getStationCoeff().getStationByCode(station) + .getKFitTime(); + if (fitTime.size() != 8) + return abCoeff; + + for (int i = 0; i < 8; i++) { + float a = fitTime.get(i).getCoeffA(); + float b = fitTime.get(i).getCoeffB(); + abCoeff.put(a, b); + } + + return abCoeff; + } + + /* + * map of the time period and the W values in the order of 00-03, 03-06... + */ + public static Map getCoeffW(String station) { + Map wCoeff = new HashMap(); + + List fitTime = getStationCoeff().getStationByCode(station) + .getKFitTime(); + if (fitTime.size() != 8) + return wCoeff; + + for (int i = 0; i < 8; i++) { + String a = fitTime.get(i).getKey(); + float b = fitTime.get(i).getCoeffW(); + wCoeff.put(a, b); + } + + return wCoeff; + } + + public static int[] getKLimit(String station) { + int[] kLimit = new int[10]; + int k9Limit = getK9Limit(station); + for (int i = 0; i < kLimit.length; i++) { + kLimit[i] = Math.round(k9Limit * getKConst(i) / 500); + } + return kLimit; + } + + // public static int[] getAIndex(String station, float[] k-index) { + // int[] aIndex = new int[10]; + // //int k9Limit = getK9Limit(station); + // for (int i = 0; i < kLimit.length; i++) { + // aIndex[i] = Math.round( getK2a(i)); + // } + // return aIndex; + // } + + public static int getKfromTable(int[] kLimit, float gamma) { + int kIndex; + + int i = 0; + for (i = 0; i < 10; i++) { + if (gamma > kLimit[i]) + continue; + else + break; + } + + // take the lower of i. this step eq. K_limit = K9limit * [5, 10, 20, + // 40... + if (i > 0) + i = i - 1; + + if (i <= 9) + kIndex = i; + else + kIndex = 9; + + return kIndex; + } + + public static int getGammaFromK(String station, int kIndex) { + int gamma = getK9Limit(station) * getKConst(kIndex) / 500; + + return gamma; + } + + // assume db time format yyyy-mm-dd hh:mm:ss + public static Date getSPTime(Date currTime) { + Date spTime = currTime; + + int hour = currTime.getHours(); + + if (hour >= 0 && hour < 3) + hour = 0; + else if (hour >= 3 && hour < 6) + hour = 3; + else if (hour >= 6 && hour < 9) + hour = 6; + else if (hour >= 9 && hour < 12) + hour = 9; + else if (hour >= 12 && hour < 15) + hour = 12; + else if (hour >= 15 && hour < 18) + hour = 15; + else if (hour >= 18 && hour < 21) + hour = 18; + else if (hour >= 21 && hour < 24) + hour = 21; + + spTime.setHours(hour); + spTime.setMinutes(0); + spTime.setSeconds(0); + + return spTime; + } + + public static Date getEPTime(Date currTime) { + Date epTime = (Date) currTime.clone(); + + int hour = currTime.getHours(); + if (hour >= 0 && hour < 3) + hour = 3; + else if (hour >= 3 && hour < 6) + hour = 6; + else if (hour >= 6 && hour < 9) + hour = 9; + else if (hour >= 9 && hour < 12) + hour = 12; + else if (hour >= 12 && hour < 15) + hour = 15; + else if (hour >= 15 && hour < 18) + hour = 18; + else if (hour >= 18 && hour < 21) + hour = 21; + else if (hour >= 21 && hour < 24) + hour = 0; + + if (hour != 0) + epTime.setHours(hour); + else { + int day = currTime.getDate() + 1; + epTime.setDate(day); + epTime.setHours(hour); + } + + epTime.setMinutes(0); + epTime.setSeconds(0); + + return epTime; + } + + public static boolean isHalfMissing(float[] items) { + boolean halfMissaing = false; + + int i = 0; + for (i = 0; i < items.length; i++) { + if (items[i] == MISSING_VAL) + i++; + } + if (i > items.length / 2) + halfMissaing = true; + + return halfMissaing; + } + + public static float getThird(float kpEst) { + float half = 0.333333f / 2; + float x = kpEst - (int) kpEst; // get decimal fraction + + if (x >= 0 && x <= half) + x = 0; + else if (x >= half && x <= 2 * half) + x = 0.333333f; + else if (x >= 2 * half && x <= 3 * half) + x = 0.333333f; + else if (x >= 3 * half && x <= 4 * half) + x = 0.666666f; + else if (x >= 4 * half && x <= 5 * half) + x = 0.666666f; + else if (x >= 5 * half && x <= 6 * half) + x = 1; + + return x; + } + + public static float maxValue(float[] dev) { + float max = -99999; + for (int i = 0; i < dev.length; i++) { + if (dev[i] > max && dev[i] < MISSING_VAL) { + max = dev[i]; + } + } + return max; + } + + public static float minValue(float[] dev) { + float min = 99999; + for (int i = 0; i < dev.length; i++) { + if (dev[i] < min && dev[i] > -MISSING_VAL) { + min = dev[i]; + } + } + return min; + } + + /* + * 10 element floating point array + */ + public static float[] geKLength() { + float[] kLength = new float[10]; + + kLength[0] = 0; + for (int i = 1; i < 10; i++) { + kLength[i] = (float) Math.exp(K_EXPONENT * Math.log(i)); + if (kLength[i] > 1080) + kLength[i] = 1080; + } + + return kLength; + } + + // uri: /geomag/2013-05-20_00:00:00.0/HAD/101/GEOMAG + public static String getSourceFromUri(String uri) { + if (uri != null && uri.length() >= 37) + return uri.substring(34, 37); + else + return ""; + } + + public static String getStationFromUri(String uri) { + if (uri != null && uri.length() >= 37) + return uri.substring(30, 33); + else + return ""; + } + + public static Date getTimeFromUri(String uri) throws ParseException { + String format = "yyyy-MM-dd'_'HH:mm:ss.s"; + SimpleDateFormat sdf = new SimpleDateFormat(format); + + if (uri != null && uri.length() >= 37) { + String time = uri.substring(8, 29); + Date date = sdf.parse(time); + return date; + } else + return new Date(); + } + + // get the front part before the source in the uri + public static String separateSourceFrontUri(String uri) { + if (uri != null && uri.length() >= 37) + return uri.substring(0, 34); + else + return ""; + } + + public static float[] toFloatArray(List list) { + float[] ret = new float[list.size()]; + int i = 0; + for (Float e : list) + ret[i++] = e.floatValue(); + return ret; + } + + public static int[] toIntArray(List list) { + int[] ret = new int[list.size()]; + int i = 0; + for (Integer e : list) + ret[i++] = e.intValue(); + return ret; + } + + public static boolean isLeapYear(int year) { + boolean isLeap; + + if (year / 400 == 0) + isLeap = true; + else if (year / 100 == 0) + isLeap = false; + else if (year / 4 == 0) + isLeap = true; + else + isLeap = false; + + return isLeap; + } + + // public static String getMonthDayFromNumber(int year, int number) { + // //CL22013041.min + // String temp = ""; + // String month = ""; + // String day = ""; + // String monthDay = ""; + // Boolean isLeapYear = isLeapYear( year); + // int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; + // int[] leapDays = {31,29,31,30,31,30,31,31,30,31,30,31}; + // Calendar cal = Calendar.getInstance(); + // cal.get(Calendar.DAY_OF_MONTH); + // cal.get(Calendar.MONTH); + // cal.get(Calendar.DAY_OF_YEAR); + // cal.set(Calendar.DAY_OF_YEAR, number); + // int[] num = + // if (isLeapYear) { + // + // } + // else { + // + // } + // if (number<=31){ //JEJ, m130212.txt + // month = "01"; + // day = String.valueOf(number); + // } + // else if (number > 31 && number <= 59){ + // month = "02"; + // day = String.valueOf(number-31); + // } + // else if (number > 31 && number <= 59){ + // month = "03"; + // day = String.valueOf(number-31); + // } + // else if (fileName.startsWith("ha")){ CNB,NGK, WNG + // temp = fileName.substring(3, 10); + // year = temp.substring(0, 4); + // } + // + // return monthDay; + // } + + public static String getTimeFromFileName(String fileName) { // CL22013041.min + String time = ""; + String temp = ""; + String year = ""; + String month = ""; + String day = ""; + String num = ""; + + Calendar cal = Calendar.getInstance(); + + if (fileName.startsWith("m")) { // JEJ, m130212.txt + temp = fileName.substring(1, 7); + year = "20" + temp.substring(4, 6); + month = temp.substring(2, 4); + day = temp.substring(0, 2); + } else if (fileName.startsWith("ha")) { + temp = fileName.substring(2, 9); + year = temp.substring(3, 7); + num = temp.substring(0, 3); + try { + cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(num)); + } catch (NumberFormatException e) { + + } + month = String.valueOf(cal.get(Calendar.MONTH)); + day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); + } else if (fileName.startsWith("BOU") || fileName.startsWith("CL2") + || fileName.startsWith("CMO") || fileName.startsWith("OTT") + || fileName.startsWith("MEA")) { + temp = fileName.substring(3, 10); + year = temp.substring(0, 4); + num = temp.substring(4, 7); + + try { + cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(num)); + } catch (NumberFormatException e) { + + } + month = String.valueOf(cal.get(Calendar.MONTH) + 1); + day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); + } else if (fileName.startsWith("ha") || fileName.startsWith("CNB") + || fileName.startsWith("OTT") || fileName.startsWith("WNG")) { + temp = fileName.substring(3, 10); + year = temp.substring(0, 4); + month = temp.substring(4, 6); + day = temp.substring(6, 8); + } + + if (month.length() == 1) + month = "0" + month; + if (day.length() == 1) + day = "0" + day; + time = year + "-" + month + "-" + day; + return time; + } + + public static float getMedian(float[] array) { + float median = 0; + if (array.length <= 1) + return array[0]; + + float[] arraySort = array.clone(); + Arrays.sort(arraySort); + + // remove missing data + List newArray = new ArrayList(); + for (int k = 0; k < arraySort.length - 1; k++) + if (arraySort[k] != MISSING_VAL) + newArray.add(arraySort[k]); + else + break; // to sorted arraySort + + int size = newArray.size(); + if (size / 2 == 0) + median = (newArray.get(size / 2) + newArray.get(size / 2 - 1)) / 2; + else + median = newArray.get((size - 1) / 2); + + return median; + } +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagAvgDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagAvgDao.java index bfa572f0f0..cc410a9ab2 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagAvgDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagAvgDao.java @@ -1,5 +1,7 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; + import java.util.Date; import java.util.List; @@ -11,19 +13,20 @@ import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.TransactionCallback; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; - +import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.dao.CoreDao; import com.raytheon.uf.edex.database.dao.DaoConfig; +import com.raytheon.uf.edex.database.query.DatabaseQuery; /** - * Record implementation for geomag avgDao. + * Record implementation for geomag avgDao. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer           Description
  * ------------ ---------- ----------------   --------------------------
  * 08/14/2013   T989       qzhou              Initial creation.
+ * 03/13/2014              sgurung            Added method purgeDataByRefTime()
  * 
* * @author qzhou @@ -31,16 +34,16 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; */ public class GeoMagAvgDao extends CoreDao { - /** + /** * Creates a new GribModelDao */ public GeoMagAvgDao() { super(DaoConfig.forClass(GeoMagAvg.class)); } - + /** * Retrieves a GeoMagAvgId based on the given id - * + * * @param id * The given ID number * @return The GeoMagAvgId @@ -49,13 +52,14 @@ public class GeoMagAvgDao extends CoreDao { return (GeoMagAvg) super.queryById(id); } - public int getAreaId (int id){ - return queryById(id).getId(); - } - - + /** + * Retrieves data from postGres + * + * @return Criteria list + */ @SuppressWarnings("unchecked") - public List getAvgForStation(final String stationCode, final Date start, final Date end) { + public List getAvgForStation(final String stationCode, + final Date start, final Date end) { return (List) txTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { @@ -64,19 +68,17 @@ public class GeoMagAvgDao extends CoreDao { Criteria crit = sess.createCriteria(GeoMagAvg.class); Criterion where1 = Restrictions.eq("stationCode", stationCode); crit.add(where1); -// Criterion where2 = Restrictions.gt("avgTime", start); -// crit.add(where2); -// Criterion where3 = Restrictions.le("avgTime", end); -// crit.add(where3); - Criterion where2 = Restrictions.between("avgTime", start, end);//include bounds, but don't need bounds - crit.add(where2); + + Criterion where2 = Restrictions.between("avgTime", start, end); + crit.add(where2); return crit.list(); } }); } - + @SuppressWarnings("unchecked") - public List getSingleAvg(final String stationCode, final Date date) { + public List getSingleAvg(final String stationCode, + final Date date) { return (List) txTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { @@ -86,9 +88,17 @@ public class GeoMagAvgDao extends CoreDao { Criterion where1 = Restrictions.eq("stationCode", stationCode); crit.add(where1); Criterion where2 = Restrictions.eq("avgTime", date); - crit.add(where2); + crit.add(where2); return crit.list(); } }); } + + public int purgeDataByRefTime(Date refTime) throws DataAccessLayerException { + DatabaseQuery deleteStmt = new DatabaseQuery(this.daoClass); + // add 30 minutes to get hourly average reference time + Date avgTime = new Date(refTime.getTime() + (30 * 60000)); + deleteStmt.addQueryParam("avgTime", avgTime); + return this.deleteByCriteria(deleteStmt); + } } diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java index 804356dacc..5de25009b1 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagDao.java @@ -1,8 +1,13 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagRecord; import java.util.Date; import java.util.List; +import java.util.Map; import com.raytheon.uf.common.dataplugin.PluginException; import com.raytheon.uf.common.dataplugin.persist.IPersistable; @@ -12,21 +17,18 @@ import com.raytheon.uf.common.datastorage.records.AbstractStorageRecord; import com.raytheon.uf.common.datastorage.records.FloatDataRecord; import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.plugin.PluginDao; - -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagRecord; +import com.raytheon.uf.edex.database.purge.PurgeLogger; /** - * This is a Data Access Object (DAO) driver to interact with geomag database table and HDF5 data store. + * This is a Data Access Object (DAO) driver to interact with geomag database + * table and HDF5 data store. * *
  * SOFTWARE HISTORY
  * 
- * Date         Ticket#    	Engineer    Description
- * ------------ ---------- 	----------- --------------------------
- * 04/2013		975			S. Gurung   Initial Creation
+ * Date         Ticket#     Engineer    Description
+ * ------------ ----------  ----------- --------------------------
+ * 04/2013      975         S. Gurung   Initial Creation
  * 07/16/2013   975         Q. Zhou     Added fields.
  * 
* @@ -34,116 +36,150 @@ import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagRecord; * @version 1.0 */ public class GeoMagDao extends PluginDao { - - /** The source data access object */ - private GeoMagAvgDao avgDao = new GeoMagAvgDao(); - private GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); - private GeoMagK1minDao k1minDao = new GeoMagK1minDao(); + + /** The source data access object */ + private GeoMagAvgDao avgDao = new GeoMagAvgDao(); + + private GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + + private GeoMagK1minDao k1minDao = new GeoMagK1minDao(); public GeoMagDao(String pluginName) throws PluginException { super(pluginName); } -// @Override -// public StorageStatus persistToHDF5(PluginDataObject... records) -// throws PluginException { -// long t0 = System.currentTimeMillis(); -// -// // NOTE: currently making the assumption that models aren't -// // mixed in the records aggregate. If this isn't true, -// // some pre-processing will be needed. -// Map> containerMap = new HashMap>( -// records.length); -// Map fileMap = new HashMap(); -// -// for (PluginDataObject p : records) { -// if (p instanceof IPointData) { -// PointDataView pdv = ((IPointData) p).getPointDataView(); -// List views = containerMap -// .get(pdv.getContainer()); -// if (views == null) { -// views = new ArrayList(); -// containerMap.put(pdv.getContainer(), views); -// } -// views.add(pdv); -// File file = fileMap.get(pdv.getContainer()); -// if (file == null) { -// file = getFullFilePath(p); -// System.out.println("***file " +file.toString()); -// fileMap.put(pdv.getContainer(), file); -// } -// -// }DataTime -// } -// -// List ssList = new ArrayList(); -// try { -// for (PointDataContainer container : containerMap.keySet()) { -// IDataStore ds = DataStoreFactory.getDataStore(fileMap -// .get(container)); -// StorageProperties sp = new StorageProperties(); -// String compression = PluginRegistry.getInstance() -// .getRegisteredObject(pluginName).getCompression(); -// if (compression != null) { -// sp.setCompression(StorageProperties.Compression -// .valueOf(compression)); -// } -// -// Set params = container.getParameters(); -// for (String param : params) { -// try { -// IDataRecord idr = container.getParameterRecord(param); -// ds.addDataRecord(idr, sp); -// } catch (StorageException e) { -// throw new PluginException("Error adding record", e); -// } -// } -// -// try { -// StorageStatus ss = ds.store(StoreOp.APPEND); -// if (ss.getOperationPerformed() == StoreOp.APPEND) { -// // increment the indices -// List views = containerMap.get(container); -// int idx = (int) ss.getIndexOfAppend()[0]; -// container.incrementIds(idx, views); -// } -// ssList.add(ss); -// } catch (StorageException e) { -// throw new PluginException("Error updating point file", e); -// } -// } -// // Aggregate the storage status errors -// StorageStatus aggregatedStatus = new StorageStatus(); -// List se = new ArrayList(); -// for (StorageStatus ss : ssList) { -// StorageException[] seArr = ss.getExceptions(); -// if (seArr != null) { -// se.addAll(Arrays.asList(seArr)); -// } -// } -// -// aggregatedStatus.setExceptions(se.toArray(new StorageException[se -// .size()])); -// return aggregatedStatus; -// } -// -// finally { -// System.out.println("Time spent in persist: " -// + (System.currentTimeMillis() - t0)); -// } -// } -// -// public File getFullFilePath(PluginDataObject p) { -// File file; -// String directory = p.getPluginName() + File.separator -// + pathProvider.getHDFPath(p.getPluginName(), (IPersistable) p); -// file = new File(directory -// + File.separator -// + pathProvider.getHDFFileName(p.getPluginName(), -// (IPersistable) p)); -// return file; -// } - + /** + * Overridden to purge expired data from geomag_k1min, geomag_houravg and + * geomag_k3hr tables as well + */ + @Override + public int purgeDataByRefTime(Date refTime, + Map productKeys, boolean trackHdf5, + boolean trackToUri, Map> hdf5FileToUriPurged) + throws DataAccessLayerException { + + int results = super.purgeDataByRefTime(refTime, productKeys, trackHdf5, + trackToUri, hdf5FileToUriPurged); + + // delete expired data from geomag_k1min, geomag_houravg and geomag_k3hr + // tables + try { + avgDao.purgeDataByRefTime(refTime); + k1minDao.purgeDataByRefTime(refTime); + k3hrDao.purgeDataByRefTime(refTime); + } catch (Exception e) { + PurgeLogger + .logError( + "Purging expired data from the secondary tables for this plugin failed.", + this.pluginName); + } + + return results; + + } + + // @Override + // public StorageStatus persistToHDF5(PluginDataObject... records) + // throws PluginException { + // long t0 = System.currentTimeMillis(); + // + // // NOTE: currently making the assumption that models aren't + // // mixed in the records aggregate. If this isn't true, + // // some pre-processing will be needed. + // Map> containerMap = new + // HashMap>( + // records.length); + // Map fileMap = new HashMap(); + // + // for (PluginDataObject p : records) { + // if (p instanceof IPointData) { + // PointDataView pdv = ((IPointData) p).getPointDataView(); + // List views = containerMap + // .get(pdv.getContainer()); + // if (views == null) { + // views = new ArrayList(); + // containerMap.put(pdv.getContainer(), views); + // } + // views.add(pdv); + // File file = fileMap.get(pdv.getContainer()); + // if (file == null) { + // file = getFullFilePath(p); + // System.out.println("***file " +file.toString()); + // fileMap.put(pdv.getContainer(), file); + // } + // + // }DataTime + // } + // + // List ssList = new ArrayList(); + // try { + // for (PointDataContainer container : containerMap.keySet()) { + // IDataStore ds = DataStoreFactory.getDataStore(fileMap + // .get(container)); + // StorageProperties sp = new StorageProperties(); + // String compression = PluginRegistry.getInstance() + // .getRegisteredObject(pluginName).getCompression(); + // if (compression != null) { + // sp.setCompression(StorageProperties.Compression + // .valueOf(compression)); + // } + // + // Set params = container.getParameters(); + // for (String param : params) { + // try { + // IDataRecord idr = container.getParameterRecord(param); + // ds.addDataRecord(idr, sp); + // } catch (StorageException e) { + // throw new PluginException("Error adding record", e); + // } + // } + // + // try { + // StorageStatus ss = ds.store(StoreOp.APPEND); + // if (ss.getOperationPerformed() == StoreOp.APPEND) { + // // increment the indices + // List views = containerMap.get(container); + // int idx = (int) ss.getIndexOfAppend()[0]; + // container.incrementIds(idx, views); + // } + // ssList.add(ss); + // } catch (StorageException e) { + // throw new PluginException("Error updating point file", e); + // } + // } + // // Aggregate the storage status errors + // StorageStatus aggregatedStatus = new StorageStatus(); + // List se = new ArrayList(); + // for (StorageStatus ss : ssList) { + // StorageException[] seArr = ss.getExceptions(); + // if (seArr != null) { + // se.addAll(Arrays.asList(seArr)); + // } + // } + // + // aggregatedStatus.setExceptions(se.toArray(new StorageException[se + // .size()])); + // return aggregatedStatus; + // } + // + // finally { + // System.out.println("Time spent in persist: " + // + (System.currentTimeMillis() - t0)); + // } + // } + // + // public File getFullFilePath(PluginDataObject p) { + // File file; + // String directory = p.getPluginName() + File.separator + // + pathProvider.getHDFPath(p.getPluginName(), (IPersistable) p); + // file = new File(directory + // + File.separator + // + pathProvider.getHDFFileName(p.getPluginName(), + // (IPersistable) p)); + // return file; + // } + /** * Retrieves an geomag report using the datauri . * @@ -152,7 +188,7 @@ public class GeoMagDao extends PluginDao { * @return The report record if it exists. */ public GeoMagRecord queryByDataURI(String dataURI) { - GeoMagRecord report = null; + GeoMagRecord report = null; List obs = null; try { obs = queryBySingleCriteria("dataURI", dataURI); @@ -184,406 +220,82 @@ public class GeoMagDao extends PluginDao { } @Override - public IDataStore populateDataStore(IDataStore dataStore, IPersistable record) - throws StorageException { - //return null; + public IDataStore populateDataStore(IDataStore dataStore, + IPersistable record) throws StorageException { + GeoMagRecord magRecord = (GeoMagRecord) record; - // change to 00:00:00.0. "/geomag/2013-04-01_00:00:00.0/BOU/102/GEOMAG"; -// String headUri = magRecord.getDataURI(); -// headUri = headUri.substring(0, 18) +"_00:00:00.0/" + headUri.substring(30); - - /* - * Write observation times to HDF5. - */ -// if (magRecord.getObsTimes() != null ) { -// AbstractStorageRecord storageRecord = new LongDataRecord(GeoMagRecord.OBS_TIME, -// headUri, (long[]) magRecord.getObsTimes(), 1, -// new long[] {magRecord.getObsTimes().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } - -// if (magRecord.getCompIdx() != null) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.CompIdx, -// magRecord.getDataURI(), (int[]) magRecord.getCompIdx(), 1, -// new long[] {magRecord.getCompIdx().length}); -// -// storageRecord.setCorrelationObject(record); -// dataStore.addDataRecord(storageRecord); -// } - /* * Write component1 data to HDF5. */ - if ( magRecord.getComp1Data() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.component1, - magRecord.getDataURI(), (float[]) magRecord.getComp1Data(), 1, - new long[] {magRecord.getComp1Data().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - //StorageStatus ss = dataStore.store(StoreOp.APPEND); + if (magRecord.getComp1Data() != null) { + AbstractStorageRecord storageRecord = new FloatDataRecord( + GeoMagRecord.component1, magRecord.getDataURI(), + (float[]) magRecord.getComp1Data(), 1, + new long[] { magRecord.getComp1Data().length }); + storageRecord.setCorrelationObject(magRecord); + dataStore.addDataRecord(storageRecord); + // StorageStatus ss = dataStore.store(StoreOp.APPEND); } - + /* * Write component2 data to HDF5. */ - if ( magRecord.getComp2Data() != null ) { - AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.component2, - magRecord.getDataURI(), (float[]) magRecord.getComp2Data(), 1, - new long[] {magRecord.getComp2Data().length}); - storageRecord.setCorrelationObject(magRecord); - dataStore.addDataRecord(storageRecord); - + if (magRecord.getComp2Data() != null) { + AbstractStorageRecord storageRecord = new FloatDataRecord( + GeoMagRecord.component2, magRecord.getDataURI(), + (float[]) magRecord.getComp2Data(), 1, + new long[] { magRecord.getComp2Data().length }); + storageRecord.setCorrelationObject(magRecord); + dataStore.addDataRecord(storageRecord); + } - -// /* -// * Write component3 data to HDF5. -// */ -// if ( magRecord.getComp3Data() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.component3, -// magRecord.getDataURI(), (float[]) magRecord.getComp3Data(), 1, -// new long[] {magRecord.getComp3Data().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// /* -// * Write component4 data to HDF5. -// */ -// if ( magRecord.getComp4Data() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.component4, -// magRecord.getDataURI(), (float[]) magRecord.getComp4Data(), 1, -// new long[] {magRecord.getComp4Data().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// if (magRecord.getHrAvgIdx() != null) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.HrAvgIdx, -// magRecord.getDataURI(), (int[]) magRecord.getHrAvgIdx(), 1, -// new long[] {magRecord.getHrAvgIdx().length}); -// -// storageRecord.setCorrelationObject(record); -// dataStore.addDataRecord(storageRecord); -// } -// -// /* -// * Write H_HR_AVG data to HDF5. -// */ -// if ( magRecord.getHrAvgH() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.H_HR_AVG, -// magRecord.getDataURI(), (float[]) magRecord.getHrAvgH(), 1, -// new long[] {magRecord.getHrAvgH().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// /* -// * Write D_HR_AVG data to HDF5. -// */ -// if ( magRecord.getHrAvgD() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.D_HR_AVG, -// magRecord.getDataURI(), (float[]) magRecord.getHrAvgD(), 1, -// new long[] {magRecord.getHrAvgD().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// /* -// * Write K_Index data to HDF5. -// */ -// // 3hr -// if ( magRecord.getKKIndex() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.K_Index, -// magRecord.getDataURI(), (int[]) magRecord.getKKIndex(), 1, -// new long[] {magRecord.getKKIndex().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKKGamma() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Gamma, -// magRecord.getDataURI(), (float[]) magRecord.getKKGamma(), 1, -// new long[] {magRecord.getKKGamma().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKKReal() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_Real, -// magRecord.getDataURI(), (float[]) magRecord.getKKReal(), 1, -// new long[] {magRecord.getKKReal().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKestIndex() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index, -// magRecord.getDataURI(), (int[]) magRecord.getKestIndex(), 1, -// new long[] {magRecord.getKestIndex().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKestGamma() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma, -// magRecord.getDataURI(), (float[]) magRecord.getKestGamma(), 1, -// new long[] {magRecord.getKestGamma().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKestReal() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real, -// magRecord.getDataURI(), (float[]) magRecord.getKestReal(), 1, -// new long[] {magRecord.getKestReal().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHKGamma() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma, -// magRecord.getDataURI(), (float[]) magRecord.getHKGamma(), 1, -// new long[] {magRecord.getHKGamma().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHKReal() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real, -// magRecord.getDataURI(), (float[]) magRecord.getHKReal(), 1, -// new long[] {magRecord.getHKReal().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDKGamma() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma, -// magRecord.getDataURI(), (float[]) magRecord.getDKGamma(), 1, -// new long[] {magRecord.getDKGamma().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDKReal() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real, -// magRecord.getDataURI(), (float[]) magRecord.getDKReal(), 1, -// new long[] {magRecord.getDKReal().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// -// -// // 1 min -// if ( magRecord.getKestIndex1m() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.Kest_Index_1m, -// magRecord.getDataURI(), (int[]) magRecord.getKestIndex1m(), 1, -// new long[] {magRecord.getKestIndex1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKestGamma1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Gamma_1m, -// magRecord.getDataURI(), (float[]) magRecord.getKestGamma1m(), 1, -// new long[] {magRecord.getKestGamma1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getKestReal1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Kest_Real_1m, -// magRecord.getDataURI(), (float[]) magRecord.getKestReal1m(), 1, -// new long[] {magRecord.getKestReal1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHKGamma1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Gamma_1m, -// magRecord.getDataURI(), (float[]) magRecord.getHKGamma1m(), 1, -// new long[] {magRecord.getHKGamma1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHKReal1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Real_1m, -// magRecord.getDataURI(), (float[]) magRecord.getHKReal1m(), 1, -// new long[] {magRecord.getHKReal1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDKGamma1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Gamma_1m, -// magRecord.getDataURI(), (float[]) magRecord.getDKGamma1m(), 1, -// new long[] {magRecord.getDKGamma1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDKReal1m() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Real_1m, -// magRecord.getDataURI(), (float[]) magRecord.getDKReal1m(), 1, -// new long[] {magRecord.getDKReal1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// if ( magRecord.getHKIndex1m() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Index_1m, -// magRecord.getDataURI(), (int[]) magRecord.getHKIndex1m(), 1, -// new long[] {magRecord.getHKIndex1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDKIndex1m() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Index_1m, -// magRecord.getDataURI(), (int[]) magRecord.getDKIndex1m(), 1, -// new long[] {magRecord.getDKIndex1m().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHCount() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KH_Count, -// magRecord.getDataURI(), (int[]) magRecord.getHCount(), 1, -// new long[] {magRecord.getHCount().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDCount() != null ) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.KD_Count, -// magRecord.getDataURI(), (int[]) magRecord.getDCount(), 1, -// new long[] {magRecord.getDCount().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getHDev() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KH_Dev, -// magRecord.getDataURI(), (float[]) magRecord.getHDev(), 1, -// new long[] {magRecord.getHDev().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if ( magRecord.getDDev() != null ) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.KD_Dev, -// magRecord.getDataURI(), (float[]) magRecord.getDDev(), 1, -// new long[] {magRecord.getDDev().length}); -// storageRecord.setCorrelationObject(magRecord); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if (magRecord.getKs() != null) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.K_s, -// magRecord.getDataURI(), (float[]) magRecord.getKs(), 1, -// new long[] {magRecord.getKs().length}); -// storageRecord.setCorrelationObject(record); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if (magRecord.getAest() != null) { -// AbstractStorageRecord storageRecord = new IntegerDataRecord(GeoMagRecord.A_est, -// magRecord.getDataURI(), (int[]) magRecord.getAest(), 1, -// new long[] {magRecord.getAest().length}); -// storageRecord.setCorrelationObject(record); -// dataStore.addDataRecord(storageRecord); -// -// } -// -// if (magRecord.getLastUpdate() != null) { -// AbstractStorageRecord storageRecord = new FloatDataRecord(GeoMagRecord.Last_Update_1m, -// magRecord.getDataURI(), (float[]) magRecord.getLastUpdate(), 1, -// new long[] {magRecord.getLastUpdate().length}); -// storageRecord.setCorrelationObject(record); -// dataStore.addDataRecord(storageRecord); -// -// } + return dataStore; } - + /* - * Get GeoMagAvg from ID + * Get GeoMagAvg from ID */ public GeoMagAvg getGeoMagAvg(Date avgTime) { - return (GeoMagAvg) avgDao.queryById(avgTime); - } - -// public Integer getGeoMagSourceId(String sourceName) throws DataAccessLayerException { -// return avgDao.getSourceId(sourceName); -// } - - public GeoMagAvgDao getGeoMagAvgDao() { - return avgDao; + return (GeoMagAvg) avgDao.queryById(avgTime); + } + + public GeoMagAvgDao getGeoMagAvgDao() { + return avgDao; + } + + public void setGeoMagAvgDao(GeoMagAvgDao avgDao) { + this.avgDao = avgDao; } - public void setGeoMagAvgDao( - GeoMagAvgDao avgDao) { - this.avgDao = avgDao; - } - /* - * Get GeoMagK1min from ID + * Get GeoMagK1min from ID */ public GeoMagK1min getGeoMagDateK1min(int id) { - return k1minDao.queryById(id); + return (GeoMagK1min) k1minDao.queryById(id); } - + public GeoMagK1minDao getGeoMagK1minDao() { - return k1minDao; + return k1minDao; } - - public void setGeoMagK1minDao( - GeoMagK1minDao k1minDao) { - this.k1minDao = k1minDao; + + public void setGeoMagK1minDao(GeoMagK1minDao k1minDao) { + this.k1minDao = k1minDao; } /* - * Get GeoMagK1min from ID + * Get GeoMagK1min from ID */ public GeoMagK3hr getGeoMagDateK3hr(int id) { - return k3hrDao.queryById(id); - } - - public GeoMagK3hrDao getGeoMagK3hrDao() { - return k3hrDao; + return (GeoMagK3hr) k3hrDao.queryById(id); } - public void setGeoMagK3hrDao( - GeoMagK3hrDao k3hrDao) { - this.k3hrDao = k3hrDao; - } + public GeoMagK3hrDao getGeoMagK3hrDao() { + return k3hrDao; + } + + public void setGeoMagK3hrDao(GeoMagK3hrDao k3hrDao) { + this.k3hrDao = k3hrDao; + } } \ No newline at end of file diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java index f4422cc57e..454c24d1c2 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK1minDao.java @@ -1,8 +1,7 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -14,19 +13,21 @@ import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.TransactionCallback; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; - +import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.dao.CoreDao; import com.raytheon.uf.edex.database.dao.DaoConfig; +import com.raytheon.uf.edex.database.query.DatabaseQuery; /** - * Record implementation for geomag k1minDao. + * Record implementation for geomag k1minDao. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer           Description
  * ------------ ---------- ----------------   --------------------------
  * 08/14/2013   T989       qzhou              Initial creation.
+ * 03/03/2014   #1110      qzhou              Added method getRangeK1min(), Cleaned code 
+ * 03/13/2014              sgurung            Added method purgeDataByRefTime()
  * 
* * @author qzhou @@ -34,43 +35,68 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; */ public class GeoMagK1minDao extends CoreDao { - /** - * Creates a new GribModelDao + /** + * Creates a new GeoMagK1minDao */ public GeoMagK1minDao() { super(DaoConfig.forClass(GeoMagK1min.class)); } - - /** - * Retrieves a GeoMagAvgId based on the given id - * - * @param id - * The given ID number - * @return The GeoMagAvgId - */ - public GeoMagK1min queryById(int id) { - return (GeoMagK1min) super.queryById(id); - } - public int getAreaId (int id){ - return queryById(id).getId(); + /** + * Retrieves data from postGres + * + * @return Criteria list + */ + + @SuppressWarnings("unchecked") + public List getRangeK1min(final String stationCode, + final Date start, final Date end) { + return (List) txTemplate + .execute(new TransactionCallback() { + @Override + public Object doInTransaction(TransactionStatus status) { + HibernateTemplate ht = getHibernateTemplate(); + Session sess = ht.getSessionFactory() + .getCurrentSession(); + Criteria crit = sess.createCriteria(GeoMagK1min.class); + Criterion where1 = Restrictions.eq("stationCode", + stationCode); + crit.add(where1); + Criterion where2 = Restrictions.ge("refTime", start); + crit.add(where2); + Criterion where3 = Restrictions.lt("refTime", end); + crit.add(where3); + + return crit.list(); + } + }); } @SuppressWarnings("unchecked") - public List getSingleK1min(final String stationCode, final Date date) { - - return (List) txTemplate.execute(new TransactionCallback() { - @Override - public Object doInTransaction(TransactionStatus status) { - HibernateTemplate ht = getHibernateTemplate(); - Session sess = ht.getSessionFactory().getCurrentSession(); - Criteria crit = sess.createCriteria(GeoMagK1min.class); - Criterion where1 = Restrictions.eq("stationCode", stationCode); - crit.add(where1); - Criterion where2 = Restrictions.eq("refTime", date); - crit.add(where2); - return crit.list(); - } - }); + public List getSingleK1min(final String stationCode, + final Date date) { + + return (List) txTemplate + .execute(new TransactionCallback() { + @Override + public Object doInTransaction(TransactionStatus status) { + HibernateTemplate ht = getHibernateTemplate(); + Session sess = ht.getSessionFactory() + .getCurrentSession(); + Criteria crit = sess.createCriteria(GeoMagK1min.class); + Criterion where1 = Restrictions.eq("stationCode", + stationCode); + crit.add(where1); + Criterion where2 = Restrictions.eq("refTime", date); + crit.add(where2); + return crit.list(); + } + }); + } + + public int purgeDataByRefTime(Date refTime) throws DataAccessLayerException { + DatabaseQuery deleteStmt = new DatabaseQuery(this.daoClass); + deleteStmt.addQueryParam("refTime", refTime); + return this.deleteByCriteria(deleteStmt); } } diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java index 5a01fad534..7fb3100db0 100644 --- a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/dao/GeoMagK3hrDao.java @@ -1,5 +1,6 @@ package gov.noaa.nws.ncep.common.dataplugin.geomag.dao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; import java.util.Date; import java.util.List; @@ -12,19 +13,20 @@ import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.TransactionCallback; -import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; - +import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.dao.CoreDao; import com.raytheon.uf.edex.database.dao.DaoConfig; +import com.raytheon.uf.edex.database.query.DatabaseQuery; /** - * Record implementation for geomag k3hrDao. + * Record implementation for geomag k3hrDao. * *
  * SOFTWARE HISTORY
  * Date         Ticket#    Engineer           Description
  * ------------ ---------- ----------------   --------------------------
  * 08/14/2013   T989       qzhou              Initial creation.
+ * 03/13/2014              sgurung            Added method purgeDataByRefTime()
  * 
* * @author qzhou @@ -32,30 +34,21 @@ import com.raytheon.uf.edex.database.dao.DaoConfig; */ public class GeoMagK3hrDao extends CoreDao { - /** + /** * Creates a new GribModelDao */ public GeoMagK3hrDao() { super(DaoConfig.forClass(GeoMagK3hr.class)); } - - /** - * Retrieves a GeoMagAvgId based on the given id - * - * @param id - * The given ID number - * @return The GeoMagAvgId - */ - public GeoMagK3hr queryById(int id) { - return (GeoMagK3hr) super.queryById(id); - } - public int getId (int id){ - return queryById(id).getId(); - } - + /** + * Retrieves data from postGres + * + * @return Criteria list + */ @SuppressWarnings("unchecked") - public List getRangeK3hr(final String stationCode, final Date start, final Date end) { + public List getRangeK3hr(final String stationCode, + final Date start, final Date end) { return (List) txTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { @@ -64,10 +57,10 @@ public class GeoMagK3hrDao extends CoreDao { Criteria crit = sess.createCriteria(GeoMagK3hr.class); Criterion where1 = Restrictions.eq("stationCode", stationCode); crit.add(where1); - Criterion where2 = Restrictions.gt("refTime", start); + Criterion where2 = Restrictions.gt("refTime", start); crit.add(where2); - Criterion where3 = Restrictions.lt("refTime", end); - crit.add(where3); + Criterion where3 = Restrictions.lt("refTime", end); + crit.add(where3); return crit.list(); } @@ -75,7 +68,8 @@ public class GeoMagK3hrDao extends CoreDao { } @SuppressWarnings("unchecked") - public List getSingleK3hr(final String stationCode, final Date time) { + public List getSingleK3hr(final String stationCode, + final Date time) { return (List) txTemplate.execute(new TransactionCallback() { @Override public Object doInTransaction(TransactionStatus status) { @@ -90,5 +84,10 @@ public class GeoMagK3hrDao extends CoreDao { } }); } -} + public int purgeDataByRefTime(Date refTime) throws DataAccessLayerException { + DatabaseQuery deleteStmt = new DatabaseQuery(this.daoClass); + deleteStmt.addQueryParam("refTime", refTime); + return this.deleteByCriteria(deleteStmt); + } +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/DatabaseUtil.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/DatabaseUtil.java new file mode 100644 index 0000000000..5aa54ab389 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/DatabaseUtil.java @@ -0,0 +1,314 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.request; + +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagRecord; +import gov.noaa.nws.ncep.common.dataplugin.geomag.calculation.CalcUtil; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagAvgDao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagDao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagK1minDao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagK3hrDao; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Comparator; +import java.util.Date; +import java.util.List; + +import com.raytheon.uf.common.dataquery.db.QueryParam; +import com.raytheon.uf.edex.database.DataAccessLayerException; +import com.raytheon.uf.edex.database.query.DatabaseQuery; + +/** + * + * Retrieve data from database utility for a given dataURI + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * 2014/02/12   #1123       qzhou       Moved from edex to here
+ * 
+ * 
+ * + * @author qzhou + * @version 1.0 + */ +public class DatabaseUtil { + + private static final int AVG_DATA_RANGE = 30; + + private static final float MISSING_VAL = 99999.99f; + + /* + * from geomag + */ + public static List retrieveUriForAvg(GeoMagDao dao, String dataUri, + Date time) { + String station = CalcUtil.getStationFromUri(dataUri); + + DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); + query.addReturnedField("component_1"); + query.addReturnedField("component_2"); + query.addReturnedField("dataTime.refTime"); + query.addReturnedField("badDataPoint"); + query.addReturnedField("sourceId"); + + // called only when time is 59min, so include it. + query.addQueryParam("dataTime.refTime", time, + QueryParam.QueryOperand.LESSTHANEQUALS); + Calendar cal = Calendar.getInstance(); + cal.setTime(time); + cal.add(Calendar.HOUR_OF_DAY, -1); + + query.addQueryParam("dataTime.refTime", cal.getTime(), + QueryParam.QueryOperand.GREATERTHAN); + query.addQueryParam("stationCode", station); + + List resultsList = null; + + try { + resultsList = dao.queryByCriteria(query); // 60 + } catch (DataAccessLayerException e1) { + e1.printStackTrace(); + } + + return resultsList; + } + + /* + * from geomag_houravg + */ + public static List retrieveSingleAvg(String dataUri, Date time) { + GeoMagAvgDao avgDao = new GeoMagAvgDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = avgDao.getSingleAvg(station, time); + + return resultsList; + + } + + /* + * from geomag_houravg + */ + public static List retrieveUriBy3hr(String dataUri, Date spTime) { + GeoMagAvgDao avgDao = new GeoMagAvgDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + Calendar cal = Calendar.getInstance(); + cal.setTime(spTime); + cal.add(Calendar.DAY_OF_YEAR, -AVG_DATA_RANGE); // at least one day is + // needed for gt, lt + + // since avg have min=30, cal.getTime() and spTime are not included + List resultsList = null; + resultsList = avgDao.getAvgForStation(station, cal.getTime(), spTime); // 720 + + return resultsList; + } + + /* + * from geomag + */ + public static List retrieveUriForK1min(GeoMagDao dao, String dataUri, + Date time) { + String station = CalcUtil.getStationFromUri(dataUri); + + DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); + + query.addReturnedField("component_1"); + query.addReturnedField("component_2"); + query.addReturnedField("dataTime.refTime"); + query.addReturnedField("badDataPoint"); + query.addReturnedField("sourceId"); + + // Document uses epTime-1minute. Consider 3 sources, we use current time + query.addQueryParam("dataTime.refTime", time, + QueryParam.QueryOperand.LESSTHANEQUALS); + + Date epTime = CalcUtil.getEPTime(time); + Calendar cal = Calendar.getInstance(); + cal.setTime(epTime); + cal.add(Calendar.HOUR_OF_DAY, -48); + + // start time is epTime-48hour. So use GREATERTHANEQUALS + query.addQueryParam("dataTime.refTime", cal.getTime(), + QueryParam.QueryOperand.GREATERTHANEQUALS); + query.addQueryParam("stationCode", station); + + List resultsList = null; + try { + resultsList = dao.queryByCriteria(query); // 2880 + } catch (DataAccessLayerException e1) { + e1.printStackTrace(); + } + + return resultsList; + } + + /* + * from geomag_k1min + */ + public static List retrieveSingleK1min(String dataUri, + Date time) { + GeoMagK1minDao k1minDao = new GeoMagK1minDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = k1minDao.getSingleK1min(station, time); + + return resultsList; + + } + + /* + * from geomag_k3hr + */ + public static List retrieveUriForK3hr(String dataUri, + Date epTime) { + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + Calendar cal = Calendar.getInstance(); + cal.setTime(epTime); + cal.add(Calendar.DAY_OF_YEAR, -1); + + List resultsList = null; + resultsList = k3hrDao.getRangeK3hr(station, cal.getTime(), epTime); // 1 + + return resultsList; + } + + /* + * from geomag_k3hr + */ + public static List retrieveSingleK3hr(String dataUri, + Date epTime) { + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + String station = CalcUtil.getStationFromUri(dataUri); + + List resultsList = null; + resultsList = k3hrDao.getSingleK3hr(station, epTime); + + return resultsList; + } + + /* + * sort n lists + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) + public static void sort(List... lists) { + assert lists.length > 0; + + Object[][] objects = new Object[lists[0].size()][lists.length]; + + for (int i = 0; i < lists.length; i++) { + int j = 0; + for (Object object : lists[i]) { + objects[j++][i] = object; + } + } + + Arrays.sort(objects, new Comparator() { + + public int compare(Object[] o1, Object[] o2) { + return ((Comparable) o1[0]).compareTo(o2[0]); + } + }); + + for (int i = 0; i < lists.length; i++) { + lists[i].clear(); + for (Object[] tuple : objects) { + lists[i].add(tuple[i]); + } + } + } + + /* + * fill time tag gaps, return fullBestList + */ + public static void fillHrAvgTimeGaps(List dataList, + List dateListFinal, List hHrAvgListFinal, + List dHrAvgListFinal, Date spTime) { + List dateList = new ArrayList(); + List hHrAvgList = new ArrayList(); + List dHrAvgList = new ArrayList(); + + for (int i = 0; i < dataList.size(); i++) { // 1 extra + + GeoMagAvg row = dataList.get(i); + + dateList.add((Date) row.getAvgTime()); + hHrAvgList.add((Float) row.gethHrAvg()); + dHrAvgList.add((Float) row.getdHrAvg()); + + } + + DatabaseUtil.sort(dateList, hHrAvgList, dHrAvgList); + + /* + * fill missing + */ + + // fill missing in the beginning + Date date = (Date) dateList.get(0); + int hr0 = date.getHours(); + + if (hr0 != spTime.getHours()) { + for (int k = 0; k < hr0; k++) { + + Date dateNew = (Date) date.clone(); + dateNew.setHours(k); // change setMinutes to setHours + + dateListFinal.add(dateNew); + hHrAvgListFinal.add(MISSING_VAL); + dHrAvgListFinal.add(MISSING_VAL); + } + } + + // fill missing in the middle + for (int i = 0; i < dateList.size(); i++) { + Date date0 = dateList.get(i); + dateListFinal.add(date0); // change from data to data0 + hHrAvgListFinal.add(hHrAvgList.get(i)); + dHrAvgListFinal.add(dHrAvgList.get(i)); + + if (i + 1 < dateList.size()) { + Date date1 = (Date) dateList.get(i + 1); + int diffHr = (int) (date1.getTime() - date0.getTime()) + / (3600 * 1000); + + if (diffHr != 1) { + for (int j = 0; j < diffHr - 1; j++) { + dateListFinal.add(new Date(date0.getTime() + 3600 + * 1000 * (j + 1))); + // append after i, i+1 + hHrAvgListFinal.add(MISSING_VAL); + dHrAvgListFinal.add(MISSING_VAL); + + } + } + } + } + + // fill missing in the end // changed ending from 24 * AVG_DATA_RANGE to + // 23(end of the day) + int latest = dateListFinal.size(); + if (latest < 24 * AVG_DATA_RANGE) { + for (int k = latest; k < 24 * AVG_DATA_RANGE; k++) { + dateListFinal.add(new Date(dateListFinal.get(latest - 1) + .getTime() + 3600 * 1000 * (k + 1))); + hHrAvgListFinal.add(MISSING_VAL); + dHrAvgListFinal.add(MISSING_VAL); + } + } + + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveHrAvgRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveHrAvgRequest.java new file mode 100644 index 0000000000..0798ae07a9 --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveHrAvgRequest.java @@ -0,0 +1,72 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.request; + +import java.util.Date; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +/** + * + * Request for a GeoMagAvg for the given dataURI + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * 2014/02/12   #1110      qzhou       Init
+ * 
+ * 
+ * + * @author qzhou + * @version 1.0 + */ +@DynamicSerialize +public class RetrieveHrAvgRequest implements IServerRequest { + + @DynamicSerializeElement + private String stationCode; + + @DynamicSerializeElement + private Date startTime; + + @DynamicSerializeElement + private Date endTime; + + public RetrieveHrAvgRequest() { + } + + public RetrieveHrAvgRequest(String stationCode, Date startTime, Date endTime) { + super(); + this.stationCode = stationCode; + this.startTime = startTime; + this.endTime = endTime; + } + + public String getStationCode() { + return stationCode; + } + + public void setStationCode(String stationCode) { + this.stationCode = stationCode; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveK1minRequest.java b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveK1minRequest.java new file mode 100644 index 0000000000..c71100793f --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.common.dataplugin.geomag/src/gov/noaa/nws/ncep/common/dataplugin/geomag/request/RetrieveK1minRequest.java @@ -0,0 +1,72 @@ +package gov.noaa.nws.ncep.common.dataplugin.geomag.request; + +import java.util.Date; + +import com.raytheon.uf.common.serialization.annotations.DynamicSerialize; +import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement; +import com.raytheon.uf.common.serialization.comm.IServerRequest; + +/** + * + * Request for a GeoMagk1min for the given dataURI + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * 2014/02/12   #1110      qzhou       Init
+ * 
+ * 
+ * + * @author qzhou + * @version 1.0 + */ +@DynamicSerialize +public class RetrieveK1minRequest implements IServerRequest { + + @DynamicSerializeElement + private String stationCode; + + @DynamicSerializeElement + private Date startTime; + + @DynamicSerializeElement + private Date endTime; + + public RetrieveK1minRequest() { + } + + public RetrieveK1minRequest(String stationCode, Date startTime, Date endTime) { + super(); + this.stationCode = stationCode; + this.startTime = startTime; + this.endTime = endTime; + } + + public String getStationCode() { + return stationCode; + } + + public void setStationCode(String stationCode) { + this.stationCode = stationCode; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request.xml similarity index 67% rename from ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request rename to ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request.xml index 119e8dbace..1f16936fd1 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/res/spring/geomag-request.xml @@ -38,4 +38,20 @@ - \ No newline at end of file + + + + + + + + + + + + + diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java index 8920baa079..0d99ea9916 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/GeoMagDecoder.java @@ -552,8 +552,8 @@ public class GeoMagDecoder extends AbstractDecoder { } try { - // obs_time, compx...//size 7 - dataRec = dataStore.retrieve(newUri); + // obs_time, compx...//size 7 + dataRec = dataStore.retrieve(newUri); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (StorageException e1) { diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java index 2d802aaae4..908231edd9 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/TrigKCalculation.java @@ -4,14 +4,15 @@ import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK3hr; import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagRecord; +import gov.noaa.nws.ncep.common.dataplugin.geomag.calculation.CalcEach1min; +import gov.noaa.nws.ncep.common.dataplugin.geomag.calculation.CalcEach3hr; +import gov.noaa.nws.ncep.common.dataplugin.geomag.calculation.CalcKp; +import gov.noaa.nws.ncep.common.dataplugin.geomag.calculation.CalcUtil; import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagAvgDao; import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagDao; import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagK1minDao; import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagK3hrDao; -import gov.noaa.nws.ncep.edex.plugin.geomag.calculation.CalcEach1min; -import gov.noaa.nws.ncep.edex.plugin.geomag.calculation.CalcEach3hr; -import gov.noaa.nws.ncep.edex.plugin.geomag.calculation.CalcKp; -import gov.noaa.nws.ncep.edex.plugin.geomag.calculation.CalcUtil; +import gov.noaa.nws.ncep.common.dataplugin.geomag.request.DatabaseUtil; import java.io.FileNotFoundException; import java.text.ParseException; @@ -19,25 +20,20 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; -import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import com.raytheon.uf.common.dataplugin.message.DataURINotificationMessage; import com.raytheon.uf.common.dataplugin.PluginException; +import com.raytheon.uf.common.dataplugin.message.DataURINotificationMessage; import com.raytheon.uf.common.dataplugin.persist.IPersistable; -import com.raytheon.uf.common.dataquery.db.QueryParam; import com.raytheon.uf.common.datastorage.IDataStore; import com.raytheon.uf.common.datastorage.StorageException; import com.raytheon.uf.common.datastorage.records.IDataRecord; -import com.raytheon.uf.edex.database.DataAccessLayerException; import com.raytheon.uf.edex.database.plugin.PluginFactory; -import com.raytheon.uf.edex.database.query.DatabaseQuery; + +//import gov.noaa.nws.ncep.edex.plugin.geomag.request.DatabaseUtil; /** * This java class calculates magnetometer k index and related values. @@ -48,6 +44,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * date Ticket# Engineer Description * ----------- ---------- ----------- -------------------------- * 06/07/2013 #989 qzhou Initial Creation, event driven + * 03/18/2014 #1123 qzhou Move some functions to common. Modified FillAvgTimeGap in the moved functions *
* * @author qzhou @@ -55,1120 +52,887 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery; * */ public class TrigKCalculation { - private final Log logger = LogFactory.getLog(getClass()); - private static final String GeoMag = "geomag"; - private static final float MISSING_VAL = 99999.99f; - private static final int MISSING_INT = 99999; - - private static final int HOURS = 24; - private static final int MINUTES = 60; - private static final int AVG_DATA_RANGE = 30; - private static final int HD_DATA_RANGE = 3; - private static final int MAX_SOURCES = 3; - - private static final int ITERATIONS = 5; - private GeoMagDao dao; //PluginDao dao; - private float[] defLength = new float[HOURS]; - - String format = "yyyy-MM-dd'_'HH:mm:ss.s"; - SimpleDateFormat sdf = new SimpleDateFormat(format); - - - public TrigKCalculation() { - } - - /* - * trigger - */ - public void trig1min(Object obj) throws StorageException { - - if( !(obj instanceof DataURINotificationMessage) ){ - //logger.info("Received msg that is not a DataURINotificationMessage."); - return; - } - - DataURINotificationMessage uriMsg = (DataURINotificationMessage)obj; - String[] dataUris = uriMsg.getDataURIs(); - -// logger.info("******** Start meganetometer calculation trig."); -// long t0 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****T0 "+ t0); - - // get geomag uri - List geomagUri = new ArrayList(); - - for (String dataURI : dataUris ) { - if (dataURI.contains("geomag")) - geomagUri.add(dataURI); - } - - String[] dataURIs = geomagUri.toArray(new String[geomagUri.size()]); - - //sort - Arrays.sort(dataURIs); - - try { - dao = (GeoMagDao) PluginFactory.getInstance().getPluginDao(GeoMag); - } catch (PluginException e) { - e.printStackTrace(); - } - - calcSimpleHourAvg(dataURIs); - calcK(dataURIs); - -// long t4 = Calendar.getInstance().getTimeInMillis(); -// System.out.println("*****T4 "+ t4); - } - - - /* - * from geomag - */ - public List retrieveUriForAvg(String dataUri, Date time) { - String station = CalcUtil.getStationFromUri(dataUri); - - DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); - query.addReturnedField("component_1"); - query.addReturnedField("component_2"); - query.addReturnedField("dataTime.refTime"); - query.addReturnedField("badDataPoint"); - query.addReturnedField("sourceId"); - - // called only when time is 59min, so include it. - query.addQueryParam("dataTime.refTime", time, QueryParam.QueryOperand.LESSTHANEQUALS); - Calendar cal = Calendar.getInstance(); - cal.setTime(time); - cal.add(Calendar.HOUR_OF_DAY, -1); - - query.addQueryParam("dataTime.refTime", cal.getTime(), QueryParam.QueryOperand.GREATERTHAN); - query.addQueryParam("stationCode", station); - - List resultsList = null; - - try { - resultsList = dao.queryByCriteria(query); // 60 - } catch (DataAccessLayerException e1) { - e1.printStackTrace(); - } - - return resultsList; - } - - /* - * from geomag_houravg - */ - public List retrieveSingleAvg(String dataUri, Date time) { - GeoMagAvgDao avgDao = new GeoMagAvgDao(); - String station = CalcUtil.getStationFromUri(dataUri); - - List resultsList = null; - resultsList = avgDao.getSingleAvg(station, time); - - return resultsList; - - } - - /* - * from geomag_houravg - */ - public List retrieveUriBy3hr(String dataUri, Date spTime){ - GeoMagAvgDao avgDao = new GeoMagAvgDao(); - String station = CalcUtil.getStationFromUri(dataUri); - - Calendar cal = Calendar.getInstance(); - cal.setTime(spTime); - cal.add(Calendar.DAY_OF_YEAR, -AVG_DATA_RANGE); // at least one day is needed for gt, lt - - // since avg have min=30, cal.getTime() and spTime are not included - List resultsList = null; - resultsList = avgDao.getAvgForStation(station, cal.getTime(), spTime); //720 - - return resultsList; - } - - /* - * from geomag - */ - public List retrieveUriForK1min(String dataUri, Date time){ - String station = CalcUtil.getStationFromUri(dataUri); - - DatabaseQuery query = new DatabaseQuery(GeoMagRecord.class.getName()); - - query.addReturnedField("component_1"); - query.addReturnedField("component_2"); - query.addReturnedField("dataTime.refTime"); - query.addReturnedField("badDataPoint"); - query.addReturnedField("sourceId"); - - // Document uses epTime-1minute. Consider 3 sources, we use current time - query.addQueryParam("dataTime.refTime", time, QueryParam.QueryOperand.LESSTHANEQUALS); - - Date epTime = CalcUtil.getEPTime(time); - Calendar cal = Calendar.getInstance(); - cal.setTime(epTime); - cal.add(Calendar.HOUR_OF_DAY, -48); - - // start time is epTime-48hour. So use GREATERTHANEQUALS - query.addQueryParam("dataTime.refTime", cal.getTime(), QueryParam.QueryOperand.GREATERTHANEQUALS); - query.addQueryParam("stationCode", station); - - List resultsList = null; - try { - resultsList = dao.queryByCriteria(query); // 2880 - } catch (DataAccessLayerException e1) { - e1.printStackTrace(); - } - - return resultsList; - } - - /* - * from geomag_k1min - */ - public List retrieveSingleK1min(String dataUri, Date time) { - GeoMagK1minDao k1minDao = new GeoMagK1minDao(); - String station = CalcUtil.getStationFromUri(dataUri); + private static final String GeoMag = "geomag"; - List resultsList = null; - resultsList = k1minDao.getSingleK1min(station, time); - - return resultsList; - - } - - /* - * from geomag_k3hr - */ - public List retrieveUriForK3hr(String dataUri, Date epTime){ - GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); - String station = CalcUtil.getStationFromUri(dataUri); + private static final float MISSING_VAL = 99999.99f; - Calendar cal = Calendar.getInstance(); - cal.setTime(epTime); - cal.add(Calendar.DAY_OF_YEAR, -1); - - List resultsList = null; - resultsList = k3hrDao.getRangeK3hr(station, cal.getTime(), epTime); //1 - - return resultsList; - } - - /* - * from geomag_k3hr - */ - public List retrieveSingleK3hr(String dataUri, Date epTime){ - GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); - String station = CalcUtil.getStationFromUri(dataUri); + private static final int HOURS = 24; - List resultsList = null; - resultsList = k3hrDao.getSingleK3hr(station, epTime); - - return resultsList; - } - - /* - * For hdf5 - */ - public IDataRecord[] getDataRecords(String uri){ - IDataRecord[] dataRec = null; - IDataStore dataStore = null; - - GeoMagRecord record = new GeoMagRecord(uri); - if (record != null) - dataStore = dao.getDataStore((IPersistable) record); - - try { - dataRec = dataStore.retrieve(uri); //obs_time, compx...//size 7 - } catch (FileNotFoundException e1) { - //e1.printStackTrace(); - System.out.println("This uri didn't find the records."); - } catch (StorageException e1) { - System.out.println("This uri didn't find place to store the records."); - //e1.printStackTrace(); - } - - return dataRec; - } - - /* - * sort n lists - */ - @SuppressWarnings({ "unchecked", "rawtypes" }) - static void sort(List... lists) { - assert lists.length > 0; - - Object[][] objects = new Object[lists[0].size()][lists.length]; + private static final int MINUTES = 60; - for (int i = 0; i < lists.length; i++) { - int j = 0; - for (Object object : lists[i]) { - objects[j++][i] = object; - } - } + private static final int HD_DATA_RANGE = 3; - Arrays.sort(objects, new Comparator() { - - public int compare(Object[] o1, Object[] o2) { - return ((Comparable)o1[0]).compareTo(o2[0]); - } - }); + private static final int ITERATIONS = 5; - for (int i = 0; i < lists.length; i++) { - lists[i].clear(); - for (Object[] tuple : objects) { - lists[i].add(tuple[i]); - } - } - } - - /* - * Input data of all source, output with higher priority source data - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - public List getBestObserv(List dataList ) { - - List comp1List = new ArrayList(); - List comp2List = new ArrayList(); - List badPointList = new ArrayList(); - List dateList = new ArrayList(); - List sourceList = new ArrayList(); - - List bestList = new ArrayList(); - - if (dataList != null ) { - for (int i = 0; i < dataList.size(); i++) { - - Object[] row = (Object[]) dataList.get(i); - - comp1List.add( (Float) row[0]); - comp2List.add( (Float) row[1]); - dateList.add( (Date) row[2]); - badPointList.add( (Integer) row[3]); - sourceList.add( (Integer) row[4]); - - } - - sort(dateList, sourceList, comp1List, comp2List, badPointList); - - int count = 0; - int size = dateList.size(); - - /* - * tempList combine all lists for the first 4 items. size=4 - * newList holds tempLists ordered by source. size=3 - * bestList construct newList with best source - * bestListFull filled time gaps - */ - for (int i = 0; i < size; i=i+count) { - count = 0; - - List tempList1 = new ArrayList(); - List tempList2 = new ArrayList(); - List tempList3 = new ArrayList(); - - List newList = new ArrayList(); - //init 3 - newList.add(0, new ArrayList()); - newList.add(1, new ArrayList()); - newList.add(2, new ArrayList()); - - tempList1.add( dateList.get(i)); - if (badPointList.get(i) != null && badPointList.get(i) != 0){ - tempList1.add(MISSING_VAL); - tempList1.add(MISSING_VAL); - } - else { - tempList1.add(comp1List.get(i)); - tempList1.add(comp2List.get(i)); - } - newList.set(sourceList.get(i)%100 -1, tempList1); - count++; - - if (i+1 < size && dateList.get(i).compareTo( dateList.get(i+1)) ==0) { - - tempList2.add(dateList.get(i+1)); - if (badPointList.get(i+1) != null && badPointList.get(i+1) != 0){ - tempList2.add(MISSING_VAL); - tempList2.add(MISSING_VAL); - } - else { - tempList2.add(comp1List.get(i+1)); - tempList2.add(comp2List.get(i+1)); - } - newList.set(sourceList.get(i+1)%100 -1, tempList2); - count++; - } - - if (i+2 < size && dateList.get(i).compareTo( dateList.get(i+2)) ==0) { - - tempList3.add(dateList.get(i+2)); - if (badPointList.get(i+2) != null && badPointList.get(i+2) != 0){ - tempList3.add(MISSING_VAL); - tempList3.add(MISSING_VAL); - } - else { - tempList3.add(comp1List.get(i+2)); - tempList3.add(comp2List.get(i+2)); - } - newList.set(sourceList.get(i+2)%100 -1, tempList3); - count++; - } - - if (newList.get(2) == null || newList.get(2).isEmpty()) //newList.get(0)= [3281750, 2013-05-06 00:00:00.0, 20829.85, -297.05] - newList.remove(2); - if (newList.get(1) == null || newList.get(1).isEmpty()) - newList.remove(1); - if (newList.get(0) == null || newList.get(0).isEmpty()) - newList.remove(0); - //System.out.println("***newList "+i+" "+count+" "+newList.size()+" "+newList.get(0)); - - // Now only check if comp2 (...get(2)) is MISSING_VAL. Could check both - if (newList.get(0).get(2) != null && (Float) newList.get(0).get(2) != MISSING_VAL ) { - bestList.add( newList.get(0)); - } - else if (newList.size() >1 && (Float) newList.get(0).get(2) == MISSING_VAL && i+1< size) { - // if date i = date(i+1) && comp1 (i+1) != missing - if ((Date) newList.get(0).get(1) == (Date) newList.get(1).get(1) && newList.get(1).get(2) != null && (Float) newList.get(1).get(2) != MISSING_VAL) { - bestList.add( newList.get(1)); - } - else if (newList.size() >2 && (Float) newList.get(1).get(2) == MISSING_VAL && i+2 < size) { - if ((Date) newList.get(0).get(1) == (Date) newList.get(2).get(1) && (Float) newList.get(2).get(2) != MISSING_VAL) { - bestList.add( newList.get(2)); - } - else { - bestList.add( newList.get(0)); - } - } - } - } - } - - return bestList; - } + private GeoMagDao dao; // PluginDao dao; - /* - * fill time tag gaps, return fullBestList - */ - @SuppressWarnings({ "rawtypes", "unchecked" }) - public List fillHDTimeGaps(List bestList) { - List fullBestList= new ArrayList(); - - // fill missing in the beginning - Date date = (Date) bestList.get(0).get(0); //bestList.get(i) eq. newList. - int min0 = date.getMinutes(); - - if ( min0 != 0 ) { - for (int k = 0; k < min0; k++) { - List newList2 = new ArrayList(); // eq. newList - - Date dateNew = (Date)date.clone(); - dateNew.setMinutes(k); + private float[] defLength = new float[HOURS]; - newList2.add(dateNew); - newList2.add(MISSING_VAL); - newList2.add(MISSING_VAL); - fullBestList.add( newList2); - - } - } - - // fill missing in the middle - for (int j = 0; j < bestList.size(); j++ ) { //i=0 first non missing data - - Date date0 = (Date) bestList.get(j).get(0);//dateList.get(i); - fullBestList.add( bestList.get(j)); - - if (j+1 < bestList.size()) { - Date date1 = (Date) bestList.get(j+1).get(0);//dateList.get(i+1); - int diffMin = (int)(date1.getTime() - date0.getTime())/ (60*1000); - - if (diffMin != 1) { - for (int k = 0; k < diffMin-1; k++) { - List newList2 = new ArrayList(); // eq. newList - - newList2.add(new Date(date0.getTime() + 60*1000*(k+1))); - newList2.add(MISSING_VAL); - newList2.add(MISSING_VAL); - fullBestList.add( newList2); - - } - } - } - } - -// // fill missing in the end -// int latest = fullBestList.size(); -// if (latest < HOURS*MINUTES*HD_DATA_RANGE) { -// for (int k = latest; k < HOURS*MINUTES*HD_DATA_RANGE; k++) { -// List newList2 = new ArrayList(); -// Date d = (Date)fullBestList.get(0).get(latest-1); -// -// newList2.add(new Date(d.getTime() + 60*1000*(k+1))); -// newList2.add(MISSING_VAL); -// newList2.add(MISSING_VAL); -// fullBestList.add( newList2); -// } -// } - - return fullBestList; - } - - - /* - * when uri time is 59 min past the hour, calculate the averages and write to geomat_houravg - */ - public void calcSimpleHourAvg(String[] dataURIs) throws StorageException { - - if (dao != null && dataURIs != null) { - for (String dataURI : dataURIs ) { - String stationCode = CalcUtil.getStationFromUri(dataURI); - - Date time = null;; - try { - time = CalcUtil.getTimeFromUri(dataURI); - } catch (ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - int min = time.getMinutes(); - - List dataList = null; - if (min == 59) - dataList = retrieveUriForAvg(dataURI, time); - else - continue; - - - if (dataList != null && dataList.size() != 0) { - List bestList = getBestObserv( dataList ); - - float[] hrAvg = CalcEach3hr.getSimpleHourAvg(bestList); - - GeoMagAvg recAvg = new GeoMagAvg(); + String format = "yyyy-MM-dd'_'HH:mm:ss.s"; + + SimpleDateFormat sdf = new SimpleDateFormat(format); + + public TrigKCalculation() { - // look the avg table to see if the avg already exists - time.setMinutes(30); - List avgList = retrieveSingleAvg(dataURI, time); - - if (avgList != null && avgList.size() != 0) {//String newUri = dataURI.substring(0, 21) +":30:00.0"+ dataURI.substring(29, 34)+ "100/GEOMAG"; - for (int i = 0; i < avgList.size(); i++) { //1 - GeoMagAvg row = avgList.get(i); - List idList = new ArrayList(); - idList.add( (Integer) row.getId()); - recAvg.setId((int) idList.get(0)); - - } - } - - recAvg.setAvgTime(time); - recAvg.setInsertTime(Calendar.getInstance().getTime()); - recAvg.setStationCode(stationCode); - recAvg.setHHrAvg(hrAvg[0]); - recAvg.setDHrAvg(hrAvg[1]); - - GeoMagAvgDao avgDao = new GeoMagAvgDao(); - avgDao.persist(recAvg); - - } - } - } - } - - /* - * Write to geomag_k1min - */ - public void calcK(String[] dataURIs) { - - if (dataURIs != null ) { - for (String dataURI : dataURIs ) { - - String stationCode = CalcUtil.getStationFromUri(dataURI); - String source = CalcUtil.getSourceFromUri(dataURI); - - Date timeBy3 = null;; - try { - timeBy3 = CalcUtil.getTimeFromUri(dataURI); - } catch (ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - int hour = timeBy3.getHours(); - int min = timeBy3.getMinutes(); - - /* - * Read average - */ - Date spTime = CalcUtil.getSPTime( timeBy3); - - List dataList = null; + /* + * trigger + */ + public void trig1min(Object obj) throws StorageException { - dataList = retrieveUriBy3hr(dataURI, CalcUtil.getSPTime(timeBy3)); + if (!(obj instanceof DataURINotificationMessage)) { - // dataList size (avg) < 24, can't calculate dB[j] - if (dataList.size() <= HOURS) - continue; + return; + } - - List dateList = new ArrayList(); - List hHrAvgList = new ArrayList(); - List dHrAvgList = new ArrayList(); - - if (dataList != null && dataList.size() >= 5) { - for (int i = 0; i < dataList.size(); i++) { //1 extra - - GeoMagAvg row = dataList.get(i); - - dateList.add( (Date) row.getAvgTime()); - hHrAvgList.add( (Float) row.getHHrAvg()); - dHrAvgList.add( (Float) row.getDHrAvg()); - - } - - sort(dateList, hHrAvgList, dHrAvgList); - - /* - * fill missing - */ - List dateListFinal = new ArrayList(); - List hHrAvgListFinal = new ArrayList(); - List dHrAvgListFinal = new ArrayList(); - - // fill missing in the beginning - Date date = (Date) dateList.get(0); - int hr0 = date.getHours(); - - if ( hr0 != spTime.getHours() ) { - for (int k = 0; k < hr0; k++) { - - Date dateNew = (Date)date.clone(); - dateNew.setMinutes(k); - - dateListFinal.add( dateNew); - hHrAvgListFinal.add( MISSING_VAL); - dHrAvgListFinal.add( MISSING_VAL); - } - } - - // fill missing in the middle - for (int i = 0; i < dateList.size(); i++) { - Date date0 = dateList.get(i); - dateListFinal.add(date); - hHrAvgListFinal.add( hHrAvgList.get(i)); - dHrAvgListFinal.add( dHrAvgList.get(i)); - - if (i+1 < dateList.size()) { - Date date1 = (Date)dateList.get(i+1); - int diffHr = (int)(date1.getTime() - date0.getTime())/ (3600*1000); + DataURINotificationMessage uriMsg = (DataURINotificationMessage) obj; + String[] dataUris = uriMsg.getDataURIs(); - if (diffHr != 1) { - for (int j = 0; j < diffHr-1; j++) { - dateListFinal.add( new Date(date.getTime() + 3600*1000*(j+1))); //append after i, i+1 - hHrAvgListFinal.add( MISSING_VAL); - dHrAvgListFinal.add( MISSING_VAL); - - } - } - } - } - - // fill missing in the end - int latest = dateListFinal.size(); - if (latest < HOURS*AVG_DATA_RANGE) { - for (int k = latest; k < HOURS*AVG_DATA_RANGE; k++) { - dateListFinal.add(new Date(dateListFinal.get(latest-1).getTime() + 3600*1000*(k+1))); - hHrAvgListFinal.add( MISSING_VAL); - dHrAvgListFinal.add( MISSING_VAL); - } - } - - - float[] hHrAvgs = CalcUtil.toFloatArray(hHrAvgListFinal); - float[] dHrAvgs = CalcUtil.toFloatArray(dHrAvgListFinal); - - float[] dB = CalcEach3hr.getDisturbanceLevel(hHrAvgs, dHrAvgs); -// for ( int k = 0; k < 30; k++ ) -// System.out.print("*****dB "+ dB[k]+" "); -// System.out.println(""); - - @SuppressWarnings("unchecked") - Map dBsmall = CalcEach3hr.getSmallDisturbanceLevel(dB); - - float[] quietHHrAvg = CalcEach3hr.getQuietLevelHourAvg(dBsmall, hHrAvgs); - float[] quietDHrAvg = CalcEach3hr.getQuietLevelHourAvg(dBsmall, dHrAvgs); + // get geomag uri + List geomagUri = new ArrayList(); -// System.out.println("***hHrAvgs "+ CalcUtil.maxValue(hHrAvgs)+ " "+CalcUtil.minValue(hHrAvgs)+" "+hHrAvgs[0]+" "+hHrAvgs[1]+" "+hHrAvgs[2]); -// System.out.println("***dHrAvgs "+ CalcUtil.maxValue(dHrAvgs)+ " "+CalcUtil.minValue(dHrAvgs)+" "+dHrAvgs[0]+" "+dHrAvgs[10]); -// System.out.println("***quietHHrAvg "+ CalcUtil.maxValue(quietHHrAvg)+ " "+CalcUtil.minValue(quietHHrAvg)+" "+quietHHrAvg[0]+" "+quietHHrAvg[10]); -// System.out.println("***quietdHrAvg "+ CalcUtil.maxValue(quietDHrAvg)+ " "+CalcUtil.minValue(quietDHrAvg)+" "+quietDHrAvg[0]+" "+quietDHrAvg[10]); - - // added from FMIQDCRT11_3hr.pro - for ( int k = 0; k < quietHHrAvg.length; k++ ){ - if (quietHHrAvg[k] == MISSING_VAL || quietDHrAvg[k] == MISSING_VAL) { - quietHHrAvg[k] = CalcUtil.getMedian(quietHHrAvg); - quietDHrAvg[k] = CalcUtil.getMedian(quietDHrAvg); - } - } - - float[] qha = CalcEach3hr.getQHA(quietHHrAvg); - float[] qda = CalcEach3hr.getQHA(quietDHrAvg); -// System.out.println("***qha "+ CalcUtil.maxValue(qha)+ " "+CalcUtil.minValue(qha)+" "+qha[0]+" "+qha[10]); -// System.out.println("***qda "+ CalcUtil.maxValue(qda)+ " "+CalcUtil.minValue(qda)+" "+qda[0]+" "+qda[10]); - - float[] hQdc = CalcEach1min.getHarmonicFit(qha);//[1440] - float[] dQdc = CalcEach1min.getHarmonicFit(qda); -// System.out.println("***hQdc "+ CalcUtil.maxValue(hQdc)+ " "+CalcUtil.minValue(hQdc)+" "+hQdc[0]+" "+hQdc[10]); -// System.out.println("***dQdc "+ CalcUtil.maxValue(dQdc)+ " "+CalcUtil.minValue(dQdc)+" "+dQdc[0]+" "+dQdc[10]); - - float[] qhaQdc = CalcEach1min.getQHAQDC(hQdc);//[1440] - float[] qdaQdc = CalcEach1min.getQHAQDC(dQdc); -// System.out.println("***qhaQdc "+ CalcUtil.maxValue(qhaQdc)+ " "+CalcUtil.minValue(qhaQdc)+" "+qhaQdc[0]+" "+qhaQdc[10]+" "+station); -// System.out.println("***qdaQdc "+ CalcUtil.maxValue(qdaQdc)+ " "+CalcUtil.minValue(qdaQdc)+" "+qdaQdc[0]+" "+qdaQdc[10]); - - - /* - * Read H and D - */ - Map> kIndexMap = new HashMap>(); - - Date timeBy1 = null; - try { - timeBy1 = CalcUtil.getTimeFromUri(dataURI); - - } catch (ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + for (String dataURI : dataUris) { + if (dataURI.contains("geomag")) + geomagUri.add(dataURI); + } - Date epTime = CalcUtil.getEPTime( timeBy1); - int epHour = epTime.getHours(); - - /* - * change epTime to current time - */ - List hdDataList = retrieveUriForK1min(dataURI, timeBy1); - - if (hdDataList != null && hdDataList.size() != 0) { - // if dataList <= 1440, can't calculate k-index - if (hdDataList.size() <= HOURS*MINUTES) - continue; + if (geomagUri.size() == 0) + return; - // gest best observation data - List bestList = getBestObserv( hdDataList ); - if (bestList.size() <= HOURS*MINUTES) - continue; - - List bestListFull = fillHDTimeGaps( bestList); - // System.out.println("**dataListBy1 size"+dataList.size()+" "+bestList.size()+" "+bestListFull.size()); - - // get hdata, ddata - float[] hdata = new float[HD_DATA_RANGE*HOURS*MINUTES]; - float[] ddata = new float[HD_DATA_RANGE*HOURS*MINUTES]; - - Arrays.fill(hdata, MISSING_VAL); - Arrays.fill(ddata, MISSING_VAL); - - for (int i = 0; i < bestListFull.size(); i++) { - List list = (List) bestListFull.get(i); - if (list != null && !list.isEmpty()) { - hdata[i] = list.get(1); - ddata[i] = list.get(2); - } - } - - // System.out.println("***hdata "+ CalcUtil.maxValue(hdata)+ " "+CalcUtil.minValue(hdata)+" "+hdata[0]+" "+hdata[2879]); - // System.out.println("***ddata "+ CalcUtil.maxValue(ddata)+ " "+CalcUtil.minValue(ddata)+" "+ddata[0]+" "+ddata[2879]); + String[] dataURIs = geomagUri.toArray(new String[geomagUri.size()]); - defLength = CalcEach3hr.getDefLength(stationCode, epHour); - - float[] hhdata = CalcEach1min.fillGaps(hdata); - float[] dddata = CalcEach1min.fillGaps(ddata); - - int currTimeIndex = CalcEach1min.getCurrTimeIndex(hour, min, epHour); - //System.out.println("**currTimeIndex "+currTimeIndex); - - hhdata = CalcEach1min.getExtrapolation(hhdata, qhaQdc, currTimeIndex); - dddata = CalcEach1min.getExtrapolation(dddata, qdaQdc, currTimeIndex); - // System.out.println("***hhdataExtr "+ CalcUtil.maxValue(hhdata)+ " "+CalcUtil.minValue(hhdata)+" "+hhdata[0]+" "+hhdata[10]); - // System.out.println("***dddataExtr "+ CalcUtil.maxValue(dddata)+ " "+CalcUtil.minValue(dddata)+" "+dddata[0]+" "+dddata[10]); - - float[] hDev = CalcEach1min.getDev(hhdata, hQdc);//[1440] - float[] dDev = CalcEach1min.getDev(dddata, dQdc); - // System.out.println("***hDev "+ CalcUtil.maxValue(hDev)+ " "+CalcUtil.minValue(hDev)+" "+hDev[0]+" "+hDev[10]); - // System.out.println("***dDev "+ CalcUtil.maxValue(dDev)+ " "+CalcUtil.minValue(dDev)+" "+dDev[0]+" "+dDev[10]); - - //already considered missing in getDev - - int[] kLimit = CalcUtil.getKLimit(stationCode); - - int missingFlag = 0; - List kList = CalcEach1min.getKIndex(hDev, dDev, kLimit, missingFlag);//[8] - - float[] kIndex = kList.get(0); - float[] gamma = kList.get(1); - - float[] kLength = CalcUtil.geKLength();//[8] - float[] fitLength = CalcEach1min.getFitLength(defLength, kIndex, kLength);//[24] - - - float[] hcA = CalcEach1min.getCentHourAvg(hhdata, fitLength, kIndex);//middle [24] - float[] dcA = CalcEach1min.getCentHourAvg(dddata, fitLength, kIndex); - // System.out.println("***hcA "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]+" "+stationCode); - // System.out.println("***dcA "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); - - hcA = CalcEach1min.adjustHrCentAvg(hcA, qha, gamma, kLimit); - dcA = CalcEach1min.adjustHrCentAvg(dcA, qda, gamma, kLimit); - // System.out.println("***hcAAdj "+ CalcUtil.maxValue(hcA)+ " "+CalcUtil.minValue(hcA)+" "+hcA[0]+" "+hcA[10]); - // System.out.println("***dcAAdj "+ CalcUtil.maxValue(dcA)+ " "+CalcUtil.minValue(dcA)+" "+dcA[0]+" "+dcA[10]); - - // Harmonic Fit to derive the qdc - int foundMiss = 0; - for (int i=0; i k1minList = retrieveSingleK1min(dataURI, timeBy1); - - if (k1minList != null && k1minList.size() != 0) {//String newUri = dataURI.substring(0, 21) +":30:00.0"+ dataURI.substring(29, 34)+ "100/GEOMAG"; - for (int i = 0; i < k1minList.size(); i++) { //1 - GeoMagK1min row = k1minList.get(i); - - int id = (Integer) row.getId(); - if (id != 0) - recK1min.setId(id); - } - } - - recK1min.setRefTime(timeBy1); - recK1min.setLastUpdate(Calendar.getInstance().getTime()); - recK1min.setStationCode(stationCode); - recK1min.setKestIndex(kest_index); - recK1min.setKestReal(kest_real); - recK1min.setKestGamma(kest_gamma); - recK1min.setHKIndex(hkindex); - recK1min.setHKReal(hk_real); - recK1min.setHKGamma(hgamma); - recK1min.setDKIndex(dkindex); - recK1min.setDKReal(dk_real); - recK1min.setDKGamma(dgamma); - recK1min.setKs(ksArray); - recK1min.setAest(aestArray); - recK1min.setHCount(countH); - recK1min.setDCount(countD); - - GeoMagK1minDao k1minDao = new GeoMagK1minDao(); - k1minDao.persist(recK1min); - - calcK3h(dataURI, kest_index, kest_real, kest_gamma); - - } // end of for dataURI - } - } - } - } - - /* - * write to geomag_k3hr - */ - public void calcK3h(String dataURI, int kest_index, float kest_real, float kest_gamma){ - List idDb = new ArrayList(); - List dateDb = new ArrayList(); - List kIndexDb = new ArrayList(); - List kGammaDb = new ArrayList(); - List kestIndexDb = new ArrayList(); - - int aRun = 0; - - String stationCode = CalcUtil.getStationFromUri(dataURI); - - Date currTime = null; - try { - currTime = CalcUtil.getTimeFromUri(dataURI); - } catch (ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - int hour = currTime.getHours(); - int min = currTime.getMinutes(); - Date epTime = CalcUtil.getEPTime(currTime); - - GeoMagK3hr recK3hr = new GeoMagK3hr(); + // sort + Arrays.sort(dataURIs); + try { + dao = (GeoMagDao) PluginFactory.getInstance().getPluginDao(GeoMag); + } catch (PluginException e) { + e.printStackTrace(); + } - List k3hrList = retrieveUriForK3hr(dataURI, epTime); //epTime not in the list - - if (k3hrList != null && k3hrList.size() != 0) { - - for (int i = 0; i < k3hrList.size(); i++) { - - GeoMagK3hr row = (GeoMagK3hr) k3hrList.get(i); - - dateDb.add (row.getRefTime()); - idDb.add ( row.getId()); - kIndexDb.add ( row.getKIndex()); - kGammaDb.add ( row.getKGamma()); - kestIndexDb.add (row.getKestIndex()); - - } - - sort(dateDb, idDb, kIndexDb, kGammaDb, kestIndexDb); - - } + calcSimpleHourAvg(dataURIs); + calcK(dataURIs); - List k3hrAtPoint = retrieveSingleK3hr(dataURI, epTime); - - if (k3hrAtPoint == null || k3hrAtPoint.size() == 0) { + } - // calculate aRunning, aFinalRunning - // only need first 7 k - int sum = 0; - for (int k = 0; k < kestIndexDb.size(); k++) { - int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); - sum += a_est; - } - sum += CalcKp.getAest(stationCode, kest_index); - aRun = (int) sum / (kestIndexDb.size()+1); - - recK3hr.setRefTime(epTime); - recK3hr.setLastUpdate(Calendar.getInstance().getTime()); - recK3hr.setStationCode(stationCode); - recK3hr.setKestIndex(kest_index); - recK3hr.setKestReal(kest_real); - recK3hr.setKestGamma(kest_gamma); - recK3hr.setARunning(aRun); - - GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); - k3hrDao.persist(recK3hr); - } + /* + * For hdf5 + */ + public IDataRecord[] getDataRecords(String uri) { + IDataRecord[] dataRec = null; + IDataStore dataStore = null; - else { - GeoMagK3hr row = (GeoMagK3hr) k3hrAtPoint.get(0); - int idCurr = row.getId(); - int kIndexCurr = row.getKIndex(); - float kGammaCurr = row.getKGamma(); - float kRealCurr = row.getKReal(); - int aFinalRunCurr = row.getAFinalRunning(); - int manualCurr = row.getIsManual(); - - if ((hour+1)%3 == 0 && (min+1)%60 == 0) { - - // calculate aFinalRunning, aFinalRunning - int sumEnd = 0; - for (int k = 0; k < kIndexDb.size(); k++) { - int a_est = CalcKp.getAest(stationCode, kIndexDb.get(k)); - sumEnd += a_est; - } - -// if ((kIndexCurr == MISSING_INT || kIndexCurr == 0) && //manual=0 -// (kGammaCurr == MISSING_INT || kGammaCurr == 0) ) - if (manualCurr == 0) - sumEnd += CalcKp.getAest(stationCode, kest_index); - else - sumEnd += CalcKp.getAest(stationCode, kIndexCurr); - - int aFinalRun = (int) sumEnd / (kIndexDb.size()+1); - - recK3hr.setAFinalRunning(aFinalRun); - recK3hr.setIsManual(manualCurr); -// if (kIndexCurr == MISSING_INT || kIndexCurr == 0) //manual=0 -// recK3hr.setKIndex(kest_index); -// else -// recK3hr.setKIndex(kIndexCurr); - - if (manualCurr == 0) { - recK3hr.setKIndex(kest_index); - recK3hr.setKReal(kest_real); - recK3hr.setKGamma(kest_gamma); - } - else { - - recK3hr.setKIndex(kIndexCurr); - recK3hr.setKReal(kRealCurr); - recK3hr.setKGamma(kGammaCurr); - } - - } - else { - - recK3hr.setKIndex(kIndexCurr); - recK3hr.setKReal(kRealCurr); - recK3hr.setKGamma(kGammaCurr); - recK3hr.setAFinalRunning(aFinalRunCurr); - recK3hr.setIsManual(manualCurr); - } + GeoMagRecord record = new GeoMagRecord(uri); + if (record != null) + dataStore = dao.getDataStore((IPersistable) record); - // calculate aRunning, aFinalRunning - // only need first 7 k - int sum = 0; - for (int k = 0; k < kestIndexDb.size(); k++) { - int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); - sum += a_est; - } - sum += CalcKp.getAest(stationCode, kest_index); - aRun = (int) sum / (kestIndexDb.size()+1); - - - if (idCurr != 0) - recK3hr.setId(idCurr); - recK3hr.setRefTime(epTime); - recK3hr.setLastUpdate(Calendar.getInstance().getTime()); - recK3hr.setStationCode(stationCode); - recK3hr.setKestIndex(kest_index); - recK3hr.setKestReal(kest_real); - recK3hr.setKestGamma(kest_gamma); - recK3hr.setARunning(aRun); - - GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); - k3hrDao.persist(recK3hr); - } + try { + dataRec = dataStore.retrieve(uri); // obs_time, compx...//size 7 + } catch (FileNotFoundException e1) { + // e1.printStackTrace(); + System.out.println("This uri didn't find the records."); + } catch (StorageException e1) { + System.out + .println("This uri didn't find place to store the records."); - } + } + + return dataRec; + } + + /* + * Input data of all source, output with higher priority source data + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public List getBestObserv(List dataList) { + + List comp1List = new ArrayList(); + List comp2List = new ArrayList(); + List badPointList = new ArrayList(); + List dateList = new ArrayList(); + List sourceList = new ArrayList(); + + List bestList = new ArrayList(); + + if (dataList != null) { + for (int i = 0; i < dataList.size(); i++) { + + Object[] row = (Object[]) dataList.get(i); + + comp1List.add((Float) row[0]); + comp2List.add((Float) row[1]); + dateList.add((Date) row[2]); + badPointList.add((Integer) row[3]); + sourceList.add((Integer) row[4]); + + } + + DatabaseUtil.sort(dateList, sourceList, comp1List, comp2List, + badPointList); + + int count = 0; + int size = dateList.size(); + + /* + * tempList combine all lists for the first 4 items. size=4 newList + * holds tempLists ordered by source. size=3 bestList construct + * newList with best source bestListFull filled time gaps + */ + for (int i = 0; i < size; i = i + count) { + count = 0; + + List tempList1 = new ArrayList(); + List tempList2 = new ArrayList(); + List tempList3 = new ArrayList(); + + List newList = new ArrayList(); + // init 3 + newList.add(0, new ArrayList()); + newList.add(1, new ArrayList()); + newList.add(2, new ArrayList()); + + tempList1.add(dateList.get(i)); + if (badPointList.get(i) != null && badPointList.get(i) != 0) { + tempList1.add(MISSING_VAL); + tempList1.add(MISSING_VAL); + } else { + tempList1.add(comp1List.get(i)); + tempList1.add(comp2List.get(i)); + } + newList.set(sourceList.get(i) % 100 - 1, tempList1); + count++; + + if (i + 1 < size + && dateList.get(i).compareTo(dateList.get(i + 1)) == 0) { + + tempList2.add(dateList.get(i + 1)); + if (badPointList.get(i + 1) != null + && badPointList.get(i + 1) != 0) { + tempList2.add(MISSING_VAL); + tempList2.add(MISSING_VAL); + } else { + tempList2.add(comp1List.get(i + 1)); + tempList2.add(comp2List.get(i + 1)); + } + newList.set(sourceList.get(i + 1) % 100 - 1, tempList2); + count++; + } + + if (i + 2 < size + && dateList.get(i).compareTo(dateList.get(i + 2)) == 0) { + + tempList3.add(dateList.get(i + 2)); + if (badPointList.get(i + 2) != null + && badPointList.get(i + 2) != 0) { + tempList3.add(MISSING_VAL); + tempList3.add(MISSING_VAL); + } else { + tempList3.add(comp1List.get(i + 2)); + tempList3.add(comp2List.get(i + 2)); + } + newList.set(sourceList.get(i + 2) % 100 - 1, tempList3); + count++; + } + + if (newList.get(2) == null || newList.get(2).isEmpty()) // newList.get(0)= + // [3281750, + // 2013-05-06 + // 00:00:00.0, + // 20829.85, + // -297.05] + newList.remove(2); + if (newList.get(1) == null || newList.get(1).isEmpty()) + newList.remove(1); + if (newList.get(0) == null || newList.get(0).isEmpty()) + newList.remove(0); + + // Now only check if comp2 (...get(2)) is MISSING_VAL. Could + // check both + if (newList.get(0).get(2) != null + && (Float) newList.get(0).get(2) != MISSING_VAL) { + bestList.add(newList.get(0)); + } else if (newList.size() > 1 + && (Float) newList.get(0).get(2) == MISSING_VAL + && i + 1 < size) { + // if date i = date(i+1) && comp1 (i+1) != missing + if ((Date) newList.get(0).get(1) == (Date) newList.get(1) + .get(1) + && newList.get(1).get(2) != null + && (Float) newList.get(1).get(2) != MISSING_VAL) { + bestList.add(newList.get(1)); + } else if (newList.size() > 2 + && (Float) newList.get(1).get(2) == MISSING_VAL + && i + 2 < size) { + if ((Date) newList.get(0).get(1) == (Date) newList.get( + 2).get(1) + && (Float) newList.get(2).get(2) != MISSING_VAL) { + bestList.add(newList.get(2)); + } else { + bestList.add(newList.get(0)); + } + } + } + } + } + + return bestList; + } + + /* + * fill time tag gaps, return fullBestList + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public List fillHDTimeGaps(List bestList) { + List fullBestList = new ArrayList(); + + // fill missing in the beginning + Date date = (Date) bestList.get(0).get(0); // bestList.get(i) eq. + // newList. + int min0 = date.getMinutes(); + + if (min0 != 0) { + for (int k = 0; k < min0; k++) { + List newList2 = new ArrayList(); // eq. newList + + Date dateNew = (Date) date.clone(); + dateNew.setMinutes(k); + + newList2.add(dateNew); + newList2.add(MISSING_VAL); + newList2.add(MISSING_VAL); + fullBestList.add(newList2); + + } + } + + // fill missing in the middle + for (int j = 0; j < bestList.size(); j++) { // i=0 first non missing + // data + + Date date0 = (Date) bestList.get(j).get(0);// dateList.get(i); + fullBestList.add(bestList.get(j)); + + if (j + 1 < bestList.size()) { + Date date1 = (Date) bestList.get(j + 1).get(0);// dateList.get(i+1); + int diffMin = (int) (date1.getTime() - date0.getTime()) + / (60 * 1000); + + if (diffMin != 1) { + for (int k = 0; k < diffMin - 1; k++) { + List newList2 = new ArrayList(); // eq. newList + + newList2.add(new Date(date0.getTime() + 60 * 1000 + * (k + 1))); + newList2.add(MISSING_VAL); + newList2.add(MISSING_VAL); + fullBestList.add(newList2); + + } + } + } + } + + // // fill missing in the end + // int latest = fullBestList.size(); + // if (latest < HOURS*MINUTES*HD_DATA_RANGE) { + // for (int k = latest; k < HOURS*MINUTES*HD_DATA_RANGE; k++) { + // List newList2 = new ArrayList(); + // Date d = (Date)fullBestList.get(0).get(latest-1); + // + // newList2.add(new Date(d.getTime() + 60*1000*(k+1))); + // newList2.add(MISSING_VAL); + // newList2.add(MISSING_VAL); + // fullBestList.add( newList2); + // } + // } + + return fullBestList; + } + + /* + * when uri time is 59 min past the hour, calculate the averages and write + * to geomat_houravg + */ + public void calcSimpleHourAvg(String[] dataURIs) throws StorageException { + + if (dao != null && dataURIs != null) { + for (String dataURI : dataURIs) { + String stationCode = CalcUtil.getStationFromUri(dataURI); + + Date time = null; + + try { + time = CalcUtil.getTimeFromUri(dataURI); + } catch (ParseException e) { + e.printStackTrace(); + } + + int min = time.getMinutes(); + + List dataList = null; + if (min == 59) + dataList = DatabaseUtil.retrieveUriForAvg(dao, dataURI, + time); + else + continue; + + if (dataList != null && dataList.size() != 0) { + List bestList = getBestObserv(dataList); + + float[] hrAvg = CalcEach3hr.getSimpleHourAvg(bestList); + + GeoMagAvg recAvg = new GeoMagAvg(); + + // look the avg table to see if the avg already exists + time.setMinutes(30); + List avgList = DatabaseUtil.retrieveSingleAvg( + dataURI, time); + + if (avgList != null && avgList.size() != 0) { + for (int i = 0; i < avgList.size(); i++) { // 1 + GeoMagAvg row = avgList.get(i); + List idList = new ArrayList(); + idList.add((Integer) row.getId()); + recAvg.setId((int) idList.get(0)); + + } + } + + recAvg.setAvgTime(time); + recAvg.setInsertTime(Calendar.getInstance().getTime()); + recAvg.setStationCode(stationCode); + recAvg.sethHrAvg(hrAvg[0]); + recAvg.setdHrAvg(hrAvg[1]); + + GeoMagAvgDao avgDao = new GeoMagAvgDao(); + avgDao.persist(recAvg); + + } + } + } + + } + + /* + * Write to geomag_k1min + */ + public void calcK(String[] dataURIs) { + + if (dataURIs != null) { + for (String dataURI : dataURIs) { + + String stationCode = CalcUtil.getStationFromUri(dataURI); + String source = CalcUtil.getSourceFromUri(dataURI); + + Date timeBy3 = null; + + try { + timeBy3 = CalcUtil.getTimeFromUri(dataURI); + } catch (ParseException e) { + e.printStackTrace(); + } + + int hour = timeBy3.getHours(); + int min = timeBy3.getMinutes(); + + /* + * Read average + */ + Date spTime = CalcUtil.getSPTime(timeBy3); + + List dataList = null; + + dataList = DatabaseUtil.retrieveUriBy3hr(dataURI, + CalcUtil.getSPTime(timeBy3)); + + // dataList size (avg) < 24, can't calculate dB[j] + if (dataList.size() <= HOURS) + continue; + + if (dataList != null && dataList.size() >= 5) { + List dateListFinal = new ArrayList(); + List hHrAvgListFinal = new ArrayList(); + List dHrAvgListFinal = new ArrayList(); + + DatabaseUtil.fillHrAvgTimeGaps(dataList, dateListFinal, + hHrAvgListFinal, dHrAvgListFinal, spTime); + + float[] hHrAvgs = CalcUtil.toFloatArray(hHrAvgListFinal); + float[] dHrAvgs = CalcUtil.toFloatArray(dHrAvgListFinal); + + float[] dB = CalcEach3hr.getDisturbanceLevel(hHrAvgs, + dHrAvgs); + + @SuppressWarnings("unchecked") + Map dBsmall = CalcEach3hr + .getSmallDisturbanceLevel(dB); + + float[] quietHHrAvg = CalcEach3hr.getQuietLevelHourAvg( + dBsmall, hHrAvgs); + float[] quietDHrAvg = CalcEach3hr.getQuietLevelHourAvg( + dBsmall, dHrAvgs); + + // added from FMIQDCRT11_3hr.pro + for (int k = 0; k < quietHHrAvg.length; k++) { + if (quietHHrAvg[k] == MISSING_VAL + || quietDHrAvg[k] == MISSING_VAL) { + quietHHrAvg[k] = CalcUtil.getMedian(quietHHrAvg); + quietDHrAvg[k] = CalcUtil.getMedian(quietDHrAvg); + } + } + + float[] qha = CalcEach3hr.getQHA(quietHHrAvg); + float[] qda = CalcEach3hr.getQHA(quietDHrAvg); + + float[] hQdc = CalcEach1min.getHarmonicFit(qha);// [1440] + float[] dQdc = CalcEach1min.getHarmonicFit(qda); + + float[] qhaQdc = CalcEach1min.getQHAQDC(hQdc);// [1440] + float[] qdaQdc = CalcEach1min.getQHAQDC(dQdc); + + /* + * Read H and D + */ + Map> kIndexMap = new HashMap>(); + + Date timeBy1 = null; + try { + timeBy1 = CalcUtil.getTimeFromUri(dataURI); + + } catch (ParseException e) { + e.printStackTrace(); + } + + Date epTime = CalcUtil.getEPTime(timeBy1); + int epHour = epTime.getHours(); + + /* + * change epTime to current time + */ + List hdDataList = DatabaseUtil.retrieveUriForK1min(dao, + dataURI, timeBy1); + + if (hdDataList != null && hdDataList.size() != 0) { + // if dataList <= 1440, can't calculate k-index + if (hdDataList.size() <= HOURS * MINUTES) + continue; + + // gest best observation data + List bestList = getBestObserv(hdDataList); + if (bestList.size() <= HOURS * MINUTES) + continue; + + List bestListFull = fillHDTimeGaps(bestList); + + // get hdata, ddata + float[] hdata = new float[HD_DATA_RANGE * HOURS + * MINUTES]; + float[] ddata = new float[HD_DATA_RANGE * HOURS + * MINUTES]; + + Arrays.fill(hdata, MISSING_VAL); + Arrays.fill(ddata, MISSING_VAL); + + for (int i = 0; i < bestListFull.size(); i++) { + List list = (List) bestListFull + .get(i); + if (list != null && !list.isEmpty()) { + hdata[i] = list.get(1); + ddata[i] = list.get(2); + } + } + + defLength = CalcEach3hr.getDefLength(stationCode, + epHour); + + float[] hhdata = CalcEach1min.fillGaps(hdata); + float[] dddata = CalcEach1min.fillGaps(ddata); + + int currTimeIndex = CalcEach1min.getCurrTimeIndex(hour, + min, epHour); + + hhdata = CalcEach1min.getExtrapolation(hhdata, qhaQdc, + currTimeIndex); + dddata = CalcEach1min.getExtrapolation(dddata, qdaQdc, + currTimeIndex); + + float[] hDev = CalcEach1min.getDev(hhdata, hQdc);// [1440] + float[] dDev = CalcEach1min.getDev(dddata, dQdc); + + // already considered missing in getDev + + int[] kLimit = CalcUtil.getKLimit(stationCode); + + int missingFlag = 0; + List kList = CalcEach1min.getKIndex(hDev, + dDev, kLimit, missingFlag);// [8] + + float[] kIndex = kList.get(0); + float[] gamma = kList.get(1); + + float[] kLength = CalcUtil.geKLength();// [8] + float[] fitLength = CalcEach1min.getFitLength( + defLength, kIndex, kLength);// [24] + + float[] hcA = CalcEach1min.getCentHourAvg(hhdata, + fitLength, kIndex);// middle [24] + float[] dcA = CalcEach1min.getCentHourAvg(dddata, + fitLength, kIndex); + + hcA = CalcEach1min.adjustHrCentAvg(hcA, qha, gamma, + kLimit); + dcA = CalcEach1min.adjustHrCentAvg(dcA, qda, gamma, + kLimit); + + // Harmonic Fit to derive the qdc + int foundMiss = 0; + for (int i = 0; i < hcA.length; i++) { + if (hcA[i] == MISSING_VAL) { + foundMiss = 1; + break; + } + } + if (foundMiss == 0) + hQdc = CalcEach1min.getHarmonicFit(hcA); + + foundMiss = 0; + for (int i = 0; i < dcA.length; i++) { + if (dcA[i] == MISSING_VAL) { + foundMiss = 1; + break; + } + } + if (foundMiss == 0) + dQdc = CalcEach1min.getHarmonicFit(dcA); + + /* + * Do a few iterations. check for convergence of k_index + * and exit loop Done before ITERATIONS if you see two + * passes with identical values for k_index + */ + float[] last_kindex = new float[8]; + Arrays.fill(last_kindex, -1); + + /* + * Check for convergence of k_index and exit loop before + * ITERATIONS are done if you see two passes with + * identical values for k_index + */ + for (int num = 0; num < ITERATIONS; num++) { + float kchange = 0; + hDev = CalcEach1min.getDev(hhdata, hQdc); + dDev = CalcEach1min.getDev(dddata, dQdc); + + kList = CalcEach1min.getKIndex(hDev, dDev, kLimit, + missingFlag); + kIndex = kList.get(0); + gamma = kList.get(1); + + // Check for convergence of k_index + if (kIndex.length == 8 && last_kindex.length == 8) + for (int i = 0; i < last_kindex.length; i++) { + kchange += Math.abs(kIndex[i] + - last_kindex[i]); + // System.out.println("**kchange "+ + // kIndex[i] +" " + // +last_kindex[i]+" "+(kIndex[i] + // -last_kindex[i])); + } + if (kchange == 0) + break; + + fitLength = CalcEach1min.getFitLength(defLength, + kIndex, kLength); + + hcA = CalcEach1min.getCentHourAvg(hhdata, + fitLength, kIndex); + dcA = CalcEach1min.getCentHourAvg(dddata, + fitLength, kIndex); + + hcA = CalcEach1min.adjustHrCentAvg(hcA, qha, gamma, + kLimit); + dcA = CalcEach1min.adjustHrCentAvg(dcA, qda, gamma, + kLimit); + + // Harmonic Fit to derive the qdc + foundMiss = 0; + for (int i = 0; i < hcA.length; i++) { + if (hcA[i] == MISSING_VAL) { + foundMiss = 1; + break; + } + } + if (foundMiss == 0) + hQdc = CalcEach1min.getHarmonicFit(hcA); + + foundMiss = 0; + for (int i = 0; i < dcA.length; i++) { + if (dcA[i] == MISSING_VAL) { + foundMiss = 1; + break; + } + } + if (foundMiss == 0) + dQdc = CalcEach1min.getHarmonicFit(dcA); + + last_kindex = kIndex.clone(); + } + + // Now do the calculation using the original data + // (hdata, ddata) + hDev = CalcEach1min.getDev(hdata, hQdc);// [1440] + dDev = CalcEach1min.getDev(ddata, dQdc); + + kList = CalcEach1min.getKIndex(hDev, dDev, kLimit, + missingFlag); + kIndex = kList.get(0); + gamma = kList.get(1); + + float[] hkIndex = kList.get(2); + float[] hGamma = kList.get(3); + float[] dkIndex = kList.get(4); + float[] dGamma = kList.get(5); + int lastHCount = 0; + int lastDCount = 0; + + for (int i = 2700; i < 2880; i++) { + if (hdata[i] != MISSING_VAL) + lastHCount++; + if (hdata[i] != MISSING_VAL) + lastDCount++; + } + + float[] count = new float[2]; + count[0] = lastHCount; + count[1] = lastDCount; + kList.add(6, count); + kIndexMap.put(stationCode + source, kList); + + // float[] kest = CalcKp.getKest(stationCode, + // kList.get(0), kList.get(1)); + + float ks = 0; + try { + ks = CalcKp.getKs(stationCode, (int) kIndex[7], + (Date) timeBy1.clone()); // 7 is last point + // kIndex + } catch (ParseException e) { + e.printStackTrace(); + } + + int a_est = CalcKp + .getAest(stationCode, (int) kIndex[7]); + + // 1 min + int kest_index = (int) kIndex[7]; + float kest_real = CalcKp.getKest(stationCode, + (int) kIndex[7], gamma[7]); + float kest_gamma = gamma[7]; + float hk_real = CalcKp.getKest(stationCode, + (int) hkIndex[7], hGamma[7]); + float hgamma = hGamma[7]; + float dk_real = CalcKp.getKest(stationCode, + (int) dkIndex[7], dGamma[7]); + float dgamma = dGamma[7]; + int hkindex = (int) hkIndex[7]; + int dkindex = (int) dkIndex[7]; + int countH = (int) count[0]; + int countD = (int) count[1]; + float ksArray = ks; + int aestArray = a_est; + + GeoMagK1min recK1min = new GeoMagK1min(); + + List k1minList = DatabaseUtil + .retrieveSingleK1min(dataURI, timeBy1); + + if (k1minList != null && k1minList.size() != 0) { + for (int i = 0; i < k1minList.size(); i++) { // 1 + GeoMagK1min row = k1minList.get(i); + + int id = (Integer) row.getId(); + if (id != 0) + recK1min.setId(id); + } + } + + recK1min.setRefTime(timeBy1); + recK1min.setLastUpdate(Calendar.getInstance().getTime()); + recK1min.setStationCode(stationCode); + recK1min.setKestIndex(kest_index); + recK1min.setKestReal(kest_real); + recK1min.setKestGamma(kest_gamma); + recK1min.setHkIndex(hkindex); + recK1min.setHkReal(hk_real); + recK1min.setHkGamma(hgamma); + recK1min.setDkIndex(dkindex); + recK1min.setDkReal(dk_real); + recK1min.setDkGamma(dgamma); + recK1min.setKs(ksArray); + recK1min.setAest(aestArray); + recK1min.sethCount(countH); + recK1min.setdCount(countD); + + GeoMagK1minDao k1minDao = new GeoMagK1minDao(); + k1minDao.persist(recK1min); + + calcK3h(dataURI, kest_index, kest_real, kest_gamma); + + } // end of for dataURI + } + } + } + } + + /* + * write to geomag_k3hr + */ + public void calcK3h(String dataURI, int kest_index, float kest_real, + float kest_gamma) { + List idDb = new ArrayList(); + List dateDb = new ArrayList(); + List kIndexDb = new ArrayList(); + List kGammaDb = new ArrayList(); + List kestIndexDb = new ArrayList(); + + int aRun = 0; + + String stationCode = CalcUtil.getStationFromUri(dataURI); + + Date currTime = null; + try { + currTime = CalcUtil.getTimeFromUri(dataURI); + } catch (ParseException e) { + e.printStackTrace(); + } + + int hour = currTime.getHours(); + int min = currTime.getMinutes(); + Date epTime = CalcUtil.getEPTime(currTime); + + GeoMagK3hr recK3hr = new GeoMagK3hr(); + + List k3hrList = DatabaseUtil.retrieveUriForK3hr(dataURI, + epTime); // epTime not in the list + + if (k3hrList != null && k3hrList.size() != 0) { + + for (int i = 0; i < k3hrList.size(); i++) { + + GeoMagK3hr row = (GeoMagK3hr) k3hrList.get(i); + + dateDb.add(row.getRefTime()); + idDb.add(row.getId()); + kIndexDb.add(row.getKIndex()); + kGammaDb.add(row.getKGamma()); + kestIndexDb.add(row.getKestIndex()); + + } + + DatabaseUtil.sort(dateDb, idDb, kIndexDb, kGammaDb, kestIndexDb); + + } + + List k3hrAtPoint = DatabaseUtil.retrieveSingleK3hr(dataURI, + epTime); + + if (k3hrAtPoint == null || k3hrAtPoint.size() == 0) { + + // calculate aRunning, aFinalRunning + // only need first 7 k + int sum = 0; + for (int k = 0; k < kestIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); + sum += a_est; + } + sum += CalcKp.getAest(stationCode, kest_index); + aRun = (int) sum / (kestIndexDb.size() + 1); + + recK3hr.setRefTime(epTime); + recK3hr.setLastUpdate(Calendar.getInstance().getTime()); + recK3hr.setStationCode(stationCode); + recK3hr.setKestIndex(kest_index); + recK3hr.setKestReal(kest_real); + recK3hr.setKestGamma(kest_gamma); + recK3hr.setARunning(aRun); + + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + k3hrDao.persist(recK3hr); + } + + else { + GeoMagK3hr row = (GeoMagK3hr) k3hrAtPoint.get(0); + int idCurr = row.getId(); + int kIndexCurr = row.getKIndex(); + float kGammaCurr = row.getKGamma(); + float kRealCurr = row.getKReal(); + int aFinalRunCurr = row.getAFinalRunning(); + int manualCurr = row.getIsManual(); + + if ((hour + 1) % 3 == 0 && (min + 1) % 60 == 0) { + + // calculate aFinalRunning, aFinalRunning + int sumEnd = 0; + for (int k = 0; k < kIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kIndexDb.get(k)); + sumEnd += a_est; + } + + if (manualCurr == 0) + sumEnd += CalcKp.getAest(stationCode, kest_index); + else + sumEnd += CalcKp.getAest(stationCode, kIndexCurr); + + int aFinalRun = (int) sumEnd / (kIndexDb.size() + 1); + + recK3hr.setAFinalRunning(aFinalRun); + recK3hr.setIsManual(manualCurr); + + if (manualCurr == 0) { + recK3hr.setKIndex(kest_index); + recK3hr.setKReal(kest_real); + recK3hr.setKGamma(kest_gamma); + } else { + + recK3hr.setKIndex(kIndexCurr); + recK3hr.setKReal(kRealCurr); + recK3hr.setKGamma(kGammaCurr); + } + + } else { + + recK3hr.setKIndex(kIndexCurr); + recK3hr.setKReal(kRealCurr); + recK3hr.setKGamma(kGammaCurr); + recK3hr.setAFinalRunning(aFinalRunCurr); + recK3hr.setIsManual(manualCurr); + } + + // calculate aRunning, aFinalRunning + // only need first 7 k + int sum = 0; + for (int k = 0; k < kestIndexDb.size(); k++) { + int a_est = CalcKp.getAest(stationCode, kestIndexDb.get(k)); + sum += a_est; + } + sum += CalcKp.getAest(stationCode, kest_index); + aRun = (int) sum / (kestIndexDb.size() + 1); + + if (idCurr != 0) + recK3hr.setId(idCurr); + recK3hr.setRefTime(epTime); + recK3hr.setLastUpdate(Calendar.getInstance().getTime()); + recK3hr.setStationCode(stationCode); + recK3hr.setKestIndex(kest_index); + recK3hr.setKestReal(kest_real); + recK3hr.setKestGamma(kest_gamma); + recK3hr.setARunning(aRun); + + GeoMagK3hrDao k3hrDao = new GeoMagK3hrDao(); + k3hrDao.persist(recK3hr); + } + + } } diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java deleted file mode 100644 index 4ab0a6d79e..0000000000 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach1min.java +++ /dev/null @@ -1,454 +0,0 @@ -package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/* - * The calculation of k, 1 minute related. - * - *
- * SOFTWARE HISTORY
- *                   
- * ate          Ticket#     Engineer   Description
- * -----------  ----------  ---------- --------------------------
- * 05/14/2013   #989        qzhou      Initial Creation
- * 
- * - * @author qzhou - * @version 1 - */ -public class CalcEach1min { - private static final float MISSING_VAL = 99999.99f; - private static final int MAX_GAP_LENGTH = 15; - private static final int SMOOTH_WINDOW = 60;// - private static final int TRANSITION_TIME = 60; - private static final int PHASE_POWER = 3; - private static final int HARM_ORDER = 5; - private static int HOURS = 24; - private static int MINUTES = 60; - /* - * @param dataIn -- data of 4320 - */ - public static float[] fillGaps(float[] dataIn){ - float[] data = dataIn.clone(); - int i = 0; - int size = data.length; - -// if (data.length != 4320 ) -// return data; - - while (i < size) { - - // Find the next missing value - int flag = 0; //flag used for break - while (i < size && flag == 0) { - if (data[i] == MISSING_VAL) - flag=1; - else - i++; - } - - // If a gap was found handle it - if (i < size) { - int gapIndex = i; //index of first missing value - - //Find the last missing point - flag = 0; - while (i < size && flag ==0) { - if (data[i] != MISSING_VAL) - flag=1; - else - i++; - } - - // Interpolate the gap if possible. We cannot extrapolate - if ((gapIndex > 0) && (i < size)) { - //Now i is the index of first non-missing value - // and GapIndex is the index of first missing value - int gapLength = i-gapIndex; //i is index of first non-missing value - - // Interpolate if the gap is small enough - if (gapLength < MAX_GAP_LENGTH) { - float value1 = data[gapIndex-1]; - float value2 = data[i]; - for (int j=1; j < gapLength+1; j++) - data[gapIndex++] = value1 + (j * (value2-value1)) / (gapLength+1); - } - } - } - } - - return data; - } - - /* - * 24 element floating point array. (DefLength + 30 + kLength) - * Find out how many points are used to get the centered hour average - */ - public static float[] getFitLength(float[] defLength, float[] kIndex, float[] kLength) { - float[] fitLength = new float[HOURS]; - int[] ind = new int[HOURS]; - float[] curK = new float[HOURS]; - - for (int i = 0; i < HOURS; i++) { - fitLength[i] = 30.0f + defLength[i]; - ind[i] = (int) Math.floor(i/3); - curK[i] = kIndex[ind[i]]; - - if (curK[i] != MISSING_VAL ) - fitLength[i] += kLength[(int)curK[i]]; - //System.out.println("***fitLength "+fitLength[i] +" "+curK[i]+" "+defLength[i]); - if (fitLength[i] >1440) - fitLength[i] = 1440; - } - - return fitLength; - } - - /* @param data (hhdata, dddata), float[4320] - * @return -- 24 element floating point array. Calculate averages centered on each hour of the day - */ - public static float[] getCentHourAvg(float[] data, float[] fitLength, float[] defLength) { - - float[] HrAvg = new float[HOURS]; //double - Arrays.fill(HrAvg, MISSING_VAL); - - for (int ihr = 0; ihr < HOURS; ihr++) { - // take middle interval - int center = 1440 + ihr * MINUTES + 30; - int start = center - Math.round(fitLength[ihr]); - int end = center + Math.round(fitLength[ihr]); - int missing = 0; - double sum = 0; - - // if data[i] have no missing value - for ( int i = start; i < end+1; i++) { - //System.out.print("**here2 "+data[i] +" "); - if (data[i] != MISSING_VAL) { - sum += data[i]; - } - else { - missing++; - break;//this loop - } - } - - if (missing == 0) // no missing value - HrAvg[ihr] = (float) sum /(end - start + 1); - } - - // if HrAvg have missing value - // Extrapolate the first missing points--missing beginning - int hr0 = 0; - int flag = 0; - while (hr0 < HOURS && flag == 0) { - if (HrAvg[hr0] != MISSING_VAL) - flag=1; - else { - hr0++; - //System.out.println("**here2"); - } - } - if (hr0 > 0 && hr0 < HOURS) - for (int i = 0; i < hr0; i++) - HrAvg[i] = HrAvg[hr0]; - - // Extrapolate the last missing points--missing end - int hr1 = 23; - while ((hr1 > hr0) && (HrAvg[hr1] == MISSING_VAL)) - hr1--; - if (hr1 < 23) - for (int i = hr1+1; i < HOURS; i++) - HrAvg[i] = HrAvg[hr1]; - - // Interpolate the missing points between hour0 and hour1 - // Both hour0 and hour1 are hours where data exists - while (hr0 < hr1) { - //System.out.println("**here4"); - do { - hr0++; - } while (hr0 < hr1 && HrAvg[hr0] != MISSING_VAL ); - - if (hr0 < hr1) { - int hr = hr0; //first missing hour - while ((hr0 < hr1) && (HrAvg[hr0] == MISSING_VAL)) - hr0++; - int gapLength = hr0-hr; - float value1 = HrAvg[hr-1];//not missing - float value2 = HrAvg[hr0]; //not missing - //System.out.println("***gapLength "+gapLength +" "+value1 +" "+value2); - for (int i=1; i < gapLength+1; i++) - HrAvg[hr++] = value1+(i*(value2-value1))/(gapLength+1); - } - } -// for (int i=0;i list = new ArrayList(); - - // Initialize the return data with MissingValue - float[] kIndex = new float[8]; - float[] hk = new float[8]; - float[] dk = new float[8]; - float[] gamma = new float[8]; - float[] hGamma = new float[8]; - float[] dGamma = new float[8]; - - Arrays.fill(kIndex, MISSING_VAL); - Arrays.fill(hk, MISSING_VAL); - Arrays.fill(dk, MISSING_VAL); - Arrays.fill(gamma, MISSING_VAL); - Arrays.fill(hGamma, MISSING_VAL); - Arrays.fill(dGamma, MISSING_VAL); - - - // Check for bad input data - int npts = hdev.length; - if (npts != ddev.length) - return list; - - if (npts < 1261 || npts > 1440) //21*60+1 - return list; - - // Step through each three hourly interval - for (int ipd=0; ipd < 8; ipd++) { - int istart = ipd * 180; - int iend = istart + 180 - 1; - if (iend >= npts) - iend = npts - 1 ; //allow for partial interval on the end - if (iend < istart) - continue ; //should never happen... - - // hhdev = hdev[istart:iend] - int i = 0; - int ii = 0; - int npdpts = iend - istart + 1 ; //number of possible points in the period, =180 - float[] hhdev = new float[npdpts]; - float[] dddev = new float[npdpts]; - - for (int j = istart; j < iend+1; j++) { - hhdev[j-istart] = hdev[j]; - dddev[j-istart] = ddev[j]; - } - - - // get hdevGood - for (i = npdpts-1; i >=0; i--) - if (hhdev[i] != MISSING_VAL && hhdev[i] != 0) - break; - //System.out.println("***iii "+i); - for (ii = npdpts-1; ii >=0; ii--) - if (dddev[ii] != MISSING_VAL && dddev[i] != 0) - break; - - - // i, ii are the last data that is not missing - float[] hdevGood = new float[i +1]; - float[] ddevGood = new float[ii+1]; - if (i >-1) - for (int j = 0; j < i+1; j++) - hdevGood[j] = hhdev[j]; - if (ii > -1) - for (int j = 0; j < ii+1; j++) - ddevGood[j] = dddev[j]; - - if ( missingFlag == 0 || (i > -1 && ii > -1)) { - if (hdevGood != null && hdevGood.length != 0) - hGamma[ipd] = CalcUtil.maxValue(hdevGood) - CalcUtil.minValue(hdevGood); - if (ddevGood != null && ddevGood.length != 0) - dGamma[ipd] = CalcUtil.maxValue(ddevGood) - CalcUtil.minValue(ddevGood); - - - if (hGamma[ipd] != MISSING_VAL) - hk[ipd] = CalcUtil.getKfromTable(kLimit, hGamma[ipd]); - - if (dGamma[ipd] != MISSING_VAL) - dk[ipd] = CalcUtil.getKfromTable(kLimit, dGamma[ipd]); - - // get bigger one - if (hk[ipd] >= dk[ipd] && hGamma[ipd] != MISSING_VAL) { - kIndex[ipd] = hk[ipd]; - gamma[ipd] = hGamma[ipd]; - } - else if (dk[ipd] >= hk[ipd] && dGamma[ipd] != MISSING_VAL){ - kIndex[ipd] = dk[ipd]; - gamma[ipd] = dGamma[ipd]; - } - - } - } - - list.add(0, kIndex); - list.add(1, gamma); - list.add(2, hk); - list.add(3, hGamma); - list.add(4, dk); - list.add(5, dGamma); - - return list; - } - - /* - * Force QHAQDC and QDAQDC to be continuous between the last and the first value using a +/- SMOOTH_WINDOW - */ - public static float[] getQHAQDC(float[] qdc){ - float[] data = qdc.clone(); //new float[1440]; - - if (qdc.length != 1440) - return data; - - float jump = qdc[0] - qdc[1439]; - - for (int i = 0; i < SMOOTH_WINDOW; i++) { - data[1440-SMOOTH_WINDOW-i] += i/(SMOOTH_WINDOW-1) * 0.5 * jump; - data[i] -= (1 - i/(SMOOTH_WINDOW-1)) * 0.5 * jump; - } - - return data; - } - - /* - * find index in hhdata that indicates current time - * currTimeIndex = first 1440 minutes + prev day minutes + curr day minutes - */ - public static int getCurrTimeIndex(int hour, int min, int epHour) { - - if (epHour == 0) - epHour = 24; - - int currTimeIndex = HOURS*MINUTES + (HOURS-epHour) * MINUTES - + hour * MINUTES + min; - //System.out.println("***index "+currTimeIndex+ " "+cal.get(Calendar.MINUTE)+" "+cal.get(Calendar.HOUR_OF_DAY)); - - return currTimeIndex; - } - - /* - * - */ - public static float[] getExtrapolation(float[] dataIn, float[] qhaQdc, int currTimeIndex){ //4320 - float[] data = dataIn.clone(); - int j0 = currTimeIndex;//Last good H or D index - - if (data.length != 4320 || qhaQdc.length != 1440) - return data; - - if (data[j0] != MISSING_VAL) { - for (int j = j0 +1; j < 4320; j++) { - int w2 = j - j0 -1; //from .pro - int w1 = TRANSITION_TIME - w2; - - if (w1 < 0) - w1 = 0; - //System.out.println("**qhaQdc "+qhaQdc[j % 1440]); - data[j] = (w1 * data[j0] + w2 * qhaQdc[j % 1440]) / (w1 + w2); - } - } - - return data; - } - - public static float[] getDev(float[] data, float[] qdc){ - float[] dev = new float[1440]; - - if (data.length != 4320 || qdc.length != 1440) - return dev; - - - for (int i = 0; i < 1440; i++) { - //System.out.print("***data-qdc "+i+" " +data[i+1440] +" "+qdc[i] +" "); - if (data[i+1440] != MISSING_VAL && qdc[i] != MISSING_VAL) - dev[i] = data[i+1440] - qdc[i]; - else - dev[i] = MISSING_VAL; - } - - return dev; - } - - public static float[] adjustHrCentAvg(float[] hcAIn, float [] qha, float[] gamma, int[] kLimit){ - float[] hcA = hcAIn.clone(); - float wh = 0; - - if (hcA.length != HOURS || gamma.length != 8) - return hcA; - - for (int ipd = 0; ipd < 8; ipd++) { - if (gamma[ipd] < kLimit[4]) - wh = 1; - else if (gamma[ipd] >= kLimit[4] && gamma[ipd] < kLimit[6]) - wh = (float) Math.pow( ((kLimit[6] - gamma[ipd]) /(kLimit[6] - kLimit[4])), PHASE_POWER); - else - wh = 0; - - for (int j = 0; j < 3; j++) { - hcA[ipd*3+j] = wh * hcA[ipd*3+j] + (1-wh) * qha[ipd*3+j];//? - //System.out.println("***WH "+wh+" "+hcA[ipd*3+j]); - } - } - - return hcA; - } -} - diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java deleted file mode 100644 index 9e8be980ee..0000000000 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcEach3hr.java +++ /dev/null @@ -1,335 +0,0 @@ -package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/* - * The calculation of k, 3 hour related. - * - *
- * SOFTWARE HISTORY
- *                   
- * ate          Ticket#     Engineer   Description
- * -----------  ----------  ---------- --------------------------
- * 05/14/2013   #989        qzhou      Initial Creation
- * 
- * - * @author qzhou - * @version 1 - */ -public class CalcEach3hr { - private static final float MISSING_VAL = 99999.99f; - private static final int NIGHT_LENGTH = 90; //min - private static final int DAWN_LENGTH = 60; - private static final int DAY_LENGTH = 0; - private static final int DUSK_LENGTH = 60; - private static int DAYS = 30; - private static int HOURS = 24; - private static int MINUTES = 60; - - - /* - * calculate hrAvgs for this hour - * @param bestList -- contains 1 hour data - */ - public static float[] getSimpleHourAvg(List bestList){ - float[] simpHrAvg = new float[2]; - float simpHrAvg1 = 0; - float simpHrAvg2 = 0; - double sum1 = 0; - double sum2 = 0; - int rec1 = 0; - int rec2 = 0; - - for (int i = 0; i < bestList.size(); i++) { - - List list = (List) bestList.get(i); - - float comp1 = (Float)list.get(1); - float comp2 = (Float)list.get(2); - - if ( comp1 != MISSING_VAL) { - sum1 += comp1; - rec1++; - } - if ( comp2 != MISSING_VAL) { - sum2 += comp2; - rec2++; - } - } - - if (rec1 > 30) // less than half missing value - simpHrAvg1 = (float) sum1 / rec1; - else - simpHrAvg1 = MISSING_VAL; - - if (rec2 > 30) // less than half missing value - simpHrAvg2 = (float) sum2 / rec2; - else - simpHrAvg2 = MISSING_VAL; - - simpHrAvg[0] = simpHrAvg1; - simpHrAvg[1] = simpHrAvg2; - - return simpHrAvg; - } - - /* - * calculate hrAvgs for this day. - * @param data -- data of one day, 1440 - */ - public static float[] getSimpleHourAvg(float[] data){ //data 1440 - - float[] simpHrAvg = new float[HOURS]; - - for (int ihr = 0; ihr < HOURS; ihr++) { - double sum = 0; - int missing = 0; - - for ( int i = ihr*MINUTES; i < ihr*MINUTES+MINUTES; i++) { - - if (data[i] != MISSING_VAL) - sum += data[i]; - else - missing++; - } - - if (missing < 30) // less than half missing value - simpHrAvg[ihr] = (float) sum / (MINUTES-missing); - else - simpHrAvg[ihr] = MISSING_VAL; - } - - return simpHrAvg; - } - - /* - * calculate hrAvgs for this hour in data array - * @param data -- data of one day, 1440 - */ - public static float getSimpleHourAvg(float[] data, int hour){ //one day 1440, avg for hour-1 - - float simpHrAvg = 0; - double sum = 0; - int rec = 0; - - if (data.length <= hour*MINUTES+MINUTES) - for (int i = hour*MINUTES; i < data.length; i++) { - if ( data[i] != MISSING_VAL) { - sum += data[i]; - rec++; - } - } - else - for (int i = hour*MINUTES; i < hour*MINUTES+MINUTES; i++) { - if ( data[i] != MISSING_VAL) { - sum += data[i]; - rec++; - } - } - - if (rec > 30) // less than half missing value - simpHrAvg = (float) sum / (rec); - else - simpHrAvg = MISSING_VAL; - - return simpHrAvg; - } - - /* - * @param simpHrAvgH -- data of 30 intervals(720 hours) - * @return disturbance levels for 30 intervals - */ - public static float[] getDisturbanceLevel(float[] simpHrAvgH, float[] simpHrAvgD){ - float[] dB = new float[30]; - - for (int j = 0; j < DAYS; j++) { - double sum = 0; - int missing = 0; - - int endOfArray = simpHrAvgH.length; - int endTime = (endOfArray > j*HOURS+HOURS) ? j*HOURS+HOURS :endOfArray; - - for ( int i = j*HOURS; i < endTime-1; i++) { - - if (simpHrAvgH[i] != MISSING_VAL && simpHrAvgD[i] != MISSING_VAL && - simpHrAvgH[i+1] != MISSING_VAL && simpHrAvgD[i+1] != MISSING_VAL ) { - sum += Math.sqrt( Math.pow((simpHrAvgH[i+1] - simpHrAvgH[i]), 2) - + Math.pow((simpHrAvgD[i+1] - simpHrAvgD[i]), 2) ); - } - else - missing++; - } - - if (missing <= 12) // not 12 or more missing - dB[j] = (float) sum / (HOURS-1-missing); - else - dB[j] = MISSING_VAL; - - } - - return dB; - } - - /* - * @param dB -- float[30 ] - * @return --5 smallest disturbance levels - */ - public static Map getSmallDisturbanceLevel(float[] dB){ - //create a map that key=dBIndex and value=dBValue. - //create a duplicate array dBDup. Sort it. - //take 5 smallest dBDup[i]. Then find its index and value from the dB. Put them to the map - Map dBSmall = new HashMap(); - - float[] dBDup = new float[dB.length]; - for (int i = 0; i < dBDup.length; i++) { - dBDup[i] = dB[i]; - } - - Arrays.sort(dBDup); - - float dupIndex = (int)MISSING_VAL ; - float wk = 0; - //take 5 smallest dBDup - for (int j = 0; j < 5; j++) { - for (int i = 0; i < dB.length; i++) { - if (dB[i] == dBDup[j] && i != dupIndex) { //for duplicated values - //System.out.println("***dBDup[j] "+dBDup[j] +" "+wk+" "+i +" "+j); - dBSmall.put(i, dB[i]); - dupIndex = i; - break; - } - } - } - - - return dBSmall; - } - - - /* - * @param -- dBSmall, 5 set map - * @param -- simpHrAvg, -- float[720] - * @rturn -- quietLevelHourAvg, float[24] - */ - public static float[] getQuietLevelHourAvg(Map dBSmall, float[] simpHrAvg){ - if (dBSmall.entrySet().size() < 5) - return simpHrAvg; - - float[] quietHrAvg = new float[24]; - Arrays.fill(quietHrAvg, MISSING_VAL); - int[] index = new int [5]; - float[] dB = new float[5]; - - int k = 0; - Iterator iter = dBSmall.entrySet().iterator(); - while (iter.hasNext()) { - @SuppressWarnings("unchecked") - Map.Entry mEntry = (Map.Entry) iter.next(); //sorted on key - - index[k] = mEntry.getKey(); - dB[k] = mEntry.getValue(); - - k++; - } - - - //construct smallHrAvg array (24*5) from simpHrAvg (24*30) - float[] smallHrAvg = new float[24*5]; - - for (int j = 0; j < 5; j++) { //k=5 - int endOfArray = smallHrAvg.length; - int endTime = (endOfArray > j*HOURS+HOURS) ? j*HOURS+HOURS :endOfArray; - - for (int i = j*HOURS; i < endTime; i++) { - smallHrAvg[i] = simpHrAvg[ index[j]*HOURS + i%HOURS ]; //700 - } - } - - - for (int ihr = 0; ihr < HOURS; ihr++) { - float sumAvg = 0; - float sumWk = 0; - float wk = 0; - - for (int jk = 0; jk < 5; jk++) { - int ind = jk*HOURS+ihr; - if (dB[jk] < 1) - wk = 1; - else - wk = 1 / (dB[jk] *dB[jk]); - - if (smallHrAvg[ind] != MISSING_VAL){ - sumAvg += wk * smallHrAvg[ind]; - sumWk += wk; - } - } - - if (sumWk >0) - quietHrAvg[ihr] = sumAvg / sumWk; - - } - - return quietHrAvg; - } - - /* - * @param -- quietHrAvg, float[24] - * @return -- shifted quietLevelHourAvg, float[24] - */ - public static float[] getQHA(float[] quietHrAvg){ - float[] QHA = new float[24]; - - if (quietHrAvg.length != 24) - return quietHrAvg; - - for (int ihr = 0; ihr < 24; ihr++) { - QHA[ihr] = quietHrAvg[ (ihr+3) %24 ]; - } - - return QHA; - } - - - /* - * @return -- 24 element floating point array. Default fitting lengths. - * (one for each hour of the 24 hour interval that ends at EPtime). - */ - public static float[] getDefLength(String station, int epHour) { - float[] defLength = new float[24]; - float lon = CalcUtil.getLongitude(station); - int UTdiff = Math.round(1440.0f * lon / 360.0f); - int minute0 = epHour * MINUTES; - - for (int ihr = 0; ihr < HOURS; ihr++) { - float sum = 0; - - for (int imin = 0; imin < MINUTES; imin++) { - int curMin = (minute0 + ihr*MINUTES + imin) % 1440; - int localMin = (curMin + UTdiff) % 1440; - - if (localMin >= 0 && localMin < 180) - sum += NIGHT_LENGTH; - else if (localMin >= 180 && localMin < 360) - sum += DAWN_LENGTH; - else if (localMin >= 360 && localMin < 1080) - sum += DAY_LENGTH; - else if (localMin >= 1080 && localMin < 1260) - sum += DUSK_LENGTH; - else if (localMin >= 1260 && localMin < 1440) - sum += NIGHT_LENGTH; - } - - defLength[ihr] = sum / MINUTES; - - } - - return defLength; - } - -} - - diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java deleted file mode 100644 index 088831cdda..0000000000 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcKp.java +++ /dev/null @@ -1,443 +0,0 @@ -package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; - -import gov.noaa.nws.ncep.common.dataplugin.geomag.table.KsThree; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/* - * The calculation of Kp and related. - * - *
- * SOFTWARE HISTORY
- *                   
- * ate          Ticket#     Engineer   Description
- * -----------  ----------  ---------- --------------------------
- * 05/14/2013   #989        qzhou      Initial Creation
- * 
- * - * @author qzhou - * @version 1 - */ -public class CalcKp { - private static final float MISSING_VAL = 99999.99f; - - public CalcKp() { - - } - - public static float[] getKest(String station, float[] kIndex, float[] gamma) { - float[] kest = new float[8]; - - for (int i=0; i<8; i++) { - int[] gammaLimit = CalcUtil.getKLimit(station); //.getGammaFromK(station, gamma); - if (kIndex[i] < 9) { - kest[i] = kIndex[i] + (gamma[i] - gammaLimit[(int)kIndex[i]]) / (gammaLimit[(int)kIndex[i]+1] - gammaLimit[(int)kIndex[i]]);} - else if (kIndex[i] == MISSING_VAL) - kest[i] = MISSING_VAL; - else - kest[i] = 9.0f; - //System.out.println("**kest "+kest[i] +" "+kIndex[i]+" "+gamma[i]); - } - - return kest; - } - - public static float getKest(String station, int kIndex, float gamma) { - float kest = 0; - - int[] gammaLimit = CalcUtil.getKLimit(station); - if (kIndex < 9) - kest = kIndex + (gamma - gammaLimit[kIndex])/(gammaLimit[kIndex+1] - gammaLimit[kIndex]); - else if (kIndex == MISSING_VAL) - kest = MISSING_VAL; - else - kest = 9.0f; -// System.out.println("****kest "+kest +" "+kIndex); - - return kest; - } -// public static float getKest(String station,int[] kLimit, float gamma) { -// float kest = 0; -// int kIndex = CalcUtil.getKfromTable(kLimit, gamma); -// -// int gammaLimit = CalcUtil.getGammaFromK(station, kIndex+1); //kLimit[kIndex]; //getGammaLimit( station, kIndex); -// int gammaLimit1 = CalcUtil.getGammaFromK(station, kIndex+1); //kLimit[kIndex+1]; //getKLimit( station, kIndex+1);; -// -// if (gammaLimit1 > gammaLimit) -// kest = kIndex + (gamma - gammaLimit) / (gammaLimit1 - gammaLimit); -// -// return kest; -// } -// protected float[] getKest(String station, float[] gamma) { -// float kest = 0; -// int kIndex[] = CalcUtil.getKfromTable(station, gamma); -// -// int gammaLimit = CalcUtil.getGammaFromK(station, kIndex+1); //kLimit[kIndex]; //getGammaLimit( station, kIndex); -// int gammaLimit1 = CalcUtil.getGammaFromK(station, kIndex+1); //kLimit[kIndex+1]; //getKLimit( station, kIndex+1);; -// -// if (gammaLimit1 > gammaLimit) -// kest = kIndex + (gamma - gammaLimit) / (gammaLimit1 - gammaLimit); -// -// return kest; -// } - /* - * list of the station coefficient values in the order of 00-03, 03-06... - */ - public static ArrayList getKsThreeList(String station) { - - ArrayList threeKsList = CalcUtil.getStationCoeff().getStationByCode(station).getKsThree();//size 24 - - return threeKsList; - } - - public static List getKsThree(Date time, String station, int k) { - List ks = new ArrayList();; - //KsThree ksThree = null; - ArrayList ksThreeList = getKsThreeList(station); - - if (ksThreeList != null && !ksThreeList.isEmpty()) { - - int hour = CalcUtil.getSPTime(time).getHours(); - int period = hour/3;// 24 -> 8 - - KsThree ksThree = ksThreeList.get(period); - //System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); - if (ksThree != null) - ks.add(getKsOfKsThree(k, ksThree)); - - ksThree = ksThreeList.get(period + 8); - //System.out.println("**kss "+ksThree.getK1()+" "+ksThree.getK2()+" "+ksThree.getK3()+" "+ksThree.getK5()+" "+ksThree.getK6()+" "+getKsOfKsThree(k, ksThree)); - if (ksThree != null) - ks.add(getKsOfKsThree(k, ksThree)); - - ksThree = ksThreeList.get(period + 16); - if (ksThree != null) - ks.add(getKsOfKsThree(k, ksThree)); - -// ksThree = ksThreeList.get(period); -// if (ksThree != null) -// ks.add(getKsOfKsThree(k, ksThree)); -// -// if (mon == 1 || mon == 2 || mon == 11 || mon == 12) { -// ksThree = ksThreeList.get(hour/3 -1); -// ks = getKsOfKsThree(k, ksThree); -// } -// else if (mon == 3 || mon == 4 || mon == 9 || mon == 10) { -// ksThree = ksThreeList.get(8 + hour/3 -1); -// ks = getKsOfKsThree(k, ksThree); -// } -// else if (mon >= 5 && mon <= 8) { -// ksThree = ksThreeList.get(16 + hour/3 -1); -// ks = getKsOfKsThree(k, ksThree); -// } - } -// for (int i = 0; i < threeKs.size(); i++) { -// String season = threeKs.get(i).getSeason(); -// String period = threeKs.get(i).getPeriod(); -// int k1 = threeKs.get(i).getK1(); -// int k2 = threeKs.get(i).getK2(); -// int k3 = threeKs.get(i).getK3(); -// int k4 = threeKs.get(i).getK4(); -// int k5 = threeKs.get(i).getK5(); -// int k6 = threeKs.get(i).getK6(); -// int k7 = threeKs.get(i).getK7(); -// int k8 = threeKs.get(i).getK8(); -// int k9 = threeKs.get(i).getK9(); -// int k10 = threeKs.get(i).getK10(); -// System.out.println("**k1 k2 "+season+" "+period+" "+k1+" "+k2); -// } - return ks; - } - - private static int getKsOfKsThree(int k, KsThree ksThree) { - int ks = 0; - - if (k == 0) - ks = ksThree.getK0(); - else if (k == 1) - ks = ksThree.getK1(); - else if (k == 2) - ks = ksThree.getK2(); - else if (k == 3) - ks = ksThree.getK3(); - else if (k == 4) - ks = ksThree.getK4(); - else if (k == 5) - ks = ksThree.getK5(); - else if (k == 6) - ks = ksThree.getK6(); - else if (k == 7) - ks = ksThree.getK7(); - else if (k == 8) - ks = ksThree.getK8(); - else if (k == 9) - ks = ksThree.getK9(); - return ks; - } - - public static float getKs(String station, int k, Date time) throws ParseException { - float a = 0; - float b = 0; - float ks = 0; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - - //int year = time.getYear();113 - Calendar cal = Calendar.getInstance(); - cal.setTime(time); - int year = cal.get(Calendar.YEAR); - - Date date1 = sdf.parse(year+"-01-01"); - Date date2 = sdf.parse(year+"-02-14"); - Date date3 = sdf.parse(year+"-02-24"); - Date date4 = sdf.parse(year+"-03-06"); - Date date5 = sdf.parse(year+"-03-16"); - Date date6 = sdf.parse(year+"-04-16"); - Date date7 = sdf.parse(year+"-04-26"); - Date date8 = sdf.parse(year+"-05-06"); - Date date9 = sdf.parse(year+"-05-16"); - Date date10 = sdf.parse(year+"-08-17"); - Date date11 = sdf.parse(year+"-08-27"); - Date date12 = sdf.parse(year+"-09-06"); - Date date13 = sdf.parse(year+"-09-16"); - Date date14 = sdf.parse(year+"-10-17"); - Date date15 = sdf.parse(year+"-10-27"); - Date date16 = sdf.parse(year+"-11-06"); - Date date17 = sdf.parse(year+"-11-16"); - Date date18 = sdf.parse(year+"-12-31"); - - Date date2Leep = sdf.parse(year+"-02-15"); - Date date3Leep = sdf.parse(year+"-02-25"); - - List ksThree = getKsThree(time, station, k ); - - if(time.compareTo(date1) >= 0 && time.compareTo(date2) < 0){ - ks = (float) ksThree.get(0) /3; - } - else if (time.compareTo(date4) >= 0 && time.compareTo(date5) < 0){ - ks = (float)(0.25f*ksThree.get(0) + 0.75f*ksThree.get(1)) /3; - } - else if (time.compareTo(date5) >= 0 && time.compareTo(date6) < 0){ - ks = (float)ksThree.get(1) /3; - } - else if (time.compareTo(date6) >= 0 && time.compareTo(date7) < 0){ - ks = (float) (0.75f*ksThree.get(1) + 0.25f*ksThree.get(2)) /3; - } - else if (time.compareTo(date7) >= 0 && time.compareTo(date8) < 0){ - ks = (float) (0.5f*ksThree.get(1) + 0.5f*ksThree.get(2)) /3; - } - else if (time.compareTo(date8) >= 0 && time.compareTo(date9) < 0){ - ks = (float) (0.25f*ksThree.get(1) + 0.75f*ksThree.get(2)) /3; - } - else if (time.compareTo(date9) >= 0 && time.compareTo(date10) < 0){ - ks = (float) ksThree.get(2) /3; - } - else if (time.compareTo(date10) >= 0 && time.compareTo(date11) < 0){ - ks = (float) (0.75f*ksThree.get(2) + 0.25f*ksThree.get(1)) /3; - } - else if (time.compareTo(date11) >= 0 && time.compareTo(date12) < 0){ - ks = (float) (0.5f*ksThree.get(2) + 0.5f*ksThree.get(1)) /3; - } - else if (time.compareTo(date12) >= 0 && time.compareTo(date13) < 0){ - ks = (float) (0.25f*ksThree.get(2) + 0.75f*ksThree.get(1)) /3; - } - else if (time.compareTo(date13) >= 0 && time.compareTo(date14) < 0){ - ks = (float) ksThree.get(1) /3; - } - else if (time.compareTo(date14) >= 0 && time.compareTo(date15) < 0){ - ks = (float) (0.75f*ksThree.get(1) + 0.25f*ksThree.get(0)) /3; - } - else if (time.compareTo(date15) >= 0 && time.compareTo(date16) < 0){ - ks = (float) (0.5f*ksThree.get(1) + 0.5f*ksThree.get(0)) /3; - } - else if (time.compareTo(date16) >= 0 && time.compareTo(date17) < 0){ - ks = (float) (0.25f*ksThree.get(1) + 0.75f*ksThree.get(0)) /3; - } - else if (time.compareTo(date17) >= 0 && time.compareTo(date18) <= 0){ - ks = (float) ksThree.get(0) /3; - } - else if (CalcUtil.isLeapYear(year)) { - if(time.compareTo(date2Leep) >= 0 && time.compareTo(date3Leep) < 0){ - ks = (float) (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; - } - else if(time.compareTo(date3Leep) >= 0 && time.compareTo(date4) < 0){ - ks = (float) (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; - } - } - else { - if(time.compareTo(date2) >= 0 && time.compareTo(date3) < 0){ - ks = (float) (0.75f*ksThree.get(0) + 0.25f*ksThree.get(1)) /3; - } - else if(time.compareTo(date3) >= 0 && time.compareTo(date4) < 0){ - ks = (float) (0.5f*ksThree.get(0) + 0.5f*ksThree.get(1)) /3; - } - } - - return ks; - } - -// protected float[] getKs(String station, float[] kest) { -// float a = 0; -// float b = 0; -// float[] ks = new float[8]; -// -// Map abCoeff = CalcUtil.getCoeffAandB(station); -// if (abCoeff.size() != 8) -// return ks; -// -// int i = 0; -// Iterator iter = abCoeff.entrySet().iterator(); -// while (iter.hasNext()) { -// @SuppressWarnings("unchecked") -// Map.Entry mEntry = (Map.Entry) iter.next(); -// -// a = mEntry.getKey(); -// b = mEntry.getValue(); -// ks[i] = a + b * kest[i]; -// i++; -// } -// -// return ks; -// } - - public static float getKs(String station, float kest, String timePrd) { - float a = 0; - float b = 0; - float ks = 0; - - Map abCoeff = CalcUtil.getCoeffAandB(station); - if (abCoeff.size() != 8) - return ks; - - int j = 0; - if (timePrd.equalsIgnoreCase("00-03")) - j = 0; - else if (timePrd.equalsIgnoreCase("03-06")) - j = 1; - else if (timePrd.equalsIgnoreCase("06-09")) - j = 2; - else if (timePrd.equalsIgnoreCase("09-12")) - j = 3; - else if (timePrd.equalsIgnoreCase("12-15")) - j = 4; - else if (timePrd.equalsIgnoreCase("15-18")) - j = 5; - else if (timePrd.equalsIgnoreCase("18-21")) - j = 6; - else if (timePrd.equalsIgnoreCase("21-24")) - j = 7; - - int i = 0; - Iterator iter = abCoeff.entrySet().iterator(); - while (iter.hasNext()) { - @SuppressWarnings("unchecked") - Map.Entry mEntry = (Map.Entry) iter.next(); - - if (i == j) { - a = mEntry.getKey(); - b = mEntry.getValue(); - ks = a + b * kest; - break; - } - i++; - } - return ks; - } - public static int getAest(String station, int kIndex) { - return CalcUtil.getK2a(kIndex); - } - - @SuppressWarnings("unchecked") - public static float[] getKpEst(String[] station, float[] ks ) { - float kpEst[] = new float[ks.length]; - float[][] wcoeff = new float[station.length][ks.length]; - - if (ks.length != 8) - return kpEst; - - for (int i = 0; i < station.length; i++) { - Map coeff = CalcUtil.getCoeffW(station[i]); - int j = 0; - - Iterator iter = coeff.entrySet().iterator(); - while (iter.hasNext()) { - wcoeff[i][j] = ((Map.Entry) iter.next()).getValue(); - j++; - } - } - - float sumW = 0; - float sumWK = 0; - - for (int j = 0; j < ks.length; j++) { - for (int i = 0; i < station.length; i++) { - sumW += wcoeff[i][j]; - sumWK += wcoeff[i][j] * ks[i]; - } - //kpEst[i] = (float) (Math.round(3 * sumWK / sumW)) / 3; - kpEst[j] = sumWK / sumW; - kpEst[j] = (int)kpEst[j] + CalcUtil.getThird(kpEst[j]); - } - - return kpEst; - } - @SuppressWarnings("unchecked") - public static float getKpEst(String[] station, float ks, String fitTime ) { - float kpEst = 0; - float[] wcoeff = new float[8]; - - for (int i = 0; i < station.length; i++) { - Map coeff = CalcUtil.getCoeffW(station[i]); - int j = 0; - Iterator iter = coeff.entrySet().iterator(); - while (iter.hasNext()) { - if (((Map.Entry) iter.next()).getKey().equalsIgnoreCase(fitTime)) { - wcoeff[i] = ((Map.Entry) iter.next()).getValue(); - break; - } - j++; - } - } - - float sumW = 0; - float sumWK = 0; - - - for (int i = 0; i < station.length; i++) { - sumW += wcoeff[i]; - sumWK += wcoeff[i] * ks; - } - - kpEst = sumWK / sumW; - kpEst = (int)kpEst + CalcUtil.getThird(kpEst); - - return kpEst; - } - - public static String[] getKp(float kpEst[], String[] kpModifier ) { - String[] kp = new String[kpEst.length]; - if (kpEst.length != kpModifier.length) - return kp; - - for (int i = 0; i < kpEst.length; i++) { - int k = Math.round(kpEst[i]); - kp[i] = k + kpModifier[i]; - } - - return kp; - } - - public static String getKp(float kpEst, String kpModifier ) { - int kp = Math.round(kpEst); - - return kp + kpModifier; - } -} - diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java deleted file mode 100644 index c3ee0b897f..0000000000 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/calculation/CalcUtil.java +++ /dev/null @@ -1,715 +0,0 @@ -package gov.noaa.nws.ncep.edex.plugin.geomag.calculation; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import gov.noaa.nws.ncep.common.dataplugin.geomag.table.KFitTime; -import gov.noaa.nws.ncep.common.dataplugin.geomag.table.KsThree; -import gov.noaa.nws.ncep.common.dataplugin.geomag.util.KStationCoefficientLookup; - -/* - * The k index and decoder calculation utility. - * - *
- * SOFTWARE HISTORY
- *                   
- * ate          Ticket#     Engineer   Description
- * -----------  ----------  ---------- --------------------------
- * 05/14/2013   #989        qzhou      Initial Creation
- * 
- * - * @author qzhou - * @version 1 - */ - -public class CalcUtil { - private static final float MISSING_VAL = 99999.99f; - private static final float K_EXPONENT = 3.3f; - private static KStationCoefficientLookup stationCoeff = KStationCoefficientLookup.getInstance(); - -// public static enum Stations { BOU,FRD,FRN,NEW,SIT,HAD,CL2,CNB,OTT,MEA,NGK,WNG} -// BOU(500, 254.76f), -// CL2(500, 2.261f), -// CNB(450, 149.36f), -// FRD(500, 282.63f), -// FRN(350, 240.28f), -// HAD(500, 355.517f), -// NEW(700, 242.88f), -// SIT(1000, 224.67f), -// CMO(2500, 212.14f); -// -// private final int k9Limit; -// private final float longitude; -// private Stations (int k9Limit, float longitude) { -// this.k9Limit = k9Limit; -// this.longitude = longitude; -// } -// } - - // Gamma limit table - private static enum Limit { - K0(0), - K1(5), - K2(10), - K3(20), - K4(40), - K5(70), - K6(120), - K7(200), - K8(330), - K9(500); - - private final int kConst; - private Limit (int kConst) { - this.kConst = kConst; - } - } - -// public static String getStations() { -// return Stations; -// } - - public static int getKConst(int k) { - int kConst = 0; - if (k == 0) - kConst = Limit.K0.kConst; - else if (k == 1) - kConst = Limit.K1.kConst; - else if (k == 2) - kConst = Limit.K2.kConst; - else if (k == 3) - kConst = Limit.K3.kConst; - else if (k == 4) - kConst = Limit.K4.kConst; - else if (k == 5) - kConst = Limit.K5.kConst; - else if (k == 6) - kConst = Limit.K6.kConst; - else if (k == 7) - kConst = Limit.K7.kConst; - else if (k == 8) - kConst = Limit.K8.kConst; - else if (k == 9) - kConst = Limit.K9.kConst; - - return kConst; - } - - // A-index table - private static enum K2a { - a0(0), - a1(3), - a2(7), - a3(15), - a4(27), - a5(48), - a6(80), - a7(140), - a8(240), - a9(400); - - private final int a; - private K2a (int a) { - this.a = a; - } - } - - public static int getK2a(int k) { - int a = 0; - if (k == 0) - a = K2a.a0.a; - else if (k == 1) - a = K2a.a1.a; - else if (k == 2) - a = K2a.a2.a; - else if (k == 3) - a = K2a.a3.a; - else if (k == 4) - a = K2a.a4.a; - else if (k == 5) - a = K2a.a5.a; - else if (k == 6) - a = K2a.a6.a; - else if (k == 7) - a = K2a.a7.a; - else if (k == 8) - a = K2a.a8.a; - else if (k == 9) - a = K2a.a9.a; - - return a; - } - - public static KStationCoefficientLookup getStationCoeff() { - return stationCoeff; - } - - public static int getK9Limit(String station) throws NumberFormatException { - int k9 = 0; - - String k9Limit = getStationCoeff().getStationByCode(station).getK9Limit(); - k9 = Integer.parseInt(k9Limit); - - return k9; - } - - public static float getLongitude(String station) throws NumberFormatException { - float lon = 0; - if (station != null && !station.equalsIgnoreCase("")) { - String longitude = getStationCoeff().getStationByCode(station).getLongitude(); - lon = Float.parseFloat(longitude); - } - return lon; - } - - - /* - * map of the A and the B values in the order of 00-03, 03-06... - */ - public static Map getCoeffAandB(String station) { - Map abCoeff = new HashMap(); - - List fitTime = getStationCoeff().getStationByCode(station).getKFitTime(); - if (fitTime.size() != 8) - return abCoeff; - - for (int i = 0; i < 8; i++) { - float a = fitTime.get(i).getCoeffA(); - float b = fitTime.get(i).getCoeffB(); - abCoeff.put(a, b); - } -// KStationCoefficientLookup look = KStationCoefficientLookup.getInstance(); -// Map stationMap = look.getStationsByCodeMap(); -// int size = 1+31; -// stations = new ArrayList();//String[]: station, uri0, ...uri31 -// for (Map.Entry entry : stationMap.entrySet()) { -// List astation = new ArrayList(); -// astation.add( entry.getKey()); -// stations.add(astation); -//// System.out.println("***entry "+ entry.getKey()); -// } - return abCoeff; - } - - /* - * map of the time period and the W values in the order of 00-03, 03-06... - */ - public static Map getCoeffW(String station) { - Map wCoeff = new HashMap(); - - List fitTime = getStationCoeff().getStationByCode(station).getKFitTime(); - if (fitTime.size() != 8) - return wCoeff; - - for (int i = 0; i < 8; i++) { - String a = fitTime.get(i).getKey(); - float b = fitTime.get(i).getCoeffW(); - wCoeff.put(a, b); - } - - return wCoeff; - } - -// public static int getK9Limit(String station) { -// int k9Limit = 0; -// if (station.equalsIgnoreCase(Stations.BOU.toString())) -// k9Limit = Stations.BOU.k9Limit; -// else if (station.equalsIgnoreCase(Stations.CL2.toString())) -// k9Limit = Stations.CL2.k9Limit; -// else if (station.equalsIgnoreCase(Stations.CNB.toString())) -// k9Limit = Stations.CNB.k9Limit; -// else if (station.equalsIgnoreCase(Stations.FRD.toString())) -// k9Limit = Stations.FRD.k9Limit; -// else if (station.equalsIgnoreCase(Stations.FRN.toString())) -// k9Limit = Stations.FRN.k9Limit; -// else if (station.equalsIgnoreCase(Stations.HAD.toString())) -// k9Limit = Stations.HAD.k9Limit; -// else if (station.equalsIgnoreCase(Stations.NEW.toString())) -// k9Limit = Stations.NEW.k9Limit; -// else if (station.equalsIgnoreCase(Stations.SIT.toString())) -// k9Limit = Stations.SIT.k9Limit; -// else if (station.equalsIgnoreCase(Stations.CMO.toString())) -// k9Limit = Stations.CMO.k9Limit; -// -// return k9Limit; -// } -// -// public static float getLongitude(String station) { -// float longitude = 0; -// if (station.equalsIgnoreCase(Stations.BOU.toString())) -// longitude = Stations.BOU.longitude; -// else if (station.equalsIgnoreCase(Stations.CL2.toString())) -// longitude = Stations.CL2.longitude; -// else if (station.equalsIgnoreCase(Stations.CNB.toString())) -// longitude = Stations.CNB.longitude; -// else if (station.equalsIgnoreCase(Stations.FRD.toString())) -// longitude = Stations.FRD.longitude; -// else if (station.equalsIgnoreCase(Stations.FRN.toString())) -// longitude = Stations.FRN.longitude; -// else if (station.equalsIgnoreCase(Stations.HAD.toString())) -// longitude = Stations.HAD.longitude; -// else if (station.equalsIgnoreCase(Stations.NEW.toString())) -// longitude = Stations.NEW.longitude; -// else if (station.equalsIgnoreCase(Stations.SIT.toString())) -// longitude = Stations.SIT.longitude; -// else if (station.equalsIgnoreCase(Stations.CMO.toString())) -// longitude = Stations.CMO.longitude; -// -// return longitude; -// } - - public static int[] getKLimit(String station) { - int[] kLimit = new int[10]; - int k9Limit = getK9Limit(station); - for (int i = 0; i < kLimit.length; i++) { - kLimit[i] = Math.round( k9Limit * getKConst(i) /500); - } - return kLimit; - } - -// public static int[] getAIndex(String station, float[] k-index) { -// int[] aIndex = new int[10]; -// //int k9Limit = getK9Limit(station); -// for (int i = 0; i < kLimit.length; i++) { -// aIndex[i] = Math.round( getK2a(i)); -// } -// return aIndex; -// } - - public static int getKfromTable(int[] kLimit, float gamma) { - int kIndex; - //int[] kLimit = getKLimit(station); - - int i = 0; - for ( i = 0; i < 10; i++) { - if (gamma > kLimit[i]) - continue; - else - break; - } - - //take the lower of i. this step eq. K_limit = K9limit * [5, 10, 20, 40... - if (i > 0) - i = i-1; - - if (i <= 9) - kIndex = i; - else - kIndex = 9; - - return kIndex; - } - - public static int getGammaFromK(String station, int kIndex) { - int gamma = getK9Limit(station) * getKConst(kIndex) / 500; - - return gamma; - } -// // assume db time format yyyy-mm-dd hh:mm:ss -// public static int getYear(String time) { -// int year = 0; -// -// String t = time.substring(0, 4); -// try { -// year = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// -// return year; -// } -// -// public static int getMonth(String time) { -// int month = 0; -// -// String t = time.substring(5, 7); -// try { -// month = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// return month; -// } -// -// public static int getDay(String time) { -// int day = 0; -// -// String t = time.substring(8, 10); -// try { -// day = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// return day; -// } -// -// public static int getHour(String time) { -// int hr = 0; -// -// String t = time.substring(11, 13); -// try { -// hr = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// return hr; -// } -// -// public static int getMin(String time) { -// int min = 0; -// -// String t = time.substring(14, 16); -// try { -// min = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// return min; -// } -// -// public static int getSecond(String time) { -// int ss = 0; -// -// String t = time.substring(17); -// try { -// ss = Integer.parseInt(t); -// } catch (NumberFormatException e) { -// e.printStackTrace(); -// } -// return ss; -// } - - // assume db time format yyyy-mm-dd hh:mm:ss - public static Date getSPTime(Date currTime ){ - Date spTime = currTime; - - int hour = currTime.getHours(); - - if (hour >= 0 && hour < 3) - hour = 0; - else if (hour >= 3 && hour < 6) - hour = 3; - else if (hour >= 6 && hour < 9) - hour = 6; - else if (hour >= 9 && hour < 12) - hour = 9; - else if (hour >= 12 && hour < 15) - hour = 12; - else if (hour >= 15 && hour < 18) - hour = 15; - else if (hour >= 18 && hour < 21) - hour = 18; - else if (hour >= 21 && hour < 24) - hour = 21; - - spTime.setHours(hour); - spTime.setMinutes(0); - spTime.setSeconds(0); -// spTime = String.valueOf(currTime.getYear()) + "-" + -// String.valueOf(currTime.getMonth()) + "-" + -// String.valueOf(currTime.getDay()) + " " + -// hour + ":" + "00:00.0"; - - return spTime; - } - public static Date getEPTime(Date currTime ){ - Date epTime = (Date)currTime.clone(); - - int hour = currTime.getHours(); - if (hour >= 0 && hour < 3) - hour = 3; - else if (hour >= 3 && hour < 6) - hour = 6; - else if (hour >= 6 && hour < 9) - hour = 9; - else if (hour >= 9 && hour < 12) - hour = 12; - else if (hour >= 12 && hour < 15) - hour = 15; - else if (hour >= 15 && hour < 18) - hour = 18; - else if (hour >= 18 && hour < 21) - hour = 21; - else if (hour >= 21 && hour < 24) - hour = 0; - - if (hour != 0) - epTime.setHours(hour); - else { - int day = currTime.getDate() +1; - epTime.setDate(day); - epTime.setHours(hour); - } - - epTime.setMinutes(0); - epTime.setSeconds(0); - - return epTime; - } - public static boolean isHalfMissing(float[] items) { - boolean halfMissaing = false; - - int i = 0; - for (i = 0; i < items.length; i++) { - if (items[i] == MISSING_VAL) - i++; - } - if (i > items.length/2) - halfMissaing = true; - - return halfMissaing; - } - - public static float getThird(float kpEst) { - float half = 0.333333f/2; - float x = kpEst - (int) kpEst; //get decimal fraction - - if (x >= 0 && x <= half) - x = 0; - else if (x >= half && x <= 2*half) - x = 0.333333f; - else if (x >= 2*half && x <= 3*half) - x = 0.333333f; - else if (x >= 3*half && x <= 4*half) - x = 0.666666f; - else if (x >= 4*half && x <= 5*half) - x = 0.666666f; - else if (x >= 5*half && x <= 6*half) - x = 1; - - return x; - } - - public static float maxValue(float[] dev) { - float max = -99999; - for (int i = 0; i < dev.length; i++) { - if (dev[i] > max && dev[i] < MISSING_VAL) { - max = dev[i]; - } - } - return max; - } - - public static float minValue(float[] dev) { - float min = 99999; - for (int i = 0; i < dev.length; i++) { - if (dev[i] < min && dev[i] > -MISSING_VAL) { - min = dev[i]; - } - } - return min; - } - - /* - * 10 element floating point array - */ - public static float[] geKLength() { - float[] kLength = new float[10]; - - kLength[0] = 0; - for (int i = 1; i < 10; i++) { - kLength[i] = (float) Math.exp( K_EXPONENT * Math.log(i)); - if (kLength[i] > 1080) - kLength[i] = 1080; - } - - return kLength; - } - - // uri: /geomag/2013-05-20_00:00:00.0/HAD/101/GEOMAG - public static String getSourceFromUri(String uri) { - if (uri != null && uri.length() >= 37) - return uri.substring(34, 37); - else - return ""; - } - - public static String getStationFromUri(String uri) { - if (uri != null && uri.length() >= 37) - return uri.substring(30, 33); - else - return ""; - } - - public static Date getTimeFromUri(String uri) throws ParseException { - String format = "yyyy-MM-dd'_'HH:mm:ss.s"; - SimpleDateFormat sdf = new SimpleDateFormat(format); - - if (uri != null && uri.length() >= 37) { - String time = uri.substring(8, 29); - Date date = sdf.parse(time); - return date; - } - else - return new Date(); - } - - // get the front part before the source in the uri - public static String separateSourceFrontUri(String uri) { - if (uri != null && uri.length() >= 37) - return uri.substring(0, 34); - else - return ""; - } - - public static float[] toFloatArray(List list) { - float[] ret = new float[list.size()]; - int i = 0; - for (Float e : list) - ret[i++] = e.floatValue(); - return ret; - } - public static int[] toIntArray(List list) { - int[] ret = new int[list.size()]; - int i = 0; - for (Integer e : list) - ret[i++] = e.intValue(); - return ret; - } - - public static boolean isLeapYear(int year) { - boolean isLeap; - - if (year/400 ==0) - isLeap = true; - else if (year/100 == 0) - isLeap = false; - else if (year/4 == 0) - isLeap = true; - else - isLeap = false; - - return isLeap; - } - -// public static String getMonthDayFromNumber(int year, int number) { //CL22013041.min -// String temp = ""; -// String month = ""; -// String day = ""; -// String monthDay = ""; -// Boolean isLeapYear = isLeapYear( year); -// int[] days = {31,28,31,30,31,30,31,31,30,31,30,31}; -// int[] leapDays = {31,29,31,30,31,30,31,31,30,31,30,31}; -// Calendar cal = Calendar.getInstance(); -// cal.get(Calendar.DAY_OF_MONTH); -// cal.get(Calendar.MONTH); -// cal.get(Calendar.DAY_OF_YEAR); -// cal.set(Calendar.DAY_OF_YEAR, number); -// int[] num = -// if (isLeapYear) { -// -// } -// else { -// -// } -// if (number<=31){ //JEJ, m130212.txt -// month = "01"; -// day = String.valueOf(number); -// } -// else if (number > 31 && number <= 59){ -// month = "02"; -// day = String.valueOf(number-31); -// } -// else if (number > 31 && number <= 59){ -// month = "03"; -// day = String.valueOf(number-31); -// } -// else if (fileName.startsWith("ha")){ CNB,NGK, WNG -// temp = fileName.substring(3, 10); -// year = temp.substring(0, 4); -// } -// -// return monthDay; -// } - - public static String getTimeFromFileName(String fileName) { //CL22013041.min - String time = ""; - String temp = ""; - String year = ""; - String month = ""; - String day = ""; - String num = ""; - - Calendar cal = Calendar.getInstance(); - - if (fileName.startsWith("m")){ //JEJ, m130212.txt - temp = fileName.substring(1, 7); - year = "20"+temp.substring(4, 6); - month = temp.substring(2, 4); - day = temp.substring(0, 2); - } - else if (fileName.startsWith("ha")){ - temp = fileName.substring(2, 9); - year = temp.substring(3, 7); - num = temp.substring(0, 3); - try { - cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(num)); - } catch (NumberFormatException e) { - - } - month = String.valueOf(cal.get(Calendar.MONTH)); - day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); - } - else if (fileName.startsWith("BOU") || fileName.startsWith("CL2") || fileName.startsWith("CMO") - || fileName.startsWith("OTT") || fileName.startsWith("MEA")) { - temp = fileName.substring(3, 10); - year = temp.substring(0, 4); - num = temp.substring(4, 7); - - try { - cal.set(Calendar.DAY_OF_YEAR, Integer.parseInt(num)); - } catch (NumberFormatException e) { - - } - month = String.valueOf(cal.get(Calendar.MONTH) +1); - day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); - } - else if (fileName.startsWith("ha") || fileName.startsWith("CNB") - || fileName.startsWith("OTT") || fileName.startsWith("WNG")) { - temp = fileName.substring(3, 10); - year = temp.substring(0, 4); - month = temp.substring(4, 6); - day = temp.substring(6, 8); - } - - if (month.length() == 1) - month = "0"+ month; - if (day.length() == 1) - day = "0" + day; - time = year + "-" + month + "-" + day; - return time; - } - - public static float getMedian(float[] array) { - float median = 0; - if (array.length <= 1) - return array[0]; - - float[] arraySort = array.clone(); - Arrays.sort(arraySort); - - // remove missing data - List newArray = new ArrayList(); - for ( int k = 0; k < arraySort.length-1; k++ ) - if (arraySort[k] != MISSING_VAL) - newArray.add(arraySort[k]); - else - break; //to sorted arraySort - - int size = newArray.size(); - if (size/2 == 0) - median = (newArray.get(size/2) + newArray.get(size/2 -1) ) / 2; - else - median = newArray.get((size-1)/2); - - return median; - } -} - diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveHrAvgRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveHrAvgRequestHandler.java new file mode 100644 index 0000000000..7879797c8f --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveHrAvgRequestHandler.java @@ -0,0 +1,58 @@ +package gov.noaa.nws.ncep.edex.plugin.geomag.handler; + +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagAvg; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagAvgDao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.request.RetrieveHrAvgRequest; + +import java.util.List; +import java.util.logging.Logger; + +import com.raytheon.uf.common.serialization.comm.IRequestHandler; + +/** + * + * Handler for RetrieveHrAvgRequest. Retrieves the GeoMagAvg for the given + * datauri + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * 2014/02/12   #1110      qzhou       Init
+ * 
+ * 
+ * + * @author qzhou + * @version 1.0 + */ +public class RetrieveHrAvgRequestHandler implements + IRequestHandler { + + private static Logger logger = Logger + .getLogger(RetrieveHrAvgRequestHandler.class.toString()); + + private GeoMagAvgDao dao; + + @Override + public Object handleRequest(RetrieveHrAvgRequest request) throws Exception { + List resultsList = null; + logger.info("RetrieveHrAvgRequest for " + request.getStationCode()); + + try { + dao = new GeoMagAvgDao(); // PluginFactory.getInstance().getPluginDao(GeoMag); + + resultsList = dao.getAvgForStation(request.getStationCode(), + request.getStartTime(), request.getEndTime()); + + // logger.info("resultsList.size() " + request.getStationCode()); + + } catch (Exception e) { + logger.warning("Error retrieving hourly average record for " + + request.getStationCode()); + } + + return resultsList; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveK1minRequestHandler.java b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveK1minRequestHandler.java new file mode 100644 index 0000000000..12190bce7c --- /dev/null +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/src/gov/noaa/nws/ncep/edex/plugin/geomag/handler/RetrieveK1minRequestHandler.java @@ -0,0 +1,56 @@ +package gov.noaa.nws.ncep.edex.plugin.geomag.handler; + +import gov.noaa.nws.ncep.common.dataplugin.geomag.GeoMagK1min; +import gov.noaa.nws.ncep.common.dataplugin.geomag.dao.GeoMagK1minDao; +import gov.noaa.nws.ncep.common.dataplugin.geomag.request.RetrieveK1minRequest; + +import java.util.List; +import java.util.logging.Logger; + +import com.raytheon.uf.common.serialization.comm.IRequestHandler; + +/** + * + * Handler for RetrieveKiminRequest. Retrieves the GeoMagK1min for the given + * datauri + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * 2014/02/12   #1110      qzhou       Init
+ * 
+ * 
+ * + * @author qzhou + * @version 1.0 + */ +public class RetrieveK1minRequestHandler implements + IRequestHandler { + + private static Logger logger = Logger + .getLogger(RetrieveK1minRequestHandler.class.toString()); + + private GeoMagK1minDao dao; + + @Override + public Object handleRequest(RetrieveK1minRequest request) throws Exception { + List resultsList = null; + logger.info("RetrieveK1minRequest for " + request.getStationCode()); + + try { + dao = new GeoMagK1minDao(); + + resultsList = dao.getRangeK1min(request.getStationCode(), + request.getStartTime(), request.getEndTime()); + + } catch (Exception e) { + logger.warning("Error retrieving K1min record for " + + request.getStationCode()); + } + + return resultsList; + } +} diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml index ebe800b2e3..c85755e9ac 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.geomag/utility/common_static/base/purge/geomagPurgeRules.xml @@ -1,6 +1,6 @@ - 30-00:00:00 + 60-00:00:00 diff --git a/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/src/gov/noaa/nws/ncep/edex/plugin/solarimage/SolarImageDecoder.java b/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/src/gov/noaa/nws/ncep/edex/plugin/solarimage/SolarImageDecoder.java index f006244bc0..d3a83ec4e0 100644 --- a/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/src/gov/noaa/nws/ncep/edex/plugin/solarimage/SolarImageDecoder.java +++ b/ncep/gov.noaa.nws.ncep.edex.plugin.solarimage/src/gov/noaa/nws/ncep/edex/plugin/solarimage/SolarImageDecoder.java @@ -30,6 +30,7 @@ import com.raytheon.uf.common.time.DataTime; * default "NA". Add "Site" for Halpha. * Jan 28, 2013 865 qzhou Changed float to double for intTime. * Aug 30, 2013 2298 rjpeter Make getPluginName abstract + * Mar 18, 2014 qzhou Modified getObservationTime(BasicHDU). * * * @author qzhou, sgurung @@ -98,7 +99,6 @@ public class SolarImageDecoder extends AbstractDecoder { } } catch (FitsException e) { - // TODO Auto-generated catch block. Please revise as appropriate. logger.error(e); // return new PluginDataObject[0]; } @@ -193,11 +193,15 @@ public class SolarImageDecoder extends AbstractDecoder { } } - if ((dateObs != null) && (dateObs.length() <= 10)) { // LASCO - // dateObs=Date - // +Time + // LASCO dateObs = Date + Time + if ((dateObs != null) && (dateObs.length() <= 10)) { SimpleDateFormat sdfAlt = new SimpleDateFormat(DATE_TIME_FORMAT_ALT); - dateObs = dateObs + "T" + hdu.getTrimmedString("TIME-OBS"); + + String time = hdu.getTrimmedString("TIME-OBS"); // 12:00:00.000 + if (time.length() == 8) // 12:00:00 + time = time + ".000"; + + dateObs = dateObs + "T" + time; return sdfAlt.parse(dateObs); } diff --git a/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/localization/ncep/styleRules/solarImageryStyleRules.xml b/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/localization/ncep/styleRules/solarImageryStyleRules.xml index 85e57fe010..88f003471e 100644 --- a/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/localization/ncep/styleRules/solarImageryStyleRules.xml +++ b/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/localization/ncep/styleRules/solarImageryStyleRules.xml @@ -768,12 +768,12 @@ - 400 - 16000 + -300 + 300 SolarImage/Gray - 2000 6000 10000 14000 + -200 -100 0 100 200 @@ -784,16 +784,15 @@ - 400 - 16000 + -600 + 600 SolarImage/Gray - 2000 6000 10000 14000 + -400 -200 0 200 400 - + - SECCHI diff --git a/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/src/gov/noaa/nws/ncep/viz/rsc/solarimage/wcs/WCSConverter.java b/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/src/gov/noaa/nws/ncep/viz/rsc/solarimage/wcs/WCSConverter.java index 438a4690d4..41fc9eabab 100644 --- a/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/src/gov/noaa/nws/ncep/viz/rsc/solarimage/wcs/WCSConverter.java +++ b/ncep/gov.noaa.nws.ncep.viz.rsc.solarimage/src/gov/noaa/nws/ncep/viz/rsc/solarimage/wcs/WCSConverter.java @@ -23,6 +23,7 @@ import nom.tam.util.BufferedDataInputStream; * 01/07/2014 1046 qzhou Fixed imagefunction rotation problem. Added constructor for cylindrical. * Fixed imageToWorld and worldToImage reverse problem. * Added WorldToImageSamp method for sampling + * 03/19/2014 qzhou Fixed some Lasco image located at left bottom corner * * * @author q.zhou @@ -95,11 +96,15 @@ public class WCSConverter { for (int n = 0; n < dim; n++) { String ij = Integer.toString(n + 1); - crpix[n] = header.getDoubleValue("CRPIX" + ij, 0.0); // if null, 0.0 + crpix[n] = header.getDoubleValue("CRPIX" + ij, 0.0); cdelt[n] = header.getDoubleValue("CDELT" + ij, 1.0); crval[n] = header.getDoubleValue("CRVAL" + ij, 0.0); crota[n] = header.getDoubleValue("CROTA" + ij, 0.0); naxis[n] = header.getDoubleValue("NAXIS" + ij, 0.0); + + if (Math.abs(naxis[n] - crpix[n]) / naxis[n] < 0.2) + crpix[n] = naxis[n] / 2; + } for (int m = 0; m < dim; m++) { From 55e76af0401591a92d663e983eabecc3f7ca3bc4 Mon Sep 17 00:00:00 2001 From: Stephen Gilbert Date: Thu, 15 May 2014 16:06:54 -0400 Subject: [PATCH 03/35] VLab Issue #3721 - NCEP CAVE plugin delivery for 14.3.1 Localization/configuration file updates Change-Id: I489d8228f17534234cd8ea20e10a137a17bad054 Former-commit-id: 3095f74c8059d637d95cdbf15501b7ef31ddb026 --- .../BigNsharp/Sndglib/basics_old.h | 45 - .../icons/solidln.gif | Bin 0 -> 83 bytes .../localization/ncep/pgen/contoursInfo.xml | 58 +- .../localization/ncep/pgen/outlooktype.xml | 2 +- .../localization/ncep/pgen/productTypes.xml | 1 + .../localization/ncep/pgen/settings_tbl.xml | 2 +- .../pgen/settings_tbl_Surface_Analysis.xml | 2 +- .../ncep/pgen/xslt/prod/f000.xslt | 44 +- .../ncep/pgen/xslt/prod/f000_hires.xslt | 65 + .../ncep/pgen/xslt/prod/getSfcHighsLows.xslt | 139 + .../ncep/pgen/xslt/prod/wrapSfcText.xslt | 153 + .../localization/ncep/pgen/xslt/prod/wxd.xslt | 200 +- .../localization/ncep/pgen/xslt/prod/wxd0.xlt | 78 - .../ncep/pgen/xslt/watchbox/wrapText.xlt | 4 +- .../gempakGridParmeterUnits.xml | 6 + .../1000-470mb_rh_rs_t_700mb_vv.attr | 3 +- .../1000_850mb_thkn_misc.attr | 24 + .../700mb_rh_rs_temp_global.attr | 30 + .../850mb_thtae_adv_cnvr_divr_nam.attr | 27 + .../ModelFcstGridContours/GFS-qpf.xml | 2 +- .../ModelFcstGridContours/GFS-standard.xml | 2 +- .../HYSPLIT-standard.xml | 6 + .../ModelFcstGridContours/NAM-qpf.xml | 2 +- .../ModelFcstGridContours/NAM-standard.xml | 2 +- .../bl_h2o_conv_ncf_global.attr | 1 + .../epv_zerocontour_850_750_650_stnd.attr | 20 + .../fgen_slope_stnd.attr | 20 + .../freezing_lines_stnd.attr | 21 + .../hud_hvyqpf_stnd.attr | 20 + .../mmsl_bl_temp_f_wind_ruc.attr | 26 + .../pmsl_bl_temp_f_wind_ruc.attr | 26 + .../potvort_300_200mb_ncf_global.attr | 22 + .../potvort_400_200mb_ncf_global.attr | 22 + .../potvort_400_250mb_ncf_global.attr | 22 + .../potvort_500_250mb_ncf_global.attr | 22 + .../potvort_500_300mb_ncf_global.attr | 22 + .../ModelFcstGridContours/precip_6hr_mm.attr | 29 + .../ModelFcstGridContours/volcash_comp.attr | 20 + .../volcash_high_lvl.attr | 22 + .../volcash_low_lvl.attr | 22 + .../volcash_mid_lvl.attr | 22 + .../z0_zlevelsnorh_stnd.attr | 20 + .../PlotParameters/plotParameters_sfcobs.xml | 20 +- .../ResourceDefns/GRID/HYSPLIT/HYSPLIT.xml | 20 + .../ncep/ResourceDefns/MISC/QSCT/QSCT.xml | 20 - .../ncep/ResourceDefns/MISC/QSCT/ambig1.attr | 24 - .../ncep/ResourceDefns/MISC/QSCT/ambig2.attr | 24 - .../ncep/ResourceDefns/MISC/QSCT/ambig3.attr | 24 - .../ncep/ResourceDefns/MISC/QSCT/ambig4.attr | 24 - .../ncep/ResourceDefns/MISC/QSCT/default.attr | 24 - .../ResourceDefns/MISC/QSCT/default_hi.attr | 24 - .../ncep/ResourceDefns/ResourceFilters.xml | 3 + .../ncep/ResourceDefns/SURFACE/PAFM/PAFM.xml | 10 +- .../localization/ncep/basemaps/snap.lpi | 42887 ++++++++-------- 54 files changed, 22645 insertions(+), 21735 deletions(-) delete mode 100644 ncep/gov.noaa.nws.ncep.ui.nsharp/BigNsharp/Sndglib/basics_old.h create mode 100644 ncep/gov.noaa.nws.ncep.ui.pgen/icons/solidln.gif create mode 100644 ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/xslt/prod/f000_hires.xslt create mode 100644 ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/xslt/prod/getSfcHighsLows.xslt create mode 100644 ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/xslt/prod/wrapSfcText.xslt delete mode 100644 ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/xslt/prod/wxd0.xlt create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/1000_850mb_thkn_misc.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/700mb_rh_rs_temp_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/850mb_thtae_adv_cnvr_divr_nam.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/HYSPLIT-standard.xml create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/epv_zerocontour_850_750_650_stnd.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/fgen_slope_stnd.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/freezing_lines_stnd.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/hud_hvyqpf_stnd.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/mmsl_bl_temp_f_wind_ruc.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/pmsl_bl_temp_f_wind_ruc.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_300_200mb_ncf_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400_200mb_ncf_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_400_250mb_ncf_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_500_250mb_ncf_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/potvort_500_300mb_ncf_global.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/precip_6hr_mm.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/volcash_comp.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/volcash_high_lvl.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/volcash_low_lvl.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/volcash_mid_lvl.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/AttributeSetGroups/ModelFcstGridContours/z0_zlevelsnorh_stnd.attr create mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/GRID/HYSPLIT/HYSPLIT.xml delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/QSCT.xml delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/ambig1.attr delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/ambig2.attr delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/ambig3.attr delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/ambig4.attr delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/default.attr delete mode 100644 ncep/gov.noaa.nws.ncep.viz.localization/localization/ncep/ResourceDefns/MISC/QSCT/default_hi.attr diff --git a/ncep/gov.noaa.nws.ncep.ui.nsharp/BigNsharp/Sndglib/basics_old.h b/ncep/gov.noaa.nws.ncep.ui.nsharp/BigNsharp/Sndglib/basics_old.h deleted file mode 100644 index 94a402044f..0000000000 --- a/ncep/gov.noaa.nws.ncep.ui.nsharp/BigNsharp/Sndglib/basics_old.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef _BASICS_H -#define _BASICS_H - -/* Constants defining interpolation type */ -#define I_PRES 0 -#define I_HGHT 1 - -#define ABOVE 1 -#define BELOW 0 - -/* BASICS Function Prototypes */ - -/* General interpolation functions */ -float i_var(char *var, float level, short itype); -float interp_gen(float valueabove, float valuebelow, float level, - float levelabove, float levelbelow, short itype); -short getlevelindex(short parmIndex, float level, short direction, short itype); - -float i_temp(float pres, short itype); -float i_dwpt(float pres, short itype); -float i_hght(float pres, short itype); -float i_vtmp(float pres, short itype); -float i_wdir(float pres, short itype); -float i_wspd(float pres, short itype); -float i_wndu(float pres, short itype); -float i_wndv(float pres, short itype); -float i_pres(float hght); -float i_omeg(float pres, short itype); -short sfc(void); -float top_pres(void); -short qc(float value); -char *qc2(float value, char *label, short prec); -float ftom(float value); -float mtof(float value); -float ftoc(float value); -float ctof(float value); -float agl(float height); -float msl(float height); -float kt_to_mps(float spd); -char *itoa(int value, char *st, int radx); -void xtnd_sndg(void); -void interp_sndg(void); -void check_data(); - -#endif /* _BASICS_H */ diff --git a/ncep/gov.noaa.nws.ncep.ui.pgen/icons/solidln.gif b/ncep/gov.noaa.nws.ncep.ui.pgen/icons/solidln.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a92a8c104b3e26fedf7f021fc1f52b29c64d570 GIT binary patch literal 83 zcmZ?wbhEHblwgoxXkcLY|NlP&1B2o}LFb~>#FEq$h4Rdj3 @@ -89,6 +89,8 @@ If none of them is set to "true", "FILLED_HIGH_PRESSURE_H" and "FILLED_LOW_PRESSURE_L" will appear on the GUI as the defaults. + + A maximum of 15 symbols could be specified. --> @@ -169,5 +171,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml index 40d68d7940..dcd051a9e8 100644 --- a/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml +++ b/ncep/gov.noaa.nws.ncep.ui.pgen/localization/ncep/pgen/outlooktype.xml @@ -313,7 +313,7 @@