NCCOOS Trac Projects: Top | Web | Platforms | Processing | Viz | Sprints | Sandbox | (Wind)

Changeset 186

Show
Ignore:
Timestamp:
09/04/08 20:12:49
Author:
cbc
Message:

Saving work.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sodar/branches/raw2proc-dev/proc_remtech_rawdata_pa0.py

    r185 r186  
    1010""" 
    1111 
    12 from sodar import RawData 
    13  
    14 def parser(lines): 
     12from sodar import rawData 
     13import numpy as n 
     14from datetime import timedelta 
     15from procutil import scanf_datetime, dt2es 
     16 
     17def parser(platform_info, sensor_info, lines): 
    1518    """ 
    1619    Parse and assign wind profile data from raw Sodar file. 
    1720    """ 
    1821     
    19     rawData = RawData('\n'.join(lines)) 
     22    rawDataObject = rawdata.RawData('\n'.join(lines)) 
     23     
     24    numIntervals = len(rawDataObject) 
     25    numAltitudes = sensor_info[num_altitudes] 
    2026     
    2127    data = { 
    22            } 
     28        'dt'      : n.array(n.ones((numIntervals,), dtype=object) * n.nan), 
     29        'es'      : n.array(n.ones((numIntervals,), dtype=long) * n.nan), 
     30        'val1'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     31        'val2'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     32        'val3'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     33        'val4'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     34        'spu1'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     35        'spu2'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     36        'spu3'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     37        'spu4'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     38        'nois1'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     39        'nois2'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     40        'nois3'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     41        'nois4'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     42        'femax'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     43        'softw'   : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     44        'fe11'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     45        'fe12'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     46        'fe21'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     47        'fe22'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     48        'snr1'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     49        'snr2'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     50        'snr3'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     51        'snr4'    : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     52        'jam'     : n.array(n.ones((numIntervals,), dtype=int) * n.nan), 
     53        'z'       : n.array(n.ones((numAltitudes,), dtype=float) * n.nan), 
     54        'u'       : n.array(n.ones((numIntervals, 
     55                                    numAltitudes), dtype=float) * n.nan),  
     56        'v'       : n.array(n.ones((numIntervals, 
     57                                    numAltitudes), dtype=float) * n.nan), 
     58        'w'       : n.array(n.ones((numIntervals, 
     59                                    numAltitudes), dtype=float) * n.nan), 
     60        'echo'    : n.array(n.ones((numIntervals, 
     61                                    numAltitudes), dtype = int) * n.nan), 
     62        } 
     63     
     64    for sample in rawDataObject: 
     65        i = rawDataObject.index(sample) 
     66         
     67        dt = {'month' : int(sample['MONTH']), 
     68              'day'   : int(sample['DAY']), 
     69              'year'  : int(sample['YEAR']), 
     70              'hour'  : int(sample['HOUR']), 
     71              'min'   : int(sample['MIN']), 
     72            } 
     73        dt = '%(month)02d-%(day)02d-%(year)04d %(hour)02d:%02d(min)' % dt 
     74        dt = scanf_datetime(dt, fmt='%m-%d-%Y %H:%M') 
     75        if sensor_info['utc_offset']: 
     76            dt = dt + timedelta(hours=sensor_info['utc_offset']) 
     77        data['dt'][i] = dt 
     78        data['es'][i] = dt2es(dt) 
     79     
    2380    return data 
    2481