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

Changeset 494

Show
Ignore:
Timestamp:
06/28/12 17:29:53
Author:
haines
Message:

Processing mods for buoy data

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • raw2proc/trunk/raw2proc/lb1_config_20120120.py

    r492 r494  
    3535sensor_info = { 
    3636    'ctd' : { 'id' : 'ctd', 
    37               'description' : 'Near-surface CTD Data each sample period', 
     37              'description' : 'Bottom CTD Data each sample period', 
    3838              'raw_dir' : '/seacoos/data/long_bay/level0/lb1/ctd/2012_01/', 
    3939              'raw_file_glob' : '*', 
  • raw2proc/trunk/raw2proc/lb2_config_20120119.py

    r492 r494  
    3535sensor_info = { 
    3636    'ctd' : { 'id' : 'ctd', 
    37               'description' : 'Near-surface CTD Data each sample period', 
     37              'description' : 'Bottom CTD Data each sample period', 
    3838              'raw_dir' : '/seacoos/data/long_bay/level0/lb2/ctd/2012_01/', 
    3939              'raw_file_glob' : '*', 
  • raw2proc/trunk/raw2proc/lb3_config_20111216.py

    r492 r494  
    11platform_info = { 
    2             'id' : 'lb2', 
     2            'id' : 'lb3', 
    33            'location' : 'Long Bay, NC, Upper Slope Bottom Frame', 
    44            'lat' : 32.85237,   # degrees true (-) south, (+) north 
     
    3535sensor_info = { 
    3636    'ctd' : { 'id' : 'ctd', 
    37               'description' : 'Near-surface CTD Data each sample period', 
     37              'description' : 'Bottom CTD Data each sample period', 
    3838              'raw_dir' : '/seacoos/data/long_bay/level0/lb3/ctd/2011_12/', 
    3939              'raw_file_glob' : '*', 
  • raw2proc/trunk/raw2proc/proc_cr1000_ctd_v1.py

    r491 r494  
    11#!/usr/bin/env python 
    2 # Last modified:  Time-stamp: <2012-05-01 16:12:51 haines> 
     2# Last modified:  Time-stamp: <2012-06-28 14:47:42 haines> 
    33""" 
    44how to parse data, and assert what data and info goes into 
     
    142142    # (1) within range 
    143143    # (2) if not pumped  
     144    good = (5<data['wtemp']) & (data['wtemp']<30) 
     145    bad = ~good 
     146    data['wtemp'][bad] = numpy.nan 
     147     
     148    good = (2<data['cond']) & (data['cond']<7) 
     149    bad = ~good 
     150    data['cond'][bad] = numpy.nan 
    144151     
    145152    # calculate depth, salinity and density     
  • raw2proc/trunk/raw2proc/proc_cr1000_ctd_v2.py

    r490 r494  
    11#!/usr/bin/env python 
    2 # Last modified:  Time-stamp: <2012-04-23 14:12:55 haines> 
     2# Last modified:  Time-stamp: <2012-06-28 14:47:52 haines> 
    33""" 
    44how to parse data, and assert what data and info goes into 
     
    148148    # (1) within range 
    149149    # (2) if not pumped  
     150    # (2) if not pumped 
     151    good = (5<data['wtemp']) & (data['wtemp']<30) 
     152    bad = ~good 
     153    data['wtemp'][bad] = numpy.nan 
     154     
     155    good = (2<data['cond']) & (data['cond']<7) 
     156    bad = ~good 
     157    data['cond'][bad] = numpy.nan 
    150158     
    151159    # calculate depth, salinity and density     
  • raw2proc/trunk/raw2proc/proc_cr1000_met.py

    r492 r494  
    11#!/usr/bin/env python 
    2 # Last modified:  Time-stamp: <2012-05-15 15:44:51 haines> 
     2# Last modified:  Time-stamp: <2012-06-28 15:45:31 haines> 
    33""" 
    44how to parse data, and assert what data and info goes into 
     
    132132 
    133133    data['air_press'] = udconvert(data['air_press'], 'psi', 'mbar')[0] 
    134     # cannot figure out how to combine the two operations 
    135     # for some reason, this one liner does not work 
    136     # good = -40<at & at<60  
    137     above_tol=-40<data['air_temp'] 
    138     below_tol=data['air_temp']<60 
    139     good = above_tol & below_tol 
     134    # some QC 
     135    # good = -40<at & at<60 # does not work 
     136    # good = (-40<at) & (at<60) # THIS WORKS! 
     137    good = (5<data['air_temp']) & (data['air_temp']<30) 
    140138    bad = ~good 
    141139    data['air_temp'][bad] = numpy.nan  
    142  
     140    data['air_temp_std'][bad] = numpy.nan  
     141    data['rh'][bad] = numpy.nan  
     142    data['rh_std'][bad] = numpy.nan  
     143    data['rain'][bad] = numpy.nan  
     144 
     145    # specific to buoy B1 and B2 
     146    if platform_info['id'] == 'b1': 
     147        data['psp'] = -1*data['psp']/1000 
     148        data['psp_std'] = -1*data['psp_std']/1000 
     149    if platform_info['id'] == 'b2': 
     150        data['psp'] = numpy.nan*data['psp'] 
     151        data['psp_std'] = numpy.nan*data['psp_std'] 
     152     
    143153    # check that no data[dt] is set to Nan or anything but datetime 
    144154    # keep only data that has a resolved datetime 
  • raw2proc/trunk/raw2proc/proc_cr1000_wind.py

    r488 r494  
    11#!/usr/bin/env python 
    2 # Last modified:  Time-stamp: <2012-04-23 14:13:36 haines> 
     2# Last modified:  Time-stamp: <2012-06-27 09:00:17 haines> 
    33""" 
    44how to parse data, and assert what data and info goes into 
     
    132132    # for line 
    133133 
    134  
     134    # cannot figure out how to combine the two operations 
     135    # for some reason, this one liner does not work 
     136    bad = data['wdir1']==0    # print ' ... ... Number of zero wdir1 = %d' % numpy.sum(bad) 
     137    data['wdir1'][bad] = numpy.nan 
     138    bad = data['wdir2']==0    # print ' ... ... Number of zero wdir1 = %d' % numpy.sum(bad) 
     139    data['wdir2'][bad] = numpy.nan 
     140                                    
    135141    # check that no data[dt] is set to Nan or anything but datetime 
    136142    # keep only data that has a resolved datetime 
  • raw2proc/trunk/raw2proc/proc_sbe37_ctd.py

    r490 r494  
    11#!/usr/bin/env python 
    2 # Last modified:  Time-stamp: <2012-05-01 11:15:41 haines> 
     2# Last modified:  Time-stamp: <2012-06-28 14:44:14 haines> 
    33""" 
    44how to parse data, and assert what data and info goes into 
     
    188188    # (1) within range 
    189189    # (2) if not pumped  
     190    good = (5<data['wtemp']) & (data['wtemp']<30) 
     191    bad = ~good 
     192    data['wtemp'][bad] = numpy.nan  
     193     
     194    good = (2<data['cond']) & (data['cond']<7) 
     195    bad = ~good 
     196    data['cond'][bad] = numpy.nan 
     197 
     198    # press range depends on deployment depth and instrument transducer rating 
    190199     
    191200    # calculate depth, salinity and density