Merge branch 'omaha_14.2.4' of ssh://www.awips2omaha.com:29418/AWIPS2_baseline into master_14.2.4
Former-commit-id:a830b6d94c
[formerly b2674ef57183706feb2bb17175d730bb2e213281] Former-commit-id:94577a1626
This commit is contained in:
commit
a0af10ff2e
37 changed files with 1523 additions and 325 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
|
@ -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) {
|
||||
BundleSynchronizer.runSynchedWithBundle(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
cb.addClassLoader(bundleWiring.getClassLoader());
|
||||
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
* even if we couldn't get the bundle repository to sync
|
||||
* against, it's probably safe, see BundleRepositoryGetter
|
||||
* javadoc
|
||||
*/
|
||||
cb.addClassLoader(bundleWiring.getClassLoader());
|
||||
}
|
||||
}, bundle);
|
||||
|
||||
cb.addUrls(FileLocator.getBundleFile(bundle).toURI().toURL());
|
||||
cb.setScanners(scanner);
|
||||
reflections = cb.build();
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
final ClassLoader[] loaderHolder = new ClassLoader[1];
|
||||
BundleSynchronizer.runSynchedWithBundle(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
loaderHolder[0] = 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();
|
||||
}
|
||||
}, bundle);
|
||||
|
||||
ClassLoader loader = loaderHolder[0];
|
||||
if (loader == null) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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) {
|
||||
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.
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String tempTaf : tafList) {
|
||||
sb.append(tempTaf);
|
||||
sb.append("\n");
|
||||
}
|
||||
sb.append(tList.get(0));
|
||||
sb.append("\n");
|
||||
if (idx2 > -1) {
|
||||
sb.append(in.substring(idx2));
|
||||
}
|
||||
in = sb.toString();
|
||||
st.setText(in);
|
||||
int currentLineNo = st.getLineAtOffset(idx1);
|
||||
errorInTaf |= checkSyntaxUsingPython(taf, currentLineNo, sMap,
|
||||
tList, doLogMessage);
|
||||
for (StyleRange skey : sMap.keySet()) {
|
||||
syntaxMap.put(skey, sMap.get(skey));
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String tafAfterCheck = tList.get(0);
|
||||
checkedTafs.add(tafAfterCheck);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String checkedTaf : checkedTafs) {
|
||||
sb.append(checkedTaf);
|
||||
sb.append("\n");
|
||||
}
|
||||
int lengthChecked = sb.length();
|
||||
|
||||
for (String taf : tafList) {
|
||||
sb.append(taf);
|
||||
sb.append("\n");
|
||||
}
|
||||
if (idx2 > -1) {
|
||||
sb.append(in.substring(idx2));
|
||||
}
|
||||
in = sb.toString();
|
||||
st.setText(in);
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1,140 +1,178 @@
|
|||
<?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" />
|
||||
<vbSource key="ETA242" category="Volume" />
|
||||
<vbSource key="mesoEta216" category="Volume" />
|
||||
<vbSource key="SREF216" category="Volume" />
|
||||
<vbSource key="Aviation" category="Volume" views="PLANVIEW TIMESERIES"/>
|
||||
<vbSource key="DGEX185" category="Volume" />
|
||||
<vbSource key="ECMWF-HiRes" category="Volume" />
|
||||
<vbSource key="ECMF-NorthernHemisphere" category="Volume" />
|
||||
<vbSource key="AVN203" category="Volume" />
|
||||
<vbSource key="GFS201" category="Volume" />
|
||||
<vbSource key="GFS212" category="Volume" />
|
||||
<vbSource key="AVN225" category="Volume" />
|
||||
<vbSource key="GFS213" category="Volume" />
|
||||
<vbSource key="ENSEMBLE" category="Volume" views="PLANVIEW TIMESERIES"/>
|
||||
<vbSource key="AVN-NorthernHemisphere" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-AK" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-East" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-PR" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-SJU" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-West" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-AK" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-East" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-PR" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-SJU" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-West" category="Volume" />
|
||||
<vbSource key="DGEX186" category="Volume" />
|
||||
<vbSource key="GFS160" category="Volume" />
|
||||
<vbSource key="ETA242" category="Volume" />
|
||||
<vbSource key="mesoEta216" category="Volume" />
|
||||
<vbSource key="SREF216" category="Volume" />
|
||||
<vbSource key="Aviation" category="Volume" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="DGEX185" category="Volume" />
|
||||
<vbSource key="ECMWF-HiRes" category="Volume" />
|
||||
<vbSource key="ECMF-NorthernHemisphere" category="Volume" />
|
||||
<vbSource key="AVN203" category="Volume" />
|
||||
<vbSource key="GFS201" category="Volume" />
|
||||
<vbSource key="GFS212" category="Volume" />
|
||||
<vbSource key="AVN225" category="Volume" />
|
||||
<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" />
|
||||
<vbSource key="HiResW-ARW-SJU" category="Volume" />
|
||||
<vbSource key="HiResW-ARW-West" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-AK" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-East" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-PR" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-SJU" category="Volume" />
|
||||
<vbSource key="HiResW-NMM-West" category="Volume" />
|
||||
<vbSource key="HRRR" category="Volume" />
|
||||
<vbSource key="MRF204" category="Volume" />
|
||||
<vbSource key="LAMPQPF" category="Volume" />
|
||||
<vbSource key="LAPS" category="Volume" />
|
||||
<vbSource key="ETA218" category="Volume" />
|
||||
<vbSource key="mesoEta215" category="Volume" />
|
||||
<vbSource key="mesoEta212" category="Volume" />
|
||||
<vbSource key="ETA" category="Volume" />
|
||||
<vbSource key="ETA207" category="Volume" />
|
||||
<vbSource key="NOGAPS" category="Volume" />
|
||||
<vbSource key="GFS254" category="Volume" />
|
||||
<vbSource key="SREF243" category="Volume" />
|
||||
<vbSource key="RSM" category="Volume" />
|
||||
<vbSource key="RUC130" category="Volume" />
|
||||
<vbSource key="RUC236" category="Volume" />
|
||||
<vbSource key="GFS161" category="Volume" />
|
||||
<vbSource key="MRF205" category="Volume" />
|
||||
<vbSource key="SREF212" category="Volume" views="PLANVIEW TIMESERIES"/>
|
||||
<vbSource key="UKMET-NorthernHemisphere" category="Volume" />
|
||||
<vbSource key="radar" name="Radar" category="Volume" />
|
||||
<vbSource key="MOSGuide-AK" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MRF204" category="Volume" />
|
||||
<vbSource key="LAMPQPF" category="Volume" />
|
||||
<vbSource key="LAPS" category="Volume" />
|
||||
<vbSource key="ETA218" category="Volume" />
|
||||
<vbSource key="mesoEta215" category="Volume" />
|
||||
<vbSource key="mesoEta212" category="Volume" />
|
||||
<vbSource key="ETA" category="Volume" />
|
||||
<vbSource key="ETA207" category="Volume" />
|
||||
<vbSource key="NOGAPS" category="Volume" />
|
||||
<vbSource key="GFS254" category="Volume" />
|
||||
<vbSource key="SREF243" category="Volume" />
|
||||
<vbSource key="RSM" category="Volume" />
|
||||
<vbSource key="RUC130" category="Volume" />
|
||||
<vbSource key="RUC236" category="Volume" />
|
||||
<vbSource key="GFS161" category="Volume" />
|
||||
<vbSource key="MRF205" category="Volume" />
|
||||
<vbSource key="SREF212" category="Volume" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="UKMET-NorthernHemisphere" category="Volume" />
|
||||
<vbSource key="radar" name="Radar" category="Volume" />
|
||||
<vbSource key="MOSGuide-AK" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-HPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKWAVE239" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="BHPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="CPCoutlook211" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="DHM" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="ENPWAVE253" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="EPwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AK-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKWAVE239" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="AKwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="BHPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="CPCoutlook211" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="DHM" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="ENPWAVE253" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="EPwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="estofsUS" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<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="GLERL" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GlobalWave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GRLKwave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MOSGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind175" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="Guam-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GWW233" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind250" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HI-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HI-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCqpfNDFD" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MPE-Local" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MSAS" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="NamDNG" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="ETA212" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave181" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave182" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave180" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PR-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PR-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="rfcMPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RFCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTGSST" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTGSSTHR" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="SeaIce" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="SPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind226" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="TPCSurgeProb" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PHISH" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="TPCWindProb" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WCwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WCwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAWAVE238" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="bufrmosLAMP" name="GFSLAMP-Stn" category="Point"
|
||||
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="modelsoundingGFS" name="GFSBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="goessounding" name="GoesBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="acarssounding" name="MDCRS" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="modelsoundingETA" name="NAMBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="poessounding" name="PoesBufr" category="Point"
|
||||
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="bufruaOA" name="RaobOA" category="Point"
|
||||
subCategory="Column" />
|
||||
<vbSource key="radarVWP" name="VWP" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING 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="GLERL" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GlobalWave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GRLKwave" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MOSGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind175" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="Guam-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="GWW233" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind250" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HI-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HI-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCqpfNDFD" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MPE-Local" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="MSAS" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="NamDNG" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="ETA212" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="NICICE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave181" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave182" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="OPCWave180" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PR-NamDNG5" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PR-RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="rfcMPE" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RFCqpf" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTGSST" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTGSSTHR" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="RTMA" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="SeaIce" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="SPCGuide" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="HurWind226" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="TPCSurgeProb" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="PHISH" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="TPCWindProb" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WCwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WCwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAWAVE238" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAwave10" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="WNAwave4" category="SfcGrid" views="PLANVIEW TIMESERIES" />
|
||||
<vbSource key="bufrmosLAMP" name="GFSLAMP-Stn" category="Point"
|
||||
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="modelsoundingGFS" name="GFSBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="goessounding" name="GoesBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="acarssounding" name="MDCRS" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="modelsoundingETA" name="NAMBufr" category="Point"
|
||||
subCategory="Column" views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
<vbSource key="poessounding" name="PoesBufr" category="Point"
|
||||
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="bufruaOA" name="RaobOA" category="Point"
|
||||
subCategory="Column" />
|
||||
<vbSource key="radarVWP" name="VWP" category="Point" subCategory="Column"
|
||||
views="CROSSSECTION TIMEHEIGHT VARVSHGT SOUNDING TIMESERIES" />
|
||||
</vbSourceList>
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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()
|
||||
os.remove(unzippedFile.name)
|
||||
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)
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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
5
nativeLib/rary.cots.g2clib/drstemplates.h
Executable file → Normal 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
17
nativeLib/rary.cots.g2clib/g2_unpack7.c
Executable file → Normal 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);
|
||||
|
|
|
@ -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}
|
||||
|
|
Binary file not shown.
Loading…
Add table
Reference in a new issue