0- From windows, check the NR1, N2R, N3R files. QO_checkN1R.py The program detected some problems: ArcticNet_16_LEG03001_000000.N2R ==> line 1 empty ArcticNet_16_LEG03001_000056.N2R ==> line 407178 corrupted "$HEHDT,124.4,T*™¡Cá$HNROT,-003.1,A*0" ArcticNet_16_LEG03002_000000.N2R ==> line 1 empty For most of the N3R files, there is a bug to save the string "$GPVTG". For example: Line n : $ Line n+1 : GPVTG,6.0,T,,M,11.63,N,21.55,K,D*08 or Line n : $G Line n+1 : PVTG,6.0,T,,M,11.63,N,21.55,K,D*08 From the "an1603_enrproc" directory, get information from VmDAS data. 1- vmdas_info.py --logfile sta_info.txt os ../../vmdas_data/an1601/*STA 2- vmdas_info.py --logfile enr_info.txt os ../../vmdas_data/an1601/*ENR From the "config" directory 3- reform_vmdas.py ../../.. 4- python vmdas2uhdas.py discarding short slice, len=2, dday 238.7449196 discarding short slice, len=2, dday 238.7537502 5- proc_starter.py reform_defs.py Position ==> 'N1R', 'gps' Heading ==> 'N2R','hdg' (gyro from the ship) Heading correction ==> 'N1R', 'pmv' (heading from posmv) see Proc_starter.PNG create the file an1601_proc.py line 63: acc_heading_cuttoff = 0.02 line 75: ducer_depth = dict( os150 = 7.4 ) From the main directory "an1601_enrproc" 6- adcptree.py os150nb --datatype uhdas --cruisename an1601 cd os150nb Create the file q_py.cnt. ------------------------- 7- vi q_py.cnt ### q_py.cnt contents ## python processing --yearbase 2016 --cruisename an1601 --dbname a1601 --datatype uhdas --sonar os150nb --ens_len 300 --update_gbin ## required for this kind of processing --configtype python ## file used in config/ dirctory is python --ping_headcorr --max_search_depth 1500 7- quick_adcp.py --cntfile q_py.cnt --auto several amazing and scary messages "rangeslice input must be monotonic" Raw file /media/sf_codas_shared/2016/fake_uhdas_data/an1603/raw/os150/zzz2016_276_31877.raw.log.bin has no matching time correction Raw file /media/sf_codas_shared/2016/fake_uhdas_data/an1603/raw/os150/zzz2016_276_32230.raw.log.bin has no matching time correction Post processing. ================ Create a directory "/adcp_pyproc/an1601_postproc/" and copy os150bb from "/adcp_pyproc/an1603_enrproc/" From "os150nb" directory, have a look at the cruise track. ---------------------------------------------------------- 1- plot_nav.py nav/a1603.gps The image "plot_nav.gps" was saved in the "1603_postproc" directory. Check heading device. --------------------- Main heading device: ship's gyro. Heading correction: POSMV 2-figview.py cal/rotate/*png There are several gaps (red cross) so a correction is mandatory as following. cd cal/rotate 3-patch_hcorr.py # It will bring up a picture. The red '+' that you saw will have already been interpolated. # Now click the 'Write/Exit' button # It will save a copy of the figure and write out a new set # of heading correction files. # Follow the instructions printed on your page: # inspect the newhcorr*.png files: 4- figview.py *.png # remove earlier time-dependent heading correction 5- rotate unrotate.tmp # apply new heading correction 6- rotate rotate_fixed.tmp # run navigation steps and inspect calibrations cd ../.. 7- quick_adcp.py --steps2rerun navsteps:calib --auto Check calibration. ------------------ Range for "good calibration": Number of edited points: > 10-15 Amplitude: .995 to 1.005 Phase: -0.05 to +0.05 Use watertrack for amplitude and both for phase. 8- tail -20 cal/watertrk/adcpcal.out ... clip_dt = 60, clip_var = 0.050 Number of edited points: 131 out of 170 amp = 1.0067 + -0.0001 (t - 254.2) phase = 0.27 + -0.0015 (t - 254.2) median mean std amplitude 1.0060 1.0067 0.0109 phase 0.2910 0.2693 0.7336 .... 9- tail -20 cal/botmtrk/btcaluv.out ... unedited: 419 points edited: 339 points, 2.0 min speed, 2.5 max dev median mean std amplitude 1.0016 1.0015 0.0014 phase 0.2815 0.2728 0.0886 ... quick_adcp.py --steps2rerun rotate:navsteps:calib --rotate_amplitude 1.0063 --auto quick_adcp.py --steps2rerun rotate:navsteps:calib --rotate_angle 0.2786 --auto 10- Check the results running steps 8 and 9. ... clip_dt = 60, clip_var = 0.050 Number of edited points: 132 out of 171 amp = 1.0006 + -0.0001 (t - 254.3) phase = 0.01 + -0.0003 (t - 254.3) median mean std amplitude 1.0000 1.0006 0.0108 phase 0.0400 0.0149 0.7209 ... ... unedited: 419 points edited: 337 points, 2.0 min speed, 2.5 max dev median mean std amplitude 0.9953 0.9953 0.0014 phase 0.0030 -0.0061 0.0893 ... ADCP Transducer-GPS offset (beta testing). ------------------------------------------ (http://currents.soest.hawaii.edu/docs/adcp_doc/codas_doc/xducerxy.html) 11- tail -10 cal/watertrk/guess_xducerxy.out ... guessing ADCP (dx=startboard, dy=fwd) meters from GPS positions from a1603.agt calculation done at 2017/02/16 14:07:46 xducer_dx = 0.746917 xducer_dy = 33.539393 signal = 11845.839271 "signal" is an indication of how robust the calculation is "signal" < 1000 (weak confidence) "signal": 1000-4000 (probably worth using) "signal" > 4000 (pretty strong indication) 12- quick_adcp.py --steps2rerun navsteps:calib --xducer_dx 1 --xducer_dy 33 --auto Edit bad data. -------------- cd edit 13- gautoedit.py -n5 cd .. 14- quick_adcp.py --steps2rerun apply_edit:navsteps:calib:matfiles --auto Check the calibration. ---------------------- Watertrack. ... clip_dt = 60, clip_var = 0.050 Number of edited points: 128 out of 165 amp = 0.9998 + -0.0001 (t - 254.3) phase = 0.06 + -0.0044 (t - 254.3) median mean std amplitude 1.0000 0.9998 0.0101 phase 0.0915 0.0631 0.7448 ... Bottomtrack ... unedited: 419 points edited: 337 points, 2.0 min speed, 2.5 max dev median mean std amplitude 0.9953 0.9953 0.0014 phase 0.0030 -0.0061 0.0893 ... phase value a little bit too high. quick_adcp.py --steps2rerun rotate:navsteps:calib --rotate_angle 0.04 --auto Check the calibration. ---------------------- Watertrack. ... clip_dt = 60, clip_var = 0.050 Number of edited points: 128 out of 165 amp = 0.9998 + -0.0001 (t - 254.3) phase = 0.02 + -0.0044 (t - 254.3) median mean std amplitude 1.0000 0.9998 0.0101 phase 0.0485 0.0228 0.7448 ... Bottomtrack ... unedited: 419 points edited: 338 points, 2.0 min speed, 2.5 max dev median mean std amplitude 0.9954 0.9953 0.0014 phase -0.0369 -0.0441 0.0877 ... Check editing again. ---------------------- dataviewer.py Get the matlab format data. --------------------------- In Matlab. an1603_os150nb = load_getmat('os150nb\contour\allbins_'); help load_getmat to have information about variables. Do not forget to apply the mask !!! u = sadcp1603.u .* sadcp1601.nanmask; v = sadcp1603.v .* sadcp1601.nanmask; Get the netcdf format data. --------------------------- adcp_nc.py adcpdb contour/an1603_os150nb an1603 os150nb