Merge branch 'omaha_16.2.1' into omaha_16.2.2

Conflicts:
	cave/com.raytheon.uf.viz.d2d.core/src/com/raytheon/uf/viz/d2d/core/time/D2DTimeMatcher.java
	cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatedata/ClimateDataMenuDlg.java
	cave/com.raytheon.viz.awipstools/localization/menus/tools/baseToolsMenu.xml
	cave/com.raytheon.viz.gfe/localization/gfe/userPython/utilities/SmartScript.py
	cave/com.raytheon.viz.texteditor/src/com/raytheon/viz/texteditor/dialogs/TextEditorDialog.java


Former-commit-id: 68c13f9160746f365bd5f896b1400f1a8099ebe8
This commit is contained in:
Steve Harris 2016-02-01 11:57:52 -06:00
commit 85055fcc53
80 changed files with 3738 additions and 1599 deletions

View file

@ -454,7 +454,8 @@ public class D2DTimeMatcher extends AbstractTimeMatcher {
} }
if (tmDescriptor != null) { if (tmDescriptor != null) {
if (tmDescriptor != descriptor if (tmDescriptor != descriptor
&& tmDescriptor.getTimeMatcher() == this) { && tmDescriptor.getTimeMatcher() == this
&& hasContainer(descriptor)) {
if (validateDescriptor(tmDescriptor)) { if (validateDescriptor(tmDescriptor)) {
redoTimeMatching(tmDescriptor); redoTimeMatching(tmDescriptor);
} else { } else {
@ -1069,6 +1070,11 @@ public class D2DTimeMatcher extends AbstractTimeMatcher {
return false; return false;
} }
private boolean hasContainer(IDescriptor descriptor) {
IRenderableDisplay display = descriptor.getRenderableDisplay();
return display.getContainer() != null;
}
private static boolean validateDescriptor(IDescriptor descriptor) { private static boolean validateDescriptor(IDescriptor descriptor) {
IRenderableDisplay display = descriptor.getRenderableDisplay(); IRenderableDisplay display = descriptor.getRenderableDisplay();
IDisplayPaneContainer container = display != null ? display IDisplayPaneContainer container = display != null ? display

View file

@ -88,6 +88,7 @@ import com.vividsolutions.jts.geom.Geometry;
* Sep 23, 2014 3356 njensen Remove unnecessary import * Sep 23, 2014 3356 njensen Remove unnecessary import
* Mar 09, 2014 3888 dhladky Stopped processing when dialogs are null or disposed. * Mar 09, 2014 3888 dhladky Stopped processing when dialogs are null or disposed.
* Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* *
* </pre> * </pre>
@ -118,8 +119,6 @@ public class FogMonitor extends ObsMonitor implements IFogResourceListener {
/** data holder for FOG ALG data **/ /** data holder for FOG ALG data **/
private SortedMap<Date, Map<String, FOG_THREAT>> algorithmData = null; private SortedMap<Date, Map<String, FOG_THREAT>> algorithmData = null;
private Date dialogTime = null;
/** list of coordinates for each zone **/ /** list of coordinates for each zone **/
private Map<String, Geometry> zoneGeometries = null; private Map<String, Geometry> zoneGeometries = null;
@ -514,26 +513,6 @@ public class FogMonitor extends ObsMonitor implements IFogResourceListener {
fogResources.remove(ifru); fogResources.remove(ifru);
} }
/**
* FogResource sets the Drawtime
*
* @param drawTime
*/
@Override
public void updateDialogTime(Date dialogTime) {
this.dialogTime = dialogTime;
fireMonitorEvent(zoneDialog.getClass().getName());
}
/**
* The date for the dialog to stay in step with
*
* @return
*/
public Date getDialogDate() {
return dialogTime;
}
/* /*
* (non-Javadoc) * (non-Javadoc)
* *

View file

@ -61,6 +61,7 @@ import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg;
* Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Apr 28, 2014 3086 skorolev Updated getConfigMgr method.
* Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose.
* Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -148,13 +149,10 @@ public class FogZoneTableDlg extends ZoneTableDlg {
if (me.getSource() instanceof FogMonitor) { if (me.getSource() instanceof FogMonitor) {
FogMonitor fog = (FogMonitor) me.getSource(); FogMonitor fog = (FogMonitor) me.getSource();
Date date = fog.getDialogDate(); Date date = fog.getDialogTime();
if (date != null) { if (date != null) {
Date nominalTime = date; Date nominalTime = date;
ObMultiHrsReports obData = fog.getObData(); ObMultiHrsReports obData = fog.getObData();
if (!isLinkedToFrame()) {
nominalTime = obData.getLatestNominalTime();
}
FogDataGenerator fdg = new FogDataGenerator(); FogDataGenerator fdg = new FogDataGenerator();
Map<String, CellType> fogAlgCellType = fdg.getAlgCellTypes(fog Map<String, CellType> fogAlgCellType = fdg.getAlgCellTypes(fog
.getAlgorithmData(nominalTime)); .getAlgorithmData(nominalTime));

View file

@ -86,6 +86,7 @@ import com.vividsolutions.jts.geom.Geometry;
* Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage.
* Oct 19, 2015 3841 skorolev Corrected constructor. * Oct 19, 2015 3841 skorolev Corrected constructor.
* Oct 21, 2015 3873 dhladky Get Obs load off UI thread. * Oct 21, 2015 3873 dhladky Get Obs load off UI thread.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -128,9 +129,6 @@ public class SafeSeasMonitor extends ObsMonitor implements ISSResourceListener {
/** List of SAFESEAS resource listeners **/ /** List of SAFESEAS resource listeners **/
private final List<ISSResourceListener> safeSeasResources = new ArrayList<ISSResourceListener>(); private final List<ISSResourceListener> safeSeasResources = new ArrayList<ISSResourceListener>();
/** Time which Zone/County dialog shows. **/
private Date dialogTime = null;
/** list of coordinates for each zone **/ /** list of coordinates for each zone **/
private Map<String, Geometry> zoneGeometries = null; private Map<String, Geometry> zoneGeometries = null;
@ -399,35 +397,6 @@ public class SafeSeasMonitor extends ObsMonitor implements ISSResourceListener {
fireMonitorEvent(this); fireMonitorEvent(this);
} }
/**
* SSResource updates the dialogTime
*
* @param dialogTime
*/
@Override
public void updateDialogTime(Date dialogTime) {
this.dialogTime = dialogTime;
fireMonitorEvent(zoneDialog.getClass().getName());
}
/**
* Gets Dialog Time.
*
* @return dialogTime
*/
public Date getDialogTime() {
return dialogTime;
}
/**
* Sets the dialogTime
*
* @param dialogTime
*/
public void setDialogTime(Date dialogTime) {
this.dialogTime = dialogTime;
}
/** /**
* Adds recourse listener * Adds recourse listener
* *

View file

@ -59,6 +59,7 @@ import com.raytheon.uf.viz.monitor.util.MonitorConfigConstants;
* Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Apr 28, 2014 3086 skorolev Updated getConfigMgr method.
* Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose.
* Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -155,9 +156,6 @@ public class SSZoneTableDlg extends ZoneTableDlg {
if (date != null) { if (date != null) {
Date nominalTime = date; Date nominalTime = date;
ObMultiHrsReports obData = monitor.getObData(); ObMultiHrsReports obData = monitor.getObData();
if (!isLinkedToFrame()) {
nominalTime = obData.getLatestNominalTime();
}
Map<String, FOG_THREAT> fogAlgThreats = monitor Map<String, FOG_THREAT> fogAlgThreats = monitor
.getAlgorithmData(nominalTime); .getAlgorithmData(nominalTime);
obData.setFogAlgCellType(monitor.getAlgCellTypes(fogAlgThreats)); obData.setFogAlgCellType(monitor.getAlgCellTypes(fogAlgThreats));

View file

@ -32,8 +32,6 @@ import com.raytheon.uf.common.jms.notification.NotificationMessage;
import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager; import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager;
import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager.MonName; import com.raytheon.uf.common.monitor.config.FSSObsMonitorConfigurationManager.MonName;
import com.raytheon.uf.common.monitor.data.CommonConfig; import com.raytheon.uf.common.monitor.data.CommonConfig;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.viz.core.alerts.AlertMessage; import com.raytheon.uf.viz.core.alerts.AlertMessage;
import com.raytheon.uf.viz.monitor.IMonitor; import com.raytheon.uf.viz.monitor.IMonitor;
import com.raytheon.uf.viz.monitor.Monitor; import com.raytheon.uf.viz.monitor.Monitor;
@ -73,6 +71,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
* Apr 28, 2014 3086 skorolev Removed local getMonitorAreaConfig method. * Apr 28, 2014 3086 skorolev Removed local getMonitorAreaConfig method.
* Sep 04, 2014 3220 skorolev Updated configUpdate method and added updateMonitoringArea. * Sep 04, 2014 3220 skorolev Updated configUpdate method and added updateMonitoringArea.
* Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage. * Sep 18, 2015 3873 skorolev Removed common definitions. Replaced deprecated NotificationMessage.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -83,9 +82,6 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
public class SnowMonitor extends ObsMonitor implements ISnowResourceListener { public class SnowMonitor extends ObsMonitor implements ISnowResourceListener {
private final IUFStatusHandler statusHandler = UFStatus
.getHandler(SnowMonitor.class);
/** Singleton instance of this class */ /** Singleton instance of this class */
private static SnowMonitor monitor = null; private static SnowMonitor monitor = null;
@ -104,9 +100,6 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener {
*/ */
private ObMultiHrsReports obData; private ObMultiHrsReports obData;
/** Time which Zone/County dialog shows. **/
private Date dialogTime = null;
/** Array of snow listeners **/ /** Array of snow listeners **/
private final List<ISnowResourceListener> snowResources = new ArrayList<ISnowResourceListener>(); private final List<ISnowResourceListener> snowResources = new ArrayList<ISnowResourceListener>();
@ -329,24 +322,6 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener {
fireMonitorEvent(this); fireMonitorEvent(this);
} }
/**
* Gets Dialog Time.
*
* @return dialogTime
*/
public Date getDialogTime() {
return dialogTime;
}
/**
* Sets dialog time.
*
* @param dialogTime
*/
public void setDialogTime(Date dialogTime) {
this.dialogTime = dialogTime;
}
/** /**
* Adds a listener. * Adds a listener.
* *
@ -368,13 +343,16 @@ public class SnowMonitor extends ObsMonitor implements ISnowResourceListener {
} }
/** /**
* Event fire is different, Override.
* SnowResource sets the Drawtime. * SnowResource sets the Drawtime.
* *
* @param dialogTime * @param dialogTime
*/ */
public void updateDialogTime(Date dialogTime) { public void updateDialogTime(Date dialogTime) {
this.dialogTime = dialogTime; if (zoneDialog.linkedToFrame) {
fireMonitorEvent(this); this.dialogTime = dialogTime;
fireMonitorEvent(this);
}
} }
/** /**

View file

@ -56,6 +56,7 @@ import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg;
* Apr 28, 2014 3086 skorolev Updated getConfigMgr method. * Apr 28, 2014 3086 skorolev Updated getConfigMgr method.
* Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose. * Sep 04, 2014 3220 skorolev Removed "site". Added check on dispose.
* Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName. * Sep 18, 2015 3873 skorolev Adjusted to AppName and MonName.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -145,9 +146,6 @@ public class SnowZoneTableDlg extends ZoneTableDlg {
SnowMonitor monitor = (SnowMonitor) me.getSource(); SnowMonitor monitor = (SnowMonitor) me.getSource();
Date date = monitor.getDialogTime(); Date date = monitor.getDialogTime();
if (date != null) { if (date != null) {
if (!isLinkedToFrame()) {
date = monitor.getObData().getLatestNominalTime();
}
this.updateTableDlg(monitor.getObData().getObHourReports(date)); this.updateTableDlg(monitor.getObData().getObHourReports(date));
} }
} }

View file

@ -20,6 +20,7 @@
package com.raytheon.uf.viz.monitor; package com.raytheon.uf.viz.monitor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -47,6 +48,7 @@ import com.raytheon.uf.viz.datacube.DataCubeContainer;
import com.raytheon.uf.viz.monitor.data.ObReport; import com.raytheon.uf.viz.monitor.data.ObReport;
import com.raytheon.uf.viz.monitor.events.IMonitorConfigurationEvent; import com.raytheon.uf.viz.monitor.events.IMonitorConfigurationEvent;
import com.raytheon.uf.viz.monitor.events.IMonitorThresholdEvent; import com.raytheon.uf.viz.monitor.events.IMonitorThresholdEvent;
import com.raytheon.uf.viz.monitor.ui.dialogs.ZoneTableDlg;
import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Geometry;
/** /**
@ -65,6 +67,7 @@ import com.vividsolutions.jts.geom.Geometry;
* Sep 04, 2014 3220 skorolev Removed cwa and monitorUsefrom vals. * Sep 04, 2014 3220 skorolev Removed cwa and monitorUsefrom vals.
* Sep 18, 2015 3873 skorolev Included common definitions. * Sep 18, 2015 3873 skorolev Included common definitions.
* Oct 21, 2015 3873 dhladky Get Obs load off UI thread. * Oct 21, 2015 3873 dhladky Get Obs load off UI thread.
* Dec 17, 2015 3873 dhladky Abstracted handling of dialogTime and Zone dialog events.
* *
* </pre> * </pre>
* *
@ -78,7 +81,11 @@ public abstract class ObsMonitor extends Monitor {
private static final IUFStatusHandler statusHandler = UFStatus private static final IUFStatusHandler statusHandler = UFStatus
.getHandler(ObsMonitor.class); .getHandler(ObsMonitor.class);
/** Thread job to load obs with. **/
protected ProcessObsJob obsJob = null; protected ProcessObsJob obsJob = null;
/** Time which Zone/County dialog shows. **/
protected Date dialogTime = null;
/* /*
* (non-Javadoc) * (non-Javadoc)
@ -167,6 +174,13 @@ public abstract class ObsMonitor extends Monitor {
*/ */
@Override @Override
protected abstract void processNotifyMessage(NotificationMessage filtered); protected abstract void processNotifyMessage(NotificationMessage filtered);
/**
* Get the Zone table Dialog implementations
*
* @return
*/
protected abstract ZoneTableDlg getZoneDialog();
/* /*
* (non-Javadoc) * (non-Javadoc)
@ -320,4 +334,26 @@ public abstract class ObsMonitor extends Monitor {
public void setGeoAdjAreas(Geometry geoAdjAreas) { public void setGeoAdjAreas(Geometry geoAdjAreas) {
this.geoAdjAreas = geoAdjAreas; this.geoAdjAreas = geoAdjAreas;
} }
/**
* Sets the Resource Drawtime
*
* @param drawTime
*/
public void updateDialogTime(Date dialogTime) {
if (getZoneDialog().linkedToFrame) {
this.dialogTime = dialogTime;
fireMonitorEvent(getZoneDialog().getClass().getName());
}
}
/**
* The date for the dialog to stay in step with
*
* @return
*/
public Date getDialogTime() {
return dialogTime;
}
} }

View file

@ -60,7 +60,8 @@ import com.raytheon.uf.viz.monitor.thresholds.AbstractThresholdMgr;
* Sep 04, 2014 3220 skorolev Updated getStationTableData method. * Sep 04, 2014 3220 skorolev Updated getStationTableData method.
* Sep 25, 2015 3873 skorolev Added multiHrsTabData. * Sep 25, 2015 3873 skorolev Added multiHrsTabData.
* Nov 12, 2015 3841 dhladky Augmented Slav's update fix. * Nov 12, 2015 3841 dhladky Augmented Slav's update fix.
* Dec 02 2015 3873 dhladky Pulled 3841 changes to 16.1.1. * Dec 02 2015 3873 dhladky Pulled 3841 changes to 16.1.1.
* Jan 11 2016 5219 dhladky Fixed damage done to cache management by recent updates.
* *
* </pre> * </pre>
* *
@ -260,12 +261,7 @@ public class ObMultiHrsReports {
} else { } else {
tabData = hourReports.getZoneTableData(); tabData = hourReports.getZoneTableData();
} }
// update data cache
multiHrsReports.put(nominalTime, hourReports);
// update cache with empty table data
if (multiHrsTabData.replace(nominalTime, tabData) == null) {
multiHrsTabData.put(nominalTime, tabData);
}
return tabData; return tabData;
} }
@ -548,12 +544,14 @@ public class ObMultiHrsReports {
* @return * @return
*/ */
public ObHourReports getObHourReports(Date nominalTime) { public ObHourReports getObHourReports(Date nominalTime) {
if (nominalTime == null || !multiHrsReports.containsKey(nominalTime)) { if (nominalTime != null && !multiHrsReports.containsKey(nominalTime)) {
return new ObHourReports(nominalTime, appName, thresholdMgr);
} else if (nominalTime == null) {
return new ObHourReports(TableUtil.getNominalTime(SimulatedTime return new ObHourReports(TableUtil.getNominalTime(SimulatedTime
.getSystemTime().getTime()), appName, thresholdMgr); .getSystemTime().getTime()), appName, thresholdMgr);
} else {
return multiHrsReports.get(nominalTime);
} }
return multiHrsReports.get(nominalTime);
} }
/** /**
@ -618,12 +616,9 @@ public class ObMultiHrsReports {
* Updates table cache * Updates table cache
*/ */
public void updateTableCache() { public void updateTableCache() {
// clear and rebuild table data on config changes // rebuild the table cache
multiHrsTabData.clear();
for (Date time : multiHrsReports.keySet()) { for (Date time : multiHrsReports.keySet()) {
TableData tblData = getZoneTableData(time); getZoneTableData(time);
multiHrsTabData.put(time, tblData);
} }
} }
} }

View file

@ -102,6 +102,7 @@ import com.vividsolutions.jts.io.ParseException;
* Sep 25, 2015 3873 skorolev Added center definition for moving platforms. * Sep 25, 2015 3873 skorolev Added center definition for moving platforms.
* Nov 09, 2015 3841 dhladky Update all tables when zones/stations are updated. * Nov 09, 2015 3841 dhladky Update all tables when zones/stations are updated.
* Dec 02, 2015 3873 dhladky Pulled 3841 to 16.1.1. * Dec 02, 2015 3873 dhladky Pulled 3841 to 16.1.1.
* Dec 17, 2015 3873 dhladky Set link to Frame to true by default.
* *
* </pre> * </pre>
* *
@ -176,7 +177,7 @@ public abstract class ZoneTableDlg extends CaveSWTDialog implements
protected Button linkToFrameChk; protected Button linkToFrameChk;
/** Link-to-frame flag. **/ /** Link-to-frame flag. **/
public boolean linkedToFrame = false; public boolean linkedToFrame = true;
/** Vertical check box. **/ /** Vertical check box. **/
private Button vertChk; private Button vertChk;
@ -384,6 +385,7 @@ public abstract class ZoneTableDlg extends CaveSWTDialog implements
GridData gd = new GridData(SWT.DEFAULT, SWT.CENTER, false, true); GridData gd = new GridData(SWT.DEFAULT, SWT.CENTER, false, true);
linkToFrameChk = new Button(controlComp, SWT.CHECK); linkToFrameChk = new Button(controlComp, SWT.CHECK);
linkToFrameChk.setText("Link to Frame"); linkToFrameChk.setText("Link to Frame");
linkToFrameChk.setSelection(linkedToFrame);
linkToFrameChk.setLayoutData(gd); linkToFrameChk.setLayoutData(gd);
linkToFrameChk.addSelectionListener(new SelectionAdapter() { linkToFrameChk.addSelectionListener(new SelectionAdapter() {
@Override @Override

View file

@ -5,6 +5,7 @@ Bundle-SymbolicName: com.raytheon.uf.viz.npp.nucaps;singleton:=true
Bundle-Version: 1.14.0.qualifier Bundle-Version: 1.14.0.qualifier
Bundle-Vendor: RAYTHEON Bundle-Vendor: RAYTHEON
Require-Bundle: org.eclipse.core.runtime, Require-Bundle: org.eclipse.core.runtime,
org.eclipse.ui;bundle-version="3.6.1",
com.raytheon.uf.viz.core;bundle-version="1.12.1174", com.raytheon.uf.viz.core;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.npp.nucaps;bundle-version="1.0.0", com.raytheon.uf.common.dataplugin.npp.nucaps;bundle-version="1.0.0",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174", com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bundle xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<displayList>
<displays xsi:type="mapRenderableDisplay"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<descriptor xsi:type="mapDescriptor">
<resource>
<loadProperties />
<resourceData xsi:type="nucapsSoundingMapResourceData">
<nsharpResourceData>${soundingResourceData}</nsharpResourceData>
<resourceName>${name;Unknown}</resourceName>
<metadataMap>
<mapping key="pluginName">
<constraint constraintValue="${pluginName}"
constraintType="EQUALS" />
</mapping>
</metadataMap>
</resourceData>
</resource>
</descriptor>
</displays>
</displayList>
</bundle>

View file

@ -19,7 +19,7 @@
further_licensing_information. further_licensing_information.
--> -->
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="bundleItem" file="bundles/npp/soundingAvailability.xml" <contribute xsi:type="bundleItem" file="bundles/npp/nucapsAvailability.xml"
menuText="NUCAPS Sounding Availability" id="NUCAPSAvailability"> menuText="NUCAPS Sounding Availability" id="NUCAPSAvailability">
<substitute key="name" value="NUCAPS"/> <substitute key="name" value="NUCAPS"/>
<substitute key="pluginName" value="nucaps"/> <substitute key="pluginName" value="nucaps"/>

View file

@ -0,0 +1,118 @@
package com.raytheon.uf.viz.npp.nucaps.rsc;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.eclipse.swt.graphics.RGB;
import com.raytheon.uf.common.dataplugin.npp.nucaps.NucapsRecord;
import com.raytheon.uf.common.dataplugin.npp.sounding.NPPSoundingRecord;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.viz.core.DrawableCircle;
import com.raytheon.uf.viz.core.IGraphicsTarget;
import com.raytheon.uf.viz.core.drawables.PaintProperties;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.rsc.LoadProperties;
import com.raytheon.uf.viz.npp.sounding.rsc.NPPSoundingMapResource;
import com.raytheon.uf.viz.npp.sounding.rsc.NPPSoundingMapResourceData;
/**
* Sounding available resource. Draws points on map where data is available
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Dec 16, 2015 18191 pwang Initial version.
*
* </pre>
*
* @author pwang
* @version 1.0
*/
public class NucapsSoundingMapResource extends NPPSoundingMapResource {
protected NucapsSoundingMapResource(
NPPSoundingMapResourceData resourceData,
LoadProperties loadProperties) {
super(resourceData, loadProperties);
}
protected NucapsSoundingMapResource(
NucapsSoundingMapResourceData resourceData,
LoadProperties loadProperties) {
super(resourceData, loadProperties);
}
private RGB green = new RGB(0, 255, 0);
private RGB yellow = new RGB(255, 255, 0);
private RGB red = new RGB(255, 0, 0);
private RGB gray = new RGB(190, 190, 190);
/**
* Color code dots base on QC value
*
* @param IGraphicsTarget target,
* PaintProperties paintProps
*/
@Override
protected void paintInternal(IGraphicsTarget target,
PaintProperties paintProps) throws VizException {
DataTime time = paintProps.getDataTime();
if (time == null) {
return;
}
Collection<NPPSoundingRecord> records = getCurrentRecords();
if (records == null) {
return;
}
List<DrawableCircle> circles = new ArrayList<DrawableCircle>(
records.size());
for (NPPSoundingRecord record : records) {
double lat = record.getLatitude();
double lon = record.getLongitude();
double[] pixel = descriptor.worldToPixel(new double[] { lon, lat });
DrawableCircle circle = new DrawableCircle();
circle.setCoordinates(pixel[0], pixel[1]);
circle.screenRadius = getRadius();
circle.numberOfPoints = (int) (circle.screenRadius * 4);
circle.basics.color = getQCColor(record.getPointDataView().getInt(
NucapsRecord.PDV_QUALITY_FLAG));
circle.filled = true;
circles.add(circle);
}
target.drawCircle(circles.toArray(new DrawableCircle[0]));
}
/**
* QC color model: 0: Green, 1/17: Yellow, 9/25: Red, others: Gray
*
* @param qcFlag
* @return RGB color
*/
private RGB getQCColor(int qcFlag) {
switch (qcFlag) {
case 0:
// pass
return green;
case 1:
case 17:
// Partially failed
return yellow;
case 9:
case 25:
// Totally failed
return red;
default:
return gray;
}
}
}

View file

@ -0,0 +1,151 @@
package com.raytheon.uf.viz.npp.nucaps.rsc;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import com.raytheon.uf.common.dataplugin.PluginDataObject;
import com.raytheon.uf.common.dataplugin.annotations.DataURIUtil;
import com.raytheon.uf.common.dataplugin.npp.nucaps.NucapsRecord;
import com.raytheon.uf.common.dataplugin.npp.sounding.NPPSoundingRecord;
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
import com.raytheon.uf.common.pointdata.PointDataContainer;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.time.TimeRange;
import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.viz.core.exception.VizException;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.LoadProperties;
import com.raytheon.uf.viz.npp.sounding.rsc.NPPSoundingMapResourceData;
import com.raytheon.viz.pointdata.PointDataRequest;
/**
* Resource data for availability map of nucaps soundings
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ------- ---------- --------------------------
* Dec 16, 2015 18191 pwang Initial creation. Color code dots base on QC value
*
* </pre>
*
* @author pwang
* @version 1.0
*/
@XmlAccessorType(XmlAccessType.NONE)
public class NucapsSoundingMapResourceData extends NPPSoundingMapResourceData {
private static String PARAM_DATAURI = "dataURI";
/*
* (non-Javadoc)
*
* @see com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData#
* constructResource(com.raytheon.uf.viz.core.rsc.LoadProperties,
* com.raytheon.uf.viz.core.rsc.PluginDataObject[])
*/
@Override
protected AbstractVizResource<?, ?> constructResource(
LoadProperties loadProperties, PluginDataObject[] objects)
throws VizException {
NucapsSoundingMapResource resource = new NucapsSoundingMapResource(this,
loadProperties);
if (objects instanceof PluginDataObject[]) {
resource.addRecords((PluginDataObject[]) objects);
}
return resource;
}
/**
* Get nucaps data
* @param Collection<DataTime> loadSet
*
*/
@Override
protected PluginDataObject[] requestPluginDataObjects(
Collection<DataTime> loadSet) throws VizException {
List<DataTime> timesToLoad = new ArrayList<DataTime>(loadSet);
Collections.sort(timesToLoad);
DataTime first = timesToLoad.get(0);
DataTime last = timesToLoad.get(timesToLoad.size() - 1);
Map<String, RequestConstraint> requestMap = new HashMap<String, RequestConstraint>(
getMetadataMap());
requestMap.put(
"dataTime.refTime",
new RequestConstraint(TimeUtil.formatToSqlTimestamp(first
.getValidPeriod().getStart()), TimeUtil
.formatToSqlTimestamp(last.getValidPeriod().getEnd())));
PluginDataObject[] pdos;
NPPSoundingRecord nsr;
try {
TimeRange tr = first.getValidPeriod();
String[] params = {PARAM_DATAURI, NucapsRecord.PDV_QUALITY_FLAG};
PointDataContainer pdc = PointDataRequest
.requestPointDataAllLevels(tr,
NucapsRecord.PLUGIN_NAME, params, null,
requestMap);
int size = pdc.getCurrentSz();
pdos = new PluginDataObject[size];
for (int i = 0; i < size; ++i) {
nsr = (NPPSoundingRecord)DataURIUtil.createPluginDataObject(pdc.readRandom(i).getString(PARAM_DATAURI));
nsr.setPointDataView(pdc.readRandom(i));
pdos[i] = nsr;
}
} catch (Exception e) {
throw new VizException(e);
}
List<PluginDataObject> finalList = new ArrayList<PluginDataObject>(
pdos != null ? pdos.length : 0);
if (pdos != null) {
for (Object obj : pdos) {
PluginDataObject pdo = (PluginDataObject) obj;
for (DataTime dt : loadSet) {
if (withinRange(dt.getValidPeriod(), pdo.getDataTime())) {
finalList.add(pdo);
break;
}
}
}
}
Collections.sort(finalList, layerComparator);
return finalList.toArray(new PluginDataObject[finalList.size()]);
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
return false;
if (getClass() != obj.getClass())
return false;
NucapsSoundingMapResourceData other = (NucapsSoundingMapResourceData) obj;
if (getNsharpResourceData() == null) {
if (other.getNsharpResourceData() != null)
return false;
} else if (!getNsharpResourceData().equals(other.getNsharpResourceData()))
return false;
if (getResourceName() == null) {
if (other.getResourceName() != null)
return false;
} else if (!getResourceName().equals(other.getResourceName()))
return false;
return true;
}
}

View file

@ -108,7 +108,7 @@ public class NPPSoundingMapResource extends
}); });
} }
Collection<NPPSoundingRecord> getCurrentRecords() { protected Collection<NPPSoundingRecord> getCurrentRecords() {
return groupedRecords.get(descriptor.getTimeForResource(this)); return groupedRecords.get(descriptor.getTimeForResource(this));
} }
@ -189,7 +189,7 @@ public class NPPSoundingMapResource extends
&& getProperties().isVisible(); && getProperties().isVisible();
} }
double getRadius() { protected double getRadius() {
return 5 * getCapability(MagnificationCapability.class) return 5 * getCapability(MagnificationCapability.class)
.getMagnification(); .getMagnification();
} }

View file

@ -104,6 +104,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
* Mar 04, 2015 #15639 zhao Added 'heightHint' to 'Idents' list so GUI won't become too large * Mar 04, 2015 #15639 zhao Added 'heightHint' to 'Idents' list so GUI won't become too large
* Jul 07, 2015 16907 zhao Changed 'ish-' to 'isd-' * Jul 07, 2015 16907 zhao Changed 'ish-' to 'isd-'
* Nov 30, 2015 4834 njensen Remove LocalizationOpFailedException * Nov 30, 2015 4834 njensen Remove LocalizationOpFailedException
* Jan 15, 2016 18482 zhao Add a "Usage" to "Help..."
* *
* </pre> * </pre>
* *
@ -510,7 +511,41 @@ public class ClimateDataMenuDlg extends CaveSWTDialog {
if (mustCreate(usageDlg)) { if (mustCreate(usageDlg)) {
String description = "CLimate Data Update Dialog Help"; String description = "CLimate Data Update Dialog Help";
String helpText = "This dialog is used to create and append climatology data files.\n\nMenu Bar\nFile:\n\tQuit: Close the dialog immediately\n\nCommands:\n\tShow observations history: Opens a graphical display showing the current\n\t\t\t\t\tinventory of climate data available.\n\tUpdate NCDC \"isd\" files: Opens a dialog allowing the user to generate\n\t\t\t\t\tautomated scripts for downloading the Integrated\n\t\t\t\t\tSurface Hourly (ISH) Database.\n\nTools:\n\tPulldown menu consist of the AvnFPS Climate Tools that read the HDF5 climate\n\t\tfiles.\n\nOptions:\n\tAppend: Add new data to existing climate data file\n\tCreate: Generate new climate data files, regardless of whether a file for\n\t\t\tthat site already exists\n\nFields:\n\tSITE ID: Site ID of the site currently selected, or \n\t\t\ta user entered site ID if creating a new data file\n\tMETAR AFOS ID: The AFOS ID used to retrieve location's METAR product for\n\t\t\tuse in AvnFPS's climate Cig/Vis Trend tool.\n\nIdents:\n\tList of current site IDs.\n\nSite info list:\n\tList of IDs and years of data available for each selected site\n\nMonitor area:\n\tArea where all informative messages are displayed.\n\nButtons:\n\n\tAssess Data:\n\tAfter sites are selected, click this to start the creation\n\t\tor append process\n\n\tGenerate Scripts:\n\tGenerate download scripts to retrieve data files from NCDC\n\n\tProcess Data:\n\tIncorporate NCDC data into HDF5 file(s).\n\n\tValidate Data:\n\tTemporarily move newly changed/created files to a location\n\t\tso that AvnFPS climate tools can examine the new climate\n\t\tfile.\n\n\tCommit:\n\tMove newly changed/created files to its permanent location. \n\tClicking this will also generate new station climate qc \n\t\tfiles (files that end in .nc in the data/climate directory)\n\n\tReject:\n\tReject the newly created files in favor of the original file(s),\n\t\tif available. This action deletes newly created files.\n\n\tSave Log:\n\tSave all output in the Monitor area to a file"; String helpText = "This dialog is used to create and append climatology data files.\n\n" +
"Menu Bar\nFile:\n\tQuit: Close the dialog immediately\n\nCommands:\n\tShow " +
"observations history: Opens a graphical display showing the current\n\t\t\t\t\t" +
"inventory of climate data available.\n\tUpdate NCDC \"isd\" files: Opens " +
"a dialog allowing the user to generate\n\t\t\t\t\tautomated scripts for " +
"downloading the Integrated\n\t\t\t\t\tSurface Hourly (ISH) Database.\n\nTools:" +
"\n\tPulldown menu consist of the AvnFPS Climate Tools that read the HDF5 climate\n" +
"\t\tfiles.\n\nOptions:\n\tAppend: Add new data to existing climate data file\n\t" +
"Create: Generate new climate data files, regardless of whether a file for\n\t\t\tthat " +
"site already exists\n\nFields:\n\tSITE ID: Site ID of the site currently selected, " +
"or \n\t\t\ta user entered site ID if creating a new data file\n\tMETAR AFOS ID: " +
"The AFOS ID used to retrieve location's METAR product for\n\t\t\tuse in AvnFPS's " +
"climate Cig/Vis Trend tool.\n\nIdents:\n\tList of current site IDs.\n\nSite info " +
"list:\n\tList of IDs and years of data available for each selected site\n\nMonitor Area:" +
"\n\tArea where all informative messages are displayed.\n\nButtons:\n\n\tAssess Data:" +
"\n\tAfter sites are selected, click this to start the creation\n\t\tor append process" +
"\n\n\tGenerate Scripts:\n\tGenerate download scripts to retrieve data files from NCDC\n\n\t" +
"Process Data:\n\tIncorporate NCDC data into HDF5 file(s).\n\n\tValidate:\n\t" +
"Temporarily move newly changed/created files to a location\n\t\tso that AvnFPS climate " +
"tools can examine the new climate\n\t\tfile.\n\n\tCommit:\n\tMove newly changed/created " +
"files to its permanent location. \n\tClicking this will also generate new station " +
"climate qc \n\t\tfiles (files that end in .nc in the data/climate directory)\n\n\tReject:" +
"\n\tReject the newly created files in favor of the original file(s),\n\t\tif available. " +
"This action deletes newly created files.\n\n\tSave Log:\n\tSave all output in the " +
"Monitor area to a file\n\n\nUsage: \n\n\t(0)\tSelect \"Append\" to update existing climate data " +
"file(s) or \"Create\"\n\t\tto generate new climate data file(s)\n\n\t(1)\tSelect one or more sites " +
"from the \"Idents\" list (to select two or \n\t\tmore sites, hold down the Ctrl key and then " +
"click each site that you \n\t\twant to select)\n\n\t(2)\tClick \"Assess Data\" to start processing; " +
"and then click \"Generate Scripts\" \n\t\tand follow the instructions displayed to generate " +
"a script and use the \n\t\tscript to download data from NCDC and then move the data to " +
"\n\t\t/awips2/edex/data/share/aviation/tmp\n\n\t(3)\tClick \"Process Data\" to incorporate " +
"the data into HDF5 file(s) (this \n\t\tprocess may take a while)\n\n\t(4)\tClick \"Validate\" " +
"and use an AvnFPS climate tool to examine the new climate \n\t\tdata file(s)\n\n\t(5)\tClick " +
"\"Commit\" to accept or \"Reject\" to reject the new climate data file(s)\n\n\t" +
"(6)\tClick \"Save Log\" to save all output in Monitor Area (this step is optional)\n\n\n";
usageDlg = new HelpUsageDlg(shell, description, helpText); usageDlg = new HelpUsageDlg(shell, description, helpText);
usageDlg.open(); usageDlg.open();
} else { } else {

View file

@ -4,15 +4,21 @@
# any purpose. # any purpose.
# #
# Run_NWPS # Run_NWPS
# Description: # Description: AWIPS 2 Version 16.2.1
# #
# This runs a Procedure within the GFE that builds NWPS # This runs a Procedure within the GFE that builds NWPS
# forecast wind grids based on the operational wind forecast grids # forecast wind grids based on the operational wind forecast grids
# and then sends those Wind grids to the NWPS model. # and then sends those Wind grids to the NWPS model.
# #
# Authors: Pablo Santos and Alex Gibbs. # Authors: Pablo Santos, Alex Gibbs, and Joe Maloney.
# #
# Last Modified: 06/16/2015 by AG/PS for AWIPS Baseline. # Last Modified: 01/23/15 by AG/PS for AWIPS Baseline.
# Last Modified: 09/10/15 by Joe Maloney/PS for mulitsite version of NWPS.
# Last Modified: 10/14/15 by Joe Maloney/PS to remove dependancy on cron. Totally on demand by user.
# This means baseline cron entry for nwps will be removed with 16.2.1
# Last Modified: 10/30/15 by Joe Maloney, added -q flags to scp/ssh at end.
# Last Modified: 11/25/15 by Tom LeFebvre, added switch to run tool from a cron or interactively.
# Last Modified: 11/29/15 by P. Santos, completed adding code to enable running Run_NWPS interactively or from a cron.
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# The MenuItems list defines the GFE menu item(s) under which the # The MenuItems list defines the GFE menu item(s) under which the
@ -48,7 +54,7 @@ class Procedure (SmartScript.SmartScript):
timeStrs = [] timeStrs = []
timeList = [] timeList = []
for i in range(0, 7): for i in range(0, 8):
currentTime = startTime + (6 * i) * 3600 - 108000 # 30 hrs currentTime = startTime + (6 * i) * 3600 - 108000 # 30 hrs
strTime = self.fileNameFromIntTime(currentTime) strTime = self.fileNameFromIntTime(currentTime)
timeList.append(currentTime) timeList.append(currentTime)
@ -82,61 +88,87 @@ class Procedure (SmartScript.SmartScript):
return modelTR, minTime, maxTime return modelTR, minTime, maxTime
def execute(self, editArea, timeRange, varDict): def execute(self, editArea, timeRange, varDict):
buttonList, timeList = self.getButtonNames() buttonList, timeList = self.getButtonNames()
GFEDomainname = self.getSiteID()
print "GFEDomain is: ", GFEDomainname
cron = True
if varDict is None: # This means the tool is being run interactively, so make the GUI.
variableList = [
("How Long Do You Want To Run NWPS:" , 102, "scale", [12, 102], 3),
#("NWPS Model Winds:", "ForecastWindGrids", "radio", ["ForecastWindGrids"]),
("Model Start Time:", buttonList[4], "radio", buttonList),
("Local, NCEP, or Both:", "Both", "radio", ["Local","NCEP","Both"]),
("Model Core:", "SWAN", "radio", ["SWAN","NWW","UNSWAN"]),
("Send Output to Web:", "Yes", "radio", ["Yes","No"]),
("Plot Output Only (No Web):", "No", "radio", ["Yes","No"]),
("Boundary Conditions:", "WNAWave", "radio", ["WNAWave", "TAFB-NWPS", "HURWave", "No"]),
("**Boundary Conditions: OPC/TAFB-NWPS: CHECK www.srh.noaa.gov/rtimages/nhc/wfo_boundary_conditions for up to date files for your SITE**\nNOTE: make sure there is a file time stamp online matching your selected Model Start Time","", "label"),
("Run Hi Res NEST:", "Yes", "radio", ["Yes","No"]),
("RTOFS Currents:", "Yes", "radio", ["Yes","No"]),
("Model Time Step:", "600", "radio", ["1200","900","600","300"]),
("Hotstart:", "True", "radio", ["True", "False"]),
("Waterlevels:", "ESTOFS", "radio", ["ESTOFS","PSURGE", "No"]),
("If PSURGE\n% Exceedance Hgt:", "10", "radio", ["10", "20", "30", "40", "50"]),
]
varDict = {}
processVarList = ProcessVariableList.ProcessVariableList("Run_NWPS_Tom", variableList, varDict, None)
status = processVarList.status()
if status != "OK":
return
fcst_length = processVarList.varDict()["How Long Do You Want To Run NWPS:"]
fcstlength = str(fcst_length)
wind="ForecastWindGrids"
modelstarttime = processVarList.varDict()["Model Start Time:"]
wheretorun = processVarList.varDict()["Local, NCEP, or Both:"]
model = processVarList.varDict()["Model Core:"]
web = processVarList.varDict()["Send Output to Web:"]
plot = processVarList.varDict()["Plot Output Only (No Web):"]
wna = processVarList.varDict()["Boundary Conditions:"]
nest = processVarList.varDict()["Run Hi Res NEST:"]
gstream = processVarList.varDict()["RTOFS Currents:"]
tstep = processVarList.varDict()["Model Time Step:"]
hotstart = processVarList.varDict()["Hotstart:"]
waterlevels = processVarList.varDict()["Waterlevels:"]
excd = processVarList.varDict()["If PSURGE\n% Exceedance Hgt:"]
cron = False
# end interactive GUI portion
else:
# This part of if else statement assumes procedure is being run from command
#line with variable list passed on using the -V option to runProcedure. This
#allows to run procedure from a cron. Example default for runProcedure would be:
# All variables shown below passed with -V option are required for procedure to run properly.
# /awips2/GFESuite/bin/runProcedure -n Run_NWPS_Tom -c gfeConfig
# -V '{"fcstlength":"102","wind":"ForecastWindGrids","wheretorun":"NCEP","model":"SWAN","web":"Yes","plot":"Yes","wna":"WNAWave","nest":"Yes","gstream":"Yes","tstep":"600","hotstart":"True","waterlevels":"ESTOFS","excd":"10"}'
# If running from a cron, you do not need to create a SITE level override of this baseline procedure if your input variables
# are different because you pass that on from the command line.
modelstarttime = buttonList[4]
fcstlength = varDict['fcstlength']
wind = varDict['wind']
wheretorun = varDict['wheretorun']
model = varDict['model']
web = varDict['web']
plot = varDict['plot']
wna = varDict['wna']
nest = varDict['nest']
gstream = varDict['gstream']
tstep = varDict['tstep']
hotstart = varDict['hotstart']
waterlevels = varDict['waterlevels']
excd = varDict['excd']
variableList = [
("How Long Do You Want To Run NWPS:" , 102, "scale", [12, 102], 3),
#("NWPS Model Winds:", "ForecastWindGrids", "radio", ["ForecastWindGrids"]),
("Model Start Time:", buttonList[4], "radio", buttonList),
("Local, NCEP, or Both:", "Both", "radio", ["Local","NCEP","Both"]),
("Model Core:", "SWAN", "radio", ["SWAN","NWW","UNSWAN"]),
("Send Output to Web:", "Yes", "radio", ["Yes","No"]),
("Plot Output Only (No Web):", "No", "radio", ["Yes","No"]),
("Boundary Conditions:", "WNAWave", "radio", ["WNAWave", "TAFB-NWPS", "HURWave", "No"]),
("**Boundary Conditions: OPC/TAFB-NWPS: CHECK www.srh.noaa.gov/rtimages/nhc/wfo_boundary_conditions for up to date files for your SITE**\nNOTE: make sure there is a file time stamp online matching your selected Model Start Time","", "label"),
("Run Hi Res NEST:", "Yes", "radio", ["Yes","No"]),
("RTOFS Currents:", "Yes", "radio", ["Yes","No"]),
("Model Time Step:", "600", "radio", ["1200","900","600","300"]),
("Hotstart:", "True", "radio", ["True", "False"]),
("Waterlevels:", "ESTOFS", "radio", ["ESTOFS","PSURGE", "No"]),
("If PSURGE\n% Exceedance Hgt:", "10", "radio", ["10", "20", "30", "40", "50"]),
]
varDict = {}
processVarList = ProcessVariableList.ProcessVariableList("Run_NWPS", variableList, varDict, None)
status = processVarList.status()
if status != "OK":
return
fcst_length = processVarList.varDict()["How Long Do You Want To Run NWPS:"]
wind="ForecastWindGrids"
modelstarttime = processVarList.varDict()["Model Start Time:"]
wheretorun = processVarList.varDict()["Local, NCEP, or Both:"]
model = processVarList.varDict()["Model Core:"]
web = processVarList.varDict()["Send Output to Web:"]
plot = processVarList.varDict()["Plot Output Only (No Web):"]
wna = processVarList.varDict()["Boundary Conditions:"]
nests = processVarList.varDict()["Run Hi Res NEST:"]
stream = processVarList.varDict()["RTOFS Currents:"]
tstep = processVarList.varDict()["Model Time Step:"]
hotstart = processVarList.varDict()["Hotstart:"]
waterlevels = processVarList.varDict()["Waterlevels:"]
excd = processVarList.varDict()["If PSURGE\n% Exceedance Hgt:"]
fcstlength = str(fcst_length)
wind = str(wind)
wna = str(wna)
nest = str(nests)
gstream = str(stream)
waterlevels = str(waterlevels)
excd = str(excd)
modelTR = self.getModelTimeRange("Fcst", "Wind") modelTR = self.getModelTimeRange("Fcst", "Wind")
startHour = modelTR[1] startHour = modelTR[1]
endHour = modelTR[2] endHour = modelTR[2]
timeRange = modelTR[0] timeRange = modelTR[0]
if (modelstarttime == buttonList[0]): if (modelstarttime == buttonList[0]):
starttime=timeList[0] starttime=timeList[0]
elif (modelstarttime == buttonList[1]): elif (modelstarttime == buttonList[1]):
@ -153,31 +185,36 @@ class Procedure (SmartScript.SmartScript):
starttime=timeList[6] starttime=timeList[6]
else: else:
starttime=startHour # Model start Hour if all others empty starttime=startHour # Model start Hour if all others empty
if (startHour > starttime): if (startHour > starttime):
starttime = startHour starttime = startHour
timeRange1 = TimeRange.TimeRange(AbsTime.AbsTime(starttime - 7*24*3600), AbsTime.AbsTime(starttime + 8*24*3600)) timeRange1 = TimeRange.TimeRange(AbsTime.AbsTime(starttime - 7*24*3600), AbsTime.AbsTime(starttime + 8*24*3600))
timeRange2 = TimeRange.TimeRange(AbsTime.AbsTime(starttime), AbsTime.AbsTime(starttime + fcst_length*3600 + 3600)) timeRange2 = TimeRange.TimeRange(AbsTime.AbsTime(starttime), AbsTime.AbsTime(starttime + 8*24*3600))
self.deleteCmd(['NWPSwind'], timeRange1) self.deleteCmd(['NWPSwind'], timeRange1)
databaseID = self.findDatabase("Fcst") databaseID = self.findDatabase("Fcst")
self.copyToCmd([('Wind', 'NWPSwind')], databaseID, timeRange2) self.copyToCmd([('Wind', 'NWPSwind')], databaseID, timeRange2)
self.fragmentCmd(['NWPSwind'], timeRange2) self.fragmentCmd(['NWPSwind'], timeRange2)
self.saveElements(["NWPSwind"]) self.saveElements(["NWPSwind"])
inp_args = fcstlength + ":" + wna + ":" + nest + ":" + gstream + ":" + wind + ":" + web + ":" + plot + ":" + tstep + ":" + hotstart + ":" + waterlevels + ":" + model + ":" + excd + ":" + wheretorun inp_args = fcstlength + ":" + wna + ":" + nest + ":" + gstream + ":" + wind + ":" + web + ":" + plot + ":" + tstep + ":" + hotstart + ":" + waterlevels + ":" + model + ":" + excd + ":" + wheretorun
try: try:
os.stat('/tmp/nwps') os.stat('/tmp/nwps/'+GFEDomainname)
except: except:
os.mkdir('/tmp/nwps') os.makedirs('/tmp/nwps/'+GFEDomainname)
os.chmod('/tmp/nwps',0o777) os.chmod('/tmp/nwps/'+GFEDomainname,0o775)
f = open('/tmp/nwps/inp_args', 'w') with open('/tmp/nwps/'+GFEDomainname+'/inp_args', 'w') as f:
f.write(inp_args) f.write(inp_args)
f.close() os.chmod('/tmp/nwps/'+GFEDomainname+'/inp_args',0o666)
os.chmod('/tmp/nwps/inp_args',0o666)
os.system('ssh -q px2f mkdir -p /awips2/GFESuite/nwps/'+GFEDomainname+'_var')
os.system('scp -rp /tmp/nwps/inp_args px2f:/awips2/GFESuite/nwps/var/') os.system('ssh -q px2f chmod 775 /awips2/GFESuite/nwps/'+GFEDomainname+'_var')
shutil.rmtree('/tmp/nwps') os.system('scp -rpq /tmp/nwps/'+GFEDomainname+'/inp_args px2f:/awips2/GFESuite/nwps/'+GFEDomainname+'_var/')
if cron:
os.system('ssh -q px2f /awips2/GFESuite/nwps/bin/runManualNWPS_OutsideAWIPS.sh '+GFEDomainname)
else:
os.system('xterm -e ssh -q px2f /awips2/GFESuite/nwps/bin/runManualNWPS_OutsideAWIPS.sh '+GFEDomainname)
shutil.rmtree('/tmp/nwps/'+GFEDomainname)

View file

@ -115,7 +115,7 @@ class Procedure (SmartScript.SmartScript):
return trList return trList
# Returns a list of model names matching the specified model name, # Returns a list of database IDs matching the specified model name,
# weather element name and level # weather element name and level
def getModelList(self, modelName, weName, weLevel): def getModelList(self, modelName, weName, weLevel):
modelList = [] modelList = []
@ -126,7 +126,7 @@ class Procedure (SmartScript.SmartScript):
if modelName in dbID.modelName(): if modelName in dbID.modelName():
if weName in pName: if weName in pName:
if weLevel in level: if weLevel in level:
if dbID.modelIdentifier() not in modelList: if dbID not in modelList:
modelList.append(dbID) modelList.append(dbID)
return modelList return modelList

View file

@ -76,6 +76,7 @@
# Sep 16, 2015 4871 randerso Return modified varDict from called Tool/Procedure # Sep 16, 2015 4871 randerso Return modified varDict from called Tool/Procedure
# #
# Sep 11, 2015 4858 dgilling Remove notification processing from publishElements. # Sep 11, 2015 4858 dgilling Remove notification processing from publishElements.
# Jan 20, 2016 4751 randerso Fix type of mask returned from getComposite() to work with numpy 1.9.2
# Jan 28, 2016 5129 dgilling Support changes to IFPClient. # Jan 28, 2016 5129 dgilling Support changes to IFPClient.
######################################################################## ########################################################################
import types, string, time, sys import types, string, time, sys
@ -691,12 +692,12 @@ class SmartScript(BaseTool.BaseTool):
from com.raytheon.uf.common.dataplugin.gfe.slice import ScalarGridSlice from com.raytheon.uf.common.dataplugin.gfe.slice import ScalarGridSlice
slice = ScalarGridSlice() slice = ScalarGridSlice()
bits = self.__dataMgr.getIscDataAccess().getCompositeGrid(gid, exactMatch, slice) bits = self.__dataMgr.getIscDataAccess().getCompositeGrid(gid, exactMatch, slice)
args = (bits.getNDArray(), slice.getScalarGrid().getNDArray()) args = (bits.getNDArray().astype(bool), slice.getScalarGrid().getNDArray())
elif GridType.VECTOR.equals(wxType): elif GridType.VECTOR.equals(wxType):
from com.raytheon.uf.common.dataplugin.gfe.slice import VectorGridSlice from com.raytheon.uf.common.dataplugin.gfe.slice import VectorGridSlice
slice = VectorGridSlice() slice = VectorGridSlice()
bits = self.__dataMgr.getIscDataAccess().getVectorCompositeGrid(gid, exactMatch, slice) bits = self.__dataMgr.getIscDataAccess().getVectorCompositeGrid(gid, exactMatch, slice)
args = (bits.getNDArray(), slice.getMagGrid().getNDArray(), slice.getDirGrid().getNDArray()) args = (bits.getNDArray().astype(bool), slice.getMagGrid().getNDArray(), slice.getDirGrid().getNDArray())
elif GridType.WEATHER.equals(wxType): elif GridType.WEATHER.equals(wxType):
from com.raytheon.uf.common.dataplugin.gfe.slice import WeatherGridSlice from com.raytheon.uf.common.dataplugin.gfe.slice import WeatherGridSlice
slice = WeatherGridSlice() slice = WeatherGridSlice()
@ -704,7 +705,7 @@ class SmartScript(BaseTool.BaseTool):
keys = [] keys = []
for k in slice.getKeys(): for k in slice.getKeys():
keys.append(str(k)) keys.append(str(k))
args = (bits.getNDArray(), slice.getWeatherGrid().getNDArray(), keys) args = (bits.getNDArray().astype(bool), slice.getWeatherGrid().getNDArray(), keys)
elif GridType.DISCRETE.equals(wxType): elif GridType.DISCRETE.equals(wxType):
from com.raytheon.uf.common.dataplugin.gfe.slice import DiscreteGridSlice from com.raytheon.uf.common.dataplugin.gfe.slice import DiscreteGridSlice
slice = DiscreteGridSlice() slice = DiscreteGridSlice()
@ -712,7 +713,7 @@ class SmartScript(BaseTool.BaseTool):
keys = [] keys = []
for k in slice.getKeys(): for k in slice.getKeys():
keys.append(str(k)) keys.append(str(k))
args = (bits.getNDArray(), slice.getDiscreteGrid().getNDArray(), keys) args = (bits.getNDArray().astype(bool), slice.getDiscreteGrid().getNDArray(), keys)
return args return args
## ##
@ -2223,7 +2224,12 @@ class SmartScript(BaseTool.BaseTool):
gridLoc = self.getGridLoc() gridLoc = self.getGridLoc()
nx = gridLoc.getNx().intValue() nx = gridLoc.getNx().intValue()
ny = gridLoc.getNy().intValue() ny = gridLoc.getNy().intValue()
bytes = NumpyJavaEnforcer.checkdTypes(mask, int8)
# force mask to boolean if it's not
mask = NumpyJavaEnforcer.checkdTypes(mask, bool)
# convert boolean mask to bytes for Grid2DBit
bytes = mask.astype(int8)
grid = Grid2DBit.createBitGrid(nx, ny, bytes) grid = Grid2DBit.createBitGrid(nx, ny, bytes)
return ReferenceData(gridLoc, ReferenceID("test"), grid) return ReferenceData(gridLoc, ReferenceID("test"), grid)

View file

@ -180,6 +180,8 @@ import com.raytheon.viz.ui.simulatedtime.SimulatedTimeOperations;
* 12/14/2015 18367 ryu Disable finalization of ETN when product is stored to text database. * 12/14/2015 18367 ryu Disable finalization of ETN when product is stored to text database.
* 12/16/2015 18410 lshi For corrected products, both WMO time and MND time should * 12/16/2015 18410 lshi For corrected products, both WMO time and MND time should
* match the current time * match the current time
* 01/21/2016 18505 lshi Resent product should have same WMO, MND, and segment times
* as original product.
* </pre> * </pre>
* *
* @author lvenable * @author lvenable
@ -1152,8 +1154,8 @@ public class ProductEditorComp extends Composite implements
// prevent the launching of another dialog until the modal dialog is // prevent the launching of another dialog until the modal dialog is
// closed. // closed.
StoreTransmitDlg storeDlg = new StoreTransmitDlg(parent.getShell(), StoreTransmitDlg storeDlg = new StoreTransmitDlg(parent.getShell(),
showStore, this, transmissionCB, pid, showStore, this, transmissionCB, pid, !textComp.isCorMode()
!textComp.isCorMode() && (action == Action.TRANSMIT)); && (action == Action.TRANSMIT));
storeDlg.open(); storeDlg.open();
} }
} }
@ -1205,6 +1207,9 @@ public class ProductEditorComp extends Composite implements
} }
private boolean changeTimes() { private boolean changeTimes() {
if (selectedType == productTypeEnum.res) {
return false;
}
Calendar GMT = Calendar.getInstance(TimeZone.getTimeZone("GMT")); Calendar GMT = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
GMT.setTime(SimulatedTime.getSystemTime().getTime()); GMT.setTime(SimulatedTime.getSystemTime().getTime());
GMT.set(Calendar.SECOND, 0); GMT.set(Calendar.SECOND, 0);
@ -1700,24 +1705,31 @@ public class ProductEditorComp extends Composite implements
selectedType = productTypeEnum.valueOf(val); selectedType = productTypeEnum.valueOf(val);
String txt; String txt;
boolean updateTimes = true;
if (val.charAt(0) == 'A') { if (val.charAt(0) == 'A') {
txt = "UPDATED"; txt = "UPDATED";
} else if (val.charAt(0) == 'R') { } else if (val.charAt(0) == 'R') {
txt = "DELAYED"; txt = "DELAYED";
} else if (val.charAt(0) == 'C') { } else if (val.charAt(0) == 'C') {
txt = "CORRECTED"; txt = "CORRECTED";
} else if (val.equals("res")) { } else if (val.equals("res")) {
txt = "RESENT"; txt = "RESENT";
updateTimes = false;
} else if (val.equals("rou")) { } else if (val.equals("rou")) {
txt = EMPTY; txt = EMPTY;
updateTimes = false;
} else { } else {
return; return;
} }
if (updateTimes) {
updateExpireTimeFromTimer();
}
textComp.startUpdate(); textComp.startUpdate();
textComp.patchMND(txt, true); textComp.patchMND(txt, true);
textComp.updatePType(val); textComp.updatePType(val);
textComp.endUpdate(); textComp.endUpdate();
} }
@ -1792,6 +1804,9 @@ public class ProductEditorComp extends Composite implements
} }
private void setPurgeTime() { private void setPurgeTime() {
if (selectedType == productTypeEnum.res) {
return;
}
Float offset = null; Float offset = null;
if (!editorCorrectionMode) { if (!editorCorrectionMode) {
Object obj = productDefinition.get("purgeTime"); Object obj = productDefinition.get("purgeTime");
@ -1984,13 +1999,14 @@ public class ProductEditorComp extends Composite implements
ProductDataStruct pds = textComp.getProductDataStruct(); ProductDataStruct pds = textComp.getProductDataStruct();
if (pds != null) { if (pds != null) {
// update WMO time // update WMO time
//if (!textComp.isCorMode()) { ## uncomment this if want to keep WMO time original // if (!textComp.isCorMode()) { ## uncomment this if want to
// keep WMO time original
TextIndexPoints pit = pds.getPIT(); TextIndexPoints pit = pds.getPIT();
if (pit != null) { if (pit != null) {
String time = purgeTimeFmt.format(now); String time = purgeTimeFmt.format(now);
textComp.replaceText(pit, time); textComp.replaceText(pit, time);
} }
// } // }
// Update MND time // Update MND time
TextIndexPoints tip = pds.getMndMap().get("nwstime"); TextIndexPoints tip = pds.getMndMap().get("nwstime");
@ -2183,7 +2199,6 @@ public class ProductEditorComp extends Composite implements
*/ */
private void loadPrevious() { private void loadPrevious() {
String initialValue; String initialValue;
textComp.setCorMode(true);
if (!testVTEC) { if (!testVTEC) {
initialValue = "cccnnnxxx"; initialValue = "cccnnnxxx";
@ -2222,7 +2237,7 @@ public class ProductEditorComp extends Composite implements
String product = TextDBUtil.retrieveProduct(pid, operationalMode); String product = TextDBUtil.retrieveProduct(pid, operationalMode);
if ((product != null) && !product.isEmpty()) { if ((product != null) && !product.isEmpty()) {
// add back the new line stripped off by text decoder // add back the new line stripped off by text decoder
setProductText(product + "\n"); setProductText(product + "\n", false);
} }
} else { } else {
devLoad(pid); devLoad(pid);
@ -2232,7 +2247,9 @@ public class ProductEditorComp extends Composite implements
// Enter res mode // Enter res mode
setPTypeCategory(PTypeCategory.PE); setPTypeCategory(PTypeCategory.PE);
textComp.setCorMode(true);
setPurgeTime();
} }
/** /**
@ -2415,7 +2432,7 @@ public class ProductEditorComp extends Composite implements
} }
if (product != null) { if (product != null) {
setProductText(product); setProductText(product, false);
} }
} }

View file

@ -2135,7 +2135,12 @@ public class TimeSeriesDisplayCanvas extends TimeSeriesGraphCanvas implements
TraceData td = graphData.getTraces().get(selectedTraceId); TraceData td = graphData.getTraces().get(selectedTraceId);
TimeSeriesPoint[] pointArray = td.getTsData(); TimeSeriesPoint[] pointArray = null;
if (!zoomed) {
pointArray = td.getTsData();
} else {
pointArray = td.getZoomedTsData();
}
for (int i = 0; i < pointArray.length; i++) { for (int i = 0; i < pointArray.length; i++) {
if (setMissingRect.contains(pointArray[i].getPixelX(), if (setMissingRect.contains(pointArray[i].getPixelX(),

View file

@ -22,11 +22,11 @@ package com.raytheon.viz.hydrobase.data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.hydro.spatial.HRAP;
import com.raytheon.viz.hydrocommon.util.HrapUtil; import com.raytheon.viz.hydrocommon.util.HrapUtil;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory; import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.geom.Polygon; import com.vividsolutions.jts.geom.Polygon;
/** /**
@ -47,18 +47,36 @@ import com.vividsolutions.jts.geom.Polygon;
*/ */
public class HydroGeoProcessor { public class HydroGeoProcessor {
public static GeometryFactory factory = new GeometryFactory(); private final Geometry[][] hrapGeometries;
public HydroGeoProcessor() { /**
* Constructor. Set up the hrapGeometry cache.
*
* @throws Exception
*/
public HydroGeoProcessor() throws Exception {
HRAP hrap = HRAP.getInstance();
Coordinate ll = hrap.getLatLonLL();
Coordinate ur = hrap.getLatLonUR();
Coordinate hrapLL = HrapUtil.latLonToHrap(ll);
Coordinate hrapUR = HrapUtil.latLonToHrap(ur);
int cols = (int) Math.floor(hrapUR.x - hrapLL.x);
int rows = (int) Math.floor(hrapUR.y - hrapLL.y);
hrapGeometries = new Geometry[rows][cols];
} }
public HrapBinList getHrapBinList(GeoAreaData geoData) { /**
* Get the HrapBinList.
*
* @param GeoAreaData
* data for the feature to check
*/
public HrapBinList getHrapBinList(GeoAreaData geoData) throws Exception {
List<Coordinate> coords = getPointsFromArea(geoData); List<Coordinate> coords = getPointsFromArea(geoData);
Coordinate[] minMaxXY = getMinMaxXY(coords); Coordinate[] minMaxXY = getMinMaxXY(coords);
LinearRing lr = factory.createLinearRing(coords Polygon poly = MapUtil.getPolygon(coords.toArray(new Coordinate[0]));
.toArray(new Coordinate[0]));
Polygon poly = factory.createPolygon(lr, null);
Coordinate minC = minMaxXY[0]; Coordinate minC = minMaxXY[0];
Coordinate maxC = minMaxXY[1]; Coordinate maxC = minMaxXY[1];
@ -66,15 +84,10 @@ public class HydroGeoProcessor {
Coordinate hrapMin = HrapUtil.latLonToHrap(minC); Coordinate hrapMin = HrapUtil.latLonToHrap(minC);
Coordinate hrapMax = HrapUtil.latLonToHrap(maxC); Coordinate hrapMax = HrapUtil.latLonToHrap(maxC);
double wfoMinX = hrapMin.x; int maxRow = (int) Math.floor(hrapMax.y);
double wfoMinY = hrapMin.y; int maxCol = (int) Math.floor(hrapMax.x);
double wfoMaxX = hrapMax.x; int minRow = (int) Math.floor(hrapMin.y);
double wfoMaxY = hrapMax.y; int minCol = (int) Math.floor(hrapMin.x);
double maxRow = Math.floor(wfoMaxY);
double maxCol = Math.floor(wfoMaxX);
double minRow = Math.floor(wfoMinY);
double minCol = Math.floor(wfoMinX);
/* expand the box to make sure polygon has been covered */ /* expand the box to make sure polygon has been covered */
minRow -= 2; minRow -= 2;
@ -82,29 +95,36 @@ public class HydroGeoProcessor {
maxRow += 2; maxRow += 2;
maxCol += 2; maxCol += 2;
int rows = maxRow - minRow;
int cols = maxCol - minCol;
int rowCtr = 0; int rowCtr = 0;
double rowNum = 0; int rowNum = 0;
double startCol = 0; int colNum = 0;
double endCol = 0; int startCol = 0;
int endCol = 0;
int binCtr = 0; int binCtr = 0;
double area = 0; double area = 0;
HrapBinList binList = new HrapBinList(); HrapBinList binList = new HrapBinList();
for (double r = minRow + 0.5; r <= maxRow; r++) { // row for (int r = 0; r < rows; r++) {
rowNum = r; rowNum = r + minRow;
startCol = -1; startCol = -1;
colNum = 0;
for (double c = minCol + 0.5; c <= maxCol; c++) { for (int c = 0; c < cols; c++) {
Coordinate coord = new Coordinate(c, r); colNum = c + minCol;
Coordinate gridCell = HrapUtil.hrapToLatLon(coord); Coordinate coord = new Coordinate(colNum, rowNum);
Point p = factory.createPoint(gridCell); if (hrapGeometries[rowNum][colNum] == null) {
if (poly.intersects(p)) { // inside hrapGeometries[rowNum][colNum] = HrapUtil
endCol = c; .getGridCellPolygon(coord);
}
if (poly.intersects(hrapGeometries[rowNum][colNum])) {
endCol = c + cols;
binCtr++; binCtr++;
if (startCol == -1) { if (startCol == -1) {
// First cell in the row // First cell in the row
startCol = c; startCol = c + cols;
rowCtr++; rowCtr++;
} }
area += HrapUtil.getHrapBinArea(coord); area += HrapUtil.getHrapBinArea(coord);
@ -139,13 +159,15 @@ public class HydroGeoProcessor {
for (Coordinate c : coords) { for (Coordinate c : coords) {
if (c.x > maxX) { if (c.x > maxX) {
maxX = c.x; maxX = c.x;
} else if (c.x < minX) { }
if (c.x < minX) {
minX = c.x; minX = c.x;
} }
if (c.y > maxY) { if (c.y > maxY) {
maxY = c.y; maxY = c.y;
} else if (c.y < minY) { }
if (c.y < minY) {
minY = c.y; minY = c.y;
} }
} }

View file

@ -938,12 +938,29 @@ public class ArealDefinitionsDlg extends CaveSWTDialog {
} }
// Load the linesegs table // Load the linesegs table
HydroGeoProcessor proc = new HydroGeoProcessor(); HydroGeoProcessor proc;
try {
proc = new HydroGeoProcessor();
} catch (Exception e) {
statusHandler.error(
"Error initializing the Hydro GeoProcessor", e);
log("Error initializing the Hydro GeoProcessor");
return;
}
if (selectedType != ArealTypeSelection.RESERVOIRS) { if (selectedType != ArealTypeSelection.RESERVOIRS) {
for (GeoAreaData data : geoDataList) { for (GeoAreaData data : geoDataList) {
/* do the main processing */ /* do the main processing */
HrapBinList binList = proc.getHrapBinList(data); HrapBinList binList;
try {
binList = proc.getHrapBinList(data);
} catch (Exception e) {
statusHandler.error("Error processing input data", e);
log("Error processing input data");
return;
}
log("Processing area " + data.getAreaId() + ":" log("Processing area " + data.getAreaId() + ":"
+ " Writing " + binList.getNumRows() + " rows"); + " Writing " + binList.getNumRows() + " rows");
dman.putLineSegs(data.getAreaId(), binList); dman.putLineSegs(data.getAreaId(), binList);

View file

@ -19,74 +19,118 @@
**/ **/
package com.raytheon.viz.hydrocommon.util; package com.raytheon.viz.hydrocommon.util;
import java.awt.Rectangle;
import org.opengis.metadata.spatial.PixelOrientation; import org.opengis.metadata.spatial.PixelOrientation;
import com.raytheon.uf.common.geospatial.MapUtil;
import com.raytheon.uf.common.geospatial.ReferencedCoordinate;
import com.raytheon.uf.common.geospatial.ReferencedObject.Type;
import com.raytheon.uf.common.hydro.spatial.HRAP; import com.raytheon.uf.common.hydro.spatial.HRAP;
import com.raytheon.uf.common.hydro.spatial.HRAPCoordinates;
import com.raytheon.uf.common.hydro.spatial.HRAPSubGrid;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Polygon;
/** /**
* Lat/Lon to HRAP and HRAP to Lat/Lon conversion for HydroBase. * Lat/Lon to HRAP and HRAP to Lat/Lon conversion for HydroBase.
* *
* <pre> * <pre>
* *
* SOFTWARE HISTORY * SOFTWARE HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 15, 2009 2772 mpduff Initial creation * Sep 15, 2009 2772 mpduff Initial creation
* * Jan 07, 2016 5217 mpduff Added getGridCellPolygon and HRAPSubGrid processing.
*
* </pre> * </pre>
* *
* @author mpduff * @author mpduff
* @version 1.0 * @version 1.0
*/ */
public class HrapUtil { public class HrapUtil {
private static final IUFStatusHandler statusHandler = UFStatus
.getHandler(HrapUtil.class);
private static final double NMILE_PER_DEG_LAT = 60; private static final double NMILE_PER_DEG_LAT = 60;
private static final double PI = 3.14159; private static final double PI = 3.14159;
private static final double RAD_PER_DEG = PI/180;
private static final double RAD_PER_DEG = PI / 180;
private static final double KM_PER_NMILE = 1.852; private static final double KM_PER_NMILE = 1.852;
private static final double KM_PER_MILE = 1.609344; private static final double KM_PER_MILE = 1.609344;
private static final double MILES_PER_NMILE = KM_PER_NMILE/KM_PER_MILE;
private static final double MILES_PER_NMILE = KM_PER_NMILE / KM_PER_MILE;
private static HRAPSubGrid subGrid;
/** /**
* Convert a lat/lon set to HRAP coordinates. * Convert a lat/lon set to HRAP coordinates.
* *
* @param latlon * @param latlon
* The latitude/longitude Coordinate * The latitude/longitude Coordinate
* @return * @return HRAP Coordinate
* HRAP Coordinate
*/ */
public static Coordinate latLonToHrap(Coordinate latlon) { public static Coordinate latLonToHrap(Coordinate latlon) {
HRAP hrap = HRAP.getInstance(); HRAP hrap = HRAP.getInstance();
Coordinate gridCoord = null; Coordinate gridCoord = null;
try { try {
gridCoord = hrap.latLonToGridCoordinate(latlon, PixelOrientation.LOWER_LEFT); gridCoord = hrap.latLonToGridCoordinate(latlon,
PixelOrientation.LOWER_LEFT);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return gridCoord; return gridCoord;
} }
/** /**
* Convert an HRAP coordinate to lat/lon. * Convert an HRAP coordinate to lat/lon.
* *
* @param gridCoord * @param gridCoord
* the HRAP Coordinate * the HRAP Coordinate
* @return * @return Coordinate - the lat/lon Coordinate
* Coordinate - the lat/lon Coordinate
*/ */
public static Coordinate hrapToLatLon(Coordinate gridCoord) { public static Coordinate hrapToLatLon(Coordinate gridCoord) {
HRAP hrap = HRAP.getInstance(); HRAP hrap = HRAP.getInstance();
Coordinate latlon = new Coordinate(0,0); Coordinate latlon = new Coordinate(0, 0);
try { try {
latlon = hrap.gridCoordinateToLatLon(gridCoord, PixelOrientation.LOWER_LEFT); latlon = hrap.gridCoordinateToLatLon(gridCoord,
PixelOrientation.LOWER_LEFT);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return latlon; return latlon;
} }
/**
* Get the polygon that covers the HRAP grid cell.
*
* @param gridCoord
* The coordinate of the grid cell
* @return
*/
public static Polygon getGridCellPolygon(Coordinate gridCoord) {
Coordinate[] coors = new Coordinate[5];
coors[0] = getHRAPLatLon(new Coordinate(gridCoord.x, gridCoord.y));
coors[1] = getHRAPLatLon(new Coordinate(gridCoord.x + 1, gridCoord.y));
coors[2] = getHRAPLatLon(new Coordinate(gridCoord.x + 1,
gridCoord.y + 1));
coors[3] = getHRAPLatLon(new Coordinate(gridCoord.x, gridCoord.y + 1));
// complete the square
coors[4] = coors[0];
return MapUtil.getPolygon(coors);
}
/** /**
* compute area of an Hrap bin. * compute area of an Hrap bin.
* *
@ -100,47 +144,94 @@ public class HrapUtil {
* conversion factor to square miles. * conversion factor to square miles.
* *
* @param row * @param row
* The row * The row
* @param col * @param col
* The column * The column
* @return * @return The area
* The area
*/ */
public static double getHrapBinArea(Coordinate coord) { public static double getHrapBinArea(Coordinate coord) {
double area; double area;
double latLength; double latLength;
double lonLength; double lonLength;
double nmileXLength; double nmileXLength;
double nmileYLength; double nmileYLength;
double lat1; double lat1;
double lat2; double lat2;
double lon1; double lon1;
double lon2; double lon2;
/* get lat and lon positions */ /* get lat and lon positions */
Coordinate ll = hrapToLatLon(coord); Coordinate ll = hrapToLatLon(coord);
Coordinate ll2 = hrapToLatLon(new Coordinate(coord.x + 1, coord.y + 1)); Coordinate ll2 = hrapToLatLon(new Coordinate(coord.x + 1, coord.y + 1));
lat1 = ll.y; lat1 = ll.y;
lat2 = ll2.y; lat2 = ll2.y;
lon1 = ll.x; lon1 = ll.x;
lon2 = ll2.x; lon2 = ll2.x;
/* get differences in lat and lon */ /* get differences in lat and lon */
latLength = Math.abs(lat1 - lat2); latLength = Math.abs(lat1 - lat2);
lonLength = Math.abs(lon1 - lon2); lonLength = Math.abs(lon1 - lon2);
/* get the nautical miles from lat and lon lengths */ /* get the nautical miles from lat and lon lengths */
nmileYLength = NMILE_PER_DEG_LAT * latLength; nmileYLength = NMILE_PER_DEG_LAT * latLength;
nmileXLength = lonLength * NMILE_PER_DEG_LAT*(Math.cos(RAD_PER_DEG*((lat1+lat2)/2.0))); nmileXLength = lonLength * NMILE_PER_DEG_LAT
* (Math.cos(RAD_PER_DEG * ((lat1 + lat2) / 2.0)));
/* convert to miles and get the square */
area = (MILES_PER_NMILE * nmileYLength) * /* convert to miles and get the square */
(MILES_PER_NMILE * nmileXLength); area = (MILES_PER_NMILE * nmileYLength)
* (MILES_PER_NMILE * nmileXLength);
return area;
return area;
}
/**
* Get the HRAP subgrid
*
* @param grib
* factor
* @throws Exception
*/
public static HRAPSubGrid getHrapSubGrid() throws Exception {
return getHrapSubGrid(1);
}
/**
* Get the HRAP subgrid
*
* @param grib
* factor
* @throws Exception
*/
public static HRAPSubGrid getHrapSubGrid(int hrapGribFactor)
throws Exception {
if (subGrid == null) {
Rectangle rect = HRAPCoordinates.getHRAPCoordinates();
subGrid = new HRAPSubGrid(rect, hrapGribFactor);
}
return subGrid;
}
/**
* Gets the gribPoint
*
* @param gridPoint
* @return
*/
private static Coordinate getHRAPLatLon(Coordinate gridPoint) {
try {
ReferencedCoordinate rc = new ReferencedCoordinate(gridPoint,
getHrapSubGrid().getHRAP().getGridGeometry(),
Type.GRID_CORNER);
gridPoint = rc.asLatLon();
} catch (Exception e) {
statusHandler.handle(Priority.ERROR,
"Unable translate grid coordinate: " + gridPoint);
}
return gridPoint;
} }
} }

View file

@ -31,8 +31,6 @@ import com.raytheon.viz.mpe.util.EstDailyTStations;
import com.raytheon.viz.mpe.util.EstPartStations; import com.raytheon.viz.mpe.util.EstPartStations;
import com.raytheon.viz.mpe.util.QCStations; import com.raytheon.viz.mpe.util.QCStations;
import com.raytheon.viz.mpe.util.QCTStations; import com.raytheon.viz.mpe.util.QCTStations;
import com.raytheon.viz.mpe.util.ReadPrecipStationList;
import com.raytheon.viz.mpe.util.ReadTemperatureStationList;
/** /**
* TODO Add Description * TODO Add Description
@ -45,6 +43,8 @@ import com.raytheon.viz.mpe.util.ReadTemperatureStationList;
* Mar 31, 2009 snaples Initial creation * Mar 31, 2009 snaples Initial creation
* Feb 5, 2015 17101 snaples Updated max_stations to use size of dqc.precip_stations. * Feb 5, 2015 17101 snaples Updated max_stations to use size of dqc.precip_stations.
* Jun 25, 2015 17397 snaples Removed send_expose in apply_group method to prevent screen from blanking. * Jun 25, 2015 17397 snaples Removed send_expose in apply_group method to prevent screen from blanking.
* Jan 07, 2015 5235 bkowal Do not clear the QC grid after applying a temperature group update.
* Eliminated all warnings.
* *
* </pre> * </pre>
* *
@ -55,28 +55,28 @@ import com.raytheon.viz.mpe.util.ReadTemperatureStationList;
public class GroupEditCalls { public class GroupEditCalls {
private DailyQcUtils dqc = DailyQcUtils.getInstance(); private DailyQcUtils dqc = DailyQcUtils.getInstance();
int group_edit = 0; int group_edit = 0;
int pcpn_day = dqc.pcpn_day; int pcpn_day = DailyQcUtils.pcpn_day;
OtherPrecipOptions opo = new OtherPrecipOptions(); OtherPrecipOptions opo = new OtherPrecipOptions();
int pcpn_time_step = MPEDisplayManager.pcpn_time_step; int pcpn_time_step = MPEDisplayManager.pcpn_time_step;
int pcp_flag = dqc.pcp_flag; int pcp_flag = DailyQcUtils.pcp_flag;
int points_flag = dqc.points_flag; int points_flag = DailyQcUtils.points_flag;
int grids_flag = dqc.grids_flag; int grids_flag = DailyQcUtils.grids_flag;
int map_flag = dqc.map_flag; int map_flag = DailyQcUtils.map_flag;
int pcpn_time = dqc.pcpn_time; int pcpn_time = DailyQcUtils.pcpn_time;
int max_stations = dqc.precip_stations.size(); int max_stations = DailyQcUtils.precip_stations.size();
int max_tstations = dqc.temperature_stations.size(); int max_tstations = DailyQcUtils.temperature_stations.size();
public void apply_group() public void apply_group()
@ -93,10 +93,10 @@ public class GroupEditCalls {
time_pos = 40 + pcpn_day; time_pos = 40 + pcpn_day;
} }
dqc.pcp_in_use[time_pos] = -1; DailyQcUtils.pcp_in_use[time_pos] = -1;
if (dqc.pdata[pcpn_day].used[k] != 0) { if (DailyQcUtils.pdata[pcpn_day].used[k] != 0) {
dqc.pdata[pcpn_day].used[k] = 2; DailyQcUtils.pdata[pcpn_day].used[k] = 2;
} }
} }
@ -115,7 +115,7 @@ public class GroupEditCalls {
time_pos = 40 + pcpn_day; time_pos = 40 + pcpn_day;
} }
if (points_flag == 1 && dqc.pcp_in_use[time_pos] == -1) { if (points_flag == 1 && DailyQcUtils.pcp_in_use[time_pos] == -1) {
k = 0; k = 0;
} else if (points_flag == 1 && grids_flag == -1 && map_flag == -1) { } else if (points_flag == 1 && grids_flag == -1 && map_flag == -1) {
k = 0; k = 0;
@ -142,27 +142,26 @@ public class GroupEditCalls {
*/ */
if (pcpn_day == 0 if (pcpn_day == 0
&& (dqc.curHr00_06 == 1 && (dqc.curHr00_06 == 1 || dqc.curHr06_12 == 1 || dqc.curHr18_00 == 1)) {
|| dqc.curHr06_12 == 1 || dqc.curHr18_00 == 1)) {
} else { } else {
EstDailyStations eds = new EstDailyStations(); EstDailyStations eds = new EstDailyStations();
eds.estimate_daily_stations(pcpn_day, dqc.precip_stations, eds.estimate_daily_stations(pcpn_day, DailyQcUtils.precip_stations,
max_stations); max_stations);
EstPartStations eps = new EstPartStations(); EstPartStations eps = new EstPartStations();
eps.estimate_partial_stations(pcpn_day, eps.estimate_partial_stations(pcpn_day,
dqc.precip_stations, max_stations); DailyQcUtils.precip_stations, max_stations);
} }
QCStations qcs = new QCStations(); QCStations qcs = new QCStations();
qcs.quality_control_stations(pcpn_day, dqc.precip_stations, qcs.quality_control_stations(pcpn_day, DailyQcUtils.precip_stations,
max_stations); max_stations);
CheckConsistency cc = new CheckConsistency(); CheckConsistency cc = new CheckConsistency();
cc.check_consistency(pcpn_day, dqc.precip_stations, cc.check_consistency(pcpn_day, DailyQcUtils.precip_stations,
max_stations); max_stations);
bv.restore_bad_values(pcpn_day, dqc.precip_stations, bv.restore_bad_values(pcpn_day, DailyQcUtils.precip_stations,
max_stations); max_stations);
group_edit = 0; group_edit = 0;
@ -178,45 +177,44 @@ public class GroupEditCalls {
if (pcpn_time_step == 1) { if (pcpn_time_step == 1) {
if (dqc.tdata[pcpn_day].used[4] != 0) { if (DailyQcUtils.tdata[pcpn_day].used[4] != 0) {
dqc.tdata[pcpn_day].used[4] = 2; DailyQcUtils.tdata[pcpn_day].used[4] = 2;
} }
dqc.pcp_in_use[190 + pcpn_day] = -1; DailyQcUtils.pcp_in_use[190 + pcpn_day] = -1;
} }
else if (pcpn_time_step == 2) { else if (pcpn_time_step == 2) {
if (dqc.tdata[pcpn_day].used[5] != 0) { if (DailyQcUtils.tdata[pcpn_day].used[5] != 0) {
dqc.tdata[pcpn_day].used[5] = 2; DailyQcUtils.tdata[pcpn_day].used[5] = 2;
} }
dqc.pcp_in_use[200 + pcpn_day] = -1; DailyQcUtils.pcp_in_use[200 + pcpn_day] = -1;
} }
else { else {
if (dqc.tdata[pcpn_day].used[dqc.pcpn_time] != 0) { if (DailyQcUtils.tdata[pcpn_day].used[DailyQcUtils.pcpn_time] != 0) {
dqc.tdata[pcpn_day].used[dqc.pcpn_time] = 2; DailyQcUtils.tdata[pcpn_day].used[DailyQcUtils.pcpn_time] = 2;
} }
dqc.pcp_in_use[150 + dqc.pcp_flag + 1] = -1; DailyQcUtils.pcp_in_use[150 + DailyQcUtils.pcp_flag + 1] = -1;
} }
// logMessage("start1\n");
if (pcpn_time_step == 1 || pcpn_time_step == 2) { if (pcpn_time_step == 1 || pcpn_time_step == 2) {
for (k = 0; k < 4; k++) { for (k = 0; k < 4; k++) {
time_pos = 150 + pcpn_day * 4 + k; time_pos = 150 + pcpn_day * 4 + k;
dqc.pcp_in_use[time_pos] = -1; DailyQcUtils.pcp_in_use[time_pos] = -1;
if (dqc.tdata[pcpn_day].used[k] != 0) { if (DailyQcUtils.tdata[pcpn_day].used[k] != 0) {
dqc.tdata[pcpn_day].used[k] = 2; DailyQcUtils.tdata[pcpn_day].used[k] = 2;
} }
} }
@ -231,14 +229,14 @@ public class GroupEditCalls {
.toArray(a)); .toArray(a));
if (pcpn_time_step == 0) { if (pcpn_time_step == 0) {
time_pos = 150 + dqc.pcp_flag + 1; time_pos = 150 + DailyQcUtils.pcp_flag + 1;
} else if (pcpn_time_step == 1) { } else if (pcpn_time_step == 1) {
time_pos = 190 + dqc.pcpn_day; time_pos = 190 + DailyQcUtils.pcpn_day;
} else if (pcpn_time_step == 2) { } else if (pcpn_time_step == 2) {
time_pos = 200 + dqc.pcpn_day; time_pos = 200 + DailyQcUtils.pcpn_day;
} }
if (points_flag == 1 && dqc.pcp_in_use[time_pos] == -1) { if (points_flag == 1 && DailyQcUtils.pcp_in_use[time_pos] == -1) {
k = 0; k = 0;
} else if (points_flag == 1 && grids_flag == -1 && map_flag == -1) { } else if (points_flag == 1 && grids_flag == -1 && map_flag == -1) {
k = 0; k = 0;
@ -257,20 +255,19 @@ public class GroupEditCalls {
QcTempOptionsDialog.dataDispCbo.select(k); QcTempOptionsDialog.dataDispCbo.select(k);
BadTValues btv = new BadTValues(); BadTValues btv = new BadTValues();
btv.update_bad_tvalues(dqc.pcpn_day); btv.update_bad_tvalues(DailyQcUtils.pcpn_day);
EstDailyTStations edt = new EstDailyTStations(); EstDailyTStations edt = new EstDailyTStations();
edt.estimate_daily_tstations(dqc.pcpn_day, edt.estimate_daily_tstations(DailyQcUtils.pcpn_day,
dqc.temperature_stations, max_tstations); DailyQcUtils.temperature_stations, max_tstations);
QCTStations qct = new QCTStations(); QCTStations qct = new QCTStations();
qct.quality_control_tstations(dqc.pcpn_day, qct.quality_control_tstations(DailyQcUtils.pcpn_day,
dqc.temperature_stations, max_tstations); DailyQcUtils.temperature_stations, max_tstations);
btv.restore_bad_tvalues(dqc.pcpn_day, btv.restore_bad_tvalues(DailyQcUtils.pcpn_day,
dqc.temperature_stations, max_tstations); DailyQcUtils.temperature_stations, max_tstations);
opo.send_expose();
group_edit = 0; group_edit = 0;
QcTempOptionsDialog.groupEditBtn.setEnabled(true); QcTempOptionsDialog.groupEditBtn.setEnabled(true);

View file

@ -66,6 +66,7 @@ import com.vividsolutions.jts.geom.Coordinate;
* Sep 04, 2014 16699 cgobs Fixed 14.3.1 issue with reading MPE field data. * Sep 04, 2014 16699 cgobs Fixed 14.3.1 issue with reading MPE field data.
* Oct 19, 2015 18090 lbousaidi fixed best estimate qpe display. * Oct 19, 2015 18090 lbousaidi fixed best estimate qpe display.
* Nov 18, 2015 18093 snaples Added selectedGridIndex to maintain selected grid after table refresh. * Nov 18, 2015 18093 snaples Added selectedGridIndex to maintain selected grid after table refresh.
* Jan 13, 2016 18092 snaples Removed redundant call, that resulted in a circle.
* *
* </pre> * </pre>
* *
@ -1217,7 +1218,6 @@ public class GageTableDataManager {
*/ */
public void reloadData() { public void reloadData() {
getTableData(); getTableData();
getTableRowData();
} }
/** /**

View file

@ -20,11 +20,11 @@
package com.raytheon.viz.mpe.ui.dialogs.gagetable; package com.raytheon.viz.mpe.ui.dialogs.gagetable;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container; import java.awt.Container;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.GridBagConstraints; import java.awt.GridBagConstraints;
import java.awt.GridBagLayout; import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets; import java.awt.Insets;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -109,6 +109,7 @@ import com.raytheon.viz.mpe.ui.dialogs.gagetable.xml.GageTableSortType;
* Nov 18, 2015 18093 snaples Fixed GridComboListener to trigger table update when changing compare column. * Nov 18, 2015 18093 snaples Fixed GridComboListener to trigger table update when changing compare column.
* Dec 02, 2015 18094 lbousaidi added the sorting method for multi column sorting. * Dec 02, 2015 18094 lbousaidi added the sorting method for multi column sorting.
* Dec 07, 2015 18137 lbousaidi fixed sorting after editing gages. * Dec 07, 2015 18137 lbousaidi fixed sorting after editing gages.
* Jan 13, 2016 18092 snaples Updated to have column adjustment by drag and drop.
* *
* </pre> * </pre>
* *
@ -208,6 +209,8 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
private final Map<String, GageTableRowData> editMap = new HashMap<String, GageTableRowData>(); private final Map<String, GageTableRowData> editMap = new HashMap<String, GageTableRowData>();
private MPEDisplayManager displayManager; private MPEDisplayManager displayManager;
private GageTableDataManager dataManager;
/** /**
* Constructor. * Constructor.
@ -230,6 +233,8 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
for (String colName : GageTableConstants.BASE_COLUMNS) { for (String colName : GageTableConstants.BASE_COLUMNS) {
baseColumns.add(colName); baseColumns.add(colName);
} }
dataManager = GageTableDataManager.getInstance();
} }
@ -237,8 +242,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
* Open the dialog. * Open the dialog.
*/ */
public void open() { public void open() {
// Instantiate the product and data manager classes
GageTableDataManager dataManager = GageTableDataManager.getInstance();
readSettingsFile(); readSettingsFile();
@ -280,8 +283,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
setLocation(xCoord - (bounds.width / 2), yCoord - (bounds.height / 2)); setLocation(xCoord - (bounds.width / 2), yCoord - (bounds.height / 2));
setVisible(true); setVisible(true);
// tableModel.refreshTable();
displayManager.registerEditTimeChangedListener(this); displayManager.registerEditTimeChangedListener(this);
} }
@ -392,10 +393,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
JMenu fileMenu = new JMenu("File"); JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('F'); fileMenu.setMnemonic('F');
JMenuItem columnSelectionMenuItem = new JMenuItem("Column Selection");
columnSelectionMenuItem.setMnemonic('C');
fileMenu.add(columnSelectionMenuItem);
JMenuItem refreshMenuItem = new JMenuItem("Refresh"); JMenuItem refreshMenuItem = new JMenuItem("Refresh");
refreshMenuItem.setMnemonic('R'); refreshMenuItem.setMnemonic('R');
fileMenu.add(refreshMenuItem); fileMenu.add(refreshMenuItem);
@ -404,9 +401,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
saveSettingsMenuItem.setMnemonic('S'); saveSettingsMenuItem.setMnemonic('S');
fileMenu.add(saveSettingsMenuItem); fileMenu.add(saveSettingsMenuItem);
columnSelectionMenuItem
.addActionListener(new ChangeColumnsDisplayedMenuListener());
RefreshMenuListener RefreshMenuListener = new RefreshMenuListener(); RefreshMenuListener RefreshMenuListener = new RefreshMenuListener();
refreshMenuItem.addActionListener(RefreshMenuListener); refreshMenuItem.addActionListener(RefreshMenuListener);
@ -569,8 +563,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
* Create the JTable. * Create the JTable.
*/ */
private void createJTable(Container container) { private void createJTable(Container container) {
gageTablePanel = new JPanel(); gageTablePanel = new JPanel(new CardLayout());
gageTablePanel.setLayout(new GridLayout(1, 1));
table = null; table = null;
table = new JTable(); table = new JTable();
tableModel = new GageTableModel(); tableModel = new GageTableModel();
@ -624,6 +617,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
constraints.gridwidth = 2; constraints.gridwidth = 2;
constraints.gridheight = 1; constraints.gridheight = 1;
container.add(gageTablePanel, constraints); container.add(gageTablePanel, constraints);
} }
@ -669,86 +663,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
// Scroll the area into view // Scroll the area into view
viewport.setViewPosition(rect.getLocation()); viewport.setViewPosition(rect.getLocation());
} }
/**
* Launch the item selection dialog.
*/
private void launchItemSelectionDlg() {
GageTableProductManager manager = GageTableProductManager.getInstance();
GageTableDataManager dataManager = GageTableDataManager.getInstance();
List<GageTableColumn> availableProductColumnList = new ArrayList<GageTableColumn>();
Map<String, GageTableColumn> prodMap = manager
.getGageTableProductColumnMap();
Set<String> keySet = prodMap.keySet();
Iterator<String> iter = keySet.iterator();
while (iter.hasNext()) {
availableProductColumnList.add(prodMap.get(iter.next()));
}
List<String> availableListItems = new ArrayList<String>();
// Add the non-data columns
String[] baseColumns = GageTableConstants.BASE_COLUMNS;
for (String s : baseColumns) {
availableListItems.add(s);
}
for (GageTableColumn c : availableProductColumnList) {
GageTableProductDescriptor desc = c.getProductDescriptor();
availableListItems.add(desc.getProductName());
}
List<GageTableColumn> selectedProductColumnList = manager
.getSelectedColumns();
String[] selectedListItems = new String[selectedProductColumnList
.size()];
for (int i = 0; i < selectedProductColumnList.size(); i++) {
selectedListItems[i] = selectedProductColumnList.get(i).getName();
}
// Launch the dialog
ItemsSelectionDialog dlg = new ItemsSelectionDialog(
this,
"Gage Table Column Selector",
availableListItems.toArray(new String[availableListItems.size()]),
selectedListItems);
// Get the selected columns for display
String[] selectedColumns = dlg.getSelectedItems();
Map<String, GageTableColumn> colMap = manager
.getGageTableProductColumnMap();
List<GageTableColumn> colList = new ArrayList<GageTableColumn>();
for (int i = 0; i < selectedColumns.length; i++) {
String value = selectedColumns[i];
if (colMap.get(manager.lookupProductPrefix(value)) == null) {
GageTableColumn c = new GageTableColumn(null);
c.setDataColumn(false);
c.setName(value);
colList.add(c);
} else {
GageTableColumn col = colMap.get(manager
.lookupProductPrefix(value));
col.setName(value);
col.setPrefix(manager.lookupProductPrefix(value));
colList.add(col);
}
}
manager.setSelectedColumns(colList);
dataManager.setColumnDataList(colList);
// Fire event to notify listeners of changes
GageTableUpdateEvent event = new GageTableUpdateEvent(this, true);
manager.fireUpdateEvent(event);
}
/** /**
* Read the settings XML file. There is a single file for the site. * Read the settings XML file. There is a single file for the site.
*/ */
@ -986,16 +901,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
} }
} }
/**
* Action listener for the Change Columns Menu item.
*/
private class ChangeColumnsDisplayedMenuListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
launchItemSelectionDlg();
}
}
/** /**
* Action listener for the Grid Combo Box. * Action listener for the Grid Combo Box.
*/ */
@ -1401,6 +1306,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
// Fire event to notify listeners of changes // Fire event to notify listeners of changes
GageTableUpdateEvent event = new GageTableUpdateEvent(this, true); GageTableUpdateEvent event = new GageTableUpdateEvent(this, true);
GageTableProductManager.getInstance().fireUpdateEvent(event); GageTableProductManager.getInstance().fireUpdateEvent(event);
sortAllRowsBy(tableModel, sortColumnIndex, ascending);
} }
/** /**

View file

@ -23,7 +23,7 @@ import java.text.SimpleDateFormat;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.Vector; import java.util.Vector;
import javax.swing.table.AbstractTableModel; import javax.swing.table.DefaultTableModel;
/** /**
* GageTable Dialog table model. * GageTable Dialog table model.
@ -34,6 +34,7 @@ import javax.swing.table.AbstractTableModel;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* May 29, 2009 2476 mpduff Initial creation * May 29, 2009 2476 mpduff Initial creation
* Jan 13, 2016 18092 snaples Updated to use DefaultTableModel instead of Abstract
* *
* </pre> * </pre>
* *
@ -41,7 +42,7 @@ import javax.swing.table.AbstractTableModel;
* @version 1.0 * @version 1.0
*/ */
public class GageTableModel extends AbstractTableModel implements public class GageTableModel extends DefaultTableModel implements
GageTableListener { GageTableListener {
private static final long serialVersionUID = -814822107762024666L; private static final long serialVersionUID = -814822107762024666L;
@ -53,16 +54,22 @@ public class GageTableModel extends AbstractTableModel implements
/** /**
* Row data. * Row data.
*/ */
private Vector<Vector<String>> rows = null; private static Vector<Vector<String>> rows = null;
/** /**
* Column data. * Column data.
*/ */
private Vector<String> columns = null; private static Vector<String> columns = null;
static { static {
sdf = new SimpleDateFormat("yyyyMMddHH"); sdf = new SimpleDateFormat("yyyyMMddHH");
sdf.setTimeZone(TimeZone.getTimeZone("GMT")); sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
GageTableDataManager dataManager = GageTableDataManager.getInstance();
// Get the data
rows = dataManager.getRows();
columns = dataManager.getColumns();
} }
/** /**
@ -72,11 +79,11 @@ public class GageTableModel extends AbstractTableModel implements
GageTableProductManager productManager = GageTableProductManager GageTableProductManager productManager = GageTableProductManager
.getInstance(); .getInstance();
GageTableDataManager dataManager = GageTableDataManager.getInstance(); GageTableDataManager dataManager = GageTableDataManager.getInstance();
productManager.addGageTableListener(this);
// Get the data // Get the data
rows = dataManager.getRows(); rows = dataManager.getRows();
columns = dataManager.getColumns(); columns = dataManager.getColumns();
productManager.addGageTableListener(this);
} }
/** /**
@ -98,8 +105,8 @@ public class GageTableModel extends AbstractTableModel implements
* The new column data * The new column data
*/ */
public void updateData(Vector<Vector<String>> rows, Vector<String> columns) { public void updateData(Vector<Vector<String>> rows, Vector<String> columns) {
this.rows = rows; GageTableModel.rows = rows;
this.columns = columns; GageTableModel.columns = columns;
} }
/** /**
@ -181,7 +188,7 @@ public class GageTableModel extends AbstractTableModel implements
* The Vector of data * The Vector of data
*/ */
public void setDataVector(Vector<Vector<String>> rows) { public void setDataVector(Vector<Vector<String>> rows) {
this.rows = rows; GageTableModel.rows = rows;
} }
/** /**
@ -195,7 +202,7 @@ public class GageTableModel extends AbstractTableModel implements
* @param columns the columns to set * @param columns the columns to set
*/ */
public void setColumns(Vector<String> columns) { public void setColumns(Vector<String> columns) {
this.columns = columns; GageTableModel.columns = columns;
} }
@Override @Override

View file

@ -356,7 +356,7 @@ import com.raytheon.viz.ui.simulatedtime.SimulatedTimeOperations;
* Sep 29 2015 4899 rferrel Do not send product while in operational mode and * Sep 29 2015 4899 rferrel Do not send product while in operational mode and
* simulated time. * simulated time.
* Sep 30, 2015 4860 skorolev Corrected misspelling. * Sep 30, 2015 4860 skorolev Corrected misspelling.
* 07Oct2015 RM 18132 D. Friedman Exlucde certain phensigs from automatic ETN incrementing. * 07Oct2015 RM 18132 D. Friedman Exclude certain phensigs from automatic ETN incrementing.
* Oct 28, 2015 5054 randerso Make Text Editor windows appear on same monitor as the parent. * Oct 28, 2015 5054 randerso Make Text Editor windows appear on same monitor as the parent.
* Removed hard coded offset for window placement. * Removed hard coded offset for window placement.
* Nov 05, 2015 5039 rferrel Prevent wrapping text to a component name line and clean up of streams. * Nov 05, 2015 5039 rferrel Prevent wrapping text to a component name line and clean up of streams.
@ -364,6 +364,9 @@ import com.raytheon.viz.ui.simulatedtime.SimulatedTimeOperations;
* mixed case transmission * mixed case transmission
* 10Dec2015 5206 randerso Replace commas with ellipses only in WarnGen products * 10Dec2015 5206 randerso Replace commas with ellipses only in WarnGen products
* 11Dec2015 RM14752 mgamazaychikov Fix problems with wrapping in the impact section. * 11Dec2015 RM14752 mgamazaychikov Fix problems with wrapping in the impact section.
* 6Jan2016    RM18452   mgamazaychikov Fix NPE for null product in enterEditor
* 06Jan2016 5225 randerso Fix problem with mixed case not getting converted to upper case
* when multiple text editors are open on the same product.
* *
* </pre> * </pre>
* *
@ -4248,7 +4251,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
// if product is a WarnGen product and is not enabled for mixed case // if product is a WarnGen product and is not enabled for mixed case
// transmission, replace all commas with ellipses // transmission, replace all commas with ellipses
if (warngenPils.contains(product.getNnnid()) if ((product != null) && warngenPils.contains(product.getNnnid())
&& !MixedCaseProductSupport.isMixedCase(product.getNnnid())) { && !MixedCaseProductSupport.isMixedCase(product.getNnnid())) {
textEditor.setText(textEditor.getText() textEditor.setText(textEditor.getText()
.replaceAll(", {0,1}", "...")); .replaceAll(", {0,1}", "..."));
@ -4394,11 +4397,11 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
textEditor.setText(originalText); textEditor.setText(originalText);
} }
// if product is not enabled for mixed case transmission, // if product is a WarnGen product and is not enabled for mixed case
// replace all commas with ellipses // transmission, replace all commas with ellipses
StdTextProduct product = TextDisplayModel.getInstance() StdTextProduct product = TextDisplayModel.getInstance()
.getStdTextProduct(token); .getStdTextProduct(token);
if ((product != null) if ((product != null) && warngenPils.contains(product.getNnnid())
&& !MixedCaseProductSupport.isMixedCase(product.getNnnid())) { && !MixedCaseProductSupport.isMixedCase(product.getNnnid())) {
textEditor.setText(textEditor.getText() textEditor.setText(textEditor.getText()
.replaceAll(", {0,1}", "...")); .replaceAll(", {0,1}", "..."));
@ -5100,7 +5103,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
try { try {
updateTextEditor(body); updateTextEditor(body);
if ((inEditMode || resend) if ((inEditMode || resend)
&& saveEditedProduct(false, resend, true)) { && saveEditedProduct(prod, false, resend, true)) {
inEditMode = false; inEditMode = false;
} }
if (!resend) { if (!resend) {
@ -5152,9 +5155,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
updateTextEditor(copyEtn(prod.getProduct(), body)); updateTextEditor(copyEtn(prod.getProduct(), body));
} }
String product = TextDisplayModel.getInstance().getProduct( String product = prod.getProduct();
token);
OUPRequest req = createOUPRequest(prod, product); OUPRequest req = createOUPRequest(prod, product);
if (notify != null) { if (notify != null) {
@ -5184,7 +5185,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
} }
updateTextEditor(body); updateTextEditor(body);
if ((inEditMode || resend) if ((inEditMode || resend)
&& saveEditedProduct(false, resend, false)) { && saveEditedProduct(prod, false, resend, false)) {
inEditMode = false; inEditMode = false;
} }
SendPracticeProductRequest req = new SendPracticeProductRequest(); SendPracticeProductRequest req = new SendPracticeProductRequest();
@ -5348,7 +5349,7 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
userInformation("This product MUST be edited in GFE! \n Please exit and return to GFE. \n Action Aborted!"); userInformation("This product MUST be edited in GFE! \n Please exit and return to GFE. \n Action Aborted!");
return; return;
} }
boolean successful = saveEditedProduct(false, false, false); boolean successful = saveEditedProduct(product, false, false, false);
if (successful) { if (successful) {
// reset the editor status flags // reset the editor status flags
saved = true; saved = true;
@ -5363,17 +5364,19 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
/** /**
* Saves the edited product. * Saves the edited product.
* *
* @param product
* StdTextProduct to be saved
* @param isAutoSave * @param isAutoSave
* true if auto save operation * true if auto save operation
* @param resend * @param resend
* true if product is to be resent * true if product is to be resent
* @param isOperationalSend
* true if operational send
* *
* @return true is the save was successful * @return true is the save was successful
*/ */
synchronized private boolean saveEditedProduct(boolean isAutoSave, synchronized private boolean saveEditedProduct(StdTextProduct product,
boolean resend, boolean isOperationalSend) { boolean isAutoSave, boolean resend, boolean isOperationalSend) {
StdTextProduct product = TextDisplayModel.getInstance()
.getStdTextProduct(token);
if ((product != null) if ((product != null)
&& gfeForbidden(product.getCccid(), product.getNnnid())) { && gfeForbidden(product.getCccid(), product.getNnnid())) {
// Pop up forbidden window. // Pop up forbidden window.
@ -7523,7 +7526,11 @@ public class TextEditorDialog extends CaveSWTDialog implements VerifyListener,
public void run() { public void run() {
if (!shell.isDisposed()) { if (!shell.isDisposed()) {
if (autoSave == AutoSaveTask.this) { if (autoSave == AutoSaveTask.this) {
saveEditedProduct(true, false, false); StdTextProduct product = TextDisplayModel
.getInstance().getStdTextProduct(
token);
saveEditedProduct(product, true, false,
false);
} }
} }
} }

View file

@ -62,7 +62,8 @@ import com.raytheon.viz.texteditor.util.VtecUtil;
* that has no word County/Parish/Municipality in it. * that has no word County/Parish/Municipality in it.
* 13 MAY 2014 17177 Qinglu Lin Updated runQC(). * 13 MAY 2014 17177 Qinglu Lin Updated runQC().
* 15 SEP 2014 529 mgamazaychikov Create firstBulletImmediateCauseQCExclusions list and add IC to it. * 15 SEP 2014 529 mgamazaychikov Create firstBulletImmediateCauseQCExclusions list and add IC to it.
* 29 MAY 2015 4441 randerso Fixed QC to work with mixed case * 29 MAY 2015 4441 randerso Fixed QC to work with mixed case
* 24 NOV 2015 DR 17501 dhuffman Added lookaheads to ugc pattern to remove the telephone number special case.
* *
* </pre> * </pre>
* *
@ -71,7 +72,7 @@ import com.raytheon.viz.texteditor.util.VtecUtil;
public class TextSegmentCheck implements IQCCheck { public class TextSegmentCheck implements IQCCheck {
private static final Pattern ugcPtrn = Pattern private static final Pattern ugcPtrn = Pattern
.compile("(((\\w{2}[CZ](\\d{3}-){1,}){1,})|(\\d{3}-){1,})(((\\d{2})(\\d{2})(\\d{2})-){0,1})"); .compile("(^(?!\\d{3}-\\d{4}[^-]*)^(?!\\d{3}-\\d{3}-\\d{4}[^-]*)(((\\w{2}[CZ](\\d{3}-){1,}){1,})|(\\d{3}-){1,})(((\\d{2})(\\d{2})(\\d{2})-){0,1}))");
private static Map<String, List<String>> bulletTypeMaps; private static Map<String, List<String>> bulletTypeMaps;
static { static {

View file

@ -99,4 +99,6 @@
<vbSource key="NCOM-HAWAII" category="Volume/NCOM" views="PLANVIEW TIMESERIES" /> <vbSource key="NCOM-HAWAII" category="Volume/NCOM" views="PLANVIEW TIMESERIES" />
<vbSource key="NCOM-SOCAL" category="Volume/NCOM" views="PLANVIEW TIMESERIES" /> <vbSource key="NCOM-SOCAL" category="Volume/NCOM" views="PLANVIEW TIMESERIES" />
<vbSource key="NCOM-USEAST" category="Volume/NCOM" views="PLANVIEW TIMESERIES" /> <vbSource key="NCOM-USEAST" category="Volume/NCOM" views="PLANVIEW TIMESERIES" />
</vbSourceList> <vbSource key="GEFS" name="GEFS" category="Ensemble" views="PLANVIEW TIMESERIES" />
<vbSource key="SREF212" name="SREF" category="Ensemble" views="PLANVIEW TIMESERIES"/>
</vbSourceList>

View file

@ -97,6 +97,7 @@ import com.vividsolutions.jts.precision.SimpleGeometryPrecisionReducer;
* 09/22/2015 DR 18033 Qinglu Lin Updated removeOverlaidLinesegments(), removed one computeSlope(). * 09/22/2015 DR 18033 Qinglu Lin Updated removeOverlaidLinesegments(), removed one computeSlope().
* 12/09/2015 DR 18209 D. Friedman Support cwaStretch. * 12/09/2015 DR 18209 D. Friedman Support cwaStretch.
* 12/21/2015 DCS 17942 D. Friedman Support extension area. Work around glitch in contour adjustment. * 12/21/2015 DCS 17942 D. Friedman Support extension area. Work around glitch in contour adjustment.
* 01/11/2016 DR 18474 D. Friedman Do not allow expansion of polygon into extension area on followup.
* </pre> * </pre>
* *
* @author mschenke * @author mschenke
@ -141,8 +142,12 @@ public class PolygonUtil {
Polygon oldWarningPolygon, boolean cwaStretch) Polygon oldWarningPolygon, boolean cwaStretch)
throws VizException { throws VizException {
float[][] contourAreaData = toFloatData(origWarningArea); float[][] contourAreaData = toFloatData(origWarningArea);
if (extensionArea != null) if (extensionArea != null) {
if (oldWarningPolygon != null) {
extensionArea = GeometryUtil.intersection(extensionArea, oldWarningPolygon);
}
toFloatData(extensionArea, contourAreaData); toFloatData(extensionArea, contourAreaData);
}
/* /*
* If we have an oldWarningPolygon, we can take a shortcut and see if * If we have an oldWarningPolygon, we can take a shortcut and see if

View file

@ -810,7 +810,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
private class ExtensionAreaManager extends Job implements IChangeListener { private class ExtensionAreaManager extends Job implements IChangeListener {
private ExtensionAreaOptions options = new ExtensionAreaOptions(); private ExtensionAreaOptions options = new ExtensionAreaOptions();
private WritableValue observableOptions = new WritableValue(options, null); private WritableValue observableOptions;
private GeospatialDataAccessor primaryGDA; private GeospatialDataAccessor primaryGDA;
private GeospatialDataAccessor gda; private GeospatialDataAccessor gda;
@ -821,7 +821,6 @@ public class WarngenLayer extends AbstractStormTrackResource {
public ExtensionAreaManager() { public ExtensionAreaManager() {
super("Generate extension area"); super("Generate extension area");
observableOptions.addChangeListener(this);
} }
public GeospatialDataAccessor getGDA() { public GeospatialDataAccessor getGDA() {
@ -836,8 +835,16 @@ public class WarngenLayer extends AbstractStormTrackResource {
return options.isEnabled() && options.getDistance() > 0.0; return options.isEnabled() && options.getDistance() > 0.0;
} }
public void setExtensionAreaConfig(ExtensionArea extensionAreaConfig) { public synchronized void setExtensionAreaConfig(ExtensionArea extensionAreaConfig) {
observableOptions.setValue(new ExtensionAreaOptions(extensionAreaConfig)); /* This could be called from a thread other than the main, before
* observable options has been initialized.
*/
ExtensionAreaOptions options = new ExtensionAreaOptions(extensionAreaConfig);
if (observableOptions != null) {
observableOptions.setValue(options);
} else {
realizeOptions(options);
}
} }
private void realizeOptions(ExtensionAreaOptions options) { private void realizeOptions(ExtensionAreaOptions options) {
@ -969,16 +976,23 @@ public class WarngenLayer extends AbstractStormTrackResource {
} }
@Override @Override
public void handleChange(ChangeEvent event) { public synchronized void handleChange(ChangeEvent event) {
ExtensionAreaOptions options = (ExtensionAreaOptions) ((WritableValue) event ExtensionAreaOptions options = (ExtensionAreaOptions) ((WritableValue) event
.getObservable()).getValue(); .getObservable()).getValue();
realizeOptions(options != null ? options : new ExtensionAreaOptions()); realizeOptions(options != null ? options : new ExtensionAreaOptions());
} }
public synchronized WritableValue getObservableExtensionAreaOptions() {
if (observableOptions == null) {
observableOptions = new WritableValue(options, null);
observableOptions.addChangeListener(this);
}
return observableOptions;
}
} }
public WritableValue getObservableExtensionAreaOptions() { public WritableValue getObservableExtensionAreaOptions() {
return extensionAreaManager.observableOptions; return extensionAreaManager.getObservableExtensionAreaOptions();
} }
private class ExtensionAreaGeometryTask implements Callable<Geometry> { private class ExtensionAreaGeometryTask implements Callable<Geometry> {
@ -1216,13 +1230,6 @@ public class WarngenLayer extends AbstractStormTrackResource {
setSpeedAndAngle(); setSpeedAndAngle();
setDuration(); setDuration();
observableExtensionAreaVisible.addChangeListener(new IChangeListener() {
@Override
public void handleChange(ChangeEvent event) {
issueRefresh();
}
});
} }
@Override @Override
@ -1470,7 +1477,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
} }
} }
if ((Boolean) observableExtensionAreaVisible.getValue()) { if ((Boolean) getObservableExtensionAreaVisible().getValue()) {
if (extensionAreaVis != null) { if (extensionAreaVis != null) {
extensionAreaShadedShape.reset(); extensionAreaShadedShape.reset();
JTSCompiler comp = new JTSCompiler(extensionAreaShadedShape, null, descriptor); JTSCompiler comp = new JTSCompiler(extensionAreaShadedShape, null, descriptor);
@ -1663,7 +1670,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
private Geometry extensionAreaVis; private Geometry extensionAreaVis;
private WritableValue observableExtensionAreaVisible = new WritableValue(false, null); private WritableValue observableExtensionAreaVisible;
private RGB extensionAreaVisualizationColor = new RGB(240, 128, 128); private RGB extensionAreaVisualizationColor = new RGB(240, 128, 128);
@ -1672,15 +1679,24 @@ public class WarngenLayer extends AbstractStormTrackResource {
private IShadedShape extensionAreaShadedShape = null; private IShadedShape extensionAreaShadedShape = null;
public WritableValue getObservableExtensionAreaVisible() { public WritableValue getObservableExtensionAreaVisible() {
if (observableExtensionAreaVisible == null) {
observableExtensionAreaVisible = new WritableValue(false, null);
observableExtensionAreaVisible.addChangeListener(new IChangeListener() {
@Override
public void handleChange(ChangeEvent event) {
issueRefresh();
}
});
}
return observableExtensionAreaVisible; return observableExtensionAreaVisible;
} }
public boolean isExtensionAreaVisible() { public boolean isExtensionAreaVisible() {
return (Boolean) observableExtensionAreaVisible.getValue(); return (Boolean) getObservableExtensionAreaVisible().getValue();
} }
public void setExtensionAreaVisualized(boolean visible) { public void setExtensionAreaVisualized(boolean visible) {
observableExtensionAreaVisible.setValue(visible); getObservableExtensionAreaVisible().setValue(visible);
} }
public RGB getExtensionAreaVisualizationColor() { public RGB getExtensionAreaVisualizationColor() {

View file

@ -0,0 +1,76 @@
#!/awips2/python/bin/python
# AWIPS2 #5252
# Looks for configurations with GFSPostProcessor, and if found, removes that processor.
# If GFSPostProcessor is the only processor defined, the whole postProcessedModel is removed,
# with a comment stating so.
import xml.etree.ElementTree as ET
import sys
# http://effbot.org/zone/element-pi.htm
# Custom XMLTreeBuilder to preserve comments when parsing
class CommentParser(ET.XMLTreeBuilder):
def __init__(self):
ET.XMLTreeBuilder.__init__(self)
# assumes ElementTree 1.2.X
self._parser.CommentHandler = self.handle_comment
self._parser.ProcessingInstructionHandler = self.handle_pi
def close(self):
return ET.XMLTreeBuilder.close(self)
def handle_comment(self, data):
self._target.start(ET.Comment, {})
self._target.data(data)
self._target.end(ET.Comment)
def handle_pi(self, target, data):
self._target.start(ET.PI, {})
self._target.data(target + " " + data)
self._target.end(ET.PI)
def parse(source):
return ET.parse(source, CommentParser())
if len(sys.argv) != 3: # this script is sys.argv[0]
print "Error. Expected two file names as arguments. Received " + str(sys.argv[1:])
sys.exit(1)
tree = ET.parse(sys.argv[1], CommentParser())
if not tree:
print "Could not parse " + sys.argv[1]
sys.exit(1)
root = tree.getroot()
if root.tag != "postProcessedModels":
print "Root element is not postProcessedModels. Found " + root.tag
sys.exit(1)
i=0
for ppm in root:
# only care about postProcessedModel tags, but want the index to insert a
# comment when a whole block postProcessedModel block is removed.
if ppm.tag == "postProcessedModel":
prev = ppm
for pn in ppm:
#only care about processorName tags
if pn.tag == "processorName" and pn.text.find("GFSPostProcessor") >= 0:
ppm.remove(pn)
prev.tail = pn.tail
else:
prev = pn
if len(ppm.findall("processorName")) == 0:
# if this postProcessedModel doesn't have any configured processors, remove it.
root.remove(ppm)
modelName = ppm.findtext("modelName", default=" A postProcessedModel block").replace("--","- -").strip()
comment = ET.Comment(" " + modelName + " was removed because its only processor, GFSPostProcessor, is OBE. ")
comment.tail = ppm.tail
root.insert(i, comment)
i+=1
tree.write(sys.argv[2])

View file

@ -0,0 +1,38 @@
#!/bin/bash
# AWIPS2 #5252
# Looks for postProcessedModels.xml localization files with GFSPostProcessor,
# and if found, removes that processor. If GFSPostProcessor is the only processor
# defined for a model, the whole postProcessedModel block is removed and a comment
# stating so is added.
for file in `find /awips2/edex/data/utility/edex_static/ -name postProcessedModels.xml`
do
level=`echo $file | cut -f 7 -d '/'`
if [ $level != 'base' ] # base is assumed to be correct as deployed.
then
if grep -q -- 'processorName>\s*GFSPostProcessor' $file
then
echo "Updating $file"
newFile="${file}_`date +%s`.dr5252"
# Offload xml processing to python. Output will be written to $newFile
python removeGFSPostProcessor.py "${file}" "${newFile}"
if [ -s $newFile ]
then
chmod --reference=$file $newFile
chown --reference=$file $newFile
mv $newFile $file
else
echo "Failed to update $file"
if [ -e $newFile ]
then
rm $newFile
fi
fi
else
echo "Skipping $file - no changes needed."
fi
fi
done

View file

@ -75,6 +75,7 @@
# 10/30/2015 #17940 jendrowski Responded to Code Review. Mostly syntactical changes. # 10/30/2015 #17940 jendrowski Responded to Code Review. Mostly syntactical changes.
# 11/05/2015 #18182 ryu Change D2DDBVERSIONS value for HPCERP to 24 # 11/05/2015 #18182 ryu Change D2DDBVERSIONS value for HPCERP to 24
# #
# 12/22/2015 #14152 jwatson Added Sky, Wind to GFSLAMPGrid parms
#################################################################################################### ####################################################################################################
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -127,15 +128,7 @@ class dbConfig(object):
if "D2DMODELS" in dbConfigDict: if "D2DMODELS" in dbConfigDict:
self.D2DMODELS.append((dbConfigDict["D2DMODELS"],modelname)) self.D2DMODELS.append((dbConfigDict["D2DMODELS"],modelname))
if "INITMODULES" in dbConfigDict: if "INITMODULES" in dbConfigDict:
# Find if the model is used in any currently defined INITMODULES
entry=next((x for x in self.INITMODULES.iteritems() if len(x[1])==1 and modelname in x[1]),None)
if entry is not None:
del self.INITMODULES[entry[0]]
if type(dbConfigDict["INITMODULES"]) is tuple: if type(dbConfigDict["INITMODULES"]) is tuple:
for mname in dbConfigDict["INITMODULES"][1]:
entry=next((x for x in self.INITMODULES.iteritems() if len(x[1])==1 and mname in x[1]),None)
if entry is not None:
del self.INITMODULES[entry[0]]
self.INITMODULES[dbConfigDict["INITMODULES"][0]] = dbConfigDict["INITMODULES"][1] self.INITMODULES[dbConfigDict["INITMODULES"][0]] = dbConfigDict["INITMODULES"][1]
else: else:
self.INITMODULES[dbConfigDict["INITMODULES"]]=[modelname] self.INITMODULES[dbConfigDict["INITMODULES"]]=[modelname]
@ -444,6 +437,7 @@ def printServerConfig(moduleObj,localsDict, logFile="/awips2/edex/logs/localConf
"ExtraWEPrecision", "INITSKIPS", "ExtraWEPrecision", "INITSKIPS",
"HazardKeys", "HazardKeys",
"MAX_USER_BACKGROUND_PROCESSES", "MAX_USER_BACKGROUND_PROCESSES",
"AdditionalISCRouting",
] ]
for item in scvars: for item in scvars:
@ -527,7 +521,10 @@ def printModelDict(localsDict):
m=si[6:] m=si[6:]
entry=(si,ml) entry=(si,ml)
if m in modelDict: if m in modelDict:
modelDict[m]['INITMODULES']=entry # If a model has multiple SmartInit modules, try to best match which
# Smartinit module to assign to the model.
if 'INITMODULES' not in modelDict[m] or m in si:
modelDict[m]['INITMODULES']=entry
else: else:
modelDict[m]={'INITMODULES':entry} modelDict[m]={'INITMODULES':entry}
@ -657,7 +654,7 @@ for r in siteRegion:
myRegion=r myRegion=r
break break
groups['powt']=siteRegion['CR'] groups['powt']=list(siteRegion['CR'])
groups['marineSites']=["CAR","GYX","BOX","OKX","PHI","LWX","AKQ","MHX","ILM","CHS", groups['marineSites']=["CAR","GYX","BOX","OKX","PHI","LWX","AKQ","MHX","ILM","CHS",
"BRO","CRP","HGX","LCH","LIX","MOB","TAE","TBW","KEY","MFL", "BRO","CRP","HGX","LCH","LIX","MOB","TAE","TBW","KEY","MFL",
"MLB","JAX","SJU", "MLB","JAX","SJU",
@ -3016,7 +3013,7 @@ ENPwave_parms = [([WindWaveHeight, WaveHeight, SurfHeight, Wind], TC6),
([Swell, Swell2, Period, Period2], TC6)] ([Swell, Swell2, Period, Period2], TC6)]
# GFSLAMPGrid # GFSLAMPGrid
GFSLAMPGridPARMS=[([Temp, Td, Vis, CigHgt],TC1)] GFSLAMPGridPARMS=[([Temp, Td, Vis, CigHgt, Sky, Wind],TC1)]
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# Databases for a site. # Databases for a site.
@ -3108,13 +3105,6 @@ if type(REQUESTED_ISC_PARMS) is list and not "NewTopo" in REQUESTED_ISC_PARMS:
REQUESTED_ISC_PARMS.append("NewTopo") REQUESTED_ISC_PARMS.append("NewTopo")
ISCPARMS.append(([NewTopo], Persistent)) ISCPARMS.append(([NewTopo], Persistent))
for entry in AdditionalISCRouting:
(parmList, dbName, editAreaPrefix) = entry
parmList = list(parmList)
addedIscDbDefinition = (dbName, ) + ISC[1:]
addedIscParms = [(parmList, TC1)]
DATABASES.append((addedIscDbDefinition, addedIscParms))
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# #
@ -3256,6 +3246,13 @@ DATABASES.append((Practice, modelDict['Fcst']['Parms'])),
DATABASES.append((TestFcst, modelDict['Fcst']['Parms'])), DATABASES.append((TestFcst, modelDict['Fcst']['Parms'])),
DATABASES.append((Test, modelDict['Fcst']['Parms'])), DATABASES.append((Test, modelDict['Fcst']['Parms'])),
for entry in AdditionalISCRouting:
(parmList, dbName, editAreaPrefix) = entry
parmList = list(parmList)
addedIscDbDefinition = (dbName, ) + ISC[1:]
addedIscParms = [(parmList, TC1)]
DATABASES.append((addedIscDbDefinition, addedIscParms))
# Intersite coordination database parameter groupings, based on # Intersite coordination database parameter groupings, based on
# OFFICIALDBS, but time constraint is always TC1 # OFFICIALDBS, but time constraint is always TC1
for wes, tc in (OFFICIALDBS + localISCParms): for wes, tc in (OFFICIALDBS + localISCParms):

View file

@ -217,4 +217,19 @@
<level>FHAG2</level> <level>FHAG2</level>
</levels> </levels>
</gridParameterInfo> </gridParameterInfo>
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
<short_name>wgs</short_name>
<long_name>Wind Gusts</long_name>
<units>m/s</units>
<udunits>meter/sec</udunits>
<uiname>windGusts</uiname>
<valid_range>0</valid_range>
<valid_range>150.0</valid_range>
<fillValue>-999999.0</fillValue>
<n3D>0</n3D>
<levelsDesc>FHAG 10</levelsDesc>
<levels>
<level>FHAG10</level>
</levels>
</gridParameterInfo>
</gridParamInfo> </gridParamInfo>

View file

@ -2,7 +2,7 @@
# This file contains entries for the 2.5km Gridded LAMP database initialization. # This file contains entries for the 2.5km Gridded LAMP database initialization.
# #
# Author: Joshua Watson Created: 09/28/2011 # Author: Joshua Watson Created: 09/28/2011
# ERH Last Modified: 12/12/2014 # ERH Last Modified: 12/22/2015
# #
################################################################################ ################################################################################
@ -26,6 +26,14 @@ class GFSLAMPGridForecaster(Forecaster):
def calcTd(self, dpt_FHAG2): def calcTd(self, dpt_FHAG2):
return self.KtoF(dpt_FHAG2) return self.KtoF(dpt_FHAG2)
def calcSky(self, tcc_SFC):
return clip(tcc_SFC, 0, 100)
del calcWind(self, wd_FHAG10, ws_FHAG10):
spd = self.convertMsecToKts(ws_FHAG10)
dir = wd_FHAG10
return (spd, dir)
################################################################################ ################################################################################
# Set this file up to run with SmartInitialization # Set this file up to run with SmartInitialization

View file

@ -1,9 +1,9 @@
from Init import * from Init import *
import os import os
class nwpsTrkngCG0Forecaster(Forecaster): class nwpsTrkngCG0localForecaster(Forecaster):
def __init__(self): def __init__(self):
Forecaster.__init__(self, "nwpsTrkngCG0", "nwpsTrkngCG0") Forecaster.__init__(self, "nwpsTrkngCG0local", "nwpsTrkngCG0local")
def _calcPeriodN(self, swper): def _calcPeriodN(self, swper):
return swper return swper
@ -56,21 +56,21 @@ class nwpsTrkngCG0Forecaster(Forecaster):
return self._calcWaveN(swell_OSEQD10, swdir_OSEQD10) return self._calcWaveN(swell_OSEQD10, swdir_OSEQD10)
def main(): def main():
nwpsTrkngCG0Forecaster().run() nwpsTrkngCG0localForecaster().run()
chkfile = "/tmp/nwps/CGTrack" chkfile = "/tmp/nwpslocal/CGTrack"
chkfiledir = "/tmp/nwps" chkfiledir = "/tmp/nwpslocal"
try: try:
os.makedirs(chkfiledir) os.makedirs(chkfiledir)
except OSError: except OSError:
pass pass
if not os.path.isfile(chkfile): if not os.path.isfile(chkfile):
open(chkfile, 'a').close() open(chkfile, 'a').close()
os.system('/awips2/GFESuite/bin/sendGfeMessage -s -m "TRACKING WAVE GRIDS ARE NOW IN GFE"') os.system('/awips2/GFESuite/bin/sendGfeMessage -s -m "BOOO TRACKING WAVE GRIDS ARE NOW IN GFE"')
filemodtime = os.stat(chkfile).st_mtime filemodtime = os.stat(chkfile).st_mtime
twominutesago = time.time() - 120 twominutesago = time.time() - 120
if (twominutesago - filemodtime) > 0: if (twominutesago - filemodtime) > 0:
os.utime(chkfile, None) os.utime(chkfile, None)
os.system('/awips2/GFESuite/bin/sendGfeMessage -s -m "TRACKING WAVE GRIDS ARE NOW IN GFE"') os.system('/awips2/GFESuite/bin/sendGfeMessage -s -m "STOP TRACKING ME! TRACKING WAVE GRIDS ARE NOW IN GFE"')
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View file

@ -54,6 +54,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Aug 2, 2010 jsanchez Initial creation * Aug 2, 2010 jsanchez Initial creation
* Aug 15,2013 2177 jsanchez Refactored. * Aug 15,2013 2177 jsanchez Refactored.
* Dec 4,2013 2604 jsanchez Moved out of viz.warngen. * Dec 4,2013 2604 jsanchez Moved out of viz.warngen.
* Jan 4, 2016 15688 Qinglu Lin Updated loadFile().
* *
* </pre> * </pre>
* *
@ -136,18 +137,20 @@ public class SuppressMap {
String line = null; String line = null;
try { try {
while ((line = fis.readLine()) != null) { while ((line = fis.readLine()) != null) {
m = ugcPattern.matcher(line); if (line.length() >= 1 && ! line.substring(0,1).equals("#")) {
if (m.find()) { m = ugcPattern.matcher(line);
List<Direction> suppressedDirections = new ArrayList<Direction>(); if (m.find()) {
String ugc = m.group(); List<Direction> suppressedDirections = new ArrayList<Direction>();
if (line.indexOf("ns") > 5) { String ugc = m.group();
suppressedDirections = NORTH_SOUTH; if (line.indexOf("ns") > 5) {
} else if (line.indexOf("ew") > 5) { suppressedDirections = NORTH_SOUTH;
suppressedDirections = EAST_WEST; } else if (line.indexOf("ew") > 5) {
} else { suppressedDirections = EAST_WEST;
suppressedDirections = ALL; } else {
suppressedDirections = ALL;
}
areas.put(ugc, suppressedDirections);
} }
areas.put(ugc, suppressedDirections);
} }
} }
} catch (IOException e) { } catch (IOException e) {

View file

@ -1,82 +1,112 @@
#!/bin/bash #!/bin/bash
# Last Modified: 10/15/2015
# By: Pablo Santos and Joseph Maloney
# Version: AWIPS 2 Version 16.2.1
NWPSLOCAL="/awips2/GFESuite/nwps" NWPSLOCAL="/awips2/GFESuite/nwps"
umask 002
# #
# The following two variables need to be set to your regional LDM. This is the same
# ldm servers you can reach from your ldad. If you do not know this info contact your
# regional folks. This is how the input files for NWPS run requests will be routed to
# NCO/WCOSS when that option is chosen from the GUI.
#
LDMSERVER1="srh-ls-cpnrs1.srh.noaa.gov"
LDMSERVER2="srh-ls-cpnrs2.srh.noaa.gov"
if [ ! -e ${NWPSLOCAL}/input ]
then
mkdir ${NWPSLOCAL}/input
chmod 777 ${NWPSLOCAL}/input
fi
if [ ! -e ${NWPSLOCAL}/logs ]
then
mkdir ${NWPSLOCAL}/logs
chmod 777 ${NWPSLOCAL}/logs
fi
if [ ! -e ${NWPSLOCAL}/var ]
then
mkdir ${NWPSLOCAL}/var
chmod 777 ${NWPSLOCAL}/var
fi
logfile=${NWPSLOCAL}/logs/nwps_runManual_Outside_AWIPS.log
rm -f ${NWPSLOCAL}/logs/*
rm -f ${NWPSLOCAL}/wcoss/*
PATH="/awips2/GFESuite/bin:/bin:/usr/bin:/usr/local/bin" PATH="/awips2/GFESuite/bin:/bin:/usr/bin:/usr/local/bin"
siteid=$(hostname|cut -c5-7) siteid=$(hostname -s|cut -c 5-)
SITEID=$(echo ${siteid} | tr [:lower:] [:upper:]) source ${NWPSLOCAL}/etc/sitevars.${siteid} ${siteid}
#
SSHARGS="-x -o stricthostkeychecking=no" SSHARGS="-x -o stricthostkeychecking=no"
SCPARGS="-o stricthostkeychecking=no" SCPARGS="-o stricthostkeychecking=no"
HOST="ldad@ls1-${siteid}" #
DIR="/data/ldad/nwps/input"
Program="/awips2/GFESuite/bin/ifpnetCDF" Program="/awips2/GFESuite/bin/ifpnetCDF"
DB="${SITEID}_GRID__Fcst_00000000_0000"
GFESERVER="ec" GFESERVER="ec"
RUNSERVER="px" RUNSERVER="px"
WRKSWN="${NWPSLOCAL}/SUAWRKNWP.dat"
Output_Dir="${NWPSLOCAL}/input" # FUNCTIONS
date=$(date "+%D %H:%M:%S")
Output_File="${Output_Dir}/Wind_File"
textfile="${Output_Dir}/$(date +%Y%m%d%H%M)_WIND.txt"
wcoss_textfile="${siteid}_$(date +%Y%m%d%H%M)_WIND.txt"
flagfile="${Output_Dir}/SWANflag"
cp ${NWPSLOCAL}/domains/${SITEID} ${NWPSLOCAL}/wcoss/${siteid}_domain_setup.cfg
chmod 666 ${NWPSLOCAL}/wcoss/${siteid}_domain_setup.cfg
### LOCK FILE STUFF:
source ${NWPSLOCAL}/bin/process_lock.sh
PROGRAMname="$0"
LOCKfile="${NWPSLOCAL}/logs/runManual_Outside_AWIPS.lck"
MINold="0"
LockFileCheck $MINold
CreateLockFile
### FUNCTIONS:
function logit () { function logit () {
echo "$@" | tee -a $logfile echo "$@" | tee -a $logfile
} }
GFEDomainname=${1}
logit "Processing $GFEDomainname"
gfedomainname=$(echo ${GFEDomainname} | tr [:upper:] [:lower:])
cd ${NWPSLOCAL}
if [ ! -e ${NWPSLOCAL}/${GFEDomainname} ]
then
mkdir ${NWPSLOCAL}/${GFEDomainname}
chmod 777 ${NWPSLOCAL}/${GFEDomainname}
fi
if [ ! -e ${NWPSLOCAL}/input/${GFEDomainname} ]
then
mkdir -p ${NWPSLOCAL}/input/${GFEDomainname}
chmod -R 777 ${NWPSLOCAL}/input
fi
if [ ! -e ${NWPSLOCAL}/wcoss/${GFEDomainname} ]
then
mkdir -p ${NWPSLOCAL}/wcoss/${GFEDomainname}
chmod -R 777 ${NWPSLOCAL}/wcoss
fi
if [ ! -e ${NWPSLOCAL}/logs ]
then
mkdir ${NWPSLOCAL}/logs
chmod 777 ${NWPSLOCAL}/logs
fi
logfile=${NWPSLOCAL}/logs/${GFEDomainname}_nwps_runManual_Outside_AWIPS.log
##################################################################
### START A CLEAN LOG FILE:
#
rm -f $logfile
echo " " > $logfile
STARTED=$(date)
logit "STARTED FOR ${GFEDomainname}: $STARTED"
DB="${GFEDomainname}_GRID__Fcst_00000000_0000"
if [ ${MULTISITE} == "Yes" ]
then
Output_Dir="${NWPSLOCAL}/input/${GFEDomainname}"
else
Output_Dir="${NWPSLOCAL}/input"
fi
WRKSWN="${NWPSLOCAL}/${GFEDomainname}/SUAWRKNWP.dat"
date=$(date "+%D %H:%M:%S")
Output_File="${Output_Dir}/Wind_File"
textfile="${Output_Dir}/$(date +%Y%m%d%H%M)_WIND.txt"
wcoss_textfile="${gfedomainname}_$(date +%Y%m%d%H%M)_WIND.txt"
flagfile="${Output_Dir}/SWANflag"
### LOCK FILE STUFF:
source ${NWPSLOCAL}/bin/process_lock.sh
PROGRAMname="$0"
LOCKfile="${NWPSLOCAL}/logs/runManual_Outside_AWIPS_${GFEDomainname}.lck"
MINold="300"
LockFileCheck $MINold
CreateLockFile
### CHECK THAT THIS IS THE px2 (or px1 if failed over) HOST MACHINE:
HOST=$(hostname|cut -c1-2)
if [[ $HOST != $RUNSERVER ]]
then
logit "YOU ARE RUNNING FROM $HOST. THIS SCRIPT SHOULD ONLY BE RAN FROM $RUNSERVER."
logit "Exiting ... "
RemoveLockFile
exit 1
fi
### RUN OPTIONS: ### RUN OPTIONS:
if [ -e ${NWPSLOCAL}/var/inp_args ] if [ -e ${NWPSLOCAL}/${GFEDomainname}_var/inp_args ]
then then
inp_args=`cat ${NWPSLOCAL}/var/inp_args` inp_args=`cat ${NWPSLOCAL}/${GFEDomainname}_var/inp_args`
IFS=':' read -a inp <<< "${inp_args}" IFS=':' read -a inp <<< "${inp_args}"
RUNLEN=${inp[0]} RUNLEN=${inp[0]}
@ -97,54 +127,19 @@ then
logit "Arguments are: $RUNLEN $WNA $NEST $GS $WINDS $WEB $PLOT $DELTAC $HOTSTART $WATERLEVELS $CORE $EXCD $WHERETORUN" logit "Arguments are: $RUNLEN $WNA $NEST $GS $WINDS $WEB $PLOT $DELTAC $HOTSTART $WATERLEVELS $CORE $EXCD $WHERETORUN"
logit " " logit " "
rm -f ${NWPSLOCAL}/var/inp_args rm -f ${NWPSLOCAL}/${GFEDomainname}_var/inp_args
rm -f ${NWPSLOCAL}/wcoss/${GFEDomainname}/* | tee -a $logfile
rm -f ${Output_Dir}/* | tee -a $logfile
cp ${NWPSLOCAL}/domains/${GFEDomainname} ${NWPSLOCAL}/wcoss/${GFEDomainname}/${gfedomainname}_domain_setup.cfg
chmod 666 ${NWPSLOCAL}/wcoss/${GFEDomainname}/${gfedomainname}_domain_setup.cfg
else else
logit "No arguments or arguments file provided. No run to process. Exiting." logit "No arguments or arguments file provided. No run to process. Exiting ${GFEDomainname}."
RemoveLockFile RemoveLockFile
exit 1 continue
fi fi
### CHECK FOR GFECRON USER RUNNING THIS SCRIPT:
USER_ID=$(id --user --name)
if [[ "$USER_ID" != "gfecron" ]]
then
logit "ONLY GFECRON USER IS ALLOWED TO RUN THIS SCRIPT."
logit "Exiting ..."
RemoveLockFile
exit 1
fi
### CHECK THAT THIS IS THE px2 (or px1 if failed over) HOST MACHINE:
HOST=$(hostname|cut -c1-2)
if [[ $HOST != $RUNSERVER ]]
then
logit "YOU ARE RUNNING FROM $HOST. THIS SCRIPT SHOULD ONLY BE RAN FROM $RUNSERVER."
logit "Exiting ... "
RemoveLockFile
exit 1
fi
##################################################################
### MAKE CRONTAB FRIENDLY:
cd ${NWPSLOCAL}
##################################################################
### START A CLEAN LOG FILE:
echo " " > $logfile
STARTED=$(date)
logit "STARTED: $STARTED"
logit " "
# logit "Program called with: $0 $@"
logit " " logit " "
################################################################## ##################################################################
logit "### Setting Up SWAN Input Model Forcing Time Range" logit "### Setting Up SWAN Input Model Forcing Time Range"
@ -158,7 +153,7 @@ logit " "
echo "" > $WRKSWN echo "" > $WRKSWN
echo "____________________NWPS RUN REQUEST DETAILS__________" >> $WRKSWN echo "____________________NWPS RUN REQUEST DETAILS__________" >> $WRKSWN
echo "" >> $WRKSWN echo "" >> $WRKSWN
echo "Run initiated at: ${date}" >> $WRKSWN echo "Run for ${GFEDomainname} initiated at: ${date}" >> $WRKSWN
echo "" >> $WRKSWN echo "" >> $WRKSWN
echo "Runlength: ${RUNLEN}" >> $WRKSWN echo "Runlength: ${RUNLEN}" >> $WRKSWN
echo "Boundary Conditions: ${WNA}" >> $WRKSWN echo "Boundary Conditions: ${WNA}" >> $WRKSWN
@ -174,20 +169,18 @@ echo "Running model in: ${WHERETORUN}" >> $WRKSWN
echo "" >> $WRKSWN echo "" >> $WRKSWN
echo "______________________________________________________" >> $WRKSWN echo "______________________________________________________" >> $WRKSWN
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/ #scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
################################################################## ##################################################################
logit "### CREATE THE WIND NETCDF FILE AND SEND OVER TO SWAN BOX FOR PROCESSING:" logit "### CREATE THE WIND NETCDF FILE AND SEND OVER TO SWAN BOX FOR PROCESSING:"
rm -vf $Output_Dir/* | tee -a $logfile
logit "$Program -o $Output_File -d $DB -h $GFESERVER -g -p NWPSwind" logit "$Program -o $Output_File -d $DB -h $GFESERVER -g -p NWPSwind"
$Program -o $Output_File -d $DB -h $GFESERVER -g -p NWPSwind | tee -a $logfile $Program -o $Output_File -d $DB -h $GFESERVER -g -p NWPSwind | tee -a $logfile
/usr/local/netcdf/bin/ncdump $Output_File > $textfile /usr/local/netcdf/bin/ncdump $Output_File > $textfile
sed -i "s/NWPSwind/Wind/g" $textfile sed -i "s/NWPSwind/Wind/g" $textfile
cp $textfile ${NWPSLOCAL}/wcoss/${wcoss_textfile} cp $textfile ${NWPSLOCAL}/wcoss/${GFEDomainname}/${wcoss_textfile}
chmod 666 ${NWPSLOCAL}/wcoss/${wcoss_textfile} chmod 666 ${NWPSLOCAL}/wcoss/${GFEDomainname}/${wcoss_textfile}
gzip $textfile gzip $textfile
touch $flagfile touch $flagfile
@ -195,6 +188,94 @@ touch $flagfile
chmod 666 $textfile.gz chmod 666 $textfile.gz
chmod 666 $flagfile chmod 666 $flagfile
echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD" > ${NWPSLOCAL}/wcoss/${GFEDomainname}/${gfedomainname}_inp_args.ctl
chmod 666 ${NWPSLOCAL}/wcoss/${GFEDomainname}/${gfedomainname}_inp_args.ctl
cd ${NWPSLOCAL}/wcoss/${GFEDomainname}
NWPSWINDGRID="NWPSWINDGRID_${gfedomainname}_$(date +%Y%m%d%H%M)_$$.tar.gz"
tar cvfz ${NWPSWINDGRID} ${gfedomainname}_inp_args.ctl ${gfedomainname}_domain_setup.cfg ${wcoss_textfile}
scp ${NWPSWINDGRID} ldad@ls1:/tmp/
function WCOSSUpload {
logit " "
logit "RUNNING IN NCEP"
logit " "
logit "Running ldmsend to ${REGION} LDM servers for WCOSS run"
if [ "${LDMSEND}" == "/usr/local/ldm/util/ldmsend_nws" ]
then
status1=$(ssh ldad@ls1 "cd /tmp; ${LDMSEND} -vxnl- -h ${LDMSERVER1} -f EXP -o 3600 -r 1 -R 100 -T 25 -p '^NWPSWINDGRID_.*' ${NWPSWINDGRID}" 2>> ${logfile})
status2=$(ssh ldad@ls1 "cd /tmp; ${LDMSEND} -vxnl- -h ${LDMSERVER2} -f EXP -o 3600 -r 1 -R 100 -T 25 -p '^NWPSWINDGRID_.*' ${NWPSWINDGRID}" 2>> ${logfile})
if [ "${status1}" == "PASS" ] && [ "${status2}" == "PASS" ]
then
echo "" >> $WRKSWN
echo "____________________NWPS WIND GRID UPLOAD PASSED__________" >> $WRKSWN
echo "" >> $WRKSWN
echo "INFO - Wind grid upload run for ${GFEDomainname} passed: ${date}" >> $WRKSWN
echo "" >> $WRKSWN
echo "INFO - Uploaded to ${REGION} LDM servers" >> $WRKSWN
echo "" >> $WRKSWN
echo "INFO - Model run was initiated" >> $WRKSWN
echo "" >> $WRKSWN
echo "______________________________________________________" >> $WRKSWN
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
fi
if [ "${status1}" != "PASS" ] && [ "${status2}" != "PASS" ]
then
echo "" >> $WRKSWN
echo "____________________NWPS WIND GRID UPLOAD FAILED__________" >> $WRKSWN
echo "" >> $WRKSWN
echo "ERROR - Wind grid upload run for ${GFEDomainname} failed: ${date}" >> $WRKSWN
echo "" >> $WRKSWN
echo "ERROR - Could not upload to any ${REGION} LDM server" >> $WRKSWN
echo "ERROR - Upload failed to ${LDMSERVER1} and ${LDMSERVER2}" >> $WRKSWN
echo "" >> $WRKSWN
echo "ERROR - No model run was initiated" >> $WRKSWN
echo "" >> $WRKSWN
echo "______________________________________________________" >> $WRKSWN
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
else
if [ "${status1}" != "PASS" ]
then
echo "" >> $WRKSWN
echo "____________________NWPS WIND GRID UPLOAD WARNING__________" >> $WRKSWN
echo "" >> $WRKSWN
echo "" >> $WRKSWN
echo "WARN - Could not upload to ${REGION} LDM server #1" >> $WRKSWN
echo "WRAN - Upload failed to ${LDMSERVER1}" >> $WRKSWN
echo "" >> $WRKSWN
echo "INFO - Model run was initiated from ${LDMSERVER2}" >> $WRKSWN
echo "" >> $WRKSWN
echo "______________________________________________________" >> $WRKSWN
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
fi
if [ "${status2}" != "PASS" ]
then
echo "" >> $WRKSWN
echo "____________________NWPS WIND GRID UPLOAD WARNING__________" >> $WRKSWN
echo "" >> $WRKSWN
echo "" >> $WRKSWN
echo "WARN - Could not upload to ${REGION} LDM server #2" >> $WRKSWN
echo "WRAN - Upload failed to ${LDMSERVER2}" >> $WRKSWN
echo "" >> $WRKSWN
echo "INFO - Model run was initiated from ${LDMSERVER1}" >> $WRKSWN
echo "" >> $WRKSWN
echo "______________________________________________________" >> $WRKSWN
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
fi
fi
else
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER1} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a ${logfile}
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER2} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a ${logfile}
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
fi
ssh ldad@ls1 rm -fv /tmp/${NWPSWINDGRID}
}
if [ $WHERETORUN == "Both" ] if [ $WHERETORUN == "Both" ]
then then
@ -203,37 +284,30 @@ then
logit " " logit " "
logit "### ROUTING 3 WIND FILES NEEDED BY SWAN THROUGH LDAD TO LOCAL WORKSTATION:" logit "### ROUTING 3 WIND FILES NEEDED BY SWAN THROUGH LDAD TO LOCAL WORKSTATION:"
ssh ldad@ls1 mkdir -p ${DIR} if [ $MULTISITE == "Yes" ]
scp ${SCPARGS} $Output_File ldad@ls1:${DIR} | tee -a $logfile then
scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR} | tee -a $logfile
scp ${SCPARGS} $flagfile ldad@ls1:${DIR} | tee -a $logfile
logit " " logit "Running ldmsend to workstation"
######################################################################### ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${WORKSTATION} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
logit "##################################################################"
logit "### SENDING WIND FILES TO NWPS SYSTEM VIA LDAD TO TRIGGER NEW RUN"
logit "### Start Time is: $(date)"
logit "##################################################################"
logit " "
logit "Runtime Parameters are: $RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD" else
ssh ${SSHARGS} ldad@ls1 echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD > /data/ldad/nwps/input/inp_args" 2>&1 | tee -a $logfile logit "ssh ldad@ls1 mkdir -p ${DIR}"
logit "scp ${SCPARGS} $Output_File ldad@ls1:${DIR}"
logit "scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR}"
logit "scp ${SCPARGS} $flagfile ldad@ls1:${DIR}"
logit " " ssh ldad@ls1 mkdir -p ${DIR}
logit "RUNNING IN NCEP" scp ${SCPARGS} $Output_File ldad@ls1:${DIR} | tee -a $logfile
logit " " scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR} | tee -a $logfile
echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD" > ${NWPSLOCAL}/wcoss/${siteid}_inp_args.ctl scp ${SCPARGS} $flagfile ldad@ls1:${DIR} | tee -a $logfile
chmod 666 ${NWPSLOCAL}/wcoss/${siteid}_inp_args.ctl logit "Runtime Parameters are: $RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD"
ssh ${SSHARGS} ldad@ls1 echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD > ${DIR}/inp_args" 2>&1 | tee -a $logfile
cd ${NWPSLOCAL}/wcoss/ fi
NWPSWINDGRID="NWPSWINDGRID_${siteid}_$(date +%Y%m%d%H%M)_$$.tar.gz"
tar cvfz ${NWPSWINDGRID} ${siteid}_inp_args.ctl ${siteid}_domain_setup.cfg ${wcoss_textfile} WCOSSUpload
scp ${NWPSWINDGRID} ldad@ls1:/tmp/
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER1} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER2} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
ssh ldad@ls1 rm -fv /tmp/${NWPSWINDGRID}
elif [ $WHERETORUN == "Local" ] elif [ $WHERETORUN == "Local" ]
then then
@ -243,39 +317,34 @@ then
logit " " logit " "
logit "### ROUTING 3 WIND FILES NEEDED BY SWAN THROUGH LDAD TO LOCAL WORKSTATION:" logit "### ROUTING 3 WIND FILES NEEDED BY SWAN THROUGH LDAD TO LOCAL WORKSTATION:"
ssh ldad@ls1 mkdir -p ${DIR} if [ $MULTISITE == "Yes" ]
scp ${SCPARGS} $Output_File ldad@ls1:${DIR} | tee -a $logfile then
scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR} | tee -a $logfile
scp ${SCPARGS} $flagfile ldad@ls1:${DIR} | tee -a $logfile
logit " " logit "Running ldmsend to workstation"
######################################################################### ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${WORKSTATION} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
logit "##################################################################"
logit "### SENDING WIND FILES TO NWPS SYSTEM VIA LDAD TO TRIGGER NEW RUN"
logit "### Start Time is: $(date)"
logit "##################################################################"
logit " "
logit "Runtime Parameters are: $RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD" else
ssh ${SSHARGS} ldad@ls1 echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD > /data/ldad/nwps/input/inp_args" 2>&1 | tee -a $logfile logit "ssh ldad@ls1 mkdir -p ${DIR}"
logit "scp ${SCPARGS} $Output_File ldad@ls1:${DIR}"
logit "scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR}"
logit "scp ${SCPARGS} $flagfile ldad@ls1:${DIR}"
ssh ldad@ls1 mkdir -p ${DIR}
scp ${SCPARGS} $Output_File ldad@ls1:${DIR} | tee -a $logfile
scp ${SCPARGS} $textfile.gz ldad@ls1:${DIR} | tee -a $logfile
scp ${SCPARGS} $flagfile ldad@ls1:${DIR} | tee -a $logfile
logit "Runtime Parameters are: $RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD"
ssh ${SSHARGS} ldad@ls1 echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD > ${DIR}/inp_args" 2>&1 | tee -a $logfile
fi
ssh ldad@ls1 rm -fv /tmp/${NWPSWINDGRID}
scp ${SCPARGS} $WRKSWN ldad@ls1:/data/Incoming/
else else
logit " " WCOSSUpload
logit "RUNNING IN NCEP"
logit " "
echo "$RUNLEN:$WNA:$NEST:$GS:$WINDS:$WEB:$PLOT:$DELTAC:$HOTSTART:$WATERLEVELS:$CORE:$EXCD" > ${NWPSLOCAL}/wcoss/${siteid}_inp_args.ctl
chmod 666 ${NWPSLOCAL}/wcoss/${siteid}_inp_args.ctl
cd ${NWPSLOCAL}/wcoss/
NWPSWINDGRID="NWPSWINDGRID_${siteid}_$(date +%Y%m%d%H%M)_$$.tar.gz"
tar cvfz ${NWPSWINDGRID} ${siteid}_inp_args.ctl ${siteid}_domain_setup.cfg ${wcoss_textfile}
scp ${NWPSWINDGRID} ldad@ls1:/tmp/
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER1} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
ssh ldad@ls1 "cd /tmp; /usr/local/ldm/bin/ldmsend -v -h ${LDMSERVER2} -f EXP ${NWPSWINDGRID}" 2>&1 | tee -a $logfile
ssh ldad@ls1 rm -fv /tmp/${NWPSWINDGRID}
fi fi
@ -286,7 +355,8 @@ RemoveLockFile
################################################################## ##################################################################
logit " " logit " "
logit "STARTED: $STARTED" date
logit "FINISHED: $(date)" logit "FINISHED ${GFEDomainname}: $(date)"
logit " " logit " "
exit 0 exit 0

196
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/AKQ Normal file → Executable file
View file

@ -3,7 +3,7 @@
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last Modified: 05/11/13...ag
# #
# Version control: 1.33 # Version control: 1.33
# #
@ -20,52 +20,111 @@
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# AKQ = # AKQ =
# GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
# =
# NOTE: RES = spatial resolution in km =
# TSTEP = request output time step (not the model time step) =
#======================================================================== #========================================================================
#
export SITEID="AKQ" export SITEID="AKQ"
export REGIONID="ER" export REGIONID="ER"
export NELAT="39.60" export NELAT="39.50"
export NELON="-74.25" export NELON="-74.25"
export SWLAT="35.80" export SWLAT="35.80"
export SWLON="-77.50" export SWLON="-77.30"
export RES="2.0" #export RES="2.5"
export RES="1.8"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
# NESTED GRID CONFIGURATION = # NESTED GRID CONFIGURATION =
# These nested grids are non-telescopic grids i.e all of them are = # =
# nested in the main grid, and get the boundary conditions only from it = # These nested grids are non-telescopic grids (i.e all of them are =
# = # nested in the outer grid, and get the boundary conditions only from it) =
# Later versions of NWPS will either allow for telescopic nesting or =
# will be run on an unstructured grid characterized with a fine mesh =
# over the nearshore zones and a coarser mesh across the offshore areas. =
# =
#======================================================================== #========================================================================
# NESTGRIDS: Number of nested grids, if = 0, nested grids and
# location numbers below will be ignore regardless of input specifications
# #
# STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS # TO DO: Update the domains below to reflect the area/s that you are
# The default values is NONstationary for CG1 and STAtionary for the # interested in (must reside inside of you outer domain defined
# nested grids. Change this only if you know what you are doing. # above). Also, remember to remove or comment out the remaining
# You can choose STA or NON for a particular nested grid. # example nests below that were configured for another area. Once
# # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs.
#
# STATIONARY VS NONSTATIONARY MODE:
#
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA.
#
# ACTIVATE NEST/S: default is off for MHX
#
# NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options
#
export NESTGRIDS="0" export NESTGRIDS="0"
# AKQ Nest export NESTINCG1="YES"
export NELATN1="" #
export NELONN1="" export NELATN1="38.50"
export SWLATN1="" export NELONN1="-74.71"
export SWLONN1="" export SWLATN1="37.74"
export RESN1=".1" export SWLONN1="-75.34"
export RESN1=".5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="STA"
#
export NELATN2="37.54"
export NELONN2="-75.00"
export SWLATN2="36.35"
export SWLONN2="-76.20"
export RESN2=".5"
export TSTEPN2="3"
export STATN2="STA"
#
export NELATN3="36.93"
export NELONN3="-75.86"
export SWLATN3="36.77"
export SWLONN3="-76.00"
export RESN3=".045"
export TSTEPN3="3"
export STATN3="STA"
#
export NELATN4="36.77"
export NELONN4="-75.87"
export SWLATN4="36.68"
export SWLONN4="-75.96"
export RESN4=".045"
export TSTEPN4="3"
export STATN4="STA"
#
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS
#======================================================================== # =
# Specta points defined as space delimited list of: # NOTE TO USER: the lat/lon points specified can be changed for any =
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...." # arbitrary point of interest within your outer domain defined above. =
# One default buoy locations has already been configured for you =
# below. Add more as needed. =
# #
export SPECPOINTS="44014:36.611:-74.842 44009:38.461:-74.703" # NOTE: These do not have to match NDBC locations. =
#
#========================================================================
# Spectra points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...."
#
export SPECPOINTS="44014:36.611:-74.842 44100:36.255:-75.591 44009:38.461:-74.703 44093:36.872:-75.492 44096:37.023:-75.810"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
# SET: SUBDOAKQN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS = # SET: SUBDOMHXN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS =
#======================================================================== #========================================================================
# IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF" # IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF"
# IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW # IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW
@ -78,12 +137,13 @@ export WVTRCK="ON"
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be change in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
#
export WVTONCG="0" export WVTONCG="0"
export NELATWT="39.60" export NELATWT="39.50"
export NELONWT="-74.25" export NELONWT="-74.25"
export SWLATWT="35.80" export SWLATWT="35.80"
export SWLONWT="-77.50" export SWLONWT="-77.30"
export GEORESWT="3.0" export GEORESWT="3.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
@ -119,64 +179,22 @@ export WAVECPS="multi_1.NW-AKQ59.spec.swan"
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#
#
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
#BOUN SEG XY 284.50 35.80 285.25 35.80 VAR FILE 0.00 'multi_1.NW-AKQ62.spec.swan' 1 & #BOUN SEG XY 285.75 39.50 285.75 35.80 VAR FILE 0.00 'multi_1.NW-AKQ51.spec.swan' 1 &
#0.50 'multi_1.NW-AKQ61.spec.swan' 1 & # 0.50 'multi_1.NW-AKQ52.spec.swan' 1 &
#1.00 'multi_1.NW-AKQ60.spec.swan' 1 & # 1.00 'multi_1.NW-AKQ53.spec.swan' 1 &
#1.25 'multi_1.NW-AKQ59.spec.swan.cp' 1 # 1.50 'multi_1.NW-AKQ54.spec.swan' 1 &
# 2.00 'multi_1.NW-AKQ55.spec.swan' 1 &
# 2.50 'multi_1.NW-AKQ56.spec.swan' 1 &
# 3.00 'multi_1.NW-AKQ57.spec.swan' 1 &
# 3.50 'multi_1.NW-AKQ58.spec.swan' 1 &
# 4.00 'multi_1.NW-AKQ59.spec.swan' 1
#$ #$
#BOUN SEG XY 285.25 35.80 285.25 39.50 VAR FILE 0.00 'multi_1.NW-AKQ59.spec.swan' 1 & #BOUN SEG XY 285.75 35.80 284.50 35.80 VAR FILE 0.00 'multi_1.NW-AKQ59.spec.swan.cp' 1 &
#0.20 'multi_1.NW-AKQ58.spec.swan' 1 & # 0.25 'multi_1.NW-AKQ60.spec.swan' 1 &
#0.70 'multi_1.NW-AKQ57.spec.swan' 1 & # 0.75 'multi_1.NW-AKQ61.spec.swan' 1 &
#1.20 'multi_1.NW-AKQ56.spec.swan' 1 & # 1.25 'multi_1.NW-AKQ62.spec.swan' 1
#1.70 'multi_1.NW-AKQ55.spec.swan' 1 &
#2.20 'multi_1.NW-AKQ54.spec.swan' 1 &
#2.70 'multi_1.NW-AKQ53.spec.swan' 1 &
#3.20 'multi_1.NW-AKQ52.spec.swan' 1 &
#3.70 'multi_1.NW-AKQ51.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RIP
#

360
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/BOX Normal file → Executable file
View file

@ -46,12 +46,13 @@ export TSTEP="3"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="1" export NESTGRIDS="1"
export NESTINCG1="YES"
# BOX Nest # BOX Nest
export NELATN1="43.2" export NELATN1="43.2"
export NELONN1="-70.3" export NELONN1="-70.3"
export SWLATN1="41.90" export SWLATN1="41.90"
export SWLONN1="-71.2" export SWLONN1="-71.2"
export RESN1=".1" export RESN1="0.5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="NON"
# #
@ -111,7 +112,7 @@ export FTPPAT1="multi_1"
export FTPPAT1B="multi_1" export FTPPAT1B="multi_1"
export FTPPAT2="NW-BOX" export FTPPAT2="NW-BOX"
export NFTPATTEMPTS="3" export NFTPATTEMPTS="3"
export WAVECPS="multi_1.NW-BOX51.spec.swan, multi_1.NW-BOX59.spec.swan, multi_1.NW-BOX65.spec.swan" export WAVECPS="multi_1.NW-BOX51.spec.swan"
# #
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
@ -128,21 +129,19 @@ export WAVECPS="multi_1.NW-BOX51.spec.swan, multi_1.NW-BOX59.spec.swan, multi_1.
#2.50 'multi_1.NW-BOX56.spec.swan' 1 & #2.50 'multi_1.NW-BOX56.spec.swan' 1 &
#3.00 'multi_1.NW-BOX57.spec.swan' 1 & #3.00 'multi_1.NW-BOX57.spec.swan' 1 &
#3.50 'multi_1.NW-BOX58.spec.swan' 1 & #3.50 'multi_1.NW-BOX58.spec.swan' 1 &
#3.65 'multi_1.NW-BOX59.spec.swan.cp' 1 #3.65 'multi_1.NW-BOX59.spec.swan' 1
#$ #$
#BOUN SEG XY 291.15 40.45 291.15 43.25 VAR FILE 0.00 'multi_1.NW-BOX59.spec.swan' 1 & #BOUN SEG XY 291.15 40.50 291.15 43.25 VAR FILE 0.00 'multi_1.NW-BOX60.spec.swan' 1 &
#0.50 'multi_1.NW-BOX60.spec.swan' 1 & #0.50 'multi_1.NW-BOX61.spec.swan' 1 &
#1.00 'multi_1.NW-BOX61.spec.swan' 1 & #1.00 'multi_1.NW-BOX62.spec.swan' 1 &
#1.50 'multi_1.NW-BOX62.spec.swan' 1 & #1.50 'multi_1.NW-BOX63.spec.swan' 1 &
#2.00 'multi_1.NW-BOX63.spec.swan' 1 & #2.00 'multi_1.NW-BOX64.spec.swan' 1 &
#2.50 'multi_1.NW-BOX64.spec.swan' 1 & #2.30 'multi_1.NW-BOX65.spec.swan' 1
#2.80 'multi_1.NW-BOX65.spec.swan.cp' 1
#$ #$
#BOUN SEG XY 291.15 43.25 289.52 43.25 VAR FILE 0.00 'multi_1.NW-BOX65.spec.swan' 1 & #BOUN SEG XY 291 43.25 289.52 43.25 VAR FILE 0.00 'multi_1.NW-BOX66.spec.swan' 1 &
#0.50 'multi_1.NW-BOX66.spec.swan' 1 & #0.50 'multi_1.NW-BOX67.spec.swan' 1 &
#1.00 'multi_1.NW-BOX67.spec.swan' 1 & #1.00 'multi_1.NW-BOX68.spec.swan' 1 &
#1.50 'multi_1.NW-BOX68.spec.swan' 1 & #1.13 'multi_1.NW-BOX69.spec.swan' 1
#1.63 'multi_1.NW-BOX69.spec.swan' 1
#$ #$
#BOUN SEG XY 287.50 40.45 287.50 41.20 VAR FILE 0.00 'multi_1.NW-BOX51.spec.swan.cp' 1 & #BOUN SEG XY 287.50 40.45 287.50 41.20 VAR FILE 0.00 'multi_1.NW-BOX51.spec.swan.cp' 1 &
#0.25 'multi_1.NW-BOX70.spec.swan' 1 & #0.25 'multi_1.NW-BOX70.spec.swan' 1 &
@ -179,17 +178,334 @@ export RIPCONT="5m"
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725 # POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$ #$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15 #RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5 #ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR #
#$RIP LINES
#$ Points along ~ 5m contour.
#$ #$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15 #POINTS '5mcont' &
#ISOLINE '20mcont' 'ray1' BOTtom 20 #289.386 42.0220 &
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR #289.374 42.0340 &
#289.364 42.0460 &
#289.358 42.0580 &
#289.357 42.0700 &
#289.366 42.0820 &
#289.358 42.0940 &
#289.342 42.1060 &
#289.332 42.1180 &
#289.320 42.1300 &
#289.311 42.1420 &
#289.302 42.1540 &
#289.295 42.1660 &
#289.288 42.1780 &
#289.287 42.1900 &
#289.288 42.2020 &
#289.270 42.2140 &
#289.252 42.2260 &
#289.237 42.7060 &
#289.228 42.7180 &
#289.220 42.7300 &
#289.214 42.7420 &
#289.208 42.7540 &
#289.204 42.7660 &
#289.199 42.7780 &
#289.197 42.7900 &
#289.195 42.8020 &
#289.198 42.8140 &
#289.190 42.8260 &
#289.188 42.8380 &
#289.187 42.8500 &
#289.187 42.8620 &
#289.187 42.8740 &
#289.189 42.8860 &
#289.196 42.8980 &
#289.194 42.9100 &
#289.206 42.9220 &
#289.208 42.9340 &
#289.217 42.9460 &
#289.230 42.9580 &
#289.234 42.9700 &
#289.242 42.9820 &
#289.255 42.9940 &
#289.260 43.0060 &
#289.270 43.0180 &
#289.283 43.0300
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$ #$
#$END RIP #$END RIP
# #
#========================================================================
# RUNUP PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RUNUP PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RUNUPPROG="1"
export RUNUPDOMAIN="CG2"
export RUNUPCONT="20m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: SEE ABOVE FOR RIPCURRENT
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RUNUP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# RUNUP (RUNUPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '20mcont' 279.887 25.8725
#
#$RUNUP LINES
#$ Points along ~ 20m contour.
#$
#POINTS '20mcont' &
#289.495 41.909 &
#289.490 41.916 &
#289.486 41.925 &
#289.481 41.932 &
#289.476 41.939 &
#289.468 41.943 &
#289.461 41.949 &
#289.456 41.956 &
#289.449 41.962 &
#289.442 41.967 &
#289.434 41.971 &
#289.427 41.976 &
#289.425 41.985 &
#289.421 41.993 &
#289.414 41.997 &
#289.413 42.006 &
#289.412 42.015 &
#289.407 42.022 &
#289.404 42.031 &
#289.401 42.039 &
#289.398 42.048 &
#289.397 42.057 &
#289.396 42.066 &
#289.394 42.074 &
#289.398 42.082 &
#289.400 42.090 &
#289.395 42.097 &
#289.387 42.102 &
#289.378 42.104 &
#289.370 42.107 &
#289.361 42.108 &
#289.353 42.113 &
#289.347 42.119 &
#289.341 42.126 &
#289.335 42.133 &
#289.332 42.141 &
#289.332 42.150 &
#289.333 42.159 &
#289.332 42.168 &
#289.332 42.176 &
#289.332 42.184 &
#289.325 42.190 &
#289.317 42.195 &
#289.310 42.199 &
#289.307 42.208 &
#289.304 42.216 &
#289.300 42.224 &
#289.294 42.230 &
#289.286 42.234 &
#289.277 42.235 &
#289.269 42.238 &
#289.264 42.245 &
#289.261 42.253 &
#289.254 42.259 &
#289.246 42.263 &
#289.251 42.269 &
#289.244 42.273 &
#289.237 42.278 &
#289.228 42.279 &
#289.219 42.280 &
#289.214 42.287 &
#289.210 42.295 &
#289.204 42.299 &
#289.195 42.301 &
#289.186 42.303 &
#289.178 42.306 &
#289.169 42.309 &
#289.164 42.316 &
#289.156 42.321 &
#289.147 42.323 &
#289.138 42.324 &
#289.131 42.327 &
#289.132 42.332 &
#289.136 42.338 &
#289.131 42.346 &
#289.123 42.349 &
#289.125 42.355 &
#289.122 42.363 &
#289.115 42.369 &
#289.106 42.370 &
#289.097 42.369 &
#289.092 42.376 &
#289.090 42.385 &
#289.082 42.389 &
#289.077 42.396 &
#289.081 42.402 &
#289.087 42.409 &
#289.095 42.414 &
#289.099 42.421 &
#289.099 42.430 &
#289.097 42.439 &
#289.100 42.447 &
#289.107 42.452 &
#289.115 42.457 &
#289.123 42.461 &
#289.130 42.463 &
#289.138 42.459 &
#289.147 42.458 &
#289.153 42.465 &
#289.156 42.473 &
#289.163 42.478 &
#289.171 42.480 &
#289.179 42.484 &
#289.188 42.484 &
#289.188 42.490 &
#289.183 42.497 &
#289.189 42.505 &
#289.197 42.509 &
#289.205 42.511 &
#289.213 42.515 &
#289.222 42.517 &
#289.231 42.517 &
#289.237 42.520 &
#289.236 42.528 &
#289.230 42.534 &
#289.222 42.538 &
#289.216 42.544 &
#289.221 42.551 &
#289.229 42.555 &
#289.238 42.557 &
#289.247 42.560 &
#289.255 42.560 &
#289.264 42.563 &
#289.273 42.565 &
#289.282 42.566 &
#289.290 42.569 &
#289.299 42.572 &
#289.307 42.570 &
#289.314 42.575 &
#289.323 42.576 &
#289.332 42.574 &
#289.340 42.575 &
#289.348 42.579 &
#289.356 42.584 &
#289.364 42.588 &
#289.372 42.592 &
#289.378 42.599 &
#289.378 42.607 &
#289.382 42.615 &
#289.390 42.618 &
#289.399 42.621 &
#289.408 42.621 &
#289.417 42.621 &
#289.426 42.622 &
#289.434 42.626 &
#289.440 42.632 &
#289.443 42.641 &
#289.438 42.647 &
#289.430 42.643 &
#289.422 42.643 &
#289.414 42.646 &
#289.414 42.654 &
#289.418 42.662 &
#289.420 42.670 &
#289.412 42.674 &
#289.404 42.670 &
#289.398 42.663 &
#289.391 42.668 &
#289.384 42.674 &
#289.381 42.682 &
#289.382 42.691 &
#289.374 42.695 &
#289.365 42.694 &
#289.357 42.692 &
#289.348 42.690 &
#289.339 42.690 &
#289.330 42.690 &
#289.321 42.691 &
#289.312 42.693 &
#289.303 42.695 &
#289.295 42.699 &
#289.287 42.703 &
#289.280 42.708 &
#289.273 42.714 &
#289.266 42.720 &
#289.260 42.727 &
#289.254 42.734 &
#289.248 42.740 &
#289.242 42.747 &
#289.237 42.755 &
#289.231 42.762 &
#289.227 42.769 &
#289.222 42.777 &
#289.218 42.785 &
#289.215 42.794 &
#289.215 42.802 &
#289.216 42.811 &
#289.213 42.820 &
#289.209 42.828 &
#289.207 42.837 &
#289.204 42.845 &
#289.203 42.854 &
#289.205 42.863 &
#289.207 42.872 &
#289.208 42.881 &
#289.211 42.889 &
#289.215 42.897 &
#289.217 42.906 &
#289.220 42.914 &
#289.224 42.922 &
#289.227 42.931 &
#289.232 42.939 &
#289.237 42.946 &
#289.243 42.953 &
#289.250 42.959 &
#289.257 42.962 &
#289.264 42.967 &
#289.266 42.975 &
#289.269 42.981 &
#289.277 42.985 &
#289.278 42.990 &
#289.277 42.997 &
#289.283 43.004 &
#289.287 43.013 &
#289.295 43.016 &
#289.303 43.020 &
#289.306 43.029 &
#289.311 43.036 &
#289.314 43.044 &
#289.321 43.049 &
#289.328 43.055 &
#289.334 43.062 &
#289.340 43.069 &
#289.347 43.074 &
#289.354 43.079 &
#289.361 43.085 &
#289.368 43.091 &
#289.373 43.096 &
#289.372 43.104 &
#289.375 43.113 &
#289.378 43.122 &
#289.384 43.128 &
#289.389 43.136 &
#289.396 43.140 &
#289.403 43.144 &
#289.403 43.152 &
#289.408 43.159 &
#289.412 43.167 &
#289.410 43.175 &
#289.411 43.184 &
#289.415 43.192
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RUNUP
#

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 02/01/13 # Date Last Modified: 02/01/13
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# BRO = # BRO =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -32,7 +32,7 @@ export NELAT="28.26"
export NELON="-95.41" export NELON="-95.41"
export SWLAT="25.26" export SWLAT="25.26"
export SWLON="-98.00" export SWLON="-98.00"
export RES="1.25" export RES="1.80"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is off below # ACTIVATE NEST/S: default is off below
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="0" export NESTGRIDS="0"
export NESTINCG1="YES"
# #
# NEST 1 # NEST 1
export NELATN1="27.02" export NELATN1="27.02"
@ -108,7 +109,7 @@ export TSTEPN4="3"
export STATN4="STA" export STATN4="STA"
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -132,12 +133,12 @@ export SPECPOINTS="42045:26.217:-96.500 42020:26.968:-96.694 42048:27.940:-96.84
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -145,9 +146,9 @@ export NELATWT="28.26"
export NELONWT="-95.41" export NELONWT="-95.41"
export SWLATWT="25.26" export SWLATWT="25.26"
export SWLONWT="-98.00" export SWLONWT="-98.00"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -162,9 +163,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -177,7 +178,7 @@ export WAVECPS="multi_1.BRO54.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

@ -29,7 +29,7 @@ export NELON="-66.30"
export SWLAT="43.30" export SWLAT="43.30"
export SWLON="-69.2" export SWLON="-69.2"
export RES="1.8" export RES="1.8"
export TSTEP="1" export TSTEP="3"
# #
#======================================================================== #========================================================================
# NESTED GRID CONFIGURATION = # NESTED GRID CONFIGURATION =
@ -46,6 +46,8 @@ export TSTEP="1"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="2" export NESTGRIDS="2"
export NESTINCG1="YES"
#
export NELATN1="44.42" export NELATN1="44.42"
export NELONN1="-67.96" export NELONN1="-67.96"
export SWLATN1="44.27" export SWLATN1="44.27"
@ -107,7 +109,7 @@ export NELATWT="45.05"
export NELONWT="-66.30" export NELONWT="-66.30"
export SWLATWT="43.30" export SWLATWT="43.30"
export SWLONWT="-69.2" export SWLONWT="-69.2"
export GEORESWT="4.00" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
@ -132,7 +134,7 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
export BOUNCOND="1" export BOUNCOND="1"
export FTPPAT1="multi_1" export FTPPAT1="multi_1"
export FTPPAT1B="multi_1" export FTPPAT1B="multi_1"
export FTPPAT2="MIA" export FTPPAT2="NW-CAR"
export NFTPATTEMPTS="3" export NFTPATTEMPTS="3"
export WAVECPS="multi_1.NW-CAR57.spec.swan,multi_1.NW-CAR64.spec.swan" export WAVECPS="multi_1.NW-CAR57.spec.swan,multi_1.NW-CAR64.spec.swan"
# #
@ -166,43 +168,3 @@ export WAVECPS="multi_1.NW-CAR57.spec.swan,multi_1.NW-CAR64.spec.swan"
# 0.75 'multi_1.NW-CAR64.spec.swan.cp' 1 # 0.75 'multi_1.NW-CAR64.spec.swan.cp' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m contour data.
#$
#RAY 'ray1' 279.88 25.85 279.91 25.85 8 279.88 25.895 279.91 25.895
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT YYYYMMDD.HHMM H.M HR
#$
#$END RIP
#

View file

@ -3,7 +3,7 @@
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last Modified: 02/01/13
# #
# Version control: 1.33 # Version control: 1.33
# #
@ -38,7 +38,7 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# NESTGRIDS: Number of nested grids, if = 0, nested grids and # NESTGRIDS: Number of nested grids, if = 0, nested grids and
# location numbers below will be ignore regardless of input specifications # location numbers below will be ignore regardless of input specifications.
# #
# STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS # STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS
# The default values is NONstationary for CG1 and STAtionary for the # The default values is NONstationary for CG1 and STAtionary for the
@ -46,14 +46,15 @@ export TSTEP="3"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="0" export NESTGRIDS="0"
# CHS Nest export NESTINCG1="YES"
export NELATN1="" #
export NELONN1="" export NELATN1="27.02"
export SWLATN1="" export NELONN1="-79.94"
export SWLONN1="" export SWLATN1="26.90"
export RESN1=".1" export SWLONN1="-80.10"
export RESN1=".5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="STA"
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS =
@ -72,7 +73,7 @@ export SPECPOINTS="41008:31.4:-80.869 41112:30.79:-81.293 41004:32.501:-79.099 4
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL #IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
@ -84,7 +85,7 @@ export NELATWT="33.58"
export NELONWT="-78.10" export NELONWT="-78.10"
export SWLATWT="30.67" export SWLATWT="30.67"
export SWLONWT="-81.70" export SWLONWT="-81.70"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
@ -109,9 +110,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
export BOUNCOND="1" export BOUNCOND="1"
export FTPPAT1="multi_1" export FTPPAT1="multi_1"
export FTPPAT1B="multi_1" export FTPPAT1B="multi_1"
export FTPPAT2="NW-CHS" export FTPPAT2="CHS"
export NFTPATTEMPTS="3" export NFTPATTEMPTS="3"
export WAVECPS="multi_1.NW-CHS55.spec.swan,multi_1.NW-CHS59.spec.swan" export WAVECPS="multi_1.CHS55.spec.swan,multi_1.CHS59.spec.swan"
# #
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
@ -137,47 +138,3 @@ export WAVECPS="multi_1.NW-CHS55.spec.swan,multi_1.NW-CHS59.spec.swan"
# 0.80 'multi_1.CHS59.spec.swan.cp' 1 # 0.80 'multi_1.CHS59.spec.swan.cp' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RIP
#

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 02/01/13 # Date Last Modified: 02/01/13
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# CRP = # CRP =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is off below # ACTIVATE NEST/S: default is off below
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="0" export NESTGRIDS="0"
export NESTINCG1="YES"
# #
# NEST 1 # NEST 1
export NELATN1="27.02" export NELATN1="27.02"
@ -81,7 +82,7 @@ export TSTEPN1="3"
export STATN1="STA" export STATN1="STA"
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -105,12 +106,12 @@ export SPECPOINTS="42019:27.913:-95.353 FCGT2:28.943:-95.303"
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -118,9 +119,9 @@ export NELATWT="29.50"
export NELONWT="-95.00" export NELONWT="-95.00"
export SWLATWT="26.00" export SWLATWT="26.00"
export SWLONWT="-98.50" export SWLONWT="-98.50"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -135,9 +136,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -150,7 +151,7 @@ export WAVECPS="multi_1.CCTX55.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

View file

181
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/GYX Normal file → Executable file
View file

@ -3,7 +3,7 @@
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last odified: 05/11/13...ag
# #
# Version control: 1.33 # Version control: 1.33
# #
@ -20,7 +20,10 @@
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# GYX = # GYX =
# GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIE STEP =
# =
# NOTE: RES = spatial resolution in km =
# TSTEP = request output time step (not the model time step) =
#======================================================================== #========================================================================
export SITEID="GYX" export SITEID="GYX"
export REGIONID="ER" export REGIONID="ER"
@ -28,66 +31,97 @@ export NELAT="44.70"
export NELON="-67.85" export NELON="-67.85"
export SWLAT="42.40" export SWLAT="42.40"
export SWLON="-71.75" export SWLON="-71.75"
export RES="1.8" export RES="2.5"
export TSTEP="3" export TSTEP="3"
#
#======================================================================== #========================================================================
# NESTED GRID CONFIGURATION = # NESTED GRID CONFIGURATION =
# These nested grids are non-telescopic grids i.e all of them are = # =
# nested in the main grid, and get the boundary conditions only from it = # These nested grids are non-telescopic grids (i.e all of them are =
# = # nested in the outer grid, and get the boundary conditions only from it) =
# Later versions of NWPS will either allow for telescopic nesting or =
# will be run on an unstructured grid characterized with a fine mesh =
# over the nearshore zones and a coarser mesh across the offshore areas. =
# =
#======================================================================== #========================================================================
# NESTGRIDS: Number of nested grids, if = 0, nested grids and
# location numbers below will be ignore regardless of input specifications
# #
# STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS # TO DO: Update the domains below to reflect the area/s that you are
# The default values is NONstationary for CG1 and STAtionary for the # interested in (must reside inside of you outer domain defined
# nested grids. Change this only if you know what you are doing. # above). Also, remember to remove or comment out the remaining
# You can choose STA or NON for a particular nested grid. # example nests below that were configured for another area. Once
# # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs.
#
# STATIONARY VS NONSTATIONARY ODE:
#
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km2, then
# set STATN=NON. For the very small domains or nests (<= 100 km2)
# set STATN=STA.
#
# ACTIVATE NEST/S: default is on for GYX
#
# NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options
#
export NESTGRIDS="2" export NESTGRIDS="2"
# NEST 1 - lake grid export NESTINCG1="NO"
#
# NEST 1 - Lake Sebago grid
export NELATN1="43.93" export NELATN1="43.93"
export NELONN1="-70.45" export NELONN1="-70.46"
export SWLATN1="43.76" export SWLATN1="43.76"
export SWLONN1="-70.64" export SWLONN1="-70.64"
export RESN1=".1" export RESN1=".1"
export TSTEPN1="3" export TSTEPN1="1"
export STATN1="STA" export STATN1="STA"
# #
# NEST 2 - lake grid NEST 2 - Lake Winnipesaukee grid
export NELATN1="43.73" export NELATN2="43.73"
export NELONN1="-71.18" export NELONN2="-71.19"
export SWLATN1="43.47" export SWLATN2="43.47"
export SWLONN1="-71.50" export SWLONN2="-71.50"
export RESN1=".1" export RESN2=".1"
export TSTEPN1="3" export TSTEPN2="1"
export STATN1="STA" export STATN2="STA"
#
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS
# =
# NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. =
# One default buoy locations has already been configured for you =
# below. Add more as needed. =
#
# NOTE: These do not have to match NDBC locations. =
#
#======================================================================== #========================================================================
# Specta points defined as space delimited list of: # Spectra points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...."
# #
export SPECPOINTS="44033:44.060:-69.000" export SPECPOINTS="44033:44.060:-69.000"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
# SET: SUBDOGYXN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS = # SET: SUBDOGYXN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAETERS =
#======================================================================== #========================================================================
# IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF" # IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF"
# IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW # IF WVTRCK IS "ON", ADDTIONAL INFORATION IS REQUIRED, SEE BELOW
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COPUTATIONAL GRID AND SAE SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAETERS THEN WVTONCG="0" AND USER UST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORATION FOR THE DOAIN OR SUBDOAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be change in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
#
export WVTONCG="0" export WVTONCG="0"
export NELATWT="44.70" export NELATWT="44.70"
export NELONWT="-67.85" export NELONWT="-67.85"
@ -95,20 +129,20 @@ export SWLATWT="42.40"
export SWLONWT="-71.75" export SWLONWT="-71.75"
export GEORESWT="3.5" export GEORESWT="3.5"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAETERS FOR TRACKING ALGORITH for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THE ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
export WVTRKPA="10. 1. 0.25 0.1 10. 1." export WVTRKPA="10. 1. 0.25 0.1 10. 1."
# #
#======================================================================== #========================================================================
# CURRENTS DEFINITION (SEE SWAN MANUAL) = # CURRENTS DEFINITION (SEE SWAN ANUAL) =
#======================================================================== #========================================================================
#export CURRL1="INPGRID CUR ............................." #export CURRL1="INPGRID CUR ............................."
#export CURRL2="READINP CUR ............................." #export CURRL2="READINP CUR ............................."
# #
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN ANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
@ -122,11 +156,11 @@ export FTPPAT2="NW-GYX"
export NFTPATTEMPTS="3" export NFTPATTEMPTS="3"
export WAVECPS="multi_1.NW-GYX58.spec.swan" export WAVECPS="multi_1.NW-GYX58.spec.swan"
# #
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES UST BE COENTED. IF YOU ADD BOUNDARY COAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOAIN, ADD THE WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REAIN AS A COENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
#BOUN SEG XY 289.14 42.40 292.15 42.40 VAR FILE 0.00 'multi_1.NW-GYX51.spec.swan' 1 & #BOUN SEG XY 289.14 42.40 292.15 42.40 VAR FILE 0.00 'multi_1.NW-GYX51.spec.swan' 1 &
@ -136,56 +170,11 @@ export WAVECPS="multi_1.NW-GYX58.spec.swan"
# 2.00 'multi_1.NW-GYX55.spec.swan' 1 & # 2.00 'multi_1.NW-GYX55.spec.swan' 1 &
# 2.50 'multi_1.NW-GYX56.spec.swan' 1 & # 2.50 'multi_1.NW-GYX56.spec.swan' 1 &
# 3.00 'multi_1.NW-GYX57.spec.swan' 1 & # 3.00 'multi_1.NW-GYX57.spec.swan' 1 &
# 3.01 'multi_1.NW-GYX58.spec.swan.cp' 1 # 3.01 'multi_1.NW-GYX58.spec.swan.cp' 1
#$ #$
#BOUN SEG XY 292.15 42.40 292.15 44.40 VAR FILE 0.00 'multi_1.NW-GYX58.spec.swan' 1 & #BOUN SEG XY 292.15 42.90 292.15 44.40 VAR FILE 0.00 'multi_1.NW-GYX59.spec.swan' 1 &
# 0.50 'multi_1.NW-GYX59.spec.swan' 1 & # 0.50 'multi_1.NW-GYX60.spec.swan' 1 &
# 1.00 'multi_1.NW-GYX60.spec.swan' 1 & # 1.00 'multi_1.NW-GYX61.spec.swan' 1 &
# 1.50 'multi_1.NW-GYX61.spec.swan' 1 & # 1.50 'multi_1.NW-GYX62.spec.swan' 1
# 2.00 'multi_1.NW-GYX62.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RIP
#

View file

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 02/01/13 # Date Last Modified: 02/01/13
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# HGX = # HGX =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -47,30 +47,32 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is off below # ACTIVATE NEST/S: default is off below
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="1" export NESTGRIDS="1"
export NESTINCG1="YES"
#
export NELATN1="29.80" export NELATN1="29.80"
export NELONN1="-94.46" export NELONN1="-94.46"
export SWLATN1="29.00" export SWLATN1="29.00"
@ -80,7 +82,7 @@ export TSTEPN1="3"
export STATN1="STA" export STATN1="STA"
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -104,12 +106,12 @@ export SPECPOINTS="KXIH:29.180:-94.521 42019:27.913:-95.353 42043:28.982:-94.919
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -117,9 +119,9 @@ export NELATWT="30.50"
export NELONWT="-93.37" export NELONWT="-93.37"
export SWLATWT="27.00" export SWLATWT="27.00"
export SWLONWT="-97.40" export SWLONWT="-97.40"
export GEORESWT="3.0" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -134,9 +136,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -149,7 +151,7 @@ export WAVECPS="multi_1.HGX58.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

@ -28,7 +28,8 @@ export NELAT="34.80"
export NELON="-76.50" export NELON="-76.50"
export SWLAT="32.50" export SWLAT="32.50"
export SWLON="-80.40" export SWLON="-80.40"
export RES="2.0" export RES="2.5"
#export TSTEP="1"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -46,6 +47,7 @@ export TSTEP="3"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="0" export NESTGRIDS="0"
export NESTINCG1="YES"
# ILM Nest # ILM Nest
export NELATN1="" export NELATN1=""
export NELONN1="" export NELONN1=""
@ -137,47 +139,3 @@ export WAVECPS="multi_1.NW-ILM59.spec.swan"
#2.00 'multi_1.NW-ILM63.spec.swan' 1 #2.00 'multi_1.NW-ILM63.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RIP
#

100
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/JAX Normal file → Executable file
View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag # Date Last Modified: 05/11/13...ag
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# JAX = # JAX =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,67 +46,67 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for JAX # ACTIVATE NEST/S: default is on for JAX
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="4" export NESTGRIDS="4"
export NESTINCG1="YES"
# #
# NEST 1...ST. ANDREWS SOUND # NEST 1 = CG2 DOMAIN @ ST. ANDREWS SOUND
export NELATN1="31.15" export NELATN1="31.29"
export NELONN1="-81.26" export NELONN1="-81.25"
export SWLATN1="30.95" export SWLATN1="30.93"
export SWLONN1="-81.46" export SWLONN1="-81.47"
export RESN1=".5" export RESN1=".5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="STA" export STATN1="STA"
# NEST 2...KINGS BAY/ST MARYS AND MAYPORT # NEST 2 = CG3 DOMAIN @ KINGS BAY/ST MARYS ENTRANCE
export NELATN2="30.76" export NELATN2="30.78"
export NELONN2="-81.10" export NELONN2="-81.26"
export SWLATN2="30.23" export SWLATN2="30.62"
export SWLONN2="-81.63" export SWLONN2="-81.49"
export RESN2=".5" export RESN2=".2"
export TSTEPN2="3" export TSTEPN2="3"
export STATN2="STA" export STATN2="STA"
# NEST 3...MAYPORT # NEST 3 = CG4 DOMAIN @ MAYPORT
export NELATN3="30.20" export NELATN3="30.43"
export NELONN3="-81.33" export NELONN3="-81.36"
export SWLATN3="30.00" export SWLATN3="30.38"
export SWLONN3="-81.43" export SWLONN3="-81.43"
export RESN3=".5" export RESN3=".2"
export TSTEPN3="3" export TSTEPN3="3"
export STATN3="STA" export STATN3="STA"
# NEST 4...ST AUGUSTINE AND MATANZAS INLETS # NEST 4 = CG5 DOMAIN @ ST AUGUSTINE
export NELATN4="29.97" export NELATN4="29.96"
export NELONN4="-81.15" export NELONN4="-81.24"
export SWLATN4="29.77" export SWLATN4="29.87"
export SWLONN4="-81.35" export SWLONN4="-81.32"
export RESN4=".5" export RESN4=".3"
export TSTEPN4="3" export TSTEPN4="3"
export STATN4="STA" export STATN4="STA"
# #
#
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -130,12 +130,12 @@ export SPECPOINTS="SJM:30.398:-81.37 MTZ:29.706:-81.223 SAI:29.912:-81.281 NSS:3
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -145,7 +145,7 @@ export SWLATWT="28.70"
export SWLONWT="-81.70" export SWLONWT="-81.70"
export GEORESWT="3.5" export GEORESWT="3.5"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -160,9 +160,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -175,7 +175,7 @@ export WAVECPS="multi_1.JXFL60.spec.swan,multi_1.JXFL53.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------
main File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag # Date Last Modified: 05/11/13...ag
# #
@ -9,15 +9,15 @@ main File
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# KEY = # KEY =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for KEY # ACTIVATE NEST/S: default is on for KEY
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="1" export NESTGRIDS="1"
export NESTINCG1="YES"
# #
# NEST 1..all reef/keys domain # NEST 1..all reef/keys domain
export NELATN1="25.40" export NELATN1="25.40"
@ -90,7 +91,7 @@ export STATN1="NON"
# #
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -114,12 +115,12 @@ export SPECPOINTS="PLSF1:24.720:-82.860 SANF1:24.460:-81.940 SMKF1:24.600:-81.17
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -127,9 +128,9 @@ export NELATWT="26.00"
export NELONWT="-79.00" export NELONWT="-79.00"
export SWLATWT="23.00" export SWLATWT="23.00"
export SWLONWT="-83.50" export SWLONWT="-83.50"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -144,9 +145,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -159,7 +160,7 @@ export WAVECPS="multi_1.KEY51.spec.swan,multi_1.KEY63.spec.swan,multi_1.KEY68.sp
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
@ -183,12 +184,12 @@ export WAVECPS="multi_1.KEY51.spec.swan,multi_1.KEY63.spec.swan,multi_1.KEY68.sp
#3.90 'multi_1.KEY65.spec.swan' 1 & #3.90 'multi_1.KEY65.spec.swan' 1 &
#4.10 'multi_1.KEY66.spec.swan' 1 & #4.10 'multi_1.KEY66.spec.swan' 1 &
#4.30 'multi_1.KEY67.spec.swan' 1 & #4.30 'multi_1.KEY67.spec.swan' 1 &
#4.50 'multi_1.KEY68.spec.swan.cp' 1 #4.50 'multi_1.KEY68.spec.swan.cp' 1
#$ Eastern Boundary #$ Eastern Boundary
#BOUN SEG XY 281.00 23.00 281.00 26.00 VAR FILE 0.00 'multi_1.KEY68.spec.swan' 1 & #BOUN SEG XY 281.00 23.00 281.00 26.00 VAR FILE 0.00 'multi_1.KEY68.spec.swan' 1 &
#0.20 'multi_1.KEY69.spec.swan' 1 & #0.20 'multi_1.KEY69.spec.swan' 1 &
#0.40 'multi_1.KEY70.spec.swan' 1 & #0.40 'multi_1.KEY70.spec.swan' 1 &
#3.00 'multi_1.KEY71.spec.swan.cp' 1 #3.00 'multi_1.KEY71.spec.swan.cp' 1
#$ Northern Boundary #$ Northern Boundary
#BOUN SEG XY 281.00 26.00 276.5 26.00 VAR FILE 0.00 'multi_1.KEY71.spec.swan' 1 & #BOUN SEG XY 281.00 26.00 276.5 26.00 VAR FILE 0.00 'multi_1.KEY71.spec.swan' 1 &
#0.20 'multi_1.KEY72.spec.swan' 1 & #0.20 'multi_1.KEY72.spec.swan' 1 &

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 02/01/13 # Date Last Modified: 02/01/13
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# LCH = # LCH =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is off below # ACTIVATE NEST/S: default is off below
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="1" export NESTGRIDS="0"
export NESTINCG1="YES"
# #
# NEST 1 # NEST 1
export NELATN1="29.88" export NELATN1="29.88"
@ -108,7 +109,7 @@ export TSTEPN4="3"
export STATN4="STA" export STATN4="STA"
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -121,7 +122,7 @@ export STATN4="STA"
# Spectra points defined as space delimited list of: # Spectra points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...."
# #
export SPECPOINTS="42035:29.232:-92.413" export SPECPOINTS="42035:29.232:-94.413 CCBuoy:29.333:-93.221 SBBuoy:29.417:-93.667 ABuoy:29.167:-91.565 MRSL1:29.440:-92.060"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
@ -132,12 +133,12 @@ export SPECPOINTS="42035:29.232:-92.413"
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -145,9 +146,9 @@ export NELATWT="30.30"
export NELONWT="-90.43" export NELONWT="-90.43"
export SWLATWT="27.41" export SWLATWT="27.41"
export SWLONWT="-95.03" export SWLONWT="-95.03"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -162,9 +163,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -177,7 +178,7 @@ export WAVECPS="multi_1.LCH54.spec.swan,multi_1.LCH59.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 02/01/13 # Date Last Modified: 02/01/13
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# LIX = # LIX =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for LIX # ACTIVATE NEST/S: default is on for LIX
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="0" export NESTGRIDS="1"
export NESTINCG1="YES"
# #
# NEST 1 # NEST 1
export NELATN1="30.40" export NELATN1="30.40"
@ -78,11 +79,11 @@ export SWLATN1="29.3"
export SWLONN1="-90.6" export SWLONN1="-90.6"
export RESN1="1.25" export RESN1="1.25"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="STA" export STATN1="NON"
# #
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -95,7 +96,7 @@ export STATN1="STA"
# Spectra points defined as space delimited list of: # Spectra points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...."
# #
export SPECPOINTS="42040:29.212:-88.207" export SPECPOINTS="42040:29.212:-88.207 BPass:29.014:-90.206 ChRim:29.658:-88.799 BrRim:29.149:-89.536 SWPass:28.856:-89.456"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
@ -106,12 +107,12 @@ export SPECPOINTS="42040:29.212:-88.207"
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -119,9 +120,9 @@ export NELATWT="30.60"
export NELONWT="-87.40" export NELONWT="-87.40"
export SWLATWT="27.50" export SWLATWT="27.50"
export SWLONWT="-91.80" export SWLONWT="-91.80"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -136,9 +137,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -151,7 +152,7 @@ export WAVECPS="multi_1.LIX54.spec.swan,multi_1.LIX63.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

View file

View file

@ -46,6 +46,7 @@ export TSTEP="3"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="0" export NESTGRIDS="0"
export NESTINCG1="YES"
# LWX Nest # LWX Nest
export NELATN1="" export NELATN1=""
export NELONN1="" export NELONN1=""

View file

@ -29,7 +29,6 @@ export NELON="-78.41"
export SWLAT="24.10" export SWLAT="24.10"
export SWLON="-83.54" export SWLON="-83.54"
export RES="2.0" export RES="2.0"
#export RES="6"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -47,9 +46,11 @@ export TSTEP="3"
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="4" export NESTGRIDS="4"
export NESTINCG1="YES"
#
# MIAMI BEACH - HAULOVER INLET # MIAMI BEACH - HAULOVER INLET
export NELATN1="26.00" export NELATN1="26.00"
export NELONN1="-79.87" export NELONN1="-80.03"
export SWLATN1="25.85" export SWLATN1="25.85"
export SWLONN1="-80.13" export SWLONN1="-80.13"
export RESN1=".1" export RESN1=".1"
@ -65,8 +66,8 @@ export RESN2=".120"
export TSTEPN2="3" export TSTEPN2="3"
export STATN2="NON" export STATN2="NON"
# #
# JUPITER - JUPITER INLET - CAM AVAILABLE # JUPITER - JUPITER INLET - CAM AVAILABLE - Slightly Different at WCOSS
export NELATN3="26.945" export NELATN3="26.95"
export NELONN3="-80.02" export NELONN3="-80.02"
export SWLATN3="26.89" export SWLATN3="26.89"
export SWLONN3="-80.07" export SWLONN3="-80.07"
@ -119,7 +120,7 @@ export GEORESWT="3.0"
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
export WVTRKPA="10. 1. 0.25 0.1 10. 1." export WVTRKPA="40. 9. 0.25 0.1 40. 9."
# #
#======================================================================== #========================================================================
# CURRENTS DEFINITION (SEE SWAN MANUAL) = # CURRENTS DEFINITION (SEE SWAN MANUAL) =
@ -213,11 +214,69 @@ export RIPCONT="5m"
# POIN '5mcont' 279.887 25.8725 # POIN '5mcont' 279.887 25.8725
# #
#$RIP LINES #$RIP LINES
#$ Ray for 5m contour data. #$ Points along ~ 5m contour.
#$
#RAY 'ray1' 279.88 25.85 279.91 25.85 8 279.88 25.895 279.91 25.895
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT YYYYMMDD.HHMM H.M HR
#$ #$
#POINTS '5mcont' &
#279.892 25.8500 &
#279.890 25.8556 &
#279.889 25.8611 &
#279.888 25.8667 &
#279.887 25.8722 &
#279.886 25.8778 &
#279.886 25.8833 &
#279.886 25.8889 &
#279.885 25.8950 &
#279.885 25.9056 &
#279.886 25.9111 &
#279.886 25.9167 &
#279.887 25.9222 &
#279.887 25.9278 &
#279.887 25.9333 &
#279.886 25.9389 &
#279.886 25.9444 &
#279.887 25.9500 &
#279.887 25.9556 &
#279.887 25.9611 &
#279.888 25.9667 &
#279.888 25.9722 &
#279.888 25.9778 &
#279.889 25.9833 &
#279.889 25.9889 &
#279.889 25.9944 &
#279.889 26.0000
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20110825.1200 1.0 HR
#$END RIP #$END RIP
# #
#========================================================================
# RUNUP PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RUNUP PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RUNUPPROG="1"
export RUNUPDOMAIN="CG4"
export RUNUPCONT="20m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: SEE ABOVE FOR RIPCURRENT
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RUNUP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# RUNUP (RUNUPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '20mcont' 279.887 25.8725
#
#$RUNUP LINES
#$ Ray for 20m contour data.
#$
#RAY 'ray2' 279.95 26.895 279.98 26.895 50 279.95 26.94 279.98 26.94
#ISOLINE '20mcont' 'ray2' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG4' TIME XP YP HSIGN TPS DIR VEL WATL WIND OUTPUT 20110825.1200 1.0 HR
#$
#$END RUNUP
#

View file

886
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/MHX Normal file → Executable file
View file

@ -1,34 +1,35 @@
#------------------------------------------------------------------------ #-----------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last Modified: 02/01/13
# #
# Version control: 1.33 # Version control: 1.33
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# MFL = # MFL =
# GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP =
#======================================================================== #========================================================================
# MHX domain...
export SITEID="MHX" export SITEID="MHX"
export REGIONID="ER" export REGIONID="ER"
export NELAT="37.1" export NELAT="36.60"
export NELON="-75.25" export NELON="-74.75"
export SWLAT="33.85" export SWLAT="33.85"
export SWLON="-78.00" export SWLON="-78.00"
export RES="2.0" export RES="1.8"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -37,56 +38,82 @@ export TSTEP="3"
# nested in the main grid, and get the boundary conditions only from it = # nested in the main grid, and get the boundary conditions only from it =
# = # =
#======================================================================== #========================================================================
# NESTGRIDS: Number of nested grids, if = 0, nested grids and # NESTGRIDS: Number of nested grids, if = 0, no nested grids and
# location numbers below will be ignore regardless of input specifications # location numbers below will be ignore
# #
# STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS # STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS
# The default values is NONstationary for CG1 and STAtionary for the # The default values is NONstationary for CG1 and STAtionary for the
# nested grids. Change this only if you know what you are doing. # nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="1" export NESTGRIDS="4"
# MHX Nest export NESTINCG1="YES"
export NELATN1="" #
export NELONN1="" export NELATN1="36.30"
export SWLATN1="" export NELONN1="-75.50"
export SWLONN1="" export SWLATN1="36.00"
export RESN1=".1" export SWLONN1="-75.8"
export RESN1=".5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="NON"
# #
export NELATN2="36.05"
export NELONN2="-75.63"
export SWLATN2="36.00"
export SWLONN2="-75.68"
export RESN2=".045"
export TSTEPN2="3"
export STATN2="NON"
#
export NELATN3="34.77"
export NELONN3="-76.9"
export SWLATN3="34.4"
export SWLONN3="-77.27"
export RESN3=".5"
export TSTEPN3="3"
export STATN3="NON"
#
export NELATN4="34.68"
export NELONN4="-77.00"
export SWLATN4="34.60"
export SWLONN4="-77.15"
export RESN4=".09"
export TSTEPN4="3"
export STATN4="NON"
#
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS =
#======================================================================== #========================================================================
# Specta points defined as space delimited list of: # Specta points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...."
# # (285.158,36.611)
export SPECPOINTS="41109:34.487:-77.3 44095:35.750:-75.33 41036:34.207:-76.949 44014:36.611:-74.842 41025:35.006:-75.402" export SPECPOINTS="41036:34.207:-76.949 44095:35.750:-75.330 Big_Rock:34.200:-76.200 Diamond:35.150:-75.360 Knuckle:34.447:-76.470"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
# SET: SUBDOMHXN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS = # SET: SUBDOMIAN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS =
#======================================================================== #========================================================================
# IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF" # IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF"
# IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW # IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL #IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be change in a new version, the user can get 1d-spectra but not g-h plots). # (This will be change in a new version, the user can get 1d-spectra but not g-h plots).
export WVTONCG="0" export WVTONCG="0"
export NELATWT="37.1" export NELATWT="36.60"
export NELONWT="-75.25" export NELONWT="-74.75"
export SWLATWT="33.85" export SWLATWT="33.85"
export SWLONWT="-78.00" export SWLONWT="-78.00"
export GEORESWT="3.5" #export SWLONWT="-78.00" #For testing. Reduces the domain for wave tracking
export GEORESWT="5.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -101,9 +128,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -116,29 +143,31 @@ export WAVECPS="multi_1.NW-MHX58.spec.swan,multi_1.NW-MHX64.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
#BOUN SEG XY 284.17 36.60 285.25 36.60 VAR FILE 0.00 'multi_1.NW-MHX67.spec.swan' 1 & #BOUN SEG XY 284.17 36.60 285.25 36.60 VAR FILE 0.00 'multi_1.NW-MHX67.spec.swan' 1 &
# 0.08 'multi_1.NW-MHX66.spec.swan' 1 & # 0.08 'multi_1.NW-MHX66.spec.swan' 1 &
# 0.58 'multi_1.NW-MHX65.spec.swan' 1 & # 0.58 'multi_1.NW-MHX65.spec.swan' 1 &
# 1.08 'multi_1.NW-MHX64.spec.swan.cp' 1 & # 1.08 'multi_1.NW-MHX64.spec.swan' 1
#$ #$
#BOUN SEG XY 285.25 36.35 285.25 33.85 VAR FILE 0.00 'multi_1.NW-MHX63.spec.swan' 1 & #BOUN SEG XY 285.25 36.60 285.25 33.85 VAR FILE 0.00 'multi_1.NW-MHX64.spec.swan.cp' 1 &
# 0.50 'multi_1.NW-MHX62.spec.swan' 1 & # 0.25 'multi_1.NW-MHX63.spec.swan' 1 &
# 1.00 'multi_1.NW-MHX61.spec.swan' 1 & # 0.75 'multi_1.NW-MHX62.spec.swan' 1 &
# 1.50 'multi_1.NW-MHX60.spec.swan' 1 & # 1.25 'multi_1.NW-MHX61.spec.swan' 1 &
# 2.00 'multi_1.NW-MHX59.spec.swan' 1 & # 1.75 'multi_1.NW-MHX60.spec.swan' 1 &
# 2.50 'multi_1.NW-MHX58.spec.swan.cp' 1 # 2.25 'multi_1.NW-MHX59.spec.swan' 1 &
# 2.75 'multi_1.NW-MHX58.spec.swan' 1
#$ #$
#BOUN SEG XY 285.09 33.85 282.09 33.85 VAR FILE 0.00 'multi_1.NW-MHX57.spec.swan' 1 & #BOUN SEG XY 285.25 33.85 282.09 33.85 VAR FILE 0.00 'multi_1.NW-MHX58.spec.swan.cp' 1 &
# 0.50 'multi_1.NW-MHX56.spec.swan' 1 & # 0.16 'multi_1.NW-MHX57.spec.swan' 1 &
# 1.00 'multi_1.NW-MHX55.spec.swan' 1 & # 0.66 'multi_1.NW-MHX56.spec.swan' 1 &
# 1.50 'multi_1.NW-MHX54.spec.swan' 1 & # 1.16 'multi_1.NW-MHX55.spec.swan' 1 &
# 2.00 'multi_1.NW-MHX53.spec.swan' 1 & # 1.66 'multi_1.NW-MHX54.spec.swan' 1 &
# 2.50 'multi_1.NW-MHX52.spec.swan' 1 & # 2.16 'multi_1.NW-MHX53.spec.swan' 1 &
# 3.00 'multi_1.NW-MHX51.spec.swan' 1 # 2.66 'multi_1.NW-MHX52.spec.swan' 1 &
# 3.16 'multi_1.NW-MHX51.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #
#======================================================================== #========================================================================
@ -147,8 +176,8 @@ export WAVECPS="multi_1.NW-MHX58.spec.swan,multi_1.NW-MHX64.spec.swan"
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0; # IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program. # Setting up RIPCONT here to zero will permanently disable RIP program.
# #
export RIPPROG="0" export RIPPROG="1"
export RIPDOMAIN="CG2" export RIPDOMAIN="CG3"
export RIPCONT="5m" export RIPCONT="5m"
# #
#___________________________________________________________________________ #___________________________________________________________________________
@ -162,7 +191,7 @@ export RIPCONT="5m"
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62 # RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
# #
# ISOLINE '5mcont' 'ray1' BOTtom 10 # ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR # TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 1.0 HR
#_____________________________________________________________________________ #_____________________________________________________________________________
# #
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
@ -173,15 +202,750 @@ export RIPCONT="5m"
# POIN '5mcont' 279.887 25.8725 # POIN '5mcont' 279.887 25.8725
# #
#$RIP LINES #$RIP LINES
#$ Ray for 5m and 20m contour data. #$ Ray for 5m contour data.
#$ #$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15 #RAY 'ray1' 284.32 36.00 284.37 36.00 5 284.32 36.05 284.37 36.05
#ISOLINE '5mcont' 'ray1' BOTtom 5 #ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR #TABLE '5mcont' HEAD '5m_contour_CG3' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20140804.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$ #$
#$END RIP #$END RIP
# #
#
#========================================================================
# RUNUP PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RUNUP PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RUNUPPROG="1"
export RUNUPDOMAIN="CG2"
export RUNUPCONT="20m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: SEE ABOVE FOR RIPCURRENT
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RUNUP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# RUNUP (RUNUPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '20mcont' 279.887 25.8725
#
#$RUNUP LINES
#$ Ray for 20m contour data.
#$
#RAY 'ray2' 284.20 36.00 284.50 36.00 66 284.20 36.30 284.50 36.30
#ISOLINE '20mcont' 'ray2' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR VEL WATL WIND OUTPUT 20110825.1200 1.0 HR
#$
#$END RUNUP
#
#========================================================================
# OBSTACLES (SEE SWAN MANUAL) =
#========================================================================
# IF OBSTACLES WILL BE USED, then USEOBSTA=1, Otherwise =0;
# Setting up OBSTACLE here to zero will permanently disable OBSTACLES.
#
export USEOBSTA="1"
export OBSTADOMAIN="CG1"
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD OBSTACLES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# OBSTACLES (USEOBSTA="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
#
#$OBSTACLES LINES
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#284.07 36.691389999999998 &
#284.07 36.689860000000003 &
#284.08 36.672359999999998 &
#284.08 36.668610000000001 &
#284.08 36.667420000000000 &
#284.08 36.655079999999998 &
#284.08 36.650419999999997 &
#284.08 36.643500000000003 &
#284.09 36.642310000000002 &
#284.08 36.637110000000000 &
#284.09 36.625439999999998 &
#284.09 36.621920000000003 &
#284.09 36.618859999999998 &
#284.09 36.612530000000000 &
#284.1 36.609220000000001 &
#284.1 36.602530000000002 &
#284.1 36.599060000000001 &
#284.11 36.590719999999997 &
#284.1 36.585859999999997 &
#284.11 36.566670000000002 &
#284.11 36.564030000000002 &
#284.1 36.570830000000001 &
#284.1 36.570169999999997 &
#284.11 36.553500000000000 &
#284.1 36.549190000000003 &
#284.1 36.539810000000003 &
#284.11 36.537170000000003 &
#284.11 36.541750000000000 &
#284.11 36.539920000000002 &
#284.11 36.535060000000001 &
#284.1 36.534810000000000 &
#284.09 36.520670000000003 &
#284.1 36.511830000000003 &
#284.11 36.517139999999998 &
#284.11 36.515810000000002 &
#284.12 36.518250000000002 &
#284.12 36.523080000000000 &
#284.12 36.518859999999997 &
#284.12 36.497140000000002 &
#284.12 36.483310000000003 &
#284.12 36.474530000000001 &
#284.12 36.472360000000002 &
#284.13 36.474860000000000 &
#284.12 36.467170000000003 &
#284.13 36.467500000000001 &
#284.13 36.463940000000001 &
#284.12 36.463079999999998 &
#284.12 36.459919999999997 &
#284.14 36.455889999999997 &
#284.13 36.453110000000002 &
#284.12 36.444920000000003 &
#284.13 36.439169999999997 &
#284.13 36.439079999999997 &
#284.13 36.443390000000001 &
#284.14 36.428420000000003 &
#284.15 36.431559999999998 &
#284.14 36.423189999999998 &
#284.16 36.421439999999997 &
#284.15 36.415640000000003 &
#284.15 36.412390000000002 &
#284.15 36.401560000000003 &
#284.16 36.401359999999997 &
#284.15 36.389940000000003 &
#284.16 36.386060000000001 &
#284.15 36.376860000000001 &
#284.16 36.373139999999999 &
#284.17 36.367170000000002 &
#284.17 36.355690000000003 &
#284.17 36.347499999999997 &
#284.18 36.318779999999997 &
#284.18 36.307310000000001 &
#284.18 36.292969999999997 &
#284.19 36.292969999999997 &
#284.19 36.287329999999997 &
#284.2 36.263060000000003 &
#284.21 36.257280000000002 &
#284.22 36.245359999999998 &
#284.21 36.229080000000003 &
#284.22 36.228220000000000 &
#284.22 36.230640000000001 &
#284.22 36.226889999999997 &
#284.22 36.224220000000003 &
#284.23 36.224530000000001 &
#284.24 36.164810000000003 &
#284.25 36.152030000000003 &
#284.25 36.143169999999998 &
#284.25 36.137189999999997 &
#284.25 36.129689999999997 &
#284.26 36.104309999999998 &
#284.25 36.129030000000000 &
#284.25 36.123860000000001 &
#284.26 36.082889999999999 &
#284.26 36.041220000000003 &
#284.27 36.040640000000003 &
#284.28 36.047390000000000 &
#284.28 36.047440000000002 &
#284.3 36.058689999999999 &
#284.31 36.049810000000001 &
#284.31 36.026029999999999 &
#284.32 36.019970000000001 &
#284.32 36.017280000000000 &
#284.31 36.016440000000003 &
#284.31 36.007140000000000 &
#284.32 36.000000000000000 &
#284.32 35.990389999999998 &
#284.33 35.978310000000000 &
#284.33 35.972329999999999 &
#284.34 35.968249999999998 &
#284.35 35.966439999999999 &
#284.36 35.960189999999997 &
#284.39 35.909140000000001 &
#284.39 35.905810000000002 &
#284.39 35.908560000000001 &
#284.39 35.906329999999997 &
#284.38 35.900250000000000 &
#284.38 35.900919999999999 &
#284.37 35.891689999999997 &
#284.38 35.887889999999999 &
#284.38 35.897219999999997 &
#284.39 35.899439999999998 &
#284.39 35.891939999999998 &
#284.38 35.894250000000000 &
#284.39 35.878189999999996 &
#284.4 35.884189999999997 &
#284.39 35.875470000000000 &
#284.4 35.875079999999997 &
#284.4 35.853000000000002 &
#284.41 35.850420000000000 &
#284.41 35.845190000000002 &
#284.41 35.845860000000002 &
#284.43 35.829140000000002 &
#284.42 35.823279999999997 &
#284.42 35.817720000000001 &
#284.43 35.813110000000002 &
#284.43 35.807560000000002 &
#284.44 35.808190000000003 &
#284.45 35.804670000000002 &
#284.45 35.796830000000000 &
#284.45 35.794829999999997 &
#284.45 35.796920000000000 &
#284.46 35.790529999999997 &
#284.46 35.775579999999998 &
#284.46 35.776690000000002 &
#284.46 35.787360000000000 &
#284.46 35.795859999999998 &
#284.44 35.841580000000000 &
#284.35 36.004420000000003 &
#284.29 36.097000000000001 &
#284.27 36.132440000000003 &
#284.21 36.265439999999998 &
#284.17 36.383330000000001 &
#284.17 36.408389999999997 &
#284.14 36.505670000000002 &
#284.12 36.600720000000003 &
#284.11 36.638109999999998 &
#284.07 36.711559999999999 &
#284.05 36.756059999999998
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#284.47 35.774079999999998 &
#284.48 35.763640000000002 &
#284.47 35.757280000000002 &
#284.48 35.750190000000003 &
#284.48 35.735999999999997 &
#284.49 35.734830000000002 &
#284.48 35.730170000000001 &
#284.49 35.726860000000002 &
#284.48 35.719690000000000 &
#284.49 35.717889999999997 &
#284.49 35.714280000000002 &
#284.49 35.708610000000000 &
#284.49 35.706940000000003 &
#284.49 35.704030000000003 &
#284.49 35.705500000000001 &
#284.5 35.697389999999999 &
#284.5 35.688499999999998 &
#284.51 35.685499999999998 &
#284.5 35.683250000000001 &
#284.51 35.680689999999998 &
#284.51 35.681919999999998 &
#284.52 35.673169999999999 &
#284.51 35.668329999999997 &
#284.51 35.670529999999999 &
#284.51 35.669469999999997 &
#284.5 35.662529999999997 &
#284.51 35.664529999999999 &
#284.51 35.655749999999998 &
#284.52 35.651780000000002 &
#284.51 35.641559999999998 &
#284.53 35.625419999999998 &
#284.53 35.600639999999999 &
#284.52 35.595970000000001 &
#284.53 35.572330000000001 &
#284.52 35.561219999999999 &
#284.52 35.565860000000001 &
#284.52 35.562579999999997 &
#284.52 35.558329999999998 &
#284.52 35.559170000000002 &
#284.52 35.548220000000001 &
#284.52 35.542140000000003 &
#284.52 35.531250000000000 &
#284.51 35.530999999999999 &
#284.51 35.514560000000003 &
#284.51 35.509439999999998 &
#284.51 35.510030000000000 &
#284.51 35.504939999999998 &
#284.51 35.501220000000004 &
#284.51 35.482500000000002 &
#284.51 35.480780000000003 &
#284.51 35.450560000000003 &
#284.51 35.440060000000003 &
#284.5 35.439190000000004 &
#284.51 35.438920000000003 &
#284.5 35.415689999999998 &
#284.51 35.415250000000000 &
#284.5 35.397419999999997 &
#284.5 35.385860000000001 &
#284.5 35.372329999999998 &
#284.49 35.365890000000000 &
#284.49 35.363779999999998 &
#284.48 35.352280000000000 &
#284.48 35.350059999999999 &
#284.48 35.339170000000003 &
#284.48 35.325780000000002 &
#284.49 35.326779999999999 &
#284.48 35.313470000000002 &
#284.48 35.311109999999999 &
#284.48 35.303690000000003 &
#284.48 35.284250000000000 &
#284.48 35.280419999999999 &
#284.47 35.281939999999999 &
#284.48 35.270780000000002 &
#284.46 35.274110000000000 &
#284.42 35.263190000000002 &
#284.4 35.272280000000002 &
#284.4 35.261969999999998 &
#284.4 35.257890000000003 &
#284.38 35.249079999999999 &
#284.36 35.229109999999999 &
#284.33 35.219920000000002 &
#284.32 35.220610000000001 &
#284.32 35.232439999999997 &
#284.32 35.236919999999998 &
#284.32 35.237420000000000 &
#284.3 35.211860000000001 &
#284.29 35.210610000000003 &
#284.29 35.208060000000003 &
#284.28 35.203360000000004 &
#284.27 35.203809999999997 &
#284.25 35.196219999999997 &
#284.26 35.189140000000002 &
#284.37 35.226669999999999 &
#284.43 35.234890000000000 &
#284.45 35.233390000000000 &
#284.46 35.226529999999997 &
#284.47 35.232219999999998 &
#284.47 35.223920000000000 &
#284.47 35.222389999999997 &
#284.47 35.230860000000000 &
#284.5 35.362810000000003 &
#284.51 35.404029999999999 &
#284.52 35.481830000000002 &
#284.53 35.539110000000001 &
#284.54 35.595109999999998 &
#284.52 35.679440000000000 &
#284.51 35.724330000000002 &
#284.5 35.743639999999999 &
#284.48 35.775970000000001 &
#284.47 35.779249999999998
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#284.31 35.937420000000003 &
#284.29 35.939940000000000 &
#284.28 35.939970000000002 &
#284.27 35.934719999999999 &
#284.27 35.924939999999999 &
#284.3 35.915250000000000 &
#284.3 35.910719999999998 &
#284.3 35.910809999999998 &
#284.3 35.902389999999997 &
#284.31 35.889749999999999 &
#284.32 35.884140000000002 &
#284.33 35.880670000000002 &
#284.33 35.871530000000000 &
#284.34 35.854669999999999 &
#284.33 35.850420000000000 &
#284.34 35.837719999999997 &
#284.32 35.829169999999998 &
#284.33 35.827440000000003 &
#284.33 35.832360000000001 &
#284.34 35.832220000000000 &
#284.34 35.825719999999997 &
#284.34 35.824080000000002 &
#284.34 35.821579999999997 &
#284.35 35.822830000000003 &
#284.35 35.819170000000000 &
#284.36 35.814940000000000 &
#284.36 35.818219999999997 &
#284.37 35.808190000000003 &
#284.37 35.810000000000002 &
#284.38 35.807029999999997 &
#284.38 35.811500000000002 &
#284.38 35.814749999999997 &
#284.38 35.813330000000001 &
#284.38 35.819530000000000 &
#284.38 35.822420000000001 &
#284.38 35.839640000000003 &
#284.38 35.841500000000003 &
#284.38 35.843809999999998 &
#284.37 35.852469999999997 &
#284.36 35.859110000000001 &
#284.36 35.865830000000003 &
#284.36 35.868220000000001 &
#284.38 35.852670000000003 &
#284.38 35.850810000000003 &
#284.39 35.853389999999997 &
#284.38 35.864280000000001 &
#284.38 35.874279999999999 &
#284.35 35.910640000000001 &
#284.35 35.911529999999999 &
#284.35 35.904919999999997 &
#284.34 35.904029999999999 &
#284.34 35.900750000000002 &
#284.33 35.901580000000003 &
#284.33 35.909140000000001 &
#284.34 35.909689999999998 &
#284.34 35.920310000000001 &
#284.33 35.926470000000002 &
#284.31 35.933419999999998
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.45 34.604970000000002 &
#283.46 34.593310000000002 &
#283.46 34.581220000000002 &
#283.47 34.601669999999999 &
#283.48 34.625810000000001 &
#283.51 34.673330000000000 &
#283.62 34.792470000000002 &
#283.69 34.859580000000001 &
#283.71 34.875390000000003 &
#283.72 34.882109999999997 &
#283.7 34.872889999999998 &
#283.68 34.853720000000003 &
#283.65 34.828749999999999 &
#283.64 34.819580000000002 &
#283.63 34.813720000000004 &
#283.61 34.784579999999998 &
#283.6 34.793720000000000 &
#283.6 34.784140000000001 &
#283.6 34.775810000000000 &
#283.58 34.756250000000001 &
#283.58 34.763750000000002 &
#283.57 34.762059999999998 &
#283.57 34.764560000000003 &
#283.56 34.760829999999999 &
#283.57 34.757080000000002 &
#283.56 34.759140000000002 &
#283.57 34.752060000000000 &
#283.57 34.752499999999998 &
#283.57 34.757060000000003 &
#283.57 34.750000000000000 &
#283.56 34.748330000000003 &
#283.56 34.732500000000002 &
#283.54 34.723329999999997 &
#283.54 34.718330000000002 &
#283.54 34.715000000000003 &
#283.54 34.707889999999999 &
#283.53 34.708280000000002 &
#283.53 34.700859999999999 &
#283.53 34.697440000000000 &
#283.52 34.699579999999997 &
#283.52 34.697499999999998 &
#283.52 34.694580000000002 &
#283.52 34.693750000000001 &
#283.52 34.689999999999998 &
#283.52 34.688720000000004 &
#283.52 34.692889999999998 &
#283.51 34.689140000000002 &
#283.52 34.680810000000001 &
#283.5 34.676639999999999 &
#283.51 34.669170000000001 &
#283.47 34.625810000000001 &
#283.47 34.612890000000000 &
#283.46 34.609560000000002 &
#283.45 34.610419999999998 &
#283.44 34.619169999999997
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#284.02 35.089030000000001 &
#284.06 35.113219999999998 &
#284.11 35.137560000000001 &
#284.22 35.176749999999998 &
#284.23 35.181139999999999 &
#284.23 35.188530000000000 &
#284.22 35.192580000000000 &
#284.22 35.190669999999997 &
#284.22 35.198439999999998 &
#284.21 35.199719999999999 &
#284.21 35.191029999999998 &
#284.22 35.186190000000003 &
#284.21 35.181669999999997 &
#284.2 35.175109999999997 &
#284.19 35.180140000000002 &
#284.19 35.177750000000003 &
#284.19 35.172440000000002 &
#284.18 35.174190000000003 &
#284.18 35.170140000000004 &
#284.16 35.165860000000002 &
#284.14 35.154969999999999 &
#284.12 35.153250000000000 &
#284.1 35.142420000000001 &
#284.1 35.143189999999997 &
#284.1 35.139220000000002 &
#284.09 35.139919999999996 &
#284.09 35.135750000000002 &
#284.08 35.134999999999998 &
#284.04 35.114139999999999 &
#284.04 35.117559999999997 &
#284.03 35.115810000000003 &
#284.02 35.121690000000001 &
#284.01 35.119360000000000 &
#284.01 35.114530000000002 &
#284.01 35.095109999999998 &
#283.99 35.070000000000000 &
#283.99 35.065420000000003 &
#284 35.067079999999997
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.35 34.346719999999998 &
#282.36 34.350169999999999 &
#282.41 34.392310000000002 &
#282.5 34.452419999999996 &
#282.64 34.523220000000002 &
#282.65 34.524920000000002 &
#282.66 34.535499999999999 &
#282.66 34.543390000000002 &
#282.65 34.545470000000002 &
#282.65 34.541640000000001 &
#282.64 34.537970000000001 &
#282.63 34.521970000000003 &
#282.63 34.517389999999999 &
#282.54 34.487330000000000 &
#282.54 34.484000000000002 &
#282.53 34.479309999999998 &
#282.53 34.478389999999997 &
#282.52 34.481670000000001 &
#282.52 34.476559999999999 &
#282.53 34.473190000000002 &
#282.51 34.463189999999997 &
#282.5 34.462499999999999 &
#282.49 34.452419999999996 &
#282.49 34.461530000000003 &
#282.48 34.461530000000003 &
#282.45 34.429139999999997 &
#282.41 34.413280000000000 &
#282.41 34.408780000000000 &
#282.41 34.400190000000002 &
#282.41 34.396580000000000 &
#282.37 34.373970000000000 &
#282.34 34.348190000000002
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.98 34.674280000000003 &
#282.98 34.678440000000002 &
#282.92 34.660750000000000 &
#282.91 34.660080000000001 &
#282.9 34.647579999999998 &
#282.9 34.644779999999997 &
#282.9 34.642809999999997 &
#282.93 34.652500000000003 &
#283.01 34.671250000000001 &
#283.11 34.682890000000000 &
#283.15 34.690420000000003 &
#283.24 34.697920000000003 &
#283.32 34.692079999999997 &
#283.32 34.696640000000002 &
#283.31 34.701189999999997 &
#283.3 34.712919999999997 &
#283.3 34.709139999999998 &
#283.3 34.700389999999999 &
#283.29 34.705390000000001 &
#283.27 34.702939999999998 &
#283.26 34.711219999999997 &
#283.25 34.711219999999997 &
#283.24 34.703690000000002 &
#283.18 34.705419999999997 &
#283.15 34.694530000000000 &
#283.13 34.694530000000000 &
#283.12 34.690420000000003 &
#283.1 34.691220000000001 &
#283.09 34.685389999999998 &
#283.05 34.679560000000002 &
#283 34.675719999999998
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.14 34.151780000000002 &
#282.13 34.113920000000000 &
#282.13 34.111750000000001 &
#282.14 34.126829999999998 &
#282.15 34.130719999999997 &
#282.15 34.127389999999998 &
#282.14 34.112110000000001 &
#282.13 34.105420000000002 &
#282.14 34.099559999999997 &
#282.13 34.097439999999999 &
#282.13 34.091169999999998 &
#282.13 34.091140000000003 &
#282.13 34.104329999999997 &
#282.12 34.103890000000000 &
#282.12 34.078080000000000 &
#282.13 34.080919999999999 &
#282.14 34.090440000000001 &
#282.17 34.159640000000003 &
#282.19 34.179499999999997 &
#282.18 34.180779999999999 &
#282.17 34.172359999999998 &
#282.16 34.165750000000003
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.35 34.678750000000001 &
#283.36 34.678719999999998 &
#283.4 34.668750000000003 &
#283.43 34.656190000000002 &
#283.45 34.643720000000002 &
#283.47 34.629579999999997 &
#283.47 34.629579999999997 &
#283.48 34.634140000000002 &
#283.47 34.642890000000001 &
#283.47 34.642890000000001 &
#283.47 34.646220000000000 &
#283.46 34.648750000000000 &
#283.46 34.652889999999999 &
#283.44 34.656280000000002 &
#283.43 34.666249999999998 &
#283.42 34.666220000000003 &
#283.41 34.673749999999998 &
#283.4 34.672080000000001 &
#283.37 34.684579999999997 &
#283.35 34.687080000000002 &
#283.34 34.695419999999999 &
#283.33 34.693330000000003
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.23 34.241329999999998 &
#282.23 34.245970000000000 &
#282.24 34.242530000000002 &
#282.25 34.263249999999999 &
#282.27 34.280529999999999 &
#282.28 34.287810000000000 &
#282.29 34.292969999999997 &
#282.26 34.291809999999998 &
#282.24 34.270359999999997 &
#282.24 34.266970000000001 &
#282.24 34.267640000000000 &
#282.23 34.263330000000003 &
#282.21 34.237609999999997 &
#282.19 34.214750000000002 &
#282.17 34.185969999999998 &
#282.18 34.185940000000002 &
#282.18 34.182609999999997 &
#282.19 34.184780000000003 &
#282.23 34.229860000000002
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.88 35.003720000000001 &
#283.92 35.033749999999998 &
#283.95 35.052079999999997 &
#283.96 35.055390000000003 &
#283.97 35.063310000000001 &
#283.95 35.071219999999997 &
#283.96 35.062469999999998 &
#283.96 35.057079999999999 &
#283.95 35.054560000000002 &
#283.89 35.015439999999998 &
#283.89 35.017470000000003 &
#283.9 35.029969999999999 &
#283.89 35.035390000000000 &
#283.89 35.033749999999998 &
#283.89 35.029170000000001 &
#283.89 35.026670000000003 &
#283.89 35.020000000000003 &
#283.89 35.014170000000000 &
#283.87 35.003779999999999
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#284.32 36.004109999999997 &
#284.31 36.004829999999998 &
#284.31 36.000920000000001 &
#284.31 36.010829999999999 &
#284.31 36.025640000000003 &
#284.3 36.011220000000002 &
#284.29 36.012860000000003 &
#284.29 36.022390000000001 &
#284.28 36.025750000000002 &
#284.27 36.024220000000000 &
#284.27 36.015810000000002 &
#284.27 36.003250000000001 &
#284.28 36.003419999999998 &
#284.3 35.993250000000003 &
#284.3 35.998309999999996 &
#284.32 35.994940000000000
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.79 34.936219999999999 &
#283.8 34.939560000000000 &
#283.84 34.974559999999997 &
#283.84 34.980440000000002 &
#283.84 34.977860000000000 &
#283.84 34.980390000000000 &
#283.83 34.980440000000002 &
#283.83 34.969970000000004 &
#283.82 34.971280000000000 &
#283.81 34.965389999999999 &
#283.8 34.960419999999999 &
#283.79 34.938310000000001
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.34 34.341690000000000 &
#282.34 34.348219999999998 &
#282.33 34.345750000000002 &
#282.31 34.352530000000002 &
#282.3 34.344220000000000 &
#282.3 34.334499999999998 &
#282.29 34.321669999999997 &
#282.29 34.296140000000001 &
#282.29 34.289690000000000 &
#282.29 34.291809999999998 &
#282.3 34.304580000000001 &
#282.32 34.322029999999998
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.83 34.621830000000003 &
#282.85 34.630749999999999 &
#282.88 34.636640000000000 &
#282.88 34.641779999999997 &
#282.88 34.644329999999997 &
#282.88 34.642389999999999 &
#282.87 34.646639999999998 &
#282.87 34.646830000000001 &
#282.86 34.640920000000001 &
#282.85 34.641610000000000 &
#282.83 34.624250000000004
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.73 34.885390000000001 &
#283.76 34.904559999999996 &
#283.79 34.935420000000001 &
#283.78 34.935420000000001 &
#283.77 34.922860000000000 &
#283.75 34.902920000000002 &
#283.74 34.902079999999998 &
#283.73 34.894579999999998 &
#283.72 34.891640000000002 &
#283.72 34.885829999999999
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.72 34.562440000000002 &
#282.75 34.583250000000000 &
#282.77 34.590940000000003 &
#282.77 34.596420000000002 &
#282.75 34.595559999999999 &
#282.72 34.564810000000001 &
#282.66 34.534030000000001 &
#282.67 34.532580000000003 &
#282.7 34.546250000000001
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#282.8 34.607439999999997 &
#282.82 34.617809999999999 &
#282.82 34.622329999999998 &
#282.8 34.614080000000001 &
#282.8 34.615360000000003 &
#282.79 34.622500000000002 &
#282.76 34.597920000000002 &
#282.77 34.595689999999998 &
#282.78 34.597690000000000 &
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
#283.912 35.0303 &
#283.875 35.00288 &
#283.849012 34.982795 &
#283.82652 34.966089 &
#283.75813 34.936742 &
#283.75813 34.910643
#$
#$END OBSTACLES
#

View file

@ -69,13 +69,14 @@ export TSTEP="3"
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="0" export NESTGRIDS="1"
export NESTINCG1="YES"
# #
# NEST 1 # NEST 1
export NELATN1="28.13" export NELATN1="28.80"
export NELONN1="-82.38" export NELONN1="-80.30"
export SWLATN1="27.38" export SWLATN1="28.20"
export SWLONN1="-82.88" export SWLONN1="-80.80"
export RESN1=".5" export RESN1=".5"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="STA" export STATN1="STA"
@ -119,7 +120,7 @@ export NELATWT="30.00"
export NELONWT="-78.51" export NELONWT="-78.51"
export SWLATWT="26.50" export SWLATWT="26.50"
export SWLONWT="-81.40" export SWLONWT="-81.40"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
@ -155,30 +156,30 @@ export WAVECPS="multi_1.MLB57.spec.swan"
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
#BOUN SEG XY 281.49 30.00 279.0 30.00 VAR FILE 0.00 'nah.MLB57.spec.swan' 1 & #BOUN SEG XY 281.49 30.00 279.0 30.00 VAR FILE 0.00 'multi_1.MLB57.spec.swan' 1 &
#0.49 'nah.MLB56.spec.swan' 1 & # 0.49 'multi_1.MLB56.spec.swan' 1 &
#0.89 'nah.MLB55.spec.swan' 1 & # 0.89 'multi_1.MLB55.spec.swan' 1 &
#1.29 'nah.MLB54.spec.swan' 1 & # 1.29 'multi_1.MLB54.spec.swan' 1 &
#1.69 'nah.MLB53.spec.swan' 1 & # 1.69 'multi_1.MLB53.spec.swan' 1 &
#2.09 'nah.MLB52.spec.swan' 1 & # 2.09 'multi_1.MLB52.spec.swan' 1 &
#2.49 'nah.MLB51.spec.swan' 1 # 2.49 'multi_1.MLB51.spec.swan' 1
#$ #$
#BOUN SEG XY 281.49 27.30 281.49 30.00 VAR FILE 0.00 'nah.MLB66.spec.swan' 1 & #BOUN SEG XY 281.49 27.30 281.49 30.00 VAR FILE 0.00 'multi_1.MLB66.spec.swan' 1 &
#0.30 'nah.MLB65.spec.swan' 1 & # 0.30 'multi_1.MLB65.spec.swan' 1 &
#0.60 'nah.MLB64.spec.swan' 1 & # 0.60 'multi_1.MLB64.spec.swan' 1 &
#0.90 'nah.MLB63.spec.swan' 1 & # 0.90 'multi_1.MLB63.spec.swan' 1 &
#1.20 'nah.MLB62.spec.swan' 1 & # 1.20 'multi_1.MLB62.spec.swan' 1 &
#1.50 'nah.MLB61.spec.swan' 1 & # 1.50 'multi_1.MLB61.spec.swan' 1 &
#1.80 'nah.MLB60.spec.swan' 1 & # 1.80 'multi_1.MLB60.spec.swan' 1 &
#2.10 'nah.MLB59.spec.swan' 1 & # 2.10 'multi_1.MLB59.spec.swan' 1 &
#2.40 'nah.MLB58.spec.swan' 1 & # 2.40 'multi_1.MLB58.spec.swan' 1 &
#2.70 'nah.MLB57.spec.swan.cp' 1 # 2.70 'multi_1.MLB57.spec.swan.cp' 1
#$ #$
#BOUN SEG XY 280.10 26.50 281.10 26.50 VAR FILE 0.00 'nah.MLB67.spec.swan' 1 & #BOUN SEG XY 280.10 26.50 281.10 26.50 VAR FILE 0.00 'multi_1.MLB67.spec.swan' 1 &
#0.20 'nah.MLB68.spec.swan' 1 & # 0.20 'multi_1.MLB68.spec.swan' 1 &
#0.40 'nah.MLB69.spec.swan' 1 & # 0.40 'multi_1.MLB69.spec.swan' 1 &
#0.60 'nah.MLB70.spec.swan' 1 & # 0.60 'multi_1.MLB70.spec.swan' 1 &
#0.80 'nah.MLB71.spec.swan' 1 & # 0.80 'multi_1.MLB71.spec.swan' 1 &
#1.00 'nah.MLB72.spec.swan' 1 # 1.00 'multi_1.MLB72.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #

View file

@ -0,0 +1,198 @@
#------------------------------------------------------------------------
# Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag
#
# Version control: 1.33
#
# Support Team:
#
# Contributors:
#
# -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------
# -----------------------------------------------------------------------
#
# File used to setup a geographical domain for SWAN and WW3
#
# -----------------------------------------------------------
#========================================================================
# MOB =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
# =
# NOTE: RES = spatial resolution in km =
# TSTEP = request output time step (not the model time step) =
#========================================================================
#
export SITEID="MOB"
export REGIONID="SR"
export NELAT="31.00"
export NELON="-85.90"
export SWLAT="28.50"
export SWLON="-89.10"
export RES="1.8"
export TSTEP="3"
#
#========================================================================
# NESTED GRID CONFIGURATION =
# =
# These nested grids are non-telescopic grids (i.e all of them are =
# nested in the outer grid, and get the boundary conditions only from it) =
# Later versions of NWPS will either allow for telescopic nesting or =
# will be run on an unstructured grid characterized with a fine mesh =
# over the nearshore zones and a coarser mesh across the offshore areas. =
# =
#========================================================================
#
# TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs.
#
# STATIONARY VS NONSTATIONARY MODE:
#
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA.
#
# ACTIVATE NEST/S: default is on for MOB
#
# NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options
#
export NESTGRIDS="4"
export NESTINCG1="YES"
#
# NEST 1...Bay
export NELATN1="30.85"
export NELONN1="-87.65"
export SWLATN1="30.15"
export SWLONN1="-88.45"
export RESN1=".75"
export TSTEPN1="3"
export STATN1="NON"
# NEST 2...Perdido Bay
export NELATN2="30.55"
export NELONN2="-87.20"
export SWLATN2="30.08"
export SWLONN2="-87.68"
export RESN2=".75"
export TSTEPN2="3"
export STATN2="NON"
# NEST 3...Escam/Pens. Bays
export NELATN3="30.65"
export NELONN3="-86.78"
export SWLATN3="30.10"
export SWLONN3="-87.32"
export RESN3=".75"
export TSTEPN3="3"
export STATN3="NON"
# NEST 4...Choct Bay
export NELATN4="30.55"
export NELONN4="-86.07"
export SWLATN4="30.15"
export SWLONN4="-86.80"
export RESN4=".75"
export TSTEPN4="3"
export STATN4="NON"
#
#
#========================================================================
# SPECTRA OUTPUT LOCATIONS
# =
# NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. =
# One default buoy locations has already been configured for you =
# below. Add more as needed. =
#
# NOTE: These do not have to match NDBC locations. =
#
#========================================================================
# Spectra points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 ...."
#
export SPECPOINTS="42012:30.100:-87.600 42040:29.190:-88.290"
#
#========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF =
# SET: SUBDOMOBN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS =
#========================================================================
# IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF"
# IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW
#
export WVTRCK="ON"
#
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
#
export WVTONCG="0"
export NELATWT="31.00"
export NELONWT="-85.90"
export SWLATWT="28.50"
export SWLONWT="-89.10"
export GEORESWT="4.0"
#
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#
#========================================================================
# CURRENTS DEFINITION (SEE SWAN MANUAL) =
#========================================================================
#export CURRL1="INPGRID CUR ............................."
#export CURRL2="READINP CUR ............................."
#
#========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI.
#
export BOUNCOND="1"
export FTPPAT1="multi_1"
export FTPPAT1B="multi_1"
export FTPPAT2="MOB"
export NFTPATTEMPTS="3"
export WAVECPS="multi_1.MOB52.spec.swan,multi_1.MOB58.spec.swan"
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
#
#$BOUNDARY COMMAND LINES
#BOUN SEG XY 270.9 28.8 270.9 28.5 VAR FILE 0.00 'multi_1.MOB51.spec.swan' 1 &
# 0.30 'multi_1.MOB52.spec.swan' 1
#$
#BOUN SEG XY 274.1 28.5 270.9 28.5 VAR FILE 0.00 'multi_1.MOB58.spec.swan' 1 &
# 0.50 'multi_1.MOB57.spec.swan' 1 &
# 1.00 'multi_1.MOB56.spec.swan' 1 &
# 1.50 'multi_1.MOB55.spec.swan' 1 &
# 2.00 'multi_1.MOB54.spec.swan' 1 &
# 2.50 'multi_1.MOB53.spec.swan' 1 &
# 3.20 'multi_1.MOB52.spec.swan.cp' 1
#$
#BOUN SEG XY 274.1 30.0 274.1 28.5 VAR FILE 0.00 'multi_1.MOB61.spec.swan' 1 &
# 0.50 'multi_1.MOB60.spec.swan' 1 &
# 1.00 'multi_1.MOB59.spec.swan' 1 &
# 1.50 'multi_1.MOB58.spec.swan.cp' 1
#$END BOUNSEG

View file

View file

View file

161
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/OKX Normal file → Executable file
View file

@ -3,7 +3,7 @@
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last Modified: 06/15/15 andre.vanderwesthuysen@noaa.gov
# #
# Version control: 1.33 # Version control: 1.33
# #
@ -28,7 +28,7 @@ export NELAT="41.40"
export NELON="-71.05" export NELON="-71.05"
export SWLAT="39.75" export SWLAT="39.75"
export SWLON="-74.45" export SWLON="-74.45"
export RES="2.0" export RES="1.8"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -45,23 +45,65 @@ export TSTEP="3"
# nested grids. Change this only if you know what you are doing. # nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="0" export NESTGRIDS="3"
# OKX Nest export NESTINCG1="YES"
export NELATN1="" #
export NELONN1="" export NELATN1="40.73"
export SWLATN1="" export NELONN1="-73.82"
export SWLONN1="" export SWLATN1="40.40"
export RESN1=".1" export SWLONN1="-74.30"
export RESN1="1.0"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="NON"
# #
export NELATN2="40.80"
export NELONN2="-72.78"
export SWLATN2="40.54"
export SWLONN2="-73.78"
export RESN2="1.0"
export TSTEPN2="3"
export STATN2="NON"
#
export NELATN3="41.37"
export NELONN3="-71.69"
export SWLATN3="40.83"
export SWLONN3="-72.75"
export RESN3="1.0"
export TSTEPN3="3"
export STATN3="NON"
#
#export NESTGRIDS="3"
#export NELATN1="40.79"
#export NELONN1="-73.67"
#export SWLATN1="40.36"
#export SWLONN1="-74.41"
#export RESN1="1.0"
#export TSTEPN1="3"
#export STATN1="NON"
#
#export NELATN2="40.89"
#export NELONN2="-72.43"
#export SWLATN2="40.46"
#export SWLONN2="-73.78"
#export RESN2="1.0"
#export TSTEPN2="3"
#export STATN2="NON"
#
#export NELATN3="41.37"
#export NELONN3="-71.69"
#export SWLATN3="40.83"
#export SWLONN3="-72.75"
#export RESN3="1.0"
#export TSTEPN3="3"
#export STATN3="NON"
#
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS =
#======================================================================== #========================================================================
# Specta points defined as space delimited list of: # Specta points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...."
# #
export SPECPOINTS="44017:40.694:-72.048 44065:40.369:-73.703 44025:40.250:-73.167" export SPECPOINTS="44065:40.369:-73.703 44094:40.585:-73.106 44025:40.251:-73.164 44017:40.694:-72.048 44040:40.956:-73.580 44039:41.138:-72.655 44060:41.263:-72.067 44069:40.693:-73.086 E_GKSI:40.523:-74.021 S_HH:40.920:-72.050"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
@ -136,46 +178,77 @@ export WAVECPS="multi_1.NW-NYC57.spec.swan"
#$END BOUNSEG #$END BOUNSEG
# #
#======================================================================== #========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) = # OBSTACLES (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0; # IF OBSTACLES WILL BE USED, then USEOBSTA=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program. # Setting up OBSTACLE here to zero will permanently disable OBSTACLES.
# #
export RIPPROG="0" export USEOBSTA="1"
export RIPDOMAIN="CG2" export OBSTADOMAIN="CG3"
export RIPCONT="5m"
# #
#___________________________________________________________________________ # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD OBSTACLES FOR YOUR
# RAY Section: Define a pair of rays to drop data out along critical contours # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# for rip current program. # OBSTACLES (USEOBSTA="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# # IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
# #
#$RIP LINES #$OBSTACLES LINES
#$ Ray for 5m and 20m contour data.
#$ #$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15 #OBSTacle TRANSm trcoef=0.0 LINe &
#ISOLINE '5mcont' 'ray1' BOTtom 5 285.9029,39.7666 &
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR 285.9129,39.8225 &
285.9204,39.9016 &
285.9354,39.9841 &
285.9628,40.0958 &
285.9893,40.1833 &
286.0046,40.2291 &
286.0237,40.3058 &
286.0288,40.3374 &
286.0287,40.3691 &
286.0196,40.4441 &
286.0062,40.4625 &
285.9938,40.4737 &
285.9840,40.4799
#$ #$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15 #OBSTacle TRANSm trcoef=0.0 LINe &
#ISOLINE '20mcont' 'ray1' BOTtom 20 286.0608,40.5446 &
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR 286.1125,40.5604 &
286.1666,40.5788 &
286.2192,40.5913 &
286.2558,40.5963 &
286.3117,40.5937
#$ #$
#$END RIP #OBSTacle TRANSm trcoef=0.0 LINe &
286.2492 40.5842 &
286.2918 40.5795 &
286.3406 40.5790 &
286.4300 40.5900
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
286.4300 40.5800 &
286.4559 40.5886 &
286.4926 40.5962 &
286.5280 40.6020 &
286.5714 40.6105 &
286.6063 40.6195 &
286.6506 40.6328 &
286.6864 40.6401 &
286.7500 40.6401
#$
#OBSTacle TRANSm trcoef=0.0 LINe &
286.7242 40.6184 &
286.7661 40.6229 &
286.8289 40.6393 &
286.8843 40.6498 &
286.9501 40.6677 &
287.0294 40.6962 &
287.1206 40.7261 &
287.2367 40.7569 &
287.3355,40.7878 &
287.4167,40.8088 &
287.5183,40.8379 &
287.5953,40.8634 &
287.6658,40.8879
#$
#$END OBSTACLES
# #

147
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/PHI Normal file → Executable file
View file

@ -1,23 +1,23 @@
#------------------------------------------------------------------------ #-----------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 11/08/14 by alex.gibbs@onaa.gov # Date Last Modified: 06/15/15 andre.vanderwesthuysen@noaa.gov
# #
# Version control: 1.33 # Version control: 1.33
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# PHI = # PHI =
# GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAFICAL RESOLUTION AND OUTPUT TIME STEP =
@ -25,10 +25,10 @@
export SITEID="PHI" export SITEID="PHI"
export REGIONID="ER" export REGIONID="ER"
export NELAT="40.60" export NELAT="40.60"
export NELON="-73.25" export NELON="-73.35"
export SWLAT="38.10" export SWLAT="38.20"
export SWLON="-75.75" export SWLON="-75.75"
export RES="2.0" export RES="1.8"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -37,56 +37,65 @@ export TSTEP="3"
# nested in the main grid, and get the boundary conditions only from it = # nested in the main grid, and get the boundary conditions only from it =
# = # =
#======================================================================== #========================================================================
# NESTGRIDS: Number of nested grids, if = 0, nested grids and # NESTGRIDS: Number of nested grids, if = 0, no nested grids and
# location numbers below will be ignore regardless of input specifications # location numbers below will be ignore
# #
# STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS # STATN=STA for STATIONARY RUNS, STAT=NON for NON-STATIONARY RUNS
# The default values is NONstationary for CG1 and STAtionary for the # The default values is NONstationary for CG1 and STAtionary for the
# nested grids. Change this only if you know what you are doing. # nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. # You can choose STA or NON for a particular nested grid.
# #
export NESTGRIDS="0" export NESTGRIDS="1"
# PHI Nest export NESTINCG1="YES"
export NELATN1="" #
export NELONN1="" export NELATN1="39.85"
export SWLATN1="" export NELONN1="-74.65"
export SWLONN1="" export SWLATN1="38.50"
export RESN1=".1" export SWLONN1="-75.70"
export RESN1="1.0"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="NON" export STATN1="NON"
# #
export NELATN2="40.40"
export NELONN2="-73.80"
export SWLATN2="39.40"
export SWLONN2="-74.60"
export RESN2="1.0"
export TSTEPN2="3"
export STATN2="NON"
#
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS = # SPECTRA OUTPUT LOCATIONS =
#======================================================================== #========================================================================
# Specta points defined as space delimited list of: # Specta points defined as space delimited list of:
# "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...." # "name1:lat1:lon1 name2:lat2:lon2 name3:lat3:lon3 name4:lat4:lon4 name5:lat5:lon5 ...."
# # (285.158,36.611)
export SPECPOINTS="44009:38.461:-74.703 44065:40.369:-73.703" export SPECPOINTS="44009:38.461:-74.703 44091:39.769:-73.770 BRND1:38.987:-75.113 LWSD1:38.783:-75.119 BTHD1:38.537:-75.046 SDHN4:40.467:-74.009 ACYN4:39.357:-74.418"
# #
#======================================================================== #========================================================================
# WAVE TRACKING (and WAVE PARTITION) ON/OFF = # WAVE TRACKING (and WAVE PARTITION) ON/OFF =
# SET: SUBDOPHIN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS = # SET: SUBDOMIAN, GEOGRAPH RESOL and TOLERANCE WAVETRACK PARAMETERS =
#======================================================================== #========================================================================
# IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF" # IF WAVE TRACKING IS REQUIRED THEN WVTRCK="ON", OTHER WISE SET IT AS "OFF"
# IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW # IF WVTRCK IS "ON", ADDTIONAL INFORMATION IS REQUIRED, SEE BELOW
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL #IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be change in a new version, the user can get 1d-spectra but not g-h plots). # (This will be change in a new version, the user can get 1d-spectra but not g-h plots).
export WVTONCG="0" export WVTONCG="0"
export NELATWT="40.60" export NELATWT="40.60"
export NELONWT="-73.25" export NELONWT="-73.35"
export SWLATWT="38.10" export SWLATWT="38.20"
export SWLONWT="-75.75" export SWLONWT="-75.75"
export GEORESWT="3.0" export GEORESWT="3.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -101,9 +110,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -116,65 +125,21 @@ export WAVECPS="multi_1.NW-PHI55.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
#BOUN SEG XY 284.75 38.10 286.75 38.10 VAR FILE 0.00 'multi_1.NW-PHI51.spec.swan' 1 & #BOUN SEG XY 286.65 40.60 286.65 38.20 VAR FILE 0.00 'multi_1.NW-PHI60.spec.swan' 1 &
#0.50 'multi_1.NW-PHI52.spec.swan' 1 & # 0.50 'multi_1.NW-PHI59.spec.swan' 1 &
#1.00 'multi_1.NW-PHI53.spec.swan' 1 & # 1.00 'multi_1.NW-PHI58.spec.swan' 1 &
#1.50 'multi_1.NW-PHI54.spec.swan' 1 & # 1.50 'multi_1.NW-PHI57.spec.swan' 1 &
#2.00 'multi_1.NW-PHI55.spec.swan.cp' 1 # 2.00 'multi_1.NW-PHI56.spec.swan' 1 &
# 2.40 'multi_1.NW-PHI55.spec.swan' 1
#$ #$
#BOUN SEG XY 286.75 38.10 286.75 40.60 VAR FILE 0.00 'multi_1.NW-PHI55.spec.swan' 1 & #BOUN SEG XY 286.65 38.20 284.75 38.20 VAR FILE 0.00 'multi_1.NW-PHI55.spec.swan.cp' 1 &
#0.50 'multi_1.NW-PHI56.spec.swan' 1 & # 0.40 'multi_1.NW-PHI54.spec.swan' 1 &
#1.00 'multi_1.NW-PHI57.spec.swan' 1 & # 0.90 'multi_1.NW-PHI53.spec.swan' 1 &
#1.50 'multi_1.NW-PHI58.spec.swan' 1 & # 1.40 'multi_1.NW-PHI52.spec.swan' 1 &
#2.00 'multi_1.NW-PHI59.spec.swan' 1 & # 1.90 'multi_1.NW-PHI51.spec.swan' 1
#2.50 'multi_1.NW-PHI60.spec.swan' 1
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="0"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m and 20m contour data.
#$
#RAY 'ray1' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '5mcont' 'ray1' BOTtom 5
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#RAY 'ray2' 288.80 41.95 289.68 41.95 100 288.80 43.15 289.68 43.15
#ISOLINE '20mcont' 'ray1' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20141030.0000 1.0 HR
#$
#$END RIP
#

View file

View file

View file

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag # Date Last Modified: 05/11/13...ag
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# SJU = # SJU =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -32,7 +32,8 @@ export NELAT="19.50"
export NELON="-64.00" export NELON="-64.00"
export SWLAT="17.00" export SWLAT="17.00"
export SWLON="-68.00" export SWLON="-68.00"
export RES="1.06" #export RES="1.06"
export RES="1.8"
export TSTEP="3" export TSTEP="3"
# #
#======================================================================== #========================================================================
@ -46,38 +47,48 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for SJU # ACTIVATE NEST/S: default is on for SJU
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
#
#export NESTGRIDS="1" # Include San Juan domain only
export NESTGRIDS="2" # Include San Juan and Rincon domains
export NESTINCG1="YES"
# #
export NESTGRIDS="1" # NEST 1 - San Juan Bay
export NESTGRIDS="2" # export NELATN1="18.6"
# # export NELONN1="-65.7"
# export SWLATN1="18.4"
# export SWLONN1="-66.3"
# export RESN1="0.5"
# export TSTEPN1="3"
# export STATN1="STA"
# NEST 1 # NEST 1
export NELATN1="18.6" export NELATN1="18.8"
export NELONN1="-65.7" export NELONN1="-64.4"
export SWLATN1="18.4" export SWLATN1="17.55"
export SWLONN1="-66.3" export SWLONN1="-67.4"
export RESN1="0.5" #export RESN1="0.5"
export RESN1="1.0"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="STA" export STATN1="STA"
# NEST 2 - Rincon # NEST 2 - Rincon
@ -91,7 +102,7 @@ export STATN2="STA"
# #
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -115,12 +126,12 @@ export SPECPOINTS="41053:18.476:-66.009 42085:17.860:-66.524 41141:17.684:-64.63
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -130,7 +141,7 @@ export SWLATWT="17.00"
export SWLONWT="-68.00" export SWLONWT="-68.00"
export GEORESWT="3.0" export GEORESWT="3.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -145,9 +156,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -160,7 +171,7 @@ export WAVECPS="multi_1.SJU51.spec.swan,multi_1.SJU56.spec.swan,multi_1.SJU64.sp
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
@ -197,5 +208,6 @@ export WAVECPS="multi_1.SJU51.spec.swan,multi_1.SJU56.spec.swan,multi_1.SJU64.sp
# 3.00 'multi_1.SJU71.spec.swan' 1 & # 3.00 'multi_1.SJU71.spec.swan' 1 &
# 3.50 'multi_1.SJU70.spec.swan' 1 & # 3.50 'multi_1.SJU70.spec.swan' 1 &
# 4.00 'multi_1.SJU69.spec.swan.cp' 1 # 4.00 'multi_1.SJU69.spec.swan.cp' 1
#NUM DIRimpl cdd=1 cdlim=2
#$END BOUNSEG #$END BOUNSEG
# #

View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag # Date Last Modified: 05/11/13...ag
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# TAE = # TAE =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,30 +46,31 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for TAE # ACTIVATE NEST/S: default is on for TAE
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="1" export NESTGRIDS="1"
export NESTINCG1="YES"
# #
export NESTGRIDS="4" export NESTGRIDS="4"
# nest 1: panama city # nest 1: panama city
@ -110,7 +111,7 @@ export STATN4="STA"
# #
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -134,12 +135,12 @@ export SPECPOINTS="KTOWER:29.6619:-84.3731 42036:28.500:-84.517 42039:28.791:-86
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -147,9 +148,9 @@ export NELATWT="30.60"
export NELONWT="-82.60" export NELONWT="-82.60"
export SWLATWT="28.35" export SWLATWT="28.35"
export SWLONWT="-87.35" export SWLONWT="-87.35"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -164,9 +165,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -179,7 +180,7 @@ export WAVECPS="multi_1.PCB51.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES

181
edexOsgi/com.raytheon.uf.tools.gfesuite/nwps/domains/TBW Normal file → Executable file
View file

@ -1,7 +1,7 @@
#------------------------------------------------------------------------ #------------------------------------------------------------------------
# Domain File # Domain File
# Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer # Original Author(s): Roberto Padilla-Hernandez,Douglas Gaer
# Alex Gibbs, Pablo Santos,Tony Freeman # Alex Gibbs, Pablo Santos,Tony Freeman
# File Creation Date: 06/01/2012 # File Creation Date: 06/01/2012
# Date Last Modified: 05/11/13...ag # Date Last Modified: 05/11/13...ag
# #
@ -9,15 +9,15 @@
# #
# Support Team: # Support Team:
# #
# Contributors: # Contributors:
# #
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# ---------------------- Description and Details ------------------------ # ---------------------- Description and Details ------------------------
# ----------------------------------------------------------------------- # -----------------------------------------------------------------------
# #
# File used to setup a geographical domain for SWAN and WW3 # File used to setup a geographical domain for SWAN and WW3
# #
# ----------------------------------------------------------- # -----------------------------------------------------------
#======================================================================== #========================================================================
# TBW = # TBW =
# GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP = # GEOGRAPHICAL DOMAIN, GEOGRAPHICAL RESOLUTION AND OUTPUT TIME STEP =
@ -46,43 +46,44 @@ export TSTEP="3"
# = # =
#======================================================================== #========================================================================
# #
# TO DO: Update the domains below to reflect the area/s that you are # TO DO: Update the domains below to reflect the area/s that you are
# interested in (must reside inside of you outer domain defined # interested in (must reside inside of you outer domain defined
# above). Also, remember to remove or comment out the remaining # above). Also, remember to remove or comment out the remaining
# example nests below that were configured for another area. Once # example nests below that were configured for another area. Once
# your nests are configured, just toggle the NESTGRIDS to '1' # your nests are configured, just toggle the NESTGRIDS to '1'
# (Default configuration is off or '0') and you will have control # (Default configuration is off or '0') and you will have control
# from the GFE GUI to activate your nests during your runs. # from the GFE GUI to activate your nests during your runs.
# #
# STATIONARY VS NONSTATIONARY MODE: # STATIONARY VS NONSTATIONARY MODE:
# #
# STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS. # STATN=STA for STATIONARY RUNS, STATN=NON for NON-STATIONARY RUNS.
# The default value is NONstationary for CG1 (outer grid) and STAtionary # The default value is NONstationary for CG1 (outer grid) and STAtionary
# for the nested grids. Change this only if you know what you are doing. # for the nested grids. Change this only if you know what you are doing.
# You can choose STA or NON for a particular nested grid. In general, # You can choose STA or NON for a particular nested grid. In general,
# if your domain that you define as a nest below is >= 100 km^2, then # if your domain that you define as a nest below is >= 100 km^2, then
# set STATN=NON. For the very small domains or nests (<= 100 km^2) # set STATN=NON. For the very small domains or nests (<= 100 km^2)
# set STATN=STA. # set STATN=STA.
# #
# ACTIVATE NEST/S: default is on for TBW # ACTIVATE NEST/S: default is on for TBW
# #
# NESTGRIDS="0" ... turns off nest options # NESTGRIDS="0" ... turns off nest options
# NESTGRIDS="1" ... turns on nest options # NESTGRIDS="1" ... turns on nest options
# #
export NESTGRIDS="1" export NESTGRIDS="1"
export NESTINCG1="YES"
# #
# NEST 1...grid matches bathy 1 arc-sec (~30m res) NAVD 88 DEM from NGDC # NEST 1...grid matches bathy 1 arc-sec (~30m res) NAVD 88 DEM from NGDC
export NELATN1="28.05" export NELATN1="28.05"
export NELONN1="-82.38" export NELONN1="-82.38"
export SWLATN1="27.48" export SWLATN1="27.48"
export SWLONN1="-82.85" export SWLONN1="-83.20"
export RESN1=".75" export RESN1=".350"
export TSTEPN1="3" export TSTEPN1="3"
export STATN1="STA" export STATN1="NON"
# #
# #
#======================================================================== #========================================================================
# SPECTRA OUTPUT LOCATIONS # SPECTRA OUTPUT LOCATIONS
# = # =
# NOTE TO USER: the lat/lon points specified can be changed for any = # NOTE TO USER: the lat/lon points specified can be changed for any =
# arbitrary point of interest within your outer domain defined above. = # arbitrary point of interest within your outer domain defined above. =
@ -106,12 +107,12 @@ export SPECPOINTS="42021:28.311:-83.306 42036:28.500:-84.517 42013:27.169:-82.92
# #
export WVTRCK="ON" export WVTRCK="ON"
# #
# IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL # IF WAVE TRACKING IS REQUIRED EXACTLY OVER THE COMPUTATIONAL GRID AND SAME SPATIAL
# RESOLUTION: SET WVTONCG="1" # RESOLUTION: SET WVTONCG="1"
# IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE # IF USER WANTS TO CHANGE ANYONE OF THE PARAMETERS THEN WVTONCG="0" AND USER MUST GIVE
# ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION. # ALL INFORMATION FOR THE DOMAIN OR SUBDOMAIN AND GEOGRAPHICAL RESOLUTION.
# BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN # BE CAREFULL, IF THERE IS ANY SPECTRAL OUTPUT LOCATIONS OUT OF THE NEW (REDUCED) DOMAIN
# FOR WAVE TRACKING NWPS WILL ABORT. # FOR WAVE TRACKING NWPS WILL ABORT.
# (This will be changed in a new version, the user can get 1d-spectra but not g-h plots). # (This will be changed in a new version, the user can get 1d-spectra but not g-h plots).
# #
export WVTONCG="0" export WVTONCG="0"
@ -119,9 +120,9 @@ export NELATWT="29.70"
export NELONWT="-81.50" export NELONWT="-81.50"
export SWLATWT="25.45" export SWLATWT="25.45"
export SWLONWT="-84.80" export SWLONWT="-84.80"
export GEORESWT="3.5" export GEORESWT="4.0"
# #
# PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ # PARAMETERS FOR TRACKING ALGORITHM for WVTONCG=0 or =1 THIS IS ALWAYS READ
# *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING # *CAUTION* CHANGE THEM ONLY IF YOU KNOW WHAT YOU ARE DOING
# RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1." # RECOMENDED VALUES WVTRKPA="10. 1. 0.25 0.1 10. 1."
# dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob # dirKnob, perKnob, hsKnob, wetPts, dirTimeKnob, tpTimeKnob
@ -136,9 +137,9 @@ export WVTRKPA="10. 1. 0.25 0.1 10. 1."
#======================================================================== #========================================================================
# BOUNDARY CONDITIONS (SEE SWAN MANUAL) = # BOUNDARY CONDITIONS (SEE SWAN MANUAL) =
#======================================================================== #========================================================================
# IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0; # IF BOUNDARY CONDITIONS WILL BE USED then BOUNDCOND=1, Otherwise =0;
# Setting up BOUNDCOND here to zero will permanently disable BCs. # Setting up BOUNDCOND here to zero will permanently disable BCs.
# If you leave it as 1 the user will still have the option to disable # If you leave it as 1 the user will still have the option to disable
# them from the interactive Run_NWPS GUI. # them from the interactive Run_NWPS GUI.
# #
export BOUNCOND="1" export BOUNCOND="1"
@ -151,7 +152,7 @@ export WAVECPS="multi_1.TBW59.spec.swan"
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR # THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD BOUNDARY COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY # DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE BOUNARY
# CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE # CONDITIONS (BOUNCOND="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL # BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER # INPUT FILES WITH NOT COMMENT CHARACTER
# #
#$BOUNDARY COMMAND LINES #$BOUNDARY COMMAND LINES
@ -175,3 +176,121 @@ export WAVECPS="multi_1.TBW59.spec.swan"
#$ #$
#$END BOUNSEG #$END BOUNSEG
# #
#========================================================================
# RIP CURRENT PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RIP CURRENT PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RIPPROG="1"
export RIPDOMAIN="CG2"
export RIPCONT="5m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: for data output every 2km along a 5m bathy contour
#
# RAY 'rayname' xp yp xq yq int xp yp xq yq
#
# RAY 'ray1' 282.85 34.628 282.85 34.62 2000 283.00 34.655 283.00 34.62
#
# ISOLINE '5mcont' 'ray1' BOTtom 10
# TABLE '5mcont' HEAD '5mtable' HSIGN TPS PDIR OUTPUT 20110825.1200 3.0 HR
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RIP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE RIP
# CURRENTS (RIPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# BOUNDARY CONDITIONS (BOUNCOND="1") NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '5mcont' 279.887 25.8725
#
#$RIP LINES
#$ Ray for 5m contour data.
#$
#POINTS '5mcont' &
#277.286 27.4902 &
#277.279 27.5004 &
#277.251 27.5105 &
#277.237 27.5207 &
#277.226 27.5309 &
#277.222 27.5411 &
#277.232 27.6429 &
#277.229 27.6530 &
#277.231 27.6632 &
#277.233 27.6734 &
#277.239 27.6836 &
#277.243 27.6938 &
#277.247 27.7039 &
#277.250 27.7141 &
#277.242 27.7243 &
#277.220 27.7345 &
#277.217 27.7446 &
#277.208 27.7548 &
#277.201 27.7650 &
#277.199 27.7752 &
#277.192 27.7854 &
#277.133 27.7955 &
#277.132 27.8057 &
#277.145 27.8159 &
#277.141 27.8261 &
#277.139 27.8363 &
#277.137 27.8464 &
#277.132 27.8566 &
#277.132 27.8668 &
#277.119 27.8770 &
#277.120 27.8871 &
#277.130 27.8973 &
#277.127 27.9075 &
#277.119 27.9177 &
#277.149 27.9279 &
#277.155 27.9380 &
#277.153 27.9482 &
#277.156 27.9584 &
#277.155 27.9686 &
#277.151 27.9788 &
#277.157 27.9889 &
#277.154 27.9991 &
#277.148 28.0093 &
#277.152 28.0195 &
#277.160 28.0296 &
#277.139 28.0398
#TABLE '5mcont' HEAD '5m_contour_CG2' TIME XP YP HSIGN TPS DIR DSPR VEL WATL WIND OUTPUT 20110825.1200 1.0 HR
#$
#$END RIP
#
#========================================================================
# RUNUP PROGRAM (SEE NWPS MANUAL) =
#========================================================================
# IF RUNUP PROGRAM WILL BE RUN, then RIPCONT=1, Otherwise =0;
# Setting up RIPCONT here to zero will permanently disable RIP program.
#
export RUNUPPROG="1"
export RUNUPDOMAIN="CG2"
export RUNUPCONT="20m"
#
#___________________________________________________________________________
# RAY Section: Define a pair of rays to drop data out along critical contours
# for rip current program.
#
# Example: SEE ABOVE FOR RIPCURRENT
#_____________________________________________________________________________
#
# THE FOLLOWING LINES MUST BE COMMENTED. IF YOU ADD RUNUP COMMAND LINES FOR YOUR
# DOMAIN, ADD THEM WITH THE "#" AS A FIRST CHARACTER, IF YOU DECIDE NOT TO USE
# RUNUP (RUNUPCONT="0") THEY WILL REMAIN AS A COMMENTED LINES. IF YOU DECIDE TO USE
# IT NWPS WILL INCLUDE THE INFORMATION IN THE ACTUAL
# INPUT FILES WITH NOT COMMENT CHARACTER
# POIN '20mcont' 279.887 25.8725
#
#$RUNUP LINES
#$ Ray for 20m contour data.
#$
#RAY 'ray2' 276.80 27.48 277.62 27.48 180 276.80 28.05 277.62 28.05
#ISOLINE '20mcont' 'ray2' BOTtom 20
#TABLE '20mcont' HEAD '20m_contour_CG2' TIME XP YP HSIGN TPS DIR VEL WATL WIND OUTPUT 20110825.1200 1.0 HR
#$
#$END RUNUP
#

View file

@ -0,0 +1,103 @@
#!/usr/bin/env bash
#
# Configuration file for nwps
#
########################################################################
# Regional LDM setup
########################################################################
#
# Uncomment the appropriate lines for your region to configure REGION, LDMSEND,
# LDMSERVER1 and LDMSERVER2 variables. These are the same ldm
# servers you can reach from your ldad. If you do not know this info
# contact your regional folks. This is how the input files for NWPS run
# requests will be routed to NCO/WCOSS when that option is chosen from
# the GUI.
#
# Also, if you are in SR, you have two options for LDMSEND. If SR has
# installed in your ldad the ldmsend_nws version use that then. It
# has the capability of testing if the wind file was successfully sent
# to WCOSS through SR including a message about that in the WRKNWP
# message sent back to the forecaster via the text workstations.
# Otherwise use the baseline ldmsend. You can
# find out if ldmsend_nws is installed in your ldad by checking in
# your ldad or following up with Doug Gaer or Paul Kirkwood at SR.
#
########################################################################
# SOUTHERN REGION
########################################################################
#REGION="SR"
#LDMSEND="/usr/local/ldm/util/ldmsend_nws"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1="216.38.81.28"
#LDMSERVER2="216.38.81.29"
########################################################################
# EASTERN REGION
########################################################################
#REGION="ER"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1="198.206.32.98"
#LDMSERVER2="198.206.32.99"
########################################################################
# CENTRAL REGION
########################################################################
#REGION="CR"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1=""
#LDMSERVER2=""
########################################################################
# WESTERN REGION
########################################################################
#REGION="WR"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1=""
#LDMSERVER2=""
########################################################################
# ALASKA REGION
########################################################################
#REGION="AR"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1=""
#LDMSERVER2=""
########################################################################
# PACIFIC REGION
########################################################################
#REGION="PR"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1=""
#LDMSERVER2=""
########################################################################
# NATIONAL CENTERS
########################################################################
#REGION="NCEP"
#LDMSEND="/usr/local/ldm/bin/ldmsend"
#LDMSERVER1=""
#LDMSERVER2=""
########################################################################
# MULTISITE
#
# If you are runnning the model in a local workstation also and your model
# version is 2.0.X or earlier set MULTISITE="No". Otherwise set it to Yes.
#
MULTISITE="No"
#
# DIR - If MULTISITE = No this means you are still using ldad scripts to
# pull in runs through ldad from model box running locallty.
# Depending on how you set up those scripts you will need to define this
# directory. If you followed standard configuration, then the
# Default below should do. This is where the script will push out the
# wind file to run the model locally if you are using that option.
# In the multisite worstation version, the file is pushed to the workstation
# through ldad using ldm. old ldad scripts no longer used.
#
DIR="/data/ldad/nwps/input"
#
# If running model in a local workstation also outside AWIPS, Make sure the WORKSTATION VARIABLE NAME BELOW MATCHES HOSTNAME OF YOUR
# LOCAL MODELING BOX. The arfument passed for the variable comes from the runManualNWPS_OutsideAWIPS.sh script
#
WORKSTATION="${1}-lw-swan"
#
########################################################################
########################################################################
# DO NOT EDIT BELOW HERE
########################################################################
########################################################################

View file

@ -23,8 +23,8 @@ if [ "$myhost" = "cpsbn" ]; then
fi fi
chmod 664 /dev/p_LOST && chgrp fxalpha /dev/p_LOST chmod 664 /dev/p_LOST && chgrp fxalpha /dev/p_LOST
if [ -f /etc/rc.config.d/AWIPS ];then if [ -f /etc/profile.d/AWIPS.sh ];then
. /etc/rc.config.d/AWIPS . /etc/profile.d/AWIPS.sh
else else
echo "AWIPS file not found.Install AWIPS and proceed." echo "AWIPS file not found.Install AWIPS and proceed."
echo "Exiting." echo "Exiting."
@ -34,6 +34,10 @@ if [ "$myhost" = "cpsbn" ]; then
# Start AWIPS-I retransmission process # Start AWIPS-I retransmission process
# Move to a2cp1apps to prevent duplicate retransmission request from both CPs # Move to a2cp1apps to prevent duplicate retransmission request from both CPs
# $PROJECT/bin/start_sbn_retransmit # $PROJECT/bin/start_sbn_retransmit
# Start mon_client to read from /dev/p_LOST pipe; start_sbn_retransmit writes
# to this pipe
$PROJECT/bin/mon_client
# Setup shared memory for LDM to store retransmission params # Setup shared memory for LDM to store retransmission params

BIN
rpms/awips2.core/Installer.ldm/src/ldm-6.12.14.tar.gz Executable file → Normal file

Binary file not shown.