.. ...................................... .. UHDAS/CODAS restructured text document .. ...................................... Troubleshooting: Simple description of how UHDAS works ======================================================= **Start UHDAS** - push "Start Cruise" - push "Start Recording" - To Change Acquisition Parameters **At the End of a Cruise** - push "Stop Recording" - push "End Cruise" - kill the gui (optional) Click `here `_ to tour the user interface ----------------------------------------------------- At start of cruise ------------------ - Start UHDAS gui (if it is not already running) - reads serial acquisition parameters (from config/sensor_cfg.py) - reads default instrument parameters (from config/cmdfiles/\*default.cmd) push "Start Cruise" (enter name, say "cruiseid") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - asks ADCP Operator for a cruise name (eg. ZHNG02RR, P16S, rr0105) (start with letter; only letters, digits, or underscore) - creates link /home/adcp/cruise to named directory in /home/data, eg "km0808" - creates cruise directory (/home/data/cruiseid) for logging and processing (adcptree.py for each unique instrument+frequency[+pingtype]) - tailors named templates from /home/adcp/config/procsetup_onship.py with names for the cruise: km0808_cfg.m, km0808_proc.m * creates copies of these two files when creating processing directories - reads ADCP default command files, eg. * /home/adcp/config/nb_default.cmd * /home/adcp/config/os_default.cmd - runs scripts/DAS_while_cruise.py, which: * which regularly runs backup processes * writes pid to flags/DAS_while_cruise.running push "Start Recording" ~~~~~~~~~~~~~~~~~~~~~~ - reads configuration information from textboxes for first ADCP - flips to Terminal Tab; * initiates a dialog with first ADCP * initiates a dialog with second ADCP ... - flips to Monitor Tab * sets up panels to show incoming data status * starts each of the passive serial logging streams * for each of the ADCPs, initiates pinging and starts logging - touches flags/DAS.logging (to indicate logging is occurring) - runs DAS_while_logging.py, which * runs DAS_speedlog.py (if relevant) * starts gbinning + 5-minute plots on 5-minute timers * starts quick_adcp + 3-day plots on 30-minute timers * runs heading correction statistics and plots * touches flags/DAS_while_logging.running To change acquisition parameters, (eg. toggle bottom tracking) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - change the values to what you want - push "Stop Recording"; - wait until the gui returns to the control panel - push "Start Recording" ---------------------------------------------------------------------- At end of cruise ---------------- push "Stop Recording" ('Yes' stop recording) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - touches flags/DAS_while_logging.stop, which tells DAS_while_logging.py to * not start any new processes (processing and plotting) * remove DAS_while_logging.stop and DAS_while_logging.running * die - wakes up each instrument in succession, stopping data stream - ceases logging from passive ports - quits sending speedlog info - removes DAS_while_logging.running and /home/adcp/flags/DAS_while_running.stop push "End Cruise" ('yes' end cruise) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - puts up a window telling you to wait.... - touches flags/DAS_while_cruise.stop , which tells DAS_while_cruise.py to * stop all its processes (i.e. rsync) * remove DAS_while_cruise.stop and DAS_while_cruise.running * die - moves www/figures/png_archive to proc dirs in cruised directory - copies /home/adcp/log to /home/data/[CRUISEID]/raw/log - copies config/cruiseid_*.m to config/history - runs one last rsync operation - removes DAS_while_logging.running and DAS_while_running.stop (optional) kill gui ~~~~~~~~~~~~~~~~~~~ - kills the gui