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