remove goesr from awips2-builds
This commit is contained in:
parent
199a7d184c
commit
8e336dfa78
153 changed files with 0 additions and 14000 deletions
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.viz.satellite.goesr.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1 +0,0 @@
|
|||
bin.includes = feature.xml
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.raytheon.uf.viz.satellite.goesr.feature"
|
||||
label="GOESR Feature"
|
||||
version="1.15.0.qualifier"
|
||||
provider-name="RAYTHEON">
|
||||
|
||||
<description>
|
||||
Contains plugin(s) that allow custom visualization for data from the GOES-R series of satellites.
|
||||
</description>
|
||||
|
||||
<license>
|
||||
This software was developed and / or modified by Raytheon Company,
|
||||
pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
|
||||
U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
This software product contains export-restricted data whose
|
||||
export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
to non-U.S. persons whether in the United States or abroad requires
|
||||
an export license or other authorization.
|
||||
|
||||
Contractor Name: Raytheon Company
|
||||
Contractor Address: 6825 Pine Street, Suite 340
|
||||
Mail Stop B8
|
||||
Omaha, NE 68106
|
||||
402.291.0100
|
||||
|
||||
See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
further licensing information.
|
||||
</license>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.satellite.goesr.legacyprofile"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="true" />
|
||||
|
||||
</feature>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.viz.satellite.goesr.legacyprofile</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1,23 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: GOES-R Legacy Profile Displays
|
||||
Bundle-SymbolicName: com.raytheon.uf.viz.satellite.goesr.legacyprofile;singleton:=true
|
||||
Bundle-Version: 1.15.0.qualifier
|
||||
Bundle-Vendor: Raytheon
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.raytheon.uf.viz.d2d.nsharp;bundle-version="1.14.1",
|
||||
com.raytheon.uf.viz.core;bundle-version="1.14.6",
|
||||
gov.noaa.nws.ncep.edex.common,
|
||||
gov.noaa.nws.ncep.ui.nsharp,
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.14.0",
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.14.0",
|
||||
javax.measure;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.14.0",
|
||||
com.raytheon.viz.satellite;bundle-version="1.14.0",
|
||||
com.raytheon.uf.viz.points;bundle-version="1.0.0",
|
||||
com.raytheon.uf.viz.sounding;bundle-version="1.14.0",
|
||||
org.eclipse.core.runtime;bundle-version="3.8.0",
|
||||
org.eclipse.ui;bundle-version="3.8.2",
|
||||
com.raytheon.viz.ui;bundle-version="1.14.1",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.14.2",
|
||||
com.raytheon.uf.viz.core.grid;bundle-version="1.15.0"
|
|
@ -1,6 +0,0 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
localization/,\
|
||||
plugin.xml
|
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="nsharpSkewTPaneDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="nsharpSkewTPaneDescriptor">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true" />
|
||||
<resourceData xsi:type="goesrLegacyProfileResourceData" soundingType="GOES" pointName="${pointName;A}">
|
||||
<metadataMap>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="GOES%" constraintType="LIKE" />
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="V%P-%hPa" constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="mapRenderableDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true" />
|
||||
<resourceData xsi:type="goesrProfileMapResourceData">
|
||||
<metadataMap>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="GOES%" constraintType="LIKE" />
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="VTP-300.00hPa" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuContributionFile>
|
||||
<<<<<<< HEAD:cave/com.raytheon.uf.viz.satellite.goesr.legacyprofile/localization/menus/satellite/goesr/profile-index.xml
|
||||
<include installTo="menu:satellite?before=GROUP2"
|
||||
fileName="menus/satellite/goesr/profileMenu.xml">
|
||||
</include>
|
||||
</menuContributionFile>
|
||||
=======
|
||||
<include installTo="menu:obs?before=CollectionDissemSep"
|
||||
fileName="menus/mping/baseMPing.xml"/>
|
||||
</menuContributionFile>
|
||||
>>>>>>> origin/unidata_16.2.2:cave/com.raytheon.viz.pointdata/localization/menus/mping/index.xml
|
|
@ -1,75 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Availability"
|
||||
id="profileAvailability" />
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point A"
|
||||
id="profileA">
|
||||
<substitute key="pointName" value="A"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point B"
|
||||
id="profileB">
|
||||
<substitute key="pointName" value="B"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point C"
|
||||
id="profileC">
|
||||
<substitute key="pointName" value="C"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point D"
|
||||
id="profileD">
|
||||
<substitute key="pointName" value="D"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point E"
|
||||
id="profileE">
|
||||
<substitute key="pointName" value="E"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point F"
|
||||
id="profileF">
|
||||
<substitute key="pointName" value="F"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point G"
|
||||
id="profileG">
|
||||
<substitute key="pointName" value="G"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point H"
|
||||
id="profileH">
|
||||
<substitute key="pointName" value="H"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point I"
|
||||
id="profileI">
|
||||
<substitute key="pointName" value="I"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfile.xml" menuText="Point J"
|
||||
id="profileJ">
|
||||
<substitute key="pointName" value="J"/>
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="titleItem" titleText="------ Legacy Temp/Moisture Profile ------" />
|
||||
<contribute xsi:type="subMenu" menuText="GOES-East" id="ProfileGoesEast">
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Full Disk"
|
||||
id="LVMP-EFD">
|
||||
<substitute key="sector" value="EFD" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="CONUS"
|
||||
id="LVMP-ECONUS">
|
||||
<substitute key="sector" value="ECONUS" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Mesoscale 1"
|
||||
id="LVMP-EMESO1">
|
||||
<substitute key="sector" value="EMESO-1" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Mesoscale 2"
|
||||
id="LVMP-EMESO2">
|
||||
<substitute key="sector" value="EMESO-2" />
|
||||
</contribute>
|
||||
</contribute>
|
||||
<contribute xsi:type="subMenu" menuText="GOES-West" id="ProfileGoesWest">
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Full Disk"
|
||||
id="LVMP-WFD">
|
||||
<substitute key="sector" value="WFD" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="CONUS"
|
||||
id="LVMP-WCONUS">
|
||||
<substitute key="sector" value="WCONUS" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Mesoscale 1"
|
||||
id="LVMP-WMESO1">
|
||||
<substitute key="sector" value="WMESO-1" />
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem"
|
||||
file="bundles/satellite/GoesrLegacyProfileMap.xml" menuText="Mesoscale 2"
|
||||
id="LVMP-WMESO2">
|
||||
<substitute key="sector" value="WMESO-2" />
|
||||
</contribute>
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<?eclipse version="3.4"?>
|
||||
<plugin>
|
||||
<extension
|
||||
point="com.raytheon.uf.viz.sounding.verticalSoundingProvider">
|
||||
<verticalSoundingProvider
|
||||
class="com.raytheon.uf.viz.satellite.goesr.legacyprofile.GoesrLegacySoundingProvider"
|
||||
type="goesr">
|
||||
</verticalSoundingProvider>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
|
@ -1,162 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile;
|
||||
|
||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingCube;
|
||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingCube.QueryStatus;
|
||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingProfile;
|
||||
import gov.noaa.nws.ncep.ui.nsharp.NsharpStationInfo;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.operation.MathTransform;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.HDF5Util;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.dataquery.requests.DbQueryRequest;
|
||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
|
||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||
import com.raytheon.uf.common.datastorage.Request;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.serialization.comm.RequestRouter;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.d2d.nsharp.rsc.D2DNSharpResourceData;
|
||||
import com.raytheon.uf.viz.points.PointsDataManager;
|
||||
|
||||
/**
|
||||
* Resource data which allows loading GOESR Legacy Moisture/Temperature profiles
|
||||
* into NSharp in the D2D perspective.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class GoesrLegacyProfileResourceData extends D2DNSharpResourceData {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(GoesrLegacyProfileResourceData.class);
|
||||
|
||||
public GoesrLegacyProfileResourceData() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void preparePointInfo() {
|
||||
if (coordinate == null && pointName != null) {
|
||||
coordinate = PointsDataManager.getInstance().getCoordinate(
|
||||
pointName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected NcSoundingCube getSoundingCube(NsharpStationInfo stnInfo) {
|
||||
DataTime time = new DataTime(stnInfo.getReftime());
|
||||
DbQueryRequest pdoRequest = new DbQueryRequest(getMetadataMap());
|
||||
pdoRequest.addConstraint(PluginDataObject.DATATIME_ID,
|
||||
new RequestConstraint(time.toString()));
|
||||
pdoRequest.setEntityClass(SatelliteRecord.class);
|
||||
try {
|
||||
DbQueryResponse response = (DbQueryResponse) RequestRouter
|
||||
.route(pdoRequest);
|
||||
/* This should be of size 1 in all normal circumstances. */
|
||||
Map<SatMapCoverage, Request> requestMap = new HashMap<SatMapCoverage, Request>(
|
||||
2);
|
||||
GoesrProfileBuilder builder = new GoesrProfileBuilder();
|
||||
for (SatelliteRecord record : response
|
||||
.getEntityObjects(SatelliteRecord.class)) {
|
||||
SatMapCoverage coverage = record.getCoverage();
|
||||
Request request = requestMap.get(coverage);
|
||||
if (request == null) {
|
||||
request = getRequest(coverage);
|
||||
requestMap.put(coverage, request);
|
||||
}
|
||||
if (request != null) {
|
||||
IDataStore dataStore = DataStoreFactory
|
||||
.getDataStore(HDF5Util.findHDF5Location(record));
|
||||
IDataRecord dataRecord = dataStore.retrieve(
|
||||
record.getDataURI(),
|
||||
SatelliteRecord.SAT_DATASET_NAME, request);
|
||||
builder.addRecord(record, dataRecord, 0);
|
||||
}
|
||||
}
|
||||
if (builder.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
NcSoundingProfile profile = builder.toNcSoundingProfile();
|
||||
NcSoundingCube cube = new NcSoundingCube(Arrays.asList(profile));
|
||||
cube.setRtnStatus(QueryStatus.OK);
|
||||
return cube;
|
||||
} catch (Exception e) {
|
||||
statusHandler.error("Error occured retrieving GOESR profile data.",
|
||||
e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Request getRequest(SatMapCoverage coverage)
|
||||
throws FactoryException, TransformException {
|
||||
MathTransform ll2crs = CRS.findMathTransform(
|
||||
DefaultGeographicCRS.WGS84, coverage.getCrs(), true);
|
||||
MathTransform crs2grid = coverage.getGridGeometry().getCRSToGrid2D();
|
||||
DirectPosition2D point = new DirectPosition2D(coordinate.x,
|
||||
coordinate.y);
|
||||
ll2crs.transform(point, point);
|
||||
crs2grid.transform(point, point);
|
||||
int nx = coverage.getNx();
|
||||
int ny = coverage.getNy();
|
||||
if (point.y < 0 || point.y >= ny || Double.isNaN(point.y)) {
|
||||
return null;
|
||||
} else if (point.x < 0 || point.x >= nx || Double.isNaN(point.x)) {
|
||||
return null;
|
||||
} else {
|
||||
return Request.buildPointRequest(new Point((int) Math
|
||||
.round(point.x), (int) Math.round(point.y)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,171 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.operation.MathTransform;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.HDF5Util;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.dataquery.requests.DbQueryRequest;
|
||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||
import com.raytheon.uf.common.dataquery.responses.DbQueryResponse;
|
||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||
import com.raytheon.uf.common.datastorage.Request;
|
||||
import com.raytheon.uf.common.datastorage.StorageException;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.serialization.comm.RequestRouter;
|
||||
import com.raytheon.uf.common.sounding.VerticalSounding;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.sounding.providers.AbstractVerticalSoundingProvider;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* Provider which allows GOESR Legacy Moisture/Temperature profiles to be used
|
||||
* for popup skewt
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrLegacySoundingProvider extends
|
||||
AbstractVerticalSoundingProvider<SatelliteRecord[]> {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(GoesrLegacySoundingProvider.class);
|
||||
|
||||
@Override
|
||||
public String getSoundingSource() {
|
||||
return "GOES";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SatelliteRecord[] queryForData(
|
||||
Map<String, RequestConstraint> constraints, DataTime time,
|
||||
Coordinate location) {
|
||||
DbQueryRequest request = new DbQueryRequest(constraints);
|
||||
|
||||
RequestConstraint timeConstraint = new RequestConstraint(
|
||||
time.toString());
|
||||
request.addConstraint(PluginDataObject.DATATIME_ID, timeConstraint);
|
||||
DbQueryResponse response;
|
||||
try {
|
||||
response = (DbQueryResponse) RequestRouter.route(request);
|
||||
} catch (Exception e) {
|
||||
statusHandler.error("Unable to request satellite data.", e);
|
||||
return new SatelliteRecord[0];
|
||||
}
|
||||
SatelliteRecord[] records = response
|
||||
.getEntityObjects(SatelliteRecord.class);
|
||||
for (SatelliteRecord record : records) {
|
||||
IDataStore dataStore = DataStoreFactory.getDataStore(HDF5Util
|
||||
.findHDF5Location(record));
|
||||
try {
|
||||
IDataRecord dataRecord = dataStore.retrieve(
|
||||
record.getDataURI(), SatelliteRecord.SAT_DATASET_NAME,
|
||||
Request.ALL);
|
||||
record.setMessageData(dataRecord);
|
||||
} catch (FileNotFoundException | StorageException e) {
|
||||
statusHandler.error("Unable to retrieve satellite data.", e);
|
||||
}
|
||||
|
||||
}
|
||||
return records;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected VerticalSounding createSounding(DataTime time,
|
||||
SatelliteRecord[] records, Coordinate location) {
|
||||
GoesrProfileBuilder builder = new GoesrProfileBuilder();
|
||||
/* This should be of size 1 in normal circumstances. */
|
||||
Map<SatMapCoverage, Integer> indexMap = new HashMap<SatMapCoverage, Integer>(
|
||||
2);
|
||||
for (SatelliteRecord record : records) {
|
||||
IDataRecord dataRecord = (IDataRecord) record.getMessageData();
|
||||
if (dataRecord == null) {
|
||||
continue;
|
||||
}
|
||||
SatMapCoverage coverage = record.getCoverage();
|
||||
Integer index = indexMap.get(coverage);
|
||||
if (index == null) {
|
||||
try {
|
||||
index = getDataIndex(coverage, location);
|
||||
} catch (Exception e) {
|
||||
statusHandler.error(
|
||||
"Error determining satellite data location", e);
|
||||
continue;
|
||||
}
|
||||
indexMap.put(coverage, index);
|
||||
}
|
||||
if (index >= 0) {
|
||||
builder.addRecord(record, dataRecord, index);
|
||||
}
|
||||
|
||||
}
|
||||
if (builder.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
VerticalSounding sounding = builder.toVerticalSounding();
|
||||
sounding.setStationId(getSoundingSource());
|
||||
return sounding;
|
||||
}
|
||||
|
||||
private int getDataIndex(SatMapCoverage coverage, Coordinate coordinate)
|
||||
throws FactoryException, TransformException {
|
||||
MathTransform ll2crs = CRS.findMathTransform(
|
||||
DefaultGeographicCRS.WGS84, coverage.getCrs(), true);
|
||||
MathTransform crs2grid = coverage.getGridGeometry().getCRSToGrid2D();
|
||||
DirectPosition2D point = new DirectPosition2D(coordinate.x,
|
||||
coordinate.y);
|
||||
ll2crs.transform(point, point);
|
||||
crs2grid.transform(point, point);
|
||||
int nx = coverage.getNx();
|
||||
int ny = coverage.getNy();
|
||||
if (point.y < 0 || point.y >= ny || Double.isNaN(point.y)) {
|
||||
return -1;
|
||||
} else if (point.x < 0 || point.x >= nx || Double.isNaN(point.x)) {
|
||||
return -1;
|
||||
} else {
|
||||
return nx * (int) point.y + (int) point.x;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,165 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile;
|
||||
|
||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingLayer;
|
||||
import gov.noaa.nws.ncep.edex.common.sounding.NcSoundingProfile;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NavigableMap;
|
||||
import java.util.TreeMap;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.measure.quantity.Dimensionless;
|
||||
import javax.measure.quantity.Temperature;
|
||||
import javax.measure.unit.SI;
|
||||
import javax.measure.unit.Unit;
|
||||
import javax.measure.unit.UnitFormat;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.sounding.VerticalSounding;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.viz.d2d.nsharp.SoundingLayerBuilder;
|
||||
|
||||
/**
|
||||
* Common code to build {@link VerticalSounding} or a {@link NcSoundingProfile}
|
||||
* from satellite records which contain GOESR Legacy Moisture/Temperature
|
||||
* profile information.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
* May 13, 2015 4445 bsteffen Remove GOESR sounding layer builder.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrProfileBuilder {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(GoesrLegacySoundingProvider.class);
|
||||
|
||||
private final Pattern physicalElementPattern = Pattern
|
||||
.compile("^V([TM])P-(\\d{1,4}\\.\\d{2})hPa$");
|
||||
|
||||
private NavigableMap<Double, SoundingLayerBuilder> map = new TreeMap<>();
|
||||
|
||||
public boolean isEmpty() {
|
||||
return map.isEmpty();
|
||||
}
|
||||
|
||||
public void addRecord(SatelliteRecord record, IDataRecord dataRecord,
|
||||
int index) {
|
||||
Matcher paramMatcher = physicalElementPattern.matcher(record
|
||||
.getPhysicalElement());
|
||||
if (!paramMatcher.matches()) {
|
||||
statusHandler.warn("Cannot add " + record + " to the sounding");
|
||||
return;
|
||||
}
|
||||
double pressure = Double.parseDouble(paramMatcher.group(2));
|
||||
Unit<?> unit;
|
||||
try {
|
||||
unit = getDataUnit(record, dataRecord.getDataAttributes());
|
||||
} catch (ParseException e) {
|
||||
statusHandler.error("Cannot add " + record + " to the sounding", e);
|
||||
return;
|
||||
}
|
||||
int value = (Array.getInt(dataRecord.getDataObject(), index));
|
||||
if (value == dataRecord.getFillValue().doubleValue()) {
|
||||
return;
|
||||
} else {
|
||||
value = value & 0xFFFF;
|
||||
}
|
||||
SoundingLayerBuilder layer = map.get(pressure);
|
||||
if (layer == null) {
|
||||
layer = new SoundingLayerBuilder();
|
||||
layer.addPressure(pressure, SI.HECTO(SI.PASCAL));
|
||||
map.put(pressure, layer);
|
||||
}
|
||||
if ("T".equals(paramMatcher.group(1))) {
|
||||
layer.addTemperature(value, unit.asType(Temperature.class));
|
||||
} else {
|
||||
layer.addRelativeHumidity(value, unit.asType(Dimensionless.class));
|
||||
}
|
||||
}
|
||||
|
||||
public VerticalSounding toVerticalSounding() {
|
||||
VerticalSounding sounding = new VerticalSounding();
|
||||
for (SoundingLayerBuilder builder : map.values()) {
|
||||
sounding.addLayer(builder.toSoundingLayer());
|
||||
}
|
||||
Collections.reverse(sounding.getLayerData());
|
||||
return sounding;
|
||||
}
|
||||
|
||||
public NcSoundingProfile toNcSoundingProfile() {
|
||||
List<NcSoundingLayer> ncLayers = new ArrayList<>(map.size());
|
||||
for (SoundingLayerBuilder builder : map.descendingMap().values()) {
|
||||
ncLayers.add(builder.toNcSoundingLayer());
|
||||
}
|
||||
NcSoundingProfile profile = new NcSoundingProfile();
|
||||
profile.setSoundingLyLst(ncLayers);
|
||||
return profile;
|
||||
}
|
||||
|
||||
private static Unit<?> getDataUnit(SatelliteRecord record,
|
||||
Map<String, Object> dataAttributes) throws ParseException {
|
||||
|
||||
Unit<?> recordUnit = UnitFormat.getUCUMInstance().parseProductUnit(
|
||||
record.getUnits(), new ParsePosition(0));
|
||||
Unit<?> units = recordUnit != null ? recordUnit : Unit.ONE;
|
||||
if (dataAttributes == null) {
|
||||
return units;
|
||||
}
|
||||
Number offset = (Number) dataAttributes
|
||||
.get(SatelliteRecord.SAT_ADD_OFFSET);
|
||||
Number scale = (Number) dataAttributes
|
||||
.get(SatelliteRecord.SAT_SCALE_FACTOR);
|
||||
|
||||
if (offset != null) {
|
||||
double offsetVal = offset.doubleValue();
|
||||
if (offsetVal != 0.0) {
|
||||
units = units.plus(offsetVal);
|
||||
}
|
||||
}
|
||||
if (scale != null) {
|
||||
double scaleVal = scale.doubleValue();
|
||||
if (scaleVal != 0.0) {
|
||||
units = units.times(scaleVal);
|
||||
}
|
||||
}
|
||||
return units;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,170 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile.map;
|
||||
|
||||
import gov.noaa.nws.ncep.ui.nsharp.display.NsharpSkewTPaneDescriptor;
|
||||
import gov.noaa.nws.ncep.ui.nsharp.display.NsharpSkewTPaneDisplay;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.graphics.Cursor;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.IWorkbenchPart;
|
||||
|
||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||
import com.raytheon.uf.viz.core.DescriptorMap;
|
||||
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
||||
import com.raytheon.uf.viz.core.drawables.AbstractRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
import com.raytheon.uf.viz.core.procedures.Bundle;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
import com.raytheon.uf.viz.satellite.goesr.legacyprofile.GoesrLegacyProfileResourceData;
|
||||
import com.raytheon.viz.ui.BundleProductLoader;
|
||||
import com.raytheon.viz.ui.UiUtil;
|
||||
import com.raytheon.viz.ui.VizWorkbenchManager;
|
||||
import com.raytheon.viz.ui.editor.AbstractEditor;
|
||||
import com.raytheon.viz.ui.input.InputAdapter;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* Input handler for GOESR Legacy Moisture/Temperature profiles availability
|
||||
* resource
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrProfileMapInputHandler extends InputAdapter {
|
||||
|
||||
private GoesrProfileMapResource resource;
|
||||
|
||||
private Cursor handCursor;
|
||||
|
||||
private boolean overDataPoint = false;
|
||||
|
||||
private int downX, downY;
|
||||
|
||||
public GoesrProfileMapInputHandler(GoesrProfileMapResource resource) {
|
||||
this.resource = resource;
|
||||
Display display = Display.getCurrent();
|
||||
handCursor = new Cursor(display, SWT.CURSOR_HAND);
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
handCursor.dispose();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseMove(int x, int y) {
|
||||
boolean wasData = overDataPoint;
|
||||
overDataPoint = false;
|
||||
|
||||
if (resource.isEditable()) {
|
||||
Coordinate sampleCoord = resource.getResourceContainer()
|
||||
.translateClick(x, y);
|
||||
if (sampleCoord != null) {
|
||||
overDataPoint = resource.isDataPoint(sampleCoord);
|
||||
}
|
||||
}
|
||||
|
||||
if (wasData && !overDataPoint) {
|
||||
getShell().setCursor(null);
|
||||
} else if (!wasData && overDataPoint) {
|
||||
getShell().setCursor(handCursor);
|
||||
}
|
||||
|
||||
return super.handleMouseMove(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseDown(int x, int y, int mouseButton) {
|
||||
if (mouseButton == 1) {
|
||||
downX = x;
|
||||
downY = y;
|
||||
}
|
||||
return super.handleMouseDown(x, y, mouseButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseUp(int x, int y, int mouseButton) {
|
||||
int downX = this.downX;
|
||||
int downY = this.downY;
|
||||
this.downX = this.downY = -1;
|
||||
if (overDataPoint && mouseButton == 1 && downX == x && downY == y) {
|
||||
HashMap<String, RequestConstraint> metadataMap = new HashMap<>(
|
||||
resource.getResourceData().getMetadataMap());
|
||||
metadataMap.put("physicalElement", new RequestConstraint(
|
||||
"V%P-%hPa", ConstraintType.LIKE));
|
||||
GoesrLegacyProfileResourceData resourceData = new GoesrLegacyProfileResourceData();
|
||||
resourceData.setMetadataMap(metadataMap);
|
||||
resourceData.setSoundingType("GOES");
|
||||
resourceData.setCoordinate(resource.getResourceContainer()
|
||||
.translateClick(x, y));
|
||||
ResourcePair pair = new ResourcePair();
|
||||
pair.setResourceData(resourceData);
|
||||
pair.setLoadProperties(new LoadProperties());
|
||||
NsharpSkewTPaneDisplay display = new NsharpSkewTPaneDisplay();
|
||||
display.setDescriptor(new NsharpSkewTPaneDescriptor());
|
||||
display.getDescriptor().getResourceList().add(pair);
|
||||
String editorId = DescriptorMap.getEditorId(display.getDescriptor()
|
||||
.getClass().getName());
|
||||
AbstractEditor editor = UiUtil.createOrOpenEditor(editorId,
|
||||
display.cloneDisplay());
|
||||
Bundle b = new Bundle();
|
||||
b.setDisplays(new AbstractRenderableDisplay[] { display });
|
||||
Job j = new BundleProductLoader(editor, b);
|
||||
j.schedule();
|
||||
return true;
|
||||
}
|
||||
return super.handleMouseUp(x, y, mouseButton);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseExit(Event event) {
|
||||
overDataPoint = false;
|
||||
getShell().setCursor(null);
|
||||
return super.handleMouseExit(event);
|
||||
}
|
||||
|
||||
private Shell getShell() {
|
||||
IDisplayPaneContainer container = resource.getResourceContainer();
|
||||
if (container instanceof IWorkbenchPart) {
|
||||
return ((IWorkbenchPart) container).getSite().getShell();
|
||||
} else {
|
||||
return VizWorkbenchManager.getInstance().getCurrentWindow()
|
||||
.getShell();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,340 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile.map;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.BitSet;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
import org.geotools.coverage.grid.GeneralGridGeometry;
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
import org.opengis.referencing.operation.MathTransform;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.HDF5Util;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||
import com.raytheon.uf.common.datastorage.Request;
|
||||
import com.raytheon.uf.common.datastorage.StorageException;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.viz.core.DrawableCircle;
|
||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintStatus;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.grid.display.AbstractGriddedDisplay;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||
import com.raytheon.uf.viz.core.rsc.IResourceDataChanged.ChangeType;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.DensityCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.MagnificationCapability;
|
||||
import com.raytheon.viz.ui.input.EditableManager;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
||||
/**
|
||||
* GOESR Legacy Moisture/Temperature profiles availability resource. Draws
|
||||
* points on map where data is available, user can click points to load
|
||||
* sounding.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class GoesrProfileMapResource extends
|
||||
AbstractVizResource<GoesrProfileMapResourceData, IMapDescriptor> {
|
||||
|
||||
private GoesrProfileMapInputHandler inputManager;
|
||||
|
||||
private Map<DataTime, SatelliteRecord> records = new HashMap<>();
|
||||
|
||||
private Map<DataTime, GoesrProfileMapDisplay> displays = new HashMap<>();
|
||||
|
||||
private Job loadJob = new Job("Loading Profile Availability") {
|
||||
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
DataTime[] timesToLoad = getDataTimes();
|
||||
for (DataTime time : timesToLoad) {
|
||||
SatelliteRecord record = records.get(time);
|
||||
if (record == null) {
|
||||
continue;
|
||||
}
|
||||
IDataStore dataStore = DataStoreFactory.getDataStore(HDF5Util
|
||||
.findHDF5Location(record));
|
||||
IDataRecord dataRecord = null;
|
||||
try {
|
||||
dataRecord = dataStore.retrieve(record.getDataURI(),
|
||||
SatelliteRecord.SAT_DATASET_NAME, Request.ALL);
|
||||
} catch (FileNotFoundException | StorageException e) {
|
||||
statusHandler.error(
|
||||
"Unable to retrieve satellite data for " + record,
|
||||
e);
|
||||
continue;
|
||||
}
|
||||
GoesrProfileMapDisplay display = new GoesrProfileMapDisplay(
|
||||
dataRecord, descriptor, record.getGridGeometry(), 5);
|
||||
display.setASync(false);
|
||||
displays.put(time, display);
|
||||
issueRefresh();
|
||||
}
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @param resourceData
|
||||
* @param loadProperties
|
||||
*/
|
||||
protected GoesrProfileMapResource(GoesrProfileMapResourceData resourceData,
|
||||
LoadProperties loadProperties) {
|
||||
super(resourceData, loadProperties);
|
||||
this.inputManager = new GoesrProfileMapInputHandler(this);
|
||||
this.dataTimes = new ArrayList<DataTime>();
|
||||
getCapability(EditableCapability.class).setEditable(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resourceDataChanged(ChangeType type, Object updateObject) {
|
||||
if (type == ChangeType.DATA_UPDATE) {
|
||||
if (updateObject instanceof PluginDataObject[]) {
|
||||
addRecords((PluginDataObject[]) updateObject);
|
||||
}
|
||||
}
|
||||
super.resourceDataChanged(type, updateObject);
|
||||
}
|
||||
|
||||
public synchronized void addRecords(PluginDataObject... records) {
|
||||
for (PluginDataObject record : records) {
|
||||
if (record instanceof SatelliteRecord) {
|
||||
this.records
|
||||
.put(record.getDataTime(), (SatelliteRecord) record);
|
||||
}
|
||||
}
|
||||
|
||||
List<DataTime> dataTimes = new ArrayList<DataTime>(
|
||||
this.records.keySet());
|
||||
Collections.sort(dataTimes);
|
||||
this.dataTimes = dataTimes;
|
||||
loadJob.schedule();
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void remove(DataTime dataTime) {
|
||||
records.remove(dataTime);
|
||||
GoesrProfileMapDisplay display = displays.remove(dataTime);
|
||||
if (display != null) {
|
||||
display.dispose();
|
||||
}
|
||||
super.remove(dataTime);
|
||||
}
|
||||
|
||||
protected void resetDisplays() {
|
||||
Map<DataTime, GoesrProfileMapDisplay> displays = this.displays;
|
||||
this.displays = new HashMap<>();
|
||||
for (GoesrProfileMapDisplay display : displays.values()) {
|
||||
display.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void disposeInternal() {
|
||||
inputManager.dispose();
|
||||
getResourceContainer().unregisterMouseHandler(inputManager);
|
||||
resetDisplays();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void project(CoordinateReferenceSystem crs) throws VizException {
|
||||
resetDisplays();
|
||||
loadJob.schedule();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paintInternal(IGraphicsTarget target,
|
||||
PaintProperties paintProps) throws VizException {
|
||||
DataTime time = paintProps.getDataTime();
|
||||
if (time == null) {
|
||||
return;
|
||||
}
|
||||
GoesrProfileMapDisplay display = displays.get(time);
|
||||
if (display != null) {
|
||||
display.setColor(getCapability(ColorableCapability.class)
|
||||
.getColor());
|
||||
display.setDensity(getCapability(DensityCapability.class)
|
||||
.getDensity());
|
||||
display.setMagnification(getCapability(
|
||||
MagnificationCapability.class).getMagnification());
|
||||
display.paint(target, paintProps);
|
||||
} else if (loadJob.getState() == Job.RUNNING) {
|
||||
updatePaintStatus(PaintStatus.INCOMPLETE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initInternal(IGraphicsTarget target) throws VizException {
|
||||
EditableManager.makeEditable(this,
|
||||
getCapability(EditableCapability.class).isEditable());
|
||||
getResourceContainer().registerMouseHandler(inputManager);
|
||||
}
|
||||
|
||||
public boolean isEditable() {
|
||||
return getCapability(EditableCapability.class).isEditable()
|
||||
&& getProperties().isVisible();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "GOES-R Legacy Temperature/Moisture Availability";
|
||||
}
|
||||
|
||||
public boolean isDataPoint(Coordinate sampleCoord) {
|
||||
DataTime time = descriptor.getTimeForResource(this);
|
||||
if (time == null) {
|
||||
return false;
|
||||
}
|
||||
GoesrProfileMapDisplay display = displays.get(time);
|
||||
if (display == null) {
|
||||
return false;
|
||||
}
|
||||
GeneralGridGeometry dataGeometry = display.getGridGeometryOfData();
|
||||
DirectPosition2D point = new DirectPosition2D(sampleCoord.x,
|
||||
sampleCoord.y);
|
||||
try {
|
||||
MathTransform ll2crs = CRS.findMathTransform(
|
||||
DefaultGeographicCRS.WGS84,
|
||||
dataGeometry.getCoordinateReferenceSystem(), true);
|
||||
MathTransform crs2grid = dataGeometry.getGridToCRS().inverse();
|
||||
ll2crs.transform(point, point);
|
||||
crs2grid.transform(point, point);
|
||||
} catch (TransformException | FactoryException e) {
|
||||
statusHandler.error("", e);
|
||||
return false;
|
||||
}
|
||||
int nx = dataGeometry.getGridRange().getSpan(0);
|
||||
int ny = dataGeometry.getGridRange().getSpan(1);
|
||||
if (point.y < 0 || point.y >= ny || Double.isNaN(point.y)) {
|
||||
return false;
|
||||
} else if (point.x < 0 || point.x >= nx || Double.isNaN(point.x)) {
|
||||
return false;
|
||||
} else {
|
||||
return display.isDataPoint(point.x, point.y);
|
||||
}
|
||||
}
|
||||
|
||||
private static class GoesrProfileMapDisplay extends
|
||||
AbstractGriddedDisplay<DrawableCircle> {
|
||||
|
||||
private final int nx;
|
||||
|
||||
private final BitSet dataMap;
|
||||
|
||||
public GoesrProfileMapDisplay(IDataRecord dataRecord,
|
||||
IMapDescriptor descriptor,
|
||||
GeneralGridGeometry gridGeometryOfGrid, double size) {
|
||||
super(descriptor, gridGeometryOfGrid, size, 6);
|
||||
Object array = dataRecord.getDataObject();
|
||||
int fill = dataRecord.getFillValue().intValue();
|
||||
/* Don't waste space, we only need to know which points have data. */
|
||||
int length = Array.getLength(array);
|
||||
dataMap = new BitSet(length);
|
||||
for (int i = 0; i < length; i += 1) {
|
||||
dataMap.set(i, Array.getInt(array, i) != fill);
|
||||
}
|
||||
this.nx = (int) dataRecord.getSizes()[0];
|
||||
}
|
||||
|
||||
public boolean isDataPoint(double x, double y) {
|
||||
int index = (int) (nx * Math.round(y) + Math.round(x));
|
||||
return dataMap.get(index);
|
||||
}
|
||||
|
||||
public GeneralGridGeometry getGridGeometryOfData() {
|
||||
return gridGeometryOfGrid;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DrawableCircle getResource(Coordinate coord) {
|
||||
if (!isDataPoint(coord.x, coord.y)) {
|
||||
return null;
|
||||
}
|
||||
DrawableCircle circle = new DrawableCircle();
|
||||
circle.screenRadius = size * magnification;
|
||||
circle.numberOfPoints = (int) (circle.screenRadius * 4);
|
||||
circle.basics.color = color;
|
||||
circle.filled = true;
|
||||
return circle;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DrawableCircle createResource(Coordinate coord)
|
||||
throws VizException {
|
||||
return getResource(coord);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void paint(PaintProperties paintProps,
|
||||
Collection<GridCellRenderable> renderables) throws VizException {
|
||||
List<DrawableCircle> circles = new ArrayList<DrawableCircle>(
|
||||
renderables.size());
|
||||
for (GridCellRenderable gridCell : renderables) {
|
||||
gridCell.resource.setCoordinates(gridCell.plotLocation.x,
|
||||
gridCell.plotLocation.y);
|
||||
circles.add(gridCell.resource);
|
||||
}
|
||||
target.drawCircle(circles.toArray(new DrawableCircle[0]));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void disposeResources() {
|
||||
/* DrawableCircles do not need to be disposed. */
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.satellite.goesr.legacyprofile.map;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
|
||||
/**
|
||||
*
|
||||
* Serialization information for {@link GoesrProfileMapResource}.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 30, 2015 4335 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class GoesrProfileMapResourceData extends AbstractRequestableResourceData {
|
||||
|
||||
@Override
|
||||
protected AbstractVizResource<?, ?> constructResource(
|
||||
LoadProperties loadProperties, PluginDataObject[] objects)
|
||||
throws VizException {
|
||||
GoesrProfileMapResource resource = new GoesrProfileMapResource(this,
|
||||
loadProperties);
|
||||
resource.addRecords(objects);
|
||||
return resource;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.common.dataplugin.goesr.dmw</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1,12 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: GOES-R Derived Motion Winds
|
||||
Bundle-SymbolicName: com.raytheon.uf.common.dataplugin.goesr.dmw
|
||||
Bundle-Version: 1.15.0.qualifier
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.raytheon.uf.common.dataplugin;bundle-version="1.14.0",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.14.2",
|
||||
com.raytheon.uf.common.pointdata;bundle-version="1.14.0",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.14.2"
|
||||
Export-Package: com.raytheon.uf.common.dataplugin.goesr.dmw
|
|
@ -1,5 +0,0 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
utility/
|
|
@ -1,245 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.common.dataplugin.goesr.dmw;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Embedded;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.SequenceGenerator;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.UniqueConstraint;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.annotations.DataURI;
|
||||
import com.raytheon.uf.common.dataplugin.persist.IPersistable;
|
||||
import com.raytheon.uf.common.dataplugin.persist.PersistablePluginDataObject;
|
||||
import com.raytheon.uf.common.geospatial.ISpatialEnabled;
|
||||
import com.raytheon.uf.common.geospatial.ISpatialObject;
|
||||
import com.raytheon.uf.common.pointdata.PointDataView;
|
||||
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||
|
||||
/**
|
||||
* GOES-R Derived Motion Wind Record.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Apr 6, 2015 4334 nabowle Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author nabowle
|
||||
* @version 1.0
|
||||
*/
|
||||
@Entity
|
||||
@SequenceGenerator(initialValue = 1, name = PluginDataObject.ID_GEN, sequenceName = "dmwseq")
|
||||
@Table(name = DMWRecord.PLUGIN_NAME, uniqueConstraints = { @UniqueConstraint(columnNames = {
|
||||
"orbitalSlot", "scene", "channel", "refTime", "latitude", "longitude" }) })
|
||||
@DynamicSerialize
|
||||
public class DMWRecord extends PersistablePluginDataObject implements
|
||||
ISpatialEnabled, IPersistable {
|
||||
|
||||
/** Serializable id */
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public static final String PLUGIN_NAME = "dmw";
|
||||
|
||||
@Embedded
|
||||
@DynamicSerializeElement
|
||||
private PointDataView pointDataView;
|
||||
|
||||
@Embedded
|
||||
@DataURI(position = 1, embedded = true)
|
||||
@DynamicSerializeElement
|
||||
private SurfaceObsLocation location;
|
||||
|
||||
@DataURI(position = 2)
|
||||
@DynamicSerializeElement
|
||||
@Column(nullable = false, length = 9)
|
||||
private String orbitalSlot;
|
||||
|
||||
@DataURI(position = 3)
|
||||
@DynamicSerializeElement
|
||||
@Column(nullable = false, length = 10)
|
||||
private String scene;
|
||||
|
||||
@DataURI(position = 4)
|
||||
@DynamicSerializeElement
|
||||
@Column(nullable = false)
|
||||
private int channel;
|
||||
|
||||
/**
|
||||
* Required to be in the DataURI for viz updates, but not used for the
|
||||
* unique constraint.
|
||||
*/
|
||||
@DataURI(position = 5)
|
||||
@DynamicSerializeElement
|
||||
@Column
|
||||
private float windSpd;
|
||||
|
||||
@DynamicSerializeElement
|
||||
@Column
|
||||
private float windDir;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public DMWRecord() {
|
||||
super();
|
||||
pointDataView = new PointDataView();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a record from a dataURI
|
||||
*
|
||||
* @param uri
|
||||
* The dataURI
|
||||
*/
|
||||
public DMWRecord(String uri) {
|
||||
super(uri);
|
||||
pointDataView = new PointDataView();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.raytheon.uf.common.dataplugin.PluginDataObject#getPluginName()
|
||||
*/
|
||||
@Override
|
||||
public String getPluginName() {
|
||||
return PLUGIN_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ISpatialObject getSpatialObject() {
|
||||
return location;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the location
|
||||
*/
|
||||
public SurfaceObsLocation getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param location
|
||||
* the location to set
|
||||
*/
|
||||
public void setLocation(SurfaceObsLocation location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the channel
|
||||
*/
|
||||
public int getChannel() {
|
||||
return channel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param channel
|
||||
* the channel to set
|
||||
*/
|
||||
public void setChannel(int channel) {
|
||||
this.channel = channel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the orbitalSlot
|
||||
*/
|
||||
public String getOrbitalSlot() {
|
||||
return orbitalSlot;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param orbitalSlot
|
||||
* the orbitalSlot to set
|
||||
*/
|
||||
public void setOrbitalSlot(String orbitalSlot) {
|
||||
this.orbitalSlot = orbitalSlot;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the scene
|
||||
*/
|
||||
public String getScene() {
|
||||
return scene;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param scene
|
||||
* the scene to set
|
||||
*/
|
||||
public void setScene(String scene) {
|
||||
this.scene = scene;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the windDir
|
||||
*/
|
||||
public float getWindDir() {
|
||||
return windDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param windDir
|
||||
* the windDir to set
|
||||
*/
|
||||
public void setWindDir(float windDir) {
|
||||
this.windDir = windDir;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the windSpd
|
||||
*/
|
||||
public float getWindSpd() {
|
||||
return windSpd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param windSpd
|
||||
* the windSpd to set
|
||||
*/
|
||||
public void setWindSpd(float windSpd) {
|
||||
this.windSpd = windSpd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pointDataView
|
||||
*/
|
||||
public PointDataView getPointDataView() {
|
||||
return pointDataView;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pointDataView
|
||||
* the pointDataView to set
|
||||
*/
|
||||
public void setPointDataView(PointDataView pointDataView) {
|
||||
this.pointDataView = pointDataView;
|
||||
}
|
||||
}
|
|
@ -1,173 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability" colorAsString="#00ff00"/>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="plotResourceData" plotSource="${legend} s < 34 kts"
|
||||
plotModelFile="${svg}" pixelSizeHint="25"
|
||||
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||
isRequeryNecessaryOnTimeMatch="true">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="windSpd">
|
||||
<!-- 0.0 to 34.0 converted from knots to m/s -->
|
||||
<constraint constraintValue="0.0--17.49" constraintType="BETWEEN" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
<timeQueryMetadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</timeQueryMetadataMap>
|
||||
<plotInfoRetriever xsi:type="pointDataPlotInfoRetriever" />
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability" colorAsString="#ffff00"/>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="plotResourceData" plotSource="${legend} 34 <= s < 48 kts"
|
||||
plotModelFile="${svg}" pixelSizeHint="25"
|
||||
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||
isRequeryNecessaryOnTimeMatch="true">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="windSpd">
|
||||
<!-- 34.0 to 48.0 converted from knots to m/s -->
|
||||
<constraint constraintValue="17.49--24.69" constraintType="BETWEEN" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
<timeQueryMetadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</timeQueryMetadataMap>
|
||||
<plotInfoRetriever xsi:type="pointDataPlotInfoRetriever" />
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability" colorAsString="#ff0000"/>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<properties isSystemResource="false" isBlinking="false"
|
||||
isMapLayer="false" isHoverOn="false"
|
||||
isVisible="true" />
|
||||
<resourceData xsi:type="plotResourceData" plotSource="${legend} s >= 48 kts"
|
||||
plotModelFile="${svg}" pixelSizeHint="25"
|
||||
retrieveData="false" isUpdatingOnMetadataOnly="false"
|
||||
isRequeryNecessaryOnTimeMatch="true">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="windSpd">
|
||||
<!-- 48.0.0 to 999.0 converted from knots to m/s -->
|
||||
<constraint constraintValue="24.69--513.93" constraintType="BETWEEN" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
<timeQueryMetadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="${plugin}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="scene">
|
||||
<constraint constraintValue="${scene}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="orbitalSlot">
|
||||
<constraint constraintValue="${orbitalSlot}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="channel">
|
||||
<constraint constraintValue="${channel}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</timeQueryMetadataMap>
|
||||
<plotInfoRetriever xsi:type="pointDataPlotInfoRetriever" />
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuContributionFile>
|
||||
<include installTo="menu:goesr"
|
||||
fileName="menus/satellite/goesr/dmwMenu.xml">
|
||||
</include>
|
||||
</menuContributionFile>
|
|
@ -1,126 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<!--
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 1" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 1 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="1"/>
|
||||
</contribute>
|
||||
-->
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 2" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 2 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="2"/>
|
||||
</contribute>
|
||||
<!--
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 3" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 3 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="3"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 4" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 4 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="4"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 5" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 5 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="5"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 6" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 6 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="6"/>
|
||||
</contribute>
|
||||
-->
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 7" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 7 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="7"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 8" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 8 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="8"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 9" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 9 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="9"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 10" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 10 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="10"/>
|
||||
</contribute>
|
||||
<!--
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 11" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 11 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="11"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 12" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 12 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="12"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 13" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 13 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="13"/>
|
||||
</contribute>
|
||||
-->
|
||||
<contribute xsi:type="bundleItem" file="bundles/satellite/goesr/DerivedMotionWinds.xml"
|
||||
menuText="Channel 14" id="DMWindsEastFull">
|
||||
<substitute key="legend" value="${legend1} Ch 14 DMW"/>
|
||||
<substitute key="svg" value="goesr/dmwPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="dmw"/>
|
||||
<substitute key="channel" value="14"/>
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -1,38 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="subinclude" subMenu="Full Disk" fileName="menus/satellite/goesr/dmwByChannel.xml">
|
||||
<substitute key="legend1" value="Full Disk"/>
|
||||
<substitute key="scene" value="Full Disk"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="subinclude" subMenu="CONUS" fileName="menus/satellite/goesr/dmwByChannel.xml">
|
||||
<substitute key="legend1" value="CONUS"/>
|
||||
<substitute key="scene" value="CONUS"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="subinclude" subMenu="Mesoscale 1" fileName="menus/satellite/goesr/dmwByChannel.xml">
|
||||
<substitute key="legend1" value="Mesoscale 1"/>
|
||||
<substitute key="scene" value="Mesoscale1"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="subinclude" subMenu="Mesoscale 2" fileName="menus/satellite/goesr/dmwByChannel.xml">
|
||||
<substitute key="legend1" value="Mesoscale 2"/>
|
||||
<substitute key="scene" value="Mesoscale2"/>
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="titleItem" titleText="------ Derived Motion Winds ------" />
|
||||
<contribute xsi:type="subinclude" subMenu="GOES-East" fileName="menus/satellite/goesr/dmwByScene.xml"
|
||||
id="DMWGoesEast">
|
||||
<substitute key="orbitalSlot" value="GOES-East"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="subinclude" subMenu="GOES-West" fileName="menus/satellite/goesr/dmwByScene.xml"
|
||||
id="DMWGoesWest">
|
||||
<substitute key="orbitalSlot" value="GOES-West"/>
|
||||
</contribute>
|
||||
</menuTemplate>
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<svg width="80" height="80"
|
||||
viewBox="0 0 80 80"
|
||||
overflow="visible"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" style="stroke: rgb(255,255,255);">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
@font-face { font-family: "WindSymbolFont";
|
||||
src: url(WindSymbols.svg#WindSymbols); }
|
||||
@font-face { font-family: "StandardFont";
|
||||
src: url(Standard.svg#Standard); }
|
||||
@font-face { font-family: "WxSymbolFont";
|
||||
src: url(WxSymbols.svg#WxSymbols); }
|
||||
@font-face { font-family: "SpecialSymbolFont";
|
||||
src: url(SpecialSymbols.svg#SpecialSymbols); }
|
||||
text.barb
|
||||
{
|
||||
fill: none;
|
||||
font-size: 1em;
|
||||
font-size: 1em;
|
||||
font-family: WindSymbolFont;
|
||||
}
|
||||
text.text
|
||||
{
|
||||
fill: none;
|
||||
font-size: 1em;
|
||||
stroke-width: 1px;
|
||||
font-family: StandardFont;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
]]>
|
||||
</style>
|
||||
|
||||
<symbol overflow="visible" id="plotData" class="info">
|
||||
<text id="sample1" plotMode="sample" class="text" plotParam="validTime" plotFormat="time" plotSymbol="Z">0</text>
|
||||
<text id="sample3" plotMode="sample" class="text" plotParam="windDir" plotSymbol=" @" plotFormat="%3.0f">0</text>
|
||||
<text id="sample4" plotMode="sample" class="text" plotParam="windSpd" plotUnit="m/s" plotSymbol=" DMW" plotFormat="%3.0f">0</text>
|
||||
|
||||
<g id="windVaneText" plotMode="barb" plotParam="windSpd,windDir" plotUnit="m/s" x="0" y="0" transform="rotate(0,0,0)" required="True" >
|
||||
<text id="windArrowText" class="barb" x="0" y="0">75</text>
|
||||
</g>
|
||||
|
||||
</symbol>
|
||||
</defs>
|
||||
<use id="wind" x="40" y="40" width="80" height="80" visibility="visible" xlink:href="#plotData"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.edex.goesr.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1 +0,0 @@
|
|||
bin.includes = feature.xml
|
|
@ -1,41 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.raytheon.uf.edex.goesr.feature"
|
||||
label="GOESR Feature"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="RAYTHEON">
|
||||
|
||||
<description url="http://www.example.com/description">
|
||||
[Enter Feature Description here.]
|
||||
</description>
|
||||
|
||||
<copyright url="http://www.example.com/copyright">
|
||||
[Enter Copyright Description here.]
|
||||
</copyright>
|
||||
|
||||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.edex.plugin.goesr"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataplugin.goesr.dmw"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.edex.plugin.goesr.dmw"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.edex.plugin.goesr.dmw</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1,20 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: GOES-R Derived Motion Winds
|
||||
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.goesr.dmw
|
||||
Bundle-Version: 1.15.0.qualifier
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: com.raytheon.uf.common.pointdata;bundle-version="1.14.0",
|
||||
com.raytheon.uf.edex.pointdata,
|
||||
com.raytheon.uf.common.dataplugin;bundle-version="1.14.0",
|
||||
com.raytheon.uf.common.datastorage;bundle-version="1.14.0",
|
||||
com.raytheon.uf.common.status;bundle-version="1.14.1",
|
||||
net.sf.cglib;bundle-version="2.1.3",
|
||||
com.raytheon.uf.edex.database;bundle-version="1.14.1",
|
||||
com.raytheon.uf.common.wmo;bundle-version="1.14.0",
|
||||
com.raytheon.edex.common;bundle-version="1.14.1",
|
||||
ucar.nc2,
|
||||
com.raytheon.uf.common.dataplugin.goesr.dmw;bundle-version="1.15.0"
|
||||
Export-Package: com.raytheon.uf.edex.plugin.goesr.dmw.dao,
|
||||
com.raytheon.uf.edex.plugin.goesr.dmw.decoder
|
|
@ -1,5 +0,0 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
res/
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<pointDataDbDescription>
|
||||
<parameter name="latitude" queryName="location.latitude" type="FLOAT" unit="°" />
|
||||
<parameter name="longitude" queryName="location.longitude" type="FLOAT" unit="°" />
|
||||
<parameter name="stationId" queryName="location.stationId" type="STRING" />
|
||||
<parameter name="windSpd" queryName="windSpd" type="FLOAT" unit="m/s" fillValue="-999"/>
|
||||
<parameter name="windDir" queryName="windDir" type="FLOAT" unit="°" fillValue="-999"/>
|
||||
<parameter name="scene" queryName="scene" type="STRING" />
|
||||
<parameter name="channel" queryName="channel" type="INT" />
|
||||
<parameter name="orbitalSlot" queryName="orbitalSlot" type="STRING" />
|
||||
</pointDataDbDescription>
|
|
@ -1,20 +0,0 @@
|
|||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
|
||||
|
||||
<bean id="dmwPluginName" class="java.lang.String">
|
||||
<constructor-arg type="java.lang.String" value="dmw" />
|
||||
</bean>
|
||||
|
||||
<bean id="dmwProperties" class="com.raytheon.uf.common.dataplugin.PluginProperties">
|
||||
<property name="pluginName" ref="dmwPluginName" />
|
||||
<property name="pluginFQN" value="com.raytheon.uf.common.dataplugin.goesr.dmw" />
|
||||
<property name="dao" value="com.raytheon.uf.edex.plugin.goesr.dmw.dao.DMWDao" />
|
||||
<property name="record" value="com.raytheon.uf.common.dataplugin.goesr.dmw.DMWRecord" />
|
||||
</bean>
|
||||
|
||||
<bean factory-bean="pluginRegistry" factory-method="register">
|
||||
<constructor-arg ref="dmwPluginName"/>
|
||||
<constructor-arg ref="dmwProperties"/>
|
||||
</bean>
|
||||
</beans>
|
|
@ -1,51 +0,0 @@
|
|||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
||||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean class="com.raytheon.uf.common.logback.appender.ThreadBasedAppender"
|
||||
factory-method="registerThreadPattern">
|
||||
<constructor-arg value="satellite" />
|
||||
<constructor-arg value="Ingest.dmw.*" />
|
||||
</bean>
|
||||
|
||||
<bean id="dmwDecoder" class="com.raytheon.uf.edex.plugin.goesr.dmw.decoder.DMWDecoder" />
|
||||
|
||||
<!-- Filter out all southern hemisphere data -->
|
||||
<bean id="dmwSHFilter" class="com.raytheon.uf.edex.decodertools.core.filterimpl.PluginDataObjectFilter">
|
||||
<constructor-arg type="java.lang.String" value="dmw_filters.xml" />
|
||||
<constructor-arg type="java.lang.String" value="BASE" />
|
||||
</bean>
|
||||
|
||||
<bean id="dmwDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg value="dmw" />
|
||||
<constructor-arg value="jms-durable:queue:Ingest.dmw" />
|
||||
</bean>
|
||||
|
||||
<camelContext id="dmw-camel"
|
||||
xmlns="http://camel.apache.org/schema/spring"
|
||||
errorHandlerRef="errorHandler">
|
||||
|
||||
<!-- Begin dmw routes -->
|
||||
<route id="dmwIngestRoute">
|
||||
<from uri="jms-durable:queue:Ingest.dmw"/>
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>dmw</constant>
|
||||
</setHeader>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
<bean ref="extractWMOHeader" method="remove" />
|
||||
<bean ref="dmwDecoder" method="decode" />
|
||||
<bean ref="dmwSHFilter" method="filter" />
|
||||
<to uri="direct-vm:persistIndexAlert" />
|
||||
</pipeline>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
<to uri="log:dmw?level=ERROR"/>
|
||||
</doCatch>
|
||||
</doTry>
|
||||
</route>
|
||||
</camelContext>
|
||||
</beans>
|
|
@ -1,130 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.dmw.dao;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Map;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||
import com.raytheon.uf.common.dataplugin.goesr.dmw.DMWRecord;
|
||||
import com.raytheon.uf.common.datastorage.StorageException;
|
||||
import com.raytheon.uf.common.datastorage.StorageStatus;
|
||||
import com.raytheon.uf.common.pointdata.PointDataContainer;
|
||||
import com.raytheon.uf.common.pointdata.PointDataDescription;
|
||||
import com.raytheon.uf.edex.pointdata.PointDataPluginDao;
|
||||
|
||||
/**
|
||||
* Dao for Derived Motion Winds.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Apr 7, 2015 4334 nabowle Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author nabowle
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class DMWDao extends PointDataPluginDao<DMWRecord> {
|
||||
|
||||
/**
|
||||
* @param pluginName
|
||||
* @throws PluginException
|
||||
*/
|
||||
public DMWDao(String pluginName) throws PluginException {
|
||||
super(pluginName);
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.edex.pointdata.PointDataPluginDao#getKeysRequiredForFileName
|
||||
* ()
|
||||
*/
|
||||
@Override
|
||||
public String[] getKeysRequiredForFileName() {
|
||||
return new String[] { "dataTime.refTime" };
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.raytheon.uf.edex.pointdata.PointDataPluginDao#newObject()
|
||||
*/
|
||||
@Override
|
||||
public DMWRecord newObject() {
|
||||
return new DMWRecord();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* The following methods are overridden to effectively be NOOPs in order to
|
||||
* bypass HDF5.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Does nothing and returns a new StorageStatus.
|
||||
*/
|
||||
@Override
|
||||
public StorageStatus persistToHDF5(PluginDataObject... records) {
|
||||
return new StorageStatus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Does nothing and returns a new PointDataDescription.
|
||||
*/
|
||||
@Override
|
||||
public PointDataDescription getPointDataDescription(Map<String, Object> obj) {
|
||||
return new PointDataDescription();
|
||||
}
|
||||
|
||||
/**
|
||||
* Does nothing and returns a new PointDataContainer.
|
||||
*/
|
||||
@Override
|
||||
public PointDataContainer getPointData(File file, int[] indexes, int[] ids,
|
||||
String[] attributes, LevelRequest request) throws StorageException,
|
||||
FileNotFoundException {
|
||||
return new PointDataContainer();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.edex.pointdata.PointDataPluginDao#getPointDataFileName
|
||||
* (com.raytheon.uf.common.dataplugin.PluginDataObject)
|
||||
*/
|
||||
@Override
|
||||
public String getPointDataFileName(DMWRecord p) {
|
||||
// not needed for this datatype, but must be overridden.
|
||||
return "dmw.h5";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,312 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.dmw.decoder;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import ucar.ma2.Array;
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.edex.esb.Headers;
|
||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||
import com.raytheon.uf.common.dataplugin.goesr.dmw.DMWRecord;
|
||||
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
|
||||
/**
|
||||
* Decoder for Derived Motion Wind products.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Apr 7, 2015 4334 nabowle Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author nabowle
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class DMWDecoder {
|
||||
/**
|
||||
* The only Data Quality Flag indicating valid data. Any non-zero value
|
||||
* indicates an invalid point.
|
||||
*/
|
||||
private static final int VALID_DQF = 0;
|
||||
|
||||
private static final String MESOSCALE = "Mesoscale";
|
||||
|
||||
/** Pattern to extract mesoscale scene number from the dataset name. */
|
||||
private static final Pattern MESO_SCENE_PATTERN = Pattern
|
||||
.compile("DMWM(?<mesoscene>\\d)");
|
||||
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(DMWDecoder.class);
|
||||
|
||||
private static final Calendar epoch;
|
||||
|
||||
private static final String COVERAGE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.S'Z'";
|
||||
|
||||
static {
|
||||
epoch = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||
epoch.clear();
|
||||
epoch.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
epoch.set(Calendar.YEAR, 2000);
|
||||
epoch.set(Calendar.MONTH, Calendar.JANUARY);
|
||||
epoch.set(Calendar.DAY_OF_MONTH, 1);
|
||||
epoch.set(Calendar.HOUR_OF_DAY, 12);
|
||||
epoch.set(Calendar.MINUTE, 0);
|
||||
epoch.set(Calendar.SECOND, 0);
|
||||
epoch.set(Calendar.MILLISECOND, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public DMWDecoder() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode a GOES-R DMW file.
|
||||
*
|
||||
* @param data
|
||||
* The file data.
|
||||
* @param headers
|
||||
* The headers.
|
||||
* @return The decoded objects.
|
||||
*/
|
||||
public PluginDataObject[] decode(byte[] data, Headers headers) {
|
||||
|
||||
String traceId = "";
|
||||
|
||||
List<PluginDataObject> records = new ArrayList<>();
|
||||
|
||||
if (headers != null) {
|
||||
traceId = (String) headers.get("traceId");
|
||||
}
|
||||
|
||||
try {
|
||||
if (data != null && data.length > 0) {
|
||||
try {
|
||||
decodeData(data, traceId, records);
|
||||
} catch (Exception e) {
|
||||
statusHandler.error(traceId + "-Error in decode", e);
|
||||
} finally {
|
||||
if (records.isEmpty()) {
|
||||
statusHandler.info(String.format("%s - Decoded no obs",
|
||||
traceId));
|
||||
} else {
|
||||
statusHandler.info(String.format("%s - Decoded %d obs",
|
||||
traceId, records.size()));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
statusHandler.info(traceId + "- No data in file");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
statusHandler.error(traceId + "- Decoder error", e);
|
||||
}
|
||||
|
||||
return records.toArray(new PluginDataObject[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decodes the file, adding valid obs to the records list.
|
||||
*
|
||||
* @param messageData
|
||||
* The data.
|
||||
* @param traceId
|
||||
* The traceId.
|
||||
* @param records
|
||||
* The list to add valid records to.
|
||||
* @throws Exception
|
||||
* if there's any unrecoverable issues with the file.
|
||||
*/
|
||||
private void decodeData(byte[] messageData, String traceId,
|
||||
List<PluginDataObject> records) throws Exception {
|
||||
NetcdfFile dataFile = NetcdfFile.openInMemory(UUID.randomUUID()
|
||||
.toString(), messageData);
|
||||
|
||||
Variable latVar = dataFile.findVariable("lat");
|
||||
Variable lonVar = dataFile.findVariable("lon");
|
||||
Variable spdVar = dataFile.findVariable("wind_speed");
|
||||
Variable dirVar = dataFile.findVariable("wind_direction");
|
||||
Variable dqfVar = dataFile.findVariable("DQF"); // quality factor
|
||||
|
||||
// Full Disk, CONUS, or Mesoscale.
|
||||
String scene = dataFile.findGlobalAttribute("scene_id")
|
||||
.getStringValue();
|
||||
if (MESOSCALE.equals(scene)) {
|
||||
// determine which mesoscale scene from dataset name.
|
||||
String dataset = dataFile.findGlobalAttribute("dataset_name")
|
||||
.getStringValue();
|
||||
Matcher matcher = MESO_SCENE_PATTERN.matcher(dataset);
|
||||
if (matcher.find()) {
|
||||
String mesoScene = matcher.group("mesoscene");
|
||||
scene = scene + mesoScene;
|
||||
} else {
|
||||
statusHandler.info(traceId
|
||||
+ " - Using default Mesoscale Scene.");
|
||||
scene = scene + "1";
|
||||
}
|
||||
}
|
||||
String orbitalSlot = dataFile.findGlobalAttribute("orbital_slot")
|
||||
.getStringValue();
|
||||
int channel = dataFile.findVariable("band_id").readScalarInt();
|
||||
|
||||
if (latVar == null || lonVar == null || spdVar == null
|
||||
|| dirVar == null || dqfVar == null) {
|
||||
throw new IllegalArgumentException(
|
||||
"File does not contain a valid derived motion wind product.");
|
||||
}
|
||||
Array lats = latVar.read();
|
||||
Array lons = lonVar.read();
|
||||
Array spds = spdVar.read();
|
||||
Array dirs = dirVar.read();
|
||||
Array dqfs = dqfVar.read();
|
||||
|
||||
long latsSize = lats.getSize();
|
||||
if (latsSize != lons.getSize() || latsSize != spds.getSize()
|
||||
|| latsSize != dirs.getSize() || latsSize != dqfs.getSize()) {
|
||||
throw new IllegalArgumentException(
|
||||
"File data is not of the same length.");
|
||||
}
|
||||
|
||||
Calendar datetime = getDateTime(dataFile, traceId);
|
||||
|
||||
double lat;
|
||||
double lon;
|
||||
float speed;
|
||||
float direction;
|
||||
byte quality;
|
||||
DMWRecord record;
|
||||
SurfaceObsLocation location;
|
||||
while (lats.hasNext() && lons.hasNext() && spds.hasNext()
|
||||
&& dirs.hasNext() && dqfs.hasNext()) {
|
||||
lat = lats.nextDouble();
|
||||
lon = lons.nextDouble();
|
||||
speed = spds.nextFloat();
|
||||
direction = dirs.nextFloat();
|
||||
quality = dqfs.nextByte();
|
||||
|
||||
if (quality == VALID_DQF) {
|
||||
record = new DMWRecord();
|
||||
record.setScene(scene);
|
||||
record.setChannel(channel);
|
||||
record.setOrbitalSlot(orbitalSlot);
|
||||
|
||||
location = new SurfaceObsLocation();
|
||||
location.assignLocation((float) lat, (float) lon);
|
||||
location.generateCoordinateStationId();
|
||||
record.setLocation(location);
|
||||
|
||||
record.setWindSpd(Float.valueOf(speed));
|
||||
record.setWindDir(Float.valueOf(direction));
|
||||
|
||||
record.setDataTime(new DataTime(datetime));
|
||||
|
||||
records.add(record);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param dataFile
|
||||
* The NetCDF File
|
||||
* @return The mid-point between the start and end image scan.
|
||||
* @throws Exception
|
||||
* If the dates are invalid.
|
||||
*/
|
||||
private Calendar getDateTime(NetcdfFile dataFile, String traceId) throws Exception {
|
||||
/*
|
||||
* TODO: Using the time variable doesn't match the coverage start/end
|
||||
* dates. Not sure if I'm wrong or it's the data. Also, some time values
|
||||
* are not filled, so for now I'm parsing the coverage date attributes
|
||||
*/
|
||||
// Variable timeVar = dataFile.findVariable("time");
|
||||
// double timeOffset = timeVar.readScalarDouble();
|
||||
// int timeSec = (int) (timeOffset);
|
||||
|
||||
// Calendar date = (Calendar) epoch.clone();
|
||||
// date.add(Calendar.SECOND, timeSec);
|
||||
// date.add(Calendar.MILLISECOND, (int) ((timeOffset - timeSec) *
|
||||
// 1000));
|
||||
|
||||
// return date;
|
||||
|
||||
Calendar date;
|
||||
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(COVERAGE_FORMAT);
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
|
||||
Attribute startAttr = dataFile
|
||||
.findGlobalAttribute("time_coverage_start");
|
||||
Attribute endAttr = dataFile.findGlobalAttribute("time_coverage_end");
|
||||
|
||||
Date start;
|
||||
Date end;
|
||||
if (startAttr != null && endAttr != null) {
|
||||
start = sdf.parse(startAttr.getStringValue());
|
||||
end = sdf.parse(endAttr.getStringValue());
|
||||
|
||||
Calendar startCal = (Calendar) epoch.clone();
|
||||
startCal.setTime(start);
|
||||
Calendar endCal = (Calendar) epoch.clone();
|
||||
endCal.setTime(end);
|
||||
|
||||
long midpointMs = (startCal.getTimeInMillis() + endCal.getTimeInMillis()) / 2;
|
||||
|
||||
date = (Calendar) epoch.clone();
|
||||
date.setTimeInMillis(midpointMs);
|
||||
} else if (endAttr != null) {
|
||||
end = sdf.parse(endAttr.getStringValue());
|
||||
date = (Calendar) epoch.clone();
|
||||
date.setTime(end);
|
||||
statusHandler.warn(traceId
|
||||
+ " - Using coverage end date as reftime.");
|
||||
} else if (startAttr != null) {
|
||||
start = sdf.parse(startAttr.getStringValue());
|
||||
date = (Calendar) epoch.clone();
|
||||
date.setTime(start);
|
||||
statusHandler.warn(traceId
|
||||
+ " - Using coverage start date as reftime.");
|
||||
} else {
|
||||
throw new IllegalArgumentException("Coverage period not found.");
|
||||
}
|
||||
|
||||
return date;
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<purgeRuleSet>
|
||||
<defaultRule>
|
||||
<period>02-00:00:00</period>
|
||||
</defaultRule>
|
||||
</purgeRuleSet>
|
|
@ -1,23 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<requestPatterns xmlns:ns2="group">
|
||||
<regex>^.*(DMW[A-Z0-9]{1,}-M[0-9]C[0-9]{2}).*\.nc$</regex>
|
||||
</requestPatterns>
|
|
@ -1,32 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<pluginDataObjectFilter>
|
||||
<filterElements xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="rectFilterElement">
|
||||
<!-- Exclude all southern hemisphere data. -->
|
||||
<filterElementName>Exclude SouthernHemisphere</filterElementName>
|
||||
<filterType>EXCLUDE</filterType>
|
||||
<upperLeftLat>-0.1</upperLeftLat>
|
||||
<upperLeftLon>-180.0</upperLeftLon>
|
||||
<lowerRightLat>-90.0</lowerRightLat>
|
||||
<lowerRightLon>180.0</lowerRightLon>
|
||||
</filterElements>
|
||||
<filterName>Point.DMW</filterName>
|
||||
</pluginDataObjectFilter>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.edex.plugin.goesr</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1,20 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: GOESR Decoder
|
||||
Bundle-SymbolicName: com.raytheon.uf.edex.plugin.goesr
|
||||
Bundle-Version: 1.15.0.qualifier
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||
Require-Bundle: javax.measure,
|
||||
ucar.nc2,
|
||||
com.raytheon.uf.common.status,
|
||||
com.raytheon.uf.common.dataplugin.satellite,
|
||||
com.raytheon.edex.plugin.satellite,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.edex.database,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.datastorage,
|
||||
com.raytheon.uf.edex.core,
|
||||
com.raytheon.uf.common.localization;bundle-version="1.14.1",
|
||||
org.slf4j;bundle-version="1.7.5"
|
||||
Export-Package: com.raytheon.uf.edex.plugin.goesr
|
|
@ -1,5 +0,0 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
res/
|
|
@ -1,124 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<netcdf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2 http://www.unidata.ucar.edu/schemas/netcdf/ncml-2.2.xsd" xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
|
||||
|
||||
<!-- This NCML defines a sectorized cloud and moisture CONUS product tile. The values for the attributes are representative. -->
|
||||
<!-- Satellite = West -->
|
||||
<!-- Projection = Lambert Conformal -->
|
||||
<!-- Resolution = 2 km -->
|
||||
<!-- Mode = 3 -->
|
||||
<!-- Bit depth = 14 bits -->
|
||||
<!-- Periodicity = 5 minutes -->
|
||||
<!-- Channel 7 (6.19)-->
|
||||
<!-- Tile Size = 1024 x 1024 -->
|
||||
|
||||
<!-- Dimension Statements -->
|
||||
<!-- If the product image is not evenly divisable by the tile size, the residual data going into the edge tiles will have different dimensions than the tile size specified. -->
|
||||
<dimension name="x" length= "1024" isUnlimited ="false"/>
|
||||
<dimension name="y" length= "1024" isUnlimited ="false"/>
|
||||
|
||||
<!-- Variable Statements -->
|
||||
<variable name="sectorized_cmi" type="short" shape="y x">
|
||||
<attribute name="standard_name" value="brightness_temperature" type="string"/>
|
||||
<attribute name="units" value="kelvin" type="string"/>
|
||||
<attribute name="grid_mapping" value="lambert projection" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation -->
|
||||
<attribute name="add_offset" value="" type="float"/>
|
||||
<attribute name="scale_factor" value="" type="float"/>
|
||||
<attribute name="_FillValue" value="0" type="short"/>
|
||||
<attribute name="valid_min" value="0" type="int"/>
|
||||
<attribute name="valid_max" value="16383" type="int"/>
|
||||
</variable>
|
||||
|
||||
<!-- Coordinate Variables -->
|
||||
|
||||
<variable name="x" type="short" shape="x">
|
||||
<attribute name="standard_name" value="projection_x_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
|
||||
</variable>
|
||||
|
||||
<variable name="y" type="short" shape="y">
|
||||
<attribute name="standard_name" value="projection_y_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Projection Variable -->
|
||||
|
||||
<variable name="lambert_projection">
|
||||
<attribute name="grid_mapping_name" value="lambert_conformal_conic" type="string"/>
|
||||
<!-- The value of standard_parallel,longitude_of_central_meridian, and latitude_of_projection_origin will vary and will be calculated at tile creation.-->
|
||||
<attribute name="standard_parallel" value="" type="double"/>
|
||||
<attribute name="longitude_of_central_meridian" value="" type="double"/>
|
||||
<attribute name="latitude_of_projection_origin" value="" type="double"/>
|
||||
<attribute name="false_easting" value="0" type="double"/>
|
||||
<attribute name="false_northing" value="0" type="double"/>
|
||||
<attribute name="semi_major" value="6371200" type="double"/>
|
||||
<attribute name="semi_minor" value="6371200" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Global Metadata -->
|
||||
<!-- title provides a succinct description of what is in the dataset -->
|
||||
<attribute name="title" value="This is one tile of a CONUS product. The data comes from the west satellite
|
||||
and uses a lambert conformal projection with a resolution of 2 kilometers. The satellite is using mode 3. The bit depth is
|
||||
14 bits. The periodicity is 5 minutes and the tile size is 1024 x 1024."
|
||||
type="string"/>
|
||||
<!-- ICD_version is the file_name of the current GS to AWIPS ICD including the version number -->
|
||||
<attribute name="ICD_version" value="file_name" type="string"/>
|
||||
<attribute name="Conventions" value="CF-1.6" type="string"/>
|
||||
<!-- production_location can have a value of WCDAS or RBU depending on where the product was produced -->
|
||||
<attribute name="production_location" value="WCDAS" type="string"/>
|
||||
<attribute name="product_name" value="WConus1-M3C3-T001" type="string"/>
|
||||
<attribute name="channel_id" value="7" type="integer"/>
|
||||
<attribute name="central_wavelength" value="6.19" type="float"/>
|
||||
<attribute name="satellite_id" value="GOES-16" type="string"/>
|
||||
<attribute name="satellite_mode" value="3" type="integer"/>
|
||||
<!-- periodicity is the delivery rate of the product from GS to AWIPS. It must be a multiple of the refresh rate. -->
|
||||
<attribute name="periodicity" value="5" type="float"/>
|
||||
<!-- bit depth can have values of 8-14 -->
|
||||
<attribute name="bit_depth" value="14" type="int"/>
|
||||
<attribute name="projection" value="Lambert Conformal" type="string"/>
|
||||
<attribute name="source_spatial_resolution" value="2" type="float"/>
|
||||
<attribute name="request_spatial_resolution" value="2" type="float"/>
|
||||
<!-- start_date_time is the start date and time of when the satellite began capturing the Full Disk scene -->
|
||||
<!-- The format is YYYYDDDhhmmss where YYYY = Year DDD = Day of the Year hh = hour of the day mm = minutes of day ss = seconds of day-->
|
||||
<attribute name="start_date_time" value="2011365080000" type="string"/>
|
||||
<!-- the value in number_product_tiles below was taken from the DTWT and is an estimate. The actual
|
||||
value that goes into this attribute will be calculated at tile creation. -->
|
||||
<attribute name="number_product_tiles" value="44" type="integer"/>
|
||||
<!-- The default value of product_tile_size is 1024 but this value can be set to a value from 256 to 2048 -->
|
||||
<attribute name="product_tile_size" value="1024" type="integer"/>
|
||||
<attribute name="product_rows" value="2560" type="integer"/>
|
||||
<attribute name="product_columns" value="2200" type="integer"/>
|
||||
<attribute name="product_tile_width" value="1024" type="integer"/>
|
||||
<attribute name="product_tile_height" value="1024" type="integer"/>
|
||||
<attribute name="tile_row_offset" value="0" type="integer"/>
|
||||
<attribute name="tile_column_offset" value="0" type="integer"/>
|
||||
<attribute name="satellite_latitude" value="0" type="float"/>
|
||||
<attribute name="satellite_longitude" value="-137" type="float"/>
|
||||
<attribute name="satellite_altitude" value="35785831" type="float"/>
|
||||
<attribute name="source_scene" value="CONUS" type="string"/>
|
||||
<attribute name="product_center_latitude" value="0" type="double"/>
|
||||
<attribute name="product_center_longitude" value="-137" type="double"/>
|
||||
<!-- tile_center_latitude and tile_center_longitude values are variable and will be calculated at tile creation-->
|
||||
<attribute name="tile_center_latitude" value="" type="double"/>
|
||||
<attribute name="tile_center_longitude" value="" type="double"/>
|
||||
<attribute name="pixel_x_size" value="2.0" type="double"/>
|
||||
<attribute name="pixel_y_size" value="2.0" type="double"/>
|
||||
|
||||
</netcdf>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<netcdf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2 http://www.unidata.ucar.edu/schemas/netcdf/ncml-2.2.xsd" xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
|
||||
|
||||
<!-- This NCML defines a sectorized cloud and moisture Full Disk product tile. The values for the attributes are representative. -->
|
||||
<!-- Satellite = West -->
|
||||
<!-- Projection = Fixed Grid(WGS-84) -->
|
||||
<!-- Resolution = 6 km -->
|
||||
<!-- Mode = 4 -->
|
||||
<!-- Bit depth = 12 bits -->
|
||||
<!-- Periodicity = 5 minutes -->
|
||||
<!-- Channel 2 -->
|
||||
<!-- Tile Size = 1024 x 1024 -->
|
||||
<!-- Tile # 1 -->
|
||||
|
||||
<!-- Dimension Statements -->
|
||||
<!-- If the product image is not evenly divisable by the tile size, the residual data going into the edge tiles will have different dimensions than the tile size specified. -->
|
||||
<dimension name="x" length= "1024" isUnlimited ="false"/>
|
||||
<dimension name="y" length= "1024" isUnlimited ="false"/>
|
||||
|
||||
<!-- Variable Statements -->
|
||||
|
||||
<variable name="sectorized_cmi" type="short" shape="y x">
|
||||
<attribute name="standard_name" value="toa_bidirectional_reflectance" type="string"/>
|
||||
<!-- The value "1" for units below is a standard approach to representing quantities that are fractions or parts of a whole -->
|
||||
<attribute name="units" value="1" type="string"/>
|
||||
<attribute name="grid_mapping" value="fixedgrid_projection" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation -->
|
||||
<attribute name="add_offset" value="" type="float"/>
|
||||
<attribute name="scale_factor" value="" type="float"/>
|
||||
<attribute name="_FillValue" value="0" type="short"/>
|
||||
<attribute name="valid_min" value="0" type="int"/>
|
||||
<attribute name="valid_max" value="4095" type="int"/>
|
||||
</variable>
|
||||
|
||||
<!-- Coordinate Variables -->
|
||||
|
||||
<variable name="x" type="short" shape="x">
|
||||
<attribute name="standard_name" value="projection_x_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
|
||||
</variable>
|
||||
|
||||
<variable name="y" type="short" shape="y">
|
||||
<attribute name="standard_name" value="projection_y_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Projection Variable -->
|
||||
|
||||
<variable name="fixed_projection">
|
||||
<attribute name="grid_mapping_name" value="vertical_perspective" type="string"/>
|
||||
<attribute name="latitude_of_projection_origin" value="0" type="double"/>
|
||||
<attribute name="longitude_of_projection_origin" value="-137" type="double"/>
|
||||
<attribute name="semi_major" value="6378137" type="double"/>
|
||||
<attribute name="semi_minor" value="6356732.314" type="double"/>
|
||||
<attribute name="perspective_point_height" value="35785831" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Global Metadata -->
|
||||
<!-- title provides a succinct description of what is in the dataset -->
|
||||
<attribute name="title" value="This is one tile of a Full Disk product. The data comes from the west satellite
|
||||
and uses a fixed grid projection with a resolution of 6 kilometers. The satellite is using mode 4. The bit depth is
|
||||
12 bits. The peridicity is 5 minutes and the tile size is 1024 x 1024."
|
||||
type="string"/>
|
||||
<!-- ICD_version is the file_name of the current GS to AWIPS ICD including the version number -->
|
||||
<attribute name="ICD_version" value="ICD Filename" type="string"/>
|
||||
<attribute name="Conventions" value="CF-1.6" type="string"/>
|
||||
<!-- production_location can have a value of WCDAS or RBU depending on where the product was produced -->
|
||||
<attribute name="production_location" value="WCDAS" type="string"/>
|
||||
<attribute name="product_name" value="WFD6-M4C02-T001" type="string"/>
|
||||
<attribute name="channel_id" value="2" type="integer"/>
|
||||
<attribute name="central_wavelength" value="0.64" type="float"/>
|
||||
<attribute name="satellite_id" value="GOES-16" type="string"/>
|
||||
<attribute name="satellite_mode" value="4" type="integer"/>
|
||||
<!-- periodicity is the delivery rate of the product from GS to AWIPS. It must be a multiple of the refresh rate. -->
|
||||
<attribute name="periodicity" value="5" type="float"/>
|
||||
<!-- bit depth can have values of 8-14 -->
|
||||
<attribute name="bit_depth" value="12" type="int"/>
|
||||
<attribute name="projection" value="Fixed_Grid" type="string"/>
|
||||
<attribute name="source_spatial_resolution" value=".5" type="float"/>
|
||||
<attribute name="request_spatial_resolution" value="6" type="float"/>
|
||||
<!-- start_date_time is the start date and time of when the satellite began capturing the Full Disk scene -->
|
||||
<!-- The format is YYYYDDDhhmmss where YYYY = Year DDD = Day of the Year hh = hour of the day mm = minutes of day ss = seconds of day-->
|
||||
<attribute name="start_date_time" value="2011365080000" type="string"/>
|
||||
<!-- the value in number_product_tiles below was taken from the DTWT and is an estimate. The actual value that goes into this attribute will be calculated at tile creation. -->
|
||||
<attribute name="number_product_tiles" value="4" type="integer"/>
|
||||
<!-- The default value of product_tile_size is 1024 but this value can be set to a value from 256 to 2048 -->
|
||||
<attribute name="product_tile_size" value="1024" type="integer"/>
|
||||
<attribute name="product_rows" value="1808" type="integer"/>
|
||||
<attribute name="product_columns" value="1808" type="integer"/>
|
||||
<attribute name="product_tile_width" value="1024" type="integer"/>
|
||||
<attribute name="product_tile_height" value="1024" type="integer"/>
|
||||
<attribute name="tile_row_offset" value="0" type="integer"/>
|
||||
<attribute name="tile_column_offset" value="0" type="integer"/>
|
||||
<attribute name="satellite_latitude" value="0" type="float"/>
|
||||
<attribute name="satellite_longitude" value="-137" type="float"/>
|
||||
<attribute name="satellite_altitude" value="35785831" type="float"/>
|
||||
<attribute name="source_scene" value="Full Disk" type="string"/>
|
||||
<attribute name="product_center_latitude" value="0" type="double"/>
|
||||
<attribute name="product_center_longitude" value="-137" type="double"/>
|
||||
<!-- tile_center_latitude tile_center_longitude values are variable and will be calculated at tile creation-->
|
||||
<attribute name="tile_center_latitude" value="" type="double"/>
|
||||
<attribute name="tile_center_longitude" value="" type="double"/>
|
||||
<attribute name="pixel_x_size" value="6.0" type="double"/>
|
||||
<attribute name="pixel_y_size" value="6.0" type="double"/>
|
||||
|
||||
</netcdf>
|
||||
|
||||
|
|
@ -1,125 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<netcdf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2 http://www.unidata.ucar.edu/schemas/netcdf/ncml-2.2.xsd" xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
|
||||
|
||||
<!-- This NCML defines a sectorized cloud and moisture meso product tile. The values for the attributes are representative. -->
|
||||
<!-- Satellite = West -->
|
||||
<!-- Projection = Lambert Conformal -->
|
||||
<!-- Resolution = 1 km -->
|
||||
<!-- Mode = 3 -->
|
||||
<!-- Bit depth = 12 bits -->
|
||||
<!-- Periodicity = .5 minutes -->
|
||||
<!-- Channel 1 (0.47) -->
|
||||
<!-- Tile Size = 1024 x 1024 -->
|
||||
<!-- Tile # 1 -->
|
||||
<!-- Center point of meso is lat = 0 lon = -145 -->
|
||||
|
||||
<!-- Dimension Statements -->
|
||||
<!-- If the product image is not evenly divisable by the tile size, the residual data going into the edge tiles will have different dimensions than the tile size specified. -->
|
||||
<dimension name="x" length= "1024" isUnlimited ="false"/>
|
||||
<dimension name="y" length= "1024" isUnlimited ="false"/>
|
||||
|
||||
<!-- Variable Statements -->
|
||||
|
||||
<variable name="sectorized_cmi" type="short" shape="y x">
|
||||
<attribute name="standard_name" value="toa_bidirectional_reflectance" type="string"/>
|
||||
<!-- The value "1" for units below is a standard approach to representing quantities that are fractions or parts of a whole -->
|
||||
<attribute name="units" value="1" type="string"/>
|
||||
<attribute name="grid_mapping" value="lambert_projection" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="float"/>
|
||||
<attribute name="scale_factor" value="" type="float"/>
|
||||
<attribute name="_FillValue" value="0" type="short"/>
|
||||
<attribute name="valid_min" value="0" type="int"/>
|
||||
<attribute name="valid_max" value="4095" type="int"/>
|
||||
</variable>
|
||||
|
||||
<!-- Coordinate Variables -->
|
||||
|
||||
<variable name="x" type="short" shape="x">
|
||||
<attribute name="standard_name" value="projection_x_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation. These
|
||||
values will be computed such that the values in the variable will be the position of the corresponding
|
||||
column and row in the full image -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
|
||||
</variable>
|
||||
<variable name="y" type="short" shape="y">
|
||||
<attribute name="standard_name" value="projection_y_coordinate" type="string"/>
|
||||
<attribute name="units" value="microradian" type="string"/>
|
||||
<!-- add_offset and scale_factor will have values that are calculated at the time of creation -->
|
||||
<attribute name="add_offset" value="" type="double"/>
|
||||
<attribute name="scale_factor" value="" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Projection Variable -->
|
||||
|
||||
<variable name="lambert_projection">
|
||||
<attribute name="grid_mapping_name" value="lambert_conformal_conic" type="string"/>
|
||||
<!-- The value of standard_parallel,longitude_of_central_meridian, and latitude_of_projection_origin will vary and will be calculated at tile creation.-->
|
||||
<attribute name="standard_parallel" value="" type="double"/>
|
||||
<attribute name="longitude_of_central_meridian" value="" type="double"/>
|
||||
<attribute name="latitude_of_projection_origin" value="" type="double"/>
|
||||
<attribute name="false_easting" value="0" type="double"/>
|
||||
<attribute name="false_northing" value="0" type="double"/>
|
||||
<attribute name="semi_major" value="6371200" type="double"/>
|
||||
<attribute name="semi_minor" value="6371200" type="double"/>
|
||||
</variable>
|
||||
|
||||
<!-- Global Metadata -->
|
||||
<!-- title provides a succinct description of what is in the dataset -->
|
||||
<attribute name="title" value="This is one tile of a meso product. The data comes from the west satellite
|
||||
and uses a lambert conformal projection with a resolution of 1 kilometer. The satellite is using mode 3. The bit depth is
|
||||
12 bits. The peridicity is .5 minutes and the tile size is 1024 x 1024."
|
||||
type="string"/>
|
||||
<!-- ICD_version is the file_name of the current GS to AWIPS ICD including the version number -->
|
||||
<attribute name="ICD_version" value="file_name" type="string"/>
|
||||
<attribute name="Conventions" value="CF-1.6" type="string"/>
|
||||
<!-- production_location can have a value of WCDAS or RBU depending on where the product was produced -->
|
||||
<attribute name="production_location" value="WCDAS" type="string"/>
|
||||
<attribute name="product_name" value="WMESO5S1-M3C1-T001" type="string"/>
|
||||
<attribute name="channel_id" value="1" type="integer"/>
|
||||
<attribute name="central_wavelength" value="0.47" type="float"/>
|
||||
<attribute name="satellite_id" value="GOES-16" type="string"/>
|
||||
<attribute name="satellite_mode" value="3" type="integer"/>
|
||||
<!-- periodicity is the delivery rate of the product from GS to AWIPS. It must be a multiple of the refresh rate. -->
|
||||
<attribute name="periodicity" value=".5" type="float"/>
|
||||
<!-- bit depth can have values of 8-14 -->
|
||||
<attribute name="bit_depth" value="12" type="int"/>
|
||||
<attribute name="projection" value="Lambert Conformal" type="string"/>
|
||||
<attribute name="source_spatial_resolution" value="1" type="float"/>
|
||||
<attribute name="request_spatial_resolution" value="1" type="float"/>
|
||||
<!-- start_date_time is the start date and time of when the satellite began capturing the Full Disk scene -->
|
||||
<!-- The format is YYYYDDDhhmmss where YYYY = Year DDD = Day of the Year hh = hour of the day mm = minutes of day ss = seconds of day-->
|
||||
<attribute name="start_date_time" value="2011365080000" type="string"/>
|
||||
<!-- the value in number_product_tiles below was taken from the DTWT and is an estimate. The actual value that goes into this attribute will be calculated at tile creation. -->
|
||||
<attribute name="number_product_tiles" value="3" type="integer"/>
|
||||
<!-- The default value of product_tile_size is 1024 but this value can be set to a value from 256 to 2048 -->
|
||||
<attribute name="product_tile_size" value="1024" type="integer"/>
|
||||
<attribute name="product_rows" value="1250" type="integer"/>
|
||||
<attribute name="product_columns" value="1500" type="integer"/>
|
||||
<attribute name="product_tile_width" value="1024" type="integer"/>
|
||||
<attribute name="product_tile_height" value="1024" type="integer"/>
|
||||
<attribute name="tile_row_offset" value="0" type="integer"/>
|
||||
<attribute name="tile_column_offset" value="0" type="integer"/>
|
||||
<attribute name="satellite_latitude" value="0" type="float"/>
|
||||
<attribute name="satellite_longitude" value="-137" type="float"/>
|
||||
<attribute name="satellite_altitude" value="35785831" type="float"/>
|
||||
<attribute name="source_scene" value="Mesoscale-1" type="string"/>
|
||||
<attribute name="product_center_latitude" value="0" type="double"/>
|
||||
<attribute name="product_center_longitude" value="-145" type="double"/>
|
||||
<!-- tile_center_latitude tile_center_longitude values are variable and will be calculated at tile creation-->
|
||||
<attribute name="tile_center_latitude" value="" type="double"/>
|
||||
<attribute name="tile_center_longitude" value="" type="double"/>
|
||||
<attribute name="pixel_x_size" value="1" type="double"/>
|
||||
<attribute name="pixel_y_size" value="1" type="double"/>
|
||||
|
||||
</netcdf>
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,273 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsd:schema targetNamespace="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" xmlns:thredds="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0" elementFormDefault="qualified">
|
||||
|
||||
<!-- XML encoding of Netcdf container object -->
|
||||
<xsd:element name="netcdf">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:choice minOccurs="0">
|
||||
<xsd:element name="readMetadata"/>
|
||||
<xsd:element name="explicit"/>
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element ref="group"/>
|
||||
<xsd:element ref="dimension"/>
|
||||
<xsd:element ref="variable"/>
|
||||
<xsd:element ref="attribute"/>
|
||||
<xsd:element ref="remove"/>
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:element ref="aggregation" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="location" type="xsd:anyURI"/>
|
||||
<xsd:attribute name="id" type="xsd:string"/>
|
||||
<xsd:attribute name="title" type="xsd:string"/>
|
||||
<xsd:attribute name="enhance" type="xsd:string"/>
|
||||
<xsd:attribute name="addRecords" type="xsd:boolean"/>
|
||||
|
||||
<!-- iosp class name -->
|
||||
<xsd:attribute name="iosp" type="xsd:string"/>
|
||||
<!-- iosp parameter -->
|
||||
<xsd:attribute name="iospParam" type="xsd:string"/>
|
||||
<!-- raf buffer size -->
|
||||
<xsd:attribute name="bufferSize" type="xsd:int"/>
|
||||
|
||||
<!-- for aggregations -->
|
||||
<xsd:attribute name="ncoords" type="xsd:string"/>
|
||||
<xsd:attribute name="coordValue" type="xsd:string"/>
|
||||
<xsd:attribute name="section" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- XML encoding of group object -->
|
||||
<xsd:element name="group">
|
||||
<xsd:complexType>
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element ref="dimension"/>
|
||||
<xsd:element ref="variable"/>
|
||||
<xsd:element ref="attribute"/>
|
||||
<xsd:element ref="group"/>
|
||||
<xsd:element ref="enumTypedef"/>
|
||||
<xsd:element ref="remove"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="orgName" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- XML encoding of dimension object -->
|
||||
<xsd:element name="dimension">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="length" type="xsd:nonNegativeInteger"/>
|
||||
<xsd:attribute name="isUnlimited" type="xsd:boolean" default="false"/>
|
||||
<xsd:attribute name="isVariableLength" type="xsd:boolean" default="false"/>
|
||||
<xsd:attribute name="isShared" type="xsd:boolean" default="true"/>
|
||||
<xsd:attribute name="orgName" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- XML encoding of Variable object -->
|
||||
<xsd:element name="variable">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="values" minOccurs="0"/>
|
||||
<xsd:element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="logicalSection" minOccurs="0"/>
|
||||
<xsd:element ref="logicalSlice" minOccurs="0"/>
|
||||
<xsd:element ref="remove" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="type" type="DataType"/>
|
||||
<xsd:attribute name="shape" type="xsd:token"/>
|
||||
<xsd:attribute name="orgName" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- XML encoding of values -->
|
||||
<xsd:element name="values">
|
||||
<xsd:complexType mixed="true">
|
||||
<xsd:attribute name="start" type="xsd:float"/>
|
||||
<xsd:attribute name="increment" type="xsd:float"/>
|
||||
<xsd:attribute name="npts" type="xsd:int"/>
|
||||
<xsd:attribute name="separator" type="xsd:string"/>
|
||||
<xsd:attribute name="fromAttribute" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- XML encoding of Attribute object -->
|
||||
<xsd:element name="attribute">
|
||||
<xsd:complexType mixed="true">
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="type" type="DataType" default="String"/>
|
||||
<xsd:attribute name="value" type="xsd:string"/>
|
||||
<xsd:attribute name="separator" type="xsd:string"/>
|
||||
<xsd:attribute name="orgName" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- possible data types for Variable, Attribute objects -->
|
||||
<xsd:simpleType name="DataType">
|
||||
<xsd:restriction base="xsd:token">
|
||||
<xsd:enumeration value="byte"/>
|
||||
<xsd:enumeration value="char"/>
|
||||
<xsd:enumeration value="short"/>
|
||||
<xsd:enumeration value="int"/>
|
||||
<xsd:enumeration value="long"/>
|
||||
<xsd:enumeration value="float"/>
|
||||
<xsd:enumeration value="double"/>
|
||||
<xsd:enumeration value="String"/>
|
||||
<xsd:enumeration value="string"/>
|
||||
<xsd:enumeration value="Structure"/>
|
||||
<xsd:enumeration value="Sequence"/>
|
||||
<xsd:enumeration value="opaque"/>
|
||||
<xsd:enumeration value="enum1"/>
|
||||
<xsd:enumeration value="enum2"/>
|
||||
<xsd:enumeration value="enum4"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<!-- XML encoding of enum typedef object -->
|
||||
<xsd:element name="enumTypedef">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="map" minOccurs="1" maxOccurs="unbounded">
|
||||
<xsd:complexType mixed="true">
|
||||
<xsd:attribute name="value" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="type" type="DataType" default="enum1"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
|
||||
<!-- Dataset **********************************************************************-->
|
||||
|
||||
<xsd:element name="remove">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="type" type="ObjectType" use="required"/>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:simpleType name="ObjectType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="attribute"/>
|
||||
<xsd:enumeration value="dimension"/>
|
||||
<xsd:enumeration value="variable"/>
|
||||
<xsd:enumeration value="group"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<!-- logical view: use only a section of original -->
|
||||
<xsd:element name="logicalSection">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="section" type="xsd:token" use="required"/> <!-- creates anonymous dimension -->
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="logicalSlice">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="dimName" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="index" type="xsd:int" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- aggregation -->
|
||||
<xsd:element name="aggregation">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
|
||||
<!-- experimental - modify each dataset in aggregation -->
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element ref="group"/>
|
||||
<xsd:element ref="dimension"/>
|
||||
<xsd:element ref="variable"/>
|
||||
<xsd:element ref="attribute"/>
|
||||
<xsd:element ref="remove"/>
|
||||
</xsd:choice>
|
||||
|
||||
<xsd:element name="variableAgg" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element ref="promoteGlobalAttribute" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="cacheVariable" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element ref="netcdf" minOccurs="0" maxOccurs="unbounded"/>
|
||||
|
||||
<xsd:element name="scan" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="location" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="regExp" type="xsd:string"/>
|
||||
<xsd:attribute name="suffix" type="xsd:string"/>
|
||||
<xsd:attribute name="subdirs" type="xsd:boolean" default="true"/>
|
||||
<xsd:attribute name="olderThan" type="xsd:string"/>
|
||||
|
||||
<xsd:attribute name="dateFormatMark" type="xsd:string"/>
|
||||
<xsd:attribute name="enhance" type="xsd:boolean"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- fmrcSingle only -->
|
||||
<xsd:element name="scanFmrc" minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="location" type="xsd:string" use="required"/>
|
||||
<xsd:attribute name="regExp" type="xsd:string"/>
|
||||
<xsd:attribute name="suffix" type="xsd:string"/>
|
||||
<xsd:attribute name="subdirs" type="xsd:boolean" default="true"/>
|
||||
<xsd:attribute name="olderThan" type="xsd:string"/>
|
||||
|
||||
<xsd:attribute name="runDateMatcher" type="xsd:string"/>
|
||||
<xsd:attribute name="forecastDateMatcher" type="xsd:string"/>
|
||||
<xsd:attribute name="forecastOffsetMatcher" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:sequence>
|
||||
|
||||
<xsd:attribute name="type" type="AggregationType" use="required"/>
|
||||
<xsd:attribute name="dimName" type="xsd:token"/>
|
||||
<xsd:attribute name="recheckEvery" type="xsd:string"/>
|
||||
<xsd:attribute name="timeUnitsChange" type="xsd:boolean"/>
|
||||
|
||||
<!-- fmrc, fmrcSingle only -->
|
||||
<xsd:attribute name="fmrcDefinition" type="xsd:string"/>
|
||||
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- type of aggregation -->
|
||||
<xsd:simpleType name="AggregationType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="forecastModelRunCollection"/>
|
||||
<xsd:enumeration value="forecastModelRunSingleCollection"/>
|
||||
<xsd:enumeration value="joinExisting"/>
|
||||
<xsd:enumeration value="joinNew"/>
|
||||
<xsd:enumeration value="tiled"/>
|
||||
<xsd:enumeration value="union"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
|
||||
<!-- promote global attribute to variable -->
|
||||
<xsd:element name="promoteGlobalAttribute">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
<xsd:attribute name="orgName" type="xsd:string"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<!-- cache a Variable for efficiency -->
|
||||
<xsd:element name="cacheVariable">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="name" type="xsd:token" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
</xsd:schema>
|
|
@ -1,57 +0,0 @@
|
|||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
|
||||
|
||||
<bean class="com.raytheon.uf.common.logback.appender.ThreadBasedAppender"
|
||||
factory-method="registerThreadPattern">
|
||||
<constructor-arg value="satellite" />
|
||||
<constructor-arg value="Ingest.GOESR.*" />
|
||||
</bean>
|
||||
|
||||
<bean id="goesrPluginName" class="java.lang.String">
|
||||
<constructor-arg type="java.lang.String" value="goesr" />
|
||||
</bean>
|
||||
|
||||
<bean id="goesrDistRegistry" factory-bean="distributionSrv"
|
||||
factory-method="register">
|
||||
<constructor-arg ref="goesrPluginName" />
|
||||
<constructor-arg value="jms-durable:queue:Ingest.GOESR" />
|
||||
</bean>
|
||||
|
||||
<bean id="goesrPathManager" class="com.raytheon.uf.common.localization.PathManagerFactory" factory-method="getPathManager"/>
|
||||
|
||||
<bean id="goesrProjectionFactory"
|
||||
class="com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrProjectionFactory" />
|
||||
|
||||
<bean id="goesrDecoder" class="com.raytheon.uf.edex.plugin.goesr.GoesrDecoder">
|
||||
<property name="projectionFactory" ref="goesrProjectionFactory" />
|
||||
<property name="pathManager" ref="goesrPathManager" />
|
||||
</bean>
|
||||
|
||||
<camelContext id="goesr-camel" xmlns="http://camel.apache.org/schema/spring"
|
||||
errorHandlerRef="errorHandler">
|
||||
|
||||
<route id="goesrIngestRoute">
|
||||
<from uri="jms-durable:queue:Ingest.GOESR" />
|
||||
<setHeader headerName="pluginName">
|
||||
<constant>satellite</constant>
|
||||
</setHeader>
|
||||
<setHeader headerName="dataType">
|
||||
<constant>goes-r</constant>
|
||||
</setHeader>
|
||||
<doTry>
|
||||
<pipeline>
|
||||
<bean ref="stringToFile" />
|
||||
<bean ref="extractWMOHeader" method="remove" />
|
||||
<bean ref="goesrDecoder" method="decode(${header.ingestFileName}, ${body})" />
|
||||
<to uri="direct-vm:persistIndexAlert" />
|
||||
</pipeline>
|
||||
<doCatch>
|
||||
<exception>java.lang.Throwable</exception>
|
||||
<to uri="log:goesr?level=ERROR" />
|
||||
</doCatch>
|
||||
</doTry>
|
||||
</route>
|
||||
</camelContext>
|
||||
</beans>
|
|
@ -1,243 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.measure.unit.SI;
|
||||
import javax.xml.bind.JAXB;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.common.localization.IPathManager;
|
||||
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||
import com.raytheon.uf.common.localization.exception.LocalizationException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.decoder.lookup.ProductDescription;
|
||||
import com.raytheon.uf.edex.plugin.goesr.decoder.lookup.ProductDescriptions;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrDecoderException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrProjectionFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrSatelliteHeight;
|
||||
|
||||
/**
|
||||
* This decoder attempts to open a potential GOES-R netCDF file, decode the data
|
||||
* contained in it, and make it available to be stored.
|
||||
*
|
||||
* <pre>
|
||||
* The code implements the
|
||||
* Ground Segment (GS) to Advanced Weather Interactive Processing System (AWIPS)
|
||||
* Interface Control Document (ICD)
|
||||
* DOCUMENT CONTROL NUMBER: 7034704 CDRL SE-08 REVISION B
|
||||
* Date 31 MAY 2012
|
||||
* *****
|
||||
* Some variances between the code and the revision are noted. These are
|
||||
* due to discrepancies between the ICD and the sample data. These have
|
||||
* been reported.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* May 31, 2012 796 jkorman Initial creation
|
||||
* Jul 5, 2013 2123 mschenke Changed to use in-memory netcdf object
|
||||
* Feb 13, 2015 4043 bsteffen Include scene number in sector.
|
||||
* Apr 17, 2015 4336 bsteffen Rewrite to be configurable for other attribute conventions.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class GoesrDecoder {
|
||||
|
||||
private static final transient Logger logger = LoggerFactory
|
||||
.getLogger(GoesrDecoder.class);
|
||||
|
||||
private GoesrProjectionFactory projectionFactory;
|
||||
|
||||
private ProductDescriptions descriptions;
|
||||
|
||||
public GoesrDecoder() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode raw bytes into Satellite Records
|
||||
*
|
||||
* @param name
|
||||
* he name of the dataset, typically the filename, may be null in
|
||||
* which case a UUID is used.
|
||||
* @param goesrData
|
||||
* bytes must be in netcdf format with no additional headers.
|
||||
* @return Satellite Records.
|
||||
*/
|
||||
public SatelliteRecord[] decode(String name, byte[] goesrData) {
|
||||
if (projectionFactory == null) {
|
||||
logger.error("Cannot decode goesr data because no projection factory is available.");
|
||||
return new SatelliteRecord[0];
|
||||
} else if (descriptions == null) {
|
||||
logger.error("Cannot decode goesr data because no descriptions were loaded.");
|
||||
}
|
||||
|
||||
if (name == null) {
|
||||
/*
|
||||
* Name is not used by anything in this plugin but is needed to
|
||||
* construct the NetcdfFile
|
||||
*/
|
||||
name = UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
NetcdfFile cdfFile = null;
|
||||
try {
|
||||
cdfFile = NetcdfFile.openInMemory(name, goesrData);
|
||||
List<SatelliteRecord> records = decodeFile(cdfFile);
|
||||
for (Iterator<SatelliteRecord> it = records.iterator(); it
|
||||
.hasNext();) {
|
||||
SatelliteRecord record = it.next();
|
||||
if (record.getDataTime() == null) {
|
||||
logger.error(
|
||||
"Discarding Record due to missing DataTime: %",
|
||||
record);
|
||||
it.remove();
|
||||
} else if (record.getPhysicalElement() == null) {
|
||||
logger.error(
|
||||
"Discarding Record due to missing physical element: %",
|
||||
record);
|
||||
it.remove();
|
||||
} else if (record.getSectorID() == null) {
|
||||
logger.error(
|
||||
"Discarding Record due to missing sector ID: %",
|
||||
record);
|
||||
it.remove();
|
||||
}
|
||||
IDataRecord dataRecord = (IDataRecord) record.getMessageData();
|
||||
dataRecord.setGroup(record.getDataURI());
|
||||
}
|
||||
|
||||
return records.toArray(new SatelliteRecord[0]);
|
||||
} catch (Throwable t) {
|
||||
logger.error("Uncaught error in decoder ", t);
|
||||
} finally {
|
||||
if (cdfFile != null) {
|
||||
try {
|
||||
cdfFile.close();
|
||||
} catch (IOException e) {
|
||||
logger.error("Unable to close goes-r netcdf file.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new SatelliteRecord[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode the GOES-R data and return the data in a SatelliteRecord. If an
|
||||
* error occurs or the decoder is unable to decode the data, a null
|
||||
* reference may be returned.
|
||||
*
|
||||
* @return The decoded GOES-R satellite data.
|
||||
*/
|
||||
public List<SatelliteRecord> decodeFile(NetcdfFile cdfFile) {
|
||||
List<SatelliteRecord> records = new ArrayList<>(1);
|
||||
List<ProductDescription> descriptions = new ArrayList<>();
|
||||
for (ProductDescription description : this.descriptions
|
||||
.getDescriptions()) {
|
||||
try {
|
||||
if (description.match(cdfFile)) {
|
||||
if (description.hasData()) {
|
||||
records.addAll(description.getData(cdfFile,
|
||||
projectionFactory));
|
||||
} else {
|
||||
descriptions.add(description);
|
||||
}
|
||||
}
|
||||
} catch (GoesrDecoderException e) {
|
||||
logger.error("Could not create GOES-R data from description", e);
|
||||
}
|
||||
}
|
||||
if (records.isEmpty()) {
|
||||
logger.warn("No GOES-R records were found in {}",
|
||||
cdfFile.getLocation());
|
||||
}
|
||||
for (SatelliteRecord record : records) {
|
||||
for (ProductDescription description : descriptions) {
|
||||
try {
|
||||
description.describe(record, cdfFile);
|
||||
} catch (GoesrDecoderException e) {
|
||||
logger.error("Could not create describe GOES-R data", e);
|
||||
}
|
||||
}
|
||||
if (record.getSatHeight() == null) {
|
||||
/*
|
||||
* Some data formats, which are in a geostationary projection,
|
||||
* do not define that satellite height, except in the projection
|
||||
* metadata.
|
||||
*/
|
||||
CoordinateReferenceSystem crs = record.getCoverage().getCrs();
|
||||
double satHeight = GoesrSatelliteHeight.getOrbitalHeight(crs,
|
||||
SI.KILOMETER);
|
||||
if (!Double.isNaN(satHeight)) {
|
||||
record.setSatHeight((int) satHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
return records;
|
||||
}
|
||||
|
||||
public void setProjectionFactory(GoesrProjectionFactory projectionFactory) {
|
||||
this.projectionFactory = projectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* The {@link IPathManager} is used to look up description files.
|
||||
*/
|
||||
public void setPathManager(IPathManager pathManager) {
|
||||
LocalizationFile[] files = pathManager.listStaticFiles(
|
||||
"satellite/goesr/descriptions/", new String[] { ".xml" }, true,
|
||||
true);
|
||||
ProductDescriptions descriptions = new ProductDescriptions();
|
||||
for (LocalizationFile file : files) {
|
||||
logger.info("Loading goesr data description from " + file.getName());
|
||||
try (InputStream inputStream = file.openInputStream()) {
|
||||
ProductDescriptions unmarshalled = JAXB.unmarshal(inputStream,
|
||||
ProductDescriptions.class);
|
||||
descriptions.addDescriptions(unmarshalled);
|
||||
} catch (LocalizationException | IOException e) {
|
||||
logger.error(
|
||||
"Unable to load product descriptions from "
|
||||
+ file.getName(), e);
|
||||
}
|
||||
}
|
||||
this.descriptions = descriptions;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,96 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrDecoderException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Object which can be used to test a {@link NetcdfFile} to see if it contains
|
||||
* global attributes that match a specified pattern.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class AttributeMatcher {
|
||||
|
||||
@XmlAttribute
|
||||
private String attribute;
|
||||
|
||||
@XmlAttribute
|
||||
private String pattern;
|
||||
|
||||
private transient Pattern compiled;
|
||||
|
||||
public String getAttribute() {
|
||||
return attribute;
|
||||
}
|
||||
|
||||
public void setAttribute(String attribute) {
|
||||
this.attribute = attribute;
|
||||
}
|
||||
|
||||
public String getPattern() {
|
||||
return pattern;
|
||||
}
|
||||
|
||||
public void setPattern(String pattern) {
|
||||
this.pattern = pattern;
|
||||
}
|
||||
|
||||
public boolean matches(NetcdfFile cdfFile) throws GoesrDecoderException {
|
||||
Attribute attr = cdfFile.findGlobalAttribute(attribute);
|
||||
if (attr == null) {
|
||||
return false;
|
||||
}
|
||||
if (compiled == null) {
|
||||
try {
|
||||
compiled = Pattern.compile(pattern);
|
||||
} catch (PatternSyntaxException e) {
|
||||
throw new GoesrDecoderException("Cannot parse pattern ["
|
||||
+ pattern + "] for attribute + [" + attribute + "]", e);
|
||||
}
|
||||
}
|
||||
return compiled.matcher(attr.getStringValue()).matches();
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,163 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
|
||||
/**
|
||||
* Object which can be used to map attributes from a {@link NetcdfFile} to a
|
||||
* {@link SatelliteRecord}
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class AttributeValue {
|
||||
|
||||
@XmlAttribute
|
||||
private String value;
|
||||
|
||||
@XmlAttribute
|
||||
private String attribute;
|
||||
|
||||
@XmlAttribute
|
||||
private String format;
|
||||
|
||||
@XmlAttribute
|
||||
private String[] formatAttributes;
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getAttribute() {
|
||||
return attribute;
|
||||
}
|
||||
|
||||
public void setAttribute(String attribute) {
|
||||
this.attribute = attribute;
|
||||
}
|
||||
|
||||
public String getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
public void setFormat(String format) {
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
public String[] getFormatAttributes() {
|
||||
return formatAttributes;
|
||||
}
|
||||
|
||||
public void setFormatAttributes(String[] formatAttributes) {
|
||||
this.formatAttributes = formatAttributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pull the attributes from the netCDF that this object is describing.
|
||||
*
|
||||
* @param cdfFile
|
||||
* @return
|
||||
*/
|
||||
public String getValue(NetcdfFile cdfFile, SatelliteRecord record) {
|
||||
if (value != null) {
|
||||
return value;
|
||||
} else if (attribute != null) {
|
||||
Attribute attr = cdfFile.findGlobalAttribute(attribute);
|
||||
if (attr != null) {
|
||||
return attr.getStringValue();
|
||||
} else {
|
||||
Object value = getAttributeFromRecord(record, attribute);
|
||||
if (value != null) {
|
||||
return value.toString();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else if (format != null && formatAttributes != null) {
|
||||
Object[] formatValues = new Object[formatAttributes.length];
|
||||
for (int i = 0; i < formatAttributes.length; i += 1) {
|
||||
Attribute attr = cdfFile
|
||||
.findGlobalAttribute(formatAttributes[i]);
|
||||
if (attr == null) {
|
||||
formatValues[i] = getAttributeFromRecord(record,
|
||||
formatAttributes[i]);
|
||||
if (formatValues[i] == null) {
|
||||
return null;
|
||||
}
|
||||
} else if (attr.getDataType().isNumeric()) {
|
||||
formatValues[i] = attr.getNumericValue();
|
||||
} else {
|
||||
formatValues[i] = attr.getStringValue();
|
||||
}
|
||||
}
|
||||
return String.format(format, formatValues);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* When in the Course of decoding records, it becomes necessary for one
|
||||
* value to be sent from the {@link DataDescription} to an attribute of a
|
||||
* data record, it can be added to the
|
||||
* {@link IDataRecord#getDataAttributes()} and be used as though it were an
|
||||
* attribute on the netcdf file.
|
||||
*/
|
||||
private Object getAttributeFromRecord(SatelliteRecord record, String name) {
|
||||
if (record == null) {
|
||||
return null;
|
||||
}
|
||||
IDataRecord dataRecord = (IDataRecord) record.getMessageData();
|
||||
if (dataRecord == null) {
|
||||
return null;
|
||||
}
|
||||
Map<String, Object> attributes = dataRecord.getDataAttributes();
|
||||
if (attributes == null) {
|
||||
return null;
|
||||
}
|
||||
return attributes.get(name);
|
||||
}
|
||||
}
|
|
@ -1,425 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import ucar.ma2.Array;
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||
import com.raytheon.uf.common.datastorage.records.IDataRecord;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrDecoderException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrProjectionFactory;
|
||||
|
||||
/**
|
||||
* A description of the data contained with a {@link NetcdfFile} that can be
|
||||
* used to extract the message data for use in a {@link SatelliteRecord}
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class DataDescription {
|
||||
|
||||
private static final int BITSET_FILL = 0xFF;
|
||||
|
||||
@XmlAttribute
|
||||
private String variable;
|
||||
|
||||
@XmlAttribute
|
||||
private List<String> bitset;
|
||||
|
||||
@XmlAttribute
|
||||
private String maskVariable;
|
||||
|
||||
@XmlAttribute
|
||||
private String verticalDimension;
|
||||
|
||||
@XmlElement(name = "mask")
|
||||
private List<DataMaskDescription> masks;
|
||||
|
||||
public String getVariable() {
|
||||
return variable;
|
||||
}
|
||||
|
||||
public void setVariable(String variable) {
|
||||
this.variable = variable;
|
||||
}
|
||||
|
||||
public List<String> getBitset() {
|
||||
return bitset;
|
||||
}
|
||||
|
||||
public void setBitset(List<String> bitset) {
|
||||
this.bitset = bitset;
|
||||
}
|
||||
|
||||
public String getMaskVariable() {
|
||||
return maskVariable;
|
||||
}
|
||||
|
||||
public void setMaskVariable(String maskVariable) {
|
||||
this.maskVariable = maskVariable;
|
||||
}
|
||||
|
||||
public List<DataMaskDescription> getMasks() {
|
||||
return masks;
|
||||
}
|
||||
|
||||
public void setMasks(List<DataMaskDescription> masks) {
|
||||
this.masks = masks;
|
||||
}
|
||||
|
||||
public String getVerticalDimension() {
|
||||
return verticalDimension;
|
||||
}
|
||||
|
||||
public void setVerticalDimension(String verticalDimension) {
|
||||
this.verticalDimension = verticalDimension;
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply this description to the specified file and extract all
|
||||
* {@link SatelliteRecord}s.
|
||||
*
|
||||
* @param cdfFile
|
||||
* @param projectionFactory
|
||||
* @return
|
||||
* @throws GoesrProjectionException
|
||||
*/
|
||||
public List<SatelliteRecord> getData(NetcdfFile cdfFile,
|
||||
GoesrProjectionFactory projectionFactory)
|
||||
throws GoesrDecoderException {
|
||||
if (variable != null) {
|
||||
Variable dataVariable = cdfFile.findVariable(this.variable);
|
||||
if (dataVariable != null) {
|
||||
Attribute attr = dataVariable.findAttribute("grid_mapping");
|
||||
Object data;
|
||||
try {
|
||||
data = dataVariable.read().copyTo1DJavaArray();
|
||||
} catch (IOException e) {
|
||||
throw new GoesrDecoderException("Unable to read data from "
|
||||
+ this.variable, e);
|
||||
}
|
||||
SatMapCoverage coverage = projectionFactory.getCoverage(
|
||||
cdfFile, attr.getStringValue());
|
||||
|
||||
Map<String, Object> attributes = new HashMap<>();
|
||||
attr = dataVariable.findAttribute("add_offset");
|
||||
if (attr != null) {
|
||||
attributes.put(SatelliteRecord.SAT_ADD_OFFSET, attr
|
||||
.getNumericValue().floatValue());
|
||||
}
|
||||
attr = dataVariable.findAttribute("scale_factor");
|
||||
if (attr != null) {
|
||||
attributes.put(SatelliteRecord.SAT_SCALE_FACTOR, attr
|
||||
.getNumericValue().floatValue());
|
||||
}
|
||||
|
||||
Number fillValue = getFillValue(dataVariable, data);
|
||||
|
||||
|
||||
String units = getUnits(dataVariable);
|
||||
|
||||
if (verticalDimension == null) {
|
||||
applyMask(cdfFile, data, fillValue);
|
||||
SatelliteRecord record = createNewRecord(coverage, data,
|
||||
fillValue, attributes);
|
||||
if (units != null) {
|
||||
record.setUnits(units);
|
||||
}
|
||||
return Arrays.asList(record);
|
||||
} else {
|
||||
List<SatelliteRecord> records = build3D(cdfFile, coverage,
|
||||
data, fillValue, attributes);
|
||||
if (units != null) {
|
||||
for (SatelliteRecord record : records) {
|
||||
record.setUnits(units);
|
||||
}
|
||||
}
|
||||
return records;
|
||||
}
|
||||
}
|
||||
} else if (bitset != null) {
|
||||
try {
|
||||
SatelliteRecord record = buildRecordFromBitset(cdfFile,
|
||||
projectionFactory);
|
||||
return Arrays.asList(record);
|
||||
} catch (IOException e) {
|
||||
throw new GoesrDecoderException("Unable to read data from "
|
||||
+ variable, e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private void applyMask(NetcdfFile cdfFile, Object data, Number fillValue)
|
||||
throws GoesrDecoderException {
|
||||
if (this.maskVariable == null) {
|
||||
return;
|
||||
}
|
||||
Variable maskVariable = cdfFile.findVariable(this.maskVariable);
|
||||
Object maskData = null;
|
||||
try {
|
||||
maskData = maskVariable.read().copyTo1DJavaArray();
|
||||
} catch (IOException e) {
|
||||
throw new GoesrDecoderException("Unable to read data from "
|
||||
+ this.variable, e);
|
||||
}
|
||||
/*
|
||||
* Depending on the type one of bMaskData or sMaskData must be set to
|
||||
* not null.
|
||||
*/
|
||||
byte[] bMaskData = null;
|
||||
short[] sMaskData = null;
|
||||
if (maskData instanceof byte[]) {
|
||||
bMaskData = (byte[]) maskData;
|
||||
} else if (maskData instanceof short[]) {
|
||||
sMaskData = (short[]) maskData;
|
||||
} else {
|
||||
throw new GoesrDecoderException("Unexpected data of type: "
|
||||
+ data.getClass().getSimpleName());
|
||||
}
|
||||
/* Depending on the type one of bdata or sdata must be set to not null. */
|
||||
byte[] bdata = null;
|
||||
short[] sdata = null;
|
||||
if (data instanceof short[]) {
|
||||
sdata = (short[]) data;
|
||||
} else if (data instanceof byte[]) {
|
||||
bdata = (byte[]) data;
|
||||
} else {
|
||||
throw new GoesrDecoderException("Unexpected data of type: "
|
||||
+ data.getClass().getSimpleName());
|
||||
}
|
||||
int length = java.lang.reflect.Array.getLength(data);
|
||||
for (int i = 0; i < length; i += 1) {
|
||||
boolean fill = true;
|
||||
for (DataMaskDescription mask : this.masks) {
|
||||
int maskVal = bMaskData == null ? sMaskData[i] : bMaskData[i];
|
||||
if (mask.getValue() == maskVal) {
|
||||
if (!mask.isKeep()) {
|
||||
if (bdata == null) {
|
||||
sdata[i] = (short) mask.getFill();
|
||||
} else {
|
||||
bdata[i] = (byte) mask.getFill();
|
||||
}
|
||||
}
|
||||
fill = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (fill) {
|
||||
if (bdata == null) {
|
||||
sdata[i] = fillValue.shortValue();
|
||||
} else {
|
||||
bdata[i] = fillValue.byteValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private List<SatelliteRecord> build3D(NetcdfFile cdfFile,
|
||||
SatMapCoverage coverage, Object data, Number fillValue,
|
||||
Map<String, Object> attributes) throws GoesrDecoderException {
|
||||
Variable thirdD = cdfFile.findVariable(verticalDimension);
|
||||
Array dimData;
|
||||
try {
|
||||
dimData = thirdD.read();
|
||||
} catch (IOException e) {
|
||||
throw new GoesrDecoderException("Unable to read data from "
|
||||
+ this.verticalDimension, e);
|
||||
}
|
||||
List<SatelliteRecord> records = new ArrayList<>();
|
||||
for (int i = 0; i < thirdD.getSize(); i += 1) {
|
||||
int index = 0;
|
||||
Object newData = null;
|
||||
if (data instanceof short[]) {
|
||||
short[] rawData = (short[]) data;
|
||||
short[] cutData = new short[coverage.getNx() * coverage.getNy()];
|
||||
for (int j = i; j < rawData.length; j += thirdD.getSize()) {
|
||||
cutData[index++] = rawData[j];
|
||||
}
|
||||
newData = cutData;
|
||||
}else if(data instanceof byte[]){
|
||||
byte[] rawData = (byte[]) data;
|
||||
byte[] cutData = new byte[coverage.getNx() * coverage.getNy()];
|
||||
for (int j = i; j < rawData.length; j += thirdD.getSize()) {
|
||||
cutData[index++] = rawData[j];
|
||||
}
|
||||
newData = cutData;
|
||||
}else{
|
||||
throw new GoesrDecoderException("Unexpected data of type: " + data.getClass().getSimpleName());
|
||||
}
|
||||
if (attributes == null) {
|
||||
attributes = new HashMap<>(4);
|
||||
} else {
|
||||
attributes = new HashMap<>(attributes);
|
||||
}
|
||||
applyMask(cdfFile, newData, fillValue);
|
||||
/*
|
||||
* This allows the vertical dimension to be used in
|
||||
* ProductDescriptions so that the records generated have unique
|
||||
* attributes.
|
||||
*/
|
||||
attributes.put(verticalDimension, dimData.getFloat(i));
|
||||
SatelliteRecord record = createNewRecord(coverage, newData, fillValue,
|
||||
attributes);
|
||||
records.add(record);
|
||||
}
|
||||
return records;
|
||||
}
|
||||
|
||||
private SatelliteRecord buildRecordFromBitset(NetcdfFile cdfFile,
|
||||
GoesrProjectionFactory projectionFactory) throws IOException,
|
||||
GoesrDecoderException {
|
||||
if (bitset.size() > 7) {
|
||||
throw new GoesrDecoderException(
|
||||
"Bitset can only currently support 7 fields, this is too many: "
|
||||
+ bitset.toString());
|
||||
}
|
||||
String grid_mapping = null;
|
||||
byte[] data = null;
|
||||
int bit = 0;
|
||||
for (String variable : bitset) {
|
||||
Variable dataVariable = cdfFile.findVariable(variable);
|
||||
Attribute attr = dataVariable.findAttribute("grid_mapping");
|
||||
if (grid_mapping == null) {
|
||||
grid_mapping = attr.getStringValue();
|
||||
} else if (attr != null
|
||||
&& !attr.getStringValue().equals(grid_mapping)) {
|
||||
throw new GoesrProjectionException(
|
||||
"Bitset projections do not match.");
|
||||
}
|
||||
|
||||
Object rawField = dataVariable.read().copyTo1DJavaArray();
|
||||
if (!(rawField instanceof byte[])) {
|
||||
throw new GoesrDecoderException("Unexpected type["
|
||||
+ rawField.getClass() + "] for variable[" + variable
|
||||
+ "]");
|
||||
}
|
||||
byte[] field = (byte[]) rawField;
|
||||
int fillValue = 0xFF & getFillValue(dataVariable, field).intValue();
|
||||
|
||||
if (data == null) {
|
||||
data = field;
|
||||
if (fillValue != BITSET_FILL) {
|
||||
for (int i = 0; i < field.length; i += 1) {
|
||||
if (fillValue == (0xFF & field[i])) {
|
||||
field[i] = (byte) BITSET_FILL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
for (int i = 0; i < field.length; i += 1) {
|
||||
if (fillValue == (0xFF & field[i])) {
|
||||
/*
|
||||
* Do Nothing, this is an assumption. When thinking
|
||||
* about a bitset, normally fill is not an option for an
|
||||
* input but this data has fill and it is used. Do
|
||||
* nothing means if the data is already filled it will
|
||||
* stay filled, so any index where all fields are filled
|
||||
* will be filled but if any one field is valid then all
|
||||
* filled fields will be 0s
|
||||
*/
|
||||
continue;
|
||||
} else if (BITSET_FILL == (0xFF & field[i])) {
|
||||
data[i] = 0;
|
||||
}
|
||||
if (field[i] != 0) {
|
||||
data[i] = (byte) (data[i] + (1 << bit));
|
||||
}
|
||||
}
|
||||
}
|
||||
bit += 1;
|
||||
}
|
||||
SatMapCoverage coverage = projectionFactory.getCoverage(cdfFile,
|
||||
grid_mapping);
|
||||
applyMask(cdfFile, data, BITSET_FILL);
|
||||
return createNewRecord(coverage, data, BITSET_FILL, null);
|
||||
}
|
||||
|
||||
private static String getUnits(Variable variable) {
|
||||
Attribute attr = variable.findAttribute("units");
|
||||
if (attr != null && !"1".equals(attr.getStringValue())) {
|
||||
return attr.getStringValue();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static SatelliteRecord createNewRecord(SatMapCoverage coverage,
|
||||
Object data, Number fillValue, Map<String, Object> attributes) {
|
||||
long[] sizes = new long[] { coverage.getNx(), coverage.getNy() };
|
||||
IDataRecord storageRecord = DataStoreFactory.createStorageRecord(
|
||||
SatelliteRecord.SAT_DATASET_NAME, null, data, 2, sizes);
|
||||
storageRecord.setFillValue(fillValue);
|
||||
storageRecord.setDataAttributes(attributes);
|
||||
SatelliteRecord record = new SatelliteRecord();
|
||||
record.setCoverage(coverage);
|
||||
record.setMessageData(storageRecord);
|
||||
return record;
|
||||
}
|
||||
|
||||
private static Number getFillValue(Variable variable, Object data) {
|
||||
Number fillValue = 0;
|
||||
Attribute attr = variable.findAttribute("_FillValue");
|
||||
if (attr != null) {
|
||||
fillValue = attr.getNumericValue();
|
||||
attr = variable.findAttribute("_Unsigned");
|
||||
if (attr != null) {
|
||||
boolean unsigned = attr.getStringValue().equals("true");
|
||||
if (unsigned && fillValue.intValue() < 0) {
|
||||
if (data instanceof byte[]) {
|
||||
fillValue = 0xFF & (fillValue.intValue());
|
||||
} else if (data instanceof short[]) {
|
||||
fillValue = 0xFFFF & (fillValue.intValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return fillValue;
|
||||
}
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
/**
|
||||
* Handle the application of a quality control mask to a {@link DataDescription}
|
||||
* . Is used to indicate how data should be handled for particular data quality
|
||||
* mask values. The two ways the falgs can be ahndled is to keep, which uses the
|
||||
* original data value or to select an alternative fill value for the data. Any
|
||||
* quality control value that is not included is filled with the default data
|
||||
* mask.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class DataMaskDescription {
|
||||
|
||||
@XmlAttribute
|
||||
private int value;
|
||||
|
||||
@XmlAttribute
|
||||
private boolean keep;
|
||||
|
||||
@XmlAttribute
|
||||
private int fill;
|
||||
|
||||
public int getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(int value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public boolean isKeep() {
|
||||
return keep;
|
||||
}
|
||||
|
||||
public void setKeep(boolean keep) {
|
||||
this.keep = keep;
|
||||
}
|
||||
|
||||
public int getFill() {
|
||||
return fill;
|
||||
}
|
||||
|
||||
public void setFill(int fill) {
|
||||
this.fill = fill;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrDecoderException;
|
||||
|
||||
/**
|
||||
* An {@link AttributeValue} that includes a dateFormat so that dates can be
|
||||
* parsed.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class DateAttributeValue extends AttributeValue {
|
||||
|
||||
@XmlAttribute
|
||||
private String dateFormat;
|
||||
|
||||
private transient SimpleDateFormat sdf;
|
||||
|
||||
public Date getDate(NetcdfFile cdfFile) throws GoesrDecoderException {
|
||||
String val = getValue(cdfFile, null);
|
||||
if (val == null || dateFormat == null) {
|
||||
return null;
|
||||
}
|
||||
if (sdf == null) {
|
||||
sdf = new SimpleDateFormat(dateFormat);
|
||||
}
|
||||
try {
|
||||
return sdf.parse(val);
|
||||
} catch (ParseException e) {
|
||||
throw new GoesrDecoderException("Unable to parse [" + val
|
||||
+ "] + using format [" + dateFormat + "]", e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,259 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatelliteRecord;
|
||||
import com.raytheon.uf.common.time.DataTime;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrDecoderException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrProjectionFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* Contains the information necessary to match a {@link NetcdfFile} and its
|
||||
* global attributes to a {@link SatelliteRecord}. Logically this class is
|
||||
* copmposed of three parts, the {@link AttributeMatcher}s, the
|
||||
* {@link DataDescription}, and the {@link AttributeValue}s.
|
||||
*
|
||||
* <ul>
|
||||
* <li>The {@link AttributeMatcher}s are evaluated to decide if this description
|
||||
* can be applied to the specified file.
|
||||
* <li>The {@link DataDescription} is optional, when it is present it describes
|
||||
* how the data variables with the file are mapped into the message data of the
|
||||
* SatelliteRecord.
|
||||
* <li>The {@link AttributeValue}s describe how to map netcdf attributes to the
|
||||
* attributes on the satellite record.
|
||||
* </ul>
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class ProductDescription {
|
||||
|
||||
@XmlElement(name = "match")
|
||||
private List<AttributeMatcher> matches;
|
||||
|
||||
@XmlElement
|
||||
private DataDescription data;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue physicalElement;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue creatingEntity;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue source;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue sectorID;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue satHeight;
|
||||
|
||||
@XmlElement
|
||||
private AttributeValue units;
|
||||
|
||||
@XmlElement
|
||||
private DateAttributeValue dataTime;
|
||||
|
||||
public List<AttributeMatcher> getMatches() {
|
||||
return matches;
|
||||
}
|
||||
|
||||
public void setMatches(List<AttributeMatcher> matches) {
|
||||
this.matches = matches;
|
||||
}
|
||||
|
||||
public DataDescription getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(DataDescription data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public AttributeValue getPhysicalElement() {
|
||||
return physicalElement;
|
||||
}
|
||||
|
||||
public void setPhysicalElement(AttributeValue physicalElement) {
|
||||
this.physicalElement = physicalElement;
|
||||
}
|
||||
|
||||
public AttributeValue getCreatingEntity() {
|
||||
return creatingEntity;
|
||||
}
|
||||
|
||||
public void setCreatingEntity(AttributeValue creatingEntity) {
|
||||
this.creatingEntity = creatingEntity;
|
||||
}
|
||||
|
||||
public AttributeValue getSource() {
|
||||
return source;
|
||||
}
|
||||
|
||||
public void setSource(AttributeValue source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public AttributeValue getSectorID() {
|
||||
return sectorID;
|
||||
}
|
||||
|
||||
public void setSectorID(AttributeValue sectorID) {
|
||||
this.sectorID = sectorID;
|
||||
}
|
||||
|
||||
public AttributeValue getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
public void setUnits(AttributeValue units) {
|
||||
this.units = units;
|
||||
}
|
||||
|
||||
public DateAttributeValue getDataTime() {
|
||||
return dataTime;
|
||||
}
|
||||
|
||||
public void setDataTime(DateAttributeValue dataTime) {
|
||||
this.dataTime = dataTime;
|
||||
}
|
||||
|
||||
public AttributeValue getSatHeight() {
|
||||
return satHeight;
|
||||
}
|
||||
|
||||
public void setSatHeight(AttributeValue satHeight) {
|
||||
this.satHeight = satHeight;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this description contains a {@link DataDescription}. If it does
|
||||
* then it should not be used to describe other records, only those that are
|
||||
* extracted from its own data description.
|
||||
*
|
||||
* @return true if this dewscription contains a {@link DataDescription}.
|
||||
*/
|
||||
public boolean hasData() {
|
||||
return data != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* If this description contains a {@link DataDescription} then use the data
|
||||
* description to create {@link SatelliteRecord}s with message data set
|
||||
* according to the description. This method will also apply any
|
||||
* {@link AttributeValue}s in this description.
|
||||
*
|
||||
* @param cdfFile
|
||||
* @param projectionFactory
|
||||
* @return
|
||||
* @throws GoesrProjectionException
|
||||
* @throws ParseException
|
||||
* @throws IOException
|
||||
*/
|
||||
public List<SatelliteRecord> getData(NetcdfFile cdfFile,
|
||||
GoesrProjectionFactory projectionFactory)
|
||||
throws GoesrDecoderException {
|
||||
if (data != null) {
|
||||
List<SatelliteRecord> records = data.getData(cdfFile,
|
||||
projectionFactory);
|
||||
if (records != null) {
|
||||
for (SatelliteRecord record : records) {
|
||||
describe(record, cdfFile, true);
|
||||
}
|
||||
return records;
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply any {@link AttributeValue}s in this description to the supploed
|
||||
* record.
|
||||
*/
|
||||
public void describe(SatelliteRecord record, NetcdfFile cdfFile)
|
||||
throws GoesrDecoderException {
|
||||
describe(record, cdfFile, false);
|
||||
}
|
||||
|
||||
protected void describe(SatelliteRecord record, NetcdfFile cdfFile,
|
||||
boolean override) throws GoesrDecoderException {
|
||||
if (physicalElement != null
|
||||
&& (override || record.getPhysicalElement() == null)) {
|
||||
record.setPhysicalElement(physicalElement.getValue(cdfFile, record));
|
||||
}
|
||||
if (creatingEntity != null
|
||||
&& (override || record.getCreatingEntity() == null)) {
|
||||
record.setCreatingEntity(creatingEntity.getValue(cdfFile, record));
|
||||
}
|
||||
if (source != null && (override || record.getSource() == null)) {
|
||||
record.setSource(source.getValue(cdfFile, record));
|
||||
}
|
||||
if (sectorID != null && (override || record.getSectorID() == null)) {
|
||||
record.setSectorID(sectorID.getValue(cdfFile, record));
|
||||
}
|
||||
if (dataTime != null && (override || record.getDataTime() == null)) {
|
||||
record.setDataTime(new DataTime(dataTime.getDate(cdfFile)));
|
||||
}
|
||||
if (units != null && (override || record.getUnits() == null)) {
|
||||
record.setUnits(units.getValue(cdfFile, record));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test all {@link AttributeMatcher}s for this description to see if this
|
||||
* description can be applied to a file.
|
||||
*
|
||||
* @return true if it matches.
|
||||
*/
|
||||
public boolean match(NetcdfFile cdfFile) throws GoesrDecoderException {
|
||||
for (AttributeMatcher matcher : matches) {
|
||||
if (!matcher.matches(cdfFile)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,73 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.decoder.lookup;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
/**
|
||||
*
|
||||
* Represents a set of {@link ProductDescription}s
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlRootElement
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
public class ProductDescriptions {
|
||||
|
||||
@XmlElement(name = "description")
|
||||
private List<ProductDescription> descriptions;
|
||||
|
||||
public List<ProductDescription> getDescriptions() {
|
||||
return descriptions;
|
||||
}
|
||||
|
||||
public void setDescriptions(List<ProductDescription> descriptions) {
|
||||
this.descriptions = descriptions;
|
||||
}
|
||||
|
||||
public void addDescription(ProductDescription description) {
|
||||
this.descriptions.add(description);
|
||||
}
|
||||
|
||||
public void addDescriptions(ProductDescriptions descriptions) {
|
||||
if (this.descriptions == null) {
|
||||
this.descriptions = new ArrayList<>();
|
||||
}
|
||||
this.descriptions.addAll(descriptions.getDescriptions());
|
||||
}
|
||||
|
||||
}
|
|
@ -1,51 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.exception;
|
||||
|
||||
/**
|
||||
* Root exception indicating something ahs gone in the decoding of a GOES-R
|
||||
* netcdf file.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrDecoderException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public GoesrDecoderException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
public GoesrDecoderException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.exception;
|
||||
|
||||
/**
|
||||
* Thrown when the given projection could not be created.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jul 03, 2012 jkorman Initial creation
|
||||
* Apr 17, 2015 4336 bsteffen Extend GoesrDecoderException
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class GoesrProjectionException extends GoesrDecoderException {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* Constructs a InvalidProjectionException with an error message.
|
||||
*
|
||||
* @param message
|
||||
* The exception detail message.
|
||||
*/
|
||||
public GoesrProjectionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a InvalidProjectionException with an error message and a
|
||||
* chained cause.
|
||||
*
|
||||
* @param message
|
||||
* The exception detail message.
|
||||
* @param cause
|
||||
* The exception that caused this exception to be thrown.
|
||||
*/
|
||||
public GoesrProjectionException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,226 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.edex.plugin.satellite.dao.SatMapCoverageDao;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.crs.GeostationaryCrsFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.crs.GoesrCrsFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.crs.LambertConformalCrsFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.crs.MercatorCrsFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.crs.NorthPolarStereographicCrsFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.DimensionEnvelopeFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.GoesrEnvelope;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.GoesrEnvelopeFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.ImageBoundsEnvelopeFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.ProductCenterEnvelopeFactory;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.envelope.TileCenterEnvelopeFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* In a GOESR NetCDF file the geolocation information is extracted as two
|
||||
* separate, yet equally important entities. The crs which defines the
|
||||
* translation onto a spheroid and the envelope which defines the coverage of
|
||||
* the product. This is their factory.
|
||||
*
|
||||
* Create the {@link SatMapCoverage} corresponding to the projection information
|
||||
* contained in the GOES-R netCDF file.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jun 01, 2012 796 jkorman Initial creation
|
||||
* Jul 05, 2013 2123 mschenke Refactored to have CRS factory for each type of CRS
|
||||
* Oct 29, 2014 3770 bsteffen Pass more attributes to the projection.
|
||||
* Apr 17, 2015 4336 bsteffen Split out crs and envelope creation into distinct factories.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrProjectionFactory {
|
||||
|
||||
private static final transient Logger logger = LoggerFactory
|
||||
.getLogger(GoesrProjectionFactory.class);
|
||||
|
||||
private static final boolean DEBUG_ENVELOPES = Boolean
|
||||
.getBoolean("goesr.projection.debug.envelopes");
|
||||
|
||||
private final Map<String, GoesrCrsFactory> crsMap = new HashMap<>();
|
||||
|
||||
private final List<GoesrEnvelopeFactory> envelopeList = new ArrayList<>(3);
|
||||
|
||||
private SatMapCoverageDao satDao;
|
||||
|
||||
/**
|
||||
* Create an instance of this factory.
|
||||
*/
|
||||
public GoesrProjectionFactory() {
|
||||
satDao = new SatMapCoverageDao();
|
||||
|
||||
GoesrCrsFactory geostationary = new GeostationaryCrsFactory();
|
||||
GoesrCrsFactory lambert = new LambertConformalCrsFactory();
|
||||
GoesrCrsFactory mercator = new MercatorCrsFactory();
|
||||
GoesrCrsFactory polar = new NorthPolarStereographicCrsFactory();
|
||||
/*
|
||||
* These are the values of the grid_mapping_name attribute within the
|
||||
* grid mapping variable. These are consistent for all known goesr
|
||||
* products.
|
||||
*/
|
||||
crsMap.put("geostationary", geostationary);
|
||||
crsMap.put("lambert_conformal_conic", lambert);
|
||||
crsMap.put("polar_stereographic", polar);
|
||||
crsMap.put("mercator", mercator);
|
||||
/*
|
||||
* These are the names of the grid mapping variable for sectorized CMI,
|
||||
* these are not consistent for other data types. It may be safe to
|
||||
* remove these and rely only on the names above.
|
||||
*/
|
||||
crsMap.put("lambert_projection", lambert);
|
||||
crsMap.put("mercator_projection", mercator);
|
||||
crsMap.put("polar_projection", polar);
|
||||
crsMap.put("fixedgrid_projection", geostationary);
|
||||
|
||||
envelopeList.add(new ProductCenterEnvelopeFactory());
|
||||
envelopeList.add(new TileCenterEnvelopeFactory());
|
||||
envelopeList.add(new ImageBoundsEnvelopeFactory());
|
||||
envelopeList.add(new DimensionEnvelopeFactory());
|
||||
}
|
||||
|
||||
public GoesrCrsFactory registerCrsFactory(String name,
|
||||
GoesrCrsFactory crsFactory) {
|
||||
crsMap.put(name, crsFactory);
|
||||
return crsFactory;
|
||||
}
|
||||
|
||||
public SatMapCoverage getCoverage(NetcdfFile cdfFile, String projName)
|
||||
throws GoesrProjectionException {
|
||||
Variable projection = cdfFile.findVariable(projName);
|
||||
if (projection != null) {
|
||||
GoesrCrsFactory crsFactory = null;
|
||||
Attribute attr = projection.findAttribute("grid_mapping_name");
|
||||
if (attr != null) {
|
||||
crsFactory = crsMap.get(attr.getStringValue());
|
||||
}
|
||||
if (crsFactory == null) {
|
||||
crsFactory = crsMap.get(projName);
|
||||
if (crsFactory == null) {
|
||||
String message;
|
||||
if (attr != null) {
|
||||
message = String.format(
|
||||
"Invalid projection identifier [%s.%s].",
|
||||
projName, attr.getStringValue());
|
||||
} else {
|
||||
message = String
|
||||
.format("Invalid projection identifier [%s].",
|
||||
projName);
|
||||
}
|
||||
throw new GoesrProjectionException(message);
|
||||
}
|
||||
}
|
||||
CoordinateReferenceSystem crs = crsFactory
|
||||
.constructCoordinateReferenceSystem(projection);
|
||||
if (DEBUG_ENVELOPES) {
|
||||
debugEnvelopes(cdfFile, crs);
|
||||
}
|
||||
for (GoesrEnvelopeFactory envelopeFactory : envelopeList) {
|
||||
GoesrEnvelope envelope = envelopeFactory.getEnvelope(cdfFile,
|
||||
crs);
|
||||
if (envelope != null) {
|
||||
envelope.normalize();
|
||||
SatMapCoverage coverage = new SatMapCoverage();
|
||||
coverage.setCrsWKT(crs.toWKT());
|
||||
coverage.setDx(envelope.getDx());
|
||||
coverage.setDy(envelope.getDy());
|
||||
coverage.setMinX(envelope.getMinX());
|
||||
coverage.setMinY(envelope.getMinY());
|
||||
coverage.setNx(envelope.getNx());
|
||||
coverage.setNy(envelope.getNy());
|
||||
/* Trigger generation of a location. */
|
||||
coverage.getLocation();
|
||||
try {
|
||||
return satDao.getOrCreateCoverage(coverage);
|
||||
} catch (Exception e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Could not create coverage", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new GoesrProjectionException("Unable to create envelope.");
|
||||
} else {
|
||||
throw new GoesrProjectionException("Projection variable was null");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* As long as there exists multiple envelope factories, it is useful to be
|
||||
* able to compare them for different sample files and verify the results
|
||||
* match.
|
||||
*
|
||||
* @param cdfFile
|
||||
* @param crs
|
||||
*/
|
||||
private void debugEnvelopes(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("Envelope comparison for " + cdfFile.getLocation()
|
||||
+ " ********************\n");
|
||||
for (GoesrEnvelopeFactory envelopeFactory : envelopeList) {
|
||||
builder.append(envelopeFactory.getClass().getSimpleName());
|
||||
builder.append(": ");
|
||||
GoesrEnvelope envelope = null;
|
||||
try {
|
||||
envelope = envelopeFactory.getEnvelope(cdfFile, crs);
|
||||
} catch (GoesrProjectionException e) {
|
||||
builder.append(e.getLocalizedMessage()).append(": ");
|
||||
|
||||
}
|
||||
if (envelope != null) {
|
||||
envelope.normalize();
|
||||
builder.append(envelope.toString());
|
||||
} else {
|
||||
builder.append("No Envelope");
|
||||
}
|
||||
builder.append("\n");
|
||||
}
|
||||
builder.append("****************************************\n");
|
||||
logger.info(builder.toString());
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial;
|
||||
|
||||
import javax.measure.quantity.Length;
|
||||
import javax.measure.unit.Unit;
|
||||
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.operation.projection.MapProjection;
|
||||
import org.opengis.parameter.ParameterValue;
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import com.raytheon.uf.common.geospatial.projection.Geostationary;
|
||||
|
||||
/**
|
||||
* Utility class for extracting the satellite height from the
|
||||
* {@link CoordinateReferenceSystem}. Several pieces of the decoder need this
|
||||
* information and don't have a better way to get it.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrSatelliteHeight {
|
||||
|
||||
public static double getOrbitalHeight(CoordinateReferenceSystem crs,
|
||||
Unit<Length> unit) {
|
||||
MapProjection worldProjection = CRS.getMapProjection(crs);
|
||||
if (worldProjection instanceof Geostationary) {
|
||||
ParameterValueGroup group = worldProjection.getParameterValues();
|
||||
ParameterValue<?> orbitalHeight = group
|
||||
.parameter(Geostationary.ORBITAL_HEIGHT);
|
||||
return orbitalHeight.doubleValue(unit);
|
||||
}
|
||||
return Double.NaN;
|
||||
}
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.crs;
|
||||
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.common.geospatial.projection.Geostationary;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* A class representation of the GOES-R FixedGrid projection information
|
||||
* contained in the GOES-R netCDF file. The ICD says that this is "unprojected"
|
||||
* data, that is, the data is as it is seen from the satellite. This would be a
|
||||
* orthographic type projection.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jun 01, 2012 796 jkorman Initial creation
|
||||
* Jul 05, 2013 2123 mschenke Implemented Geostationary projection
|
||||
* Apr 17, 2015 4336 bsteffen Converted to be only a CRS factory.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class GeostationaryCrsFactory extends GoesrCrsFactory {
|
||||
|
||||
private static final String DEF_SWEEP_AXIS = "x";
|
||||
|
||||
|
||||
@Override
|
||||
protected String getProjectionName() {
|
||||
return Geostationary.PROJECTION_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSpecificParameters(Variable projectionVariable,
|
||||
ParameterValueGroup parameters) throws GoesrProjectionException {
|
||||
setDoubleParameter(projectionVariable, "latitude_of_projection_origin", parameters, "latitude_of_origin");
|
||||
setDoubleParameter(projectionVariable, "longitude_of_projection_origin", parameters, "central_meridian");
|
||||
setDoubleParameter(projectionVariable, "perspective_point_height", parameters, Geostationary.ORBITAL_HEIGHT);
|
||||
Attribute attribute = projectionVariable.findAttribute("sweep_angle_axis");
|
||||
if (attribute != null) {
|
||||
String sweepAxis = attribute.getStringValue();
|
||||
parameters.parameter(Geostationary.SWEEP_AXIS).setValue(
|
||||
DEF_SWEEP_AXIS.equals(sweepAxis) ? 0 : 1);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,169 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.crs;
|
||||
|
||||
import org.geotools.referencing.operation.DefaultMathTransformFactory;
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.NoSuchIdentifierException;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.ma2.DataType;
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||
import com.raytheon.uf.common.geospatial.projection.Geostationary;
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
*
|
||||
* A GoesrCrsFactory has the ability to parse projection information from the
|
||||
* {@link Attribute}s of a {@link Variable} for a specific type of projection.
|
||||
* The abstract class provides a means to parse the semi_major, semi_minor,
|
||||
* false_easting, and false_northing which are common among all map projections.
|
||||
* Other projection parameters should be parsed by sub classes.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public abstract class GoesrCrsFactory {
|
||||
|
||||
protected static final DefaultMathTransformFactory dmtFactory = new DefaultMathTransformFactory();
|
||||
|
||||
public CoordinateReferenceSystem constructCoordinateReferenceSystem(
|
||||
Variable projectionVariable) throws GoesrProjectionException {
|
||||
try {
|
||||
ParameterValueGroup parameters = dmtFactory
|
||||
.getDefaultParameters(getProjectionName());
|
||||
setDoubleParameter(projectionVariable, "semi_major_axis",
|
||||
parameters, "semi_major");
|
||||
setDoubleParameter(projectionVariable, "semi_minor_axis",
|
||||
parameters, "semi_minor");
|
||||
setDoubleParameter(projectionVariable, parameters, "semi_major");
|
||||
setDoubleParameter(projectionVariable, parameters, "semi_minor");
|
||||
setDoubleParameter(projectionVariable, parameters, "false_easting");
|
||||
setDoubleParameter(projectionVariable, parameters, "false_northing");
|
||||
|
||||
addSpecificParameters(projectionVariable, parameters);
|
||||
return MapUtil.constructProjection(getProjectionName(),
|
||||
parameters);
|
||||
} catch (NoSuchIdentifierException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Unable to find projection by name: "
|
||||
+ Geostationary.PROJECTION_NAME, e);
|
||||
} catch (FactoryException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Error constructing projected CRS", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The name used to look up the parameters for the projection.
|
||||
*/
|
||||
protected abstract String getProjectionName();
|
||||
|
||||
/**
|
||||
* Method provided so that subclasses can add parameters that are needed for
|
||||
* the specific projection type that they are implementing.
|
||||
*
|
||||
* @param projectionVariable
|
||||
* the {@link Variable} from the {@link NetcdfFile} that ocntains
|
||||
* all the projection {@link Attribute}s.
|
||||
* @param parameters
|
||||
* The parameters that need to be set to define a
|
||||
* {@link CoordinateReferenceSystem}.
|
||||
* @throws GoesrProjectionException
|
||||
*/
|
||||
protected abstract void addSpecificParameters(Variable projectionVariable,
|
||||
ParameterValueGroup parameters) throws GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* Method to copy a value from a netcdf {@link Attribute} to a
|
||||
* {@link ParameterValueGroup}. This should be used when the name that is
|
||||
* expected in the netcdf file matches the name needed for the crs. If the
|
||||
* attribute does not exist then the value is left unchanged in the group.
|
||||
*
|
||||
* @param projectionVariable
|
||||
* {@link Variable} containing projection attributes.
|
||||
* @param parameters
|
||||
* parameters needed to build a CRS.
|
||||
* @param name
|
||||
* the name of the attribute, used for both lookup in the netcdf
|
||||
* file and setting the parameter in the group.
|
||||
* @throws GoesrProjectionException
|
||||
*/
|
||||
protected final void setDoubleParameter(Variable projectionVariable,
|
||||
ParameterValueGroup parameters, String name)
|
||||
throws GoesrProjectionException {
|
||||
setDoubleParameter(projectionVariable, name, parameters, name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to copy a value from a netcdf {@link Attribute} to a
|
||||
* {@link ParameterValueGroup}. This should be used when the name that is
|
||||
* expected in the netcdf file matches the name needed for the crs. If the
|
||||
* attribute does not exist then the value is left unchanged in the group.
|
||||
*
|
||||
* @param projectionVariable
|
||||
* {@link Variable} containing projection attributes.
|
||||
* @param attributeName
|
||||
* name of the attribute that is expected to exist on the
|
||||
* projectionVariable
|
||||
* @param parameters
|
||||
* parameters needed to build a CRS.
|
||||
* @param parameterName
|
||||
* name of the parameter to be set in the parameters.
|
||||
* @throws GoesrProjectionException
|
||||
*/
|
||||
protected final void setDoubleParameter(Variable projectionVariable,
|
||||
String attributeName, ParameterValueGroup parameters,
|
||||
String parameterName) throws GoesrProjectionException {
|
||||
Attribute attribute = projectionVariable.findAttribute(attributeName);
|
||||
if (attribute == null) {
|
||||
return;
|
||||
}
|
||||
if(attribute.getDataType() == DataType.STRING){
|
||||
String strValue = attribute.getStringValue();
|
||||
try {
|
||||
double value = Double.parseDouble(strValue);
|
||||
parameters.parameter(parameterName).setValue(value);
|
||||
} catch (NumberFormatException e) {
|
||||
throw new GoesrProjectionException("Unable to parse"
|
||||
+ attributeName, e);
|
||||
}
|
||||
}else{
|
||||
double value = attribute.getNumericValue().doubleValue();
|
||||
parameters.parameter(parameterName).setValue(value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.crs;
|
||||
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* A class representation of the GOES-R LambertConformal projection information
|
||||
* contained in the GOES-R netCDF file.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jun 01, 2012 796 jkorman Initial creation
|
||||
* Jul 05, 2013 2123 mschenke Refactored to be CRS factory
|
||||
* Apr 17, 2015 4336 bsteffen Converted to be only a CRS factory.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class LambertConformalCrsFactory extends GoesrCrsFactory {
|
||||
|
||||
@Override
|
||||
protected String getProjectionName() {
|
||||
return "Lambert_Conformal_Conic_1SP";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSpecificParameters(Variable projectionVariable,
|
||||
ParameterValueGroup parameters) throws GoesrProjectionException {
|
||||
setDoubleParameter(projectionVariable, "standard_parallel", parameters,
|
||||
"latitude_of_origin");
|
||||
setDoubleParameter(projectionVariable, "longitude_of_central_meridian",
|
||||
parameters, "longitude_of_origin");
|
||||
}
|
||||
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.crs;
|
||||
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* A class representation of the GOES-R Mercator projection information
|
||||
* contained in the GOES-R netCDF file.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jun 01, 2012 796 jkorman Initial creation
|
||||
* Jul 05, 2013 2123 mschenke Refactored to be CRS factory
|
||||
* Apr 17, 2015 4336 bsteffen Converted to be only a CRS factory.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class MercatorCrsFactory extends GoesrCrsFactory {
|
||||
|
||||
@Override
|
||||
protected String getProjectionName() {
|
||||
return "Mercator_2SP";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSpecificParameters(Variable projectionVariable,
|
||||
ParameterValueGroup parameters) throws GoesrProjectionException {
|
||||
setDoubleParameter(projectionVariable, "standard_parallel", parameters,
|
||||
"standard_parallel_1");
|
||||
setDoubleParameter(projectionVariable,
|
||||
"longitude_of_projection_origin", parameters,
|
||||
"central_meridian");
|
||||
}
|
||||
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.crs;
|
||||
|
||||
import org.opengis.parameter.ParameterValueGroup;
|
||||
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* A class representation of the GOES-R PolarStereographic projection
|
||||
* information contained in the GOES-R netCDF file.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Jun 01, 2012 796 jkorman Initial creation
|
||||
* Jul 05, 2013 2123 mschenke Refactored to be CRS factory
|
||||
* Apr 17, 2015 4336 bsteffen Converted to be only a CRS factory.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author jkorman
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class NorthPolarStereographicCrsFactory extends GoesrCrsFactory {
|
||||
|
||||
@Override
|
||||
protected String getProjectionName() {
|
||||
return "Stereographic_North_Pole";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addSpecificParameters(Variable projectionVariable,
|
||||
ParameterValueGroup parameters) throws GoesrProjectionException {
|
||||
setDoubleParameter(projectionVariable, "latitude_of_projection_origin",
|
||||
parameters, "standard_parallel_1");
|
||||
setDoubleParameter(projectionVariable,
|
||||
"straight_vertical_longitude_from_pole", parameters,
|
||||
"central_meridian");
|
||||
}
|
||||
|
||||
}
|
|
@ -1,148 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import javax.measure.unit.SI;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrSatelliteHeight;
|
||||
|
||||
/**
|
||||
*
|
||||
* Base class for {@link GoesrEnvelopeFactory}s that determine the envelope by
|
||||
* looking at global attributes on the netcdf file. This class provides a common
|
||||
* method for calculating nx,ny,dx,dy within an envelope and subclasses can
|
||||
* calculate minX and minY either by using the product center or tile center
|
||||
* attributes. Since the Level2 data types do not set these attributes,
|
||||
* factories of this type are generally only applicable to the sectorized CMI
|
||||
* files.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public abstract class AbstractCenterEnvelopeFactory implements
|
||||
GoesrEnvelopeFactory {
|
||||
|
||||
protected GoesrEnvelope loadDistanceNumber(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) {
|
||||
GoesrEnvelope envelope = new GoesrEnvelope();
|
||||
int tileNx;
|
||||
int tileNy;
|
||||
int productNx;
|
||||
int productNy;
|
||||
int offsetx;
|
||||
int offsety;
|
||||
Attribute attr = cdfFile.findGlobalAttribute("pixel_x_size");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
envelope.setDx(attr.getNumericValue().doubleValue() * 1000);
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("pixel_y_size");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
envelope.setDy(attr.getNumericValue().doubleValue() * 1000);
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_tile_width");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
tileNx = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_tile_height");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
tileNy = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_columns");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
productNx = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_rows");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
productNy = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("tile_column_offset");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
offsetx = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("tile_row_offset");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
offsety = attr.getNumericValue().intValue();
|
||||
}
|
||||
|
||||
/*
|
||||
* When the productNx is not evenly divisible by the tileNx the tileNx
|
||||
* is not the actual tileNx. For example if productNx is 1808 tiled to
|
||||
* 1024 than all tiles will have a tileNx of 1024 even the the rightmost
|
||||
* tiles have an actual nx of 784
|
||||
*/
|
||||
tileNx = Math.min(productNx - offsetx, tileNx);
|
||||
tileNy = Math.min(productNy - offsety, tileNy);
|
||||
|
||||
envelope.setNx(tileNx);
|
||||
envelope.setNy(tileNy);
|
||||
|
||||
double orbitalHeight = GoesrSatelliteHeight.getOrbitalHeight(crs,
|
||||
SI.KILOMETER);
|
||||
if (!Double.isNaN(orbitalHeight)) {
|
||||
// Geostationary dx/dy hack;
|
||||
double dx = envelope.getDx();
|
||||
double angularSeparation = (dx / 1000.0)
|
||||
* RADIANS_PER_KM_SPACING;
|
||||
dx = Math.tan(angularSeparation)
|
||||
* orbitalHeight;
|
||||
envelope.setDx(dx * 1000);
|
||||
double dy = envelope.getDy();
|
||||
angularSeparation = (dy / 1000.0)
|
||||
* RADIANS_PER_KM_SPACING;
|
||||
dy = Math.tan(angularSeparation)
|
||||
* orbitalHeight;
|
||||
envelope.setDy(dy * 1000);
|
||||
}
|
||||
|
||||
return envelope;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,121 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
|
||||
import javax.measure.unit.SI;
|
||||
import javax.measure.unit.Unit;
|
||||
import javax.measure.unit.UnitFormat;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
import com.raytheon.uf.edex.plugin.goesr.geospatial.GoesrSatelliteHeight;
|
||||
|
||||
/**
|
||||
*
|
||||
* Base class for all envelope factories that find envelopes using the x and y
|
||||
* dimension variables.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public abstract class AbstractDimensionEnvelopeFactory implements
|
||||
GoesrEnvelopeFactory {
|
||||
|
||||
@Override
|
||||
public GoesrEnvelope getEnvelope(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) throws GoesrProjectionException {
|
||||
Variable x = cdfFile.findVariable("x");
|
||||
if (x == null || !x.isCoordinateVariable()) {
|
||||
return null;
|
||||
}
|
||||
Variable y = cdfFile.findVariable("y");
|
||||
if (y == null || !y.isCoordinateVariable()) {
|
||||
return null;
|
||||
}
|
||||
return getEnvelopeFromDimensions(cdfFile, crs, x, y);
|
||||
|
||||
}
|
||||
|
||||
protected abstract GoesrEnvelope getEnvelopeFromDimensions(
|
||||
NetcdfFile cdfFile, CoordinateReferenceSystem crs, Variable x,
|
||||
Variable y) throws GoesrProjectionException;
|
||||
|
||||
protected static double findDistance(CoordinateReferenceSystem crs,
|
||||
double scale, Variable dimension) throws GoesrProjectionException {
|
||||
Attribute attr = dimension.findAttribute("units");
|
||||
if (attr == null) {
|
||||
return scale;
|
||||
}
|
||||
String units = attr.getStringValue();
|
||||
return findDistance(crs, scale, units);
|
||||
}
|
||||
|
||||
protected static double findDistance(CoordinateReferenceSystem crs,
|
||||
double scale, String units) throws GoesrProjectionException {
|
||||
if ("meters".equals(units)) {
|
||||
return scale;
|
||||
} else if ("rad".equals(units) || "radian".equals(units)) {
|
||||
double orbitalHeight = GoesrSatelliteHeight.getOrbitalHeight(crs,
|
||||
SI.METER);
|
||||
if (Double.isNaN(orbitalHeight)) {
|
||||
return 1000 * scale / RADIANS_PER_KM_SPACING;
|
||||
} else {
|
||||
return Math.tan(scale) * orbitalHeight;
|
||||
}
|
||||
} else if ("microradian".equals(units) || "microrad".equals(units)) {
|
||||
return findDistance(crs, scale / 1000 / 1000, "rad");
|
||||
} else {
|
||||
try {
|
||||
Unit<?> u = UnitFormat.getUCUMInstance().parseProductUnit(
|
||||
units, new ParsePosition(0));
|
||||
if (u.isCompatible(SI.METER)) {
|
||||
u.getConverterTo(SI.METER).convert(scale);
|
||||
} else {
|
||||
throw new GoesrProjectionException("Incompatible units: "
|
||||
+ units);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
throw new GoesrProjectionException("Unrecognized units: "
|
||||
+ units);
|
||||
}
|
||||
}
|
||||
|
||||
return scale;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,93 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Uses the scale and offset and size of the x and y variables to determine the
|
||||
* size of the product. This factory should work for all GOES-R products.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class DimensionEnvelopeFactory extends AbstractDimensionEnvelopeFactory {
|
||||
|
||||
@Override
|
||||
public GoesrEnvelope getEnvelopeFromDimensions(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs, Variable x, Variable y)
|
||||
throws GoesrProjectionException {
|
||||
int nx = x.getDimension(0).getLength();
|
||||
int ny = y.getDimension(0).getLength();
|
||||
|
||||
double scalex = x.findAttribute("scale_factor").getNumericValue()
|
||||
.doubleValue();
|
||||
double offsetx = x.findAttribute("add_offset").getNumericValue()
|
||||
.doubleValue();
|
||||
double scaley = y.findAttribute("scale_factor").getNumericValue()
|
||||
.doubleValue();
|
||||
double offsety = y.findAttribute("add_offset").getNumericValue()
|
||||
.doubleValue();
|
||||
double dx = findDistance(crs, scalex, x);
|
||||
double dy = findDistance(crs, scaley, y);
|
||||
|
||||
double minx;
|
||||
double miny;
|
||||
try {
|
||||
|
||||
minx = x.read().getInt(0);
|
||||
miny = y.read().getInt(0);
|
||||
} catch (IOException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Unable to read min values of x or y dimesnions.", e);
|
||||
}
|
||||
|
||||
minx = (minx + offsetx / scalex) * dx;
|
||||
miny = (miny + offsety / scaley) * dy;
|
||||
|
||||
GoesrEnvelope envelope = new GoesrEnvelope();
|
||||
envelope.setNx(nx);
|
||||
envelope.setNy(ny);
|
||||
envelope.setDx(dx);
|
||||
envelope.setDy(dy);
|
||||
envelope.setMinX(minx);
|
||||
envelope.setMinY(miny);
|
||||
return envelope;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,128 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import com.raytheon.uf.common.dataplugin.satellite.SatMapCoverage;
|
||||
|
||||
/**
|
||||
*
|
||||
* Defines the non-crs attributes needed to construct a {@link SatMapCoverage}.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class GoesrEnvelope {
|
||||
|
||||
private double minX;
|
||||
|
||||
private double minY;
|
||||
|
||||
private Integer nx;
|
||||
|
||||
private Integer ny;
|
||||
|
||||
private double dx;
|
||||
|
||||
private double dy;
|
||||
|
||||
public double getMinX() {
|
||||
return minX;
|
||||
}
|
||||
|
||||
public void setMinX(double minX) {
|
||||
this.minX = minX;
|
||||
}
|
||||
|
||||
public double getMinY() {
|
||||
return minY;
|
||||
}
|
||||
|
||||
public void setMinY(double minY) {
|
||||
this.minY = minY;
|
||||
}
|
||||
|
||||
public Integer getNx() {
|
||||
return nx;
|
||||
}
|
||||
|
||||
public void setNx(Integer nx) {
|
||||
this.nx = nx;
|
||||
}
|
||||
|
||||
public Integer getNy() {
|
||||
return ny;
|
||||
}
|
||||
|
||||
public void setNy(Integer ny) {
|
||||
this.ny = ny;
|
||||
}
|
||||
|
||||
public double getDx() {
|
||||
return dx;
|
||||
}
|
||||
|
||||
public void setDx(double dx) {
|
||||
this.dx = dx;
|
||||
}
|
||||
|
||||
public double getDy() {
|
||||
return dy;
|
||||
}
|
||||
|
||||
public void setDy(double dy) {
|
||||
this.dy = dy;
|
||||
}
|
||||
|
||||
public double getWidth() {
|
||||
return nx * dx;
|
||||
}
|
||||
|
||||
public double getHeight() {
|
||||
return ny * dy;
|
||||
}
|
||||
|
||||
public void normalize() {
|
||||
if (dx < 0) {
|
||||
minX = minX + dx * nx;
|
||||
dx = -1 * dx;
|
||||
}
|
||||
if (dy < 0) {
|
||||
minY = minY + dy * ny;
|
||||
dy = -1 * dy;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "GoesrEnvelope [minX=" + minX + ", minY=" + minY + ", nx=" + nx
|
||||
+ ", ny=" + ny + ", dx=" + dx + ", dy=" + dy + "]";
|
||||
}
|
||||
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
* Because there are multiple ways to define an envelope within a GOES-R
|
||||
* {@link NetcdfFile} a common interface is needed for extracting this
|
||||
* inofrmation using different methodoligies.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public interface GoesrEnvelopeFactory {
|
||||
|
||||
/**
|
||||
* Default conversion value that is used to convert from an angle between
|
||||
* the satellite and a point of earth into a meter spacing. This value is an
|
||||
* approximation and a better value can usually be determined by using the
|
||||
* actual orbital height.
|
||||
*/
|
||||
public static final double RADIANS_PER_KM_SPACING = 28 * 1e-6;
|
||||
|
||||
public GoesrEnvelope getEnvelope(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) throws GoesrProjectionException;
|
||||
|
||||
}
|
|
@ -1,116 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
|
||||
import ucar.ma2.Array;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
import ucar.nc2.Variable;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Uses the x and y variables to determine nx and ny, then use the
|
||||
* x_image_bounds and y_image_bounds to find the min/max extents of the data and
|
||||
* divide by nx or ny to find dx or dy. Sectorized CMI data does not include the
|
||||
* image_bounds and will not work with this image factory.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ImageBoundsEnvelopeFactory extends
|
||||
AbstractDimensionEnvelopeFactory {
|
||||
|
||||
@Override
|
||||
public GoesrEnvelope getEnvelopeFromDimensions(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs, Variable x, Variable y)
|
||||
throws GoesrProjectionException {
|
||||
int nx = x.getDimension(0).getLength();
|
||||
int ny = y.getDimension(0).getLength();
|
||||
|
||||
double minx;
|
||||
double maxx;
|
||||
double miny;
|
||||
double maxy;
|
||||
|
||||
Variable xBounds = cdfFile.findVariable("x_image_bounds");
|
||||
if (xBounds != null && xBounds.getSize() == 2) {
|
||||
try {
|
||||
Array xData = xBounds.read();
|
||||
minx = xData.getFloat(0);
|
||||
maxx = xData.getFloat(1);
|
||||
} catch (IOException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Error reading x_image_bounds");
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
Variable yBounds = cdfFile.findVariable("y_image_bounds");
|
||||
if (yBounds != null && yBounds.getSize() == 2) {
|
||||
try {
|
||||
Array yData = yBounds.read();
|
||||
miny = yData.getFloat(0);
|
||||
maxy = yData.getFloat(1);
|
||||
} catch (IOException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Error reading y_image_bounds");
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
double dx_native = (maxx - minx) / nx;
|
||||
double dy_native = (maxy - miny) / ny;
|
||||
|
||||
double dx = findDistance(crs, dx_native, x);
|
||||
double dy = findDistance(crs, dy_native, y);
|
||||
|
||||
minx = minx * dx / dx_native;
|
||||
maxx = maxx * dx / dx_native;
|
||||
miny = miny * dy / dy_native;
|
||||
maxy = maxy * dy / dy_native;
|
||||
|
||||
GoesrEnvelope envelope = new GoesrEnvelope();
|
||||
envelope.setNx(nx);
|
||||
envelope.setNy(ny);
|
||||
envelope.setDx(dx);
|
||||
envelope.setDy(dy);
|
||||
envelope.setMinX(minx);
|
||||
envelope.setMinY(miny);
|
||||
return envelope;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,122 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Calculate an envelope by offseting a tile withn a product using the tile
|
||||
* offsets and the product center. This method should work for any sectorized
|
||||
* CMI data.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ProductCenterEnvelopeFactory extends AbstractCenterEnvelopeFactory {
|
||||
|
||||
@Override
|
||||
public GoesrEnvelope getEnvelope(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) throws GoesrProjectionException {
|
||||
GoesrEnvelope envelope = loadDistanceNumber(cdfFile, crs);
|
||||
if (envelope == null) {
|
||||
return null;
|
||||
}
|
||||
DirectPosition2D center = new DirectPosition2D();
|
||||
int productNx;
|
||||
int productNy;
|
||||
int offsetx;
|
||||
int offsety;
|
||||
Attribute attr = cdfFile.findGlobalAttribute("product_center_longitude");
|
||||
if(attr == null){
|
||||
return null;
|
||||
}else{
|
||||
center.x = attr.getNumericValue().doubleValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_center_latitude");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
center.y = attr.getNumericValue().doubleValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_columns");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
productNx = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("product_rows");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
productNy = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("tile_column_offset");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
offsetx = attr.getNumericValue().intValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("tile_row_offset");
|
||||
if (attr == null) {
|
||||
return null;
|
||||
} else {
|
||||
offsety = attr.getNumericValue().intValue();
|
||||
}
|
||||
|
||||
try {
|
||||
CRS.findMathTransform(DefaultGeographicCRS.WGS84, crs, true)
|
||||
.transform(center, center);
|
||||
} catch (TransformException | FactoryException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Error transforming product center point to CRS space", e);
|
||||
}
|
||||
|
||||
double left = center.x + (offsetx - productNx / 2.0) * envelope.getDx();
|
||||
|
||||
double top = center.y - (offsety - productNy / 2.0) * envelope.getDy();
|
||||
double bottom = top - envelope.getHeight();
|
||||
|
||||
envelope.setMinX(left);
|
||||
envelope.setMinY(bottom);
|
||||
return envelope;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,98 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.edex.plugin.goesr.geospatial.envelope;
|
||||
|
||||
import org.geotools.geometry.DirectPosition2D;
|
||||
import org.geotools.referencing.CRS;
|
||||
import org.geotools.referencing.crs.DefaultGeographicCRS;
|
||||
import org.opengis.referencing.FactoryException;
|
||||
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||
import org.opengis.referencing.operation.TransformException;
|
||||
|
||||
import ucar.ma2.DataType;
|
||||
import ucar.nc2.Attribute;
|
||||
import ucar.nc2.NetcdfFile;
|
||||
|
||||
import com.raytheon.uf.edex.plugin.goesr.exception.GoesrProjectionException;
|
||||
|
||||
/**
|
||||
*
|
||||
* Calculates envelope based off the tile center defined in the global
|
||||
* attributes of a {@link NetcdfFile}. This is known to fail for Himawari data
|
||||
* where the center of the tiles is not on the disk.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------- -------- ----------- --------------------------
|
||||
* Apr 17, 2015 4336 bsteffen Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author bsteffen
|
||||
* @version 1.0
|
||||
*/
|
||||
public class TileCenterEnvelopeFactory extends AbstractCenterEnvelopeFactory {
|
||||
|
||||
@Override
|
||||
public GoesrEnvelope getEnvelope(NetcdfFile cdfFile,
|
||||
CoordinateReferenceSystem crs) throws GoesrProjectionException {
|
||||
GoesrEnvelope envelope = loadDistanceNumber(cdfFile, crs);
|
||||
if (envelope == null) {
|
||||
return null;
|
||||
}
|
||||
DirectPosition2D center = new DirectPosition2D();
|
||||
Attribute attr = cdfFile.findGlobalAttribute("tile_center_longitude");
|
||||
/*
|
||||
* The empty string is used by himawari when the center of a tile is off
|
||||
* the world, since all valid data is numeric assume any string is
|
||||
* invalid.
|
||||
*/
|
||||
if (attr == null || attr.getDataType() == DataType.STRING) {
|
||||
return null;
|
||||
}else{
|
||||
center.x = attr.getNumericValue().doubleValue();
|
||||
}
|
||||
attr = cdfFile.findGlobalAttribute("tile_center_latitude");
|
||||
if (attr == null || attr.getDataType() == DataType.STRING) {
|
||||
return null;
|
||||
} else {
|
||||
center.y = attr.getNumericValue().doubleValue();
|
||||
}
|
||||
|
||||
try {
|
||||
CRS.findMathTransform(DefaultGeographicCRS.WGS84, crs, true)
|
||||
.transform(center, center);
|
||||
} catch (TransformException | FactoryException e) {
|
||||
throw new GoesrProjectionException(
|
||||
"Error transforming product center point to CRS space", e);
|
||||
}
|
||||
|
||||
double minX = center.x - envelope.getWidth() / 2.0;
|
||||
double minY = center.y - envelope.getHeight() / 2.0;
|
||||
|
||||
envelope.setMinX(minX);
|
||||
envelope.setMinY(minY);
|
||||
return envelope;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,191 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<!-- best res satellite resource -->
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="imagingCapability" />
|
||||
<capability xsi:type="colorMapCapability">
|
||||
<colorMapParameters colorMapName="${colormap}" />
|
||||
</capability>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satBestResResourceData" inclusionFactor="${inclusionFactor;0.6}">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="WFD,EFD,WCONUS,ECONUS"
|
||||
constraintType="IN" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="50000000" minDisplayWidth="6000000" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satBlendedResourceData" timeMatchMode="${timeMatchMode;EVERY_IMAGE}">
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${secondaryPosition;E}FD"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${primaryPosition;W}FD"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="10000000" minDisplayWidth="2500000" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satBlendedResourceData" timeMatchMode="${timeMatchMode;EVERY_IMAGE}">
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${secondaryPosition;E}CONUS"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${primaryPosition;W}CONUS"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="2500000" minDisplayWidth="0" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${primaryPosition;W}CONUS"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,164 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<!-- best res satellite resource -->
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="imagingCapability" />
|
||||
<capability xsi:type="colorMapCapability">
|
||||
<colorMapParameters colorMapName="${colormap}" />
|
||||
</capability>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satBestResResourceData" inclusionFactor="${inclusionFactor;0.6}">
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="WFD,EFD,${region;AK}REGI"
|
||||
constraintType="IN" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="50000000" minDisplayWidth="${regionWidth;5000000}" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satBlendedResourceData" timeMatchMode="${timeMatchMode;EVERY_IMAGE}">
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${secondaryPosition;E}FD"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${primaryPosition;W}FD"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="${regionWidth;5000000}" minDisplayWidth="0" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${region;AK}REGI"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<properties>
|
||||
<pdProps maxDisplayWidth="${regionWidth;5000000}" minDisplayWidth="0" />
|
||||
</properties>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${region;AK}REGI"
|
||||
constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}"
|
||||
constraintType="LIKE" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,89 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle>
|
||||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<resource>
|
||||
<loadProperties >
|
||||
<capabilities>
|
||||
<capability xsi:type="colorMapCapability">
|
||||
<colorMapParameters colorMapName="${colormap}"/>
|
||||
</capability>
|
||||
<capability xsi:type="imagingCapability"/>
|
||||
</capabilities>
|
||||
<perspectiveProperty xsi:type="d2dLoadProperties" overlayMatchTolerance="1"/>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satBlendedResourceData" timeMatchMode="${timeMatchMode;EVERY_IMAGE}">
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="imagingCapability" />
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}" constraintType="IN"/>
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector0}" constraintType="IN"/>
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}" constraintType="LIKE"/>
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
<resource>
|
||||
<loadProperties>
|
||||
<capabilities>
|
||||
<capability xsi:type="imagingCapability"/>
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<binOffset posOffset="150" negOffset="150"/>
|
||||
<metadataMap>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS"/>
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${element}" constraintType="IN"/>
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector1}" constraintType="IN"/>
|
||||
</mapping>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}" constraintType="LIKE"/>
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,97 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<bundle xmlns:ns2="http://www.example.org/productType" xmlns:ns3="group">
|
||||
<displayList>
|
||||
<displays xsi:type="d2DMapRenderableDisplay"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<descriptor xsi:type="mapDescriptor">
|
||||
<resource>
|
||||
<loadProperties loadWithoutData="true">
|
||||
<capabilities>
|
||||
<capability xsi:type="colorableCapability"
|
||||
colorAsString="white" />
|
||||
</capabilities>
|
||||
</loadProperties>
|
||||
<resourceData xsi:type="trueColorResourceGroupData">
|
||||
<groupName>${productName}</groupName>
|
||||
<channelResource channelName="${redElement}">
|
||||
<channel>RED</channel>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<metadataMap>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}" constraintType="LIKE" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${redElement}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</channelResource>
|
||||
<channelResource channelName="${greenElement}">
|
||||
<channel>GREEN</channel>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<metadataMap>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}" constraintType="LIKE" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${greenElement}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</channelResource>
|
||||
<channelResource channelName="${blueElement}">
|
||||
<channel>BLUE</channel>
|
||||
<resourceData xsi:type="satResourceData">
|
||||
<metadataMap>
|
||||
<mapping key="creatingEntity">
|
||||
<constraint constraintValue="${entity}" constraintType="LIKE" />
|
||||
</mapping>
|
||||
<mapping key="physicalElement">
|
||||
<constraint constraintValue="${blueElement}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="sectorID">
|
||||
<constraint constraintValue="${sector}" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
<mapping key="pluginName">
|
||||
<constraint constraintValue="satellite" constraintType="EQUALS" />
|
||||
</mapping>
|
||||
</metadataMap>
|
||||
</resourceData>
|
||||
</channelResource>
|
||||
</resourceData>
|
||||
</resource>
|
||||
</descriptor>
|
||||
</displays>
|
||||
</displayList>
|
||||
</bundle>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<colorMap>
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
<color r="0.0" g="1.0" b="1.0" a="1.0" />
|
||||
<color r="0.0" g="1.0" b="0.0" a="1.0" />
|
||||
<color r="0.0" g="0.5" b="0.0" a="1.0" />
|
||||
<color r="1.0" g="0.0" b="0.0" a="1.0" />
|
||||
<color r="1.0" g="1.0" b="1.0" a="1.0" />
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
</colorMap>
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<colorMap>
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
<color r="1.0" g="1.0" b="0.0" a="1.0" />
|
||||
<color r="0.0" g="0.0" b="1.0" a="1.0" />
|
||||
<color r="0.0" g="0.5" b="0.0" a="1.0" />
|
||||
<color r="1.0" g="0.0" b="0.0" a="1.0" />
|
||||
<color r="1.0" g="0.5" b="0.0" a="1.0" />
|
||||
<color r="0.5" g="0.0" b="1.0" a="1.0" />
|
||||
<color r="1.0" g="1.0" b="1.0" a="1.0" />
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
</colorMap>
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<colorMap>
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
<color r="1.0" g="1.0" b="1.0" a="1.0" />
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0" />
|
||||
</colorMap>
|
|
@ -1,473 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<colorMap>
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0000" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0086" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0170" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0253" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0334" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0414" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0492" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0569" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0645" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0719" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0792" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0864" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.0934" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1004" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1072" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1139" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1206" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1271" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1335" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1399" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1461" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1523" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1584" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1644" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1703" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1761" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1818" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1875" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1931" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.1987" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2041" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2095" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2148" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2201" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2253" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2304" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2355" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2405" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2455" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2504" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2553" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2601" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2648" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2695" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2742" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2788" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2833" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2878" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2923" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.2967" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3010" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3054" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3096" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3139" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3181" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3222" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3263" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3304" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3345" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3385" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3424" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3464" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3502" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3541" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3579" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3617" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3655" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3692" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3729" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3766" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3802" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3838" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3874" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3909" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3945" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.3979" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4014" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4048" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4082" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4116" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4150" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4183" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4216" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4249" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4281" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4314" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4346" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4378" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4409" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4440" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4472" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4502" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4533" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4564" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4594" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4624" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4654" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4683" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4713" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4742" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4771" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4800" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4829" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4857" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4886" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4914" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4942" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4969" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.4997" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5024" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5051" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5079" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5105" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5132" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5159" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5185" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5211" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5237" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5263" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5289" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5315" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5340" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5366" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5391" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5416" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5441" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5465" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5490" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5514" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5539" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5563" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5587" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5611" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5635" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5658" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5682" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5705" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5729" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5752" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5775" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5798" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5821" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5843" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5866" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5888" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5911" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5933" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5955" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5977" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.5999" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6021" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6042" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6064" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6085" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6107" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6128" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6149" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6170" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6191" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6212" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6232" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6253" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6274" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6294" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6314" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6335" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6355" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6375" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6395" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6415" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6435" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6454" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6474" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6493" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6513" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6532" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6551" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6571" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6590" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6609" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6628" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6646" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6665" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6684" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6702" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6721" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6739" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6758" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6776" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6794" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6812" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6830" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6848" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6866" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6884" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6902" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6920" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6937" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6955" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6972" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.6990" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7007" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7024" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7042" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7059" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7076" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7093" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7110" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7126" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7143" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7160" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7177" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7193" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7210" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7226" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7243" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7259" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7275" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7292" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7308" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7324" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7340" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7356" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7372" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7388" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7404" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7419" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7435" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7451" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7466" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7482" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7497" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7513" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7528" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7543" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7559" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7574" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7589" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7604" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7619" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7634" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7649" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7664" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7679" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7694" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7709" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7723" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7738" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7752" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7767" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7782" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7796" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7810" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7825" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7839" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7853" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7868" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7882" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7896" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7910" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7924" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7938" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7952" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7966" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7980" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.7993" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8007" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8021" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8035" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8048" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8062" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8075" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8089" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8102" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8116" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8129" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8142" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8156" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8169" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8182" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8195" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8209" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8222" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8235" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8248" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8261" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8274" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8287" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8299" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8312" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8325" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8338" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8351" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8363" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8376" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8388" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8401" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8414" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8426" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8439" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8451" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8463" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8476" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8488" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8500" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8513" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8525" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8537" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8549" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8561" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8573" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8585" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8597" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8609" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8621" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8633" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8645" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8657" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8669" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8681" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8692" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8704" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8716" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8727" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8739" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8751" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8762" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8774" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8785" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8797" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8808" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8820" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8831" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8842" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8854" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8865" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8876" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8887" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8899" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8910" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8921" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8932" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8943" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8954" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8965" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8976" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8987" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.8998" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9009" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9020" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9031" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9042" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9053" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9063" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9074" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9085" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9096" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9106" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9117" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9128" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9138" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9149" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9159" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9170" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9180" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9191" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9201" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9212" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9222" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9232" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9243" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9253" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9263" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9274" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9284" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9294" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9304" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9315" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9325" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9335" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9345" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9355" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9365" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9375" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9385" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9395" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9405" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9415" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9425" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9435" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9445" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9455" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9465" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9474" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9484" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9494" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9504" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9513" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9523" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9533" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9542" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9552" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9562" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9571" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9581" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9590" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9600" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9609" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9619" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9628" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9638" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9647" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9657" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9666" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9675" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9685" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9694" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9703" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9713" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9722" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9731" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9741" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9750" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9759" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9768" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9777" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9786" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9795" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9805" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9814" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9823" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9832" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9841" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9850" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9859" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9868" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9877" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9886" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9894" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9903" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9912" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9921" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9930" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9939" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9948" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9956" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9965" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9974" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9983" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="0.9991" />
|
||||
<color r="1.0000" g="1.0000" b="1.0000" a="1.0000" />
|
||||
</colorMap>
|
|
@ -1,622 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<colorMap>
|
||||
<color r="0.000" g="0.000" b="0.000" a="0.000" />
|
||||
<color r="0.996" g="0.496" b="0.996" a="1.000" />
|
||||
<color r="0.992" g="0.492" b="0.992" a="1.000" />
|
||||
<color r="0.988" g="0.488" b="0.988" a="1.000" />
|
||||
<color r="0.984" g="0.484" b="0.984" a="1.000" />
|
||||
<color r="0.980" g="0.480" b="0.980" a="1.000" />
|
||||
<color r="0.976" g="0.476" b="0.976" a="1.000" />
|
||||
<color r="0.972" g="0.472" b="0.972" a="1.000" />
|
||||
<color r="0.968" g="0.468" b="0.968" a="1.000" />
|
||||
<color r="0.964" g="0.464" b="0.964" a="1.000" />
|
||||
<color r="0.960" g="0.460" b="0.960" a="1.000" />
|
||||
<color r="0.956" g="0.456" b="0.956" a="1.000" />
|
||||
<color r="0.952" g="0.452" b="0.952" a="1.000" />
|
||||
<color r="0.948" g="0.448" b="0.948" a="1.000" />
|
||||
<color r="0.944" g="0.444" b="0.944" a="1.000" />
|
||||
<color r="0.940" g="0.440" b="0.940" a="1.000" />
|
||||
<color r="0.936" g="0.436" b="0.936" a="1.000" />
|
||||
<color r="0.932" g="0.432" b="0.932" a="1.000" />
|
||||
<color r="0.928" g="0.428" b="0.928" a="1.000" />
|
||||
<color r="0.924" g="0.424" b="0.924" a="1.000" />
|
||||
<color r="0.920" g="0.420" b="0.920" a="1.000" />
|
||||
<color r="0.916" g="0.416" b="0.916" a="1.000" />
|
||||
<color r="0.912" g="0.412" b="0.912" a="1.000" />
|
||||
<color r="0.908" g="0.408" b="0.908" a="1.000" />
|
||||
<color r="0.904" g="0.404" b="0.904" a="1.000" />
|
||||
<color r="0.900" g="0.400" b="0.900" a="1.000" />
|
||||
<color r="0.896" g="0.396" b="0.896" a="1.000" />
|
||||
<color r="0.892" g="0.392" b="0.892" a="1.000" />
|
||||
<color r="0.888" g="0.388" b="0.888" a="1.000" />
|
||||
<color r="0.884" g="0.384" b="0.884" a="1.000" />
|
||||
<color r="0.880" g="0.380" b="0.880" a="1.000" />
|
||||
<color r="0.876" g="0.376" b="0.876" a="1.000" />
|
||||
<color r="0.872" g="0.372" b="0.872" a="1.000" />
|
||||
<color r="0.868" g="0.368" b="0.868" a="1.000" />
|
||||
<color r="0.864" g="0.364" b="0.864" a="1.000" />
|
||||
<color r="0.860" g="0.360" b="0.860" a="1.000" />
|
||||
<color r="0.856" g="0.356" b="0.856" a="1.000" />
|
||||
<color r="0.852" g="0.352" b="0.852" a="1.000" />
|
||||
<color r="0.848" g="0.348" b="0.848" a="1.000" />
|
||||
<color r="0.844" g="0.344" b="0.844" a="1.000" />
|
||||
<color r="0.840" g="0.340" b="0.840" a="1.000" />
|
||||
<color r="0.836" g="0.336" b="0.836" a="1.000" />
|
||||
<color r="0.832" g="0.332" b="0.832" a="1.000" />
|
||||
<color r="0.828" g="0.328" b="0.828" a="1.000" />
|
||||
<color r="0.824" g="0.324" b="0.824" a="1.000" />
|
||||
<color r="0.820" g="0.320" b="0.820" a="1.000" />
|
||||
<color r="0.816" g="0.316" b="0.816" a="1.000" />
|
||||
<color r="0.812" g="0.312" b="0.812" a="1.000" />
|
||||
<color r="0.808" g="0.308" b="0.808" a="1.000" />
|
||||
<color r="0.804" g="0.304" b="0.804" a="1.000" />
|
||||
<color r="0.800" g="0.300" b="0.800" a="1.000" />
|
||||
<color r="0.796" g="0.296" b="0.796" a="1.000" />
|
||||
<color r="0.792" g="0.292" b="0.792" a="1.000" />
|
||||
<color r="0.788" g="0.288" b="0.788" a="1.000" />
|
||||
<color r="0.784" g="0.284" b="0.784" a="1.000" />
|
||||
<color r="0.780" g="0.280" b="0.780" a="1.000" />
|
||||
<color r="0.776" g="0.276" b="0.776" a="1.000" />
|
||||
<color r="0.772" g="0.272" b="0.772" a="1.000" />
|
||||
<color r="0.768" g="0.268" b="0.768" a="1.000" />
|
||||
<color r="0.764" g="0.264" b="0.764" a="1.000" />
|
||||
<color r="0.760" g="0.260" b="0.760" a="1.000" />
|
||||
<color r="0.756" g="0.256" b="0.756" a="1.000" />
|
||||
<color r="0.752" g="0.252" b="0.752" a="1.000" />
|
||||
<color r="0.748" g="0.248" b="0.748" a="1.000" />
|
||||
<color r="0.744" g="0.244" b="0.744" a="1.000" />
|
||||
<color r="0.740" g="0.240" b="0.740" a="1.000" />
|
||||
<color r="0.736" g="0.236" b="0.736" a="1.000" />
|
||||
<color r="0.732" g="0.232" b="0.732" a="1.000" />
|
||||
<color r="0.728" g="0.228" b="0.728" a="1.000" />
|
||||
<color r="0.724" g="0.224" b="0.724" a="1.000" />
|
||||
<color r="0.720" g="0.220" b="0.720" a="1.000" />
|
||||
<color r="0.716" g="0.216" b="0.716" a="1.000" />
|
||||
<color r="0.712" g="0.212" b="0.712" a="1.000" />
|
||||
<color r="0.708" g="0.208" b="0.708" a="1.000" />
|
||||
<color r="0.704" g="0.204" b="0.704" a="1.000" />
|
||||
<color r="0.700" g="0.200" b="0.700" a="1.000" />
|
||||
<color r="0.696" g="0.196" b="0.696" a="1.000" />
|
||||
<color r="0.692" g="0.192" b="0.692" a="1.000" />
|
||||
<color r="0.688" g="0.188" b="0.688" a="1.000" />
|
||||
<color r="0.684" g="0.184" b="0.684" a="1.000" />
|
||||
<color r="0.680" g="0.180" b="0.680" a="1.000" />
|
||||
<color r="0.676" g="0.176" b="0.676" a="1.000" />
|
||||
<color r="0.672" g="0.172" b="0.672" a="1.000" />
|
||||
<color r="0.668" g="0.168" b="0.668" a="1.000" />
|
||||
<color r="0.664" g="0.164" b="0.664" a="1.000" />
|
||||
<color r="0.660" g="0.160" b="0.660" a="1.000" />
|
||||
<color r="0.656" g="0.156" b="0.656" a="1.000" />
|
||||
<color r="0.652" g="0.152" b="0.652" a="1.000" />
|
||||
<color r="0.648" g="0.148" b="0.648" a="1.000" />
|
||||
<color r="0.644" g="0.144" b="0.644" a="1.000" />
|
||||
<color r="0.640" g="0.140" b="0.640" a="1.000" />
|
||||
<color r="0.636" g="0.136" b="0.636" a="1.000" />
|
||||
<color r="0.632" g="0.132" b="0.632" a="1.000" />
|
||||
<color r="0.628" g="0.128" b="0.628" a="1.000" />
|
||||
<color r="0.624" g="0.124" b="0.624" a="1.000" />
|
||||
<color r="0.620" g="0.120" b="0.620" a="1.000" />
|
||||
<color r="0.616" g="0.116" b="0.616" a="1.000" />
|
||||
<color r="0.612" g="0.112" b="0.612" a="1.000" />
|
||||
<color r="0.608" g="0.108" b="0.608" a="1.000" />
|
||||
<color r="0.604" g="0.104" b="0.604" a="1.000" />
|
||||
<color r="0.500" g="0.800" b="1.000" a="1.000" />
|
||||
<color r="0.496" g="0.796" b="0.996" a="1.000" />
|
||||
<color r="0.492" g="0.792" b="0.992" a="1.000" />
|
||||
<color r="0.488" g="0.788" b="0.988" a="1.000" />
|
||||
<color r="0.484" g="0.784" b="0.984" a="1.000" />
|
||||
<color r="0.480" g="0.780" b="0.980" a="1.000" />
|
||||
<color r="0.476" g="0.776" b="0.976" a="1.000" />
|
||||
<color r="0.472" g="0.772" b="0.972" a="1.000" />
|
||||
<color r="0.468" g="0.768" b="0.968" a="1.000" />
|
||||
<color r="0.464" g="0.764" b="0.964" a="1.000" />
|
||||
<color r="0.460" g="0.760" b="0.960" a="1.000" />
|
||||
<color r="0.456" g="0.756" b="0.956" a="1.000" />
|
||||
<color r="0.452" g="0.752" b="0.952" a="1.000" />
|
||||
<color r="0.448" g="0.748" b="0.948" a="1.000" />
|
||||
<color r="0.444" g="0.744" b="0.944" a="1.000" />
|
||||
<color r="0.440" g="0.740" b="0.940" a="1.000" />
|
||||
<color r="0.436" g="0.736" b="0.936" a="1.000" />
|
||||
<color r="0.432" g="0.732" b="0.932" a="1.000" />
|
||||
<color r="0.428" g="0.728" b="0.928" a="1.000" />
|
||||
<color r="0.424" g="0.724" b="0.924" a="1.000" />
|
||||
<color r="0.420" g="0.720" b="0.920" a="1.000" />
|
||||
<color r="0.416" g="0.716" b="0.916" a="1.000" />
|
||||
<color r="0.412" g="0.712" b="0.912" a="1.000" />
|
||||
<color r="0.408" g="0.708" b="0.908" a="1.000" />
|
||||
<color r="0.404" g="0.704" b="0.904" a="1.000" />
|
||||
<color r="0.400" g="0.700" b="0.900" a="1.000" />
|
||||
<color r="0.396" g="0.696" b="0.896" a="1.000" />
|
||||
<color r="0.392" g="0.692" b="0.892" a="1.000" />
|
||||
<color r="0.388" g="0.688" b="0.888" a="1.000" />
|
||||
<color r="0.384" g="0.684" b="0.884" a="1.000" />
|
||||
<color r="0.380" g="0.680" b="0.880" a="1.000" />
|
||||
<color r="0.376" g="0.676" b="0.876" a="1.000" />
|
||||
<color r="0.372" g="0.672" b="0.872" a="1.000" />
|
||||
<color r="0.368" g="0.668" b="0.868" a="1.000" />
|
||||
<color r="0.364" g="0.664" b="0.864" a="1.000" />
|
||||
<color r="0.360" g="0.660" b="0.860" a="1.000" />
|
||||
<color r="0.356" g="0.656" b="0.856" a="1.000" />
|
||||
<color r="0.352" g="0.652" b="0.852" a="1.000" />
|
||||
<color r="0.348" g="0.648" b="0.848" a="1.000" />
|
||||
<color r="0.344" g="0.644" b="0.844" a="1.000" />
|
||||
<color r="0.340" g="0.640" b="0.840" a="1.000" />
|
||||
<color r="0.336" g="0.636" b="0.836" a="1.000" />
|
||||
<color r="0.332" g="0.632" b="0.832" a="1.000" />
|
||||
<color r="0.328" g="0.628" b="0.828" a="1.000" />
|
||||
<color r="0.324" g="0.624" b="0.824" a="1.000" />
|
||||
<color r="0.320" g="0.620" b="0.820" a="1.000" />
|
||||
<color r="0.316" g="0.616" b="0.816" a="1.000" />
|
||||
<color r="0.312" g="0.612" b="0.812" a="1.000" />
|
||||
<color r="0.308" g="0.608" b="0.808" a="1.000" />
|
||||
<color r="0.304" g="0.604" b="0.804" a="1.000" />
|
||||
<color r="0.300" g="0.600" b="0.800" a="1.000" />
|
||||
<color r="0.296" g="0.596" b="0.796" a="1.000" />
|
||||
<color r="0.292" g="0.592" b="0.792" a="1.000" />
|
||||
<color r="0.288" g="0.588" b="0.788" a="1.000" />
|
||||
<color r="0.284" g="0.584" b="0.784" a="1.000" />
|
||||
<color r="0.280" g="0.580" b="0.780" a="1.000" />
|
||||
<color r="0.276" g="0.576" b="0.776" a="1.000" />
|
||||
<color r="0.272" g="0.572" b="0.772" a="1.000" />
|
||||
<color r="0.268" g="0.568" b="0.768" a="1.000" />
|
||||
<color r="0.264" g="0.564" b="0.764" a="1.000" />
|
||||
<color r="0.260" g="0.560" b="0.760" a="1.000" />
|
||||
<color r="0.256" g="0.556" b="0.756" a="1.000" />
|
||||
<color r="0.252" g="0.552" b="0.752" a="1.000" />
|
||||
<color r="0.248" g="0.548" b="0.748" a="1.000" />
|
||||
<color r="0.244" g="0.544" b="0.744" a="1.000" />
|
||||
<color r="0.240" g="0.540" b="0.740" a="1.000" />
|
||||
<color r="0.236" g="0.536" b="0.736" a="1.000" />
|
||||
<color r="0.232" g="0.532" b="0.732" a="1.000" />
|
||||
<color r="0.228" g="0.528" b="0.728" a="1.000" />
|
||||
<color r="0.224" g="0.524" b="0.724" a="1.000" />
|
||||
<color r="0.220" g="0.520" b="0.720" a="1.000" />
|
||||
<color r="0.216" g="0.516" b="0.716" a="1.000" />
|
||||
<color r="0.212" g="0.512" b="0.712" a="1.000" />
|
||||
<color r="0.208" g="0.508" b="0.708" a="1.000" />
|
||||
<color r="0.204" g="0.504" b="0.704" a="1.000" />
|
||||
<color r="0.200" g="0.500" b="0.700" a="1.000" />
|
||||
<color r="0.196" g="0.496" b="0.696" a="1.000" />
|
||||
<color r="0.192" g="0.492" b="0.692" a="1.000" />
|
||||
<color r="0.188" g="0.488" b="0.688" a="1.000" />
|
||||
<color r="0.184" g="0.484" b="0.684" a="1.000" />
|
||||
<color r="0.180" g="0.480" b="0.680" a="1.000" />
|
||||
<color r="0.176" g="0.476" b="0.676" a="1.000" />
|
||||
<color r="0.172" g="0.472" b="0.672" a="1.000" />
|
||||
<color r="0.168" g="0.468" b="0.668" a="1.000" />
|
||||
<color r="0.164" g="0.464" b="0.664" a="1.000" />
|
||||
<color r="0.160" g="0.460" b="0.660" a="1.000" />
|
||||
<color r="0.156" g="0.456" b="0.656" a="1.000" />
|
||||
<color r="0.152" g="0.452" b="0.652" a="1.000" />
|
||||
<color r="0.148" g="0.448" b="0.648" a="1.000" />
|
||||
<color r="0.144" g="0.444" b="0.644" a="1.000" />
|
||||
<color r="0.140" g="0.440" b="0.640" a="1.000" />
|
||||
<color r="0.136" g="0.436" b="0.636" a="1.000" />
|
||||
<color r="0.132" g="0.432" b="0.632" a="1.000" />
|
||||
<color r="0.128" g="0.428" b="0.628" a="1.000" />
|
||||
<color r="0.124" g="0.424" b="0.624" a="1.000" />
|
||||
<color r="0.120" g="0.420" b="0.620" a="1.000" />
|
||||
<color r="0.116" g="0.416" b="0.616" a="1.000" />
|
||||
<color r="0.112" g="0.412" b="0.612" a="1.000" />
|
||||
<color r="0.108" g="0.408" b="0.608" a="1.000" />
|
||||
<color r="0.104" g="0.404" b="0.604" a="1.000" />
|
||||
<color r="0.500" g="1.000" b="0.500" a="1.000" />
|
||||
<color r="0.496" g="0.996" b="0.496" a="1.000" />
|
||||
<color r="0.492" g="0.992" b="0.492" a="1.000" />
|
||||
<color r="0.488" g="0.988" b="0.488" a="1.000" />
|
||||
<color r="0.484" g="0.984" b="0.484" a="1.000" />
|
||||
<color r="0.480" g="0.980" b="0.480" a="1.000" />
|
||||
<color r="0.476" g="0.976" b="0.476" a="1.000" />
|
||||
<color r="0.472" g="0.972" b="0.472" a="1.000" />
|
||||
<color r="0.468" g="0.968" b="0.468" a="1.000" />
|
||||
<color r="0.464" g="0.964" b="0.464" a="1.000" />
|
||||
<color r="0.460" g="0.960" b="0.460" a="1.000" />
|
||||
<color r="0.456" g="0.956" b="0.456" a="1.000" />
|
||||
<color r="0.452" g="0.952" b="0.452" a="1.000" />
|
||||
<color r="0.448" g="0.948" b="0.448" a="1.000" />
|
||||
<color r="0.444" g="0.944" b="0.444" a="1.000" />
|
||||
<color r="0.440" g="0.940" b="0.440" a="1.000" />
|
||||
<color r="0.436" g="0.936" b="0.436" a="1.000" />
|
||||
<color r="0.432" g="0.932" b="0.432" a="1.000" />
|
||||
<color r="0.428" g="0.928" b="0.428" a="1.000" />
|
||||
<color r="0.424" g="0.924" b="0.424" a="1.000" />
|
||||
<color r="0.420" g="0.920" b="0.420" a="1.000" />
|
||||
<color r="0.416" g="0.916" b="0.416" a="1.000" />
|
||||
<color r="0.412" g="0.912" b="0.412" a="1.000" />
|
||||
<color r="0.408" g="0.908" b="0.408" a="1.000" />
|
||||
<color r="0.404" g="0.904" b="0.404" a="1.000" />
|
||||
<color r="0.400" g="0.900" b="0.400" a="1.000" />
|
||||
<color r="0.396" g="0.896" b="0.396" a="1.000" />
|
||||
<color r="0.392" g="0.892" b="0.392" a="1.000" />
|
||||
<color r="0.388" g="0.888" b="0.388" a="1.000" />
|
||||
<color r="0.384" g="0.884" b="0.384" a="1.000" />
|
||||
<color r="0.380" g="0.880" b="0.380" a="1.000" />
|
||||
<color r="0.376" g="0.876" b="0.376" a="1.000" />
|
||||
<color r="0.372" g="0.872" b="0.372" a="1.000" />
|
||||
<color r="0.368" g="0.868" b="0.368" a="1.000" />
|
||||
<color r="0.364" g="0.864" b="0.364" a="1.000" />
|
||||
<color r="0.360" g="0.860" b="0.360" a="1.000" />
|
||||
<color r="0.356" g="0.856" b="0.356" a="1.000" />
|
||||
<color r="0.352" g="0.852" b="0.352" a="1.000" />
|
||||
<color r="0.348" g="0.848" b="0.348" a="1.000" />
|
||||
<color r="0.344" g="0.844" b="0.344" a="1.000" />
|
||||
<color r="0.340" g="0.840" b="0.340" a="1.000" />
|
||||
<color r="0.336" g="0.836" b="0.336" a="1.000" />
|
||||
<color r="0.332" g="0.832" b="0.332" a="1.000" />
|
||||
<color r="0.328" g="0.828" b="0.328" a="1.000" />
|
||||
<color r="0.324" g="0.824" b="0.324" a="1.000" />
|
||||
<color r="0.320" g="0.820" b="0.320" a="1.000" />
|
||||
<color r="0.316" g="0.816" b="0.316" a="1.000" />
|
||||
<color r="0.312" g="0.812" b="0.312" a="1.000" />
|
||||
<color r="0.308" g="0.808" b="0.308" a="1.000" />
|
||||
<color r="0.304" g="0.804" b="0.304" a="1.000" />
|
||||
<color r="0.300" g="0.800" b="0.300" a="1.000" />
|
||||
<color r="0.296" g="0.796" b="0.296" a="1.000" />
|
||||
<color r="0.292" g="0.792" b="0.292" a="1.000" />
|
||||
<color r="0.288" g="0.788" b="0.288" a="1.000" />
|
||||
<color r="0.284" g="0.784" b="0.284" a="1.000" />
|
||||
<color r="0.280" g="0.780" b="0.280" a="1.000" />
|
||||
<color r="0.276" g="0.776" b="0.276" a="1.000" />
|
||||
<color r="0.272" g="0.772" b="0.272" a="1.000" />
|
||||
<color r="0.268" g="0.768" b="0.268" a="1.000" />
|
||||
<color r="0.264" g="0.764" b="0.264" a="1.000" />
|
||||
<color r="0.260" g="0.760" b="0.260" a="1.000" />
|
||||
<color r="0.256" g="0.756" b="0.256" a="1.000" />
|
||||
<color r="0.252" g="0.752" b="0.252" a="1.000" />
|
||||
<color r="0.248" g="0.748" b="0.248" a="1.000" />
|
||||
<color r="0.244" g="0.744" b="0.244" a="1.000" />
|
||||
<color r="0.240" g="0.740" b="0.240" a="1.000" />
|
||||
<color r="0.236" g="0.736" b="0.236" a="1.000" />
|
||||
<color r="0.232" g="0.732" b="0.232" a="1.000" />
|
||||
<color r="0.228" g="0.728" b="0.228" a="1.000" />
|
||||
<color r="0.224" g="0.724" b="0.224" a="1.000" />
|
||||
<color r="0.220" g="0.720" b="0.220" a="1.000" />
|
||||
<color r="0.216" g="0.716" b="0.216" a="1.000" />
|
||||
<color r="0.212" g="0.712" b="0.212" a="1.000" />
|
||||
<color r="0.208" g="0.708" b="0.208" a="1.000" />
|
||||
<color r="0.204" g="0.704" b="0.204" a="1.000" />
|
||||
<color r="0.200" g="0.700" b="0.200" a="1.000" />
|
||||
<color r="0.196" g="0.696" b="0.196" a="1.000" />
|
||||
<color r="0.192" g="0.692" b="0.192" a="1.000" />
|
||||
<color r="0.188" g="0.688" b="0.188" a="1.000" />
|
||||
<color r="0.184" g="0.684" b="0.184" a="1.000" />
|
||||
<color r="0.180" g="0.680" b="0.180" a="1.000" />
|
||||
<color r="0.176" g="0.676" b="0.176" a="1.000" />
|
||||
<color r="0.172" g="0.672" b="0.172" a="1.000" />
|
||||
<color r="0.168" g="0.668" b="0.168" a="1.000" />
|
||||
<color r="0.164" g="0.664" b="0.164" a="1.000" />
|
||||
<color r="0.160" g="0.660" b="0.160" a="1.000" />
|
||||
<color r="0.156" g="0.656" b="0.156" a="1.000" />
|
||||
<color r="0.152" g="0.652" b="0.152" a="1.000" />
|
||||
<color r="0.148" g="0.648" b="0.148" a="1.000" />
|
||||
<color r="0.144" g="0.644" b="0.144" a="1.000" />
|
||||
<color r="0.140" g="0.640" b="0.140" a="1.000" />
|
||||
<color r="0.136" g="0.636" b="0.136" a="1.000" />
|
||||
<color r="0.132" g="0.632" b="0.132" a="1.000" />
|
||||
<color r="0.128" g="0.628" b="0.128" a="1.000" />
|
||||
<color r="0.124" g="0.624" b="0.124" a="1.000" />
|
||||
<color r="0.120" g="0.620" b="0.120" a="1.000" />
|
||||
<color r="0.116" g="0.616" b="0.116" a="1.000" />
|
||||
<color r="0.112" g="0.612" b="0.112" a="1.000" />
|
||||
<color r="0.108" g="0.608" b="0.108" a="1.000" />
|
||||
<color r="0.104" g="0.604" b="0.104" a="1.000" />
|
||||
<color r="1.000" g="1.000" b="0.500" a="1.000" />
|
||||
<color r="0.996" g="0.996" b="0.496" a="1.000" />
|
||||
<color r="0.992" g="0.992" b="0.492" a="1.000" />
|
||||
<color r="0.988" g="0.988" b="0.488" a="1.000" />
|
||||
<color r="0.984" g="0.984" b="0.484" a="1.000" />
|
||||
<color r="0.980" g="0.980" b="0.480" a="1.000" />
|
||||
<color r="0.976" g="0.976" b="0.476" a="1.000" />
|
||||
<color r="0.972" g="0.972" b="0.472" a="1.000" />
|
||||
<color r="0.968" g="0.968" b="0.468" a="1.000" />
|
||||
<color r="0.964" g="0.964" b="0.464" a="1.000" />
|
||||
<color r="0.960" g="0.960" b="0.460" a="1.000" />
|
||||
<color r="0.956" g="0.956" b="0.456" a="1.000" />
|
||||
<color r="0.952" g="0.952" b="0.452" a="1.000" />
|
||||
<color r="0.948" g="0.948" b="0.448" a="1.000" />
|
||||
<color r="0.944" g="0.944" b="0.444" a="1.000" />
|
||||
<color r="0.940" g="0.940" b="0.440" a="1.000" />
|
||||
<color r="0.936" g="0.936" b="0.436" a="1.000" />
|
||||
<color r="0.932" g="0.932" b="0.432" a="1.000" />
|
||||
<color r="0.928" g="0.928" b="0.428" a="1.000" />
|
||||
<color r="0.924" g="0.924" b="0.424" a="1.000" />
|
||||
<color r="0.920" g="0.920" b="0.420" a="1.000" />
|
||||
<color r="0.916" g="0.916" b="0.416" a="1.000" />
|
||||
<color r="0.912" g="0.912" b="0.412" a="1.000" />
|
||||
<color r="0.908" g="0.908" b="0.408" a="1.000" />
|
||||
<color r="0.904" g="0.904" b="0.404" a="1.000" />
|
||||
<color r="0.900" g="0.900" b="0.400" a="1.000" />
|
||||
<color r="0.896" g="0.896" b="0.396" a="1.000" />
|
||||
<color r="0.892" g="0.892" b="0.392" a="1.000" />
|
||||
<color r="0.888" g="0.888" b="0.388" a="1.000" />
|
||||
<color r="0.884" g="0.884" b="0.384" a="1.000" />
|
||||
<color r="0.880" g="0.880" b="0.380" a="1.000" />
|
||||
<color r="0.876" g="0.876" b="0.376" a="1.000" />
|
||||
<color r="0.872" g="0.872" b="0.372" a="1.000" />
|
||||
<color r="0.868" g="0.868" b="0.368" a="1.000" />
|
||||
<color r="0.864" g="0.864" b="0.364" a="1.000" />
|
||||
<color r="0.860" g="0.860" b="0.360" a="1.000" />
|
||||
<color r="0.856" g="0.856" b="0.356" a="1.000" />
|
||||
<color r="0.852" g="0.852" b="0.352" a="1.000" />
|
||||
<color r="0.848" g="0.848" b="0.348" a="1.000" />
|
||||
<color r="0.844" g="0.844" b="0.344" a="1.000" />
|
||||
<color r="0.840" g="0.840" b="0.340" a="1.000" />
|
||||
<color r="0.836" g="0.836" b="0.336" a="1.000" />
|
||||
<color r="0.832" g="0.832" b="0.332" a="1.000" />
|
||||
<color r="0.828" g="0.828" b="0.328" a="1.000" />
|
||||
<color r="0.824" g="0.824" b="0.324" a="1.000" />
|
||||
<color r="0.820" g="0.820" b="0.320" a="1.000" />
|
||||
<color r="0.816" g="0.816" b="0.316" a="1.000" />
|
||||
<color r="0.812" g="0.812" b="0.312" a="1.000" />
|
||||
<color r="0.808" g="0.808" b="0.308" a="1.000" />
|
||||
<color r="0.804" g="0.804" b="0.304" a="1.000" />
|
||||
<color r="0.800" g="0.800" b="0.300" a="1.000" />
|
||||
<color r="0.796" g="0.796" b="0.296" a="1.000" />
|
||||
<color r="0.792" g="0.792" b="0.292" a="1.000" />
|
||||
<color r="0.788" g="0.788" b="0.288" a="1.000" />
|
||||
<color r="0.784" g="0.784" b="0.284" a="1.000" />
|
||||
<color r="0.780" g="0.780" b="0.280" a="1.000" />
|
||||
<color r="0.776" g="0.776" b="0.276" a="1.000" />
|
||||
<color r="0.772" g="0.772" b="0.272" a="1.000" />
|
||||
<color r="0.768" g="0.768" b="0.268" a="1.000" />
|
||||
<color r="0.764" g="0.764" b="0.264" a="1.000" />
|
||||
<color r="0.760" g="0.760" b="0.260" a="1.000" />
|
||||
<color r="0.756" g="0.756" b="0.256" a="1.000" />
|
||||
<color r="0.752" g="0.752" b="0.252" a="1.000" />
|
||||
<color r="0.748" g="0.748" b="0.248" a="1.000" />
|
||||
<color r="0.744" g="0.744" b="0.244" a="1.000" />
|
||||
<color r="0.740" g="0.740" b="0.240" a="1.000" />
|
||||
<color r="0.736" g="0.736" b="0.236" a="1.000" />
|
||||
<color r="0.732" g="0.732" b="0.232" a="1.000" />
|
||||
<color r="0.728" g="0.728" b="0.228" a="1.000" />
|
||||
<color r="0.724" g="0.724" b="0.224" a="1.000" />
|
||||
<color r="0.720" g="0.720" b="0.220" a="1.000" />
|
||||
<color r="0.716" g="0.716" b="0.216" a="1.000" />
|
||||
<color r="0.712" g="0.712" b="0.212" a="1.000" />
|
||||
<color r="0.708" g="0.708" b="0.208" a="1.000" />
|
||||
<color r="0.704" g="0.704" b="0.204" a="1.000" />
|
||||
<color r="0.700" g="0.700" b="0.200" a="1.000" />
|
||||
<color r="0.696" g="0.696" b="0.196" a="1.000" />
|
||||
<color r="0.692" g="0.692" b="0.192" a="1.000" />
|
||||
<color r="0.688" g="0.688" b="0.188" a="1.000" />
|
||||
<color r="0.684" g="0.684" b="0.184" a="1.000" />
|
||||
<color r="0.680" g="0.680" b="0.180" a="1.000" />
|
||||
<color r="0.676" g="0.676" b="0.176" a="1.000" />
|
||||
<color r="0.672" g="0.672" b="0.172" a="1.000" />
|
||||
<color r="0.668" g="0.668" b="0.168" a="1.000" />
|
||||
<color r="0.664" g="0.664" b="0.164" a="1.000" />
|
||||
<color r="0.660" g="0.660" b="0.160" a="1.000" />
|
||||
<color r="0.656" g="0.656" b="0.156" a="1.000" />
|
||||
<color r="0.652" g="0.652" b="0.152" a="1.000" />
|
||||
<color r="0.648" g="0.648" b="0.148" a="1.000" />
|
||||
<color r="0.644" g="0.644" b="0.144" a="1.000" />
|
||||
<color r="0.640" g="0.640" b="0.140" a="1.000" />
|
||||
<color r="0.636" g="0.636" b="0.136" a="1.000" />
|
||||
<color r="0.632" g="0.632" b="0.132" a="1.000" />
|
||||
<color r="0.628" g="0.628" b="0.128" a="1.000" />
|
||||
<color r="0.624" g="0.624" b="0.124" a="1.000" />
|
||||
<color r="0.620" g="0.620" b="0.120" a="1.000" />
|
||||
<color r="0.616" g="0.616" b="0.116" a="1.000" />
|
||||
<color r="0.612" g="0.612" b="0.112" a="1.000" />
|
||||
<color r="0.608" g="0.608" b="0.108" a="1.000" />
|
||||
<color r="0.604" g="0.604" b="0.104" a="1.000" />
|
||||
<color r="1.000" g="0.800" b="0.500" a="1.000" />
|
||||
<color r="0.996" g="0.796" b="0.496" a="1.000" />
|
||||
<color r="0.992" g="0.792" b="0.492" a="1.000" />
|
||||
<color r="0.988" g="0.788" b="0.488" a="1.000" />
|
||||
<color r="0.984" g="0.784" b="0.484" a="1.000" />
|
||||
<color r="0.980" g="0.780" b="0.480" a="1.000" />
|
||||
<color r="0.976" g="0.776" b="0.476" a="1.000" />
|
||||
<color r="0.972" g="0.772" b="0.472" a="1.000" />
|
||||
<color r="0.968" g="0.768" b="0.468" a="1.000" />
|
||||
<color r="0.964" g="0.764" b="0.464" a="1.000" />
|
||||
<color r="0.960" g="0.760" b="0.460" a="1.000" />
|
||||
<color r="0.956" g="0.756" b="0.456" a="1.000" />
|
||||
<color r="0.952" g="0.752" b="0.452" a="1.000" />
|
||||
<color r="0.948" g="0.748" b="0.448" a="1.000" />
|
||||
<color r="0.944" g="0.744" b="0.444" a="1.000" />
|
||||
<color r="0.940" g="0.740" b="0.440" a="1.000" />
|
||||
<color r="0.936" g="0.736" b="0.436" a="1.000" />
|
||||
<color r="0.932" g="0.732" b="0.432" a="1.000" />
|
||||
<color r="0.928" g="0.728" b="0.428" a="1.000" />
|
||||
<color r="0.924" g="0.724" b="0.424" a="1.000" />
|
||||
<color r="0.920" g="0.720" b="0.420" a="1.000" />
|
||||
<color r="0.916" g="0.716" b="0.416" a="1.000" />
|
||||
<color r="0.912" g="0.712" b="0.412" a="1.000" />
|
||||
<color r="0.908" g="0.708" b="0.408" a="1.000" />
|
||||
<color r="0.904" g="0.704" b="0.404" a="1.000" />
|
||||
<color r="0.900" g="0.700" b="0.400" a="1.000" />
|
||||
<color r="0.896" g="0.696" b="0.396" a="1.000" />
|
||||
<color r="0.892" g="0.692" b="0.392" a="1.000" />
|
||||
<color r="0.888" g="0.688" b="0.388" a="1.000" />
|
||||
<color r="0.884" g="0.684" b="0.384" a="1.000" />
|
||||
<color r="0.880" g="0.680" b="0.380" a="1.000" />
|
||||
<color r="0.876" g="0.676" b="0.376" a="1.000" />
|
||||
<color r="0.872" g="0.672" b="0.372" a="1.000" />
|
||||
<color r="0.868" g="0.668" b="0.368" a="1.000" />
|
||||
<color r="0.864" g="0.664" b="0.364" a="1.000" />
|
||||
<color r="0.860" g="0.660" b="0.360" a="1.000" />
|
||||
<color r="0.856" g="0.656" b="0.356" a="1.000" />
|
||||
<color r="0.852" g="0.652" b="0.352" a="1.000" />
|
||||
<color r="0.848" g="0.648" b="0.348" a="1.000" />
|
||||
<color r="0.844" g="0.644" b="0.344" a="1.000" />
|
||||
<color r="0.840" g="0.640" b="0.340" a="1.000" />
|
||||
<color r="0.836" g="0.636" b="0.336" a="1.000" />
|
||||
<color r="0.832" g="0.632" b="0.332" a="1.000" />
|
||||
<color r="0.828" g="0.628" b="0.328" a="1.000" />
|
||||
<color r="0.824" g="0.624" b="0.324" a="1.000" />
|
||||
<color r="0.820" g="0.620" b="0.320" a="1.000" />
|
||||
<color r="0.816" g="0.616" b="0.316" a="1.000" />
|
||||
<color r="0.812" g="0.612" b="0.312" a="1.000" />
|
||||
<color r="0.808" g="0.608" b="0.308" a="1.000" />
|
||||
<color r="0.804" g="0.604" b="0.304" a="1.000" />
|
||||
<color r="0.800" g="0.600" b="0.300" a="1.000" />
|
||||
<color r="0.796" g="0.596" b="0.296" a="1.000" />
|
||||
<color r="0.792" g="0.592" b="0.292" a="1.000" />
|
||||
<color r="0.788" g="0.588" b="0.288" a="1.000" />
|
||||
<color r="0.784" g="0.584" b="0.284" a="1.000" />
|
||||
<color r="0.780" g="0.580" b="0.280" a="1.000" />
|
||||
<color r="0.776" g="0.576" b="0.276" a="1.000" />
|
||||
<color r="0.772" g="0.572" b="0.272" a="1.000" />
|
||||
<color r="0.768" g="0.568" b="0.268" a="1.000" />
|
||||
<color r="0.764" g="0.564" b="0.264" a="1.000" />
|
||||
<color r="0.760" g="0.560" b="0.260" a="1.000" />
|
||||
<color r="0.756" g="0.556" b="0.256" a="1.000" />
|
||||
<color r="0.752" g="0.552" b="0.252" a="1.000" />
|
||||
<color r="0.748" g="0.548" b="0.248" a="1.000" />
|
||||
<color r="0.744" g="0.544" b="0.244" a="1.000" />
|
||||
<color r="0.740" g="0.540" b="0.240" a="1.000" />
|
||||
<color r="0.736" g="0.536" b="0.236" a="1.000" />
|
||||
<color r="0.732" g="0.532" b="0.232" a="1.000" />
|
||||
<color r="0.728" g="0.528" b="0.228" a="1.000" />
|
||||
<color r="0.724" g="0.524" b="0.224" a="1.000" />
|
||||
<color r="0.720" g="0.520" b="0.220" a="1.000" />
|
||||
<color r="0.716" g="0.516" b="0.216" a="1.000" />
|
||||
<color r="0.712" g="0.512" b="0.212" a="1.000" />
|
||||
<color r="0.708" g="0.508" b="0.208" a="1.000" />
|
||||
<color r="0.704" g="0.504" b="0.204" a="1.000" />
|
||||
<color r="0.700" g="0.500" b="0.200" a="1.000" />
|
||||
<color r="0.696" g="0.496" b="0.196" a="1.000" />
|
||||
<color r="0.692" g="0.492" b="0.192" a="1.000" />
|
||||
<color r="0.688" g="0.488" b="0.188" a="1.000" />
|
||||
<color r="0.684" g="0.484" b="0.184" a="1.000" />
|
||||
<color r="0.680" g="0.480" b="0.180" a="1.000" />
|
||||
<color r="0.676" g="0.476" b="0.176" a="1.000" />
|
||||
<color r="0.672" g="0.472" b="0.172" a="1.000" />
|
||||
<color r="0.668" g="0.468" b="0.168" a="1.000" />
|
||||
<color r="0.664" g="0.464" b="0.164" a="1.000" />
|
||||
<color r="0.660" g="0.460" b="0.160" a="1.000" />
|
||||
<color r="0.656" g="0.456" b="0.156" a="1.000" />
|
||||
<color r="0.652" g="0.452" b="0.152" a="1.000" />
|
||||
<color r="0.648" g="0.448" b="0.148" a="1.000" />
|
||||
<color r="0.644" g="0.444" b="0.144" a="1.000" />
|
||||
<color r="0.640" g="0.440" b="0.140" a="1.000" />
|
||||
<color r="0.636" g="0.436" b="0.136" a="1.000" />
|
||||
<color r="0.632" g="0.432" b="0.132" a="1.000" />
|
||||
<color r="0.628" g="0.428" b="0.128" a="1.000" />
|
||||
<color r="0.624" g="0.424" b="0.124" a="1.000" />
|
||||
<color r="0.620" g="0.420" b="0.120" a="1.000" />
|
||||
<color r="0.616" g="0.416" b="0.116" a="1.000" />
|
||||
<color r="0.612" g="0.412" b="0.112" a="1.000" />
|
||||
<color r="0.608" g="0.408" b="0.108" a="1.000" />
|
||||
<color r="0.604" g="0.404" b="0.104" a="1.000" />
|
||||
<color r="1.000" g="0.500" b="0.500" a="1.000" />
|
||||
<color r="0.996" g="0.496" b="0.496" a="1.000" />
|
||||
<color r="0.992" g="0.492" b="0.492" a="1.000" />
|
||||
<color r="0.988" g="0.488" b="0.488" a="1.000" />
|
||||
<color r="0.984" g="0.484" b="0.484" a="1.000" />
|
||||
<color r="0.980" g="0.480" b="0.480" a="1.000" />
|
||||
<color r="0.976" g="0.476" b="0.476" a="1.000" />
|
||||
<color r="0.972" g="0.472" b="0.472" a="1.000" />
|
||||
<color r="0.968" g="0.468" b="0.468" a="1.000" />
|
||||
<color r="0.964" g="0.464" b="0.464" a="1.000" />
|
||||
<color r="0.960" g="0.460" b="0.460" a="1.000" />
|
||||
<color r="0.956" g="0.456" b="0.456" a="1.000" />
|
||||
<color r="0.952" g="0.452" b="0.452" a="1.000" />
|
||||
<color r="0.948" g="0.448" b="0.448" a="1.000" />
|
||||
<color r="0.944" g="0.444" b="0.444" a="1.000" />
|
||||
<color r="0.940" g="0.440" b="0.440" a="1.000" />
|
||||
<color r="0.936" g="0.436" b="0.436" a="1.000" />
|
||||
<color r="0.932" g="0.432" b="0.432" a="1.000" />
|
||||
<color r="0.928" g="0.428" b="0.428" a="1.000" />
|
||||
<color r="0.924" g="0.424" b="0.424" a="1.000" />
|
||||
<color r="0.920" g="0.420" b="0.420" a="1.000" />
|
||||
<color r="0.916" g="0.416" b="0.416" a="1.000" />
|
||||
<color r="0.912" g="0.412" b="0.412" a="1.000" />
|
||||
<color r="0.908" g="0.408" b="0.408" a="1.000" />
|
||||
<color r="0.904" g="0.404" b="0.404" a="1.000" />
|
||||
<color r="0.900" g="0.400" b="0.400" a="1.000" />
|
||||
<color r="0.896" g="0.396" b="0.396" a="1.000" />
|
||||
<color r="0.892" g="0.392" b="0.392" a="1.000" />
|
||||
<color r="0.888" g="0.388" b="0.388" a="1.000" />
|
||||
<color r="0.884" g="0.384" b="0.384" a="1.000" />
|
||||
<color r="0.880" g="0.380" b="0.380" a="1.000" />
|
||||
<color r="0.876" g="0.376" b="0.376" a="1.000" />
|
||||
<color r="0.872" g="0.372" b="0.372" a="1.000" />
|
||||
<color r="0.868" g="0.368" b="0.368" a="1.000" />
|
||||
<color r="0.864" g="0.364" b="0.364" a="1.000" />
|
||||
<color r="0.860" g="0.360" b="0.360" a="1.000" />
|
||||
<color r="0.856" g="0.356" b="0.356" a="1.000" />
|
||||
<color r="0.852" g="0.352" b="0.352" a="1.000" />
|
||||
<color r="0.848" g="0.348" b="0.348" a="1.000" />
|
||||
<color r="0.844" g="0.344" b="0.344" a="1.000" />
|
||||
<color r="0.840" g="0.340" b="0.340" a="1.000" />
|
||||
<color r="0.836" g="0.336" b="0.336" a="1.000" />
|
||||
<color r="0.832" g="0.332" b="0.332" a="1.000" />
|
||||
<color r="0.828" g="0.328" b="0.328" a="1.000" />
|
||||
<color r="0.824" g="0.324" b="0.324" a="1.000" />
|
||||
<color r="0.820" g="0.320" b="0.320" a="1.000" />
|
||||
<color r="0.816" g="0.316" b="0.316" a="1.000" />
|
||||
<color r="0.812" g="0.312" b="0.312" a="1.000" />
|
||||
<color r="0.808" g="0.308" b="0.308" a="1.000" />
|
||||
<color r="0.804" g="0.304" b="0.304" a="1.000" />
|
||||
<color r="0.800" g="0.300" b="0.300" a="1.000" />
|
||||
<color r="0.796" g="0.296" b="0.296" a="1.000" />
|
||||
<color r="0.792" g="0.292" b="0.292" a="1.000" />
|
||||
<color r="0.788" g="0.288" b="0.288" a="1.000" />
|
||||
<color r="0.784" g="0.284" b="0.284" a="1.000" />
|
||||
<color r="0.780" g="0.280" b="0.280" a="1.000" />
|
||||
<color r="0.776" g="0.276" b="0.276" a="1.000" />
|
||||
<color r="0.772" g="0.272" b="0.272" a="1.000" />
|
||||
<color r="0.768" g="0.268" b="0.268" a="1.000" />
|
||||
<color r="0.764" g="0.264" b="0.264" a="1.000" />
|
||||
<color r="0.760" g="0.260" b="0.260" a="1.000" />
|
||||
<color r="0.756" g="0.256" b="0.256" a="1.000" />
|
||||
<color r="0.752" g="0.252" b="0.252" a="1.000" />
|
||||
<color r="0.748" g="0.248" b="0.248" a="1.000" />
|
||||
<color r="0.744" g="0.244" b="0.244" a="1.000" />
|
||||
<color r="0.740" g="0.240" b="0.240" a="1.000" />
|
||||
<color r="0.736" g="0.236" b="0.236" a="1.000" />
|
||||
<color r="0.732" g="0.232" b="0.232" a="1.000" />
|
||||
<color r="0.728" g="0.228" b="0.228" a="1.000" />
|
||||
<color r="0.724" g="0.224" b="0.224" a="1.000" />
|
||||
<color r="0.720" g="0.220" b="0.220" a="1.000" />
|
||||
<color r="0.716" g="0.216" b="0.216" a="1.000" />
|
||||
<color r="0.712" g="0.212" b="0.212" a="1.000" />
|
||||
<color r="0.708" g="0.208" b="0.208" a="1.000" />
|
||||
<color r="0.704" g="0.204" b="0.204" a="1.000" />
|
||||
<color r="0.700" g="0.200" b="0.200" a="1.000" />
|
||||
<color r="0.696" g="0.196" b="0.196" a="1.000" />
|
||||
<color r="0.692" g="0.192" b="0.192" a="1.000" />
|
||||
<color r="0.688" g="0.188" b="0.188" a="1.000" />
|
||||
<color r="0.684" g="0.184" b="0.184" a="1.000" />
|
||||
<color r="0.680" g="0.180" b="0.180" a="1.000" />
|
||||
<color r="0.676" g="0.176" b="0.176" a="1.000" />
|
||||
<color r="0.672" g="0.172" b="0.172" a="1.000" />
|
||||
<color r="0.668" g="0.168" b="0.168" a="1.000" />
|
||||
<color r="0.664" g="0.164" b="0.164" a="1.000" />
|
||||
<color r="0.660" g="0.160" b="0.160" a="1.000" />
|
||||
<color r="0.656" g="0.156" b="0.156" a="1.000" />
|
||||
<color r="0.652" g="0.152" b="0.152" a="1.000" />
|
||||
<color r="0.648" g="0.148" b="0.148" a="1.000" />
|
||||
<color r="0.644" g="0.144" b="0.144" a="1.000" />
|
||||
<color r="0.640" g="0.140" b="0.140" a="1.000" />
|
||||
<color r="0.636" g="0.136" b="0.136" a="1.000" />
|
||||
<color r="0.632" g="0.132" b="0.132" a="1.000" />
|
||||
<color r="0.628" g="0.128" b="0.128" a="1.000" />
|
||||
<color r="0.624" g="0.124" b="0.124" a="1.000" />
|
||||
<color r="0.620" g="0.120" b="0.120" a="1.000" />
|
||||
<color r="0.616" g="0.116" b="0.116" a="1.000" />
|
||||
<color r="0.612" g="0.112" b="0.112" a="1.000" />
|
||||
<color r="0.608" g="0.108" b="0.108" a="1.000" />
|
||||
<color r="0.604" g="0.104" b="0.104" a="1.000" />
|
||||
</colorMap>
|
File diff suppressed because it is too large
Load diff
|
@ -1,264 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<colorMap>
|
||||
<!-- Colormap converted by bsteffen from CIMSS_IR.ET which was provided by:
|
||||
Timothy J. Schmit
|
||||
NOAA/NESDIS Center for SaTellite Applications and Research (STAR)
|
||||
Advanced Satellite Products Branch (ASPB)
|
||||
-->
|
||||
<color r="1.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.011764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.023529412" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.03529412" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.047058824" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.05882353" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.07058824" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.08235294" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.09411765" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.105882354" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.11764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.12941177" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.14117648" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.15294118" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.16078432" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.17254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.18431373" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.19607843" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.20784314" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.21960784" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.23137255" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.24313726" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.25490198" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.26666668" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.2784314" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.2901961" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3019608" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3137255" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3372549" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.34901962" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.36078432" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.37254903" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.38431373" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.39607844" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.40784314" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.41960785" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.43137255" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.44313726" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.45490196" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.46666667" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.47843137" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.4862745" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.49803922" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.50980395" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.52156866" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.53333336" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.54509807" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5568628" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5686275" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5803922" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5921569" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6039216" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6156863" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.627451" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6392157" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6509804" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6627451" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6745098" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6862745" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.69803923" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.70980394" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.72156864" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.73333335" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.74509805" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.75686276" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.76862746" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.78039217" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.7921569" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8039216" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8117647" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8235294" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8352941" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.84705883" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.85882354" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.87058824" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.88235295" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.89411765" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.90588236" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.91764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.92941177" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9411765" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9529412" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9647059" b="0.0" a="1"></color>
|
||||
<color r="0.9843137" g="0.9843137" b="0.015686275" a="1"></color>
|
||||
<color r="0.972549" g="0.972549" b="0.02745098" a="1"></color>
|
||||
<color r="0.9607843" g="0.9607843" b="0.039215688" a="1"></color>
|
||||
<color r="0.9490196" g="0.9490196" b="0.050980393" a="1"></color>
|
||||
<color r="0.9372549" g="0.9372549" b="0.0627451" a="1"></color>
|
||||
<color r="0.9254902" g="0.9254902" b="0.07450981" a="1"></color>
|
||||
<color r="0.9098039" g="0.9098039" b="0.09019608" a="1"></color>
|
||||
<color r="0.8980392" g="0.8980392" b="0.101960786" a="1"></color>
|
||||
<color r="0.8862745" g="0.8862745" b="0.11372549" a="1"></color>
|
||||
<color r="0.8745098" g="0.8745098" b="0.1254902" a="1"></color>
|
||||
<color r="0.8627451" g="0.8627451" b="0.13725491" a="1"></color>
|
||||
<color r="0.8509804" g="0.8509804" b="0.14901961" a="1"></color>
|
||||
<color r="0.8392157" g="0.8392157" b="0.16078432" a="1"></color>
|
||||
<color r="0.827451" g="0.827451" b="0.17254902" a="1"></color>
|
||||
<color r="0.8156863" g="0.8156863" b="0.18431373" a="1"></color>
|
||||
<color r="0.8039216" g="0.8039216" b="0.19607843" a="1"></color>
|
||||
<color r="0.7882353" g="0.7882353" b="0.21176471" a="1"></color>
|
||||
<color r="0.7764706" g="0.7764706" b="0.22352941" a="1"></color>
|
||||
<color r="0.7647059" g="0.7647059" b="0.23529412" a="1"></color>
|
||||
<color r="0.7529412" g="0.7529412" b="0.24705882" a="1"></color>
|
||||
<color r="0.7411765" g="0.7411765" b="0.25882354" a="1"></color>
|
||||
<color r="0.7294118" g="0.7294118" b="0.27058825" a="1"></color>
|
||||
<color r="0.7176471" g="0.7176471" b="0.28235295" a="1"></color>
|
||||
<color r="0.7058824" g="0.7058824" b="0.29411766" a="1"></color>
|
||||
<color r="0.69411767" g="0.69411767" b="0.30588236" a="1"></color>
|
||||
<color r="0.68235296" g="0.68235296" b="0.31764707" a="1"></color>
|
||||
<color r="0.6666667" g="0.6666667" b="0.33333334" a="1"></color>
|
||||
<color r="0.654902" g="0.654902" b="0.34509805" a="1"></color>
|
||||
<color r="0.6431373" g="0.6431373" b="0.35686275" a="1"></color>
|
||||
<color r="0.6313726" g="0.6313726" b="0.36862746" a="1"></color>
|
||||
<color r="0.61960787" g="0.61960787" b="0.38039216" a="1"></color>
|
||||
<color r="0.60784316" g="0.60784316" b="0.39215687" a="1"></color>
|
||||
<color r="0.59607846" g="0.59607846" b="0.40392157" a="1"></color>
|
||||
<color r="0.58431375" g="0.58431375" b="0.41568628" a="1"></color>
|
||||
<color r="0.57254905" g="0.57254905" b="0.42745098" a="1"></color>
|
||||
<color r="0.56078434" g="0.56078434" b="0.4392157" a="1"></color>
|
||||
<color r="0.54509807" g="0.54509807" b="0.45490196" a="1"></color>
|
||||
<color r="0.53333336" g="0.53333336" b="0.46666667" a="1"></color>
|
||||
<color r="0.52156866" g="0.52156866" b="0.47843137" a="1"></color>
|
||||
<color r="0.50980395" g="0.50980395" b="0.49019608" a="1"></color>
|
||||
<color r="0.49803922" g="0.49803922" b="0.5019608" a="1"></color>
|
||||
<color r="0.4862745" g="0.4862745" b="0.5137255" a="1"></color>
|
||||
<color r="0.4745098" g="0.4745098" b="0.5254902" a="1"></color>
|
||||
<color r="0.4627451" g="0.4627451" b="0.5372549" a="1"></color>
|
||||
<color r="0.4509804" g="0.4509804" b="0.54901963" a="1"></color>
|
||||
<color r="0.4392157" g="0.4392157" b="0.56078434" a="1"></color>
|
||||
<color r="0.42352942" g="0.42352942" b="0.5764706" a="1"></color>
|
||||
<color r="0.4117647" g="0.4117647" b="0.5882353" a="1"></color>
|
||||
<color r="0.4" g="0.4" b="0.6" a="1"></color>
|
||||
<color r="0.3882353" g="0.3882353" b="0.6117647" a="1"></color>
|
||||
<color r="0.3764706" g="0.3764706" b="0.62352943" a="1"></color>
|
||||
<color r="0.3647059" g="0.3647059" b="0.63529414" a="1"></color>
|
||||
<color r="0.3529412" g="0.3529412" b="0.64705884" a="1"></color>
|
||||
<color r="0.34117648" g="0.34117648" b="0.65882355" a="1"></color>
|
||||
<color r="0.32941177" g="0.32941177" b="0.67058825" a="1"></color>
|
||||
<color r="0.31764707" g="0.31764707" b="0.68235296" a="1"></color>
|
||||
<color r="0.3019608" g="0.3019608" b="0.69803923" a="1"></color>
|
||||
<color r="0.2901961" g="0.2901961" b="0.70980394" a="1"></color>
|
||||
<color r="0.2784314" g="0.2784314" b="0.72156864" a="1"></color>
|
||||
<color r="0.26666668" g="0.26666668" b="0.73333335" a="1"></color>
|
||||
<color r="0.25490198" g="0.25490198" b="0.74509805" a="1"></color>
|
||||
<color r="0.24313726" g="0.24313726" b="0.75686276" a="1"></color>
|
||||
<color r="0.23137255" g="0.23137255" b="0.76862746" a="1"></color>
|
||||
<color r="0.21960784" g="0.21960784" b="0.78039217" a="1"></color>
|
||||
<color r="0.20784314" g="0.20784314" b="0.7921569" a="1"></color>
|
||||
<color r="0.19607843" g="0.19607843" b="0.8039216" a="1"></color>
|
||||
<color r="0.18039216" g="0.18039216" b="0.81960785" a="1"></color>
|
||||
<color r="0.16862746" g="0.16862746" b="0.83137256" a="1"></color>
|
||||
<color r="0.15686275" g="0.15686275" b="0.84313726" a="1"></color>
|
||||
<color r="0.14509805" g="0.14509805" b="0.85490197" a="1"></color>
|
||||
<color r="0.13333334" g="0.13333334" b="0.8666667" a="1"></color>
|
||||
<color r="0.12156863" g="0.12156863" b="0.8784314" a="1"></color>
|
||||
<color r="0.10980392" g="0.10980392" b="0.8901961" a="1"></color>
|
||||
<color r="0.09803922" g="0.09803922" b="0.9019608" a="1"></color>
|
||||
<color r="0.08627451" g="0.08627451" b="0.9137255" a="1"></color>
|
||||
<color r="0.07450981" g="0.07450981" b="0.9254902" a="1"></color>
|
||||
<color r="0.05882353" g="0.05882353" b="0.9411765" a="1"></color>
|
||||
<color r="0.047058824" g="0.047058824" b="0.9529412" a="1"></color>
|
||||
<color r="0.03529412" g="0.03529412" b="0.9647059" a="1"></color>
|
||||
<color r="0.023529412" g="0.023529412" b="0.9764706" a="1"></color>
|
||||
<color r="0.011764706" g="0.011764706" b="0.9882353" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="1.0" a="1"></color>
|
||||
<color r="0.039215688" g="0.039215688" b="1.0" a="1"></color>
|
||||
<color r="0.078431375" g="0.078431375" b="1.0" a="1"></color>
|
||||
<color r="0.11372549" g="0.11372549" b="1.0" a="1"></color>
|
||||
<color r="0.15294118" g="0.15294118" b="1.0" a="1"></color>
|
||||
<color r="0.19215687" g="0.19215687" b="1.0" a="1"></color>
|
||||
<color r="0.23137255" g="0.23137255" b="1.0" a="1"></color>
|
||||
<color r="0.27058825" g="0.27058825" b="1.0" a="1"></color>
|
||||
<color r="0.30588236" g="0.30588236" b="1.0" a="1"></color>
|
||||
<color r="0.34509805" g="0.34509805" b="1.0" a="1"></color>
|
||||
<color r="0.38431373" g="0.38431373" b="1.0" a="1"></color>
|
||||
<color r="0.42352942" g="0.42352942" b="1.0" a="1"></color>
|
||||
<color r="0.4627451" g="0.4627451" b="1.0" a="1"></color>
|
||||
<color r="0.5019608" g="0.5019608" b="1.0" a="1"></color>
|
||||
<color r="0.5372549" g="0.5372549" b="1.0" a="1"></color>
|
||||
<color r="0.5764706" g="0.5764706" b="1.0" a="1"></color>
|
||||
<color r="0.6156863" g="0.6156863" b="1.0" a="1"></color>
|
||||
<color r="0.654902" g="0.654902" b="1.0" a="1"></color>
|
||||
<color r="0.69411767" g="0.69411767" b="1.0" a="1"></color>
|
||||
<color r="0.7294118" g="0.7294118" b="1.0" a="1"></color>
|
||||
<color r="0.76862746" g="0.76862746" b="1.0" a="1"></color>
|
||||
<color r="0.80784315" g="0.80784315" b="1.0" a="1"></color>
|
||||
<color r="0.84705883" g="0.84705883" b="1.0" a="1"></color>
|
||||
<color r="0.8862745" g="0.8862745" b="1.0" a="1"></color>
|
||||
<color r="0.92156863" g="0.92156863" b="1.0" a="1"></color>
|
||||
<color r="0.9607843" g="0.9607843" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="0.96862745" g="0.96862745" b="0.96862745" a="1"></color>
|
||||
<color r="0.9529412" g="0.9529412" b="0.9529412" a="1"></color>
|
||||
<color r="0.9372549" g="0.9372549" b="0.9372549" a="1"></color>
|
||||
<color r="0.92156863" g="0.92156863" b="0.92156863" a="1"></color>
|
||||
<color r="0.9098039" g="0.9098039" b="0.9098039" a="1"></color>
|
||||
<color r="0.89411765" g="0.89411765" b="0.89411765" a="1"></color>
|
||||
<color r="0.8784314" g="0.8784314" b="0.8784314" a="1"></color>
|
||||
<color r="0.8627451" g="0.8627451" b="0.8627451" a="1"></color>
|
||||
<color r="0.84705883" g="0.84705883" b="0.84705883" a="1"></color>
|
||||
<color r="0.83137256" g="0.83137256" b="0.83137256" a="1"></color>
|
||||
<color r="0.8156863" g="0.8156863" b="0.8156863" a="1"></color>
|
||||
<color r="0.8039216" g="0.8039216" b="0.8039216" a="1"></color>
|
||||
<color r="0.7882353" g="0.7882353" b="0.7882353" a="1"></color>
|
||||
<color r="0.77254903" g="0.77254903" b="0.77254903" a="1"></color>
|
||||
<color r="0.75686276" g="0.75686276" b="0.75686276" a="1"></color>
|
||||
<color r="0.7411765" g="0.7411765" b="0.7411765" a="1"></color>
|
||||
<color r="0.7254902" g="0.7254902" b="0.7254902" a="1"></color>
|
||||
<color r="0.70980394" g="0.70980394" b="0.70980394" a="1"></color>
|
||||
<color r="0.69803923" g="0.69803923" b="0.69803923" a="1"></color>
|
||||
<color r="0.68235296" g="0.68235296" b="0.68235296" a="1"></color>
|
||||
<color r="0.6666667" g="0.6666667" b="0.6666667" a="1"></color>
|
||||
<color r="0.6509804" g="0.6509804" b="0.6509804" a="1"></color>
|
||||
<color r="0.63529414" g="0.63529414" b="0.63529414" a="1"></color>
|
||||
<color r="0.61960787" g="0.61960787" b="0.61960787" a="1"></color>
|
||||
<color r="0.6039216" g="0.6039216" b="0.6039216" a="1"></color>
|
||||
<color r="0.5921569" g="0.5921569" b="0.5921569" a="1"></color>
|
||||
<color r="0.5764706" g="0.5764706" b="0.5764706" a="1"></color>
|
||||
<color r="0.56078434" g="0.56078434" b="0.56078434" a="1"></color>
|
||||
<color r="0.54509807" g="0.54509807" b="0.54509807" a="1"></color>
|
||||
<color r="0.5294118" g="0.5294118" b="0.5294118" a="1"></color>
|
||||
<color r="0.5137255" g="0.5137255" b="0.5137255" a="1"></color>
|
||||
<color r="0.5019608" g="0.5019608" b="0.5019608" a="1"></color>
|
||||
<color r="0.4862745" g="0.4862745" b="0.4862745" a="1"></color>
|
||||
<color r="0.47058824" g="0.47058824" b="0.47058824" a="1"></color>
|
||||
<color r="0.45490196" g="0.45490196" b="0.45490196" a="1"></color>
|
||||
<color r="0.4392157" g="0.4392157" b="0.4392157" a="1"></color>
|
||||
<color r="0.42352942" g="0.42352942" b="0.42352942" a="1"></color>
|
||||
<color r="0.40784314" g="0.40784314" b="0.40784314" a="1"></color>
|
||||
<color r="0.39607844" g="0.39607844" b="0.39607844" a="1"></color>
|
||||
<color r="0.38039216" g="0.38039216" b="0.38039216" a="1"></color>
|
||||
<color r="0.3647059" g="0.3647059" b="0.3647059" a="1"></color>
|
||||
<color r="0.34901962" g="0.34901962" b="0.34901962" a="1"></color>
|
||||
<color r="0.33333334" g="0.33333334" b="0.33333334" a="1"></color>
|
||||
<color r="0.31764707" g="0.31764707" b="0.31764707" a="1"></color>
|
||||
<color r="0.3019608" g="0.3019608" b="0.3019608" a="1"></color>
|
||||
<color r="0.2901961" g="0.2901961" b="0.2901961" a="1"></color>
|
||||
<color r="0.27450982" g="0.27450982" b="0.27450982" a="1"></color>
|
||||
<color r="0.25882354" g="0.25882354" b="0.25882354" a="1"></color>
|
||||
<color r="0.24313726" g="0.24313726" b="0.24313726" a="1"></color>
|
||||
<color r="0.22745098" g="0.22745098" b="0.22745098" a="1"></color>
|
||||
<color r="0.21176471" g="0.21176471" b="0.21176471" a="1"></color>
|
||||
<color r="0.19607843" g="0.19607843" b="0.19607843" a="1"></color>
|
||||
<color r="0.18431373" g="0.18431373" b="0.18431373" a="1"></color>
|
||||
<color r="0.16862746" g="0.16862746" b="0.16862746" a="1"></color>
|
||||
<color r="0.15294118" g="0.15294118" b="0.15294118" a="1"></color>
|
||||
<color r="0.13725491" g="0.13725491" b="0.13725491" a="1"></color>
|
||||
<color r="0.12156863" g="0.12156863" b="0.12156863" a="1"></color>
|
||||
<color r="0.105882354" g="0.105882354" b="0.105882354" a="1"></color>
|
||||
<color r="0.09019608" g="0.09019608" b="0.09019608" a="1"></color>
|
||||
<color r="0.078431375" g="0.078431375" b="0.078431375" a="1"></color>
|
||||
<color r="0.0627451" g="0.0627451" b="0.0627451" a="1"></color>
|
||||
<color r="0.047058824" g="0.047058824" b="0.047058824" a="1"></color>
|
||||
<color r="0.03137255" g="0.03137255" b="0.03137255" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
</colorMap>
|
|
@ -1,264 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<colorMap>
|
||||
<!-- Colormap converted by bsteffen from CIMSS_WV.ET which was provided by:
|
||||
Timothy J. Schmit
|
||||
NOAA/NESDIS Center for SaTellite Applications and Research (STAR)
|
||||
Advanced Satellite Products Branch (ASPB)
|
||||
-->
|
||||
<color r="0.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.019607844" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.039215688" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.05882353" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.078431375" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.101960786" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.12156863" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.14117648" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.16078432" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.18039216" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.2" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.21960784" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.23921569" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.25882354" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.2784314" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.3019608" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.32156864" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.34117648" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.36078432" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.38039216" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.4" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.41960785" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.4392157" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.45882353" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.47843137" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.49803922" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.52156866" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.5411765" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.56078434" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.5803922" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.6" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.61960787" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.6392157" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.65882355" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.6784314" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.7019608" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.72156864" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.7411765" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.7607843" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.78039217" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.8" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.81960785" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.8392157" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.85882354" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.8784314" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.8980392" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.92156863" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.9411765" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.9607843" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="0.98039216" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.0" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.023529412" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.050980393" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.07450981" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.101960786" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.1254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.14901961" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.1764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.2" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.22352941" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.2509804" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.27450982" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3019608" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.34901962" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.3764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.4" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.42352942" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.4509804" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.4745098" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5019608" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.54901963" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.5764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.62352943" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6509804" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.6745098" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.7019608" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.7254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.7490196" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.7764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8235294" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8509804" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.8745098" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9019608" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9254902" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9490196" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="0.9764706" b="0.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="0.0" a="1"></color>
|
||||
<color r="0.9843137" g="0.9843137" b="0.015686275" a="1"></color>
|
||||
<color r="0.972549" g="0.972549" b="0.02745098" a="1"></color>
|
||||
<color r="0.95686275" g="0.95686275" b="0.043137256" a="1"></color>
|
||||
<color r="0.94509804" g="0.94509804" b="0.05490196" a="1"></color>
|
||||
<color r="0.92941177" g="0.92941177" b="0.07058824" a="1"></color>
|
||||
<color r="0.91764706" g="0.91764706" b="0.08235294" a="1"></color>
|
||||
<color r="0.9019608" g="0.9019608" b="0.09803922" a="1"></color>
|
||||
<color r="0.8901961" g="0.8901961" b="0.10980392" a="1"></color>
|
||||
<color r="0.8745098" g="0.8745098" b="0.1254902" a="1"></color>
|
||||
<color r="0.8627451" g="0.8627451" b="0.13725491" a="1"></color>
|
||||
<color r="0.84705883" g="0.84705883" b="0.15294118" a="1"></color>
|
||||
<color r="0.8352941" g="0.8352941" b="0.16862746" a="1"></color>
|
||||
<color r="0.81960785" g="0.81960785" b="0.18039216" a="1"></color>
|
||||
<color r="0.8039216" g="0.8039216" b="0.19607843" a="1"></color>
|
||||
<color r="0.7921569" g="0.7921569" b="0.20784314" a="1"></color>
|
||||
<color r="0.7764706" g="0.7764706" b="0.22352941" a="1"></color>
|
||||
<color r="0.7647059" g="0.7647059" b="0.23529412" a="1"></color>
|
||||
<color r="0.7490196" g="0.7490196" b="0.2509804" a="1"></color>
|
||||
<color r="0.7372549" g="0.7372549" b="0.2627451" a="1"></color>
|
||||
<color r="0.72156864" g="0.72156864" b="0.2784314" a="1"></color>
|
||||
<color r="0.70980394" g="0.70980394" b="0.2901961" a="1"></color>
|
||||
<color r="0.69411767" g="0.69411767" b="0.30588236" a="1"></color>
|
||||
<color r="0.68235296" g="0.68235296" b="0.31764707" a="1"></color>
|
||||
<color r="0.6666667" g="0.6666667" b="0.33333334" a="1"></color>
|
||||
<color r="0.6509804" g="0.6509804" b="0.34901962" a="1"></color>
|
||||
<color r="0.6392157" g="0.6392157" b="0.36078432" a="1"></color>
|
||||
<color r="0.62352943" g="0.62352943" b="0.3764706" a="1"></color>
|
||||
<color r="0.6117647" g="0.6117647" b="0.3882353" a="1"></color>
|
||||
<color r="0.59607846" g="0.59607846" b="0.40392157" a="1"></color>
|
||||
<color r="0.58431375" g="0.58431375" b="0.41568628" a="1"></color>
|
||||
<color r="0.5686275" g="0.5686275" b="0.43137255" a="1"></color>
|
||||
<color r="0.5568628" g="0.5568628" b="0.44313726" a="1"></color>
|
||||
<color r="0.5411765" g="0.5411765" b="0.45882353" a="1"></color>
|
||||
<color r="0.5294118" g="0.5294118" b="0.47058824" a="1"></color>
|
||||
<color r="0.5137255" g="0.5137255" b="0.4862745" a="1"></color>
|
||||
<color r="0.5019608" g="0.5019608" b="0.5019608" a="1"></color>
|
||||
<color r="0.4862745" g="0.4862745" b="0.5137255" a="1"></color>
|
||||
<color r="0.47058824" g="0.47058824" b="0.5294118" a="1"></color>
|
||||
<color r="0.45882353" g="0.45882353" b="0.5411765" a="1"></color>
|
||||
<color r="0.44313726" g="0.44313726" b="0.5568628" a="1"></color>
|
||||
<color r="0.43137255" g="0.43137255" b="0.5686275" a="1"></color>
|
||||
<color r="0.41568628" g="0.41568628" b="0.58431375" a="1"></color>
|
||||
<color r="0.40392157" g="0.40392157" b="0.59607846" a="1"></color>
|
||||
<color r="0.3882353" g="0.3882353" b="0.6117647" a="1"></color>
|
||||
<color r="0.3764706" g="0.3764706" b="0.62352943" a="1"></color>
|
||||
<color r="0.36078432" g="0.36078432" b="0.6392157" a="1"></color>
|
||||
<color r="0.34901962" g="0.34901962" b="0.6509804" a="1"></color>
|
||||
<color r="0.33333334" g="0.33333334" b="0.6666667" a="1"></color>
|
||||
<color r="0.31764707" g="0.31764707" b="0.68235296" a="1"></color>
|
||||
<color r="0.30588236" g="0.30588236" b="0.69411767" a="1"></color>
|
||||
<color r="0.2901961" g="0.2901961" b="0.70980394" a="1"></color>
|
||||
<color r="0.2784314" g="0.2784314" b="0.72156864" a="1"></color>
|
||||
<color r="0.2627451" g="0.2627451" b="0.7372549" a="1"></color>
|
||||
<color r="0.2509804" g="0.2509804" b="0.7490196" a="1"></color>
|
||||
<color r="0.23529412" g="0.23529412" b="0.7647059" a="1"></color>
|
||||
<color r="0.22352941" g="0.22352941" b="0.7764706" a="1"></color>
|
||||
<color r="0.20784314" g="0.20784314" b="0.7921569" a="1"></color>
|
||||
<color r="0.19607843" g="0.19607843" b="0.8039216" a="1"></color>
|
||||
<color r="0.18039216" g="0.18039216" b="0.81960785" a="1"></color>
|
||||
<color r="0.16862746" g="0.16862746" b="0.8352941" a="1"></color>
|
||||
<color r="0.15294118" g="0.15294118" b="0.84705883" a="1"></color>
|
||||
<color r="0.13725491" g="0.13725491" b="0.8627451" a="1"></color>
|
||||
<color r="0.1254902" g="0.1254902" b="0.8745098" a="1"></color>
|
||||
<color r="0.10980392" g="0.10980392" b="0.8901961" a="1"></color>
|
||||
<color r="0.09803922" g="0.09803922" b="0.9019608" a="1"></color>
|
||||
<color r="0.08235294" g="0.08235294" b="0.91764706" a="1"></color>
|
||||
<color r="0.07058824" g="0.07058824" b="0.92941177" a="1"></color>
|
||||
<color r="0.05490196" g="0.05490196" b="0.94509804" a="1"></color>
|
||||
<color r="0.043137256" g="0.043137256" b="0.95686275" a="1"></color>
|
||||
<color r="0.02745098" g="0.02745098" b="0.972549" a="1"></color>
|
||||
<color r="0.015686275" g="0.015686275" b="0.9843137" a="1"></color>
|
||||
<color r="0.0" g="0.0" b="1.0" a="1"></color>
|
||||
<color r="0.02745098" g="0.02745098" b="1.0" a="1"></color>
|
||||
<color r="0.05490196" g="0.05490196" b="1.0" a="1"></color>
|
||||
<color r="0.08235294" g="0.08235294" b="1.0" a="1"></color>
|
||||
<color r="0.10980392" g="0.10980392" b="1.0" a="1"></color>
|
||||
<color r="0.13725491" g="0.13725491" b="1.0" a="1"></color>
|
||||
<color r="0.16862746" g="0.16862746" b="1.0" a="1"></color>
|
||||
<color r="0.19607843" g="0.19607843" b="1.0" a="1"></color>
|
||||
<color r="0.22352941" g="0.22352941" b="1.0" a="1"></color>
|
||||
<color r="0.2509804" g="0.2509804" b="1.0" a="1"></color>
|
||||
<color r="0.2784314" g="0.2784314" b="1.0" a="1"></color>
|
||||
<color r="0.30588236" g="0.30588236" b="1.0" a="1"></color>
|
||||
<color r="0.33333334" g="0.33333334" b="1.0" a="1"></color>
|
||||
<color r="0.36078432" g="0.36078432" b="1.0" a="1"></color>
|
||||
<color r="0.3882353" g="0.3882353" b="1.0" a="1"></color>
|
||||
<color r="0.41568628" g="0.41568628" b="1.0" a="1"></color>
|
||||
<color r="0.44313726" g="0.44313726" b="1.0" a="1"></color>
|
||||
<color r="0.47058824" g="0.47058824" b="1.0" a="1"></color>
|
||||
<color r="0.5019608" g="0.5019608" b="1.0" a="1"></color>
|
||||
<color r="0.5294118" g="0.5294118" b="1.0" a="1"></color>
|
||||
<color r="0.5568628" g="0.5568628" b="1.0" a="1"></color>
|
||||
<color r="0.58431375" g="0.58431375" b="1.0" a="1"></color>
|
||||
<color r="0.6117647" g="0.6117647" b="1.0" a="1"></color>
|
||||
<color r="0.6392157" g="0.6392157" b="1.0" a="1"></color>
|
||||
<color r="0.6666667" g="0.6666667" b="1.0" a="1"></color>
|
||||
<color r="0.69411767" g="0.69411767" b="1.0" a="1"></color>
|
||||
<color r="0.72156864" g="0.72156864" b="1.0" a="1"></color>
|
||||
<color r="0.7490196" g="0.7490196" b="1.0" a="1"></color>
|
||||
<color r="0.7764706" g="0.7764706" b="1.0" a="1"></color>
|
||||
<color r="0.8039216" g="0.8039216" b="1.0" a="1"></color>
|
||||
<color r="0.8352941" g="0.8352941" b="1.0" a="1"></color>
|
||||
<color r="0.8627451" g="0.8627451" b="1.0" a="1"></color>
|
||||
<color r="0.8901961" g="0.8901961" b="1.0" a="1"></color>
|
||||
<color r="0.91764706" g="0.91764706" b="1.0" a="1"></color>
|
||||
<color r="0.94509804" g="0.94509804" b="1.0" a="1"></color>
|
||||
<color r="0.972549" g="0.972549" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="0.98039216" g="0.98039216" b="0.98039216" a="1"></color>
|
||||
<color r="0.95686275" g="0.95686275" b="0.95686275" a="1"></color>
|
||||
<color r="0.9372549" g="0.9372549" b="0.9372549" a="1"></color>
|
||||
<color r="0.91764706" g="0.91764706" b="0.91764706" a="1"></color>
|
||||
<color r="0.89411765" g="0.89411765" b="0.89411765" a="1"></color>
|
||||
<color r="0.8745098" g="0.8745098" b="0.8745098" a="1"></color>
|
||||
<color r="0.85490197" g="0.85490197" b="0.85490197" a="1"></color>
|
||||
<color r="0.8352941" g="0.8352941" b="0.8352941" a="1"></color>
|
||||
<color r="0.8117647" g="0.8117647" b="0.8117647" a="1"></color>
|
||||
<color r="0.7921569" g="0.7921569" b="0.7921569" a="1"></color>
|
||||
<color r="0.77254903" g="0.77254903" b="0.77254903" a="1"></color>
|
||||
<color r="0.7490196" g="0.7490196" b="0.7490196" a="1"></color>
|
||||
<color r="0.7294118" g="0.7294118" b="0.7294118" a="1"></color>
|
||||
<color r="0.70980394" g="0.70980394" b="0.70980394" a="1"></color>
|
||||
<color r="0.6862745" g="0.6862745" b="0.6862745" a="1"></color>
|
||||
<color r="0.6666667" g="0.6666667" b="0.6666667" a="1"></color>
|
||||
<color r="0.64705884" g="0.64705884" b="0.64705884" a="1"></color>
|
||||
<color r="0.62352943" g="0.62352943" b="0.62352943" a="1"></color>
|
||||
<color r="0.6039216" g="0.6039216" b="0.6039216" a="1"></color>
|
||||
<color r="0.58431375" g="0.58431375" b="0.58431375" a="1"></color>
|
||||
<color r="0.56078434" g="0.56078434" b="0.56078434" a="1"></color>
|
||||
<color r="0.5411765" g="0.5411765" b="0.5411765" a="1"></color>
|
||||
<color r="0.52156866" g="0.52156866" b="0.52156866" a="1"></color>
|
||||
<color r="0.5019608" g="0.5019608" b="0.5019608" a="1"></color>
|
||||
<color r="0.47843137" g="0.47843137" b="0.47843137" a="1"></color>
|
||||
<color r="0.45882353" g="0.45882353" b="0.45882353" a="1"></color>
|
||||
<color r="0.4392157" g="0.4392157" b="0.4392157" a="1"></color>
|
||||
<color r="0.41568628" g="0.41568628" b="0.41568628" a="1"></color>
|
||||
<color r="0.39607844" g="0.39607844" b="0.39607844" a="1"></color>
|
||||
<color r="0.3764706" g="0.3764706" b="0.3764706" a="1"></color>
|
||||
<color r="0.3529412" g="0.3529412" b="0.3529412" a="1"></color>
|
||||
<color r="0.33333334" g="0.33333334" b="0.33333334" a="1"></color>
|
||||
<color r="0.3137255" g="0.3137255" b="0.3137255" a="1"></color>
|
||||
<color r="0.2901961" g="0.2901961" b="0.2901961" a="1"></color>
|
||||
<color r="0.27058825" g="0.27058825" b="0.27058825" a="1"></color>
|
||||
<color r="0.2509804" g="0.2509804" b="0.2509804" a="1"></color>
|
||||
<color r="0.22745098" g="0.22745098" b="0.22745098" a="1"></color>
|
||||
<color r="0.20784314" g="0.20784314" b="0.20784314" a="1"></color>
|
||||
<color r="0.1882353" g="0.1882353" b="0.1882353" a="1"></color>
|
||||
<color r="0.16862746" g="0.16862746" b="0.16862746" a="1"></color>
|
||||
<color r="0.14509805" g="0.14509805" b="0.14509805" a="1"></color>
|
||||
<color r="0.1254902" g="0.1254902" b="0.1254902" a="1"></color>
|
||||
<color r="0.105882354" g="0.105882354" b="0.105882354" a="1"></color>
|
||||
<color r="0.08235294" g="0.08235294" b="0.08235294" a="1"></color>
|
||||
<color r="0.0627451" g="0.0627451" b="0.0627451" a="1"></color>
|
||||
<color r="0.043137256" g="0.043137256" b="0.043137256" a="1"></color>
|
||||
<color r="0.019607844" g="0.019607844" b="0.019607844" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1"></color>
|
||||
</colorMap>
|
|
@ -1,261 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<colorMap xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
|
||||
<!-- Colormap provided by Jordan Gerth -->
|
||||
<!-- this is a converted legacy colomap -->
|
||||
<color r="0.0" g="0.0" b="0.0" a="0.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="0.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.000000" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.031373" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.062745" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.094118" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.125490" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.156863" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.188235" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.219608" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.250980" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.282353" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.313725" b="0.000000" a="1.0"/>
|
||||
<color r="1.000000" g="0.349020" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.380392" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.411765" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.443137" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.474510" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.505882" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.537255" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.568627" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.600000" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.631373" b="0.003922" a="1.0"/>
|
||||
<color r="1.000000" g="0.666667" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.698039" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.729412" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.760784" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.792157" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.823529" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.854902" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.886275" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.917647" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.949020" b="0.007843" a="1.0"/>
|
||||
<color r="1.000000" g="0.984314" b="0.011765" a="1.0"/>
|
||||
<color r="0.968627" g="0.952941" b="0.031373" a="1.0"/>
|
||||
<color r="0.937255" g="0.921569" b="0.050980" a="1.0"/>
|
||||
<color r="0.901961" g="0.886275" b="0.074510" a="1.0"/>
|
||||
<color r="0.870588" g="0.854902" b="0.094118" a="1.0"/>
|
||||
<color r="0.835294" g="0.823529" b="0.117647" a="1.0"/>
|
||||
<color r="0.803922" g="0.788235" b="0.137255" a="1.0"/>
|
||||
<color r="0.772549" g="0.756863" b="0.160784" a="1.0"/>
|
||||
<color r="0.737255" g="0.725490" b="0.180392" a="1.0"/>
|
||||
<color r="0.705882" g="0.690196" b="0.200000" a="1.0"/>
|
||||
<color r="0.670588" g="0.658824" b="0.223529" a="1.0"/>
|
||||
<color r="0.639216" g="0.623529" b="0.243137" a="1.0"/>
|
||||
<color r="0.607843" g="0.592157" b="0.266667" a="1.0"/>
|
||||
<color r="0.572549" g="0.560784" b="0.286275" a="1.0"/>
|
||||
<color r="0.541176" g="0.525490" b="0.309804" a="1.0"/>
|
||||
<color r="0.509804" g="0.494118" b="0.329412" a="1.0"/>
|
||||
<color r="0.474510" g="0.462745" b="0.349020" a="1.0"/>
|
||||
<color r="0.443137" g="0.427451" b="0.372549" a="1.0"/>
|
||||
<color r="0.407843" g="0.396078" b="0.392157" a="1.0"/>
|
||||
<color r="0.376471" g="0.364706" b="0.415686" a="1.0"/>
|
||||
<color r="0.341176" g="0.329412" b="0.435294" a="1.0"/>
|
||||
<color r="0.309804" g="0.298039" b="0.458824" a="1.0"/>
|
||||
<color r="0.278431" g="0.262745" b="0.478431" a="1.0"/>
|
||||
<color r="0.243137" g="0.231373" b="0.498039" a="1.0"/>
|
||||
<color r="0.211765" g="0.200000" b="0.521569" a="1.0"/>
|
||||
<color r="0.180392" g="0.164706" b="0.541176" a="1.0"/>
|
||||
<color r="0.145098" g="0.133333" b="0.564706" a="1.0"/>
|
||||
<color r="0.113725" g="0.101961" b="0.584314" a="1.0"/>
|
||||
<color r="0.078431" g="0.066667" b="0.607843" a="1.0"/>
|
||||
<color r="0.047059" g="0.035294" b="0.627451" a="1.0"/>
|
||||
<color r="0.011765" g="0.000000" b="0.650980" a="1.0"/>
|
||||
<color r="0.058824" g="0.047059" b="0.666667" a="1.0"/>
|
||||
<color r="0.109804" g="0.098039" b="0.682353" a="1.0"/>
|
||||
<color r="0.156863" g="0.149020" b="0.701961" a="1.0"/>
|
||||
<color r="0.207843" g="0.200000" b="0.717647" a="1.0"/>
|
||||
<color r="0.258824" g="0.247059" b="0.737255" a="1.0"/>
|
||||
<color r="0.305882" g="0.298039" b="0.752941" a="1.0"/>
|
||||
<color r="0.356863" g="0.349020" b="0.772549" a="1.0"/>
|
||||
<color r="0.403922" g="0.400000" b="0.788235" a="1.0"/>
|
||||
<color r="0.454902" g="0.447059" b="0.807843" a="1.0"/>
|
||||
<color r="0.505882" g="0.498039" b="0.823529" a="1.0"/>
|
||||
<color r="0.552941" g="0.549020" b="0.839216" a="1.0"/>
|
||||
<color r="0.603922" g="0.600000" b="0.858824" a="1.0"/>
|
||||
<color r="0.650980" g="0.647059" b="0.874510" a="1.0"/>
|
||||
<color r="0.701961" g="0.698039" b="0.894118" a="1.0"/>
|
||||
<color r="0.752941" g="0.749020" b="0.909804" a="1.0"/>
|
||||
<color r="0.800000" g="0.800000" b="0.929412" a="1.0"/>
|
||||
<color r="0.850980" g="0.847059" b="0.945098" a="1.0"/>
|
||||
<color r="0.898039" g="0.898039" b="0.964706" a="1.0"/>
|
||||
<color r="0.949020" g="0.949020" b="0.980392" a="1.0"/>
|
||||
<color r="1.000000" g="1.000000" b="1.000000" a="1.0"/>
|
||||
<color r="0.964706" g="0.980392" b="0.964706" a="1.0"/>
|
||||
<color r="0.929412" g="0.960784" b="0.929412" a="1.0"/>
|
||||
<color r="0.890196" g="0.937255" b="0.890196" a="1.0"/>
|
||||
<color r="0.854902" g="0.917647" b="0.854902" a="1.0"/>
|
||||
<color r="0.815686" g="0.894118" b="0.815686" a="1.0"/>
|
||||
<color r="0.780392" g="0.874510" b="0.780392" a="1.0"/>
|
||||
<color r="0.745098" g="0.850980" b="0.745098" a="1.0"/>
|
||||
<color r="0.705882" g="0.831373" b="0.705882" a="1.0"/>
|
||||
<color r="0.670588" g="0.807843" b="0.670588" a="1.0"/>
|
||||
<color r="0.631373" g="0.788235" b="0.631373" a="1.0"/>
|
||||
<color r="0.596078" g="0.764706" b="0.596078" a="1.0"/>
|
||||
<color r="0.560784" g="0.745098" b="0.560784" a="1.0"/>
|
||||
<color r="0.521569" g="0.721569" b="0.521569" a="1.0"/>
|
||||
<color r="0.486275" g="0.701961" b="0.486275" a="1.0"/>
|
||||
<color r="0.447059" g="0.678431" b="0.447059" a="1.0"/>
|
||||
<color r="0.411765" g="0.658824" b="0.411765" a="1.0"/>
|
||||
<color r="0.376471" g="0.635294" b="0.376471" a="1.0"/>
|
||||
<color r="0.337255" g="0.615686" b="0.337255" a="1.0"/>
|
||||
<color r="0.301961" g="0.592157" b="0.301961" a="1.0"/>
|
||||
<color r="0.262745" g="0.572549" b="0.262745" a="1.0"/>
|
||||
<color r="0.227451" g="0.549020" b="0.227451" a="1.0"/>
|
||||
<color r="0.192157" g="0.529412" b="0.192157" a="1.0"/>
|
||||
<color r="0.152941" g="0.505882" b="0.152941" a="1.0"/>
|
||||
<color r="0.117647" g="0.486275" b="0.117647" a="1.0"/>
|
||||
<color r="0.078431" g="0.462745" b="0.078431" a="1.0"/>
|
||||
<color r="0.043137" g="0.443137" b="0.043137" a="1.0"/>
|
||||
<color r="0.003922" g="0.419608" b="0.003922" a="1.0"/>
|
||||
<color r="0.003922" g="0.431373" b="0.027451" a="1.0"/>
|
||||
<color r="0.003922" g="0.447059" b="0.054902" a="1.0"/>
|
||||
<color r="0.003922" g="0.462745" b="0.082353" a="1.0"/>
|
||||
<color r="0.003922" g="0.478431" b="0.109804" a="1.0"/>
|
||||
<color r="0.003922" g="0.494118" b="0.137255" a="1.0"/>
|
||||
<color r="0.003922" g="0.509804" b="0.164706" a="1.0"/>
|
||||
<color r="0.003922" g="0.525490" b="0.192157" a="1.0"/>
|
||||
<color r="0.003922" g="0.541176" b="0.215686" a="1.0"/>
|
||||
<color r="0.003922" g="0.556863" b="0.243137" a="1.0"/>
|
||||
<color r="0.007843" g="0.568627" b="0.270588" a="1.0"/>
|
||||
<color r="0.007843" g="0.584314" b="0.298039" a="1.0"/>
|
||||
<color r="0.007843" g="0.600000" b="0.325490" a="1.0"/>
|
||||
<color r="0.007843" g="0.615686" b="0.352941" a="1.0"/>
|
||||
<color r="0.007843" g="0.631373" b="0.380392" a="1.0"/>
|
||||
<color r="0.007843" g="0.647059" b="0.403922" a="1.0"/>
|
||||
<color r="0.007843" g="0.662745" b="0.431373" a="1.0"/>
|
||||
<color r="0.007843" g="0.678431" b="0.458824" a="1.0"/>
|
||||
<color r="0.007843" g="0.694118" b="0.486275" a="1.0"/>
|
||||
<color r="0.011765" g="0.705882" b="0.513725" a="1.0"/>
|
||||
<color r="0.011765" g="0.721569" b="0.541176" a="1.0"/>
|
||||
<color r="0.011765" g="0.737255" b="0.568627" a="1.0"/>
|
||||
<color r="0.011765" g="0.752941" b="0.596078" a="1.0"/>
|
||||
<color r="0.011765" g="0.768627" b="0.619608" a="1.0"/>
|
||||
<color r="0.011765" g="0.784314" b="0.647059" a="1.0"/>
|
||||
<color r="0.011765" g="0.800000" b="0.674510" a="1.0"/>
|
||||
<color r="0.011765" g="0.815686" b="0.701961" a="1.0"/>
|
||||
<color r="0.011765" g="0.831373" b="0.729412" a="1.0"/>
|
||||
<color r="0.015686" g="0.843137" b="0.756863" a="1.0"/>
|
||||
<color r="0.015686" g="0.858824" b="0.784314" a="1.0"/>
|
||||
<color r="0.015686" g="0.874510" b="0.807843" a="1.0"/>
|
||||
<color r="0.015686" g="0.890196" b="0.835294" a="1.0"/>
|
||||
<color r="0.015686" g="0.905882" b="0.862745" a="1.0"/>
|
||||
<color r="0.015686" g="0.921569" b="0.890196" a="1.0"/>
|
||||
<color r="0.015686" g="0.937255" b="0.917647" a="1.0"/>
|
||||
<color r="0.015686" g="0.952941" b="0.945098" a="1.0"/>
|
||||
<color r="0.015686" g="0.968627" b="0.972549" a="1.0"/>
|
||||
<color r="1.0" g="1.0" b="1.0" a="1.0"/>
|
||||
</colorMap>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter unit="K" name="Satellite Cloud Phase[8.5-11.2 um]" abbreviation="satCloudPhase">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-11-8.50um" unit="K"/>
|
||||
<Field abbreviation="CH-14-11.20um" unit="K"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter unit="K" name="Satellite Fog[3.9-11.2 um]" abbreviation="satFog">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-07-3.90um" unit="K"/>
|
||||
<Field abbreviation="CH-14-11.20um" unit="K"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter unit="K" name="Satellite Moisture[11.2-12.3 um]" abbreviation="satMoisture">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-14-11.20um" unit="K"/>
|
||||
<Field abbreviation="CH-15-12.30um" unit="K"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter name="Satellite Snow[0.64-1.61 um]" abbreviation="satSnow">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-02-0.64um" unit="/4096"/>
|
||||
<Field abbreviation="CH-05-1.61um" unit="/4096"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter unit="K" name="Satellite Upper Level Info[11.2-6.19 um]" abbreviation="satUpperLevelInfo">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-14-11.20um" unit="K"/>
|
||||
<Field abbreviation="CH-08-6.19um" unit="K"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<DerivedParameter name="Satellite Vegetation[0.64-0.87 um]" abbreviation="satVegetation">
|
||||
<Method name="Difference">
|
||||
<Field abbreviation="CH-02-0.64um" unit="/4096"/>
|
||||
<Field abbreviation="CH-03-0.87um" unit="/4096"/>
|
||||
</Method>
|
||||
</DerivedParameter>
|
|
@ -1,35 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<menuContributionFile>
|
||||
<!-- Default install location is nowhere, only want menu at specific sites. -->
|
||||
<include installTo="menu:no.where" fileName="menus/satellite/goesr/goesrMenu.xml" />
|
||||
<!-- Uncomment this element to include goesr with d2d satellite menu -->
|
||||
<!--
|
||||
<include installTo="menu:satellite?before=GROUP5" fileName="menus/satellite/goesr/goesrMenu.xml" />
|
||||
-->
|
||||
<!-- Uncomment this element to include goesr as top level menu in D2D -->
|
||||
<!--
|
||||
<include installTo="menu:org.eclipse.ui.main.menu?after=satellite"
|
||||
fileName="menus/satellite/goesr/goesrMenu.xml">
|
||||
<visibleOnActionSet>com.raytheon.uf.viz.d2d.ui.D2DActionSet</visibleOnActionSet>
|
||||
</include>
|
||||
-->
|
||||
</menuContributionFile>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue