Omaha #3595 Register two more fields. Replace UEngine with DAF and properly call the script
Change-Id: I3dac64f0537877858f9cf0bbf9e394e0e56075ba Former-commit-id:db82cdbdfe
[formerly1df2418409
] [formerly33e141dd38
[formerly e1470cb4ce03b49ac85936760469a22786195a99]] Former-commit-id:33e141dd38
Former-commit-id:93b2dfc2c9
This commit is contained in:
parent
32099edd46
commit
0a267a8c22
3 changed files with 318 additions and 262 deletions
|
@ -41,6 +41,7 @@
|
|||
<constructor-arg value="MB"/>
|
||||
<constructor-arg>
|
||||
<list>
|
||||
<value>prMaxW</value>
|
||||
<value>wdMaxW</value>
|
||||
<value>wsMaxW</value>
|
||||
</list>
|
||||
|
@ -66,6 +67,7 @@
|
|||
<constructor-arg value="FHAG"/>
|
||||
<constructor-arg>
|
||||
<list>
|
||||
<value>htSigW</value>
|
||||
<value>wdSigW</value>
|
||||
<value>wsSigW</value>
|
||||
</list>
|
||||
|
|
|
@ -33,12 +33,13 @@
|
|||
# cleaning it up. The path to the finalized python is /tmp/a2gtraobNNNNN.py
|
||||
# where NNNNN is a unix process id.
|
||||
#
|
||||
#
|
||||
#
|
||||
# SOFTWARE HISTORY
|
||||
#
|
||||
#
|
||||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# Oct 10, 2014 3595 nabowle Initial modification. Fix sed call.
|
||||
# Oct 10, 2014 3595 nabowle Handle DAF version.
|
||||
#
|
||||
set rmpy = yes
|
||||
if ( "$1" == "p" ) then
|
||||
|
@ -74,12 +75,22 @@ if ( $?FXA_HOME ) then
|
|||
set stubpy = $FXA_HOME/bin/${stubbase}
|
||||
endif
|
||||
endif
|
||||
|
||||
set staInf = $PWD/wmoToNameRaob.txt
|
||||
if ( $?FXA_HOME ) then
|
||||
if ( -e $FXA_HOME/data/wmoToNameRaob.txt ) \
|
||||
set staInf = $FXA_HOME/data/wmoToNameRaob.txt
|
||||
endif
|
||||
|
||||
#
|
||||
# Determine if we are using the data access framework or the uEngine.
|
||||
#
|
||||
grep DataAccessLayer $stubpy >& /dev/null
|
||||
if ( $status == 0 ) then
|
||||
set method = "daf"
|
||||
# Replace first field with station names substitutions in wmoToNameRaob.txt or
|
||||
# with what's stored in the database. They are similar but do not match 100%.
|
||||
/awips2/python/bin/python $stubpy -b "$1 $2" -e "$3 $4" | sed -f $staInf
|
||||
# /awips2/python/bin/python $stubpy -b "$1 $2" -e "$3 $4" --use-station-name
|
||||
else
|
||||
#
|
||||
# Set up the environment we need to run the UEngine.
|
||||
|
@ -98,24 +109,17 @@ else
|
|||
exit
|
||||
endif
|
||||
source $ueenv
|
||||
endif
|
||||
#
|
||||
set staInf = $PWD/wmoToNameRaob.txt
|
||||
if ( $?FXA_HOME ) then
|
||||
if ( -e $FXA_HOME/data/wmoToNameRaob.txt ) \
|
||||
set staInf = $FXA_HOME/data/wmoToNameRaob.txt
|
||||
endif
|
||||
set specpy = /tmp/a2gtraob${$}.py
|
||||
rm -rf $specpy >& /dev/null
|
||||
touch $specpy
|
||||
chmod 775 $specpy
|
||||
cat $stubpy | sed "s/BBBBB/$1 $2/g" | sed "s/EEEEE/$3 $4/g" > $specpy
|
||||
if ( "$method" == "daf" ) then
|
||||
/awips2/python/bin/python $specpy
|
||||
else
|
||||
|
||||
set specpy = /tmp/a2gtraob${$}.py
|
||||
rm -rf $specpy >& /dev/null
|
||||
touch $specpy
|
||||
chmod 775 $specpy
|
||||
cat $stubpy | sed "s/BBBBB/$1 $2/g" | sed "s/EEEEE/$3 $4/g" > $specpy
|
||||
|
||||
cd $UE_BIN_PATH
|
||||
( uengine -r python < $specpy ) | grep -v '<' | sed -n '2,$p' | \
|
||||
sed -f $staInf
|
||||
|
||||
if ( "$rmpy" == "yes" ) rm -rf $specpy >& /dev/null
|
||||
endif
|
||||
if ( "$rmpy" == "yes" ) rm -rf $specpy >& /dev/null
|
||||
#
|
||||
|
||||
|
|
|
@ -20,269 +20,319 @@
|
|||
|
||||
# Gets all available raob data in the A-II database over a specified range of
|
||||
# times. The data is output to stdout as ASCII.
|
||||
#
|
||||
#
|
||||
# SOFTWARE HISTORY
|
||||
#
|
||||
#
|
||||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# Oct 10, 2014 3595 nabowle Initial modification. Fix Man and SigW indices.
|
||||
# Oct 10, 2014 3595 nabowle Replace UEngine with DAF.
|
||||
#
|
||||
#
|
||||
# pointDataQuery.stationName_lat_lon.py
|
||||
from com.raytheon.uf.common.message.response import ResponseMessageGeneric
|
||||
import PointDataQuery
|
||||
|
||||
# 1.
|
||||
pdq = PointDataQuery.PointDataQuery("bufrua")
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
# 3. the stuff we want returned to us in PointDataContainer
|
||||
reqPar = "wmoStaNum,validTime,rptType"
|
||||
reqPar += ",latitude,longitude,staElev"
|
||||
reqPar += ",numMand,prMan,htMan,tpMan,tdMan,wsMan,wdMan"
|
||||
reqPar += ",numSigT,prSigT,tpSigT,tdSigT"
|
||||
reqPar += ",numSigW,htSigW,wsSigW,wdSigW"
|
||||
reqPar += ",numTrop,prTrop,tpTrop,tdTrop,wsTrop,wdTrop"
|
||||
reqPar += ",numMwnd,prMaxW,wsMaxW,wdMaxW"
|
||||
pdq.setRequestedParameters(reqPar)
|
||||
from datetime import datetime
|
||||
from ufpy.dataaccess import DataAccessLayer
|
||||
from dynamicserialize.dstypes.com.raytheon.uf.common.time import TimeRange
|
||||
|
||||
# 2. some constraints
|
||||
pdq.addConstraint("dataTime","BBBBB:00.0",">=")
|
||||
pdq.addConstraint("dataTime","EEEEE:00.0","<=")
|
||||
def get_args():
|
||||
parser = argparse.ArgumentParser(conflict_handler="resolve")
|
||||
parser.add_argument("-h", action="store", dest="host",
|
||||
help="EDEX server hostname (optional)",
|
||||
metavar="hostname")
|
||||
parser.add_argument("-b", action="store", dest="start",
|
||||
help="The start of the time range in YYYY-MM-DD HH:MM",
|
||||
metavar="start")
|
||||
parser.add_argument("-e", action="store", dest="end",
|
||||
help="The end of the time range in YYYY-MM-DD HH:MM",
|
||||
metavar="end")
|
||||
parser.add_argument("--use-station-name", action='store_true', default=False,
|
||||
dest="stationname", help="Output the station name instead of station id for the first output field.")
|
||||
return parser.parse_args()
|
||||
|
||||
# 5.1 execute() returns a ResponseMessageGeneric
|
||||
pdq.requestAllLevels()
|
||||
rmg = pdq.execute()
|
||||
def main():
|
||||
# The multi-dimensional parameters.
|
||||
MAN_PARAMS = set(['prMan', 'htMan', 'tpMan', 'tdMan', 'wdMan', 'wsMan'])
|
||||
TROP_PARAMS = set(['prTrop', 'tpTrop', 'tdTrop', 'wdTrop', 'wsTrop'])
|
||||
MAXW_PARAMS = set(['prMaxW', 'wdMaxW', 'wsMaxW'])
|
||||
SIGT_PARAMS = set(['prSigT', 'tpSigT', 'tdSigT'])
|
||||
SIGW_PARAMS = set(['htSigW', 'wdSigW', 'wsSigW'])
|
||||
|
||||
# 5.1, cont'd. RMG's payload is a PointDataContainer
|
||||
pdc = rmg.getContents()
|
||||
# return ResponseMessageGeneric(pdc)
|
||||
user_args = get_args()
|
||||
|
||||
# Get the data for each requested parameter.
|
||||
ista = pdc.getPointDataTypes().get("wmoStaNum").getIntData()
|
||||
tobs = pdc.getPointDataTypes().get("validTime").getLongData()
|
||||
rtyp = pdc.getPointDataTypes().get("rptType").getIntData()
|
||||
lat = pdc.getPointDataTypes().get("latitude").getFloatData()
|
||||
lon = pdc.getPointDataTypes().get("longitude").getFloatData()
|
||||
elev = pdc.getPointDataTypes().get("staElev").getFloatData()
|
||||
nman = pdc.getPointDataTypes().get("numMand").getIntData()
|
||||
pman = pdc.getPointDataTypes().get("prMan").getFloatData()
|
||||
zman = pdc.getPointDataTypes().get("htMan").getFloatData()
|
||||
tman = pdc.getPointDataTypes().get("tpMan").getFloatData()
|
||||
tdman = pdc.getPointDataTypes().get("tdMan").getFloatData()
|
||||
ffman = pdc.getPointDataTypes().get("wsMan").getFloatData()
|
||||
ddman = pdc.getPointDataTypes().get("wdMan").getFloatData()
|
||||
nsigt = pdc.getPointDataTypes().get("numSigT").getIntData()
|
||||
psigt = pdc.getPointDataTypes().get("prSigT").getFloatData()
|
||||
tsigt = pdc.getPointDataTypes().get("tpSigT").getFloatData()
|
||||
tdsigt = pdc.getPointDataTypes().get("tdSigT").getFloatData()
|
||||
nsigw = pdc.getPointDataTypes().get("numSigW").getIntData()
|
||||
zsigw = pdc.getPointDataTypes().get("htSigW").getFloatData()
|
||||
ffsigw = pdc.getPointDataTypes().get("wsSigW").getFloatData()
|
||||
ddsigw = pdc.getPointDataTypes().get("wdSigW").getFloatData()
|
||||
ntrop = pdc.getPointDataTypes().get("numTrop").getIntData()
|
||||
ptrop = pdc.getPointDataTypes().get("prTrop").getFloatData()
|
||||
ttrop = pdc.getPointDataTypes().get("tpTrop").getFloatData()
|
||||
tdtrop = pdc.getPointDataTypes().get("tdTrop").getFloatData()
|
||||
fftrop = pdc.getPointDataTypes().get("wsTrop").getFloatData()
|
||||
ddtrop = pdc.getPointDataTypes().get("wdTrop").getFloatData()
|
||||
nmxw = pdc.getPointDataTypes().get("numMwnd").getIntData()
|
||||
pmxw = pdc.getPointDataTypes().get("prMaxW").getFloatData()
|
||||
ffmxw = pdc.getPointDataTypes().get("wsMaxW").getFloatData()
|
||||
ddmxw = pdc.getPointDataTypes().get("wdMaxW").getFloatData()
|
||||
if user_args.host:
|
||||
DataAccessLayer.changeEDEXHost(user_args.host)
|
||||
|
||||
# 5.2 and 5.3
|
||||
if len(tobs) == 0 :
|
||||
msg = "couldn't get data"
|
||||
return ResponseMessageGeneric(msg)
|
||||
start = user_args.start
|
||||
end = user_args.end
|
||||
|
||||
# D-2D format files expect depression
|
||||
i = len(tman)-1
|
||||
while i>=0 :
|
||||
if tdman[i]>150 and tdman[i]<=tman[i] :
|
||||
tdman[i] = tman[i]-tdman[i]
|
||||
else :
|
||||
tdman[i] = -9999.0
|
||||
i -= 1
|
||||
i = len(tsigt)-1
|
||||
while i>=0 :
|
||||
if tdsigt[i]>150 and tdsigt[i]<=tsigt[i] :
|
||||
tdsigt[i] = tsigt[i]-tdsigt[i]
|
||||
else :
|
||||
tdsigt[i] = -9999.0
|
||||
i -= 1
|
||||
i = len(ttrop)-1
|
||||
while i>=0 :
|
||||
if tdtrop[i]>150 and tdtrop[i]<=ttrop[i] :
|
||||
tdtrop[i] = ttrop[i]-tdtrop[i]
|
||||
else :
|
||||
tdtrop[i] = -9999.0
|
||||
i -= 1
|
||||
if not start or not end:
|
||||
print >> sys.stderr, "Start or End date not provided"
|
||||
return
|
||||
|
||||
msg = "\n"
|
||||
i = iMan = iSigT = iSigW = iTrop = iMxW = 0
|
||||
while i < len(tobs) :
|
||||
if nman[i]<0 : nman[i] = 0
|
||||
if nsigt[i]<0 : nsigt[i] = 0
|
||||
if nsigw[i]<0 : nsigw[i] = 0
|
||||
if ntrop[i]<0 : ntrop[i] = 0
|
||||
if nmxw[i]<0 : nmxw[i] = 0
|
||||
if nman[i]==0 and nsigt[i]==0 and nsigw[i]==0 or rtyp[i]>2022:
|
||||
iMan += 25
|
||||
iSigT += 120
|
||||
iSigW += 80
|
||||
iTrop += 5
|
||||
iMxW += 5
|
||||
i += 1
|
||||
continue
|
||||
beginRange = datetime.strptime( start + ":00.0", "%Y-%m-%d %H:%M:%S.%f")
|
||||
endRange = datetime.strptime( end + ":59.9", "%Y-%m-%d %H:%M:%S.%f")
|
||||
timerange = TimeRange(beginRange, endRange)
|
||||
|
||||
msg += str(ista[i]) + ","
|
||||
msg += str(tobs[i]/1000) + ","
|
||||
msg += "%.4f"%lat[i] + ","
|
||||
msg += "%.4f"%lon[i] + ","
|
||||
msg += "%.0f"%elev[i] + ","
|
||||
msg += str(ista[i]) + ","
|
||||
req = DataAccessLayer.newDataRequest("bufrua")
|
||||
req.setParameters("wmoStaNum", "validTime", "rptType", "staElev", "numMand",
|
||||
"numSigT", "numSigW", "numTrop", "numMwnd", "staName")
|
||||
req.getParameters().extend(MAN_PARAMS)
|
||||
req.getParameters().extend(TROP_PARAMS)
|
||||
req.getParameters().extend(MAXW_PARAMS)
|
||||
req.getParameters().extend(SIGT_PARAMS)
|
||||
req.getParameters().extend(SIGW_PARAMS)
|
||||
|
||||
msg += str(nman[i]) + ","
|
||||
kk = iMan + nman[i]
|
||||
if nman[i]>0 : msg += "%.1f"%pman[iMan]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%pman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nman[i]>0 : msg += "%.1f"%elev[i]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%zman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nman[i]>0 : msg += "%.1f"%tman[iMan]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nman[i]>0 : msg += "%.1f"%tdman[iMan]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nman[i]>0 : msg += "%.1f"%ffman[iMan]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ffman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nman[i]>0 : msg += "%.1f"%ddman[iMan]
|
||||
k = iMan + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ddman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
iMan += 25
|
||||
geometries = DataAccessLayer.getGeometryData(req, timerange)
|
||||
|
||||
msg += str(nsigt[i]) + ","
|
||||
kk = iSigT + nsigt[i]
|
||||
if nsigt[i]>0 : msg += "%.1f"%psigt[iSigT]
|
||||
k = iSigT + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%psigt[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nsigt[i]>0 : msg += "%.1f"%tsigt[iSigT]
|
||||
k = iSigT + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tsigt[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nsigt[i]>0 : msg += "%.1f"%tdsigt[iSigT]
|
||||
k = iSigT + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdsigt[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
iSigT += 120
|
||||
if not geometries :
|
||||
# print "couldn't get data"
|
||||
return
|
||||
|
||||
msg += str(nsigw[i]) + ","
|
||||
kk = iSigW + nsigw[i]
|
||||
if nsigw[i]>0 : msg += "%.1f"%zsigw[iSigW]
|
||||
k = iSigW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%zsigw[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nsigw[i]>0 : msg += "%.1f"%ffsigw[iSigW]
|
||||
k = iSigW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ffsigw[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nsigw[i]>0 : msg += "%.1f"%ddsigw[iSigW]
|
||||
k = iSigW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ddsigw[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
iSigW += 80
|
||||
|
||||
msg += str(ntrop[i]) + ","
|
||||
kk = iTrop + ntrop[i]
|
||||
if ntrop[i]>0 : msg += "%.1f"%ptrop[iTrop]
|
||||
k = iTrop + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ptrop[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if ntrop[i]>0 : msg += "%.1f"%ttrop[iTrop]
|
||||
k = iTrop + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ttrop[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if ntrop[i]>0 : msg += "%.1f"%tdtrop[iTrop]
|
||||
k = iTrop + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdtrop[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if ntrop[i]>0 : msg += "%.1f"%fftrop[iTrop]
|
||||
k = iTrop + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%fftrop[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if ntrop[i]>0 : msg += "%.1f"%ddtrop[iTrop]
|
||||
k = iTrop + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ddtrop[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
iTrop += 5
|
||||
manGeos = []
|
||||
tropGeos = []
|
||||
maxwGeos = []
|
||||
sigtGeos = []
|
||||
sigwGeos = []
|
||||
# D-2D format files expect depression
|
||||
tdman = []
|
||||
tdsigt = []
|
||||
tdtrop = []
|
||||
msg = ""
|
||||
for geoData in geometries :
|
||||
if set(geoData.getParameters()) & MAN_PARAMS :
|
||||
manGeos.append(geoData)
|
||||
td = geoData.getNumber("tdMan")
|
||||
tp = geoData.getNumber("tpMan")
|
||||
if td >150 and td<=tp :
|
||||
tdman.append(tp-td)
|
||||
else :
|
||||
tdman.append(-9999.0)
|
||||
continue
|
||||
if set(geoData.getParameters()) & TROP_PARAMS :
|
||||
tropGeos.append(geoData)
|
||||
td = geoData.getNumber("tdTrop")
|
||||
tp = geoData.getNumber("tpTrop")
|
||||
if td>150 and td<=tp :
|
||||
tdtrop.append(tp-td)
|
||||
else :
|
||||
tdtrop.append(-9999.0)
|
||||
continue
|
||||
if set(geoData.getParameters()) & MAXW_PARAMS :
|
||||
maxwGeos.append(geoData)
|
||||
continue
|
||||
if set(geoData.getParameters()) & SIGT_PARAMS :
|
||||
sigtGeos.append(geoData)
|
||||
td = geoData.getNumber("tdSigT")
|
||||
tp = geoData.getNumber("tpSigT")
|
||||
if td>150 and td<=tp :
|
||||
tdsigt.append(tp-td)
|
||||
else :
|
||||
tdsigt.append(-9999.0)
|
||||
continue
|
||||
if set(geoData.getParameters()) & SIGW_PARAMS :
|
||||
sigwGeos.append(geoData)
|
||||
continue
|
||||
|
||||
msg += str(nmxw[i]) + ","
|
||||
kk = iMxW + nmxw[i]
|
||||
if nmxw[i]>0 : msg += "%.1f"%pmxw[iMxW]
|
||||
k = iMxW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%pmxw[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nmxw[i]>0 : msg += "%.1f"%ffmxw[iMxW]
|
||||
k = iMxW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ffmxw[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
if nmxw[i]>0 : msg += "%.1f"%ddmxw[iMxW]
|
||||
k = iMxW + 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%ddmxw[k];
|
||||
k += 1
|
||||
msg += "\n"
|
||||
iMxW += 5
|
||||
if len(manGeos) == 0 and len(sigtGeos) == 0 and len(sigwGeos) == 0 or geoData.getNumber("rptType") > 2022 :
|
||||
manGeos = []
|
||||
tropGeos = []
|
||||
maxwGeos = []
|
||||
sigtGeos = []
|
||||
sigwGeos = []
|
||||
tdman = []
|
||||
tdsigt = []
|
||||
tdtrop = []
|
||||
continue
|
||||
|
||||
i += 1
|
||||
if user_args.stationname and geoData.getString("staName") :
|
||||
msg += geoData.getString("staName") + ","
|
||||
else :
|
||||
msg += geoData.getString("wmoStaNum") + ","
|
||||
msg += str(geoData.getNumber("validTime")/1000) + ","
|
||||
msg += "%.4f"%geoData.getGeometry().y + ","
|
||||
msg += "%.4f"%geoData.getGeometry().x + ","
|
||||
msg += "%.0f"%geoData.getNumber("staElev") + ","
|
||||
msg += geoData.getString("wmoStaNum") + ","
|
||||
|
||||
return ResponseMessageGeneric(msg)
|
||||
kk = len(manGeos)
|
||||
msg += str(kk) + ","
|
||||
if kk>0 :
|
||||
msg += "%.1f"%manGeos[0].getNumber("prMan")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%manGeos[k].getNumber("prMan")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%geoData.getNumber("staElev")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%manGeos[k].getNumber("htMan")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%manGeos[0].getNumber("tpMan")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%manGeos[k].getNumber("tpMan")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tdman[0]
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdman[k];
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%manGeos[0].getNumber("wsMan")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%manGeos[k].getNumber("wsMan")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%manGeos[0].getNumber("wdMan")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%manGeos[k].getNumber("wdMan")
|
||||
k += 1
|
||||
msg += ","
|
||||
else :
|
||||
msg += ",,,,,,"
|
||||
|
||||
kk = len(sigtGeos)
|
||||
msg += str(kk) + ","
|
||||
if kk>0 :
|
||||
msg += "%.1f"%sigtGeos[0].getNumber("prSigT")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%sigtGeos[k].getNumber("prSigT")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%sigtGeos[0].getNumber("tpSigT")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%sigtGeos[k].getNumber("tpSigT")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tdsigt[0]
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdsigt[k]
|
||||
k += 1
|
||||
msg += ","
|
||||
else :
|
||||
msg += ",,,"
|
||||
|
||||
kk = len(sigwGeos)
|
||||
msg += str(kk) + ","
|
||||
if kk>0 :
|
||||
msg += "%.1f"%sigwGeos[0].getNumber("htSigW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%sigwGeos[k].getNumber("htSigW")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%sigwGeos[0].getNumber("wsSigW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%sigwGeos[k].getNumber("wsSigW")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%sigwGeos[0].getNumber("wdSigW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%sigwGeos[k].getNumber("wdSigW")
|
||||
k += 1
|
||||
msg += ","
|
||||
else :
|
||||
msg += ",,,"
|
||||
|
||||
kk = len(tropGeos)
|
||||
msg += str(kk) + ","
|
||||
if kk>0 :
|
||||
msg += "%.1f"%tropGeos[0].getNumber("prTrop")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tropGeos[k].getNumber("prTrop")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tropGeos[0].getNumber("tpTrop")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tropGeos[k].getNumber("tpTrop")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tdtrop[0]
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tdtrop[k]
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tropGeos[0].getNumber("wsTrop")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tropGeos[k].getNumber("wsTrop")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%tropGeos[0].getNumber("wdTrop")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%tropGeos[k].getNumber("wdTrop")
|
||||
k += 1
|
||||
msg += ","
|
||||
else :
|
||||
msg += ",,,,,"
|
||||
|
||||
kk = len(maxwGeos)
|
||||
msg += str(kk) + ","
|
||||
if kk>0 :
|
||||
msg += "%.1f"%maxwGeos[0].getNumber("prMaxW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%maxwGeos[k].getNumber("prMaxW")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%maxwGeos[0].getNumber("wsMaxW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%maxwGeos[k].getNumber("wsMaxW")
|
||||
k += 1
|
||||
msg += ","
|
||||
|
||||
msg += "%.1f"%maxwGeos[0].getNumber("wdMaxW")
|
||||
k = 1
|
||||
while k < kk :
|
||||
msg += "|" + "%.1f"%maxwGeos[k].getNumber("wdMaxW")
|
||||
k += 1
|
||||
else :
|
||||
msg += ",,"
|
||||
msg += "\n"
|
||||
|
||||
manGeos = []
|
||||
tropGeos = []
|
||||
maxwGeos = []
|
||||
sigtGeos = []
|
||||
sigwGeos = []
|
||||
tdman = []
|
||||
tdsigt = []
|
||||
tdtrop = []
|
||||
|
||||
print msg.strip()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
Loading…
Add table
Reference in a new issue