Merge branch 'omaha_14.2.4' of ssh://www.awips2omaha.com:29418/AWIPS2_baseline into master_14.2.4

Former-commit-id: b2674ef57183706feb2bb17175d730bb2e213281
This commit is contained in:
Brian.Dyke 2014-08-22 14:13:48 -04:00
commit a830b6d94c
37 changed files with 1523 additions and 325 deletions

View file

@ -0,0 +1,83 @@
/**
* 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.core.reflect;
import org.eclipse.osgi.framework.internal.core.AbstractBundle;
import org.eclipse.osgi.framework.internal.core.BundleHost;
import org.eclipse.osgi.internal.loader.BundleLoader;
import org.eclipse.osgi.internal.loader.BundleLoaderProxy;
import org.eclipse.osgi.service.resolver.BundleDescription;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleReference;
/**
* Utility class to get the BundleLoader object associated with a Bundle, to
* potentially synchronize against that object.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 13, 2014 3500 bclement Initial creation
*
* </pre>
*
* @author bclement
* @version 1.0
* @see BundleSynchronizer
*/
public class BundleLoaderGetter {
private BundleLoaderGetter() {
}
/**
* Attempts to retrieve the BundleLoader associated with the bundle. Returns
* the BundleLoader or null if it could not be retrieved.
*
* @param bundle
* the bundle to retrieve the associated BundleLoader for
* @return the BundleLoader or null
*/
@SuppressWarnings("restriction")
protected static BundleLoader getBundleLoader(Bundle bundle) {
BundleLoader rval = null;
if (bundle instanceof AbstractBundle) {
BundleDescription bundleDesc = ((AbstractBundle) bundle)
.getBundleDescription();
if (bundleDesc != null) {
Object o = bundleDesc.getUserObject();
if (!(o instanceof BundleLoaderProxy)) {
if (o instanceof BundleReference)
o = ((BundleReference) o).getBundle();
if (o instanceof BundleHost)
o = ((BundleHost) o).getLoaderProxy();
}
if (o instanceof BundleLoaderProxy) {
rval = ((BundleLoaderProxy) o).getBundleLoader();
}
}
}
return rval;
}
}

View file

@ -25,7 +25,6 @@ import java.util.HashSet;
import java.util.Set;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.osgi.framework.internal.core.BundleRepository;
import org.osgi.framework.Bundle;
import org.osgi.framework.wiring.BundleWiring;
import org.reflections.Reflections;
@ -49,6 +48,7 @@ import org.reflections.util.ConfigurationBuilder;
* Oct 21, 2013 2491 bsteffen Initial creation
* Jan 22, 2014 2062 bsteffen Handle bundles with no wiring.
* Apr 16, 2014 3018 njensen Synchronize against BundleRepository
* Aug 13, 2014 3500 bclement uses BundleSynchronizer
*
* </pre>
*
@ -60,26 +60,19 @@ public class BundleReflections {
private final Reflections reflections;
@SuppressWarnings("restriction")
public BundleReflections(Bundle bundle, Scanner scanner) throws IOException {
ConfigurationBuilder cb = new ConfigurationBuilder();
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
BundleRepository bundleRepo = BundleRepositoryGetter
.getFrameworkBundleRepository(bundle);
final ConfigurationBuilder cb = new ConfigurationBuilder();
final BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
if (bundleWiring != null) {
if (bundleRepo != null) {
synchronized (bundleRepo) {
cb.addClassLoader(bundleWiring.getClassLoader());
}
} else {
/*
* even if we couldn't get the bundle repository to sync
* against, it's probably safe, see BundleRepositoryGetter
* javadoc
*/
BundleSynchronizer.runSynchedWithBundle(new Runnable() {
@Override
public void run() {
cb.addClassLoader(bundleWiring.getClassLoader());
}
}, bundle);
cb.addUrls(FileLocator.getBundleFile(bundle).toURI().toURL());
cb.setScanners(scanner);
reflections = cb.build();

View file

@ -30,28 +30,6 @@ import org.osgi.framework.Bundle;
* Utility class to get the BundleRepository object associated with a Bundle, to
* potentially synchronize against that object.
*
* Specifically if a call to BundleWiring.getClassLoader() is invoked on a
* thread other than main/UI thread, then there is a possible deadlock if the
* application shuts down while the BundleWiring.getClassLoader() call is still
* going. The BundleRepository of the Framework is the primary resource that is
* in contention in this deadlock scenario, due to the BundleRepository being
* used as a synchronization lock both deep in bundleWiring.getClassloader() and
* in Framework shutdown code. The other resource used as a synchronization lock
* and causing the deadlock is the BundleLoader associated with the bundle.
*
* Therefore to avoid this deadlock, if you are going to call
* BundleWiring.getClassLoader() you should attempt to get the BundleRepository
* and synchronize against it. This will ensure the call to getClassLoader() can
* finish and then release synchronization locks of both the BundleRepository
* and BundleLoader.
*
* If we fail to get the BundleRepository due to access restrictions, then you
* should proceed onwards anyway because the odds of the application shutting
* down at the same time as the call to BundleWiring.getClassLoader() is still
* running is low. Even if that occurs, the odds are further reduced that the
* two threads will synchronize against the BundleRepository at the same time
* and deadlock.
*
*
* <pre>
*
@ -60,13 +38,14 @@ import org.osgi.framework.Bundle;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Apr 17, 2014 njensen Initial creation
* Aug 13, 2014 3500 bclement moved documentation over to BundleSynchronizer
*
* </pre>
*
* @author njensen
* @version 1.0
* @see BundleSynchronizer
*/
public class BundleRepositoryGetter {
private BundleRepositoryGetter() {

View file

@ -0,0 +1,96 @@
/**
* 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.core.reflect;
import org.eclipse.osgi.framework.internal.core.BundleRepository;
import org.eclipse.osgi.internal.loader.BundleLoader;
import org.osgi.framework.Bundle;
/**
* If a call to BundleWiring.getClassLoader() is invoked on a thread other than
* main/UI thread, then there is a possible deadlock if the application shuts
* down while the BundleWiring.getClassLoader() call is still going. The
* BundleLoader and BundleRepository of the Framework are the primary resources
* that are in contention in this deadlock scenario, due to the BundleRepository
* being used as a synchronization lock both deep in
* bundleWiring.getClassloader() and in Framework shutdown code. The other
* resource used as a synchronization lock and causing the deadlock is the
* BundleLoader associated with the bundle. When BundleLoader.findClass() is
* called, it results in a lock on the BundleLoader and then a lock on the
* BundleRepository. This happens when the DefaultClassLoader loads a class.
*
* Therefore to avoid this deadlock, if you are going to call
* BundleWiring.getClassLoader() you should attempt synchronize against the
* BundleLoader and the BundleRepository. This will ensure the call to
* getClassLoader() can finish and then release synchronization locks of both
* the BundleRepository and BundleLoader.
*
* If we fail to get the BundleLoader or BundleRepository, then you should
* proceed onwards anyway because the odds of the application shutting down at
* the same time as the call to BundleWiring.getClassLoader() is still running
* is low. Even if that occurs, the odds are further reduced that the two
* threads will synchronize against the BundleLoader and the BundleRepository at
* the same time and deadlock.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 13, 2014 3500 bclement Initial creation
*
* </pre>
*
* @author bclement
* @version 1.0
*/
public class BundleSynchronizer {
private BundleSynchronizer() {
}
/**
* Attempts to synchronize with the bundle's BundleLoader and
* BundleRepository objects before running the runner. If either the
* BundleLoader or the BundleRepository are unable to be retrieved from the
* bundle, the runner is ran anyway since the likelihood of a deadlock is
* relatively small.
*
* @param runner
* @param bundle
* @see BundleLoaderGetter#getBundleLoader(Bundle)
* @see BundleRepositoryGetter#getFrameworkBundleRepository(Bundle)
*/
protected static void runSynchedWithBundle(Runnable runner, Bundle bundle) {
BundleRepository repo = BundleRepositoryGetter
.getFrameworkBundleRepository(bundle);
BundleLoader loader = BundleLoaderGetter.getBundleLoader(bundle);
if (repo != null && loader != null) {
synchronized (loader) {
synchronized (repo) {
runner.run();
}
}
} else {
runner.run();
}
}
}

View file

@ -28,7 +28,6 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.eclipse.osgi.framework.internal.core.BundleRepository;
import org.osgi.framework.Bundle;
import org.osgi.framework.namespace.BundleNamespace;
import org.osgi.framework.namespace.PackageNamespace;
@ -58,6 +57,7 @@ import com.raytheon.uf.viz.core.Activator;
* bundles.
* Feb 03, 2013 2764 bsteffen Use OSGi API to get dependencies.
* Apr 17, 2014 3018 njensen Synchronize against BundleRepository
* Aug 13, 2014 3500 bclement uses BundleSynchronizer
*
* </pre>
*
@ -265,25 +265,20 @@ public class SubClassLocator implements ISubClassLocator {
*/
private Set<Class<?>> loadClassesFromCache(Bundle bundle,
Collection<String> classNames) {
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
final BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
if (bundleWiring == null) {
return Collections.emptySet();
}
BundleRepository bundleRepo = BundleRepositoryGetter
.getFrameworkBundleRepository(bundle);
ClassLoader loader = null;
if (bundleRepo != null) {
synchronized (bundleRepo) {
loader = bundleWiring.getClassLoader();
}
} else {
/*
* even if we couldn't get the bundle repository to sync against,
* it's probably safe, see BundleRepositoryGetter javadoc
*/
loader = bundleWiring.getClassLoader();
final ClassLoader[] loaderHolder = new ClassLoader[1];
BundleSynchronizer.runSynchedWithBundle(new Runnable() {
@Override
public void run() {
loaderHolder[0] = bundleWiring.getClassLoader();
}
}, bundle);
ClassLoader loader = loaderHolder[0];
if (loader == null) {
return Collections.emptySet();
}

View file

@ -0,0 +1,31 @@
<?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 abbreviation="DIRC" name="Current Direction"
unit="°"
>
<Method name="Direction">
<Field abbreviation="UOGRD" />
<Field abbreviation="VOGRD" />
</Method>
<Method name="Direction">
<Field abbreviation="OGRD" />
</Method>
</DerivedParameter>

View file

@ -0,0 +1,28 @@
<?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 abbreviation="OGRD" name="Current Vectors"
unit="m/s"
>
<Method name="Vector">
<Field abbreviation="UOGRD" />
<Field abbreviation="VOGRD" />
</Method>
</DerivedParameter>

View file

@ -0,0 +1,29 @@
<?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 abbreviation="SPC" name="Current Speed" unit="m/s">
<Method name="Magnitude">
<Field abbreviation="UOGRD" />
<Field abbreviation="VOGRD" />
</Method>
<Method name="Magnitude">
<Field abbreviation="OGRD" />
</Method>
</DerivedParameter>

View file

@ -236,6 +236,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
* 09Apr2014 #3005 lvenable Added calls to mark the tabs as not current when the tabs are changed.
* This will show the tab as updating in the header and data text controls.
* 07/23/2014 15645 zhao modified checkBasicSyntaxError()
* 08/13/2014 3497 njensen Refactored syntax checking to prevent potential infinite loop
*
* </pre>
*
@ -461,11 +462,6 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
*/
private TafRecord[] tafsInViewer;
/**
* Set to true is Python Syntax checker modified the TAF otherwise false.
*/
private boolean pythonModifiedTAF = false;
private FindReplaceDlg findDlg;
/**
@ -1099,6 +1095,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
Menu fileMenu = new Menu(menuBar);
fileMenuItem.setMenu(fileMenu);
fileMenu.addListener(SWT.Show, new Listener() {
@Override
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
@ -1210,6 +1207,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
Menu optionsMenu = new Menu(menuBar);
optionsMenuItem.setMenu(optionsMenu);
optionsMenu.addListener(SWT.Show, new Listener() {
@Override
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
@ -1245,31 +1243,16 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
autoPrintMI.setText("A&uto Print");
autoPrintMI.setSelection(configMgr
.getResourceAsBoolean(ResourceTag.AutoPrint));
autoPrintMI.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
}
});
// Update Times on Format menu item
updateTimesFormatMI = new MenuItem(optionsMenu, SWT.CHECK);
updateTimesFormatMI.setText("U&pdate Times on Format");
updateTimesFormatMI.setSelection(configMgr
.getResourceAsBoolean(ResourceTag.UpdateTimes));
updateTimesFormatMI.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
}
});
// Send Collective menu item
sendCollectMI = new MenuItem(optionsMenu, SWT.CHECK);
sendCollectMI.setText("&Send in Collective");
sendCollectMI.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
}
});
}
/**
@ -1289,6 +1272,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
Menu editMenu = new Menu(menuBar);
editMenuItem.setMenu(editMenu);
editMenu.addListener(SWT.Show, new Listener() {
@Override
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
@ -1397,6 +1381,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
Menu helpMenu = new Menu(menuBar);
helpMenuItem.setMenu(helpMenu);
helpMenu.addListener(SWT.Show, new Listener() {
@Override
public void handleEvent(Event event) {
setAltFlagForEditorTafTabComp();
}
@ -2093,12 +2078,6 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
wrapChk = new Button(controlsComp, SWT.CHECK);
wrapChk.setText("Wrap");
configMgr.setDefaultFontAndColors(wrapChk);
wrapChk.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
}
});
String wrapStr = configMgr.getDataAsString(ResourceTag.Wrap);
if (wrapStr.compareTo("word") == 0) {
@ -2909,20 +2888,10 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
* @return errorInTaf true when syntax error found otherwise false
*/
private boolean checkSyntaxInEditor(boolean doLogMessage) {
// Get the content of the Taf Editor.
// Assume editorTafTabComp is for the active tab.
// DR15477: trim blank lines before Syntax Checking
String in = (editorTafTabComp.getTextEditorControl().getText().trim());
// Declare variables for processing the editor's contents.
boolean errorInTaf = false;
int idx1 = 0;
int currentLineNo = 0;
clearSyntaxErrorLevel();
st = editorTafTabComp.getTextEditorControl();
final Map<StyleRange, String> syntaxMap = new HashMap<StyleRange, String>();
ArrayList<String> tafList = new ArrayList<String>();
st.addMouseTrackListener(new MouseTrackAdapter() {
@Override
public void mouseHover(MouseEvent e) {
@ -2952,12 +2921,59 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
}
});
ArrayList<String> tList = new ArrayList<String>();
// Get the content of the Taf Editor.
// Assume editorTafTabComp is for the active tab.
// DR15477: trim blank lines before Syntax Checking
String in = (editorTafTabComp.getTextEditorControl().getText().trim());
checkSyntax(in, syntaxMap, doLogMessage);
// reset everything since checkSyntax may have altered the TAF
st.setStyleRange(null);
syntaxMap.clear();
/*
* TODO Refactor all of this to be smarter. Right now it's kind of dumb
* in that the python syntax check can potentially alter the datetime of
* the TAF and/or the whitespace/spacing of the TAF. If that occurs, the
* python does NOT return the map of syntax problems detected, so you
* have to run the syntax check again against the properly formatted
* TAF.
*
* Due to the way the code is currently structured, there's not an easy
* way to cleanly do the second syntax check only if necessary while
* keeping the style ranges correctly lined up. Therefore, for now we
* will run the syntax check once against the TAF(s) (ie the code
* above), and just presume that it altered the TAF's datetime or
* whitespace. Then we will run it a second time (ie the code below)
* since it should be guaranteed at that point to return a syntax map if
* there were any syntax issues detected.
*/
in = editorTafTabComp.getTextEditorControl().getText().trim();
boolean errorInTaf = checkSyntax(in, syntaxMap, doLogMessage);
st.setStyleRange(null);
Set<StyleRange> srs = syntaxMap.keySet();
for (StyleRange sr : srs) {
st.setStyleRange(sr);
}
return errorInTaf;
}
private boolean checkSyntax(String in, Map<StyleRange, String> syntaxMap,
boolean doLogMessage) {
boolean errorInTaf = false;
List<String> checkedTafs = new ArrayList<String>();
List<String> tList = new ArrayList<String>();
Map<StyleRange, String> sMap = new HashMap<StyleRange, String>();
/*
* Separate each TAF individually and syntax check it, and then
* reassemble the set of TAFs each iteration to ensure the line numbers
* and style range indices will line up correctly.
*/
int idx1 = 0;
while (idx1 > -1) {
int idx2 = in.indexOf("TAF", idx1 + 1);
boolean errInTaf = false;
String taf;
sMap.clear();
tList.clear();
@ -2966,52 +2982,35 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
} else {
taf = in.substring(idx1);
}
currentLineNo = st.getLineAtOffset(idx1);
errInTaf = checkSyntaxUsingPython(taf, currentLineNo, sMap, tList,
doLogMessage);
if (pythonModifiedTAF == false) {
// TAF not changed prepare to check next taf.
tafList.add(tList.get(0));
if (errInTaf) {
int currentLineNo = st.getLineAtOffset(idx1);
errorInTaf |= checkSyntaxUsingPython(taf, currentLineNo, sMap,
tList, doLogMessage);
for (StyleRange skey : sMap.keySet()) {
syntaxMap.put(skey, sMap.get(skey));
}
}
errorInTaf |= errInTaf;
idx1 = idx2;
} else {
// Python modified the TAF. Assume self correction.
// Ignore errors and set up to check the corrected taf.
String tafAfterCheck = tList.get(0);
checkedTafs.add(tafAfterCheck);
StringBuilder sb = new StringBuilder();
for (String tempTaf : tafList) {
sb.append(tempTaf);
for (String checkedTaf : checkedTafs) {
sb.append(checkedTaf);
sb.append("\n");
}
sb.append(tList.get(0));
sb.append("\n");
int lengthChecked = sb.length();
if (idx2 > -1) {
sb.append(in.substring(idx2));
}
in = sb.toString();
st.setText(in);
}
}
StringBuilder sb = new StringBuilder();
for (String taf : tafList) {
sb.append(taf);
sb.append("\n");
}
st.setText(sb.toString());
st.setStyleRange(null);
Set<StyleRange> srs = syntaxMap.keySet();
for (StyleRange sr : srs) {
st.setStyleRange(sr);
/*
* Set idx1 to the next TAF after all the text that has already been
* checked. This ensures we won't hit the very rare infinite loop
* that occurs if tafAfterCheck comes back with two TAFS inside it.
*/
idx1 = in.indexOf("TAF", lengthChecked);
}
return errorInTaf;
@ -3036,32 +3035,19 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
*/
@SuppressWarnings("unchecked")
private boolean checkSyntaxUsingPython(String in, int currentLineNo,
Map<StyleRange, String> syntaxMap, ArrayList<String> tafList,
Map<StyleRange, String> syntaxMap, List<String> tafList,
boolean doLogMessage) {
// TODO remove
getSitesInTaf(in);
// Declare variables for processing the editor's contents.
boolean errorInTaf = false;
int[] range = new int[] { 0, 0, 0, 0 };
pythonModifiedTAF = false;
// Assume editorTafTabComp is for the active tab.
st = editorTafTabComp.getTextEditorControl();
HashMap<String, Object> resultMap = parseText(in,
editorTafTabComp.getBBB());
HashMap<String, Object> parsedText = (HashMap<String, Object>) resultMap
.get("result");
in = in.trim();
Map<String, Object> resultMap = parseText(in, editorTafTabComp.getBBB());
String newText = (String) resultMap.get("text");
Map<String, Object> parsedText = (Map<String, Object>) resultMap
.get("result");
String newTime = (String) resultMap.get("headerTime");
tafList.add(newText);
// Python may change the TAF let the caller handle it prior to setting
// up any error information.
if (in.trim().equals(newText.trim()) == false) {
pythonModifiedTAF = true;
return true;
}
editorTafTabComp.setLargeTF(newTime);
java.util.List<String> results;
StringBuilder errorMsg = new StringBuilder();
@ -3327,7 +3313,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
* @return -- the decoded TAF
*/
@SuppressWarnings("unchecked")
private HashMap<String, Object> parseText(String text, String bbb) {
private Map<String, Object> parseText(String text, String bbb) {
IPathManager pm = PathManagerFactory.getPathManager();
@ -3339,10 +3325,8 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
File baseDir = pm.getFile(baseContext, "aviation"
+ IPathManager.SEPARATOR + "python");
HashMap<String, Object> resultMap = null;
HashMap<String, Object> map = new HashMap<String, Object>();
Map<String, Object> resultMap = null;
Map<String, Object> argMap = new HashMap<String, Object>();
try {
if (parsePythonScript == null) {
parsePythonScript = new PythonScript(baseFile.getPath(),
@ -3351,13 +3335,13 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
TafViewerEditorDlg.class.getClassLoader());
}
parsePythonScript.instantiatePythonClass("parser", "Decoder", null);
map.put("text", text);
map.put("bbb", bbb);
argMap.put("text", text);
argMap.put("bbb", bbb);
Object com = parsePythonScript.execute("parseFromJava", "parser",
map);
resultMap = (HashMap<String, Object>) com;
argMap);
resultMap = (Map<String, Object>) com;
} catch (JepException e) {
e.printStackTrace();
statusHandler.error("Error parsing TAF", e);
}
return resultMap;
}
@ -4423,6 +4407,7 @@ public class TafViewerEditorDlg extends CaveSWTDialog implements ITafSettable,
*
* @see com.raytheon.viz.aviation.editor.ITafSettable#getViewerTabList()
*/
@Override
public List<ViewerTab> getViewerTabList() {
return modelsTabs;
}

View file

@ -505,6 +505,24 @@
indentText="false" />
<contribute xsi:type="menuItem" menuText="Ice growth rate"
key="ICEG" indentText="false" />
<contribute xsi:type="menuItem" menuText="Salinity"
key="SALTY" indentText="false" />
<contribute xsi:type="menuItem" menuText="Sea Surface Height"
key="SSHG" indentText="false" />
<contribute xsi:type="menuItem" menuText="Water Temperature"
key="TEMPWTR" indentText="false" />
<contribute xsi:type="menuItem" menuText="Current Vectors"
key="OGRD" indentText="false" />
<contribute xsi:type="menuItem" menuText="Current Speed"
key="SPC" indentText="false" />
<contribute xsi:type="menuItem" menuText="Current Direction"
key="DIRC" indentText="false" />
<contribute xsi:type="menuItem" menuText="Sea Level Deviation"
key="DEVMSL" indentText="false" />
<contribute xsi:type="menuItem" menuText="Barometric Velocity Vectors"
key="BARO" indentText="false" />
<contribute xsi:type="menuItem" menuText="Barometric Velocity"
key="SPBARO" indentText="false" />
<contribute xsi:type="menuItem" menuText="Tidal Height"
key="ELEV" indentText="false" />
<contribute xsi:type="menuItem" menuText="ET Storm Surge"

View file

@ -1,11 +1,23 @@
<?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. -->
<!--
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.
-->
<vbSourceList>
<vbSource key="DGEX186" category="Volume" />
<vbSource key="GFS160" category="Volume" />
@ -23,6 +35,32 @@
<vbSource key="GFS213" category="Volume" />
<vbSource key="ENSEMBLE" category="Volume" views="PLANVIEW TIMESERIES" />
<vbSource key="AVN-NorthernHemisphere" category="Volume" />
<vbSource key="HFR-EAST_6KM" category="Volume" views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_EAST_DELAWARE_1KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_EAST_FLORIDA_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_EAST_NORTH_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_EAST_SOUTH_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_EAST_VIRGINIA_1KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_HAWAII_1KM" category="Volume" views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_HAWAII_2KM" category="Volume" views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-WEST_6KM" category="Volume" views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_CENCAL_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_NORTH_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_SANFRAN_1KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_SOCAL_2KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_LOSANGELES_1KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HFR-US_WEST_LOSOSOS_1KM" category="Volume"
views="PLANVIEW TIMESERIES" />
<vbSource key="HiResW-ARW-AK" category="Volume" />
<vbSource key="HiResW-ARW-East" category="Volume" />
<vbSource key="HiResW-ARW-PR" category="Volume" />
@ -70,7 +108,8 @@
<vbSource key="estofsPR" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GFE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GFSGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GFSLAMPTstorm" name="GFSLAMP-Grid" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GFSLAMPTstorm" name="GFSLAMP-Grid" category="SfcGrid"
views="PLANVIEW TIMESERIES" />
<vbSource key="GLERL" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GlobalWave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
<vbSource key="GRLKwave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
@ -115,10 +154,9 @@
views="TIMESERIES" />
<vbSource key="Ldad" category="Point" views="TIMESERIES" />
<vbSource key="obs" name="Metar" category="Point" views="TIMESERIES" />
<vbSource key="obsOA" name="MetarOA" category="Point"
views="PLANVIEW TIMESERIES" />
<vbSource key="radar149" name="DMD" category="Point"
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT TIMESERIES" />
<vbSource key="obsOA" name="MetarOA" category="Point" views="PLANVIEW TIMESERIES" />
<vbSource key="radar149" name="DMD" category="Point" subCategory="Column"
views="CROSSSECTION TIMEHEIGHT VARVSHGT TIMESERIES" />
<vbSource key="modelsoundingGFS" name="GFSBufr" category="Point"
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="goessounding" name="GoesBufr" category="Point"
@ -131,10 +169,10 @@
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="profiler" name="Profiler" category="Point"
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="bufrua" name="Raob" category="Point"
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="bufrua" name="Raob" category="Point" subCategory="Column"
views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="bufruaOA" name="RaobOA" category="Point"
subCategory="Column" />
<vbSource key="radarVWP" name="VWP" category="Point"
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
<vbSource key="radarVWP" name="VWP" category="Point" subCategory="Column"
views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
</vbSourceList>

View file

@ -31,6 +31,7 @@ except:
import NetCDF
import JUtil
import iscUtil
import logging
from java.util import ArrayList
from java.io import File
@ -72,6 +73,7 @@ from com.raytheon.uf.common.localization import LocalizationContext_Localization
# 09/20/13 2405 dgilling Clip grids before inserting into cache.
# 10/22/13 2405 rjpeter Remove WECache and store directly to cube.
# 10/31/2013 2508 randerso Change to use DiscreteGridSlice.getKeys()
# 08/14/2014 3526 randerso Fixed to get sampling definition from appropriate site
#
# Original A1 BATCH WRITE COUNT was 10, we found doubling that
@ -83,7 +85,7 @@ ifpNetcdfLogger=None
## Logging methods ##
def initLogger(logFile=None):
global ifpNetcdfLogger
ifpNetcdfLogger = iscUtil.getLogger("ifpnetCDF",logFile)
ifpNetcdfLogger = iscUtil.getLogger("ifpnetCDF",logFile, logLevel=logging.INFO)
def logEvent(*msg):
ifpNetcdfLogger.info(iscUtil.tupleToString(*msg))
@ -249,7 +251,7 @@ def timeFromComponents(timeTuple):
epochDays = epochDays + daysInMonth(pmonth, timeTuple[0])
pmonth = pmonth + 1
epochDays = epochDays + timeTuple[2] - 1; # but not this day
epochDays = epochDays + timeTuple[2] - 1 # but not this day
epochTime = epochDays * 86400 + \
timeTuple[3] * 3600 + timeTuple[4] * 60 + timeTuple[5]
@ -409,7 +411,7 @@ def storeLatLonGrids(client, file, databaseID, invMask, krunch, clipArea):
gridLoc = IFPServerConfigManager.getServerConfig(DatabaseID(databaseID).getSiteId()).dbDomain()
pDict = gridLoc.getProjection()
latLonGrid = gridLoc.getLatLonGrid().__numpy__[0];
latLonGrid = gridLoc.getLatLonGrid().__numpy__[0]
latLonGrid = numpy.reshape(latLonGrid, (2,gridLoc.getNy().intValue(),gridLoc.getNx().intValue()), order='F')
@ -1188,11 +1190,20 @@ def compressFile(filename, factor):
###------------
# getSamplingDefinition - accesses server to retrieve definition,
# returns None or the sampling definition as Python.
def getSamplingDefinition(client, configName):
def getSamplingDefinition(client, configName, siteId):
if configName is None:
return None
file = PathManagerFactory.getPathManager().getStaticFile("isc/utilities/" + configName + ".py")
if file is None:
pathManager = PathManagerFactory.getPathManager()
fileName = "isc/utilities/" + configName + ".py"
siteContext = pathManager.getContextForSite(LocalizationType.COMMON_STATIC, siteId)
file = pathManager.getFile(siteContext, fileName)
# if site file not found, try base level
if file is None or not file.exists():
baseContext = pathManager.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.BASE)
file = pathManager.getFile(baseContext, fileName)
if file is None or not file.exists():
s = "Sampling Definition " + configName + " not found, using all grids."
logProblem(s)
return None
@ -1341,7 +1352,8 @@ def main(outputFilename, parmList, databaseID, startTime,
#del maskGrid
# Determine sampling definition
samplingDef = getSamplingDefinition(client, argDict['configFileName'])
siteId = DatabaseID(argDict['databaseID']).getSiteId()
samplingDef = getSamplingDefinition(client, argDict['configFileName'], siteId)
logVerbose("Sampling Definition:", samplingDef)
# Open the netCDF file
@ -1385,7 +1397,7 @@ def main(outputFilename, parmList, databaseID, startTime,
argDict['krunch'], clipArea)
totalGrids = totalGrids + 3
storeGlobalAtts(file, argDict);
storeGlobalAtts(file, argDict)
file.close()

View file

@ -89,6 +89,8 @@ from com.raytheon.uf.edex.database.cluster import ClusterTask
# 02/04/14 17042 ryu Check in changes for randerso.
# 04/11/2014 17242 David Gillingham (code checked in by zhao)
# 07/22/2014 17484 randerso Update cluster lock time to prevent time out
# 08/07/2014 3517 randerso Improved memory utilization and error handling when unzipping input file.
# 08/14/2014 3526 randerso Fix bug in WECache that could incorrectly delete grids in the destination database
#
BATCH_DELAY = 0.0
@ -243,7 +245,7 @@ class WECache(object):
If the cache does not have room for a batch of grids to be loaded without exceeding the max cache size
the earliest dirty grids (or clean if not enough dirty grids are found) are flushed to disk before reading
the next dash.
the next batch.
Args:
tr: the missing time range
@ -273,7 +275,7 @@ class WECache(object):
def __flushGrids(self, trList):
"""
Flush a list time ranges from the cache.
Flush a list of time ranges from the cache.
Dirty time ranges will be written to disk.
Writes will be done in _batchSize groups
@ -286,10 +288,19 @@ class WECache(object):
saveList = [] # python time ranges covered by this saveRequest
saveSize = 0 # number of grids in saveRequest
# get full time range for flush
sortedList = sorted(trList, key=lambda t: t[0])
flushTR = (sortedList[0][0], sortedList[-1][1])
timeSpan = None # time span if this contiguous batch
gridsToSave = ArrayList(self._batchSize) # grids in this contiguous batch
saveBatch = False
for tr in sorted(trList, key=lambda t: t[0]):
for tr in self.keys():
if tr[1] <= flushTR[0]:
continue
if tr[0] >= flushTR[1]:
break
dirty = tr in self._dirty
if dirty:
logger.debug("WECache storing: %s", printTR(tr))
@ -314,6 +325,9 @@ class WECache(object):
logger.debug("WECache purging: %s", printTR(tr))
self._inv[tr] = None
self._populated.remove(tr)
else:
# skip any clean unpopulated grids
logger.debug("WECache skipping: %s", printTR(tr))
if saveBatch:
# add this contiguous batch to saveRequest
@ -404,9 +418,9 @@ class WECache(object):
self._populated.add(tr)
def flush(self):
"""Writes the entire contents of the WECache to HDF5/DB"""
"""Writes all dirty time ranges in the WECache to HDF5/DB"""
# flush entire inventory
self.__flushGrids(self.keys())
self.__flushGrids(self._dirty)
def overlaps(self, tr1, tr2):
if (tr1[0] >= tr2[0] and tr1[0] < tr2[1]) or \
@ -538,25 +552,39 @@ class IscMosaic:
gzipFile = None
unzippedFile = None
gzipped = True
try:
import gzip
gzipFile = gzip.open(filename, 'rb')
unzippedFile = open(filename + ".unzipped", 'w')
unzippedFile.write(gzipFile.read())
while True:
buffer = gzipFile.read(65536)
if len(buffer) == 0:
break
unzippedFile.write(buffer)
except IOError as e:
if e.message == "Not a gzipped file":
gzipped = False
else:
raise
else:
# no errors, close and rename the file
unzippedFile.close()
gzipFile.close()
os.rename(unzippedFile.name, gzipFile.filename)
except:
# Not gzipped
gzipFile = unzippedFile = None
finally:
# close the files in case of error
if gzipFile is not None:
gzipFile.close()
if unzippedFile is not None:
unzippedFile.close()
if not gzipped:
os.remove(unzippedFile.name)
a = os.times()
cpu = a[0] + a[1]
stop1 = a[4]
cpugz = a[0] + a[1]
stopgz = a[4]
file = NetCDF.NetCDFFile(filename, "r")
@ -656,15 +684,15 @@ class IscMosaic:
SendNotifications.send(notification)
a = os.times()
cpugz = a[0] + a[1]
cpu = a[0] + a[1]
stop = a[4]
logger.info("Elapsed/CPU time: "
"%-.2f / %-.2f decompress, "
"%-.2f / %-.2f processing, "
"%-.2f / %-.2f total",
stop1 - start, cpu - cpu0,
stop - stop1, cpugz - cpu,
stop - start, cpugz - cpu0)
stopgz - start, cpugz - cpu0,
stop - stopgz, cpu - cpugz,
stop - start, cpu - cpu0)
def __processParm(self, parmName, vars, history, filename):
@ -1101,9 +1129,9 @@ class IscMosaic:
#areaMask.setGloc(domain)
areaMask = ReferenceData(domain, ReferenceID("full"), None, CoordinateType.GRID);
areaMask.getGrid();
areaMask.invert();
areaMask = ReferenceData(domain, ReferenceID("full"), None, CoordinateType.GRID)
areaMask.getGrid()
areaMask.invert()
elif self.__altMask is not None:
try:
@ -1277,7 +1305,7 @@ class IscMosaic:
else:
#FIXME
for i in range(0, len(history)):
hist.add(history[i]);
hist.add(history[i])
if gridType == 'SCALAR':
data = Grid2DFloat.createGrid(value.shape[1], value.shape[0], value)
@ -1295,7 +1323,7 @@ class IscMosaic:
keyList = ArrayList()
for key in value[1]:
keyList.add(WeatherKey())
slice = WeatherGridSlice();
slice = WeatherGridSlice()
slice.setValidTime(tr)
slice.setGridParmInfo(gpi)
slice.setGridDataHistory(hist)
@ -1306,7 +1334,7 @@ class IscMosaic:
keyList = ArrayList()
for key in value[1]:
keyList.add(DiscreteKey())
slice = DiscreteGridSlice();
slice = DiscreteGridSlice()
slice.setValidTime(tr)
slice.setGridParmInfo(gpi)
slice.setGridDataHistory(hist)

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-EAST1_6KM</name>
<description>High Frequency Radar (EAST_6KM) total vector velocity (TVV)
Lon/Lat Resolution
</description>
<la1>21.73596</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>701</nx>
<ny>460</ny>
<dx>0.058075</dx>
<dy>0.05394</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-EAST2_6KM</name>
<description>High Frequency Radar (EAST_6KM) total vector velocity (TVV)
Lon/Lat Resolution
</description>
<la1>14.5</la1>
<lo1>289.5</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>171</nx>
<ny>140</ny>
<dx>0.05574</dx>
<dy>0.05394</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_EAST_DELAWARE_1KM</name>
<description>High Frequency Radar (US_EAST_DELAWARE_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>38.007858</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>4205</nx>
<ny>222</ny>
<dx>0.009682</dx>
<dy>0.008992</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_EAST_FLORIDA_2KM</name>
<description>High Frequency Radar (US_EAST_FLORIDA_2KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>25.00832</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>2103</nx>
<ny>167</ny>
<dx>0.019356</dx>
<dy>0.01798</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_EAST_NORTH_2KM</name>
<description>High Frequency Radar (US_EAST_NORTH_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>36.012081</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>2103</nx>
<ny>222</ny>
<dx>0.019356</dx>
<dy>0.017979</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_EAST_SOUTH_2KM</name>
<description>High Frequency Radar (US_EAST_SOUTH_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>30.00676</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>2103</nx>
<ny>223</ny>
<dx>0.019356</dx>
<dy>0.01798</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_EAST_VIRGINIA_1KM</name>
<description>High Frequency Radar (US_EAST_VIRGINIA_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>36.506531</la1>
<lo1>262.11615</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>4205</nx>
<ny>111</ny>
<dx>0.009682</dx>
<dy>0.008987</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_HAWAII_1KM</name>
<description>High Frequency Radar (US_HAWAII_1KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>16.2204</la1>
<lo1>196.855606</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1204</nx>
<ny>963</ny>
<dx>0.009293</dx>
<dy>0.009041</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_HAWAII_2KM</name>
<description>High Frequency Radar (US_HAWAII_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>16.2204</la1>
<lo1>196.855606</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>602</nx>
<ny>482</ny>
<dx>0.018601</dx>
<dy>0.01808</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_500M</name>
<description>High Frequency Radar (US_WEST_500M) total vector velocity (TVV)
Lon/Lat Resolution
</description>
<la1>37.455486</la1>
<lo1>237.406532</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>106</nx>
<ny>153</ny>
<dx>0.005204</dx>
<dy>0.004494</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_CENCAL_2KM</name>
<description>High Frequency Radar (US_WEST_CENCAL_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>36.003601</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>700</nx>
<ny>167</ny>
<dx>0.020829</dx>
<dy>0.017979</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_LOSANGELES_1KM</name>
<description>High Frequency Radar (US_WEST_LOSANGELES_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>32.003052</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1399</nx>
<ny>278</ny>
<dx>0.010407</dx>
<dy>0.008987</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_LOSOSOS_1KM</name>
<description>High Frequency Radar (US_WEST_LOSOSOS_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>34.50227</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1399</nx>
<ny>145</ny>
<dx>0.010407</dx>
<dy>0.008991</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_NORTH_2KM</name>
<description>High Frequency Radar (US_WEST_NORTH_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>43.0158</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>700</nx>
<ny>361</ny>
<dx>0.020829</dx>
<dy>0.017979</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_SANFRAN_1KM</name>
<description>High Frequency Radar (US_WEST_SANFRAN_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>37.001492</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1399</nx>
<ny>167</ny>
<dx>0.010407</dx>
<dy>0.008987</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_SOCAL_2KM</name>
<description>High Frequency Radar (US_WEST_SOCAL_2KM) total vector velocity
(TVV) Lon/Lat Resolution
</description>
<la1>32.012039</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>700</nx>
<ny>194</ny>
<dx>0.020829</dx>
<dy>0.017983</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-US_WEST_WASHINGTON_1KM</name>
<description>High Frequency Radar (US_WEST_WASHINGTON_1KM) total vector
velocity (TVV) Lon/Lat Resolution
</description>
<la1>48.005249</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1399</nx>
<ny>222</ny>
<dx>0.010407</dx>
<dy>0.008991</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-WEST1_6KM</name>
<description>High Frequency Radar (WEST_6KM) total vector velocity (TVV)
Lon/Lat Resolution
</description>
<la1>30.25</la1>
<lo1>229.639999</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>234</nx>
<ny>367</ny>
<dx>0.06247</dx>
<dy>0.05394</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>gridHFR-WEST2_6KM</name>
<description>High Frequency Radar (WEST_6KM) total vector velocity (TVV)
Lon/Lat Resolution
</description>
<la1>16.2204</la1>
<lo1>196.855606</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>201</nx>
<ny>161</ny>
<dx>0.055801</dx>
<dy>0.054239</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,217 @@
<?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.
-->
<gribModelSet>
<!-- SUBCENTER 0 -->
<model>
<name>HFR-US_EAST_FLORIDA_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_EAST_FLORIDA_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_CENCAL_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_CENCAL_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_EAST_DELAWARE_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_EAST_DELAWARE_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_HAWAII_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_HAWAII_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_500M</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_500M</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_NORTH_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_NORTH_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_LOSANGELES_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_LOSANGELES_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_EAST_NORTH_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_EAST_NORTH_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_EAST_SOUTH_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_EAST_SOUTH_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_EAST_VIRGINIA_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_EAST_VIRGINIA_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_SANFRAN_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_SANFRAN_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-EAST_6KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-EAST1_6KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-EAST_6KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-EAST2_6KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_HAWAII_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_HAWAII_2KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-WEST_6KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-WEST1_6KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-WEST_6KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-WEST2_6KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_WASHINGTON_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_WASHINGTON_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_LOSOSOS_1KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_LOSOSOS_1KM</grid>
<process>
<id>255</id>
</process>
</model>
<model>
<name>HFR-US_WEST_SOCAL_2KM</name>
<center>9</center>
<subcenter>0</subcenter>
<grid>gridHFR-US_WEST_SOCAL_2KM</grid>
<process>
<id>255</id>
</process>
</model>
</gribModelSet>

5
nativeLib/rary.cots.g2clib/drstemplates.h Executable file → Normal file
View file

@ -3,6 +3,7 @@
#include "grib2.h"
// PRGMMR: Gilbert ORG: W/NP11 DATE: 2002-10-26
// 2014-07-30 vkorolev Added template 5.4
//
// ABSTRACT: This Fortran Module contains info on all the available
// GRIB2 Data Representation Templates used in Section 5 (DRS).
@ -31,7 +32,7 @@
//
///////////////////////////////////////////////////////////////////////
#define MAXDRSTEMP 9 // maximum number of templates
#define MAXDRSTEMP 10 // maximum number of templates
#define MAXDRSMAPLEN 200 // maximum template map length
struct drstemplate
@ -49,6 +50,8 @@
{ 2, 16, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1} },
// 5.3: Grid point data - Complex Packing and spatial differencing
{ 3, 18, 0, {4,-2,-2,1,1,1,1,4,4,4,1,1,4,1,4,1,1,1} },
// 5.4: Grid Point Data - IEEE Floating Point Data
{ 4, 1, 0, {1} },
// 5.50: Spectral Data - Simple Packing
{ 50, 5, 0, {4,-2,-2,1,4} },
// 5.51: Spherical Harmonics data - Complex packing

17
nativeLib/rary.cots.g2clib/g2_unpack7.c Executable file → Normal file
View file

@ -34,6 +34,7 @@ g2int g2_unpack7(unsigned char *cgrib,g2int *iofst,g2int igdsnum,g2int *igdstmpl
// PNG now allowed to use WMO Template no. 5.41
// 2004-12-16 Taylor - Added check on comunpack return code.
// 2008-12-23 Wesley - Initialize Number of data points unpacked
// 2014-07-29 vkorolev - Added processing Template no. 5.4
//
// USAGE: int g2_unpack7(unsigned char *cgrib,g2int *iofst,g2int igdsnum,
// g2int *igdstmpl, g2int idrsnum,
@ -81,6 +82,9 @@ g2int g2_unpack7(unsigned char *cgrib,g2int *iofst,g2int igdsnum,g2int *igdstmpl
g2int ierr,isecnum;
g2int ipos,lensec;
g2float *lfld;
g2int *ifld;
ierr=0;
*fld=0; //NULL
@ -98,6 +102,7 @@ g2int g2_unpack7(unsigned char *cgrib,g2int *iofst,g2int igdsnum,g2int *igdstmpl
ipos=(*iofst/8);
lfld=(g2float *)calloc(ndpts ? ndpts : 1,sizeof(g2float));
if (lfld == 0) {
ierr=6;
return(ierr);
@ -113,6 +118,18 @@ g2int g2_unpack7(unsigned char *cgrib,g2int *iofst,g2int igdsnum,g2int *igdstmpl
return 7;
}
}
else if(idrsnum == 4) {
ifld=(g2int *)calloc(ndpts ? ndpts : 1, sizeof(g2int));
if(ifld != 0){
gbits(cgrib+ipos,ifld,0,32,0,ndpts);
rdieee(ifld,*fld,ndpts);
free(ifld);
}
else {
ierr=6;
return(ierr);
}
}
else if (idrsnum == 50) { // Spectral Simple
simunpack(cgrib+ipos,idrstmpl,ndpts-1,lfld+1);
rdieee(idrstmpl+4,lfld+0,1);

View file

@ -9,7 +9,7 @@
Name: awips2-python
Summary: AWIPS II Python Distribution
Version: 2.7.1
Release: 10.el6
Release: 11.el6
Group: AWIPSII
BuildRoot: %{_build_root}
BuildArch: %{_build_arch}