User Stories

Dive Computer

Backup

The diver backups dive computer data - configuration and dive profiles.

Dive computer data in its original (highly probably binary) structure is saved, then processed to Kenozooid data structures and saved. See also Backup Reprocess.

Backup Reprocess

The Kenozooid dive computer drivers can be buggy or not recognize all dive computer’s functionality, therefore there is a need to extract dive profiles and dive computer configuration once again.

Raw Data Conversion

The raw dive computer data can be obtained by other software, therefore there is a need to convert the raw data into Kenozooid data structures and save.

The resulting file should be similar or the same as in case of backuping data directly from a dive computer.

Dive Plan Simulation

Some of the dive computers allow to enter dive mode and simulate a dive with dive computer buttons, by controlling it from a personal computer or by using both techniques.

The diver starts simulation on a dive computer from a personal computer to simulate a dive plan.

Dive Replay

The diver starts dive simulation on a dive computer from a personal computer to replay a dive profile stored in dive logbook.

Data Plotting

Plot Dive Profile Details

The diver creates plots of multiple dive profiles.

Each dive profile plot is in separate file (or on separate page, i.e. in case of PDF file). The supported file output formats shall be: PDF, SVG and PNG.

Each plot contains the following information

  • dive profile graph (time vs. depth)

  • title (optional)

  • dive information (optional)

    • duration

    • maximum depth

    • temperature

  • average depth line (optional)

  • deco ceiling graph

  • gas change

  • setpoint change

  • 1.4 and 1.6 ppO2 depth limit graph (optional)

  • maximum ascent and descent events (optional)

Ascent speed values

  • are prefixed with “+”

  • visible when greater than 10m/min

Descent speed values

  • are prefixed with “-“

  • visible when greater than 20m/min

Compare Dive Profiles

The diver creates plot to compare two or more dive profiles.

The plot contains the following information

  • graph of dive profiles (each profile with different color)

  • title (optional)

Data Analysis

The analyst runs script to analyze dive and dive profile data. The script can have arguments.

Planning

Simple Calculation

The diver calculates

  • O2 partial pressure (ppO2) for depth and gas mix

  • Nitrogen parital pressure (ppN2) for depth and gas mix

  • equivalent air depth (EAD) for depth and gas mix

  • maximum operating depth (MOD) for ppO2 and gas mix

  • respiratory minute volume (RMV) for tank size, pressure in tank, maximum depth and dive duration

Decompression Dive

The diver is planning a decompression dive.

The dive plan input is

  • gas mix list (each with optional gas mix switch)

    • travel gas mixes (0 or more)

    • bottom gas mix

    • decompression gas mixes (0 or more)

  • maximum dive depth

  • bottom time

Kenozooid calculates dive plan, which consists of

  • main dive profile summary

  • emergency dive profile summary for lost gas

  • emergency dive profile summary for extended dive profile

  • emergency dive profile summary for extended dive profile and lost gas

  • gas logistics information

    • volume of each required gas mix for the main dive profile calculated using rule of thirds

    • volume of each required gas mix for each emergency dive profile

  • dive slates for

    • planned dive profile

    • emergency lost gas dive profile

    • emergency extended dive profile

    • emergency extended dive profile and lost gas

Profile summary is

  • maximum dive depth

  • bottom time (includes descent time)

  • descent time

  • total decompression time

  • total dive time

  • O2 partial pressure of bottom gas mix at maximum dive depth

  • maximum operating depth for bottom gas mix and maximum dive depth

Decompression stops are calculated with a decompression engine library.

Dive slate consists of the following columns

  • depth (is prefixed with * character on gas mix change event)

  • decompression time

  • run time

  • gas mix used at given dive profile segment

The dive plan is shown on the screen in textual format compatible with reStructuredText standard.

The dive plan should be configurable with

  • last stop 3m or 6m; default 3m

  • gradient factors; default GF low 30%, GF high 85%

  • respiratory minute volume (RMV); default 20l/min

The following parameters are used for dive plan calculation and might be configurable in the future

  • descent rate 20m/min

  • extended dive profile is 5 meters deeper and 3 minutes longer (+5m/+3min)

  • decompression model is ZH-L16B-GF

  • travel and bottom gas mix switch depth is calculated using ppO2 1.4

  • bottom gas mix switch depth is calculated using ppO2 1.6

  • decompression engine library is decotengu

Logbook

Add Dive

The diver adds a dive to dive logbook. A dive consists of dive data. The data is

  • date

  • maximum depth

  • dive duration

Optionally, diver can specify

  • time of dive

  • minimum temperature

  • buddy

  • dive site

Copy Dives

The diver copies dive from dive data backup or dive logbook to another dive logbook.

List Dives

The diver lists dives from dive logbook.

By default, all dives are displayed.

The dives output can be limited with

  • dive date query

  • buddy

  • dive site

Enumerate Dives

The diver enumerates dives in dive logbook.

The dives are enumerated in two ways

  • total dive number

  • day dive number

Dive Date Query

Dive date query should allow to specify

  • exact date (day) of a dive, i.e. 2011-12-01, 20111201

  • exact date and dive number, i.e. 2011-12-01#3

  • range of dates, i.e. 2011-12, 2011-12-01..2011-12-31

The format of date should be based on ISO 8601, in particular

  • year is 4 digit number

  • year is followed by month, month by day

Add Dive Site

The diver adds a dive site data to logbook file. The data can be

  • id of dive site

  • location, i.e. Red Sea

  • name, i.e. SS Thistlegorm

  • position (longitude and latitude) of dive site

List Dive Sites

The diver lists dive sites stored in logbook file.

Remove Dive Site

The diver removes dive site data from logbook file.

Add Buddy

The diver adds a buddy data to logbook file. The data can be

  • buddy id (short string like initials, nickname, etc.)

  • name

  • organization, i.e. PADI, CMAS

  • member id of organization buddy belongs to

List Buddies

The diver lists buddy data stored in logbook file.

Remove Buddy

The diver removes buddy data from logbook file.

Upgrade Files

The file format standard used by Kenozooid changes with time. The diver wants to upgrade his files to newer version of the file format.