##// END OF EJS Templates
cambios xmax xmin
José Chávez -
r1004:3c7daf19daec merge
parent child
Show More
@@ -10,6 +10,7 import traceback
10 import math
10 import math
11 import time
11 import time
12 from multiprocessing import Process, Queue, cpu_count
12 from multiprocessing import Process, Queue, cpu_count
13 from profilehooks import profile, coverage
13
14
14 import schainpy
15 import schainpy
15 import schainpy.admin
16 import schainpy.admin
@@ -20,6 +21,8 from xml.dom import minidom
20 from schainpy.model import *
21 from schainpy.model import *
21 from time import sleep
22 from time import sleep
22
23
24
25
23 def prettify(elem):
26 def prettify(elem):
24 """Return a pretty-printed XML string for the Element.
27 """Return a pretty-printed XML string for the Element.
25 """
28 """
@@ -258,7 +261,7 class ParameterConf():
258
261
259 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
262 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
260
263
261 class OperationConf():
264 class OperationConf():
262
265
263 id = None
266 id = None
264 name = None
267 name = None
@@ -327,8 +330,8 class OperationConf():
327
330
328 parameterObj = self.getParameterObj(parameterName)
331 parameterObj = self.getParameterObj(parameterName)
329
332
330 # if not parameterObj:
333 # if not parameterObj:
331 # return None
334 # return None
332
335
333 value = parameterObj.getValue()
336 value = parameterObj.getValue()
334
337
@@ -687,6 +690,7 class ProcUnitConf():
687
690
688 return procUnitObj
691 return procUnitObj
689
692
693 ## @profile
690 def run(self):
694 def run(self):
691
695
692 is_ok = False
696 is_ok = False
@@ -708,10 +712,10 class ProcUnitConf():
708 opId = opConfObj.id,
712 opId = opConfObj.id,
709 )
713 )
710
714
711 # total_time = time.time() - ini
715 # total_time = time.time() - ini
712 #
716 #
713 # if total_time > 0.002:
717 # if total_time > 0.002:
714 # print "%s::%s took %f seconds" %(self.name, opConfObj.name, total_time)
718 # print "%s::%s took %f seconds" %(self.name, opConfObj.name, total_time)
715
719
716 is_ok = is_ok or sts
720 is_ok = is_ok or sts
717
721
@@ -859,16 +863,16 class ReadUnitConf(ProcUnitConf):
859
863
860 return opObj
864 return opObj
861
865
862 # def makeXml(self, projectElement):
866 # def makeXml(self, projectElement):
863 #
867 #
864 # procUnitElement = SubElement(projectElement, self.ELEMENTNAME)
868 # procUnitElement = SubElement(projectElement, self.ELEMENTNAME)
865 # procUnitElement.set('id', str(self.id))
869 # procUnitElement.set('id', str(self.id))
866 # procUnitElement.set('name', self.name)
870 # procUnitElement.set('name', self.name)
867 # procUnitElement.set('datatype', self.datatype)
871 # procUnitElement.set('datatype', self.datatype)
868 # procUnitElement.set('inputId', str(self.inputId))
872 # procUnitElement.set('inputId', str(self.inputId))
869 #
873 #
870 # for opConfObj in self.opConfObjList:
874 # for opConfObj in self.opConfObjList:
871 # opConfObj.makeXml(procUnitElement)
875 # opConfObj.makeXml(procUnitElement)
872
876
873 def readXml(self, upElement):
877 def readXml(self, upElement):
874
878
@@ -1264,6 +1268,7 class Project():
1264
1268
1265 raise NotImplementedError, "Use schainpy.controller_api.ControllerThread instead Project class"
1269 raise NotImplementedError, "Use schainpy.controller_api.ControllerThread instead Project class"
1266
1270
1271
1267 def run(self):
1272 def run(self):
1268
1273
1269 print
1274 print
@@ -8,5 +8,5
8 from data import *
8 from data import *
9 from io import *
9 from io import *
10 from proc import *
10 from proc import *
11 from graphics import *
11 #from graphics import *
12 from utils import *
12 from utils import *
@@ -17,6 +17,8 from schainpy.model.proc.jroproc_base import Operation
17 plt.ion()
17 plt.ion()
18
18
19 func = lambda x, pos: ('%s') %(datetime.datetime.fromtimestamp(x).strftime('%H:%M'))
19 func = lambda x, pos: ('%s') %(datetime.datetime.fromtimestamp(x).strftime('%H:%M'))
20 fromtimestamp = lambda x, mintime : (datetime.datetime.utcfromtimestamp(mintime).replace(hour=(x + 5), minute=0) - d1970).total_seconds()
21
20
22
21 d1970 = datetime.datetime(1970,1,1)
23 d1970 = datetime.datetime(1970,1,1)
22
24
@@ -54,7 +56,7 class PlotData(Operation, Process):
54 self.xrange = kwargs.get('xrange', 24)
56 self.xrange = kwargs.get('xrange', 24)
55 self.ymin = kwargs.get('ymin', None)
57 self.ymin = kwargs.get('ymin', None)
56 self.ymax = kwargs.get('ymax', None)
58 self.ymax = kwargs.get('ymax', None)
57 self.__MAXNUMY = kwargs.get('decimation', 80)
59 self.__MAXNUMY = kwargs.get('decimation', 5000)
58 self.throttle_value = 5
60 self.throttle_value = 5
59 self.times = []
61 self.times = []
60 #self.interactive = self.kwargs['parent']
62 #self.interactive = self.kwargs['parent']
@@ -493,8 +495,14 class PlotRTIData(PlotData):
493 self.z = np.array(self.z)
495 self.z = np.array(self.z)
494 for n, ax in enumerate(self.axes):
496 for n, ax in enumerate(self.axes):
495 x, y, z = self.fill_gaps(*self.decimate())
497 x, y, z = self.fill_gaps(*self.decimate())
496 xmin = self.min_time
498 if self.xmin is None:
497 xmax = xmin+self.xrange*60*60
499 xmin = self.min_time
500 else:
501 xmin = fromtimestamp(int(self.xmin), self.min_time)
502 if self.xmax is None:
503 xmax = xmin + self.xrange*60*60
504 else:
505 xmax = xmin + (self.xmax - self.xmin) * 60 * 60
498 self.zmin = self.zmin if self.zmin else np.min(self.z)
506 self.zmin = self.zmin if self.zmin else np.min(self.z)
499 self.zmax = self.zmax if self.zmax else np.max(self.z)
507 self.zmax = self.zmax if self.zmax else np.max(self.z)
500 if ax.firsttime:
508 if ax.firsttime:
@@ -999,8 +999,7 class JRODataReader(JRODataIO):
999 return 0
999 return 0
1000
1000
1001 # if self.online:
1001 # if self.online:
1002 # self.__jumpToLastBlock()
1002 # self.__jumpToLastBlock()
1003 print 'xxxx'
1004
1003
1005 if self.flagIsNewFile:
1004 if self.flagIsNewFile:
1006 self.lastUTTime = self.basicHeaderObj.utc
1005 self.lastUTTime = self.basicHeaderObj.utc
@@ -1011,8 +1010,7 class JRODataReader(JRODataIO):
1011 if not(self.setNextFile()):
1010 if not(self.setNextFile()):
1012 return 0
1011 return 0
1013 else:
1012 else:
1014 return 1
1013 return 1
1015 print 'xxxx'
1016 #if self.server is None:
1014 #if self.server is None:
1017 currentSize = self.fileSize - self.fp.tell()
1015 currentSize = self.fileSize - self.fp.tell()
1018 neededSize = self.processingHeaderObj.blockSize + self.basicHeaderSize
1016 neededSize = self.processingHeaderObj.blockSize + self.basicHeaderSize
@@ -1044,12 +1042,11 class JRODataReader(JRODataIO):
1044 def readNextBlock(self):
1042 def readNextBlock(self):
1045
1043
1046 #Skip block out of startTime and endTime
1044 #Skip block out of startTime and endTime
1047 while True:
1045 while True:
1048 print 'cxxxx'
1049 if not(self.__setNewBlock()):
1046 if not(self.__setNewBlock()):
1050 print 'returning'
1047 print 'returning'
1051 return 0
1048 return 0
1052 print 'dxxx'
1049
1053 if not(self.readBlock()):
1050 if not(self.readBlock()):
1054 return 0
1051 return 0
1055
1052
@@ -217,7 +217,6 class VoltageReader(JRODataReader, ProcessingUnit):
217 Si un bloque leido no es un bloque valido
217 Si un bloque leido no es un bloque valido
218 """
218 """
219
219
220 print 'READ BLOCK'
221 # if self.server is not None:
220 # if self.server is not None:
222 # self.zBlock = self.receiver.recv()
221 # self.zBlock = self.receiver.recv()
223 # self.zHeader = self.zBlock[:24]
222 # self.zHeader = self.zBlock[:24]
@@ -232,7 +231,6 class VoltageReader(JRODataReader, ProcessingUnit):
232
231
233 try:
232 try:
234 junk = junk.reshape( (self.processingHeaderObj.profilesPerBlock, self.processingHeaderObj.nHeights, self.systemHeaderObj.nChannels) )
233 junk = junk.reshape( (self.processingHeaderObj.profilesPerBlock, self.processingHeaderObj.nHeights, self.systemHeaderObj.nChannels) )
235 print'junked'
236 except:
234 except:
237 #print "The read block (%3d) has not enough data" %self.nReadBlocks
235 #print "The read block (%3d) has not enough data" %self.nReadBlocks
238
236
@@ -1,12 +1,22
1 #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
2 #define NUM_CPY_THREADS 8
1 #include <Python.h>
3 #include <Python.h>
2 #include <numpy/arrayobject.h>
4 #include <numpy/arrayobject.h>
3 #include <math.h>
5 #include <math.h>
6 #include <complex.h>
7 #include <time.h>
4
8
9 // void printArr(int *array);
5 static PyObject *hildebrand_sekhon(PyObject *self, PyObject *args);
10 static PyObject *hildebrand_sekhon(PyObject *self, PyObject *args);
11 static PyObject *correlateByBlock(PyObject *self, PyObject *args);
12 #ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
13 #define PyMODINIT_FUNC void
14 #endif
6
15
7 static PyMethodDef extensionsMethods[] = {
16 static PyMethodDef extensionsMethods[] = {
8 { "hildebrand_sekhon", (PyCFunction)hildebrand_sekhon, METH_VARARGS, "get noise with" },
17 { "correlateByBlock", (PyCFunction)correlateByBlock, METH_VARARGS, "get correlation by block" },
9 { NULL, NULL, 0, NULL }
18 { "hildebrand_sekhon", (PyCFunction)hildebrand_sekhon, METH_VARARGS, "get noise with hildebrand_sekhon" },
19 { NULL, NULL, 0, NULL }
10 };
20 };
11
21
12 PyMODINIT_FUNC initcSchain() {
22 PyMODINIT_FUNC initcSchain() {
@@ -14,13 +24,83 PyMODINIT_FUNC initcSchain() {
14 import_array();
24 import_array();
15 }
25 }
16
26
27 static PyObject *correlateByBlock(PyObject *self, PyObject *args) {
28
29 // int *x = (int*) malloc(4000000 * 216 * sizeof(int));;
30 // int a = 5;
31 // x = &a;
32 // int b = 6;
33 // x = &b;
34 // printf("Antes de imprimir x \n");
35 // printf("%d \n", x[0]);
36
37 PyObject *data_obj1, *data_obj2;
38 PyArrayObject *data_array1, *data_array2, *correlateRow, *out, *dataRow, *codeRow; //, ,
39 int mode;
40
41 if (!PyArg_ParseTuple(args, "OOi", &data_obj1, &data_obj2, &mode)) return NULL;
42
43 data_array1 = (PyArrayObject *) PyArray_FROM_OTF(data_obj1, NPY_COMPLEX128, NPY_ARRAY_DEFAULT);
44 data_array2 = (PyArrayObject *) PyArray_FROM_OTF(data_obj2, NPY_FLOAT64, NPY_ARRAY_DEFAULT);
45
46 npy_intp dims[1];
47 dims[0] = 200;
48 npy_intp dims_code[1];
49 dims_code[0] = 16;
50
51 double complex * dataRaw;
52 double * codeRaw;
53 dataRaw = (double complex*) PyArray_DATA(data_array1);
54 codeRaw = (double *) PyArray_DATA(data_array2);
55 double complex ** outC = malloc(40000*200*sizeof(double complex));
56 int i;
57
58 clock_t start = clock();
59 for(i=0; i<40000; i++){
60 // codeRow = PyArray_SimpleNewFromData(1, dims_code, NPY_FLOAT64, codeRaw + 16 * i);
61 // dataRow = PyArray_SimpleNewFromData(1, dims, NPY_COMPLEX128, dataRaw + 200 * i);
62 // Py_INCREF(codeRow);
63 // Py_INCREF(dataRow);
64 // PyArray_ENABLEFLAGS(codeRow, NPY_ARRAY_OWNDATA);
65 // PyArray_ENABLEFLAGS(dataRow, NPY_ARRAY_OWNDATA);
66 correlateRow = (PyArrayObject *) PyArray_Correlate2(PyArray_SimpleNewFromData(1, dims_code, NPY_FLOAT64, codeRaw + 16 * i), PyArray_SimpleNewFromData(1, dims, NPY_COMPLEX128, dataRaw + 200 * i), (npy_intp) 2);
67 //Py_INCREF(correlateRow);
68 // PyArray_ENABLEFLAGS(correlateRow, NPY_ARRAY_OWNDATA);
69 memcpy(outC + 200*i, (double complex*) PyArray_DATA(correlateRow), 200 * sizeof(double complex));
70
71 Py_DECREF(correlateRow);
72 // Py_DECREF(codeRow);
73 // Py_DECREF(dataRow);
74 }
75 clock_t end = clock();
76 float seconds = (float)(end - start) / CLOCKS_PER_SEC;
77 printf("%f", seconds);
78 //
79 npy_intp dimsret[2];
80 dimsret[0] = 40000;
81 dimsret[1] = 200;
82 out = PyArray_SimpleNewFromData(2, dimsret, NPY_COMPLEX128, outC);
83 PyArray_ENABLEFLAGS(out, NPY_ARRAY_OWNDATA);
84 //Py_INCREF(out);
85 Py_DECREF(data_array1);
86 Py_DECREF(data_array2);
87 // PyArray_DebugPrint(out);
88 // Py_DECREF(data_obj2);
89 // Py_DECREF(data_obj1);
90 // Py_DECREF(codeRow);
91 // Py_DECREF(dataRow);
92 // free(dataRaw);
93 // free(codeRaw);
94
95 return PyArray_Return(out);
96 }
97
17 static PyObject *hildebrand_sekhon(PyObject *self, PyObject *args) {
98 static PyObject *hildebrand_sekhon(PyObject *self, PyObject *args) {
18 /* Do your stuff here. */
19 double navg;
99 double navg;
20 PyObject *data_obj, *data_array;
100 PyObject *data_obj, *data_array;
21
101
22 if (!PyArg_ParseTuple(args, "Od", &data_obj, &navg)) return NULL;
102 if (!PyArg_ParseTuple(args, "Od", &data_obj, &navg)) return NULL;
23 data_array = PyArray_FROM_OTF(data_obj, NPY_FLOAT64, NPY_IN_ARRAY);
103 data_array = PyArray_FROM_OTF(data_obj, NPY_FLOAT64, NPY_ARRAY_DEFAULT);
24 if (data_array == NULL) {
104 if (data_array == NULL) {
25 Py_XDECREF(data_array);
105 Py_XDECREF(data_array);
26 Py_XDECREF(data_obj);
106 Py_XDECREF(data_obj);
@@ -56,3 +136,4 static PyObject *hildebrand_sekhon(PyObject *self, PyObject *args) {
56
136
57 return Py_BuildValue("d", lnoise);
137 return Py_BuildValue("d", lnoise);
58 }
138 }
139
@@ -1,9 +1,11
1 import sys
1 import sys
2 import numpy
2 import numpy
3 from profilehooks import profile
3 from scipy import interpolate
4 from scipy import interpolate
4
5 from schainpy import cSchain
5 from jroproc_base import ProcessingUnit, Operation
6 from jroproc_base import ProcessingUnit, Operation
6 from schainpy.model.data.jrodata import Voltage
7 from schainpy.model.data.jrodata import Voltage
8 from time import time
7
9
8 class VoltageProc(ProcessingUnit):
10 class VoltageProc(ProcessingUnit):
9
11
@@ -555,7 +557,7 class Decoder(Operation):
555
557
556 self.times = None
558 self.times = None
557 self.osamp = None
559 self.osamp = None
558 # self.__setValues = False
560 # self.__setValues = False
559 self.isConfig = False
561 self.isConfig = False
560
562
561 def setup(self, code, osamp, dataOut):
563 def setup(self, code, osamp, dataOut):
@@ -624,21 +626,43 class Decoder(Operation):
624
626
625 return self.datadecTime
627 return self.datadecTime
626
628
629 #@profile
630 def oldCorrelate(self, i, data, code_block):
631 profilesList = xrange(self.__nProfiles)
632 for j in profilesList:
633 self.datadecTime[i,j,:] = numpy.correlate(data[i,j,:], code_block[j,:], mode='full')[self.nBaud-1:]
634
635 @profile
627 def __convolutionByBlockInTime(self, data):
636 def __convolutionByBlockInTime(self, data):
628
637
629 repetitions = self.__nProfiles / self.nCode
638 repetitions = self.__nProfiles / self.nCode
630
639
631 junk = numpy.lib.stride_tricks.as_strided(self.code, (repetitions, self.code.size), (0, self.code.itemsize))
640 junk = numpy.lib.stride_tricks.as_strided(self.code, (repetitions, self.code.size), (0, self.code.itemsize))
632 junk = junk.flatten()
641 junk = junk.flatten()
633 code_block = numpy.reshape(junk, (self.nCode*repetitions, self.nBaud))
642 code_block = numpy.reshape(junk, (self.nCode*repetitions, self.nBaud))
634
643
635 for i in range(self.__nChannels):
644
636 for j in range(self.__nProfiles):
645 # def toVectorize(a,b):
637 print self.datadecTime[i,j,:].shape
646 # return numpy.correlate(a,b, mode='full')
638 print numpy.correlate(data[i,j,:], code_block[j,:], mode='full')[self.nBaud-1:].shape
647 # vectorized = numpy.vectorize(toVectorize, signature='(n),(m)->(k)')
639 self.datadecTime[i,j,:] = numpy.correlate(data[i,j,:], code_block[j,:], mode='full')[self.nBaud-1:]
648 a = time()
640
649 for i in range(self.__nChannels):
650 # self.datadecTime[i,:,:] = numpy.array([numpy.correlate(data[i,j,:], code_block[j,:], mode='full')[self.nBaud-1:] for j in profilesList ])
651 # def func(i, j):
652 # self.datadecTime[i,j,:] = numpy.correlate(data[i,j,:], code_block[j,:], mode='full')[self.nBaud-1:]
653 # map(lambda j: func(i, j), range(self.__nProfiles))
654 #print data[i,:,:].shape
655 # self.datadecTime[i,:,:] = vectorized(data[i,:,:], code_block[:,:])[:,self.nBaud-1:]
656 self.oldCorrelate(i, data, code_block)
657 print self.datadecTime[i,:,:]
658 # print data[i,:,:]
659 # print cSchain.correlateByBlock(data[i,:,:], code_block, 2)
660 self.datadecTime[i,:,:] = cSchain.correlateByBlock(data[i,:,:], code_block, 2)
661 print self.datadecTime[i,:,:]
662 #print self.datadecTime[i,:,:].shape
663 print time() - a
641 return self.datadecTime
664 return self.datadecTime
665
642
666
643 def __convolutionByBlockInFreq(self, data):
667 def __convolutionByBlockInFreq(self, data):
644
668
@@ -655,6 +679,7 class Decoder(Operation):
655
679
656 return data
680 return data
657
681
682
658 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, osamp=None, times=None):
683 def run(self, dataOut, code=None, nCode=None, nBaud=None, mode = 0, osamp=None, times=None):
659
684
660 if dataOut.flagDecodeData:
685 if dataOut.flagDecodeData:
@@ -684,7 +709,9 class Decoder(Operation):
684 print "Fail decoding: Code is not defined."
709 print "Fail decoding: Code is not defined."
685 return
710 return
686
711
712 self.__nProfiles = dataOut.nProfiles
687 datadec = None
713 datadec = None
714
688 if mode == 3:
715 if mode == 3:
689 mode = 0
716 mode = 0
690
717
@@ -13,7 +13,7 controllerObj.setup(id = '002', name='script02', description="JASMET Meteor Dete
13 # path = '/mnt/jars/2016_08/NOCHE'
13 # path = '/mnt/jars/2016_08/NOCHE'
14 # path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/DIA'
14 # path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/DIA'
15 # path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/NOCHE'
15 # path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/NOCHE'
16 path = '/media/nanosat/NewVolumen/JASMET/2016_08/DIA'
16 path = '/home/nanosat/data/jasmet'
17
17
18 #Path para los graficos
18 #Path para los graficos
19 pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/graphics')
19 pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/graphics')
@@ -22,8 +22,8 pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/graphics')
22 pathfile = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/meteor')
22 pathfile = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/meteor')
23
23
24 #Fechas para busqueda de archivos
24 #Fechas para busqueda de archivos
25 startDate = '2016/08/29'
25 startDate = '2010/08/29'
26 endDate = '2016/09/11'
26 endDate = '2017/09/11'
27 #Horas para busqueda de archivos
27 #Horas para busqueda de archivos
28 startTime = '00:00:00'
28 startTime = '00:00:00'
29 endTime = '23:59:59'
29 endTime = '23:59:59'
@@ -1,1 +1,1
1 <Project description="JASMET Wind Estimation" id="005" name="script05"><ReadUnit datatype="ParamReader" id="51" inputId="0" name="ParamReader"><Operation id="511" name="run" priority="1" type="self"><Parameter format="str" id="5111" name="datatype" value="ParamReader" /><Parameter format="str" id="5112" name="path" value="/home/nanosat/Pictures/JASMET30_mp/201608/meteor" /><Parameter format="date" id="5113" name="startDate" value="2016/08/29" /><Parameter format="date" id="5114" name="endDate" value="2016/09/11" /><Parameter format="time" id="5115" name="startTime" value="00:00:00" /><Parameter format="time" id="5116" name="endTime" value="23:59:59" /><Parameter format="int" id="5118" name="walk" value="1" /></Operation></ReadUnit><ProcUnit datatype="ParametersProc" id="52" inputId="51" name="ParametersProc"><Operation id="521" name="run" priority="1" type="self" /><Operation id="522" name="CorrectSMPhases" priority="2" type="other"><Parameter format="floatlist" id="5221" name="phaseOffsets" value="-5.86, -0.93, -7.29, 23.35" /></Operation><Operation id="523" name="SkyMapPlot" priority="3" type="other"><Parameter format="int" id="5231" name="id" value="1" /><Parameter format="str" id="5232" name="wintitle" value="Sky Map" /><Parameter format="bool" id="5233" name="save" value="1" /><Parameter format="str" id="5234" name="figpath" value="/home/nanosat/Pictures/JASMET30_mp/201608/graphics" /><Parameter format="int" id="5235" name="ftp" value="1" /><Parameter format="int" id="5236" name="exp_code" value="15" /><Parameter format="int" id="5237" name="sub_exp_code" value="1" /><Parameter format="int" id="5238" name="tmin" value="0" /><Parameter format="int" id="5239" name="tmax" value="24" /></Operation><Operation id="524" name="WindProfiler" priority="4" type="other"><Parameter format="str" id="5241" name="technique" value="Meteors" /><Parameter format="float" id="5242" name="nHours" value="1" /><Parameter format="float" id="5243" name="hmin" value="70" /><Parameter format="float" id="5244" name="hmax" value="120" /></Operation><Operation id="525" name="WindProfilerPlot" priority="5" type="other"><Parameter format="int" id="5251" name="id" value="2" /><Parameter format="str" id="5252" name="wintitle" value="Wind Profiler" /><Parameter format="bool" id="5253" name="save" value="1" /><Parameter format="str" id="5254" name="figpath" value="/home/nanosat/Pictures/JASMET30_mp/201608/graphics" /><Parameter format="int" id="5255" name="zmin" value="-140" /><Parameter format="int" id="5256" name="zmax" value="140" /><Parameter format="float" id="5257" name="xmin" value="0" /><Parameter format="float" id="5258" name="xmax" value="24" /><Parameter format="float" id="5259" name="ymin" value="70" /><Parameter format="float" id="5260" name="ymax" value="110" /></Operation><Operation id="526" name="ParamWriter" priority="6" type="other"><Parameter format="str" id="5261" name="path" value="/home/nanosat/Pictures/JASMET30_mp/201608/phase" /><Parameter format="int" id="5262" name="blocksPerFile" value="1000" /><Parameter format="list" id="5263" name="metadataList" value="type,outputInterval,timeZone" /><Parameter format="list" id="5264" name="dataList" value="data_output,utctime" /></Operation></ProcUnit></Project> No newline at end of file
1 <Project description="JASMET Meteor Detection" id="002" name="script02"><ReadUnit datatype="VoltageReader" id="21" inputId="0" name="VoltageReader"><Operation id="211" name="run" priority="1" type="self"><Parameter format="str" id="2111" name="datatype" value="VoltageReader" /><Parameter format="str" id="2112" name="path" value="/home/nanosat/data/jasmet" /><Parameter format="date" id="2113" name="startDate" value="2010/08/29" /><Parameter format="date" id="2114" name="endDate" value="2017/09/11" /><Parameter format="time" id="2115" name="startTime" value="00:00:00" /><Parameter format="time" id="2116" name="endTime" value="23:59:59" /><Parameter format="int" id="2118" name="delay" value="30" /><Parameter format="int" id="2119" name="blocktime" value="100" /><Parameter format="int" id="2120" name="getblock" value="1" /><Parameter format="int" id="2121" name="walk" value="1" /><Parameter format="int" id="2122" name="online" value="0" /></Operation><Operation id="212" name="printNumberOfBlock" priority="2" type="self" /></ReadUnit><ProcUnit datatype="VoltageProc" id="22" inputId="21" name="VoltageProc"><Operation id="221" name="run" priority="1" type="self" /><Operation id="222" name="selectChannels" priority="2" type="self"><Parameter format="intlist" id="2221" name="channelList" value="0,1,2,3,4" /></Operation><Operation id="223" name="setRadarFrequency" priority="3" type="self"><Parameter format="float" id="2231" name="frequency" value="30.e6" /></Operation><Operation id="224" name="interpolateHeights" priority="4" type="self"><Parameter format="int" id="2241" name="topLim" value="73" /><Parameter format="int" id="2242" name="botLim" value="71" /></Operation><Operation id="225" name="Decoder" priority="5" type="other" /><Operation id="226" name="CohInt" priority="6" type="other"><Parameter format="int" id="2261" name="n" value="2" /></Operation></ProcUnit><ProcUnit datatype="ParametersProc" id="23" inputId="22" name="ParametersProc"><Operation id="231" name="run" priority="1" type="self" /><Operation id="232" name="SMDetection" priority="2" type="other"><Parameter format="float" id="2321" name="azimuth" value="45" /><Parameter format="float" id="2322" name="hmin" value="60" /><Parameter format="float" id="2323" name="hmax" value="120" /></Operation><Operation id="233" name="ParamWriter" priority="3" type="other"><Parameter format="str" id="2331" name="path" value="/home/nanosat/Pictures/JASMET30/201608/meteor" /><Parameter format="int" id="2332" name="blocksPerFile" value="1000" /><Parameter format="list" id="2333" name="metadataList" value="type,heightList,paramInterval,timeZone" /><Parameter format="list" id="2334" name="dataList" value="data_param,utctime" /><Parameter format="int" id="2335" name="mode" value="2" /></Operation></ProcUnit></Project> No newline at end of file
@@ -7,6 +7,7 Created on Jul 16, 2014
7
7
8 from schainpy import __version__
8 from schainpy import __version__
9 from setuptools import setup, Extension
9 from setuptools import setup, Extension
10 import numpy
10
11
11 setup(name="schainpy",
12 setup(name="schainpy",
12 version=__version__,
13 version=__version__,
@@ -39,7 +40,13 setup(name="schainpy",
39 ],
40 ],
40 },
41 },
41 scripts=['schainpy/gui/schainGUI'],
42 scripts=['schainpy/gui/schainGUI'],
42 ext_modules=[Extension("cSchain", ["schainpy/model/proc/extensions.c"], include_dirs=[numpy.get_include()])],
43 ext_modules=[
44 Extension("cSchain",
45 ["schainpy/model/proc/extensions.c"],
46 include_dirs=[numpy.get_include()],
47 #extra_compile_args=['-Werror'],
48 )
49 ],
43 install_requires=[
50 install_requires=[
44 "scipy >= 0.14.0",
51 "scipy >= 0.14.0",
45 "h5py >= 2.2.1",
52 "h5py >= 2.2.1",
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now