##// END OF EJS Templates
AMISR wind estimation script updated
Julio Valdez -
r507:5d24178b6c75
parent child
Show More
@@ -1,146 +1,147
1 1 import os, sys
2 2
3 3 path = os.path.split(os.getcwd())[0]
4 4 sys.path.append(path)
5 5
6 6 from controller import *
7 7
8 8 desc = "AMISR Experiment"
9 9
10 10 filename = "amisr_reader.xml"
11 11
12 12 controllerObj = Project()
13 13
14 14 controllerObj.setup(id = '191', name='test01', description=desc)
15 15
16 16
17 17 path = os.path.join(os.environ['HOME'],'Development/amisr/data')
18 18 path = '/home/soporte/Data/AMISR'
19 19 figpath = os.path.join(os.environ['HOME'],'Pictures/amisr')
20 20
21 pathFigure = '/home/soporte/workspace/Graficos/DBS/amisr/'
22 xmin = '16.0'
23 xmax = '17.0'
21 pathFigure = '/home/operaciones/Documents/AMISR_windprofiler/20141023'
22 xmin = '8.0'
23 xmax = '12.0'
24 24
25 25 readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader',
26 26 path=path,
27 startDate='2014/10/21',
28 endDate='2014/10/21',
27 startDate='2014/10/23',
28 endDate='2014/10/23',
29 29 startTime='00:00:00',
30 30 endTime='23:59:59',
31 31 walk=1,
32 32 timezone='lt')
33 33
34 34 #AMISR Processing Unit
35 35 procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId())
36 36
37 37 opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other')
38 38
39 39 #Reshaper
40 40 opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other')
41 41
42 42
43 43 #Beam Selector
44 44 #opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other')
45 45 #opObj11.addParameter(name='beam', value='0', format='int')
46 46
47 47 #Voltage Processing Unit
48 48 procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId())
49 49 opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency')
50 50 opObj10.addParameter(name='frequency', value='445e6', format='float')
51 51
52 52 opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights')
53 53 opObj12.addParameter(name='minHei', value='0', format='float')
54 54 opObj12.addParameter(name='maxHei', value='10', format='float')
55 55 #Coherent Integration
56 56 opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other')
57 57 opObj11.addParameter(name='n', value='8', format='int')
58 58 #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints
59 59 procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId())
60 60 procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int')
61 61 procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=32, format='int')
62 62
63 63 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other')
64 64 opObj11.addParameter(name='n', value='16', format='int')
65 65
66 66 #RemoveDc
67 67 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC')
68 68
69 69 #Noise Estimation
70 70 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise')
71 71 opObj11.addParameter(name='minHei', value='5', format='float')
72 72 opObj11.addParameter(name='maxHei', value='20', format='float')
73 73
74 74 #SpectraPlot
75 75 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other')
76 76 opObj11.addParameter(name='id', value='100', format='int')
77 77 opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
78 78 opObj11.addParameter(name='zmin', value='30', format='int')
79 79 opObj11.addParameter(name='zmax', value='80', format='int')
80 80 opObj11.addParameter(name='save', value='1', format='bool')
81 81 opObj11.addParameter(name='figpath', value = pathFigure, format='str')
82 82 #RTIPlot
83 83 #title0 = 'RTI AMISR Beam 0'
84 84 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other')
85 85 opObj11.addParameter(name='id', value='200', format='int')
86 86 # opObj11.addParameter(name='wintitle', value=title0, format='str')
87 87 opObj11.addParameter(name='showprofile', value='0', format='int')
88 #Setting RTI time using xmin,xmax
89 88 opObj11.addParameter(name='xmin', value=xmin, format='float')
90 89 opObj11.addParameter(name='xmax', value=xmax, format='float')
91 # Setting dB range with zmin, zmax
92 opObj11.addParameter(name='zmin', value='45', format='int')
93 opObj11.addParameter(name='zmax', value='70', format='int')
90 opObj11.addParameter(name='zmin', value='30', format='int')
91 opObj11.addParameter(name='zmax', value='80', format='int')
92 opObj23.addParameter(name='save', value='1', format='bool')
93 opObj23.addParameter(name='figpath', value = pathFigure, format='str')
94
94 95 # Save RTI
95 96 # figfile0 = 'amisr_rti_beam0.png'
96 97 # opObj11.addParameter(name='figpath', value=figpath, format='str')
97 98 # opObj11.addParameter(name='figfile', value=figfile0, format='str')
98 99
99 100 #-----------------------------------------------------------------------------------------------
100 101 procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0 .getId())
101 102 opObj20 = procUnitConfObj2.addOperation(name='GetMoments')
102 103
103 104 opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other')
104 105 opObj21.addParameter(name='id', value='3', format='int')
105 106 opObj21.addParameter(name='wintitle', value='Moments Plot', format='str')
106 107 opObj21.addParameter(name='save', value='1', format='bool')
107 108 opObj21.addParameter(name='figpath', value=pathFigure, format='str')
108 109 opObj21.addParameter(name='zmin', value='30', format='int')
109 110 opObj21.addParameter(name='zmax', value='80', format='int')
110 111
111 112 opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other')
112 113 opObj22.addParameter(name='technique', value='DBS', format='str')
113 114 opObj22.addParameter(name='correctAzimuth', value='51.06', format='float')
114 115 opObj22.addParameter(name='correctFactor', value='-1', format='float')
115 opObj22.addParameter(name='azimuth', value='0,180,90,0,-90', format='floatlist')
116 opObj22.addParameter(name='elevation', value='74.53,75.60,75.60,90.0,75.60', format='floatlist')
116 opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist')
117 opObj22.addParameter(name='elevation', value='74.53,75.90.0,75.60,75.60', format='floatlist')
117 118 # opObj22.addParameter(name='horizontalOnly', value='1', format='bool')
118 119 # opObj22.addParameter(name='channelList', value='1,2', format='intlist')
119 120
120 121 opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other')
121 122 opObj23.addParameter(name='id', value='4', format='int')
122 123 opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str')
123 124 opObj23.addParameter(name='save', value='1', format='bool')
124 125 opObj23.addParameter(name='figpath', value = pathFigure, format='str')
125 126 opObj23.addParameter(name='zmin', value='-20', format='int')
126 127 opObj23.addParameter(name='zmax', value='20', format='int')
127 128 opObj23.addParameter(name='zmin_ver', value='-100', format='float')
128 129 opObj23.addParameter(name='zmax_ver', value='100', format='float')
129 opObj23.addParameter(name='SNRmin', value='-10', format='int')
130 opObj23.addParameter(name='SNRmax', value='60', format='int')
131 opObj23.addParameter(name='SNRthresh', value='0', format='float')
130 opObj23.addParameter(name='SNRmin', value='-20', format='int')
131 opObj23.addParameter(name='SNRmax', value='30', format='int')
132 opObj23.addParameter(name='SNRthresh', value='-50', format='float')
132 133 opObj23.addParameter(name='xmin', value=xmin, format='float')
133 134 opObj23.addParameter(name='xmax', value=xmax, format='float')
134 135
135 136 print "Escribiendo el archivo XML"
136 137 controllerObj.writeXml(filename)
137 138 print "Leyendo el archivo XML"
138 139 controllerObj.readXml(filename)
139 140
140 141 controllerObj.createObjects()
141 142 controllerObj.connectObjects()
142 143 controllerObj.run()
143 144
144 145 #21 3 pm
145 146
146 147
General Comments 0
You need to be logged in to leave comments. Login now