143 lines
6.2 KiB
XML
143 lines
6.2 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<!--
|
|
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
|
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
|
|
|
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
|
This_software_product_contains_export-restricted_data_whose
|
|
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
|
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
|
an_export_license_or_other_authorization.
|
|
|
|
Contractor_Name:________Raytheon_Company
|
|
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
|
________________________Mail_Stop_B8
|
|
________________________Omaha,_NE_68106
|
|
________________________402.291.0100
|
|
|
|
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
|
further_licensing_information.
|
|
-->
|
|
<!--
|
|
This is an absolute override file, indicating that a higher priority
|
|
version of the file will completely replace a lower priority version
|
|
of the file.
|
|
-->
|
|
<?xml-stylesheet type='text/css' href='newplots.css'?>
|
|
<svg height="80" overflow="visible" plugin="ldadmesonet" style="stroke: rgb(255,255,255);" viewBox="0 0 80 80" width="80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<defs>
|
|
<script plotDelegate="plotDelegate" type="text/python">
|
|
import datetime
|
|
|
|
class LdadMesoPlotDelegate(PlotDelegate):
|
|
def __init__(self):
|
|
PlotDelegate.__init__(self)
|
|
|
|
def getSampleText(self, rec):
|
|
s = rec.getString("stationId")
|
|
s += ","
|
|
s += str(datetime.datetime.utcfromtimestamp(rec.getLong("observationTime")/1000))
|
|
s += ","
|
|
s += getFloatAsString(rec, "temperature", "%.2f", 1.8, -459.67)
|
|
s += ","
|
|
s += getFloatAsString(rec, "dewpoint", "%.2f", 1.8, -459.67)
|
|
s += ","
|
|
s += getFloatAsString(rec, "relHumidity", "%.0f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "wetBulbTemperature", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "windDir", "%.0f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "windSpeed", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "windGust", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "pressure", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "stationPressure", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "altimeter", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "seaLevelPressure", "%.2f", 0.01)
|
|
s += ","
|
|
s += getIntAsString(rec, "pressChangeChar", "%d")
|
|
s += ","
|
|
s += getFloatAsString(rec, "pressChange3Hour", "%.2f")
|
|
s += ","
|
|
s += getFloatAsString(rec, "precipAccum", "%.2f")
|
|
s += ","
|
|
s += getIntAsString(rec, "precipIntensity", "%d")
|
|
s += ","
|
|
s += getIntAsString(rec, "precipType", "%d")
|
|
s += ","
|
|
s += getFloatAsString(rec, "totalCloudCover", "%.2f")
|
|
s += ","
|
|
s += rec.getString("skyCover")
|
|
s += ","
|
|
s += getFloatAsString(rec, "skyLayerBase", "%.2f")
|
|
s += ","
|
|
s += getIntAsString(rec, "cloudBaseHeight", "%d")
|
|
s += ","
|
|
s += getFloatAsString(rec, "visibility", "%.2f")
|
|
s += ","
|
|
s += rec.getString("visibilityStatus")
|
|
s += ","
|
|
s += rec.getString("presWeather")
|
|
return s
|
|
|
|
def getFloatAsString(rec, key, format, scale=1, offset=0):
|
|
f = rec.getFloat(key)
|
|
if f == -9999:
|
|
return ""
|
|
f = f*scale + offset
|
|
return format % f
|
|
|
|
def getIntAsString(rec, key, format):
|
|
f = rec.getInt(key)
|
|
if f == -9999:
|
|
return ""
|
|
return format % f
|
|
|
|
plotDelegate = LdadMesoPlotDelegate()
|
|
</script>
|
|
<style type="text/css">
|
|
<![CDATA[
|
|
@font-face { font-family: "WindSymbolFont";
|
|
src: url(WindSymbols.svg#WindSymbols); }
|
|
@font-face { font-family: "WxSymbolFont";
|
|
src: url(WxSymbols.svg#WxSymbols); }
|
|
@font-face { font-family: "SpecialSymbolFont";
|
|
src: url(SpecialSymbols.svg#SpecialSymbols); }
|
|
@font-face { font-family: "MarkerSymbolFont";
|
|
src: url(MarkerSymbols.svg#MarkerSymbols); }
|
|
]]>
|
|
</style>
|
|
<symbol class="info" id="plotData" overflow="visible">
|
|
<text id="sampleParamsBasic" plotMode="SAMPLE" plotParam="stationId,observationTime" x="0" y="0">
|
|
</text>
|
|
<text id="sampleParamsTemp" plotMode="SAMPLE" plotParam="temperature,dewpoint,relHumidity,wetBulbTemperature" x="0" y="0">
|
|
</text>
|
|
<text id="sampleParamsWind" plotMode="SAMPLE" plotParam="windDir,windSpeed,windGust" x="0" y="0">
|
|
</text>
|
|
<text id="sampleParamsPress" plotMode="SAMPLE" plotParam="pressure,stationPressure,altimeter,seaLevelPressure,pressChangeChar,pressChange3Hour" x="0" y="0">
|
|
</text>
|
|
<text id="sampleParamsPrecip" plotMode="SAMPLE" plotParam="precipAccum,precipIntensity,precipType" x="0" y="0">
|
|
</text>
|
|
<text id="sampleParamsOther" plotMode="SAMPLE" plotParam="totalCloudCover,skyCover,skyLayerBase,cloudBaseHeight,visibility,visibilityStatus,presWeather" x="0" y="0">
|
|
</text>
|
|
<g id="windVaneText" plotParam="windSpeed,windDir,windGust (kts)" transform="rotate(0,0,0)" x="0" y="0">
|
|
<text class="arrow" id="windVaneText" x="0" y="0">
|
|
</text>
|
|
<text class="barb" id="windArrowText" x="0" y="0">arrow
|
|
</text>
|
|
<text class="text" id="windGustText" style="text-anchor: middle" x="0" y="32">
|
|
</text>
|
|
</g>
|
|
<text id="tempText" plotParam="temperature (°F)" style="text-anchor: end;" x="-10px" y="-10px">75</text>
|
|
<text id="dewText" plotParam="DpT (°F)" style="text-anchor: end;" x="-10px" y="10px">59</text>
|
|
<text id="pressure" plotParam="seaLevelPressure (daPa)" style="text-anchor: start;" x="10px" y="-10px">018</text>
|
|
<text class="marker" id="marker" plotParam="Marker" x="-20px" y="-20px"> </text>
|
|
</symbol>
|
|
</defs>
|
|
<use height="80" id="wind" visibility="visible" width="80" x="40" y="40" xlink:href="#plotData" />
|
|
</svg>
|