13.3.1-19 baseline
Former-commit-id:abaf9f12f9
[formerly ce855032b2b7235b2aea8dc66aff89ca7c54854a] Former-commit-id:9be238bcc4
This commit is contained in:
parent
f3e79bcc9d
commit
dc9fef33a9
868 changed files with 130720 additions and 548 deletions
|
@ -82,6 +82,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* Jul 24 2012 12996 Xiaochuan Compare with MidVal()
|
* Jul 24 2012 12996 Xiaochuan Compare with MidVal()
|
||||||
* Feb 28, 2013 1731 bsteffen Allow ScanResource to work better with
|
* Feb 28, 2013 1731 bsteffen Allow ScanResource to work better with
|
||||||
* D2DTimeMatcher.
|
* D2DTimeMatcher.
|
||||||
|
* Apr 02, 2013 1731 mpduff Fix problem with DMD updates.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -1108,7 +1109,8 @@ public class ScanResource extends
|
||||||
try {
|
try {
|
||||||
if (!getScan().getTimeOrderedKeys(getScan(), newrecord.getType(),
|
if (!getScan().getTimeOrderedKeys(getScan(), newrecord.getType(),
|
||||||
resourceData.icao).contains(
|
resourceData.icao).contains(
|
||||||
newrecord.getDataTime().getRefTime())) {
|
newrecord.getDataTime().getRefTime())
|
||||||
|
|| newrecord.getType().equals("DMD")) {
|
||||||
|
|
||||||
newrecord = resourceData.populateRecord(newrecord);
|
newrecord = resourceData.populateRecord(newrecord);
|
||||||
|
|
||||||
|
@ -1118,11 +1120,12 @@ public class ScanResource extends
|
||||||
|
|
||||||
getScan().setTableData(resourceData.icao,
|
getScan().setTableData(resourceData.icao,
|
||||||
newrecord.getTableData(),
|
newrecord.getTableData(),
|
||||||
/* TODO: This should be the volume scan time,
|
/*
|
||||||
* but {Radar,Scan}Record.getVolScanTime is actually
|
* TODO: This should be the volume scan time, but
|
||||||
* the radar product generation time.
|
* {Radar,Scan}Record.getVolScanTime is actually the
|
||||||
|
* radar product generation time.
|
||||||
*/
|
*/
|
||||||
newrecord.getDataTime().getRefTime(),
|
newrecord.getDataTime().getRefTime(),
|
||||||
newrecord.getTilt(),
|
newrecord.getTilt(),
|
||||||
newrecord.getDataTime().getRefTime(),
|
newrecord.getDataTime().getRefTime(),
|
||||||
newrecord.getType());
|
newrecord.getType());
|
||||||
|
|
|
@ -69,6 +69,7 @@ import com.raytheon.viz.core.drawables.ColorMapParameterFactory;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Feb 14, 2007 chammack Initial Creation.
|
* Feb 14, 2007 chammack Initial Creation.
|
||||||
|
* Apr 03, 2013 1562 mschenke Fix for custom colormaps
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -140,10 +141,9 @@ public class TopoResource extends
|
||||||
ColorMapParameters existing = getCapability(ColorMapCapability.class)
|
ColorMapParameters existing = getCapability(ColorMapCapability.class)
|
||||||
.getColorMapParameters();
|
.getColorMapParameters();
|
||||||
if (existing != null) {
|
if (existing != null) {
|
||||||
PersistedParameters params = existing.getPersisted();
|
PersistedParameters persisted = existing.getPersisted();
|
||||||
if (params != null) {
|
if (persisted != null) {
|
||||||
parameters.setColorMapMin(params.getColorMapMin());
|
parameters.applyPersistedParameters(persisted);
|
||||||
parameters.setColorMapMax(params.getColorMapMax());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (existing.getColorMap() != null) {
|
if (existing.getColorMap() != null) {
|
||||||
|
|
|
@ -181,6 +181,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
||||||
* 02/13/13 #1597 randerso Removed debug logging to improve performance
|
* 02/13/13 #1597 randerso Removed debug logging to improve performance
|
||||||
* Mar 13, 2013 1792 bsteffen Improve performance of gfe parm average
|
* Mar 13, 2013 1792 bsteffen Improve performance of gfe parm average
|
||||||
* ant time weighted average.
|
* ant time weighted average.
|
||||||
|
* Apr 02, 2013 #1774 randerso Fixed a possible deadlock issue.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author chammack
|
* @author chammack
|
||||||
|
@ -3028,9 +3029,9 @@ public abstract class Parm implements Comparable<Parm> {
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
// always release locks in reverse order of acquiring to prevent
|
// always release locks in reverse order of acquiring to prevent
|
||||||
// deadlock
|
// deadlock (note that the grids were swapped inside this try block)
|
||||||
otherParm.grids.releaseWriteLock();
|
|
||||||
this.grids.releaseWriteLock();
|
this.grids.releaseWriteLock();
|
||||||
|
otherParm.grids.releaseWriteLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
// the swap is now complete, send out the parm id changed notifications
|
// the swap is now complete, send out the parm id changed notifications
|
||||||
|
|
|
@ -65,6 +65,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||||
* 28May2010 2187 cjeanbap Added StdTextProductFactory
|
* 28May2010 2187 cjeanbap Added StdTextProductFactory
|
||||||
* functionality.
|
* functionality.
|
||||||
* 09 NOV 2012 1298 rferrel Changes for non-blocking dialog.
|
* 09 NOV 2012 1298 rferrel Changes for non-blocking dialog.
|
||||||
|
* 02apr2013 15564 mgamazaychikov Ensured awipsWanPil to be 10 characters space-padded long
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author lvenable
|
* @author lvenable
|
||||||
|
@ -387,7 +388,8 @@ public class StoreTransmitDlg extends CaveSWTDialog implements
|
||||||
} else {
|
} else {
|
||||||
req = new OUPRequest();
|
req = new OUPRequest();
|
||||||
OfficialUserProduct oup = new OfficialUserProduct();
|
OfficialUserProduct oup = new OfficialUserProduct();
|
||||||
String awipsWanPil = productIdTF.getText();
|
// make sure the awipsWanPil is exactly 10 characters space-padded long
|
||||||
|
String awipsWanPil = String.format("%-10s", productIdTF.getText().trim());
|
||||||
oup.setAwipsWanPil(awipsWanPil);
|
oup.setAwipsWanPil(awipsWanPil);
|
||||||
oup.setProductText(productText);
|
oup.setProductText(productText);
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,8 @@ import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
|
||||||
* 11/30/2012 #1328 mschenke Made GFE use descriptor for time matching
|
* 11/30/2012 #1328 mschenke Made GFE use descriptor for time matching
|
||||||
* and time storage and manipulation
|
* and time storage and manipulation
|
||||||
* 01/22/2013 #1518 randerso Removed use of Map with Parms as keys
|
* 01/22/2013 #1518 randerso Removed use of Map with Parms as keys
|
||||||
|
* 03/28/2013 #1838 randerso Fixed selected time range when Select Grids When
|
||||||
|
* Stepping is enabled. Cleaned up deprecated warnings.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -563,8 +565,7 @@ public class GridCanvas extends Canvas implements IMessageClient {
|
||||||
List<String> popUpActions = new ArrayList<String>(0);
|
List<String> popUpActions = new ArrayList<String>(0);
|
||||||
if (gmEditActions.length > 0) {
|
if (gmEditActions.length > 0) {
|
||||||
// Only show tools this parm supports
|
// Only show tools this parm supports
|
||||||
String[] parmTools = DataManager
|
String[] parmTools = dataMgr
|
||||||
.getCurrentInstance()
|
|
||||||
.getSmartToolInterface().listTools(parm);
|
.getSmartToolInterface().listTools(parm);
|
||||||
List<String> parmToolList = Arrays
|
List<String> parmToolList = Arrays
|
||||||
.asList(parmTools);
|
.asList(parmTools);
|
||||||
|
@ -815,8 +816,7 @@ public class GridCanvas extends Canvas implements IMessageClient {
|
||||||
grid = null;
|
grid = null;
|
||||||
}
|
}
|
||||||
grid.changeValidTime(lastDestinationTR, false);
|
grid.changeValidTime(lastDestinationTR, false);
|
||||||
grid.updateHistoryToModified(DataManager.getCurrentInstance()
|
grid.updateHistoryToModified(dataMgr.getWsId());
|
||||||
.getWsId());
|
|
||||||
|
|
||||||
newGrids.add(grid);
|
newGrids.add(grid);
|
||||||
|
|
||||||
|
@ -924,8 +924,6 @@ public class GridCanvas extends Canvas implements IMessageClient {
|
||||||
Date clickTime = gridManager.getUtil().pixelToDate(e.x);
|
Date clickTime = gridManager.getUtil().pixelToDate(e.x);
|
||||||
GridID clickGridID = new GridID(parm, clickTime);
|
GridID clickGridID = new GridID(parm, clickTime);
|
||||||
|
|
||||||
gridManager.setSelectedTime(clickTime);
|
|
||||||
|
|
||||||
// make it active, make it inactive depending upon okToEdit
|
// make it active, make it inactive depending upon okToEdit
|
||||||
try {
|
try {
|
||||||
if (clickGridID.grid() != null && clickGridID.grid().isOkToEdit()) {
|
if (clickGridID.grid() != null && clickGridID.grid().isOkToEdit()) {
|
||||||
|
@ -967,6 +965,8 @@ public class GridCanvas extends Canvas implements IMessageClient {
|
||||||
statusHandler.handle(Priority.PROBLEM, "Error activating parm "
|
statusHandler.handle(Priority.PROBLEM, "Error activating parm "
|
||||||
+ parm.getParmID().compositeNameUI(), e1);
|
+ parm.getParmID().compositeNameUI(), e1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gridManager.setSelectedTime(clickTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resize() {
|
private void resize() {
|
||||||
|
|
|
@ -58,6 +58,8 @@ import com.raytheon.viz.gfe.jobs.AsyncProgressJob;
|
||||||
* Oct 8, 2009 njensen Initial creation
|
* Oct 8, 2009 njensen Initial creation
|
||||||
* Jan 8, 2013 1486 dgilling Support changes to BaseGfePyController.
|
* Jan 8, 2013 1486 dgilling Support changes to BaseGfePyController.
|
||||||
* Jan 18, 2013 1509 njensen Garbage collect after running procedure
|
* Jan 18, 2013 1509 njensen Garbage collect after running procedure
|
||||||
|
* Apr 03, 2013 1855 njensen Never dispose interpreters until shutdown and
|
||||||
|
* reuse interpreter if called from procedure
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -69,12 +71,7 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
/**
|
/**
|
||||||
* Maximum number of jobs to keep for a given Data Manager.
|
* Maximum number of jobs to keep for a given Data Manager.
|
||||||
*/
|
*/
|
||||||
private final static int maxJobs = 3;
|
private final static int maxJobs = 4;
|
||||||
|
|
||||||
/**
|
|
||||||
* Amount of time to keep inactive jobs servers around.
|
|
||||||
*/
|
|
||||||
private final static long expireTime = 5L * 60L * 1000L;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Index of job with the queue. Will break code if not zero.
|
* Index of job with the queue. Will break code if not zero.
|
||||||
|
@ -121,14 +118,12 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected IStatus run(IProgressMonitor monitor) {
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
long starTime = System.currentTimeMillis();
|
|
||||||
boolean expireJob = instanceMap.get(dataMgr).get(QUEUE_JOB_INDEX) != this;
|
|
||||||
try {
|
try {
|
||||||
python = ProcedureFactory.buildController(dataMgr);
|
python = ProcedureFactory.buildController(dataMgr);
|
||||||
} catch (JepException e) {
|
} catch (JepException e) {
|
||||||
ProcedureJob.removeJob(dataMgr, this);
|
ProcedureJob.removeJob(dataMgr, this);
|
||||||
return new Status(IStatus.ERROR, StatusConstants.PLUGIN_ID,
|
return new Status(IStatus.ERROR, StatusConstants.PLUGIN_ID,
|
||||||
"Error initializing guidance python", e);
|
"Error initializing procedure python", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -151,15 +146,10 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
if (request != null) {
|
if (request != null) {
|
||||||
request.requestComplete(null);
|
request.requestComplete(null);
|
||||||
}
|
}
|
||||||
} else if (expireJob
|
|
||||||
&& ((instanceMap.get(dataMgr).size() > maxJobs) || (System
|
|
||||||
.currentTimeMillis() - starTime) > expireTime)) {
|
|
||||||
ProcedureJob.removeJob(dataMgr, this);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
"Error running tool ", t);
|
"Error running procedure ", t);
|
||||||
if (request != null) {
|
if (request != null) {
|
||||||
request.requestComplete(t);
|
request.requestComplete(t);
|
||||||
}
|
}
|
||||||
|
@ -229,6 +219,7 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
instanceMap = new HashMap<DataManager, List<ProcedureJob>>();
|
instanceMap = new HashMap<DataManager, List<ProcedureJob>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Thread currentThread = Thread.currentThread();
|
||||||
List<ProcedureJob> jobList = instanceMap.get(dataMgr);
|
List<ProcedureJob> jobList = instanceMap.get(dataMgr);
|
||||||
if (jobList == null) {
|
if (jobList == null) {
|
||||||
jobList = new ArrayList<ProcedureJob>();
|
jobList = new ArrayList<ProcedureJob>();
|
||||||
|
@ -241,17 +232,26 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
job.schedule();
|
job.schedule();
|
||||||
}
|
}
|
||||||
boolean jobAvailable = false;
|
boolean jobAvailable = false;
|
||||||
|
ProcedureJob alreadyOnThread = null;
|
||||||
for (ProcedureJob job : jobList) {
|
for (ProcedureJob job : jobList) {
|
||||||
if (job.request == null) {
|
Thread jobThread = job.getThread();
|
||||||
|
if (currentThread == jobThread) {
|
||||||
|
// this occurs when a running procedure uses
|
||||||
|
// SmartScript.callProcedure()
|
||||||
|
// for efficiency we want to just stay on this thread
|
||||||
|
alreadyOnThread = job;
|
||||||
|
jobAvailable = true;
|
||||||
|
break;
|
||||||
|
} else if (job.request == null) {
|
||||||
jobAvailable = true;
|
jobAvailable = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// All jobs for data manager are busy add another.
|
// All jobs for data manager are busy, add another if we haven't
|
||||||
// To mimic AWIPS I allow any number of jobs.
|
// reached the limit.
|
||||||
// The check in the run will reduce the number to maxJobs.
|
if (alreadyOnThread == null && !jobAvailable
|
||||||
if (jobAvailable == false) {
|
&& jobList.size() < maxJobs) {
|
||||||
ProcedureJob job = new ProcedureJob(dataMgr);
|
ProcedureJob job = new ProcedureJob(dataMgr);
|
||||||
job.setSystem(true);
|
job.setSystem(true);
|
||||||
jobList.add(job);
|
jobList.add(job);
|
||||||
|
@ -261,7 +261,18 @@ public class ProcedureJob extends AbstractQueueJob<ProcedureRequest> {
|
||||||
jobAvailable = true;
|
jobAvailable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
jobList.get(QUEUE_JOB_INDEX).enqueue(request);
|
if (alreadyOnThread != null) {
|
||||||
|
try {
|
||||||
|
alreadyOnThread.processRequest(request);
|
||||||
|
request.requestComplete(null);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
|
"Error running procedure ", t);
|
||||||
|
request.requestComplete(t);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
jobList.get(QUEUE_JOB_INDEX).enqueue(request);
|
||||||
|
}
|
||||||
return jobAvailable;
|
return jobAvailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@ import com.raytheon.viz.gfe.smarttool.Tool;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jan 19, 2010 njensen Initial creation
|
* Jan 19, 2010 njensen Initial creation
|
||||||
* Jan 18, 2013 1509 njensen Garbage collect after running tool
|
* Jan 18, 2013 1509 njensen Garbage collect after running tool
|
||||||
|
* Apr 03, 2013 1855 njensen Never dispose interpreters until shutdown
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -68,11 +69,6 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
*/
|
*/
|
||||||
private final static int maxJobs = 3;
|
private final static int maxJobs = 3;
|
||||||
|
|
||||||
/**
|
|
||||||
* Amount of time to keep inactive jobs servers around.
|
|
||||||
*/
|
|
||||||
private final static long expireTime = 5L * 60L * 1000L;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Index of job with the queue. Will break code if not zero.
|
* Index of job with the queue. Will break code if not zero.
|
||||||
*/
|
*/
|
||||||
|
@ -114,14 +110,12 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
@Override
|
@Override
|
||||||
protected IStatus run(IProgressMonitor monitor) {
|
protected IStatus run(IProgressMonitor monitor) {
|
||||||
SmartToolController python = null;
|
SmartToolController python = null;
|
||||||
long starTime = System.currentTimeMillis();
|
|
||||||
boolean expireJob = instanceMap.get(dataMgr).get(QUEUE_JOB_INDEX) != this;
|
|
||||||
try {
|
try {
|
||||||
python = SmartToolFactory.buildController(dataMgr);
|
python = SmartToolFactory.buildController(dataMgr);
|
||||||
} catch (JepException e) {
|
} catch (JepException e) {
|
||||||
SmartToolJob.removeJob(dataMgr, this);
|
SmartToolJob.removeJob(dataMgr, this);
|
||||||
return new Status(IStatus.ERROR, StatusConstants.PLUGIN_ID,
|
return new Status(IStatus.ERROR, StatusConstants.PLUGIN_ID,
|
||||||
"Error initializing guidance python", e);
|
"Error initializing smart tool python", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -139,7 +133,6 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
|
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
if (request != null) {
|
if (request != null) {
|
||||||
starTime = System.currentTimeMillis();
|
|
||||||
python.processFileUpdates();
|
python.processFileUpdates();
|
||||||
EditAction ea = request.getPreview()
|
EditAction ea = request.getPreview()
|
||||||
.getEditAction();
|
.getEditAction();
|
||||||
|
@ -170,11 +163,6 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
req = request;
|
req = request;
|
||||||
request = null;
|
request = null;
|
||||||
}
|
}
|
||||||
} else if (expireJob
|
|
||||||
&& ((instanceMap.get(dataMgr).size() > maxJobs) || (System
|
|
||||||
.currentTimeMillis() - starTime) > expireTime)) {
|
|
||||||
SmartToolJob.removeJob(dataMgr, this);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
|
@ -201,10 +189,8 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
req = null;
|
req = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.err.println("SmartToolJob exit loop: "
|
|
||||||
+ monitor.isCanceled());
|
|
||||||
} finally {
|
} finally {
|
||||||
System.err.println("shutdown instance of SmartToolJob");
|
System.err.println("Shutdown instance of SmartToolJob");
|
||||||
if (python != null) {
|
if (python != null) {
|
||||||
python.dispose();
|
python.dispose();
|
||||||
python = null;
|
python = null;
|
||||||
|
@ -277,10 +263,9 @@ public class SmartToolJob extends AbstractQueueJob<SmartToolRequest> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// All jobs for data manager are busy add another.
|
// All jobs for data manager are busy, add another if we haven't reached
|
||||||
// To mimic AWIPS I allow any number of jobs.
|
// the limit
|
||||||
// The check in the run will reduce the number to maxJobs.
|
if (!jobAvailable && jobList.size() < maxJobs) {
|
||||||
if (jobAvailable == false) {
|
|
||||||
SmartToolJob job = new SmartToolJob(dataMgr);
|
SmartToolJob job = new SmartToolJob(dataMgr);
|
||||||
job.setSystem(true);
|
job.setSystem(true);
|
||||||
jobList.add(job);
|
jobList.add(job);
|
||||||
|
|
|
@ -171,6 +171,16 @@ public abstract class AbstractVizPerspectiveManager implements
|
||||||
try {
|
try {
|
||||||
mgr.activateDefaultTool(((AbstractEditor) part)
|
mgr.activateDefaultTool(((AbstractEditor) part)
|
||||||
.getDefaultTool());
|
.getDefaultTool());
|
||||||
|
if (mgr.getToolManager().getSelectedModalTools()
|
||||||
|
.isEmpty()) {
|
||||||
|
// Hack due to tool activation not sending whether
|
||||||
|
// it should be activated or deactivated and is just
|
||||||
|
// toggling instead. TODO: Make AbstractModalTool
|
||||||
|
// required command parameter for activate or
|
||||||
|
// deactivate
|
||||||
|
mgr.activateDefaultTool(((AbstractEditor) part)
|
||||||
|
.getDefaultTool());
|
||||||
|
}
|
||||||
} catch (VizException e) {
|
} catch (VizException e) {
|
||||||
statusHandler.handle(Priority.SIGNIFICANT,
|
statusHandler.handle(Priority.SIGNIFICANT,
|
||||||
"Error activating tool set", e);
|
"Error activating tool set", e);
|
||||||
|
|
|
@ -164,6 +164,9 @@ import com.vividsolutions.jts.io.WKTReader;
|
||||||
* 03/28/2013 DR 15973 Qinglu Lin Added adjustVertex() and applied it invalid polygon.
|
* 03/28/2013 DR 15973 Qinglu Lin Added adjustVertex() and applied it invalid polygon.
|
||||||
* 03/28/2013 DR 15974 D. Friedman Preserve the set of selected counties when recreating the polygon from the
|
* 03/28/2013 DR 15974 D. Friedman Preserve the set of selected counties when recreating the polygon from the
|
||||||
* hatched area and remember marked counties outside the polygon on followup.
|
* hatched area and remember marked counties outside the polygon on followup.
|
||||||
|
* 04/03/2013 1858 jsanchez Handled creating follow up warnings when created before 0z but issued after 0z.
|
||||||
|
* 03/13/2013 DR 15942 Qinglu Lin Added code to prevent small area from being toggled on that
|
||||||
|
* does not meet inclusionPercent/inclusionArea criteria.
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author mschenke
|
* @author mschenke
|
||||||
|
@ -293,7 +296,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
GeometryFactory gf = new GeometryFactory();
|
GeometryFactory gf = new GeometryFactory();
|
||||||
LinearRing lr = gf.createLinearRing(coords);
|
LinearRing lr = gf.createLinearRing(coords);
|
||||||
hatchedArea = gf.createPolygon(lr, null);
|
hatchedArea = gf.createPolygon(lr, null);
|
||||||
if (! hatchedArea.isValid())
|
if (!hatchedArea.isValid())
|
||||||
hatchedArea = adjustVertex(hatchedArea);
|
hatchedArea = adjustVertex(hatchedArea);
|
||||||
hatchedWarningArea = createWarnedArea(
|
hatchedWarningArea = createWarnedArea(
|
||||||
latLonToLocal(hatchedArea),
|
latLonToLocal(hatchedArea),
|
||||||
|
@ -1217,7 +1220,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
if (fips.endsWith(id)) {
|
if (fips.endsWith(id)) {
|
||||||
if (idsOutsidePolygon != null) {
|
if (idsOutsidePolygon != null) {
|
||||||
idsOutsidePolygon.remove(fips.substring(0, 2) + '-' + id);
|
idsOutsidePolygon.remove(fips.substring(0, 2)
|
||||||
|
+ '-' + id);
|
||||||
}
|
}
|
||||||
newList.add(geom);
|
newList.add(geom);
|
||||||
break;
|
break;
|
||||||
|
@ -1320,7 +1324,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateWarnedAreas(boolean snapHatchedAreaToPolygon) throws VizException {
|
public void updateWarnedAreas(boolean snapHatchedAreaToPolygon)
|
||||||
|
throws VizException {
|
||||||
updateWarnedAreas(snapHatchedAreaToPolygon, false);
|
updateWarnedAreas(snapHatchedAreaToPolygon, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1331,8 +1336,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
* eliminated.
|
* eliminated.
|
||||||
* @throws VizException
|
* @throws VizException
|
||||||
*/
|
*/
|
||||||
public void updateWarnedAreas(boolean snapHatchedAreaToPolygon, boolean preservedSelection)
|
public void updateWarnedAreas(boolean snapHatchedAreaToPolygon,
|
||||||
throws VizException {
|
boolean preservedSelection) throws VizException {
|
||||||
if (getPolygon() == null) {
|
if (getPolygon() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1341,9 +1346,11 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
|
|
||||||
Geometry warningArea = state.getWarningArea();
|
Geometry warningArea = state.getWarningArea();
|
||||||
Geometry warningPolygon = state.getWarningPolygon();
|
Geometry warningPolygon = state.getWarningPolygon();
|
||||||
Geometry newWarningArea = createWarnedArea(latLonToLocal((snapHatchedAreaToPolygon || warningArea == null) ? warningPolygon
|
Geometry newWarningArea = createWarnedArea(
|
||||||
: warningArea),
|
latLonToLocal((snapHatchedAreaToPolygon || warningArea == null) ? warningPolygon
|
||||||
preservedSelection && warningArea != null ? latLonToLocal(warningArea) : null);
|
: warningArea), preservedSelection
|
||||||
|
&& warningArea != null ? latLonToLocal(warningArea)
|
||||||
|
: null);
|
||||||
updateWarnedAreaState(newWarningArea, snapHatchedAreaToPolygon);
|
updateWarnedAreaState(newWarningArea, snapHatchedAreaToPolygon);
|
||||||
|
|
||||||
System.out.println("determining hatchedArea took "
|
System.out.println("determining hatchedArea took "
|
||||||
|
@ -1360,7 +1367,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
* inclusion filter
|
* inclusion filter
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Geometry createWarnedArea(Geometry hatchedArea, Geometry preservedSelection) {
|
private Geometry createWarnedArea(Geometry hatchedArea,
|
||||||
|
Geometry preservedSelection) {
|
||||||
Geometry oldWarningPolygon = latLonToLocal(state.getOldWarningPolygon());
|
Geometry oldWarningPolygon = latLonToLocal(state.getOldWarningPolygon());
|
||||||
Geometry oldWarningArea = latLonToLocal(state.getOldWarningArea());
|
Geometry oldWarningArea = latLonToLocal(state.getOldWarningArea());
|
||||||
Geometry newHatchedArea = null;
|
Geometry newHatchedArea = null;
|
||||||
|
@ -1381,33 +1389,39 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
// Get intersection between county and hatched boundary
|
// Get intersection between county and hatched boundary
|
||||||
intersection = GeometryUtil.intersection(hatchedArea, prepGeom);
|
intersection = GeometryUtil.intersection(hatchedArea, prepGeom);
|
||||||
if (oldWarningArea != null) {
|
if (oldWarningArea != null) {
|
||||||
intersection = GeometryUtil.intersection(intersection, oldWarningArea);
|
intersection = GeometryUtil.intersection(intersection,
|
||||||
|
oldWarningArea);
|
||||||
}
|
}
|
||||||
if (intersection.isEmpty()) {
|
if (intersection.isEmpty()) {
|
||||||
if (selectedFips == null
|
if (selectedFips == null
|
||||||
|| !selectedFips.contains(getFips(f))) {
|
|| !selectedFips.contains(getFips(f))) {
|
||||||
continue;
|
continue;
|
||||||
} else if (! selectedFips.isEmpty()) {
|
} else if (!selectedFips.isEmpty()) {
|
||||||
/*
|
/*
|
||||||
* Add whatever part of the area was previously hatched
|
* Add whatever part of the area was previously hatched
|
||||||
* despite being outside the new polygon.
|
* despite being outside the new polygon.
|
||||||
*/
|
*/
|
||||||
if (selectedGeoms == null) {
|
if (selectedGeoms == null) {
|
||||||
selectedGeoms = new ArrayList<Geometry>();
|
selectedGeoms = new ArrayList<Geometry>();
|
||||||
GeometryUtil.buildGeometryList(selectedGeoms, preservedSelection);
|
GeometryUtil.buildGeometryList(selectedGeoms,
|
||||||
|
preservedSelection);
|
||||||
}
|
}
|
||||||
intersection = null;
|
intersection = null;
|
||||||
String prefix = GeometryUtil.getPrefix(f.geometry.getUserData());
|
String prefix = GeometryUtil.getPrefix(f.geometry
|
||||||
|
.getUserData());
|
||||||
for (Geometry g : selectedGeoms) {
|
for (Geometry g : selectedGeoms) {
|
||||||
if (g.getUserData() != null) {
|
if (g.getUserData() != null) {
|
||||||
if (prefix.equals(GeometryUtil.getPrefix(g.getUserData()))) {
|
if (prefix.equals(GeometryUtil.getPrefix(g
|
||||||
intersection = intersection == null ? g :
|
.getUserData()))) {
|
||||||
GeometryUtil.union(intersection, g);
|
intersection = intersection == null ? g
|
||||||
|
: GeometryUtil.union(intersection,
|
||||||
|
g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (intersection == null) {
|
if (intersection == null) {
|
||||||
// This part of the area was not previously selected.
|
// This part of the area was not previously
|
||||||
|
// selected.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1424,8 +1438,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
else
|
else
|
||||||
include = filterArea(f, intersection, true)
|
include = filterArea(f, intersection, true)
|
||||||
&& (oldWarningPolygon == null
|
&& (oldWarningPolygon == null
|
||||||
|| prepGeom.intersects(oldWarningPolygon)
|
|| prepGeom.intersects(oldWarningPolygon) || isOldAreaOutsidePolygon(f));
|
||||||
|| isOldAreaOutsidePolygon(f));
|
|
||||||
if (include) {
|
if (include) {
|
||||||
if (newHatchedArea == null) {
|
if (newHatchedArea == null) {
|
||||||
newHatchedArea = intersection;
|
newHatchedArea = intersection;
|
||||||
|
@ -1508,7 +1521,7 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
String[] gids = GeometryUtil.getGID(newArea);
|
String[] gids = GeometryUtil.getGID(newArea);
|
||||||
boolean flag = false;
|
boolean flag = false;
|
||||||
for (String gid : gids) {
|
for (String gid : gids) {
|
||||||
if (! selectedGids.contains(gid)) {
|
if (!selectedGids.contains(gid)) {
|
||||||
flag = true;
|
flag = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1584,9 +1597,11 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
warningAreaChanged();
|
warningAreaChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Determine if the given area of the reference area passes the
|
/**
|
||||||
* inclusion filter. Subroutine of {@link #filterArea}.
|
* Determine if the given area of the reference area passes the inclusion
|
||||||
|
* filter. Subroutine of {@link #filterArea}.
|
||||||
|
*
|
||||||
* @param areaToConsider
|
* @param areaToConsider
|
||||||
* @param wholeArea
|
* @param wholeArea
|
||||||
* @param areaInMetersSq
|
* @param areaInMetersSq
|
||||||
|
@ -1605,23 +1620,28 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
boolean areaOk = areaInKmSqOfIntersection > getConfiguration()
|
boolean areaOk = areaInKmSqOfIntersection > getConfiguration()
|
||||||
.getHatchedAreaSource().getInclusionArea();
|
.getHatchedAreaSource().getInclusionArea();
|
||||||
return getConfiguration().getHatchedAreaSource().getInclusionAndOr()
|
return getConfiguration().getHatchedAreaSource().getInclusionAndOr()
|
||||||
.equalsIgnoreCase("AND") ?
|
.equalsIgnoreCase("AND") ? percentOk && areaOk : percentOk
|
||||||
percentOk && areaOk : percentOk || areaOk;
|
|| areaOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Determine if a feature should be included based on how much of it
|
/**
|
||||||
* is hatched and the configured inclusion criteria.
|
* Determine if a feature should be included based on how much of it is
|
||||||
|
* hatched and the configured inclusion criteria.
|
||||||
|
*
|
||||||
* @param feature
|
* @param feature
|
||||||
* @param featureAreaToConsider the portion of the feature that is hatched
|
* @param featureAreaToConsider
|
||||||
* @param localCoordinates if true, use local CRS; otherwise, use lat/lon
|
* the portion of the feature that is hatched
|
||||||
* @param anyAmountOfArea if true, ignore the configured criteria and
|
* @param localCoordinates
|
||||||
* include the feature if event a small amount is hatched.
|
* if true, use local CRS; otherwise, use lat/lon
|
||||||
|
* @param anyAmountOfArea
|
||||||
|
* if true, ignore the configured criteria and include the
|
||||||
|
* feature if event a small amount is hatched.
|
||||||
* @return true if the feature should be included
|
* @return true if the feature should be included
|
||||||
*/
|
*/
|
||||||
private boolean filterArea(GeospatialData feature, Geometry featureAreaToConsider, boolean localCRS) {
|
private boolean filterArea(GeospatialData feature,
|
||||||
Geometry geom = localCRS ?
|
Geometry featureAreaToConsider, boolean localCRS) {
|
||||||
(Geometry) feature.attributes.get(GeospatialDataList.LOCAL_GEOM) :
|
Geometry geom = localCRS ? (Geometry) feature.attributes
|
||||||
feature.geometry;
|
.get(GeospatialDataList.LOCAL_GEOM) : feature.geometry;
|
||||||
double areaOfGeom = (Double) feature.attributes.get(AREA);
|
double areaOfGeom = (Double) feature.attributes.get(AREA);
|
||||||
|
|
||||||
if (filterCheck(featureAreaToConsider, geom, areaOfGeom))
|
if (filterCheck(featureAreaToConsider, geom, areaOfGeom))
|
||||||
|
@ -1642,18 +1662,19 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
List<Geometry> geoms = new ArrayList<Geometry>();
|
List<Geometry> geoms = new ArrayList<Geometry>();
|
||||||
GeometryUtil.buildGeometryList(geoms, oldWarningArea);
|
GeometryUtil.buildGeometryList(geoms, oldWarningArea);
|
||||||
Geometry oldSelectedArea = null;
|
Geometry oldSelectedArea = null;
|
||||||
String prefix = GeometryUtil.getPrefix(feature.geometry.getUserData());
|
String prefix = GeometryUtil.getPrefix(feature.geometry
|
||||||
|
.getUserData());
|
||||||
for (Geometry g : geoms) {
|
for (Geometry g : geoms) {
|
||||||
if (g.getUserData() != null) {
|
if (g.getUserData() != null) {
|
||||||
if (prefix.equals(GeometryUtil.getPrefix(g.getUserData()))) {
|
if (prefix.equals(GeometryUtil.getPrefix(g.getUserData()))) {
|
||||||
oldSelectedArea = oldSelectedArea == null ? g :
|
oldSelectedArea = oldSelectedArea == null ? g
|
||||||
GeometryUtil.union(oldSelectedArea, g);
|
: GeometryUtil.union(oldSelectedArea, g);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (oldSelectedArea != null) {
|
if (oldSelectedArea != null) {
|
||||||
double ratioOfOldArea = featureAreaToConsider.getArea() /
|
double ratioOfOldArea = featureAreaToConsider.getArea()
|
||||||
oldSelectedArea.getArea();
|
/ oldSelectedArea.getArea();
|
||||||
/*
|
/*
|
||||||
* Ideally, we would only allow the exact same area, but due to
|
* Ideally, we would only allow the exact same area, but due to
|
||||||
* possible loss of precision in all of the calculations, we
|
* possible loss of precision in all of the calculations, we
|
||||||
|
@ -2104,6 +2125,10 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
int day = warnRecord.getIssueTime().get(Calendar.DAY_OF_MONTH);
|
int day = warnRecord.getIssueTime().get(Calendar.DAY_OF_MONTH);
|
||||||
int hour = Integer.parseInt(m.group(1));
|
int hour = Integer.parseInt(m.group(1));
|
||||||
int minute = Integer.parseInt(m.group(2));
|
int minute = Integer.parseInt(m.group(2));
|
||||||
|
// Handles when a warning is created before 0Z but issued after 0Z
|
||||||
|
if (hour > warnRecord.getIssueTime().get(Calendar.HOUR_OF_DAY)) {
|
||||||
|
day -= 1;
|
||||||
|
}
|
||||||
frameTime = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
frameTime = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
|
||||||
frameTime.set(Calendar.DAY_OF_MONTH, day);
|
frameTime.set(Calendar.DAY_OF_MONTH, day);
|
||||||
frameTime.set(Calendar.HOUR_OF_DAY, hour);
|
frameTime.set(Calendar.HOUR_OF_DAY, hour);
|
||||||
|
@ -2512,6 +2537,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
geom = geom.getFactory()
|
geom = geom.getFactory()
|
||||||
.createGeometryCollection(
|
.createGeometryCollection(
|
||||||
parts.toArray(new Geometry[0]));
|
parts.toArray(new Geometry[0]));
|
||||||
|
if (!filterArea(f, geom, false))
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
state.setWarningArea(GeometryUtil.union(
|
state.setWarningArea(GeometryUtil.union(
|
||||||
state.getWarningArea(), geom));
|
state.getWarningArea(), geom));
|
||||||
|
@ -2584,7 +2611,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
return removeCounties(warningArea, set);
|
return removeCounties(warningArea, set);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Geometry removeCounties(Geometry warningArea, Set<String> fipsToRemove) {
|
private Geometry removeCounties(Geometry warningArea,
|
||||||
|
Set<String> fipsToRemove) {
|
||||||
if (fipsToRemove == null || fipsToRemove.isEmpty())
|
if (fipsToRemove == null || fipsToRemove.isEmpty())
|
||||||
return warningArea;
|
return warningArea;
|
||||||
List<Geometry> toKeep = new ArrayList<Geometry>(
|
List<Geometry> toKeep = new ArrayList<Geometry>(
|
||||||
|
@ -2818,12 +2846,13 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
index[3] = index[2] + 1;
|
index[3] = index[2] + 1;
|
||||||
if (index[3] >= length)
|
if (index[3] >= length)
|
||||||
index[3] = index[3] - length + 1;
|
index[3] = index[3] - length + 1;
|
||||||
ls1 = new LineSegment(coord[index[0]],coord[index[1]]);
|
ls1 = new LineSegment(coord[index[0]], coord[index[1]]);
|
||||||
ls2 = new LineSegment(coord[index[2]],coord[index[3]]);
|
ls2 = new LineSegment(coord[index[2]], coord[index[3]]);
|
||||||
intersectCoord = ls1.intersection(ls2);
|
intersectCoord = ls1.intersection(ls2);
|
||||||
if (intersectCoord != null) {
|
if (intersectCoord != null) {
|
||||||
for (int j = 0; j < index.length-2; j++) {
|
for (int j = 0; j < index.length - 2; j++) {
|
||||||
d[j] = calculateDistance(intersectCoord,coord[index[j]]);
|
d[j] = calculateDistance(intersectCoord,
|
||||||
|
coord[index[j]]);
|
||||||
}
|
}
|
||||||
if (d[0] < d[1]) {
|
if (d[0] < d[1]) {
|
||||||
index[4] = index[0];
|
index[4] = index[0];
|
||||||
|
@ -2843,7 +2872,8 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
d[5] = d[3];
|
d[5] = d[3];
|
||||||
indexOfTheOtherEnd[1] = index[2];
|
indexOfTheOtherEnd[1] = index[2];
|
||||||
}
|
}
|
||||||
// index of the vertex on a line segment (line segment A), which will be moved along line segment A.
|
// index of the vertex on a line segment (line segment A),
|
||||||
|
// which will be moved along line segment A.
|
||||||
int replaceIndex;
|
int replaceIndex;
|
||||||
// index of the vertex at the other end of line segment A.
|
// index of the vertex at the other end of line segment A.
|
||||||
int theOtherIndex;
|
int theOtherIndex;
|
||||||
|
@ -2851,32 +2881,40 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
replaceIndex = index[4];
|
replaceIndex = index[4];
|
||||||
theOtherIndex = indexOfTheOtherEnd[0];
|
theOtherIndex = indexOfTheOtherEnd[0];
|
||||||
} else {
|
} else {
|
||||||
replaceIndex= index[5];
|
replaceIndex = index[5];
|
||||||
theOtherIndex = indexOfTheOtherEnd[1];
|
theOtherIndex = indexOfTheOtherEnd[1];
|
||||||
}
|
}
|
||||||
// move the bad vertex, which is on line segment A and has the shortest distance to intersectCoord,
|
// move the bad vertex, which is on line segment A and has
|
||||||
// along line segment A to the other side of line segment B which intersects with line segment A.
|
// the shortest distance to intersectCoord,
|
||||||
|
// along line segment A to the other side of line segment B
|
||||||
|
// which intersects with line segment A.
|
||||||
double delta;
|
double delta;
|
||||||
double min = 0.00001;
|
double min = 0.00001;
|
||||||
if (Math.abs(intersectCoord.x - coord[replaceIndex].x) < min) {
|
if (Math.abs(intersectCoord.x - coord[replaceIndex].x) < min) {
|
||||||
// move the bad vertex along a vertical line segment.
|
// move the bad vertex along a vertical line segment.
|
||||||
delta = intersectCoord.y - coord[theOtherIndex].y;
|
delta = intersectCoord.y - coord[theOtherIndex].y;
|
||||||
coord[replaceIndex].y += 0.01 * (delta / Math.abs(delta));
|
coord[replaceIndex].y += 0.01 * (delta / Math
|
||||||
} else if (Math.abs(intersectCoord.y - coord[replaceIndex].y) < min) {
|
.abs(delta));
|
||||||
|
} else if (Math.abs(intersectCoord.y
|
||||||
|
- coord[replaceIndex].y) < min) {
|
||||||
// move the bad vertex along a horizontal line segment.
|
// move the bad vertex along a horizontal line segment.
|
||||||
delta = intersectCoord.x - coord[theOtherIndex].x;
|
delta = intersectCoord.x - coord[theOtherIndex].x;
|
||||||
coord[replaceIndex].x += 0.01 * (delta / Math.abs(delta));
|
coord[replaceIndex].x += 0.01 * (delta / Math
|
||||||
|
.abs(delta));
|
||||||
} else {
|
} else {
|
||||||
// move the bad vertex along a line segment which is neither vertical nor horizontal.
|
// move the bad vertex along a line segment which is
|
||||||
double slope = computeSlope(coord, replaceIndex, theOtherIndex);
|
// neither vertical nor horizontal.
|
||||||
|
double slope = computeSlope(coord, replaceIndex,
|
||||||
|
theOtherIndex);
|
||||||
delta = coord[theOtherIndex].y - intersectCoord.y;
|
delta = coord[theOtherIndex].y - intersectCoord.y;
|
||||||
coord[replaceIndex].y = intersectCoord.y + 0.005 * (delta / Math.abs(delta));
|
coord[replaceIndex].y = intersectCoord.y + 0.005
|
||||||
coord[replaceIndex].x = (coord[replaceIndex].y - coord[theOtherIndex].y) / slope
|
* (delta / Math.abs(delta));
|
||||||
+ coord[theOtherIndex].x;
|
coord[replaceIndex].x = (coord[replaceIndex].y - coord[theOtherIndex].y)
|
||||||
|
/ slope + coord[theOtherIndex].x;
|
||||||
}
|
}
|
||||||
PolygonUtil.round(coord, 2);
|
PolygonUtil.round(coord, 2);
|
||||||
if (replaceIndex == 0)
|
if (replaceIndex == 0)
|
||||||
coord[length-1] = new Coordinate(coord[replaceIndex]);
|
coord[length - 1] = new Coordinate(coord[replaceIndex]);
|
||||||
else if (replaceIndex == length - 1)
|
else if (replaceIndex == length - 1)
|
||||||
coord[0] = new Coordinate(coord[replaceIndex]);
|
coord[0] = new Coordinate(coord[replaceIndex]);
|
||||||
lr = gf.createLinearRing(coord);
|
lr = gf.createLinearRing(coord);
|
||||||
|
@ -2896,10 +2934,10 @@ public class WarngenLayer extends AbstractStormTrackResource {
|
||||||
|
|
||||||
public double computeSlope(Coordinate[] coords, int i, int j) {
|
public double computeSlope(Coordinate[] coords, int i, int j) {
|
||||||
double min = 1.0E-08;
|
double min = 1.0E-08;
|
||||||
double dx = coords[i].x-coords[j].x;
|
double dx = coords[i].x - coords[j].x;
|
||||||
double slope = 0.0;
|
double slope = 0.0;
|
||||||
if (Math.abs(dx)>min) {
|
if (Math.abs(dx) > min) {
|
||||||
slope = (coords[i].y-coords[j].y)/dx;
|
slope = (coords[i].y - coords[j].y) / dx;
|
||||||
}
|
}
|
||||||
return slope;
|
return slope;
|
||||||
}
|
}
|
||||||
|
|
81
deltaScripts/13.3.1/reftimeIndexUpdate.sh
Normal file
81
deltaScripts/13.3.1/reftimeIndexUpdate.sh
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# DR #1846 - this DR will remove all reftimeindex indices from the metadata database.
|
||||||
|
|
||||||
|
PSQL="/awips2/psql/bin/psql"
|
||||||
|
|
||||||
|
#_timeindexname="timeindex"
|
||||||
|
RETRIEVE_INDEX_SQL="SELECT indexname FROM pg_indexes WHERE indexname LIKE '%reftimeindex%' ORDER BY indexname;"
|
||||||
|
_index_list_txt=indexlist.txt
|
||||||
|
#_reftime_indx_length=12
|
||||||
|
|
||||||
|
echo "INFO: update started"
|
||||||
|
|
||||||
|
# retrieve the reftime indices
|
||||||
|
${PSQL} -U awips -d metadata -c "${RETRIEVE_INDEX_SQL}" -t -o ${_index_list_txt}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to retrieve the list of data uri indices."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for index in `cat ${_index_list_txt}`;
|
||||||
|
do
|
||||||
|
# determine which table the index is in.
|
||||||
|
SQL="SELECT tablename FROM pg_indexes WHERE indexname = '${index}';"
|
||||||
|
table=`${PSQL} -U awips -d metadata -c "${SQL}" -t`
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to determine which table ${index} belongs to."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#length=${#index}
|
||||||
|
#let LENGTH_DIFF=${length}-${_reftime_indx_length}
|
||||||
|
#prefix=${index:0:$LENGTH_DIFF}
|
||||||
|
|
||||||
|
# remove the index
|
||||||
|
${PSQL} -U awips -d metadata -c "DROP INDEX ${index};"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to drop index - ${index}."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create the new index
|
||||||
|
SQL="CREATE INDEX ${index} ON ${table} USING btree(reftime, forecasttime);"
|
||||||
|
${PSQL} -U awips -d metadata -c "${SQL}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to create index ${table}${_timeindexname} on table ${table}."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f ${_index_list_txt}
|
||||||
|
|
||||||
|
RETRIEVE_INDEX_SQL="SELECT indexname FROM pg_indexes WHERE indexname LIKE '%fcsttimeindex%' ORDER BY indexname;"
|
||||||
|
|
||||||
|
# retrieve the fcsttime indices
|
||||||
|
${PSQL} -U awips -d metadata -c "${RETRIEVE_INDEX_SQL}" -t -o ${_index_list_txt}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to retrieve the list of data uri indices."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for index in `cat ${_index_list_txt}`;
|
||||||
|
do
|
||||||
|
# remove the index
|
||||||
|
${PSQL} -U awips -d metadata -c "DROP INDEX ${index};"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to drop index - ${index}."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f ${_index_list_txt}
|
||||||
|
|
||||||
|
echo "INFO: the update has completed successfully!"
|
||||||
|
|
||||||
|
exit 0
|
33
deltaScripts/13.3.1/removeDataURIIndex.sh
Normal file
33
deltaScripts/13.3.1/removeDataURIIndex.sh
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# DR #1846 - this update script will remove all datauri_idx indices from the metadata database
|
||||||
|
|
||||||
|
PSQL="/awips2/psql/bin/psql"
|
||||||
|
RETRIEVE_INDEX_SQL="SELECT indexname FROM pg_indexes WHERE indexname LIKE '%datauri_idx%' ORDER BY indexname;"
|
||||||
|
_index_list_txt=indexlist.txt
|
||||||
|
|
||||||
|
echo "INFO: update started"
|
||||||
|
|
||||||
|
# retrieve the indices
|
||||||
|
${PSQL} -U awips -d metadata -c "${RETRIEVE_INDEX_SQL}" -t -o ${_index_list_txt}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to retrieve the list of data uri indices."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for index in `cat ${_index_list_txt}`;
|
||||||
|
do
|
||||||
|
# remove the index
|
||||||
|
${PSQL} -U awips -d metadata -c "DROP INDEX ${index};"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: Failed to drop index - ${index}."
|
||||||
|
echo "FATAL: The update has failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -f ${_index_list_txt}
|
||||||
|
|
||||||
|
echo "INFO: the update has completed successfully!"
|
||||||
|
|
||||||
|
exit 0
|
|
@ -94,7 +94,7 @@ export AMQP_SPEC=$awips_home/python/share/amqp/amqp.0-10.xml
|
||||||
#read and interpret the command line arguments
|
#read and interpret the command line arguments
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
CONSOLE_FLAG=on
|
CONSOLE_FLAG=on
|
||||||
CONSOLE_LOGLEVEL=INFO
|
CONSOLE_LOGLEVEL=DEBUG
|
||||||
DEBUG_FLAG=off
|
DEBUG_FLAG=off
|
||||||
PROFILE_FLAG=off
|
PROFILE_FLAG=off
|
||||||
HIGH_MEM_FLAG=off
|
HIGH_MEM_FLAG=off
|
||||||
|
|
|
@ -184,7 +184,7 @@ wrapper.trigger.action=RESTART
|
||||||
wrapper.console.format=M
|
wrapper.console.format=M
|
||||||
|
|
||||||
# Log Level for console output. (See docs for log levels)
|
# Log Level for console output. (See docs for log levels)
|
||||||
wrapper.console.loglevel=DEBUG
|
wrapper.console.loglevel=${CONSOLE_LOGLEVEL}
|
||||||
|
|
||||||
# Log file to use for wrapper output logging.
|
# Log file to use for wrapper output logging.
|
||||||
wrapper.logfile=${EDEX_HOME}/logs/edex-${EDEX_RUN_MODE}-YYYYMMDD.log
|
wrapper.logfile=${EDEX_HOME}/logs/edex-${EDEX_RUN_MODE}-YYYYMMDD.log
|
||||||
|
|
Binary file not shown.
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosAvn", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosAvn", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosAvn",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosAvn_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosEta", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosEta", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosEta",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosEta_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosGfs", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosGfs", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosGfs",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosGfs_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosHpc", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosHpc", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosHpc",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosHpc_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosLamp", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosLamp", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosLamp",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosLamp_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -25,6 +25,7 @@ import javax.persistence.UniqueConstraint;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
|
@ -38,6 +39,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +48,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosMrf", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosMrf", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosMrf",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosMrf_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -26,6 +26,8 @@ import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,6 +40,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 25, 2011 rjpeter Initial creation
|
* May 25, 2011 rjpeter Initial creation
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -46,6 +49,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "bufrmosNgm", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "bufrmosNgm", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "bufrmosNgm",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "bufrmosNgm_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -30,6 +30,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import org.hibernate.annotations.Index;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
|
import com.raytheon.uf.common.dataplugin.IDecoderGettable;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
|
@ -49,6 +50,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
* 03/03/2007 908 bwoodle initial creation
|
* 03/03/2007 908 bwoodle initial creation
|
||||||
* 09/15/2009 3027 njensen Use dates for times
|
* 09/15/2009 3027 njensen Use dates for times
|
||||||
* 09/21/2009 3072 bsteffen Removed times because they are stored in DataTime
|
* 09/21/2009 3072 bsteffen Removed times because they are stored in DataTime
|
||||||
|
* Apr 4, 2013 1846 bkowal Added an index on refTime and forecastTime
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
|
@ -58,6 +60,16 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "ccfp", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
@Table(name = "ccfp", uniqueConstraints = { @UniqueConstraint(columnNames = { "dataURI" }) })
|
||||||
|
/*
|
||||||
|
* Both refTime and forecastTime are included in the refTimeIndex since
|
||||||
|
* forecastTime is unlikely to be used.
|
||||||
|
*/
|
||||||
|
@org.hibernate.annotations.Table(
|
||||||
|
appliesTo = "ccfp",
|
||||||
|
indexes = {
|
||||||
|
@Index(name = "ccfp_refTimeIndex", columnNames = { "refTime", "forecastTime" } )
|
||||||
|
}
|
||||||
|
)
|
||||||
@XmlRootElement
|
@XmlRootElement
|
||||||
@XmlAccessorType(XmlAccessType.NONE)
|
@XmlAccessorType(XmlAccessType.NONE)
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
|
|
|
@ -72,10 +72,15 @@
|
||||||
<from uri="timer://smartInitTimer?fixedRate=true&period=30000" />
|
<from uri="timer://smartInitTimer?fixedRate=true&period=30000" />
|
||||||
<bean ref="smartInitQueue" method="fireSmartInit" />
|
<bean ref="smartInitQueue" method="fireSmartInit" />
|
||||||
</route>
|
</route>
|
||||||
|
</camelContext>
|
||||||
|
|
||||||
|
<camelContext id="clusteredGfeIngestRoutes"
|
||||||
|
xmlns="http://camel.apache.org/schema/spring"
|
||||||
|
errorHandlerRef="errorHandler" autoStartup="false">
|
||||||
|
|
||||||
<!-- gfeIngestNotification not clustered and has two threads to read due to throughput of messages during model run times -->
|
<!-- gfeIngestNotification must be a singleton and has 4 threads to read due to throughput of messages during model run times -->
|
||||||
<route id="gfeIngestNotification">
|
<route id="gfeIngestNotification">
|
||||||
<from uri="jms-generic:queue:gfeDataURINotification?destinationResolver=#qpidDurableResolver&concurrentConsumers=2" />
|
<from uri="jms-generic:queue:gfeDataURINotification?destinationResolver=#qpidDurableResolver&concurrentConsumers=4" />
|
||||||
<doTry>
|
<doTry>
|
||||||
<bean ref="serializationUtil" method="transformFromThrift" />
|
<bean ref="serializationUtil" method="transformFromThrift" />
|
||||||
<bean ref="gfeIngestFilter" method="filterDataURINotifications" />
|
<bean ref="gfeIngestFilter" method="filterDataURINotifications" />
|
||||||
|
@ -86,11 +91,6 @@
|
||||||
</doCatch>
|
</doCatch>
|
||||||
</doTry>
|
</doTry>
|
||||||
</route>
|
</route>
|
||||||
</camelContext>
|
|
||||||
|
|
||||||
<camelContext id="clusteredGfeIngestRoutes"
|
|
||||||
xmlns="http://camel.apache.org/schema/spring"
|
|
||||||
errorHandlerRef="errorHandler" autoStartup="false">
|
|
||||||
|
|
||||||
<!-- Smart Init Routes -->
|
<!-- Smart Init Routes -->
|
||||||
<!-- main route now handled through the gfeIngestNotification -->
|
<!-- main route now handled through the gfeIngestNotification -->
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
package com.raytheon.edex.plugin.gfe.cache.d2dparms;
|
package com.raytheon.edex.plugin.gfe.cache.d2dparms;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -40,19 +39,16 @@ import com.raytheon.edex.plugin.gfe.server.database.D2DGridDatabase;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabase;
|
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabase;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabaseManager;
|
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabaseManager;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.GridDatabase;
|
import com.raytheon.edex.plugin.gfe.server.database.GridDatabase;
|
||||||
import com.raytheon.edex.plugin.gfe.util.SendNotifications;
|
import com.raytheon.edex.plugin.gfe.server.notify.GfeIngestNotificationFilter;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginException;
|
import com.raytheon.uf.common.dataplugin.PluginException;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.GridDataHistory;
|
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.db.objects.DatabaseID;
|
import com.raytheon.uf.common.dataplugin.gfe.db.objects.DatabaseID;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID;
|
import com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException;
|
import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.server.message.ServerResponse;
|
import com.raytheon.uf.common.dataplugin.gfe.server.message.ServerResponse;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.server.notify.GridUpdateNotification;
|
import com.raytheon.uf.common.dataplugin.gfe.server.notify.GridUpdateNotification;
|
||||||
import com.raytheon.uf.common.message.WsId;
|
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.TimeRange;
|
|
||||||
import com.raytheon.uf.edex.database.DataAccessLayerException;
|
import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
||||||
|
|
||||||
|
@ -70,7 +66,8 @@ import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
||||||
* D2DParmIdCache toGfeIngestNotificationFilter.
|
* D2DParmIdCache toGfeIngestNotificationFilter.
|
||||||
* Added code to match wind components and send
|
* Added code to match wind components and send
|
||||||
* GridUpdateNotifications.
|
* GridUpdateNotifications.
|
||||||
* Mar 20, 2013 #1774 randerso Changde to use GFDD2DDao
|
* Mar 20, 2013 #1774 randerso Changed to use GFDD2DDao
|
||||||
|
* Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -87,20 +84,9 @@ public class D2DParmIdCache {
|
||||||
private static final Pattern RangeFilter = Pattern
|
private static final Pattern RangeFilter = Pattern
|
||||||
.compile("(.*?)\\d{1,2}hr");
|
.compile("(.*?)\\d{1,2}hr");
|
||||||
|
|
||||||
private static final Map<String, String> WIND_COMP_PARMS;
|
|
||||||
static {
|
|
||||||
WIND_COMP_PARMS = new HashMap<String, String>();
|
|
||||||
WIND_COMP_PARMS.put("uw", "vw");
|
|
||||||
WIND_COMP_PARMS.put("vw", "uw");
|
|
||||||
WIND_COMP_PARMS.put("ws", "wd");
|
|
||||||
WIND_COMP_PARMS.put("wd", "ws");
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Map containing the ParmIDs */
|
/** Map containing the ParmIDs */
|
||||||
private Map<DatabaseID, Set<ParmID>> parmIds;
|
private Map<DatabaseID, Set<ParmID>> parmIds;
|
||||||
|
|
||||||
private Map<ParmID, Set<TimeRange>> windComps;
|
|
||||||
|
|
||||||
private static D2DParmIdCache instance;
|
private static D2DParmIdCache instance;
|
||||||
|
|
||||||
public static synchronized D2DParmIdCache getInstance() {
|
public static synchronized D2DParmIdCache getInstance() {
|
||||||
|
@ -115,7 +101,6 @@ public class D2DParmIdCache {
|
||||||
*/
|
*/
|
||||||
public D2DParmIdCache() {
|
public D2DParmIdCache() {
|
||||||
parmIds = new HashMap<DatabaseID, Set<ParmID>>();
|
parmIds = new HashMap<DatabaseID, Set<ParmID>>();
|
||||||
windComps = new HashMap<ParmID, Set<TimeRange>>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -360,18 +345,9 @@ public class D2DParmIdCache {
|
||||||
for (DatabaseID dbId : dbsToRemove) {
|
for (DatabaseID dbId : dbsToRemove) {
|
||||||
GridParmManager.removeDbFromMap(dbId);
|
GridParmManager.removeDbFromMap(dbId);
|
||||||
}
|
}
|
||||||
// purge the windComps
|
|
||||||
List<ParmID> wcToRemove = new ArrayList<ParmID>();
|
// inform GfeIngestNotificationFilter of removed dbs
|
||||||
synchronized (windComps) {
|
GfeIngestNotificationFilter.purgeDbs(dbsToRemove);
|
||||||
for (ParmID id : windComps.keySet()) {
|
|
||||||
if (dbsToRemove.contains(id.getDbId())) {
|
|
||||||
wcToRemove.add(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (ParmID id : wcToRemove) {
|
|
||||||
windComps.remove(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
statusHandler.handle(Priority.EVENTA,
|
statusHandler.handle(Priority.EVENTA,
|
||||||
"Total time to build D2DParmIdCache for " + siteID
|
"Total time to build D2DParmIdCache for " + siteID
|
||||||
|
@ -404,60 +380,6 @@ public class D2DParmIdCache {
|
||||||
|
|
||||||
public void processGridUpdateNotification(GridUpdateNotification gun) {
|
public void processGridUpdateNotification(GridUpdateNotification gun) {
|
||||||
ParmID parmId = gun.getParmId();
|
ParmID parmId = gun.getParmId();
|
||||||
|
putParmID(parmId);
|
||||||
String otherCompName = WIND_COMP_PARMS.get(parmId.getParmName());
|
|
||||||
if (otherCompName == null) {
|
|
||||||
// if it's not a wind component just add it to the cache
|
|
||||||
putParmID(parmId);
|
|
||||||
} else {
|
|
||||||
Set<TimeRange> windTrs = null;
|
|
||||||
synchronized (windComps) {
|
|
||||||
// add this parms times to windComps map
|
|
||||||
Set<TimeRange> trs = windComps.get(parmId);
|
|
||||||
if (trs == null) {
|
|
||||||
trs = new HashSet<TimeRange>();
|
|
||||||
windComps.put(parmId, trs);
|
|
||||||
}
|
|
||||||
trs.addAll(gun.getHistories().keySet());
|
|
||||||
|
|
||||||
// get the other components times
|
|
||||||
ParmID otherCompId = new ParmID(otherCompName,
|
|
||||||
parmId.getDbId(), parmId.getParmLevel());
|
|
||||||
Set<TimeRange> otherTrs = windComps.get(otherCompId);
|
|
||||||
|
|
||||||
// if we have both components
|
|
||||||
if (otherTrs != null) {
|
|
||||||
// find times where we have both components
|
|
||||||
windTrs = new HashSet<TimeRange>(trs);
|
|
||||||
windTrs.retainAll(otherTrs);
|
|
||||||
|
|
||||||
// remove the matching times since we don't need them
|
|
||||||
// anymore
|
|
||||||
trs.removeAll(windTrs);
|
|
||||||
otherTrs.removeAll(windTrs);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if we found any matching times for both components
|
|
||||||
if (windTrs != null && !windTrs.isEmpty()) {
|
|
||||||
// add the wind parmId to the cache
|
|
||||||
ParmID windId = new ParmID("wind", parmId.getDbId(),
|
|
||||||
parmId.getParmLevel());
|
|
||||||
putParmID(windId);
|
|
||||||
|
|
||||||
// create GridUpdateNotifications for the wind parm
|
|
||||||
Map<TimeRange, List<GridDataHistory>> history = new HashMap<TimeRange, List<GridDataHistory>>();
|
|
||||||
ArrayList<GridUpdateNotification> guns = new ArrayList<GridUpdateNotification>(
|
|
||||||
windTrs.size());
|
|
||||||
for (TimeRange tr : windTrs) {
|
|
||||||
history.put(tr, Arrays.asList(new GridDataHistory(
|
|
||||||
GridDataHistory.OriginType.INITIALIZED, windId, tr,
|
|
||||||
null, (WsId) null)));
|
|
||||||
guns.add(new GridUpdateNotification(windId, tr, history,
|
|
||||||
null, windId.getDbId().getSiteId()));
|
|
||||||
}
|
|
||||||
SendNotifications.send(guns);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,8 @@ import com.raytheon.uf.common.dataplugin.gfe.exception.GfeException;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 04/08/08 #875 bphillip Initial Creation
|
* 04/08/08 #875 bphillip Initial Creation
|
||||||
|
* 03/28/13 #1837 dgilling Implement missing constructors from
|
||||||
|
* super-class.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -40,6 +42,10 @@ public class GfeConfigurationException extends GfeException {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public GfeConfigurationException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param aCause
|
* @param aCause
|
||||||
*/
|
*/
|
||||||
|
@ -58,4 +64,7 @@ public class GfeConfigurationException extends GfeException {
|
||||||
super(aCause, anException);
|
super(aCause, anException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public GfeConfigurationException(Throwable anException) {
|
||||||
|
super(anException);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
/**
|
||||||
|
* This software was developed and / or modified by Raytheon Company,
|
||||||
|
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||||
|
*
|
||||||
|
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||||
|
* This software product contains export-restricted data whose
|
||||||
|
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||||
|
* to non-U.S. persons whether in the United States or abroad requires
|
||||||
|
* an export license or other authorization.
|
||||||
|
*
|
||||||
|
* Contractor Name: Raytheon Company
|
||||||
|
* Contractor Address: 6825 Pine Street, Suite 340
|
||||||
|
* Mail Stop B8
|
||||||
|
* Omaha, NE 68106
|
||||||
|
* 402.291.0100
|
||||||
|
*
|
||||||
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
|
* further licensing information.
|
||||||
|
**/
|
||||||
|
package com.raytheon.edex.plugin.gfe.exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Exception thrown when a database table referenced in localMaps.py cannot be
|
||||||
|
* located in the maps database.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* Mar 28, 2013 dgilling Initial creation
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author dgilling
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class MissingLocalMapsException extends GfeConfigurationException {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public MissingLocalMapsException() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public MissingLocalMapsException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MissingLocalMapsException(String message, Throwable cause) {
|
||||||
|
super(message, cause);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MissingLocalMapsException(Throwable cause) {
|
||||||
|
super(cause);
|
||||||
|
}
|
||||||
|
}
|
|
@ -46,10 +46,10 @@ import org.opengis.filter.Filter;
|
||||||
import org.opengis.filter.FilterFactory2;
|
import org.opengis.filter.FilterFactory2;
|
||||||
import org.opengis.geometry.BoundingBox;
|
import org.opengis.geometry.BoundingBox;
|
||||||
|
|
||||||
|
import com.raytheon.edex.plugin.gfe.exception.MissingLocalMapsException;
|
||||||
import com.raytheon.uf.common.dataquery.db.QueryResult;
|
import com.raytheon.uf.common.dataquery.db.QueryResult;
|
||||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
|
||||||
import com.raytheon.uf.edex.core.EDEXUtil;
|
import com.raytheon.uf.edex.core.EDEXUtil;
|
||||||
import com.raytheon.uf.edex.database.tasks.SqlQueryTask;
|
import com.raytheon.uf.edex.database.tasks.SqlQueryTask;
|
||||||
import com.vividsolutions.jts.geom.Geometry;
|
import com.vividsolutions.jts.geom.Geometry;
|
||||||
|
@ -68,6 +68,8 @@ import com.vividsolutions.jts.geom.Polygon;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Sep 18, 2012 #1091 randerso Initial creation
|
* Sep 18, 2012 #1091 randerso Initial creation
|
||||||
|
* Mar 28, 2013 #1837 dgilling Change error handling in
|
||||||
|
* getLastUpdated().
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -172,11 +174,16 @@ public class DbShapeSource {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
|
* @throws MissingLocalMapsException
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void open() throws IOException {
|
public void open() throws IOException, MissingLocalMapsException {
|
||||||
DataStore dataStore = getDataStore();
|
DataStore dataStore = getDataStore();
|
||||||
schema = dataStore.getSchema(this.tableName);
|
try {
|
||||||
|
schema = dataStore.getSchema(this.tableName);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new MissingLocalMapsException(e);
|
||||||
|
}
|
||||||
|
|
||||||
shapeField = schema.getGeometryDescriptor().getLocalName();
|
shapeField = schema.getGeometryDescriptor().getLocalName();
|
||||||
featureCollection = null;
|
featureCollection = null;
|
||||||
|
@ -247,7 +254,8 @@ public class DbShapeSource {
|
||||||
return featureIterator.next();
|
return featureIterator.next();
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized ShapeType getShapeType() throws IOException {
|
public synchronized ShapeType getShapeType() throws IOException,
|
||||||
|
MissingLocalMapsException {
|
||||||
if (this.type == null) {
|
if (this.type == null) {
|
||||||
boolean closeIt = false;
|
boolean closeIt = false;
|
||||||
if (schema == null) {
|
if (schema == null) {
|
||||||
|
@ -418,6 +426,9 @@ public class DbShapeSource {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
statusHandler.error(
|
statusHandler.error(
|
||||||
"IOException reading " + dbShape.getTableName(), e);
|
"IOException reading " + dbShape.getTableName(), e);
|
||||||
|
} catch (MissingLocalMapsException e) {
|
||||||
|
statusHandler.error("Could not locate " + dbShape.getTableName()
|
||||||
|
+ " in the maps database.", e);
|
||||||
} finally {
|
} finally {
|
||||||
try {
|
try {
|
||||||
if (dbShape != null) {
|
if (dbShape != null) {
|
||||||
|
@ -431,18 +442,17 @@ public class DbShapeSource {
|
||||||
System.out.println("Took " + (System.currentTimeMillis() - t0) + " ms");
|
System.out.println("Took " + (System.currentTimeMillis() - t0) + " ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Date getLastUpdated() {
|
public Date getLastUpdated() throws MissingLocalMapsException {
|
||||||
Date retVal = new Date();
|
|
||||||
String sqlQuery = "SELECT import_time FROM " + SCHEMA_NAME
|
String sqlQuery = "SELECT import_time FROM " + SCHEMA_NAME
|
||||||
+ ".map_version WHERE table_name = '" + this.tableName + "';";
|
+ ".map_version WHERE table_name = '" + this.tableName + "';";
|
||||||
try {
|
try {
|
||||||
SqlQueryTask task = new SqlQueryTask(sqlQuery, DB_NAME);
|
SqlQueryTask task = new SqlQueryTask(sqlQuery, DB_NAME);
|
||||||
QueryResult result = task.execute();
|
QueryResult result = task.execute();
|
||||||
retVal = (Date) result.getRowColumnValue(0, 0);
|
return (Date) result.getRowColumnValue(0, 0);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
// statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||||
|
// e);
|
||||||
|
throw new MissingLocalMapsException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return retVal;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,7 @@ import org.opengis.metadata.spatial.PixelOrientation;
|
||||||
import org.opengis.referencing.operation.MathTransform;
|
import org.opengis.referencing.operation.MathTransform;
|
||||||
|
|
||||||
import com.raytheon.edex.plugin.gfe.config.IFPServerConfig;
|
import com.raytheon.edex.plugin.gfe.config.IFPServerConfig;
|
||||||
|
import com.raytheon.edex.plugin.gfe.exception.MissingLocalMapsException;
|
||||||
import com.raytheon.edex.plugin.gfe.reference.DbShapeSource.ShapeType;
|
import com.raytheon.edex.plugin.gfe.reference.DbShapeSource.ShapeType;
|
||||||
import com.raytheon.edex.plugin.gfe.textproducts.AreaDictionaryMaker;
|
import com.raytheon.edex.plugin.gfe.textproducts.AreaDictionaryMaker;
|
||||||
import com.raytheon.edex.plugin.gfe.textproducts.CombinationsFileMaker;
|
import com.raytheon.edex.plugin.gfe.textproducts.CombinationsFileMaker;
|
||||||
|
@ -73,6 +74,7 @@ import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
import com.raytheon.uf.common.status.UFStatus;
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.util.FileUtil;
|
import com.raytheon.uf.common.util.FileUtil;
|
||||||
|
import com.raytheon.uf.edex.core.EDEXUtil;
|
||||||
import com.vividsolutions.jts.geom.Coordinate;
|
import com.vividsolutions.jts.geom.Coordinate;
|
||||||
import com.vividsolutions.jts.geom.Geometry;
|
import com.vividsolutions.jts.geom.Geometry;
|
||||||
import com.vividsolutions.jts.geom.GeometryFactory;
|
import com.vividsolutions.jts.geom.GeometryFactory;
|
||||||
|
@ -96,6 +98,9 @@ import com.vividsolutions.jts.simplify.TopologyPreservingSimplifier;
|
||||||
* Jun 25, 2008 #1210 randerso Modified to get directories from UtilityContext
|
* Jun 25, 2008 #1210 randerso Modified to get directories from UtilityContext
|
||||||
* Oct 13, 2008 #1607 njensen Added genCombinationsFiles()
|
* Oct 13, 2008 #1607 njensen Added genCombinationsFiles()
|
||||||
* Sep 18, 2012 #1091 randerso Changed to use Maps.py and localMaps.py
|
* Sep 18, 2012 #1091 randerso Changed to use Maps.py and localMaps.py
|
||||||
|
* Mar 28, 2013 #1837 dgilling Better error reporting if a map table
|
||||||
|
* from localMaps.py could not be found,
|
||||||
|
* warnings clean up.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -243,28 +248,21 @@ public class MapManager {
|
||||||
/**
|
/**
|
||||||
* @param maps
|
* @param maps
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unused")
|
|
||||||
/**
|
|
||||||
* Searches the parent directory of a provided list of shape files to
|
|
||||||
* determine whether or not they contain a file that is newer than any files
|
|
||||||
* in a specified directory.
|
|
||||||
*
|
|
||||||
* @param maps
|
|
||||||
* An array of shape files.
|
|
||||||
* @param directory
|
|
||||||
* A directory containing the resultant edit areas from the shape
|
|
||||||
* files.
|
|
||||||
* @return True, if any file in the parent folder of any of the shape files
|
|
||||||
* is newer than anything in the specified directory. Else, false.
|
|
||||||
*/
|
|
||||||
private boolean updateNeeded(List<DbShapeSource> maps,
|
private boolean updateNeeded(List<DbShapeSource> maps,
|
||||||
final String directory) {
|
final String directory) {
|
||||||
// calc newest file inside maps.directory()
|
// calc newest file inside maps.directory()
|
||||||
long newestSource = Long.MIN_VALUE;
|
long newestSource = Long.MIN_VALUE;
|
||||||
|
List<DbShapeSource> failedMaps = new ArrayList<DbShapeSource>();
|
||||||
for (DbShapeSource map : maps) {
|
for (DbShapeSource map : maps) {
|
||||||
newestSource = Math.max(newestSource, map.getLastUpdated()
|
try {
|
||||||
.getTime());
|
newestSource = Math.max(newestSource, map.getLastUpdated()
|
||||||
|
.getTime());
|
||||||
|
} catch (MissingLocalMapsException e) {
|
||||||
|
reportMissingLocalMap(map, "retrieving last update time", e);
|
||||||
|
failedMaps.add(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
maps.removeAll(failedMaps);
|
||||||
|
|
||||||
// Determine time of last modification of Maps.py, serverConfig,
|
// Determine time of last modification of Maps.py, serverConfig,
|
||||||
// localConfig, localMaps, and siteConfig.
|
// localConfig, localMaps, and siteConfig.
|
||||||
|
@ -388,6 +386,10 @@ public class MapManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
makeReferenceData(m);
|
makeReferenceData(m);
|
||||||
|
} catch (MissingLocalMapsException e) {
|
||||||
|
String error = reportMissingLocalMap(m, "retrieving map data",
|
||||||
|
e);
|
||||||
|
_mapErrors.add(error);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String error = "********* EDIT AREA GENERATION ERROR - MakeReferenceData *********\n"
|
String error = "********* EDIT AREA GENERATION ERROR - MakeReferenceData *********\n"
|
||||||
+ "Error in generating edit areas, map #"
|
+ "Error in generating edit areas, map #"
|
||||||
|
@ -578,8 +580,8 @@ public class MapManager {
|
||||||
// old one, write a warning to the log.
|
// old one, write a warning to the log.
|
||||||
ReferenceData other = null;
|
ReferenceData other = null;
|
||||||
try {
|
try {
|
||||||
other = (ReferenceData) SerializationUtil
|
other = SerializationUtil.jaxbUnmarshalFromXmlFile(
|
||||||
.jaxbUnmarshalFromXmlFile(path);
|
ReferenceData.class, path);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
statusHandler.error("Error reading edit area file "
|
statusHandler.error("Error reading edit area file "
|
||||||
+ path.getAbsolutePath(), e);
|
+ path.getAbsolutePath(), e);
|
||||||
|
@ -965,4 +967,23 @@ public class MapManager {
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String reportMissingLocalMap(DbShapeSource missingMap,
|
||||||
|
String operation, MissingLocalMapsException e) {
|
||||||
|
String errorLog = "Error in " + operation + " for map named ["
|
||||||
|
+ missingMap.getDisplayName() + "]: Could not find table ["
|
||||||
|
+ missingMap.getTableName() + "] in maps database.";
|
||||||
|
statusHandler.error(errorLog, e);
|
||||||
|
|
||||||
|
String errorUser = errorLog
|
||||||
|
+ " Edit areas for this map will not be generated."
|
||||||
|
+ " Check site ["
|
||||||
|
+ _config.getSiteID().get(0)
|
||||||
|
+ "] localMaps.py configuration and verify all necessary shape files have been imported.";
|
||||||
|
EDEXUtil.sendMessageAlertViz(Priority.ERROR,
|
||||||
|
"com.raytheon.edex.plugin.gfe", "GFE", "GFE", errorUser,
|
||||||
|
errorUser, null);
|
||||||
|
|
||||||
|
return errorLog;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,6 +101,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
* data instead of full grid. Added logging to support
|
* data instead of full grid. Added logging to support
|
||||||
* GFE performance testing
|
* GFE performance testing
|
||||||
* 03/19/2013 #1774 randerso Fix accumulative grid time ranges
|
* 03/19/2013 #1774 randerso Fix accumulative grid time ranges
|
||||||
|
* Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -197,7 +198,7 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
private final IPerformanceStatusHandler perfLog = PerformanceStatus
|
private final IPerformanceStatusHandler perfLog = PerformanceStatus
|
||||||
.getHandler("GFE:");
|
.getHandler("GFE:");
|
||||||
|
|
||||||
private static class D2DParm {
|
public static class D2DParm {
|
||||||
private ParmID parmId;
|
private ParmID parmId;
|
||||||
|
|
||||||
private GridParmInfo gpi;
|
private GridParmInfo gpi;
|
||||||
|
@ -1174,7 +1175,7 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
// no-op
|
// no-op
|
||||||
}
|
}
|
||||||
|
|
||||||
public ParmID getParmId(String d2dParmName, Level level) {
|
public D2DParm getD2DParm(String d2dParmName, Level level) {
|
||||||
String gfeParmName = getGfeParmName(d2dParmName);
|
String gfeParmName = getGfeParmName(d2dParmName);
|
||||||
|
|
||||||
String levelName = GridTranslator.getShortLevelName(level
|
String levelName = GridTranslator.getShortLevelName(level
|
||||||
|
@ -1182,24 +1183,26 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
.getLeveltwovalue());
|
.getLeveltwovalue());
|
||||||
|
|
||||||
D2DParm parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
D2DParm parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
||||||
if (parm != null) {
|
if (parm == null) {
|
||||||
return parm.getParmId();
|
// try to find one with duration (XXXnnhr)
|
||||||
}
|
Matcher matcher = parmHrPattern.matcher(d2dParmName);
|
||||||
|
if (matcher.find()) {
|
||||||
Matcher matcher = parmHrPattern.matcher(d2dParmName);
|
String abbrev = matcher.group(1);
|
||||||
if (matcher.find()) {
|
gfeParmName = getGfeParmName(abbrev);
|
||||||
String abbrev = matcher.group(1);
|
parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
||||||
gfeParmName = getGfeParmName(abbrev);
|
|
||||||
parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
|
||||||
if (parm != null) {
|
|
||||||
return parm.getParmId();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
if (parm == null) {
|
||||||
|
statusHandler.warn("No gridParameterInfo found for "
|
||||||
|
+ compositeName(gfeParmName, levelName) + ":"
|
||||||
|
+ dbId.getModelId() + ". Check parameterInfo file.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return parm;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getGfeParmName(String d2dParmName) {
|
public String getGfeParmName(String d2dParmName) {
|
||||||
String gfeParmName = null;
|
String gfeParmName = null;
|
||||||
try {
|
try {
|
||||||
gfeParmName = ParameterMapper.getInstance().lookupAlias(
|
gfeParmName = ParameterMapper.getInstance().lookupAlias(
|
||||||
|
|
|
@ -37,6 +37,7 @@ import com.raytheon.edex.plugin.gfe.exception.GfeConfigurationException;
|
||||||
import com.raytheon.edex.plugin.gfe.server.D2DSatParm;
|
import com.raytheon.edex.plugin.gfe.server.D2DSatParm;
|
||||||
import com.raytheon.edex.plugin.gfe.server.GridParmManager;
|
import com.raytheon.edex.plugin.gfe.server.GridParmManager;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.D2DGridDatabase;
|
import com.raytheon.edex.plugin.gfe.server.database.D2DGridDatabase;
|
||||||
|
import com.raytheon.edex.plugin.gfe.server.database.D2DGridDatabase.D2DParm;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabase;
|
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabase;
|
||||||
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabaseManager;
|
import com.raytheon.edex.plugin.gfe.server.database.D2DSatDatabaseManager;
|
||||||
import com.raytheon.edex.plugin.gfe.smartinit.SmartInitQueue;
|
import com.raytheon.edex.plugin.gfe.smartinit.SmartInitQueue;
|
||||||
|
@ -76,6 +77,7 @@ import com.raytheon.uf.edex.core.EDEXUtil;
|
||||||
* Mar 25, 2013 1823 dgilling Trigger SAT smart init based only on record's
|
* Mar 25, 2013 1823 dgilling Trigger SAT smart init based only on record's
|
||||||
* SectorId and PhysicalElement.
|
* SectorId and PhysicalElement.
|
||||||
* Mar 20, 2013 #1774 randerso Refactor to use grid durations from D2DGridDatabase
|
* Mar 20, 2013 #1774 randerso Refactor to use grid durations from D2DGridDatabase
|
||||||
|
* Apr 01, 2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -88,10 +90,17 @@ public class GfeIngestNotificationFilter {
|
||||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(GfeIngestNotificationFilter.class);
|
.getHandler(GfeIngestNotificationFilter.class);
|
||||||
|
|
||||||
|
// private final IPerformanceStatusHandler perfLog = PerformanceStatus
|
||||||
|
// .getHandler("GFE:");
|
||||||
|
|
||||||
|
private static Map<ParmID, Set<Integer>> windComps = new HashMap<ParmID, Set<Integer>>();
|
||||||
|
|
||||||
private SmartInitQueue smartInitQueue = null;
|
private SmartInitQueue smartInitQueue = null;
|
||||||
|
|
||||||
public void filterDataURINotifications(DataURINotificationMessage message)
|
public void filterDataURINotifications(DataURINotificationMessage message)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
// ITimer timer = TimeUtil.getTimer();
|
||||||
|
// timer.start();
|
||||||
Date arrivalTime = new Date();
|
Date arrivalTime = new Date();
|
||||||
List<GridRecord> gridRecords = new ArrayList<GridRecord>(500);
|
List<GridRecord> gridRecords = new ArrayList<GridRecord>(500);
|
||||||
List<SatelliteRecord> satRecords = new ArrayList<SatelliteRecord>(100);
|
List<SatelliteRecord> satRecords = new ArrayList<SatelliteRecord>(100);
|
||||||
|
@ -109,6 +118,10 @@ public class GfeIngestNotificationFilter {
|
||||||
if (!satRecords.isEmpty()) {
|
if (!satRecords.isEmpty()) {
|
||||||
filterSatelliteRecords(satRecords, arrivalTime);
|
filterSatelliteRecords(satRecords, arrivalTime);
|
||||||
}
|
}
|
||||||
|
// timer.stop();
|
||||||
|
// perfLog.logDuration(
|
||||||
|
// "GfeIngestNotificationFilter: processing DataURINotificationMessage",
|
||||||
|
// timer.getElapsedTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void filterGridRecords(List<GridRecord> gridRecords, Date arrivalTime)
|
public void filterGridRecords(List<GridRecord> gridRecords, Date arrivalTime)
|
||||||
|
@ -154,20 +167,62 @@ public class GfeIngestNotificationFilter {
|
||||||
sendNotification(dbInv);
|
sendNotification(dbInv);
|
||||||
}
|
}
|
||||||
|
|
||||||
String abbrev = grid.getParameter().getAbbreviation();
|
String d2dParamName = grid.getParameter().getAbbreviation();
|
||||||
Level level = grid.getLevel();
|
Level level = grid.getLevel();
|
||||||
|
Integer fcstHour = grid.getDataTime().getFcstTime();
|
||||||
|
|
||||||
D2DGridDatabase db = (D2DGridDatabase) GridParmManager
|
D2DGridDatabase db = (D2DGridDatabase) GridParmManager
|
||||||
.getDb(dbId);
|
.getDb(dbId);
|
||||||
ParmID parmID = db.getParmId(abbrev, level);
|
String gfeParamName = db.getGfeParmName(d2dParamName);
|
||||||
|
|
||||||
|
D2DParm parm = db.getD2DParm(d2dParamName, level);
|
||||||
|
if (parm == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ParmID parmID = parm.getParmId();
|
||||||
|
|
||||||
|
// check for wind
|
||||||
|
String otherComponent = null;
|
||||||
|
String[] components = parm.getComponents();
|
||||||
|
if (components.length > 1) {
|
||||||
|
if (components[0].equals(gfeParamName)) {
|
||||||
|
otherComponent = components[1];
|
||||||
|
} else {
|
||||||
|
otherComponent = components[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if wind see if other component is available
|
||||||
|
if (otherComponent != null) {
|
||||||
|
ParmID otherPid = new ParmID(otherComponent,
|
||||||
|
parmID.getDbId(), parmID.getParmLevel());
|
||||||
|
synchronized (windComps) {
|
||||||
|
// get the other components times
|
||||||
|
Set<Integer> otherTimes = windComps.get(otherPid);
|
||||||
|
|
||||||
|
// if we don't have the other component for this
|
||||||
|
// fcstHour
|
||||||
|
if (otherTimes == null
|
||||||
|
|| !otherTimes.remove(fcstHour)) {
|
||||||
|
// need to wait for other component
|
||||||
|
ParmID compPid = new ParmID(gfeParamName,
|
||||||
|
parmID.getDbId(), parmID.getParmLevel());
|
||||||
|
Set<Integer> times = windComps.get(compPid);
|
||||||
|
if (times == null) {
|
||||||
|
times = new HashSet<Integer>();
|
||||||
|
windComps.put(compPid, times);
|
||||||
|
}
|
||||||
|
times.add(fcstHour);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
List<TimeRange> trs = gridInv.get(parmID);
|
List<TimeRange> trs = gridInv.get(parmID);
|
||||||
if (trs == null) {
|
if (trs == null) {
|
||||||
trs = new ArrayList<TimeRange>();
|
trs = new ArrayList<TimeRange>();
|
||||||
gridInv.put(parmID, trs);
|
gridInv.put(parmID, trs);
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer fcstHour = grid.getDataTime().getFcstTime();
|
|
||||||
TimeRange tr = db.getTimeRange(parmID, fcstHour);
|
TimeRange tr = db.getTimeRange(parmID, fcstHour);
|
||||||
if (tr != null) {
|
if (tr != null) {
|
||||||
trs.add(tr);
|
trs.add(tr);
|
||||||
|
@ -325,4 +380,19 @@ public class GfeIngestNotificationFilter {
|
||||||
public void setSmartInitQueue(SmartInitQueue smartInitQueue) {
|
public void setSmartInitQueue(SmartInitQueue smartInitQueue) {
|
||||||
this.smartInitQueue = smartInitQueue;
|
this.smartInitQueue = smartInitQueue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void purgeDbs(List<DatabaseID> dbsToRemove) {
|
||||||
|
List<ParmID> wcToRemove = new ArrayList<ParmID>();
|
||||||
|
synchronized (windComps) {
|
||||||
|
for (ParmID id : windComps.keySet()) {
|
||||||
|
if (dbsToRemove.contains(id.getDbId())) {
|
||||||
|
wcToRemove.add(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (ParmID id : wcToRemove) {
|
||||||
|
windComps.remove(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -217,7 +217,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -258,7 +258,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -378,7 +378,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
</gridParamInfo>
|
</gridParamInfo>
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -111,7 +111,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -168,7 +168,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -156,7 +156,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -244,7 +244,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -93,7 +93,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -226,7 +226,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -134,7 +134,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -407,7 +407,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -407,7 +407,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -231,7 +231,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -231,7 +231,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -113,7 +113,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -34,8 +34,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -138,7 +138,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -446,7 +446,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -521,7 +521,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -566,7 +566,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -685,7 +685,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -700,7 +700,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
|
|
@ -34,8 +34,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -138,7 +138,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
@ -446,7 +446,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -521,7 +521,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -566,7 +566,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -685,7 +685,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -700,7 +700,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
|
|
@ -170,7 +170,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -191,8 +191,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -366,13 +366,13 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -191,8 +191,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -366,13 +366,13 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -204,7 +204,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -191,8 +191,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -366,13 +366,13 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>crain</short_name>
|
<short_name>crain</short_name>
|
||||||
<long_name>Categorical rain</long_name>
|
<long_name>Categorical rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalRain</uiname>
|
<uiname>CategoricalRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cfrzr</short_name>
|
<short_name>cfrzr</short_name>
|
||||||
<long_name>Categorical freezing rain</long_name>
|
<long_name>Categorical freezing rain</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalFrzRain</uiname>
|
<uiname>CategoricalFrzRain</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -191,8 +191,8 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>weasd</short_name>
|
<short_name>weasd</short_name>
|
||||||
<long_name>water equivalent of accumulated snow depth</long_name>
|
<long_name>water equivalent of accumulated snow depth</long_name>
|
||||||
<units>ml</units>
|
<units>mm</units>
|
||||||
<udunits>mil</udunits>
|
<udunits>millimeter</udunits>
|
||||||
<uiname>waterEqvAccSnowDepth</uiname>
|
<uiname>waterEqvAccSnowDepth</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
<valid_range>1000.0</valid_range>
|
<valid_range>1000.0</valid_range>
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>av</short_name>
|
<short_name>av</short_name>
|
||||||
<long_name>absolute vorticity</long_name>
|
<long_name>absolute vorticity</long_name>
|
||||||
<units>1/s</units>
|
<units>/s</units>
|
||||||
<udunits>1/second</udunits>
|
<udunits>1/second</udunits>
|
||||||
<uiname>absVort</uiname>
|
<uiname>absVort</uiname>
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
<valid_range>-0.00999999977648</valid_range>
|
||||||
|
@ -366,13 +366,13 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>csnow</short_name>
|
<short_name>csnow</short_name>
|
||||||
<long_name>Categorical snow</long_name>
|
<long_name>Categorical snow</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalSnow</uiname>
|
<uiname>CategoricalSnow</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -453,7 +453,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>cicep</short_name>
|
<short_name>cicep</short_name>
|
||||||
<long_name>Categorical ice pellets</long_name>
|
<long_name>Categorical ice pellets</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalIcePlt</uiname>
|
<uiname>CategoricalIcePlt</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -111,7 +111,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
</gridParamInfo>
|
</gridParamInfo>
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -108,7 +108,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>ctstm</short_name>
|
<short_name>ctstm</short_name>
|
||||||
<long_name>Categorical Thunder Storm</long_name>
|
<long_name>Categorical Thunder Storm</long_name>
|
||||||
<units>yes=1, no=0</units>
|
<units>yn</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>CategoricalTSTM</uiname>
|
<uiname>CategoricalTSTM</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
</gridParamInfo>
|
</gridParamInfo>
|
||||||
|
|
|
@ -168,7 +168,7 @@
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
<short_name>staticCoriolis</short_name>
|
<short_name>staticCoriolis</short_name>
|
||||||
<long_name>Coriolis parameter</long_name>
|
<long_name>Coriolis parameter</long_name>
|
||||||
<units>/second</units>
|
<units>/s</units>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
</gridParameterInfo>
|
</gridParameterInfo>
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue