Issue #1913 Fixed GFE level translation
Change-Id: I2e59228991243d4178c73721d169f695d6581b8a Former-commit-id:2bec2b18e5
[formerlyfdb69afb73
] [formerly75f802d348
] [formerly2bec2b18e5
[formerlyfdb69afb73
] [formerly75f802d348
] [formerly666263beb4
[formerly75f802d348
[formerly ed32dc366aae2fa64c02c9f32202aafb95845765]]]] Former-commit-id:666263beb4
Former-commit-id:2d4a498ef7
[formerlyc21f5438be
] [formerly 7067e9788ce1bab06c42fc0b779ae18cb293e3a8 [formerly214738a19e
]] Former-commit-id: ada74680316a70e4a27eb70dab9cc5979b8f3af6 [formerlyae881d581b
] Former-commit-id:c11d94d88b
This commit is contained in:
parent
0a575c31ce
commit
4e9c539742
39 changed files with 816 additions and 1730 deletions
|
@ -24,6 +24,7 @@ import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.NavigableSet;
|
import java.util.NavigableSet;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import javax.measure.unit.Unit;
|
import javax.measure.unit.Unit;
|
||||||
|
@ -34,6 +35,7 @@ import com.raytheon.uf.common.dataplugin.level.CompareType;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -57,8 +59,8 @@ public class LevelUtilities {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
try {
|
try {
|
||||||
hPa = (Unit<?>) UnitFormat.getUCUMInstance().parseProductUnit(
|
hPa = UnitFormat.getUCUMInstance().parseProductUnit("hPa",
|
||||||
"hPa", new ParsePosition(0));
|
new ParsePosition(0));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// this is bad
|
// this is bad
|
||||||
}
|
}
|
||||||
|
@ -122,7 +124,15 @@ public class LevelUtilities {
|
||||||
|
|
||||||
};
|
};
|
||||||
Map<String, NavigableSet<Level>> masterLevelToOrderedSet = new HashMap<String, NavigableSet<Level>>();
|
Map<String, NavigableSet<Level>> masterLevelToOrderedSet = new HashMap<String, NavigableSet<Level>>();
|
||||||
for (Level level : LevelMappingFactory.getInstance().getAllLevels()) {
|
Set<Level> allLevels;
|
||||||
|
try {
|
||||||
|
allLevels = LevelMappingFactory.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getAllLevels();
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
|
}
|
||||||
|
for (Level level : allLevels) {
|
||||||
NavigableSet<Level> levels = masterLevelToOrderedSet.get(level
|
NavigableSet<Level> levels = masterLevelToOrderedSet.get(level
|
||||||
.getMasterLevel().getName());
|
.getMasterLevel().getName());
|
||||||
if (levels == null) {
|
if (levels == null) {
|
||||||
|
|
|
@ -15,11 +15,12 @@ Require-Bundle: org.eclipse.core.runtime,
|
||||||
com.raytheon.viz.core;bundle-version="1.12.1174",
|
com.raytheon.viz.core;bundle-version="1.12.1174",
|
||||||
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
|
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
|
||||||
com.raytheon.uf.viz.xy.timeseries;bundle-version="1.12.1174",
|
com.raytheon.uf.viz.xy.timeseries;bundle-version="1.12.1174",
|
||||||
javax.measure;bundle-version="1.0.0"
|
javax.measure;bundle-version="1.0.0",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||||
|
com.raytheon.uf.common.comm;bundle-version="1.12.1174"
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||||
com.raytheon.uf.common.dataplugin.grid,
|
com.raytheon.uf.common.dataplugin.grid,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.dataplugin.radar,
|
com.raytheon.uf.common.dataplugin.radar,
|
||||||
com.raytheon.uf.common.dataplugin.radar.util,
|
com.raytheon.uf.common.dataplugin.radar.util,
|
||||||
com.raytheon.uf.common.dataquery.requests,
|
com.raytheon.uf.common.dataquery.requests,
|
||||||
|
|
|
@ -35,6 +35,8 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
|
@ -44,8 +46,6 @@ import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.common.time.TimeRange;
|
import com.raytheon.uf.common.time.TimeRange;
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
||||||
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
||||||
import com.raytheon.uf.viz.core.style.level.SingleLevel;
|
import com.raytheon.uf.viz.core.style.level.SingleLevel;
|
||||||
|
@ -238,6 +238,7 @@ public class PointDataTimeSeriesAdapter extends
|
||||||
return loadDataOAInternal(recordsToLoad);
|
return loadDataOAInternal(recordsToLoad);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public SingleLevel getLevel() {
|
public SingleLevel getLevel() {
|
||||||
SingleLevel level = new SingleLevel("SURFACE");
|
SingleLevel level = new SingleLevel("SURFACE");
|
||||||
level.setValue(0.0);
|
level.setValue(0.0);
|
||||||
|
@ -246,7 +247,8 @@ public class PointDataTimeSeriesAdapter extends
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
LevelMapping mapping = LevelMappingFactory.getInstance()
|
LevelMapping mapping = LevelMappingFactory.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForKey(resourceData.getLevelKey());
|
.getLevelMappingForKey(resourceData.getLevelKey());
|
||||||
for (Level l : mapping.getLevels()) {
|
for (Level l : mapping.getLevels()) {
|
||||||
if (LevelUtilities.isPressureLevel(l)) {
|
if (LevelUtilities.isPressureLevel(l)) {
|
||||||
|
@ -260,7 +262,7 @@ public class PointDataTimeSeriesAdapter extends
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (VizException e) {
|
} catch (Exception e) {
|
||||||
// return the default
|
// return the default
|
||||||
}
|
}
|
||||||
return level;
|
return level;
|
||||||
|
|
|
@ -35,6 +35,7 @@ import java.util.concurrent.BlockingQueue;
|
||||||
|
|
||||||
import com.raytheon.uf.common.comm.CommunicationException;
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.derivparam.tree.AbstractNode;
|
import com.raytheon.uf.common.derivparam.tree.AbstractNode;
|
||||||
import com.raytheon.uf.common.derivparam.tree.DataTree;
|
import com.raytheon.uf.common.derivparam.tree.DataTree;
|
||||||
|
@ -47,7 +48,6 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
||||||
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
||||||
import com.raytheon.uf.viz.derivparam.data.FloatRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.FloatRequestableData;
|
||||||
|
@ -137,27 +137,36 @@ public abstract class AbstractInventory implements DerivParamUpdateListener {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (this == obj)
|
if (this == obj) {
|
||||||
return true;
|
return true;
|
||||||
if (obj == null)
|
}
|
||||||
|
if (obj == null) {
|
||||||
return false;
|
return false;
|
||||||
if (getClass() != obj.getClass())
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
StackEntry other = (StackEntry) obj;
|
StackEntry other = (StackEntry) obj;
|
||||||
if (!getOuterType().equals(other.getOuterType()))
|
if (!getOuterType().equals(other.getOuterType())) {
|
||||||
return false;
|
return false;
|
||||||
if (level != other.level)
|
}
|
||||||
|
if (level != other.level) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (source == null) {
|
if (source == null) {
|
||||||
if (other.source != null)
|
if (other.source != null) {
|
||||||
return false;
|
return false;
|
||||||
} else if (!source.equals(other.source))
|
}
|
||||||
|
} else if (!source.equals(other.source)) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if (parameter == null) {
|
if (parameter == null) {
|
||||||
if (other.parameter != null)
|
if (other.parameter != null) {
|
||||||
return false;
|
return false;
|
||||||
} else if (!parameter.equals(other.parameter))
|
}
|
||||||
|
} else if (!parameter.equals(other.parameter)) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -474,8 +483,10 @@ public abstract class AbstractInventory implements DerivParamUpdateListener {
|
||||||
protected Collection<Level> getAllLevels() {
|
protected Collection<Level> getAllLevels() {
|
||||||
if (allLevels == null) {
|
if (allLevels == null) {
|
||||||
try {
|
try {
|
||||||
return LevelMappingFactory.getInstance().getAllLevels();
|
return LevelMappingFactory.getInstance(
|
||||||
} catch (VizCommunicationException e) {
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getAllLevels();
|
||||||
|
} catch (CommunicationException e) {
|
||||||
// TODO recover from this.
|
// TODO recover from this.
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||||
e);
|
e);
|
||||||
|
@ -1094,7 +1105,13 @@ public abstract class AbstractInventory implements DerivParamUpdateListener {
|
||||||
// because it is valid for all requests
|
// because it is valid for all requests
|
||||||
} else if (type == LevelType.LevelMapping) {
|
} else if (type == LevelType.LevelMapping) {
|
||||||
LevelNode target = null;
|
LevelNode target = null;
|
||||||
for (Level fieldLevel : field.getLevelMapping().getLevels()) {
|
List<Level> levels;
|
||||||
|
try {
|
||||||
|
levels = field.getLevelMapping().getLevels();
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
|
}
|
||||||
|
for (Level fieldLevel : levels) {
|
||||||
target = resolveNode(fieldSourceNode, fieldParamAbbrev,
|
target = resolveNode(fieldSourceNode, fieldParamAbbrev,
|
||||||
fieldLevel, stack, nodata);
|
fieldLevel, stack, nodata);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
|
|
|
@ -27,11 +27,11 @@ import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlTransient;
|
import javax.xml.bind.annotation.XmlTransient;
|
||||||
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||||
import com.raytheon.uf.common.serialization.adapters.UnitAdapter;
|
import com.raytheon.uf.common.serialization.adapters.UnitAdapter;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metadata about a derived parameter field.
|
* Metadata about a derived parameter field.
|
||||||
|
@ -131,7 +131,8 @@ public class DerivParamField implements ISerializableObject, IDerivParamField {
|
||||||
public boolean setLevel(String level) throws VizCommunicationException {
|
public boolean setLevel(String level) throws VizCommunicationException {
|
||||||
levelType = LevelType.parseLevel(level);
|
levelType = LevelType.parseLevel(level);
|
||||||
if (levelType == LevelType.LevelMapping) {
|
if (levelType == LevelType.LevelMapping) {
|
||||||
levelMapping = LevelMappingFactory.getInstance()
|
levelMapping = LevelMappingFactory.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForKey(level);
|
.getLevelMappingForKey(level);
|
||||||
if (levelMapping == null) {
|
if (levelMapping == null) {
|
||||||
levelType = null;
|
levelType = null;
|
||||||
|
|
|
@ -34,11 +34,11 @@ import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
||||||
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapper;
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapper;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.util.mapping.Mapper;
|
import com.raytheon.uf.common.util.mapping.Mapper;
|
||||||
import com.raytheon.uf.common.util.mapping.MultipleMappingException;
|
import com.raytheon.uf.common.util.mapping.MultipleMappingException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates the valid levels for a derived parameter script based on it
|
* Generates the valid levels for a derived parameter script based on it
|
||||||
|
@ -74,7 +74,8 @@ public class ValidLevelGenerator {
|
||||||
private Set<MasterLevel> masterLevelsHandled;
|
private Set<MasterLevel> masterLevelsHandled;
|
||||||
|
|
||||||
public ValidLevelGenerator() {
|
public ValidLevelGenerator() {
|
||||||
lmf = LevelMappingFactory.getInstance();
|
lmf = LevelMappingFactory
|
||||||
|
.getInstance(LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE);
|
||||||
lf = LevelFactory.getInstance();
|
lf = LevelFactory.getInstance();
|
||||||
lm = LevelMapper.getInstance();
|
lm = LevelMapper.getInstance();
|
||||||
}
|
}
|
||||||
|
@ -84,61 +85,65 @@ public class ValidLevelGenerator {
|
||||||
masterLevels = new HashMap<MasterLevel, Set<Level>>();
|
masterLevels = new HashMap<MasterLevel, Set<Level>>();
|
||||||
validLevels = new HashSet<Level>();
|
validLevels = new HashSet<Level>();
|
||||||
masterLevelsHandled = new HashSet<MasterLevel>();
|
masterLevelsHandled = new HashSet<MasterLevel>();
|
||||||
if (validLevelsString != null && validLevelsString.length() > 0) {
|
try {
|
||||||
String[] levelTokenArray = validLevelsString.split(",");
|
if (validLevelsString != null && validLevelsString.length() > 0) {
|
||||||
List<String> tokensToProcess = new ArrayList<String>(
|
String[] levelTokenArray = validLevelsString.split(",");
|
||||||
levelTokenArray.length);
|
List<String> tokensToProcess = new ArrayList<String>(
|
||||||
|
levelTokenArray.length);
|
||||||
|
|
||||||
for (String token : levelTokenArray) {
|
for (String token : levelTokenArray) {
|
||||||
tokensToProcess.add(token);
|
tokensToProcess.add(token);
|
||||||
}
|
|
||||||
|
|
||||||
// generate initial list
|
|
||||||
Iterator<String> iter = tokensToProcess.iterator();
|
|
||||||
|
|
||||||
while (iter.hasNext()) {
|
|
||||||
String token = iter.next();
|
|
||||||
|
|
||||||
if (token.charAt(0) == '!') {
|
|
||||||
token = token.substring(1);
|
|
||||||
}
|
}
|
||||||
// See if this is a group.
|
|
||||||
Map<MasterLevel, Set<Level>> tmp = lmf
|
|
||||||
.getLevelMapForGroup(token);
|
|
||||||
|
|
||||||
if (tmp != null) {
|
// generate initial list
|
||||||
masterLevels = tmp;
|
Iterator<String> iter = tokensToProcess.iterator();
|
||||||
iter.remove();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (masterLevels.size() == 0 && tokensToProcess.size() > 0) {
|
while (iter.hasNext()) {
|
||||||
for (Level l : lmf.getAllLevels()) {
|
String token = iter.next();
|
||||||
MasterLevel ml = l.getMasterLevel();
|
|
||||||
Set<Level> levels = masterLevels.get(ml);
|
if (token.charAt(0) == '!') {
|
||||||
if (levels == null) {
|
token = token.substring(1);
|
||||||
levels = new HashSet<Level>();
|
|
||||||
masterLevels.put(ml, levels);
|
|
||||||
}
|
}
|
||||||
|
// See if this is a group.
|
||||||
|
Map<MasterLevel, Set<Level>> tmp = lmf
|
||||||
|
.getLevelMapForGroup(token);
|
||||||
|
|
||||||
levels.add(l);
|
if (tmp != null) {
|
||||||
}
|
masterLevels = tmp;
|
||||||
}
|
iter.remove();
|
||||||
|
break;
|
||||||
if (tokensToProcess.size() > 0) {
|
|
||||||
for (String token : tokensToProcess) {
|
|
||||||
try {
|
|
||||||
processLevelToken(token);
|
|
||||||
} catch (CommunicationException e) {
|
|
||||||
throw new VizCommunicationException(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
for (Set<Level> levels : masterLevels.values()) {
|
if (masterLevels.size() == 0 && tokensToProcess.size() > 0) {
|
||||||
validLevels.addAll(levels);
|
for (Level l : lmf.getAllLevels()) {
|
||||||
|
MasterLevel ml = l.getMasterLevel();
|
||||||
|
Set<Level> levels = masterLevels.get(ml);
|
||||||
|
if (levels == null) {
|
||||||
|
levels = new HashSet<Level>();
|
||||||
|
masterLevels.put(ml, levels);
|
||||||
|
}
|
||||||
|
|
||||||
|
levels.add(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tokensToProcess.size() > 0) {
|
||||||
|
for (String token : tokensToProcess) {
|
||||||
|
try {
|
||||||
|
processLevelToken(token);
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (Set<Level> levels : masterLevels.values()) {
|
||||||
|
validLevels.addAll(levels);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return validLevels;
|
return validLevels;
|
||||||
|
|
|
@ -23,12 +23,12 @@ Require-Bundle: org.eclipse.ui,
|
||||||
com.raytheon.viz.grid;bundle-version="1.11.17",
|
com.raytheon.viz.grid;bundle-version="1.11.17",
|
||||||
com.raytheon.viz.core.contours;bundle-version="1.11.17",
|
com.raytheon.viz.core.contours;bundle-version="1.11.17",
|
||||||
com.raytheon.uf.viz.sounding;bundle-version="1.11.17",
|
com.raytheon.uf.viz.sounding;bundle-version="1.11.17",
|
||||||
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.11.17"
|
com.raytheon.uf.common.dataplugin.bufrua;bundle-version="1.11.17",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174"
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Export-Package: com.raytheon.uf.viz.objectiveanalysis.rsc
|
Export-Package: com.raytheon.uf.viz.objectiveanalysis.rsc
|
||||||
Import-Package: com.raytheon.uf.common.comm,
|
Import-Package: com.raytheon.uf.common.comm,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.dataplugin.radar,
|
com.raytheon.uf.common.dataplugin.radar,
|
||||||
com.raytheon.uf.common.gridcoverage,
|
com.raytheon.uf.common.gridcoverage,
|
||||||
com.raytheon.uf.viz.derivparam.library,
|
com.raytheon.uf.viz.derivparam.library,
|
||||||
|
|
|
@ -32,10 +32,10 @@ import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||||
|
@ -196,29 +196,30 @@ public class OAResourceData extends AbstractRequestableResourceData {
|
||||||
DataTime[] times = super.getAvailableTimes();
|
DataTime[] times = super.getAvailableTimes();
|
||||||
if (this.levelKey.equals(ALL_TILTS)) {
|
if (this.levelKey.equals(ALL_TILTS)) {
|
||||||
LevelFactory factory = LevelFactory.getInstance();
|
LevelFactory factory = LevelFactory.getInstance();
|
||||||
MasterLevel ml;
|
|
||||||
try {
|
|
||||||
ml = factory.getMasterLevel("TILT");
|
|
||||||
} catch (CommunicationException e) {
|
|
||||||
throw new VizCommunicationException(e);
|
|
||||||
}
|
|
||||||
Set<Level> allLevels = LevelMappingFactory.getInstance()
|
|
||||||
.getAllLevels();
|
|
||||||
List<Level> levels = new ArrayList<Level>();
|
|
||||||
for (Level l : allLevels) {
|
|
||||||
if (l.getMasterLevel().equals(ml)) {
|
|
||||||
levels.add(l);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
List<DataTime> timesWithLevels = new ArrayList<DataTime>();
|
List<DataTime> timesWithLevels = new ArrayList<DataTime>();
|
||||||
for (int i = 0; i < times.length; ++i) {
|
try {
|
||||||
for (int j = 0; j < levels.size(); ++j) {
|
MasterLevel ml = factory.getMasterLevel("TILT");
|
||||||
DataTime time = times[i].clone();
|
Set<Level> allLevels = LevelMappingFactory.getInstance(
|
||||||
time.setLevelValue(levels.get(j).getLevelonevalue());
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
if (time.isSpatial()) {
|
.getAllLevels();
|
||||||
timesWithLevels.add(time);
|
List<Level> levels = new ArrayList<Level>();
|
||||||
|
for (Level l : allLevels) {
|
||||||
|
if (l.getMasterLevel().equals(ml)) {
|
||||||
|
levels.add(l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < times.length; ++i) {
|
||||||
|
for (int j = 0; j < levels.size(); ++j) {
|
||||||
|
DataTime time = times[i].clone();
|
||||||
|
time.setLevelValue(levels.get(j).getLevelonevalue());
|
||||||
|
if (time.isSpatial()) {
|
||||||
|
timesWithLevels.add(time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
}
|
}
|
||||||
return timesWithLevels
|
return timesWithLevels
|
||||||
.toArray(new DataTime[timesWithLevels.size()]);
|
.toArray(new DataTime[timesWithLevels.size()]);
|
||||||
|
|
|
@ -25,7 +25,8 @@ Require-Bundle: org.eclipse.ui,
|
||||||
com.raytheon.uf.viz.points;bundle-version="1.0.0",
|
com.raytheon.uf.viz.points;bundle-version="1.0.0",
|
||||||
com.raytheon.uf.common.gridcoverage,
|
com.raytheon.uf.common.gridcoverage,
|
||||||
org.apache.commons.beanutils;bundle-version="1.8.3",
|
org.apache.commons.beanutils;bundle-version="1.8.3",
|
||||||
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0"
|
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174"
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Export-Package: com.raytheon.viz.grid,
|
Export-Package: com.raytheon.viz.grid,
|
||||||
com.raytheon.viz.grid.inv,
|
com.raytheon.viz.grid.inv,
|
||||||
|
@ -36,7 +37,6 @@ Export-Package: com.raytheon.viz.grid,
|
||||||
Import-Package: com.raytheon.edex.scriptfactory,
|
Import-Package: com.raytheon.edex.scriptfactory,
|
||||||
com.raytheon.uf.common.colormap,
|
com.raytheon.uf.common.colormap,
|
||||||
com.raytheon.uf.common.comm,
|
com.raytheon.uf.common.comm,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.derivparam.tree,
|
com.raytheon.uf.common.derivparam.tree,
|
||||||
com.raytheon.uf.common.localization,
|
com.raytheon.uf.common.localization,
|
||||||
com.raytheon.uf.common.message,
|
com.raytheon.uf.common.message,
|
||||||
|
|
|
@ -42,15 +42,14 @@ import com.raytheon.uf.common.dataplugin.grid.dataset.DatasetInfoLookup;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
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.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceProperties;
|
import com.raytheon.uf.viz.core.rsc.ResourceProperties;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
||||||
|
@ -195,8 +194,11 @@ public class GridProductBrowserDataDefinition extends
|
||||||
params = Arrays.asList(value);
|
params = Arrays.asList(value);
|
||||||
} else if (key.equals(GridInventory.MASTER_LEVEL_QUERY)) {
|
} else if (key.equals(GridInventory.MASTER_LEVEL_QUERY)) {
|
||||||
if (levels == null) {
|
if (levels == null) {
|
||||||
levels = new ArrayList<Level>(LevelMappingFactory
|
levels = new ArrayList<Level>(
|
||||||
.getInstance().getAllLevels());
|
LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getAllLevels());
|
||||||
}
|
}
|
||||||
Iterator<Level> iter = levels.iterator();
|
Iterator<Level> iter = levels.iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
@ -209,8 +211,11 @@ public class GridProductBrowserDataDefinition extends
|
||||||
} else if (key.equals(GridInventory.LEVEL_ONE_QUERY)) {
|
} else if (key.equals(GridInventory.LEVEL_ONE_QUERY)) {
|
||||||
double doubleValue = Double.parseDouble(value);
|
double doubleValue = Double.parseDouble(value);
|
||||||
if (levels == null) {
|
if (levels == null) {
|
||||||
levels = new ArrayList<Level>(LevelMappingFactory
|
levels = new ArrayList<Level>(
|
||||||
.getInstance().getAllLevels());
|
LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getAllLevels());
|
||||||
}
|
}
|
||||||
Iterator<Level> iter = levels.iterator();
|
Iterator<Level> iter = levels.iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
@ -221,8 +226,11 @@ public class GridProductBrowserDataDefinition extends
|
||||||
} else if (key.equals(GridInventory.LEVEL_TWO_QUERY)) {
|
} else if (key.equals(GridInventory.LEVEL_TWO_QUERY)) {
|
||||||
double doubleValue = Double.parseDouble(value);
|
double doubleValue = Double.parseDouble(value);
|
||||||
if (levels == null) {
|
if (levels == null) {
|
||||||
levels = new ArrayList<Level>(LevelMappingFactory
|
levels = new ArrayList<Level>(
|
||||||
.getInstance().getAllLevels());
|
LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getAllLevels());
|
||||||
}
|
}
|
||||||
Iterator<Level> iter = levels.iterator();
|
Iterator<Level> iter = levels.iterator();
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
|
@ -280,9 +288,6 @@ public class GridProductBrowserDataDefinition extends
|
||||||
return returnQueue.toArray(new String[0]);
|
return returnQueue.toArray(new String[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (VizCommunicationException e) {
|
|
||||||
statusHandler.handle(Priority.ERROR, "Unable to query data for "
|
|
||||||
+ productName, e);
|
|
||||||
} catch (CommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.ERROR, "Unable to query data for "
|
statusHandler.handle(Priority.ERROR, "Unable to query data for "
|
||||||
+ productName, e);
|
+ productName, e);
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.viz.grid.rsc;
|
package com.raytheon.viz.grid.rsc;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractNameGenerator;
|
import com.raytheon.uf.viz.core.rsc.AbstractNameGenerator;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||||
|
|
||||||
|
@ -144,13 +144,14 @@ public class GridNameGenerator extends AbstractNameGenerator {
|
||||||
|
|
||||||
private String lookupPlane(Level level) {
|
private String lookupPlane(Level level) {
|
||||||
try {
|
try {
|
||||||
LevelMapping mapping = LevelMappingFactory.getInstance()
|
LevelMapping mapping = LevelMappingFactory.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForLevel(level);
|
.getLevelMappingForLevel(level);
|
||||||
if (mapping == null) {
|
if (mapping == null) {
|
||||||
return level.getMasterLevel().getName();
|
return level.getMasterLevel().getName();
|
||||||
}
|
}
|
||||||
return mapping.getDisplayName();
|
return mapping.getDisplayName();
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
return level.getMasterLevel().getName();
|
return level.getMasterLevel().getName();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,8 @@ Require-Bundle: org.apache.batik,
|
||||||
com.raytheon.uf.viz.localization;bundle-version="1.12.1174",
|
com.raytheon.uf.viz.localization;bundle-version="1.12.1174",
|
||||||
org.jep;bundle-version="1.0.0",
|
org.jep;bundle-version="1.0.0",
|
||||||
com.raytheon.uf.common.python;bundle-version="1.12.1161",
|
com.raytheon.uf.common.python;bundle-version="1.12.1161",
|
||||||
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174"
|
com.raytheon.uf.common.pointdata;bundle-version="1.12.1174",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174"
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Export-Package: com.raytheon.viz.pointdata,
|
Export-Package: com.raytheon.viz.pointdata,
|
||||||
com.raytheon.viz.pointdata.drawables,
|
com.raytheon.viz.pointdata.drawables,
|
||||||
|
@ -28,7 +29,6 @@ Export-Package: com.raytheon.viz.pointdata,
|
||||||
Import-Package: com.raytheon.edex.meteoLib,
|
Import-Package: com.raytheon.edex.meteoLib,
|
||||||
com.raytheon.uf.common.comm,
|
com.raytheon.uf.common.comm,
|
||||||
com.raytheon.uf.common.dataplugin.grid,
|
com.raytheon.uf.common.dataplugin.grid,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.derivparam.tree,
|
com.raytheon.uf.common.derivparam.tree,
|
||||||
com.raytheon.uf.common.message.response,
|
com.raytheon.uf.common.message.response,
|
||||||
com.raytheon.uf.common.pointdata,
|
com.raytheon.uf.common.pointdata,
|
||||||
|
|
|
@ -18,6 +18,7 @@ import java.util.concurrent.LinkedBlockingQueue;
|
||||||
import com.raytheon.uf.common.comm.CommunicationException;
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.localization.IPathManager;
|
import com.raytheon.uf.common.localization.IPathManager;
|
||||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||||
|
@ -29,9 +30,7 @@ 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.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.map.MapDescriptor;
|
import com.raytheon.uf.viz.core.map.MapDescriptor;
|
||||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
||||||
|
@ -281,14 +280,15 @@ public class PlotModelDataDefinition extends
|
||||||
try {
|
try {
|
||||||
Level level = LevelFactory.getInstance().getLevel(
|
Level level = LevelFactory.getInstance().getLevel(
|
||||||
Long.parseLong(levelid));
|
Long.parseLong(levelid));
|
||||||
validLevels.add(LevelMappingFactory.getInstance()
|
validLevels
|
||||||
.getLevelMappingForLevel(level).getDisplayName());
|
.add(LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getLevelMappingForLevel(level)
|
||||||
|
.getDisplayName());
|
||||||
} catch (CommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||||
e);
|
e);
|
||||||
} catch (VizCommunicationException e) {
|
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
|
||||||
e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return validLevels.toArray(new String[0]);
|
return validLevels.toArray(new String[0]);
|
||||||
|
|
|
@ -28,7 +28,9 @@ import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.derivparam.tree.DataTree;
|
import com.raytheon.uf.common.derivparam.tree.DataTree;
|
||||||
import com.raytheon.uf.common.derivparam.tree.LevelNode;
|
import com.raytheon.uf.common.derivparam.tree.LevelNode;
|
||||||
|
@ -40,9 +42,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.common.time.DataTime;
|
import com.raytheon.uf.common.time.DataTime;
|
||||||
import com.raytheon.uf.viz.core.RecordFactory;
|
import com.raytheon.uf.viz.core.RecordFactory;
|
||||||
import com.raytheon.uf.viz.core.catalog.CatalogQuery;
|
import com.raytheon.uf.viz.core.catalog.CatalogQuery;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
||||||
import com.raytheon.uf.viz.derivparam.inv.AbstractInventory;
|
import com.raytheon.uf.viz.derivparam.inv.AbstractInventory;
|
||||||
import com.raytheon.uf.viz.derivparam.library.DerivParamDesc;
|
import com.raytheon.uf.viz.derivparam.library.DerivParamDesc;
|
||||||
|
@ -278,9 +278,11 @@ public abstract class AbstractPointDataInventory extends AbstractInventory {
|
||||||
|
|
||||||
public static Level getStationLevel() {
|
public static Level getStationLevel() {
|
||||||
try {
|
try {
|
||||||
return LevelMappingFactory.getInstance()
|
return LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForKey("Station").getLevels().get(0);
|
.getLevelMappingForKey("Station").getLevels().get(0);
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,8 +25,10 @@ import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
import com.raytheon.uf.common.dataplugin.PluginDataObject;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequest;
|
||||||
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequestSet;
|
import com.raytheon.uf.common.dataquery.requests.TimeQueryRequestSet;
|
||||||
|
@ -45,8 +47,8 @@ import com.raytheon.uf.viz.core.comm.Loader;
|
||||||
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
import com.raytheon.uf.viz.core.datastructure.CubeUtil;
|
||||||
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
import com.raytheon.uf.viz.core.datastructure.IDataCubeAdapter;
|
||||||
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
import com.raytheon.uf.viz.core.datastructure.VizDataCubeException;
|
||||||
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
import com.raytheon.uf.viz.core.requests.ThriftClient;
|
||||||
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
import com.raytheon.uf.viz.derivparam.data.AbstractRequestableData;
|
||||||
import com.raytheon.uf.viz.derivparam.inv.AvailabilityContainer;
|
import com.raytheon.uf.viz.derivparam.inv.AvailabilityContainer;
|
||||||
|
@ -143,8 +145,15 @@ public class PointDataCubeAdapter implements IDataCubeAdapter {
|
||||||
source += type;
|
source += type;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Level> levels = LevelMappingFactory.getInstance()
|
List<Level> levels;
|
||||||
.getLevelMappingForKey(levelKey).getLevels();
|
try {
|
||||||
|
levels = LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getLevelMappingForKey(levelKey).getLevels();
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
throw new VizCommunicationException(e);
|
||||||
|
}
|
||||||
List<AbstractRequestableNode> nodes = inventory.getNodes(source,
|
List<AbstractRequestableNode> nodes = inventory.getNodes(source,
|
||||||
Arrays.asList(parameters), levels);
|
Arrays.asList(parameters), levels);
|
||||||
PointMetadataContainer pmc = new PointMetadataContainer(queryParams,
|
PointMetadataContainer pmc = new PointMetadataContainer(queryParams,
|
||||||
|
|
|
@ -31,7 +31,9 @@ Require-Bundle: org.eclipse.ui,
|
||||||
com.raytheon.uf.viz.d2d.nsharp;bundle-version="1.0.0",
|
com.raytheon.uf.viz.d2d.nsharp;bundle-version="1.0.0",
|
||||||
gov.noaa.nws.ncep.ui.nsharp;bundle-version="1.0.0",
|
gov.noaa.nws.ncep.ui.nsharp;bundle-version="1.0.0",
|
||||||
com.raytheon.uf.common.message;bundle-version="1.12.1174",
|
com.raytheon.uf.common.message;bundle-version="1.12.1174",
|
||||||
com.raytheon.viz.core.graphing;bundle-version="1.12.1174"
|
com.raytheon.viz.core.graphing;bundle-version="1.12.1174",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||||
|
com.raytheon.uf.common.comm;bundle-version="1.12.1174"
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Export-Package: com.raytheon.viz.volumebrowser,
|
Export-Package: com.raytheon.viz.volumebrowser,
|
||||||
com.raytheon.viz.volumebrowser.catalog,
|
com.raytheon.viz.volumebrowser.catalog,
|
||||||
|
@ -41,7 +43,6 @@ Export-Package: com.raytheon.viz.volumebrowser,
|
||||||
Import-Package: com.raytheon.uf.common.comm,
|
Import-Package: com.raytheon.uf.common.comm,
|
||||||
com.raytheon.uf.common.dataplugin.grid,
|
com.raytheon.uf.common.dataplugin.grid,
|
||||||
com.raytheon.uf.common.dataplugin.grid.dataset,
|
com.raytheon.uf.common.dataplugin.grid.dataset,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.gridcoverage,
|
com.raytheon.uf.common.gridcoverage,
|
||||||
com.raytheon.uf.common.menus.xml,
|
com.raytheon.uf.common.menus.xml,
|
||||||
com.raytheon.uf.viz.core.maps.display,
|
com.raytheon.uf.viz.core.maps.display,
|
||||||
|
|
|
@ -29,15 +29,16 @@ import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
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.viz.core.drawables.ResourcePair;
|
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
||||||
|
@ -373,12 +374,13 @@ public abstract class AbstractDataCatalog implements IDataCatalog {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
LevelMappingFactory lmf = LevelMappingFactory.getInstance();
|
LevelMappingFactory lmf = LevelMappingFactory
|
||||||
|
.getInstance(LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE);
|
||||||
LevelMapping lm = lmf.getLevelMappingForKey(planesKey);
|
LevelMapping lm = lmf.getLevelMappingForKey(planesKey);
|
||||||
if (lm != null) {
|
if (lm != null) {
|
||||||
levels = lm.getLevels();
|
levels = lm.getLevels();
|
||||||
}
|
}
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||||
e);
|
e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,13 +38,13 @@ import org.eclipse.core.runtime.jobs.Job;
|
||||||
import com.raytheon.uf.common.comm.CommunicationException;
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
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.viz.core.datastructure.DataCubeContainer;
|
import com.raytheon.uf.viz.core.datastructure.DataCubeContainer;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
||||||
import com.raytheon.uf.viz.derivparam.inv.AbstractInventory;
|
import com.raytheon.uf.viz.derivparam.inv.AbstractInventory;
|
||||||
import com.raytheon.viz.volumebrowser.vbui.DataListsProdTableComp.DataSelection;
|
import com.raytheon.viz.volumebrowser.vbui.DataListsProdTableComp.DataSelection;
|
||||||
|
@ -184,16 +184,13 @@ public abstract class AbstractInventoryDataCatalog extends AbstractDataCatalog {
|
||||||
}
|
}
|
||||||
request.addAvailablePlane("spatial-"
|
request.addAvailablePlane("spatial-"
|
||||||
+ level.getMasterLevel().getName());
|
+ level.getMasterLevel().getName());
|
||||||
try {
|
LevelMapping lm = LevelMappingFactory
|
||||||
LevelMapping lm = LevelMappingFactory.getInstance()
|
.getInstance(
|
||||||
.getLevelMappingForLevel(level);
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
|
.getLevelMappingForLevel(level);
|
||||||
|
|
||||||
if (lm != null) {
|
if (lm != null) {
|
||||||
request.addAvailablePlane(lm.getKey());
|
request.addAvailablePlane(lm.getKey());
|
||||||
}
|
|
||||||
} catch (VizCommunicationException e) {
|
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
|
||||||
e.getLocalizedMessage(), e);
|
|
||||||
}
|
}
|
||||||
} catch (CommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
|
@ -255,6 +252,7 @@ public abstract class AbstractInventoryDataCatalog extends AbstractDataCatalog {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public List<String> getSupportedSources() {
|
public List<String> getSupportedSources() {
|
||||||
return getSupportedSourcesInternal();
|
return getSupportedSourcesInternal();
|
||||||
}
|
}
|
||||||
|
@ -280,7 +278,8 @@ public abstract class AbstractInventoryDataCatalog extends AbstractDataCatalog {
|
||||||
if (selectedPlanes == null || selectedPlanes.length == 0) {
|
if (selectedPlanes == null || selectedPlanes.length == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
LevelMappingFactory lmf = LevelMappingFactory.getInstance();
|
LevelMappingFactory lmf = LevelMappingFactory
|
||||||
|
.getInstance(LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE);
|
||||||
for (String plane : selectedPlanes) {
|
for (String plane : selectedPlanes) {
|
||||||
Collection<Level> levels = Collections.emptyList();
|
Collection<Level> levels = Collections.emptyList();
|
||||||
if (plane.startsWith("spatial-")) {
|
if (plane.startsWith("spatial-")) {
|
||||||
|
@ -297,7 +296,7 @@ public abstract class AbstractInventoryDataCatalog extends AbstractDataCatalog {
|
||||||
if (lm != null) {
|
if (lm != null) {
|
||||||
try {
|
try {
|
||||||
levels = lm.getLevels();
|
levels = lm.getLevels();
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
e.getLocalizedMessage(), e);
|
e.getLocalizedMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,8 +35,10 @@ import org.geotools.geometry.Envelope2D;
|
||||||
import org.geotools.geometry.jts.ReferencedEnvelope;
|
import org.geotools.geometry.jts.ReferencedEnvelope;
|
||||||
import org.opengis.referencing.operation.MathTransform;
|
import org.opengis.referencing.operation.MathTransform;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridConstants;
|
import com.raytheon.uf.common.dataplugin.grid.GridConstants;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||||
|
@ -47,7 +49,6 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
import com.raytheon.uf.viz.core.level.LevelUtilities;
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
import com.raytheon.uf.viz.core.rsc.DisplayType;
|
||||||
|
@ -182,11 +183,12 @@ public class GridDataCatalog extends AbstractInventoryDataCatalog {
|
||||||
// Get all possible levels for the selected levels
|
// Get all possible levels for the selected levels
|
||||||
List<Level> selectedLevels = Collections.emptyList();
|
List<Level> selectedLevels = Collections.emptyList();
|
||||||
try {
|
try {
|
||||||
LevelMappingFactory lmf = LevelMappingFactory.getInstance();
|
LevelMappingFactory lmf = LevelMappingFactory
|
||||||
|
.getInstance(LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE);
|
||||||
selectedLevels = new ArrayList<Level>(lmf
|
selectedLevels = new ArrayList<Level>(lmf
|
||||||
.getLevelMappingForKey(
|
.getLevelMappingForKey(
|
||||||
catalogEntry.selectedPlanesKey).getLevels());
|
catalogEntry.selectedPlanesKey).getLevels());
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM,
|
statusHandler.handle(Priority.PROBLEM,
|
||||||
e.getLocalizedMessage(), e);
|
e.getLocalizedMessage(), e);
|
||||||
}
|
}
|
||||||
|
@ -422,8 +424,8 @@ public class GridDataCatalog extends AbstractInventoryDataCatalog {
|
||||||
.getCoordinateReferenceSystem());
|
.getCoordinateReferenceSystem());
|
||||||
Envelope2D env = gridGeom.getEnvelope2D();
|
Envelope2D env = gridGeom.getEnvelope2D();
|
||||||
for (String letter : pointLetters) {
|
for (String letter : pointLetters) {
|
||||||
Coordinate c = PointsDataManager.getInstance()
|
Coordinate c = PointsDataManager.getInstance()
|
||||||
.getCoordinate(letter);
|
.getCoordinate(letter);
|
||||||
DirectPosition2D dp = new DirectPosition2D(c.x, c.y);
|
DirectPosition2D dp = new DirectPosition2D(c.x, c.y);
|
||||||
llToCRS.transform(dp, dp);
|
llToCRS.transform(dp, dp);
|
||||||
if (env.contains(dp.x, dp.y)) {
|
if (env.contains(dp.x, dp.y)) {
|
||||||
|
@ -508,8 +510,8 @@ public class GridDataCatalog extends AbstractInventoryDataCatalog {
|
||||||
.getTransformFromLatLon(gridGeom
|
.getTransformFromLatLon(gridGeom
|
||||||
.getCoordinateReferenceSystem());
|
.getCoordinateReferenceSystem());
|
||||||
Envelope2D env = gridGeom.getEnvelope2D();
|
Envelope2D env = gridGeom.getEnvelope2D();
|
||||||
for (String letter : pdm.getPointNames()) {
|
for (String letter : pdm.getPointNames()) {
|
||||||
Coordinate c = pdm.getCoordinate(letter);
|
Coordinate c = pdm.getCoordinate(letter);
|
||||||
DirectPosition2D dp = new DirectPosition2D(c.x, c.y);
|
DirectPosition2D dp = new DirectPosition2D(c.x, c.y);
|
||||||
llToCRS.transform(dp, dp);
|
llToCRS.transform(dp, dp);
|
||||||
if (env.contains(dp.x, dp.y)) {
|
if (env.contains(dp.x, dp.y)) {
|
||||||
|
|
|
@ -32,7 +32,9 @@ import java.util.Set;
|
||||||
import java.util.concurrent.ArrayBlockingQueue;
|
import java.util.concurrent.ArrayBlockingQueue;
|
||||||
import java.util.concurrent.BlockingQueue;
|
import java.util.concurrent.BlockingQueue;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint;
|
||||||
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
import com.raytheon.uf.common.dataquery.requests.RequestConstraint.ConstraintType;
|
||||||
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
|
||||||
|
@ -41,9 +43,7 @@ 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.BinOffset;
|
import com.raytheon.uf.common.time.BinOffset;
|
||||||
import com.raytheon.uf.viz.core.catalog.DbQuery;
|
import com.raytheon.uf.viz.core.catalog.DbQuery;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
import com.raytheon.uf.viz.core.exception.VizException;
|
import com.raytheon.uf.viz.core.exception.VizException;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
|
||||||
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
import com.raytheon.uf.viz.core.rsc.AbstractRequestableResourceData;
|
||||||
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
import com.raytheon.uf.viz.core.rsc.ResourceType;
|
||||||
import com.raytheon.uf.viz.d2d.nsharp.rsc.BufruaNSharpResourceData;
|
import com.raytheon.uf.viz.d2d.nsharp.rsc.BufruaNSharpResourceData;
|
||||||
|
@ -390,9 +390,11 @@ public class PointDataCatalog extends AbstractInventoryDataCatalog {
|
||||||
@Override
|
@Override
|
||||||
protected Collection<? extends Level> get3DLevels() {
|
protected Collection<? extends Level> get3DLevels() {
|
||||||
try {
|
try {
|
||||||
return LevelMappingFactory.getInstance()
|
return LevelMappingFactory
|
||||||
|
.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForKey("Station").getLevels();
|
.getLevelMappingForKey("Station").getLevels();
|
||||||
} catch (VizCommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), e);
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,8 @@ import org.eclipse.swt.graphics.Image;
|
||||||
import org.eclipse.swt.widgets.Menu;
|
import org.eclipse.swt.widgets.Menu;
|
||||||
import org.eclipse.swt.widgets.MenuItem;
|
import org.eclipse.swt.widgets.MenuItem;
|
||||||
|
|
||||||
import com.raytheon.uf.viz.core.level.LevelMapping;
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
import com.raytheon.uf.viz.core.level.LevelMappingFactory;
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.viz.volumebrowser.vbui.MenuItemManager;
|
import com.raytheon.viz.volumebrowser.vbui.MenuItemManager;
|
||||||
import com.raytheon.viz.volumebrowser.xml.MenuContribution;
|
import com.raytheon.viz.volumebrowser.xml.MenuContribution;
|
||||||
|
|
||||||
|
@ -93,7 +93,8 @@ public class MenuContributionItem extends ContributionItem {
|
||||||
item.setData(this);
|
item.setData(this);
|
||||||
|
|
||||||
if (menuContribution.xml.textLookup.equals("LevelMapping")) {
|
if (menuContribution.xml.textLookup.equals("LevelMapping")) {
|
||||||
LevelMapping mapping = LevelMappingFactory.getInstance()
|
LevelMapping mapping = LevelMappingFactory.getInstance(
|
||||||
|
LevelMappingFactory.VOLUMEBROWSER_LEVEL_MAPPING_FILE)
|
||||||
.getLevelMappingForKey(menuContribution.xml.key);
|
.getLevelMappingForKey(menuContribution.xml.key);
|
||||||
if (mapping != null) {
|
if (mapping != null) {
|
||||||
menuContribution.xml.menuText = mapping.getDisplayName();
|
menuContribution.xml.menuText = mapping.getDisplayName();
|
||||||
|
|
|
@ -29,7 +29,8 @@ Require-Bundle: com.raytheon.uf.common.dataplugin.gfe;bundle-version="1.12.1174"
|
||||||
com.google.guava;bundle-version="1.0.0",
|
com.google.guava;bundle-version="1.0.0",
|
||||||
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||||
org.apache.commons.lang;bundle-version="2.3.0",
|
org.apache.commons.lang;bundle-version="2.3.0",
|
||||||
com.raytheon.uf.common.python.concurrent;bundle-version="1.0.0"
|
com.raytheon.uf.common.python.concurrent;bundle-version="1.0.0",
|
||||||
|
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174"
|
||||||
Export-Package: com.raytheon.edex.plugin.gfe,
|
Export-Package: com.raytheon.edex.plugin.gfe,
|
||||||
com.raytheon.edex.plugin.gfe.config,
|
com.raytheon.edex.plugin.gfe.config,
|
||||||
com.raytheon.edex.plugin.gfe.db.dao,
|
com.raytheon.edex.plugin.gfe.db.dao,
|
||||||
|
@ -53,7 +54,6 @@ Import-Package: com.raytheon.edex.db.dao,
|
||||||
com.raytheon.uf.common.activetable,
|
com.raytheon.uf.common.activetable,
|
||||||
com.raytheon.uf.common.comm,
|
com.raytheon.uf.common.comm,
|
||||||
com.raytheon.uf.common.dataplugin,
|
com.raytheon.uf.common.dataplugin,
|
||||||
com.raytheon.uf.common.dataplugin.level,
|
|
||||||
com.raytheon.uf.common.dataplugin.persist,
|
com.raytheon.uf.common.dataplugin.persist,
|
||||||
com.raytheon.uf.common.dataplugin.warning,
|
com.raytheon.uf.common.dataplugin.warning,
|
||||||
com.raytheon.uf.common.datastorage,
|
com.raytheon.uf.common.datastorage,
|
||||||
|
|
|
@ -44,7 +44,6 @@ import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfo;
|
||||||
import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfoLookup;
|
import com.raytheon.edex.plugin.gfe.paraminfo.GridParamInfoLookup;
|
||||||
import com.raytheon.edex.plugin.gfe.paraminfo.ParameterInfo;
|
import com.raytheon.edex.plugin.gfe.paraminfo.ParameterInfo;
|
||||||
import com.raytheon.edex.plugin.gfe.server.GridParmManager;
|
import com.raytheon.edex.plugin.gfe.server.GridParmManager;
|
||||||
import com.raytheon.edex.plugin.gfe.util.GridTranslator;
|
|
||||||
import com.raytheon.uf.common.comm.CommunicationException;
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
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.GridDataHistory;
|
||||||
|
@ -65,7 +64,8 @@ import com.raytheon.uf.common.dataplugin.gfe.slice.VectorGridSlice;
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridPathProvider;
|
import com.raytheon.uf.common.dataplugin.grid.GridPathProvider;
|
||||||
import com.raytheon.uf.common.dataplugin.grid.GridRecord;
|
import com.raytheon.uf.common.dataplugin.grid.GridRecord;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping;
|
||||||
|
import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory;
|
||||||
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
import com.raytheon.uf.common.datastorage.DataStoreFactory;
|
||||||
import com.raytheon.uf.common.datastorage.IDataStore;
|
import com.raytheon.uf.common.datastorage.IDataStore;
|
||||||
import com.raytheon.uf.common.datastorage.Request;
|
import com.raytheon.uf.common.datastorage.Request;
|
||||||
|
@ -104,6 +104,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
* 03/19/2013 #1774 randerso Fix accumulative grid time ranges
|
* 03/19/2013 #1774 randerso Fix accumulative grid time ranges
|
||||||
* 04/04/2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
* 04/04/2013 #1774 randerso Moved wind component checking to GfeIngestNotificaionFilter
|
||||||
* 04/04/2013 #1787 randerso Move the D2D to GFE translation logic out of GFED2DDao
|
* 04/04/2013 #1787 randerso Move the D2D to GFE translation logic out of GFED2DDao
|
||||||
|
* 04/17/2013 #1913 randerso Added GFE level mapping to replace GridTranslator
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -196,6 +197,8 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
private static final Pattern parmHrPattern = Pattern
|
private static final Pattern parmHrPattern = Pattern
|
||||||
.compile("(\\D+)\\d+hr");
|
.compile("(\\D+)\\d+hr");
|
||||||
|
|
||||||
|
private static final String GFE_LEVEL_MAPPING_FILE = "grid/gfeLevelMappingFile.xml";
|
||||||
|
|
||||||
private final IPerformanceStatusHandler perfLog = PerformanceStatus
|
private final IPerformanceStatusHandler perfLog = PerformanceStatus
|
||||||
.getHandler("GFE:");
|
.getHandler("GFE:");
|
||||||
|
|
||||||
|
@ -1178,27 +1181,33 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
// no-op
|
// no-op
|
||||||
}
|
}
|
||||||
|
|
||||||
public D2DParm getD2DParm(String d2dParmName, Level level) {
|
public D2DParm getD2DParm(String d2dParmName, Level d2dLevel) {
|
||||||
String gfeParmName = getGfeParmName(d2dParmName);
|
String gfeParmName = getGfeParmName(d2dParmName);
|
||||||
|
|
||||||
String levelName = GridTranslator.getShortLevelName(level
|
String gfeLevel = getGFELevel(d2dLevel);
|
||||||
.getMasterLevel().getName(), level.getLevelonevalue(), level
|
if (gfeLevel == null) {
|
||||||
.getLeveltwovalue());
|
statusHandler.warn("No GFE level found for D2D model: "
|
||||||
|
+ d2dModelName + " D2D parm: " + d2dParmName
|
||||||
|
+ " D2D level:" + d2dLevel + " GFE model: "
|
||||||
|
+ dbId.getModelName() + " GFE parm: " + gfeParmName
|
||||||
|
+ ". Check gfeLevelMapping and parameterInfo files.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
D2DParm parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
D2DParm parm = d2dParms.get(compositeName(gfeParmName, gfeLevel));
|
||||||
if (parm == null) {
|
if (parm == null) {
|
||||||
// try to find one with duration (XXXnnhr)
|
// try to find one with duration (XXXnnhr)
|
||||||
Matcher matcher = parmHrPattern.matcher(d2dParmName);
|
Matcher matcher = parmHrPattern.matcher(d2dParmName);
|
||||||
if (matcher.find()) {
|
if (matcher.find()) {
|
||||||
String abbrev = matcher.group(1);
|
String abbrev = matcher.group(1);
|
||||||
gfeParmName = getGfeParmName(abbrev);
|
gfeParmName = getGfeParmName(abbrev);
|
||||||
parm = d2dParms.get(compositeName(gfeParmName, levelName));
|
parm = d2dParms.get(compositeName(gfeParmName, gfeLevel));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parm == null) {
|
if (parm == null) {
|
||||||
statusHandler.warn("No gridParameterInfo found for "
|
statusHandler.warn("No gridParameterInfo found for "
|
||||||
+ compositeName(gfeParmName, levelName) + ":"
|
+ compositeName(gfeParmName, gfeLevel) + ":"
|
||||||
+ dbId.getModelId() + ". Check parameterInfo file.");
|
+ dbId.getModelId() + ". Check parameterInfo file.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1244,32 +1253,36 @@ public class D2DGridDatabase extends VGridDatabase {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Level getD2DLevel(String gfeLevel) {
|
private static Level getD2DLevel(String gfeLevel) {
|
||||||
String levelName = GridTranslator.getLevelName(gfeLevel);
|
List<Level> levels;
|
||||||
|
|
||||||
double[] levelValues = GridTranslator.getLevelValue(gfeLevel);
|
|
||||||
boolean levelOnePresent = (levelValues[0] != Level
|
|
||||||
.getInvalidLevelValue());
|
|
||||||
boolean levelTwoPresent = (levelValues[1] != Level
|
|
||||||
.getInvalidLevelValue());
|
|
||||||
Level level = null;
|
|
||||||
|
|
||||||
// to have a level 2, must have a level one
|
|
||||||
try {
|
try {
|
||||||
if (levelOnePresent && levelTwoPresent) {
|
levels = LevelMappingFactory.getInstance(GFE_LEVEL_MAPPING_FILE)
|
||||||
level = LevelFactory.getInstance().getLevel(levelName,
|
.getLevelMappingForKey(gfeLevel).getLevels();
|
||||||
levelValues[0], levelValues[1]);
|
|
||||||
} else if (levelOnePresent) {
|
|
||||||
level = LevelFactory.getInstance().getLevel(levelName,
|
|
||||||
levelValues[0]);
|
|
||||||
} else {
|
|
||||||
level = LevelFactory.getInstance().getLevel(levelName, 0.0);
|
|
||||||
}
|
|
||||||
} catch (CommunicationException e) {
|
} catch (CommunicationException e) {
|
||||||
statusHandler.error(e.getLocalizedMessage(), e);
|
levels = Collections.emptyList();
|
||||||
}
|
}
|
||||||
if (level == null) {
|
|
||||||
statusHandler.warn(gfeLevel + " does not map to a D2D level");
|
Level level = null;
|
||||||
|
if (levels.isEmpty()) {
|
||||||
|
statusHandler.warn("No D2D level found for: " + gfeLevel);
|
||||||
|
} else {
|
||||||
|
level = levels.get(0);
|
||||||
}
|
}
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getGFELevel(Level d2dLevel) {
|
||||||
|
LevelMapping levelMapping;
|
||||||
|
try {
|
||||||
|
levelMapping = LevelMappingFactory.getInstance(
|
||||||
|
GFE_LEVEL_MAPPING_FILE).getLevelMappingForLevel(d2dLevel);
|
||||||
|
} catch (CommunicationException e) {
|
||||||
|
levelMapping = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
String gfeLevel = null;
|
||||||
|
if (levelMapping != null) {
|
||||||
|
gfeLevel = levelMapping.getKey();
|
||||||
|
}
|
||||||
|
return gfeLevel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,251 +0,0 @@
|
||||||
/**
|
|
||||||
* This software was developed and / or modified by Raytheon Company,
|
|
||||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
|
||||||
*
|
|
||||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
|
||||||
* This software product contains export-restricted data whose
|
|
||||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
|
||||||
* to non-U.S. persons whether in the United States or abroad requires
|
|
||||||
* an export license or other authorization.
|
|
||||||
*
|
|
||||||
* Contractor Name: Raytheon Company
|
|
||||||
* Contractor Address: 6825 Pine Street, Suite 340
|
|
||||||
* Mail Stop B8
|
|
||||||
* Omaha, NE 68106
|
|
||||||
* 402.291.0100
|
|
||||||
*
|
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
|
||||||
* further licensing information.
|
|
||||||
**/
|
|
||||||
package com.raytheon.edex.plugin.gfe.util;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
|
||||||
import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Singleton that assists with grid data
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
* SOFTWARE HISTORY
|
|
||||||
* Date Ticket# Engineer Description
|
|
||||||
* ------------ ---------- ----------- --------------------------
|
|
||||||
* May 5, 2008 njensen Initial creation
|
|
||||||
* Aug 22, 2008 1502 dglazesk Changed to JAXB unmarshalling
|
|
||||||
* Dec 06, 2012 1394 rjpeter Attend static compiled patterns.
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @author njensen
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class GridTranslator {
|
|
||||||
|
|
||||||
private static final List<String> NEEDS_ZERO = Arrays.asList("BLD", "WBZ");
|
|
||||||
|
|
||||||
private static final Pattern ANY_NUMBER = Pattern.compile("[0-9]");
|
|
||||||
|
|
||||||
private static final Pattern NOT_NUMBER = Pattern.compile("[^0-9]");
|
|
||||||
|
|
||||||
private GridTranslator() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getLevelName(String shorthand) {
|
|
||||||
return ANY_NUMBER.matcher(shorthand).replaceAll("");
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double[] getLevelValue(String shorthand) {
|
|
||||||
String levelString = NOT_NUMBER.matcher(shorthand).replaceAll("");
|
|
||||||
int length = levelString.length();
|
|
||||||
double[] retVal = new double[2];
|
|
||||||
retVal[0] = Level.getInvalidLevelValue();
|
|
||||||
retVal[1] = Level.getInvalidLevelValue();
|
|
||||||
switch (length) {
|
|
||||||
case 0:
|
|
||||||
retVal[0] = 0.0;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
case 2:
|
|
||||||
retVal[0] = Double.parseDouble(levelString);
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (levelString.charAt(0) != '0') {
|
|
||||||
retVal[0] = Double.parseDouble(levelString);
|
|
||||||
} else {
|
|
||||||
retVal[1] = Double.parseDouble(levelString);
|
|
||||||
if (levelString.charAt(0) == '0') {
|
|
||||||
retVal[0] = 0.0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (levelString.charAt(0) == '0') {
|
|
||||||
retVal[0] = 0.0;
|
|
||||||
retVal[1] = Double.parseDouble(levelString);
|
|
||||||
} else if (levelString.charAt(0) == '1') {
|
|
||||||
retVal[0] = Double.parseDouble(levelString);
|
|
||||||
} else {
|
|
||||||
retVal[0] = Double.parseDouble(levelString.substring(0, 2));
|
|
||||||
retVal[1] = Double.parseDouble(levelString.substring(2, 4));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
retVal[0] = Double.parseDouble(levelString.substring(0, 2));
|
|
||||||
retVal[1] = Double.parseDouble(levelString.substring(2, 5));
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
retVal[0] = Double.parseDouble(levelString.substring(0, 3));
|
|
||||||
retVal[1] = Double.parseDouble(levelString.substring(3, 6));
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
retVal[0] = Double.parseDouble(levelString.substring(0, 4));
|
|
||||||
retVal[1] = Double.parseDouble(levelString.substring(4, 7));
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
retVal[0] = Double.parseDouble(levelString.substring(0, 4));
|
|
||||||
retVal[1] = Double.parseDouble(levelString.substring(4, 8));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return retVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats short level name in GFE format
|
|
||||||
*
|
|
||||||
* @param name
|
|
||||||
* @param levelOne
|
|
||||||
* @param levelTwo
|
|
||||||
* @return short level name
|
|
||||||
*/
|
|
||||||
public static String getShortLevelName(String name, double levelOne,
|
|
||||||
double levelTwo) {
|
|
||||||
StringBuilder tmp = new StringBuilder();
|
|
||||||
|
|
||||||
if (name == null) {
|
|
||||||
tmp.append(LevelFactory.UNKNOWN_LEVEL);
|
|
||||||
} else {
|
|
||||||
tmp.append(name);
|
|
||||||
|
|
||||||
if ((levelOne != Level.getInvalidLevelValue())
|
|
||||||
&& ((levelOne != 0)
|
|
||||||
|| (levelTwo != Level.getInvalidLevelValue()) || NEEDS_ZERO
|
|
||||||
.contains(name))) {
|
|
||||||
tmp.append(String.valueOf(Math.round(levelOne)));
|
|
||||||
}
|
|
||||||
if (levelTwo != Level.getInvalidLevelValue()) {
|
|
||||||
tmp.append(String.valueOf(Math.round(levelTwo)));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return tmp.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
double[] testLevelsBL = { 0, 30, 60, 90, 120, 150, 180, -999999 };
|
|
||||||
double[] testLevelsMB = { 1100, 1050, 1000, 950, 900, 850, 800, 750,
|
|
||||||
700, 650, 600, 550, 500, 450, 400, 350, 300, 250, 200, 150,
|
|
||||||
100, -999999 };
|
|
||||||
|
|
||||||
String levelName;
|
|
||||||
String level;
|
|
||||||
double[] levels;
|
|
||||||
double l1, l2;
|
|
||||||
|
|
||||||
levelName = "BL";
|
|
||||||
for (int i = 0; i < testLevelsBL.length; i++) {
|
|
||||||
l1 = testLevelsBL[i];
|
|
||||||
for (int j = i + 1; j < testLevelsBL.length; j++) {
|
|
||||||
l2 = testLevelsBL[j];
|
|
||||||
level = GridTranslator.getShortLevelName(levelName, l1, l2);
|
|
||||||
levels = GridTranslator.getLevelValue(level);
|
|
||||||
System.out.println(levelName
|
|
||||||
+ " "
|
|
||||||
+ l1
|
|
||||||
+ " "
|
|
||||||
+ l2
|
|
||||||
+ ": "
|
|
||||||
+ level
|
|
||||||
+ " "
|
|
||||||
+ Arrays.toString(levels)
|
|
||||||
+ ((l1 == levels[0]) && (l2 == levels[1]) ? " passed"
|
|
||||||
: " failed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
levelName = "MB";
|
|
||||||
for (int i = 0; i < testLevelsMB.length; i++) {
|
|
||||||
l1 = testLevelsMB[i];
|
|
||||||
for (int j = i + 1; j < testLevelsMB.length; j++) {
|
|
||||||
l2 = testLevelsMB[j];
|
|
||||||
level = GridTranslator.getShortLevelName(levelName, l1, l2);
|
|
||||||
levels = GridTranslator.getLevelValue(level);
|
|
||||||
System.out.println(levelName
|
|
||||||
+ " "
|
|
||||||
+ l1
|
|
||||||
+ " "
|
|
||||||
+ l2
|
|
||||||
+ ": "
|
|
||||||
+ level
|
|
||||||
+ " "
|
|
||||||
+ Arrays.toString(levels)
|
|
||||||
+ ((l1 == levels[0]) && (l2 == levels[1]) ? " passed"
|
|
||||||
: " failed"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
levelName = "SFC";
|
|
||||||
l1 = 0;
|
|
||||||
l2 = -999999;
|
|
||||||
level = GridTranslator.getShortLevelName(levelName, l1, l2);
|
|
||||||
levels = GridTranslator.getLevelValue(level);
|
|
||||||
System.out.println(levelName
|
|
||||||
+ " "
|
|
||||||
+ l1
|
|
||||||
+ " "
|
|
||||||
+ l2
|
|
||||||
+ ": "
|
|
||||||
+ level
|
|
||||||
+ " "
|
|
||||||
+ Arrays.toString(levels)
|
|
||||||
+ ((l1 == levels[0]) && (l2 == levels[1]) ? " passed"
|
|
||||||
: " failed"));
|
|
||||||
|
|
||||||
levelName = "BLD";
|
|
||||||
l1 = 0;
|
|
||||||
l2 = -999999;
|
|
||||||
level = GridTranslator.getShortLevelName(levelName, l1, l2);
|
|
||||||
levels = GridTranslator.getLevelValue(level);
|
|
||||||
System.out.println(levelName
|
|
||||||
+ " "
|
|
||||||
+ l1
|
|
||||||
+ " "
|
|
||||||
+ l2
|
|
||||||
+ ": "
|
|
||||||
+ level
|
|
||||||
+ " "
|
|
||||||
+ Arrays.toString(levels)
|
|
||||||
+ ((l1 == levels[0]) && (l2 == levels[1]) ? " passed"
|
|
||||||
: " failed"));
|
|
||||||
|
|
||||||
levelName = "WBZ";
|
|
||||||
l1 = 0;
|
|
||||||
l2 = -999999;
|
|
||||||
level = GridTranslator.getShortLevelName(levelName, l1, l2);
|
|
||||||
levels = GridTranslator.getLevelValue(level);
|
|
||||||
System.out.println(levelName
|
|
||||||
+ " "
|
|
||||||
+ l1
|
|
||||||
+ " "
|
|
||||||
+ l2
|
|
||||||
+ ": "
|
|
||||||
+ level
|
|
||||||
+ " "
|
|
||||||
+ Arrays.toString(levels)
|
|
||||||
+ ((l1 == levels[0]) && (l2 == levels[1]) ? " passed"
|
|
||||||
: " failed"));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,462 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<LevelMappings>
|
||||||
|
<Level key="BL030">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="0.0" levelTwoValue="30.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL0180">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="0.0" levelTwoValue="180.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL0255">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="0.0" levelTwoValue="255.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL3060">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="30.0" levelTwoValue="60.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL6090">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="60.0" levelTwoValue="90.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL90120">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="90.0" levelTwoValue="120.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL120150">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="120.0" levelTwoValue="150.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BL150180">
|
||||||
|
<DatabaseLevel levelName="BL" levelOneValue="150.0" levelTwoValue="180.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BLD0">
|
||||||
|
<DatabaseLevel levelName="BLD" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BLS">
|
||||||
|
<DatabaseLevel levelName="BLS" levelOneValue="0.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BLS1">
|
||||||
|
<DatabaseLevel levelName="BLS" levelOneValue="1.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BLS2">
|
||||||
|
<DatabaseLevel levelName="BLS" levelOneValue="2.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="BLS3">
|
||||||
|
<DatabaseLevel levelName="BLS" levelOneValue="3.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="CBL">
|
||||||
|
<DatabaseLevel levelName="CBL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="CCTL">
|
||||||
|
<DatabaseLevel levelName="CCTL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="CLG">
|
||||||
|
<DatabaseLevel levelName="CLG" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="CTL">
|
||||||
|
<DatabaseLevel levelName="CTL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="Dflt">
|
||||||
|
<DatabaseLevel levelName="Dflt" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="EA">
|
||||||
|
<DatabaseLevel levelName="EA" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="EL">
|
||||||
|
<DatabaseLevel levelName="EL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH10">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="10.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH304">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="304.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH305">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="305.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH609">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="609.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH610">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="610.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH914">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="914.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH1219">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="1219.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH1500">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="1500.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH1524">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="1524.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH1828">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="1828.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH1829">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="1829.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH2133">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="2133.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH2134">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="2134.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH2438">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="2438.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH2743">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="2743.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3048">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3048.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3352">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3352.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3353">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3353.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3657">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3657.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3658">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3658.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH3962">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="3962.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH4267">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="4267.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH4572">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="4572.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH4876">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="4876.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH4877">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="4877.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH5181">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="5181.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH5182">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="5182.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH5486">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="5486.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH5791">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="5791.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH6400">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="6400.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH6096">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="6096.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH6401">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="6401.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH6705">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="6705.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH6706">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="6706.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH7010">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="7010.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH7315">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="7315.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH7620">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="7620.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH7924">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="7924.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH7925">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="7925.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH8229">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="8229.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH8230">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="8230.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH8534">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="8534.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH8839">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="8839.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH9144">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="9144.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH9448">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="9448.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH9753">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="9753.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH10058">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="10058.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH10363">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="10363.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH10668">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="10668.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH10972">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="10972.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH11277">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="11227.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH11582">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="11582.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH11887">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="11887.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH12192">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="12192.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH12496">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="12496.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH12801">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="12801.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH13106">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="13106.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH13411">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="13411.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FH13716">
|
||||||
|
<DatabaseLevel levelName="FH" levelOneValue="13716.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG2">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="2.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG10">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="10.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG1000">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="1000.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG4000">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="4000.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG030">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="0.0" levelTwoValue="30.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG3000">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="0.0" levelTwoValue="3000.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FHAG6000">
|
||||||
|
<DatabaseLevel levelName="FHAG" levelOneValue="0.0" levelTwoValue="6000.0" unit="m"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="FRZ">
|
||||||
|
<DatabaseLevel levelName="FRZ" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="HCBL">
|
||||||
|
<DatabaseLevel levelName="HCBL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="HYB1">
|
||||||
|
<DatabaseLevel levelName="HYB" levelOneValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="LCBL">
|
||||||
|
<DatabaseLevel levelName="LCBL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="LCL">
|
||||||
|
<DatabaseLevel levelName="LCL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MAXW">
|
||||||
|
<DatabaseLevel levelName="MAXW" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB50">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="50.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB100">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="100.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB125">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="125.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB150">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="150.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB175">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="175.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB200">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="200.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB225">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="225.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB250">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="250.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB275">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="275.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB300">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="300.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB325">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="325.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB350">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="350.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB375">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="375.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB400">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="400.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB425">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="425.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB450">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="450.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB475">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="475.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB500">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="500.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB525">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="525.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB550">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="550.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB575">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="575.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB600">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="600.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB625">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="625.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB650">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="650.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB675">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="675.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB700">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="700.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB725">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="725.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB750">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="750.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB775">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="775.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB800">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="800.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB825">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="825.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB850">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="850.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB875">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="875.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB900">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="900.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB925">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="925.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB950">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="950.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB975">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="975.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB1000">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1000.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB1025">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1025.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB1050">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1050.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB1100">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1100.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB50100">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1000.0" levelTwoValue="500.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MB0500">
|
||||||
|
<DatabaseLevel levelName="MB" levelOneValue="1000.0" levelTwoValue="500.0" unit="hPa"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MCBL">
|
||||||
|
<DatabaseLevel levelName="MCBL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="MSL">
|
||||||
|
<DatabaseLevel levelName="MSL" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="OSEQD1">
|
||||||
|
<DatabaseLevel levelName="OSEQD" levelOneValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="OSEQD2">
|
||||||
|
<DatabaseLevel levelName="OSEQD" levelOneValue="2.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="PV5">
|
||||||
|
<DatabaseLevel levelName="PV" levelOneValue="0.5" unit="K * m^2/kg*s * 1000000"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="PV10">
|
||||||
|
<DatabaseLevel levelName="PV" levelOneValue="1.0" unit="K * m^2/kg*s * 1000000"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="PV15">
|
||||||
|
<DatabaseLevel levelName="PV" levelOneValue="1.5" unit="K * m^2/kg*s * 1000000"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="PV20">
|
||||||
|
<DatabaseLevel levelName="PV" levelOneValue="2.0" unit="K * m^2/kg*s * 1000000"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SFC">
|
||||||
|
<DatabaseLevel levelName="SFC" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG0100">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.0" levelTwoValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG9823">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.23" levelTwoValue="0.98"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG33100">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.33" levelTwoValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG44100">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.44" levelTwoValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG47100">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.47" levelTwoValue="1.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="SIG8498">
|
||||||
|
<DatabaseLevel levelName="SIG" levelOneValue="0.84" levelTwoValue="0.98"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="TROP">
|
||||||
|
<DatabaseLevel levelName="TROP" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="TW0">
|
||||||
|
<DatabaseLevel levelName="TW0" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
<Level key="WBZ0">
|
||||||
|
<DatabaseLevel levelName="WBZ" levelOneValue="0.0"/>
|
||||||
|
</Level>
|
||||||
|
</LevelMappings>
|
|
@ -1,4 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
04/17/2013 #1913 randerso Corrected level for SLI
|
||||||
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
<fcst>0</fcst>
|
<fcst>0</fcst>
|
||||||
|
@ -445,9 +451,9 @@
|
||||||
<valid_range>20.0</valid_range>
|
<valid_range>20.0</valid_range>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
<n3D>0</n3D>
|
<n3D>0</n3D>
|
||||||
<levelsDesc>MB 0>500</levelsDesc>
|
<levelsDesc>SFC</levelsDesc>
|
||||||
<levels>
|
<levels>
|
||||||
<level>MB0500</level>
|
<level>SFC</level>
|
||||||
</levels>
|
</levels>
|
||||||
</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">
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
04/17/2013 #1913 randerso Corrected level for SLI
|
||||||
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
<fcst>0</fcst>
|
<fcst>0</fcst>
|
||||||
|
@ -445,9 +451,9 @@
|
||||||
<valid_range>20.0</valid_range>
|
<valid_range>20.0</valid_range>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
<n3D>0</n3D>
|
<n3D>0</n3D>
|
||||||
<levelsDesc>MB 0>500</levelsDesc>
|
<levelsDesc>SFC</levelsDesc>
|
||||||
<levels>
|
<levels>
|
||||||
<level>MB0500</level>
|
<level>SFC</level>
|
||||||
</levels>
|
</levels>
|
||||||
</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">
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
04/17/2013 #1913 randerso Corrected level for SLI
|
||||||
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
<fcst>0</fcst>
|
<fcst>0</fcst>
|
||||||
|
@ -275,9 +281,9 @@
|
||||||
<valid_range>20.0</valid_range>
|
<valid_range>20.0</valid_range>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
<n3D>0</n3D>
|
<n3D>0</n3D>
|
||||||
<levelsDesc>MB 0>500</levelsDesc>
|
<levelsDesc>SFC</levelsDesc>
|
||||||
<levels>
|
<levels>
|
||||||
<level>MB0500</level>
|
<level>SFC</level>
|
||||||
</levels>
|
</levels>
|
||||||
</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">
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
04/17/2013 #1913 randerso Corrected level for SLI
|
||||||
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
<fcst>0</fcst>
|
<fcst>0</fcst>
|
||||||
|
@ -445,9 +451,9 @@
|
||||||
<valid_range>20.0</valid_range>
|
<valid_range>20.0</valid_range>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
<n3D>0</n3D>
|
<n3D>0</n3D>
|
||||||
<levelsDesc>MB 0>500</levelsDesc>
|
<levelsDesc>SFC</levelsDesc>
|
||||||
<levels>
|
<levels>
|
||||||
<level>MB0500</level>
|
<level>SFC</level>
|
||||||
</levels>
|
</levels>
|
||||||
</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">
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--
|
<!--
|
||||||
Mar 20, 2013 #1774 randerso Fixed wx definition
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
03/20/2013 #1774 randerso Fixed wx definition
|
||||||
|
04/17/2013 #1913 randerso Corrected wx units
|
||||||
-->
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
|
@ -129,7 +133,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>wx</short_name>
|
<short_name>wx</short_name>
|
||||||
<long_name>Weather</long_name>
|
<long_name>Weather</long_name>
|
||||||
<units/>
|
<units>wx</units>
|
||||||
<udunits/>
|
<udunits/>
|
||||||
<uiname>Weather</uiname>
|
<uiname>Weather</uiname>
|
||||||
<valid_range>0.0</valid_range>
|
<valid_range>0.0</valid_range>
|
||||||
|
|
|
@ -1,358 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gridParamInfo xmlns:ns2="group">
|
|
||||||
<valtimeMINUSreftime>
|
|
||||||
<fcst>0</fcst>
|
|
||||||
<fcst>21600</fcst>
|
|
||||||
<fcst>43200</fcst>
|
|
||||||
<fcst>64800</fcst>
|
|
||||||
<fcst>86400</fcst>
|
|
||||||
<fcst>108000</fcst>
|
|
||||||
<fcst>129600</fcst>
|
|
||||||
<fcst>151200</fcst>
|
|
||||||
<fcst>172800</fcst>
|
|
||||||
</valtimeMINUSreftime>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>vw</short_name>
|
|
||||||
<long_name>v wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>vWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticSpacing</short_name>
|
|
||||||
<long_name>Grid spacing</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>tp</short_name>
|
|
||||||
<long_name>total precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>totPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>av</short_name>
|
|
||||||
<long_name>absolute vorticity</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<udunits>1/second</udunits>
|
|
||||||
<uiname>absVort</uiname>
|
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
|
||||||
<valid_range>0.00999999977648</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>4</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 250</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>gh</short_name>
|
|
||||||
<long_name>Geopotential height</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>geoPotHt</uiname>
|
|
||||||
<valid_range>-2000.0</valid_range>
|
|
||||||
<valid_range>20000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>20</n3D>
|
|
||||||
<levelsDesc>MB 1000-50 by 50</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pw</short_name>
|
|
||||||
<long_name>precipitable water</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>precipH2O</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>300.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 0>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG0100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>bli</short_name>
|
|
||||||
<long_name>Best lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>bestLftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>50.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 84>98</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG8498</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticCoriolis</short_name>
|
|
||||||
<long_name>Coriolis parameter</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>rh</short_name>
|
|
||||||
<long_name>Relative Humidity</long_name>
|
|
||||||
<units>%</units>
|
|
||||||
<udunits>percent</udunits>
|
|
||||||
<uiname>rh</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 SIG 47>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>SIG47100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>sli</short_name>
|
|
||||||
<long_name>Surface lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>LftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>20.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MB 50>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB50100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>snd</short_name>
|
|
||||||
<long_name>snow depth</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>snowDepth</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticTopo</short_name>
|
|
||||||
<long_name>Topography</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pmsl</short_name>
|
|
||||||
<long_name>pressure at mean sea level</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>PMSL</uiname>
|
|
||||||
<valid_range>80000.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MSL</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MSL</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>uw</short_name>
|
|
||||||
<long_name>u wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>uWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>st</short_name>
|
|
||||||
<long_name>soil temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>soilT</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>BLS</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>BLS</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>p</short_name>
|
|
||||||
<long_name>pressure</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>atmP</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>1</n3D>
|
|
||||||
<levelsDesc>SFC TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>t</short_name>
|
|
||||||
<long_name>Temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>T</uiname>
|
|
||||||
<valid_range>180.0</valid_range>
|
|
||||||
<valid_range>330.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
</gridParamInfo>
|
|
|
@ -1,396 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gridParamInfo xmlns:ns2="group">
|
|
||||||
<valtimeMINUSreftime>
|
|
||||||
<fcst>0</fcst>
|
|
||||||
<fcst>21600</fcst>
|
|
||||||
<fcst>43200</fcst>
|
|
||||||
<fcst>64800</fcst>
|
|
||||||
<fcst>86400</fcst>
|
|
||||||
<fcst>108000</fcst>
|
|
||||||
<fcst>129600</fcst>
|
|
||||||
<fcst>151200</fcst>
|
|
||||||
<fcst>172800</fcst>
|
|
||||||
</valtimeMINUSreftime>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pvv</short_name>
|
|
||||||
<long_name>Pressure vertical velocity</long_name>
|
|
||||||
<units>Pa/s</units>
|
|
||||||
<udunits>pascal/second</udunits>
|
|
||||||
<uiname>Pvv</uiname>
|
|
||||||
<valid_range>-2.5</valid_range>
|
|
||||||
<valid_range>2.5</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>9</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 400 300 250 200 150 100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>vw</short_name>
|
|
||||||
<long_name>v wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>vWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticSpacing</short_name>
|
|
||||||
<long_name>Grid spacing</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>tp</short_name>
|
|
||||||
<long_name>total precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>totPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>av</short_name>
|
|
||||||
<long_name>absolute vorticity</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<udunits>1/second</udunits>
|
|
||||||
<uiname>absVort</uiname>
|
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
|
||||||
<valid_range>0.00999999977648</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>4</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 250</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>cp</short_name>
|
|
||||||
<long_name>convective precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>convPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>gh</short_name>
|
|
||||||
<long_name>Geopotential height</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>geoPotHt</uiname>
|
|
||||||
<valid_range>-2000.0</valid_range>
|
|
||||||
<valid_range>20000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>20</n3D>
|
|
||||||
<levelsDesc>MB 1000-50 by 50</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pw</short_name>
|
|
||||||
<long_name>precipitable water</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>precipH2O</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>300.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 0>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG0100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>bli</short_name>
|
|
||||||
<long_name>Best lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>bestLftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>50.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 84>98</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG8498</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticCoriolis</short_name>
|
|
||||||
<long_name>Coriolis parameter</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>rh</short_name>
|
|
||||||
<long_name>Relative Humidity</long_name>
|
|
||||||
<units>%</units>
|
|
||||||
<udunits>percent</udunits>
|
|
||||||
<uiname>rh</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 SIG 47>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>SIG47100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>sli</short_name>
|
|
||||||
<long_name>Surface lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>LftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>20.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MB 50>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB50100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>snd</short_name>
|
|
||||||
<long_name>snow depth</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>snowDepth</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticTopo</short_name>
|
|
||||||
<long_name>Topography</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pmsl</short_name>
|
|
||||||
<long_name>pressure at mean sea level</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>PMSL</uiname>
|
|
||||||
<valid_range>80000.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MSL</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MSL</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>uw</short_name>
|
|
||||||
<long_name>u wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>uWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>st</short_name>
|
|
||||||
<long_name>soil temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>soilT</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>BLS</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>BLS</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>p</short_name>
|
|
||||||
<long_name>pressure</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>atmP</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>1</n3D>
|
|
||||||
<levelsDesc>SFC TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>t</short_name>
|
|
||||||
<long_name>Temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>T</uiname>
|
|
||||||
<valid_range>180.0</valid_range>
|
|
||||||
<valid_range>330.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
</gridParamInfo>
|
|
|
@ -1,396 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gridParamInfo xmlns:ns2="group">
|
|
||||||
<valtimeMINUSreftime>
|
|
||||||
<fcst>0</fcst>
|
|
||||||
<fcst>21600</fcst>
|
|
||||||
<fcst>43200</fcst>
|
|
||||||
<fcst>64800</fcst>
|
|
||||||
<fcst>86400</fcst>
|
|
||||||
<fcst>108000</fcst>
|
|
||||||
<fcst>129600</fcst>
|
|
||||||
<fcst>151200</fcst>
|
|
||||||
<fcst>172800</fcst>
|
|
||||||
</valtimeMINUSreftime>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pvv</short_name>
|
|
||||||
<long_name>Pressure vertical velocity</long_name>
|
|
||||||
<units>Pa/s</units>
|
|
||||||
<udunits>pascal/second</udunits>
|
|
||||||
<uiname>Pvv</uiname>
|
|
||||||
<valid_range>-2.5</valid_range>
|
|
||||||
<valid_range>2.5</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>9</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 400 300 250 200 150 100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>vw</short_name>
|
|
||||||
<long_name>v wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>vWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticSpacing</short_name>
|
|
||||||
<long_name>Grid spacing</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>tp</short_name>
|
|
||||||
<long_name>total precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>totPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>av</short_name>
|
|
||||||
<long_name>absolute vorticity</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<udunits>1/second</udunits>
|
|
||||||
<uiname>absVort</uiname>
|
|
||||||
<valid_range>-0.00999999977648</valid_range>
|
|
||||||
<valid_range>0.00999999977648</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>4</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 250</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>cp</short_name>
|
|
||||||
<long_name>convective precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>convPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>gh</short_name>
|
|
||||||
<long_name>Geopotential height</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>geoPotHt</uiname>
|
|
||||||
<valid_range>-2000.0</valid_range>
|
|
||||||
<valid_range>20000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>20</n3D>
|
|
||||||
<levelsDesc>MB 1000-50 by 50</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pw</short_name>
|
|
||||||
<long_name>precipitable water</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>precipH2O</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>300.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 0>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG0100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>bli</short_name>
|
|
||||||
<long_name>Best lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>bestLftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>50.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SIG 84>98</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG8498</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticCoriolis</short_name>
|
|
||||||
<long_name>Coriolis parameter</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>rh</short_name>
|
|
||||||
<long_name>Relative Humidity</long_name>
|
|
||||||
<units>%</units>
|
|
||||||
<udunits>percent</udunits>
|
|
||||||
<uiname>rh</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 SIG 47>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>SIG47100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>sli</short_name>
|
|
||||||
<long_name>Surface lifted index</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>LftInd</uiname>
|
|
||||||
<valid_range>-20.0</valid_range>
|
|
||||||
<valid_range>20.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MB 50>100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB50100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>snd</short_name>
|
|
||||||
<long_name>snow depth</long_name>
|
|
||||||
<units>m</units>
|
|
||||||
<udunits>meters</udunits>
|
|
||||||
<uiname>snowDepth</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>100.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticTopo</short_name>
|
|
||||||
<long_name>Topography</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pmsl</short_name>
|
|
||||||
<long_name>pressure at mean sea level</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>PMSL</uiname>
|
|
||||||
<valid_range>80000.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>MSL</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MSL</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>uw</short_name>
|
|
||||||
<long_name>u wind component</long_name>
|
|
||||||
<units>m/s</units>
|
|
||||||
<udunits>meter/sec</udunits>
|
|
||||||
<uiname>uWind</uiname>
|
|
||||||
<valid_range>-150.0</valid_range>
|
|
||||||
<valid_range>150.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>st</short_name>
|
|
||||||
<long_name>soil temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>soilT</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>BLS</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>BLS</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>p</short_name>
|
|
||||||
<long_name>pressure</long_name>
|
|
||||||
<units>Pa</units>
|
|
||||||
<udunits>pascal</udunits>
|
|
||||||
<uiname>atmP</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>110000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>1</n3D>
|
|
||||||
<levelsDesc>SFC TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>t</short_name>
|
|
||||||
<long_name>Temperature</long_name>
|
|
||||||
<units>K</units>
|
|
||||||
<udunits>degree_Kelvin</udunits>
|
|
||||||
<uiname>T</uiname>
|
|
||||||
<valid_range>180.0</valid_range>
|
|
||||||
<valid_range>330.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>21</n3D>
|
|
||||||
<levelsDesc>SIG 9823 MB 1000-50 by 50 FH 1829 2743 3658 TROP</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SIG9823</level>
|
|
||||||
<level>MB1000</level>
|
|
||||||
<level>MB950</level>
|
|
||||||
<level>MB900</level>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB800</level>
|
|
||||||
<level>MB750</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB650</level>
|
|
||||||
<level>MB600</level>
|
|
||||||
<level>MB550</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB450</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB350</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
<level>MB50</level>
|
|
||||||
<level>FH1829</level>
|
|
||||||
<level>FH2743</level>
|
|
||||||
<level>FH3658</level>
|
|
||||||
<level>TROP</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
</gridParamInfo>
|
|
|
@ -1,84 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<gridParamInfo xmlns:ns2="group">
|
|
||||||
<valtimeMINUSreftime>
|
|
||||||
<fcst>21600</fcst>
|
|
||||||
<fcst>43200</fcst>
|
|
||||||
<fcst>64800</fcst>
|
|
||||||
<fcst>86400</fcst>
|
|
||||||
<fcst>108000</fcst>
|
|
||||||
<fcst>129600</fcst>
|
|
||||||
<fcst>151200</fcst>
|
|
||||||
<fcst>172800</fcst>
|
|
||||||
</valtimeMINUSreftime>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticTopo</short_name>
|
|
||||||
<long_name>Topography</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>pvv</short_name>
|
|
||||||
<long_name>Pressure vertical velocity</long_name>
|
|
||||||
<units>Pa/s</units>
|
|
||||||
<udunits>pascal/second</udunits>
|
|
||||||
<uiname>Pvv</uiname>
|
|
||||||
<valid_range>-2.5</valid_range>
|
|
||||||
<valid_range>2.5</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>9</n3D>
|
|
||||||
<levelsDesc>MB 850 700 500 400 300 250 200 150 100</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>MB850</level>
|
|
||||||
<level>MB700</level>
|
|
||||||
<level>MB500</level>
|
|
||||||
<level>MB400</level>
|
|
||||||
<level>MB300</level>
|
|
||||||
<level>MB250</level>
|
|
||||||
<level>MB200</level>
|
|
||||||
<level>MB150</level>
|
|
||||||
<level>MB100</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>tp</short_name>
|
|
||||||
<long_name>total precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>totPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticCoriolis</short_name>
|
|
||||||
<long_name>Coriolis parameter</long_name>
|
|
||||||
<units>/s</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>staticSpacing</short_name>
|
|
||||||
<long_name>Grid spacing</long_name>
|
|
||||||
<units>meters</units>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
</gridParameterInfo>
|
|
||||||
<gridParameterInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="parameterInfo">
|
|
||||||
<short_name>cp</short_name>
|
|
||||||
<long_name>convective precipitation</long_name>
|
|
||||||
<units>mm</units>
|
|
||||||
<udunits>millimeter</udunits>
|
|
||||||
<uiname>convPrecip</uiname>
|
|
||||||
<valid_range>0.0</valid_range>
|
|
||||||
<valid_range>1000.0</valid_range>
|
|
||||||
<fillValue>-99999.0</fillValue>
|
|
||||||
<n3D>0</n3D>
|
|
||||||
<levelsDesc>SFC</levelsDesc>
|
|
||||||
<levels>
|
|
||||||
<level>SFC</level>
|
|
||||||
</levels>
|
|
||||||
</gridParameterInfo>
|
|
||||||
</gridParamInfo>
|
|
|
@ -1,4 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
REVISION HISTORY
|
||||||
|
|
||||||
|
Date Ticket# Engineer Description
|
||||||
|
04/17/2013 #1913 randerso Corrected level for SLI
|
||||||
|
-->
|
||||||
<gridParamInfo xmlns:ns2="group">
|
<gridParamInfo xmlns:ns2="group">
|
||||||
<valtimeMINUSreftime>
|
<valtimeMINUSreftime>
|
||||||
<fcst>0</fcst>
|
<fcst>0</fcst>
|
||||||
|
@ -457,9 +463,9 @@
|
||||||
<valid_range>20.0</valid_range>
|
<valid_range>20.0</valid_range>
|
||||||
<fillValue>-99999.0</fillValue>
|
<fillValue>-99999.0</fillValue>
|
||||||
<n3D>0</n3D>
|
<n3D>0</n3D>
|
||||||
<levelsDesc>SFC</levelsDesc>
|
<levelsDesc>MB 0>500</levelsDesc>
|
||||||
<levels>
|
<levels>
|
||||||
<level>SFC</level>
|
<level>MB0500</level>
|
||||||
</levels>
|
</levels>
|
||||||
</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">
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.viz.core.level;
|
package com.raytheon.uf.common.dataplugin.level.mapping;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -33,7 +33,6 @@ import com.raytheon.uf.common.dataplugin.level.LevelFactory;
|
||||||
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.viz.core.exception.VizCommunicationException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class defines a database level
|
* Class defines a database level
|
||||||
|
@ -46,6 +45,8 @@ import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 11/16/2008 #3576 rjpeter Initial version
|
* 11/16/2008 #3576 rjpeter Initial version
|
||||||
|
* 04/17/2013 #1913 randerso Moved to common
|
||||||
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @author rjpeter
|
* @author rjpeter
|
||||||
|
@ -59,16 +60,16 @@ public class DatabaseLevelMapping {
|
||||||
.getHandler(DatabaseLevelMapping.class);
|
.getHandler(DatabaseLevelMapping.class);
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
private String levelName = null;
|
private String unit = null;
|
||||||
|
|
||||||
@XmlAttribute
|
|
||||||
private String levelOneValue = null;
|
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
private String levelTwoValue = null;
|
private String levelTwoValue = null;
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
private String unit = null;
|
private String levelOneValue = null;
|
||||||
|
|
||||||
|
@XmlAttribute
|
||||||
|
private String levelName = null;
|
||||||
|
|
||||||
public String getLevelName() {
|
public String getLevelName() {
|
||||||
return levelName;
|
return levelName;
|
||||||
|
@ -102,7 +103,7 @@ public class DatabaseLevelMapping {
|
||||||
this.unit = unit;
|
this.unit = unit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Level> getLevels() throws VizCommunicationException {
|
public List<Level> getLevels() throws CommunicationException {
|
||||||
String[] levelOneValues = new String[0];
|
String[] levelOneValues = new String[0];
|
||||||
String[] levelTwoValues = new String[0];
|
String[] levelTwoValues = new String[0];
|
||||||
|
|
||||||
|
@ -145,16 +146,11 @@ public class DatabaseLevelMapping {
|
||||||
}
|
}
|
||||||
|
|
||||||
// handle any aliasing etc
|
// handle any aliasing etc
|
||||||
try {
|
Level level = LevelFactory.getInstance().getLevel(levelName, lvl1,
|
||||||
Level level = LevelFactory.getInstance().getLevel(levelName,
|
lvl2, unit);
|
||||||
lvl1, lvl2, unit);
|
if (level != null) {
|
||||||
if (level != null) {
|
rval.add(level);
|
||||||
rval.add(level);
|
|
||||||
}
|
|
||||||
} catch (CommunicationException e) {
|
|
||||||
throw new VizCommunicationException(e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return rval;
|
return rval;
|
|
@ -18,7 +18,7 @@
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
package com.raytheon.uf.viz.core.level;
|
package com.raytheon.uf.common.dataplugin.level.mapping;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -29,9 +29,9 @@ 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 com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||||
import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class defines a mapping from a display level to one or more database levels.
|
* Class defines a mapping from a display level to one or more database levels.
|
||||||
|
@ -46,6 +46,7 @@ import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
* 11/01/2007 #518 S.Manoj Initial version
|
* 11/01/2007 #518 S.Manoj Initial version
|
||||||
* 11/16/2009 #3120 rjpeter Modifed to better integrate with level framework.
|
* 11/16/2009 #3120 rjpeter Modifed to better integrate with level framework.
|
||||||
* 11/21/2009 #3576 rjpeter Added group
|
* 11/21/2009 #3576 rjpeter Added group
|
||||||
|
* 04/17/2013 #1913 randerso Moved to common
|
||||||
*
|
*
|
||||||
* @author smanoj
|
* @author smanoj
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
|
@ -119,7 +120,7 @@ public class LevelMapping implements ISerializableObject {
|
||||||
this.databaseLevels = databaseLevels;
|
this.databaseLevels = databaseLevels;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Level> getLevels() throws VizCommunicationException {
|
public List<Level> getLevels() throws CommunicationException {
|
||||||
if (levelList == null) {
|
if (levelList == null) {
|
||||||
List<Level> levelList = new ArrayList<Level>();
|
List<Level> levelList = new ArrayList<Level>();
|
||||||
for (DatabaseLevelMapping mapping : databaseLevels) {
|
for (DatabaseLevelMapping mapping : databaseLevels) {
|
|
@ -17,7 +17,7 @@
|
||||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.viz.core.level;
|
package com.raytheon.uf.common.dataplugin.level.mapping;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -29,13 +29,13 @@ import java.util.Set;
|
||||||
|
|
||||||
import javax.xml.bind.JAXB;
|
import javax.xml.bind.JAXB;
|
||||||
|
|
||||||
|
import com.raytheon.uf.common.comm.CommunicationException;
|
||||||
import com.raytheon.uf.common.dataplugin.level.Level;
|
import com.raytheon.uf.common.dataplugin.level.Level;
|
||||||
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
import com.raytheon.uf.common.dataplugin.level.MasterLevel;
|
||||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||||
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.viz.core.exception.VizCommunicationException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory for getting level mappings
|
* Factory for getting level mappings
|
||||||
|
@ -49,15 +49,19 @@ import com.raytheon.uf.viz.core.exception.VizCommunicationException;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 11/16/2009 #3120 rjpeter Initial version
|
* 11/16/2009 #3120 rjpeter Initial version
|
||||||
* 11/21/2009 #3576 rjpeter Added group capability
|
* 11/21/2009 #3576 rjpeter Added group capability
|
||||||
|
* 04/17/2013 #1913 randerso Moved to common
|
||||||
*
|
*
|
||||||
* @author rjpeter
|
* @author rjpeter
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
*/
|
*/
|
||||||
public class LevelMappingFactory {
|
public class LevelMappingFactory {
|
||||||
|
// TODO: this should move somewhere else
|
||||||
|
public static final String VOLUMEBROWSER_LEVEL_MAPPING_FILE = "volumebrowser/LevelMappingFile.xml";
|
||||||
|
|
||||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
.getHandler(LevelMappingFactory.class);
|
.getHandler(LevelMappingFactory.class);
|
||||||
|
|
||||||
private static LevelMappingFactory instance = null;
|
private static Map<String, LevelMappingFactory> instanceMap = new HashMap<String, LevelMappingFactory>();
|
||||||
|
|
||||||
private Map<String, LevelMapping> keyToLevelMappings = new HashMap<String, LevelMapping>();
|
private Map<String, LevelMapping> keyToLevelMappings = new HashMap<String, LevelMapping>();
|
||||||
|
|
||||||
|
@ -69,16 +73,17 @@ public class LevelMappingFactory {
|
||||||
|
|
||||||
private Map<String, Map<MasterLevel, Set<Level>>> groupToMasterLevels = new HashMap<String, Map<MasterLevel, Set<Level>>>();
|
private Map<String, Map<MasterLevel, Set<Level>>> groupToMasterLevels = new HashMap<String, Map<MasterLevel, Set<Level>>>();
|
||||||
|
|
||||||
public synchronized static LevelMappingFactory getInstance() {
|
public synchronized static LevelMappingFactory getInstance(String filePath) {
|
||||||
|
LevelMappingFactory instance = instanceMap.get(filePath);
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
instance = new LevelMappingFactory();
|
instance = new LevelMappingFactory(filePath);
|
||||||
|
instanceMap.put(filePath, instance);
|
||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
private LevelMappingFactory() {
|
private LevelMappingFactory(String filePath) {
|
||||||
File path = PathManagerFactory.getPathManager().getStaticFile(
|
File path = PathManagerFactory.getPathManager().getStaticFile(filePath);
|
||||||
"volumebrowser/LevelMappingFile.xml");
|
|
||||||
LevelMappingFile levelMapFile = null;
|
LevelMappingFile levelMapFile = null;
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
try {
|
try {
|
||||||
|
@ -115,7 +120,7 @@ public class LevelMappingFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
public LevelMapping getLevelMappingForLevel(Level level)
|
public LevelMapping getLevelMappingForLevel(Level level)
|
||||||
throws VizCommunicationException {
|
throws CommunicationException {
|
||||||
if (!levelToLevelMappingsInitialized) {
|
if (!levelToLevelMappingsInitialized) {
|
||||||
initializeLevelToLevelMappings();
|
initializeLevelToLevelMappings();
|
||||||
}
|
}
|
||||||
|
@ -126,7 +131,7 @@ public class LevelMappingFactory {
|
||||||
return keyToLevelMappings.values();
|
return keyToLevelMappings.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<Level> getAllLevels() throws VizCommunicationException {
|
public Set<Level> getAllLevels() throws CommunicationException {
|
||||||
if (!levelToLevelMappingsInitialized) {
|
if (!levelToLevelMappingsInitialized) {
|
||||||
initializeLevelToLevelMappings();
|
initializeLevelToLevelMappings();
|
||||||
}
|
}
|
||||||
|
@ -134,15 +139,14 @@ public class LevelMappingFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<MasterLevel, Set<Level>> getLevelMapForGroup(String group)
|
public Map<MasterLevel, Set<Level>> getLevelMapForGroup(String group)
|
||||||
throws VizCommunicationException {
|
throws CommunicationException {
|
||||||
if (!groupToMasterLevelsInitialized) {
|
if (!groupToMasterLevelsInitialized) {
|
||||||
initializeGroupToMasterLevels();
|
initializeGroupToMasterLevels();
|
||||||
}
|
}
|
||||||
return groupToMasterLevels.get(group);
|
return groupToMasterLevels.get(group);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeLevelToLevelMappings()
|
private void initializeLevelToLevelMappings() throws CommunicationException {
|
||||||
throws VizCommunicationException {
|
|
||||||
for (LevelMapping mapping : keyToLevelMappings.values()) {
|
for (LevelMapping mapping : keyToLevelMappings.values()) {
|
||||||
String group = mapping.getGroup();
|
String group = mapping.getGroup();
|
||||||
|
|
||||||
|
@ -165,8 +169,7 @@ public class LevelMappingFactory {
|
||||||
levelToLevelMappingsInitialized = true;
|
levelToLevelMappingsInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeGroupToMasterLevels()
|
private void initializeGroupToMasterLevels() throws CommunicationException {
|
||||||
throws VizCommunicationException {
|
|
||||||
for (LevelMapping mapping : keyToLevelMappings.values()) {
|
for (LevelMapping mapping : keyToLevelMappings.values()) {
|
||||||
String group = mapping.getGroup();
|
String group = mapping.getGroup();
|
||||||
Map<MasterLevel, Set<Level>> masterLevels = null;
|
Map<MasterLevel, Set<Level>> masterLevels = null;
|
|
@ -18,7 +18,7 @@
|
||||||
* further licensing information.
|
* further licensing information.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
package com.raytheon.uf.viz.core.level;
|
package com.raytheon.uf.common.dataplugin.level.mapping;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -44,6 +44,7 @@ import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* 11/01/2007 #518 S.Manoj Initial version
|
* 11/01/2007 #518 S.Manoj Initial version
|
||||||
* 11/16/2009 #3120 rjpeter Refactored to use factory and level mapping.
|
* 11/16/2009 #3120 rjpeter Refactored to use factory and level mapping.
|
||||||
|
* 04/17/2013 #1913 randerso Moved to common
|
||||||
*
|
*
|
||||||
* @author smanoj
|
* @author smanoj
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
|
@ -56,7 +57,7 @@ public class LevelMappingFile implements ISerializableObject {
|
||||||
STANDARD, COMPOSITE, BINARY, XSECT, TSECT, VRTGPH, DIAGRAM, ALL, SURFACE
|
STANDARD, COMPOSITE, BINARY, XSECT, TSECT, VRTGPH, DIAGRAM, ALL, SURFACE
|
||||||
};
|
};
|
||||||
|
|
||||||
@XmlElements( { @XmlElement(name = "Level", type = LevelMapping.class) })
|
@XmlElements({ @XmlElement(name = "Level", type = LevelMapping.class) })
|
||||||
private List<LevelMapping> levelMappingFile;
|
private List<LevelMapping> levelMappingFile;
|
||||||
|
|
||||||
public List<LevelMapping> getLevelMappingFile() {
|
public List<LevelMapping> getLevelMappingFile() {
|
Loading…
Add table
Reference in a new issue