- - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -
These are relevant to any codas processing of shipboard ADCP data
Options are specified on the command line or in a file. (see below)
help = False # print help
varvals = False # print values about to be used, then exit
# eg. quick_adcp.py --cntfile q_py.cnt --varvals
vardoc = False # detailed use for each variable
commands = None # print specific help
# === directories and files ===
#
# variable default # description
# ------- ---------- # -----------------
#
#---- required -----
datatype = None
# choose what kind of data logging (and
# hence which kind of data files
# are being processed)
#
# default is "pingdata"
#
# name what
# ---- ----
# "pingdata" implies DAS2.48 (or 2.49) NB
#
# "uhdas" implies known directory
# structure for access
# to raw data
# "lta", "sta" VmDAS averages
#
sonar = None # eg. nb150, wh300, os75bb, os38nb
yearbase = None # 4 digits (acquisition year)
ens_len = None # seconds in an ensemble; default set in dbinfo
cruisename = None # used for plot titles; required
# cruise name is the same as procdir name
# required in post-processing;
beamangle = None # degrees (integer).
# Reference layer smoothing:
# three possibilities:
# (1) bin-based reference layer; "smoothr"
# (2) refavg decomposition (timeseries,
# baroclinic, minimize error) "refsm"
# (3) use_uvship: use average of ship speeds from
# good profiles only. limitations:
# - uhdas single-ping processing only
# - must be set at the time of averaging
dbname = None # traditionally
# - start with "a"
# - then append 4 characters
# defined as the 'XXX' in 'adcpdb/XXXdir.blk'
## ---- end of required parameters ---
cntfile = None # override defaults with values from this
# control file. Format is the same as
# command line options, but whitespace is
# unimportant. Do not quote wildcard
# characters in the cnt file (whereas
# you would for the command line)
# Defaults are overridden by this cntfile
# Commandline options can override either.
# additional parameters ---
datadir = None # data path. defaults are:
# (1) relative to scan or load directory
# (2) full path
# ../ping (for LTA, ENS, pingdata)
#
# for NON-UHDAS processing only.
# use "sonar" and cruise_cfg.m for UHDAS
datafile_glob = None #look for sequential data files.
# (not for UHDAS data)
# defaults are:
# pingdata.??? (for pingdata)
# *.LTA (for LTA files)
# *.ENS (for ENS files)
data_filelist = None # use data file paths in this text file
pingpref # (only activated with these choices for --sonar:
# os150, os75, os38 (i.e. without the pingtype specified)
# - used to choose default ping type if interleaved
# - otherwise it uses whatever is there
# (whereas eg. os75bb would only use bb pings)
#-----
# Reference layer smoothing:
# two possibilities:
# (1) old: "smoothr"
# - bin-based reference layer;
# - simple averaging
# (2) default: "refsm"
# - refavg decomposition
# - calculates timeseries+baroclinic,
# - minimize error "refsm"
#
# additionally, supports:
# - navigation from 'gps' or from
# translated positions, based on
# transducer offset from ADCP
# - ship speed from
# - 'nav' (traditional calculation
# of ship speed (from first
# difference of positions from
# ensemble end-times)
# - 'uvship' (new, EXPERIMENTAL)
# average of ship speeds from
# pings used, calculted during
# single-ping processing
# these two are set in quick_setup.py (check_ref_method)
ref_method = 'refsm' ## Default: use "refsm" for reference layer
# - positions inputted with "put_txy"
# - ship speeds inputted with "put_tuv"
## other choice: use "smoothr" for reference layer
# - ship speed and position inputted with "putnav"
# Plots are done with smoothr, regardless
## these two combine in RefSmooth to create tuv.asc for "put_tuv"
refuv_source = 'nav' # default = uvship from position file
# otherwise EXPERIMENTAL:
# specify 'uvship' to use
# ship speeds from "uvship", i.e.
# averaged from only those pings used
refuv_smoothwin = 3 # default blackman filter half-width = 3
# (use 2*N-1 ensembles on each side for
# reference-layer smoothing
# (goes into Refsm as bl_half_width)
# 0: no smoothing
# 1: just use one point (same as "no smoothing")
# 2: (less smoothing)
#------------
# xducer_dx, xducer_dy # The next two variables use the offset
# between transducer and gps to "realign"
# the positions closer to the adcp.
# POSTPROCESSING: run with "--steps2rerun"
# and specify "navsteps:calib"
# new fix file is dbname.agt
# SINGLE-PING PYTHON PROCESSING: creates
# .gps2 and .gpst2 files in load,
# and cats to .gpst2 to dbname.gpst
# for the fix file
#
xducer_dx = 0 # positive starboard distance from GPS to ADCP
# This option is usually not necessary
#
xducer_dy = 0 # positive forward distance from GPS to ADCP
# This option is usually not necessary
fixfile = None # override the default fix file. defaults are:
# if datatype is pingdata, default is
# [dbname].ags (for pingdata)
# [dbname].gps (for LTA, ENS, or uhraw)
# fixfile is used as input to
# - smoothr
# - xducer_dx, xducer_dy
########
ub_type = '1920' # For NB DAS only: User buffer type:
# 720 for demo; 1920 for recent cruises
#
# === processing options ===
#
# variable default # description
# ------- ---------- -----------------
rotate_amplitude = 1 # run "rotate" on the entire database with
# amplitude (scale factor) = 1.0
rotate_angle = 0 # run "rotate" on the entire database with
# this angle (phase), usially a tweak from
# bottom track or watertrack calibration
rl_startbin = 2 # first bin for reference layer: 1-nbins
rl_endbin = 20 # last bin for reference layer : 1-nbins
pgmin = 50 # only accept PG greater than this value
# --> don't go below 30 <--
# default is 50 for pre-averaged datatypes
# ('pingdata', 'lta', and 'sta')
# default is 20 for single-ping datatypes
# ('uhdas', 'enr', 'ens', 'enx')
jitter = 15 # jitter cutoff (increase value to keep more data)
# MATLAB: jitter is a parameterization of horizontal
# and vertical second derivatives of u,v
# PYTHON: jitter is the vertical average of median
# filter applied to each bin in the ref. layer
find_pflags = False # automatically find profile flags
# apply editing (dbupdate, etc)
# You should be familiar with gautoedit
# before using this...
# === REPROCESSING options ===
#
#
# variable default # description
# ------- ---------- -----------------
steps2rerun = '' # colon-separated list of the following:
# 'rotate:apply_edit:navsteps:calib:matfiles'
# designed for batch mode; assumes codasdb
# already in place, operates on entire
# database.
#
# 'rotate' is:
# apply amplitude and phase corrections
# using these (if specified):
# rotate_angle (contstant angle)
# rotate_amplitude (scale factor)
# Apply time-dependent correction manually
#
# 'navsteps' is:
# [adcpsect+refabs+smoothr+refplots]
# and reference layer smoothing by
# refsm (default; uses put_txy, put_tuv)
# or smoothr (uses putnav)
#
# 'apply_edit' is:
# badbin, dbupdate, set_lgb, setflags
#
# 'calib' is:
# botmtrk (refabsbt, btcaluv)
# watertrk (adcpsect, timslip, adcpcal)
#
# 'matfiles' is:
# adcpsect for vector and contour
# Always use "sonar" for defaults
# (specify top_plotbin for better results
# IF you have codas python extensions)
# or use "firstdepth" to tweak top values
#
# 'write_report' is:
# write a summary of cruise metadata
# - lands in "cruise_info.txt"
# ONLY use this option to generate a cruise
# report for a cruise without one; check for
# "cruise_info.txt" before running in this mode
### === Data extraction options ===
numbins = 128 # max number of bins to extract for editing
firstdepth = None # depth of shallowest bin for adcpsect extraction
## === specialized processing options ===
auto = False # 1: whiz along (do not prompt); do all
# requested steps (default is all step)
# 0 to prompt at each step
############## for UHDAS processing only ####################
# batch or incremental #
proc_engine = 'python' # default -- no choice
# "python" : requires matplotlib;
# matlab is not used
cfgpath = 'config' # UHDAS only
# Find cfg files (*_cfg.m, *_proc.m) here.
# NOTE: path should be absolute or can be
# relative root processing directory
# (if relative, rendered absolute
# before being used, to remove ambiguity)
# NOTE: cruisename is the prefix for these files
configtype = 'python' # default (no choice) 'python' python processing
badbeam = None # badbeam for 3-beam data (beam=1,2,3,4)
beam_order = None # if remapping is needed, colon-delimited list
# eg) 1:2:4:3 (RDI beam numbers)
max_search_depth = 0 # use predicted topography as follows:
# 0 = always use amp to identify the bottom
# and remove velocities below the bottom
# -1 = never look for the bottom using amplitude
# therefore never edit data below the 'bottom'
# positive integer:
# - if predicted topo is deeper than this
# depth, then we are in deep water and do
# not expect to find the bottom. Therefore
# DO NOT try and identify the bottom
# (eg. do not idenfity strong
# scattering layers in deep water)
# - impacts weak-profile editing
# - used to be "use_topo4edit" with a search
# depth of 1000
max_BLKprofiles= 300 # max number of profiles per block. Might
# want to make smaller to test incremental
# processing (must be 512 or less)
update_gbin = False # UHDAS; update gbin files
py_gbindirbase = None # defaults to uhdas_dir/gbin for python IO
gbin_gap_sec = 15 # if the instrument is triggered, gaps may
# occur in ping times. It is dangerous to
# make this too big. usually it should be
# 3-7 sec, depending on frequency. Shoot
# for 100-300 pings in your averegs
############## for UHDAS processing only, incremental ##################
dday_bailout = None # may be useful for testing (UHDAS only)
# (bail out of averaging at this time)
ping_headcorr = False # UHDAS only. apply heading corrections on-the-fly
# installation for other backends
top_plotbin = None # shallowest bin to use for data extraction
# bins are 1,2,3,...
# --> overrides 'firstdepth' if both ar chosen
# --> requires codas python extensions
#