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
- ✓ Update mass in
sg_calib_constants.m - work record updates
- Mission planning
- ✓ Set up Shared Drive folders
- ✓ Set up local folders
- track/endurance planning
- shipping
- Basestation prep
- ✓ Update constants (
sg_calib_constants.m,sg_plot_constants.m) - ✓ Initiate new mission
- ✓ Add mission to
mission.yml - Check/prep piloting files
- ✓ Update constants (
- Launch day prep
- Self test review
- Parameter checks
- Final file checks
- ??
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
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.xlsxIf shipping…
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
└── tracksSee 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_locationto match the conventions used in agate - Either manually create the
basestationFilesandflightStatusfolders within this mission folder, or usemkdirin 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
Prepare basestation
These instructions are for seaglider.pub/basestation3
- Connect to
seaglider.pubvia 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 -lafrom 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
- Check the current folder with the command
- If there are mission-specific piloting files (e.g.
baselog,p######.log,.nc, etc.) those need to be moved usingMoveData.py(this is unlikely as it was the old approach) BEFORE setting up the new mission or they may be overwritten
MoveData.py
(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/SGxxxor 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 beYYYY-MM-DD_deployment_locationor 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.pyto create a new folder for this specific mission- The function will set up the mapping of the
currentfolder 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, andsg_plot_constants.m.
- The function will set up the mapping of the
- Run the function with the below code
<newMissionFolderName>is the folder name that matches the mission title string set insg_calib_constants.mand follows the format ofYYYYMMDD_location/projectwhere location/project is something likeOahuorWHICEAS- Example:
20251202_tests_wispr
- Example:
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 -lafrom the home directory
sg_calib_constants.m,sg_plot_constants.m,sections.yml,cmdfile,targets,science,scicon.shget 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.ymland 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.ymlfor editing (using vi or nano) - Copy the previous mission to the
# past missionssection if needed- Mark the previous mission as complete by adding the line
status: complete
- Mark the previous mission as complete by adding the line
- Update the mission name and folder path in the
# current missionssection
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.ymlUpdate “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.min 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.mUpdate
sg_plot_constants.m - Modify the copy of
-
- The home directory may have some examples for common locations (e.g., Shilshole) that can be copied or new coordinates can be entered
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,volmaxand 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.bator create placeholders- Shouldn’t need one to start a mission but sometimes is useful to have a placeholder such as
pdoscmds.bat_targetthat 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
- Shouldn’t need one to start a mission but sometimes is useful to have a placeholder such as
More to come soon…