This codebase is focused on the operational workflow development for the SWACSS project. This is starting with the yellowfin ASV.
workflow_ppk.py
will process raw observation/navigation data from the yellowfin, with CORS or other RINEX base station files
into netCDF using post processing kinematic (PPK) positioning.
python workflow_ppk.py [args]
with example argument
python workflow_ppk.py -d /data/yellowfin/20240626
usage: PPK processing for yellowfin (V0.2) [-h] -d True [-g]
[-p | --make_pos | --no-make_pos]
[-v] [--sonar_method SONAR_METHOD]
[--rtklib_executable RTKLIB_EXECUTABLE]
options:
-h, --help show this help message and exit
-d True, --data_dir True
[REQUIRED] directory of data that are to be processed
-g , --geoid_file binary geoid file, required for conversion of
ellipsoid height to NAVD88
-p, --make_pos, --no-make_pos
make posfile (True) using RTKlib or provide one
through external environment (false)
-v , --verbosity sets verbosity for debug, 1=Debug (most), 2=Info
(normal), 3=Warning (least)
--sonar_method SONAR_METHOD
which s500 depth reading to use for time-shifting and
bottom reporting
--rtklib_executable RTKLIB_EXECUTABLE
path for RTK_lib executable (required if --make-pos
flag assigned)
The code expects a data_dir
argument passed which should be a folder in the YYYYMMDD
format
the code expects the following folders [CORS
, emlidRaw
, nmeadata
, s500
].
It will make figures
folder. It's good practice to save the tele operation files in the teleLogs
folder, but this script does not use those files (yet).
The below image shows an example of processed folder and what it looks like at the top, with a generic folder with required subfolders below
each folder is expected to have files within it, specifically:
CORS - this folder is expected to have a zip file with PPK observations from a CORS station (including .*sp3
if available).
If observation and navigation files are manually generated, the script will look for .*o
and .*n
files in this directory
emlidRaw - this folder is expected to have *RINEX*.zip
files containing (*o
- observation files) (multiple ok)
nmeadata - this folder is expected to have .dat
files (text) in them with nmea data fom the GNSS. this file is mainly used
for logging the system clock (time stamp for sonar) and the GNSS time. The .dat
files can be in a folder with date
convention of MM-dd-YYYY
though this is checked against the root data directory to ensure the dates are the same
s500 - this folder is expected to have *.dat
files (binary) in them with sonar data. The .dat
files can be in a folder with date
convention of MM-dd-YYYY
though this is checked against the root data directory to ensure the dates are the same
Sometime around 7/10 we changed Pi computer clock was changed from ET to UTC. We should be able to compare system clock time to Nick's Field notes for start log to confirm if 8/16 survey was in ET or UTC. It's important to note that there is a hard/stupid fix of data prior to that to UTC.