Mission preparation

Protocols/resources for preparing a glider for a mission

This page is under construction and feedback is very welcome! Hit “Report an issue” on the right to provide suggestions.

Clickable/editable Google Doc version - Mission Prep Task List - TEMPLATE. Suggest making a copy of this template for each glider/mission to track tasks and take notes.

Main categories of prep steps:
*(this page currently covers the items with a check)


Hardware checks

Ballast or tank test

After a refurbishment or any new sensors have been installed, ballast (if major mass/volume changes) or tank test (if minor changes) to get preliminary/approximate trim centers and check glider buoyancy for the planned mission conditions.

See Tank Ballasting Procedure for a detailed guide of the operational steps (main menu guidance, etc.) to check centers and buoyancy in a tank.

Update checkout sheet

Important

The checkout sheet is the guide to each glider build and contains all the details needed to set up a glider mission so it’s critical to keep it updated!

A new checkout sheet is needed following any work - refurbishments, repairs, sensor installations, or ballasting - with the new mass and any other relevant info such as sensor serial numbers or calibration dates

    • Make a copy of the existing doc and rename with today’s date
    • Update the relevant fields with the correct value, any important notes, and the date it was updated

Check sheets are stored in the glider-specific folders in the NMFS PIC Gliders Shared Drive.

NMFS PIC Gliders
├── SG273
└── SG274
  ├── sg274 checkout sheet YYYY-MM-DD.xlsx
  └── sg274 checkout sheet YYYY-MM-DD.xlsx

If shipping…

Back to top

Mission planning

Logistics

Set up local and cloud file structure

Set up folder structure for this mission following the PIFSC Glider Data Management Plan. Mission planning and documentation (not related to the basestation) will be stored here.

Create a mission folder on Google Drive

In the NMFS PIC Gliders Shared Drive, navigate to the ‘missions’ folder and create a new folder named with the mission title. Follow the below structure to create the relevant folders and documents. Template files for a pilot log, pilot schedule, and mission report are available in the main ‘missions’ folder.

This folder structure is still underdevelopment (we have to see how some projects and missions go to assess what is working or not working!) so the organization at the start of a mission is not critical or set in stone. However, we do want all relevant parts to be created and stored generally together before the mission begins.

For example, we are still working out how to organize things when more than one glider is flown for a project - each glider has it’s own organizational string (e.g., sgxxx_YYYYMMDD_location, pilot log, and configuration files) but that project would likely have a single pilot schedule and report.

YYYYMMDD_location/project
│   mission report
├── photos
│   pilot log
│   pilot schedule
└── prep
    ├── acoustic configuration
    │   ballasting worksheet
    │   check sheet
    └── tracks

See the ‘missions’ folder section for full details.

OPTIONAL: Create a local mission folder

If you’ll be processing files mid-mission with agate it’s helpful to set up that local folder structure.

  • Create a ‘mission’ folder on the desktop or somewhere else easily accessible for downloading any glider basestation or piloting files locally. Suggest naming by the glider and mission name e.g., sgxxx_YYYYMMDD_location to match the conventions used in agate
  • Either manually create the basestationFiles and flightStatus folders within this mission folder, or use mkdir in MATLAB to create them

OPTIONAL: Setup agate

  • Check for any updates to agate from GitHub (https://github.com/sfregosi/agate), if desired
  • Set up a configuration file for this glider and mission
  • Create a download script for easy downloading of basestation files to the local machine and generating some summary stats for the mission
  • See agate documentation for more detail on these steps

Back to top

Prepare basestation

These instructions are for seaglider.pub/basestation3

  • Connect to seaglider.pub via terminal (see Command Line Guide for help with the command line)
  • Navigate to the glider’s home directory /home/jails/noaaosu/gliderjail/home/SGxxx
  • All piloting files from the last mission should be in a mission-specific folder (named with YYYYMMDD_location) that is also mapped as the current folder
    • Check the current folder with the command ls -la from the home directory. This will display all files with details and the current folder will be listed with -> with the folder it is currently mapped to
  • If there are mission-specific piloting files (e.g. baselog, p######.log, .nc, etc.) those need to be moved using MoveData.py (this is unlikely as it was the old approach) BEFORE setting up the new mission or they may be overwritten

(only if NewMission.py was NOT used to set up the previous mission)

  • Navigate to the glider’s home directory e.g., /home/jails/noaaosu/gliderjail/home/SGxxx or the folder with the files to be moved
  • Run basepy MoveData.py -m <currentLocation> -t <newLocation>
    • <currentLocation> is the location of the files to be moved. Use . if you are in the home directory. Alternatively it can be specified as the full path to /home/jails/noaaosu/gliderjail/home/sgxxx (the glider’s home directory) or a different folder
    • <newLocation> should be YYYY-MM-DD_deployment_location or if it is just sim dives to be moved, YYYY-MM_DD_sim_dives. Path only has to be specified relative to the present working directory

NOTE: I think this script does not move wispr files (ws0001az.x00, etc) and so those must be moved manually

Create the new mission directory

  • Navigate to the glider’s home directory e.g., /home/jails/noaaosu/gliderjail/home/sgXXX
  • Use NewMission.py to create a new folder for this specific mission
    • The function will set up the mapping of the current folder so all newly created piloting files will be saved here when the glider calls in
    • It will copy or make shortcuts to required piloting files like pagers.yml, cmdfile, sg_calib_constants.m, and sg_plot_constants.m.
  • Run the function with the below code
    • <newMissionFolderName> is the folder name that matches the mission title string set in sg_calib_constants.m and follows the format of YYYYMMDD_location/project where location/project is something like Oahu or WHICEAS
      • Example: 20251202_tests_wispr
basepy NewMission.py ./ <newMissionFolderName>

# note the above uses seaglider.pub's shortcut to map full python paths
# alternatively could use full paths
/opt/basestation/bin/python /usr/local/basestation3/NewMission.py ./ <newMissionFolderName>
  • Check that it was set up properly by running ls -la from the home directory
  • sg_calib_constants.m, sg_plot_constants.m, sections.yml, cmdfile, targets, science, scicon.sh get copied from previous mission (if it exists) or the home directory. These will need further checking/updating (below)
  • It will create a shortcut to pagers.yml and other dot configuration files (in the glider’s home diretory)
  • It will create a blank database file sgxxx.db

Add the mission to missions.yml

Update the missions.yml file to properly display this mission as a tile and linked page on the seaglider.pub site (vis).

The syntax is very specific and errors can be difficult to debug so it is best practice to create a backup copy before making any changes - Navigate to your user folder (/home/jails/noaaosu/username) and use cp ../gliderjail/home/missions.yml missions.orig to create a backup of the existing missions.yml in your user directory

  • Navigate to /home/jails/noaaosu/gliderjail/home
  • Open missions.yml for editing (using vi or nano)
  • Copy the previous mission to the # past missions section if needed
    • Mark the previous mission as complete by adding the line status: complete
  • Update the mission name and folder path in the # current missions section

Example syntax (note the below examples use the OSU naming scheme)

# long form
  - 
    glider: 273
    mission: 20251202_tests_wispr
    path: sg273/20251202_tests_wispr
    
# condensed
  - { glider: 273, mission: 20251202_tests_wispr, path: sg273/20251202_tests_wispr, status: complete}
  • If anything isn’t working, start over from the original by copying it over from your user directory:
# from the home directory
cp ../../username/missions.orig missions.yml

# from your user directory
cp missions.orig ../gliderjail/home/missions.yml

Update “constants” files

These two files exist/have copies in the glider’s home folder and the latest version will be copied to the mission folder when it is created below, so update them in the home directory first.

Update sg_calib_constants.m

    • Modify the copy of sg_calib_constants.m in the current (newly created) mission folder
    • Update the “Last updated” line at the top with today’s date and your initials
    • For record keeping, make a copy in the glider’s home folder (/gliderjail/home/sgXXX ) but rename to include the date modified (e.g., sg_calib_constants_2025-08-28.m)
    # from the glider's current folder
    cp sg_calib_constants.m ../sg_calib_constants_YYYY-MM-DD.m

    Update sg_plot_constants.m

    • The home directory may have some examples for common locations (e.g., Shilshole) that can be copied or new coordinates can be entered

Back to top

Launch day tasks

Prep and upload final piloting files

Review the below files and upload them to the current mission folder. These can either be edited directly via the command line (using either vi or nano editors if using seaglider.pub) or by downloading and re-uploading manually using WinSCP. See the Command Line Guide for help with the command line.

  • sg_calib_constants.m
    • Change mission name and mass and update any calibration coefficients
    • If not using basestation3, also update rho0, volmax and the hydrodynamic parameters
  • sg_plot_constants.m
    • Set vis map figure lat/lon extents
  • Upload cmdfile
    • Check all params and update where needed for first short dive
  • Check/update science (note format varies slightly for v66.12 or v67.0 gliders)
  • Upload targets
    • For help creating a targets file, see the Mission planning page of the agate documentation
  • Check pmar.cnf (if PMAR system only)
  • Check/update pagers.yml (basestation3) or .pagers (OSU basestation)
  • Check/update any pdoscmds.bat or create placeholders
    • Shouldn’t need one to start a mission but sometimes is useful to have a placeholder such as pdoscmds.bat_target that is loaded and ready to be copied/modified as needed. Examples of these can be stored in your user directory and copied into the specific glider’s mission folder

Back to top

More to come soon…

Back to top