@@ -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 = ' |
|
|
23 |
xmax = '1 |
|
|
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/2 |
|
|
28 |
endDate='2014/10/2 |
|
|
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='zm |
|
|
93 |
opObj |
|
|
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, |
|
|
116 |
opObj22.addParameter(name='elevation', value='74.53,75. |
|
|
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='- |
|
|
130 |
opObj23.addParameter(name='SNRmax', value=' |
|
|
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