mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
5927542999
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
1038 lines
46 KiB
Text
1038 lines
46 KiB
Text
Subsurface 3.0 User Manual
|
|
==========================
|
|
:author: Jacco_van_Koll,_Dirk_Hohndel,_Reinout_Hoornweg,_Linus_Torvalds,_Miika_Turkia_and_Amit_Chaudhuri
|
|
:revnumber: v3.0.0
|
|
:revdate: February 2013
|
|
:toc:
|
|
:icons:
|
|
:numbered:
|
|
:website: http://subsurface.hohndel.org
|
|
|
|
Scope of this document is the usage of the program.
|
|
Please read the build manual for instructions how to build the
|
|
software and (if needed) its dependencies.
|
|
|
|
Audience: Fun Divers, Tec Divers, Professional Divers
|
|
|
|
|
|
[[S_Introduction]]
|
|
Introduction:
|
|
-------------
|
|
|
|
Subsurface is an open source divelog program that runs on Windows, Mac
|
|
and Linux. It was started because of a lack of viable divelog
|
|
software on Linux. It then turned out that the resulting software was
|
|
fairly easily ported to Windows and Mac and today great effort is put
|
|
into making it a viable application on all three platforms.
|
|
|
|
The program is under active development and at version 3.0 it compares
|
|
favorably to many other programs in this market.
|
|
|
|
While the list of supported dive computers is very long, in this
|
|
manual the Suunto Vyper will be used for all examples.
|
|
|
|
|
|
[[S_Requirements]]
|
|
Requirements
|
|
------------
|
|
|
|
Before you are able to import information from your dive computer into
|
|
Subsurface, you need some preparation. Do you have the following:
|
|
|
|
1. Your Dive Computer - compatible with libdivecomputer (see list in <<AppendixA,Appendix A>>)
|
|
2. Communication interface - usually that means a cable to connect your dive computer to your PC/Laptop/Netbook; some dive computers use IRDA or Bluetooth as well
|
|
3. Working installation of Subsurface
|
|
4. If needed, the manual of your dive computer
|
|
|
|
Alternatively you can import your divelogs from a couple of other
|
|
divelog applications (JDiveLog, MacDive, Suunto Dive Manager,
|
|
divelogs.de). However,
|
|
native download from dive computer directly to Subsurface is
|
|
recommended.
|
|
|
|
|
|
[[S_StartUsing]]
|
|
Start Using the Program
|
|
-----------------------
|
|
|
|
When you start the program for the first time, it shows no information
|
|
at all. This is because the program doesn't have any information available.
|
|
If you have used the program before and saved the data, the program will
|
|
automatically load the already available divelog files.
|
|
|
|
There is a menu, containing 'File', 'Log', 'Filter', 'Planner' and 'Help'.
|
|
|
|
The screen is divided in 3 area's (shown below with test dives loaded):
|
|
|
|
- Area with 4 tabs: Dive Notes, Equipment, Dive Info, and Stats
|
|
- Area next to the 4 tabs which will contain the dive profile
|
|
- Area with the dives (usually called dive list) which can be sorted by number, date, etc.
|
|
|
|
image::images/main_window.png["The Main Window",align="center"]
|
|
|
|
[[S_DiveProfile]]
|
|
Dive Profile and Included information
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The dive profile show on main screen is loaded with information.
|
|
However, a great effort is given to keep the profile simple, yet
|
|
informative.
|
|
|
|
The main information of the dive profile is the depth graph. On top of
|
|
the obvious information of the depth it shows also the ascent and
|
|
descent rate compared to average (or recommendation). This information
|
|
is given using different colors. Dark red means the ascent or descent
|
|
rate is faster than average, dark green means slower than average and
|
|
yellow / light green is close to average. The depth graph includes also
|
|
depth readings for the peaks in the graph. Thus you should see the
|
|
depth of the deepest point and other peaks. Average depth is marked with
|
|
a horizontal red line.
|
|
|
|
The air consumption graph displays the tank pressure and its change
|
|
during the dive. The air consumption takes depth into account so that
|
|
even when manually entering the start and end pressures the graph is not
|
|
a straight line. Similarly to the depth graph the tank pressure
|
|
gives you information of the SAC rate when using air integrated dive
|
|
computer. Same color coding is used with dark red being faster and dark
|
|
green slower air consumption than average.
|
|
|
|
Water temperature is displayed with its own blue line with degree
|
|
markings placed adjacent to significant changes.
|
|
|
|
It is also possible to zoom in the profile graph. This is done by the
|
|
left mouse button and zoom area can be changed by moving the mouse while
|
|
the button is pressed down. There is also a toggle zoom under the 'Log'
|
|
menu that changes the scale of the dive to fill the whole area, useful
|
|
especially for free divers.
|
|
|
|
[[S_TecDiveProfile]]
|
|
Tec Information in Dive Profile
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The dive profile can include Tec settings. Enabling these is described
|
|
in chapter <<S_SettingUpPreferences,Setting up Preferences>>. Basically
|
|
you can include graphs of accumulated pO2, pN2, pHe. These graphs are
|
|
added below the profile data. On top of the profile the currently used
|
|
gradient factors are shown (e.g. GF 35/75).
|
|
|
|
The graph can also include both the dive computer reported ceiling and
|
|
our calculated ceiling. Because of the differences in used algorithms it
|
|
is unlikely that both of these are the same. It is even quite common
|
|
that Subsurface calculates ceiling for non-decompression dives when the
|
|
dive computer was not in deco mode during the dive.
|
|
|
|
[[S_ImportNewDives]]
|
|
Import New Dives from your Dive Computer
|
|
---------------------------------------
|
|
|
|
Before you start fiddling around with your dive computer, note that
|
|
there are dive computers that consume more power when they are in the
|
|
PC-Communication mode. This could drain your battery. Therefor, ensure
|
|
if your computer is recharging when connecting to the USB port. The
|
|
Suunto Vyper does not recharge through the USB connection. Please
|
|
consult the manual of your dive computer if you are unsure if it will
|
|
be recharged when connected to the USB port.
|
|
|
|
Now it is time to hook up your dive computer to your PC:
|
|
|
|
- Make sure that your OS has the required drivers installed
|
|
|
|
* On Linux this means you need to have the correct kernel
|
|
module loaded. Most distributions will do this automatically
|
|
for you.
|
|
|
|
* On Windows, the OS should offer to download the correct
|
|
driver when you connect your dive computer to the USB port.
|
|
|
|
* On a Mac you at times have to manually hunt for the correct
|
|
driver. For example the correct driver for the Mares Puck
|
|
devices can be found as Mac_OSX_VCP_Driver.zip at
|
|
http://www.silabs.com/support/pages/support.aspx?ProductFamily=USB+Bridges
|
|
(see further hints in <<AppendixB,Appendix B>>)
|
|
|
|
- Connect your interface cable to a free USB port
|
|
|
|
- Put your dive computer into PC Communication mode. (For 'Suunto Vyper', press Mode - 1 Memory - 3 TR-PC)
|
|
(You should consult the manual of your specific dive computer for your brand and type)
|
|
|
|
- In Subsurface go to 'Log - Download From Dive Computer'
|
|
* Using the two drop down lists, choose your vendor and product. Here we choose 'Suunto' and 'Vyper' as is shown on the screenshot below.
|
|
* Select the device name under which your interface is connected from the drop down list.
|
|
* Click the 'OK' button.
|
|
|
|
image::images/download_dc.png["Download from Dive Computer",align="center"]
|
|
|
|
- Now watch how your data is retrieved from your dive computer!
|
|
Depending on your type of computer and/or number of dives, this
|
|
could take some time. Please be patient.
|
|
|
|
[[S_ImportUemis]]
|
|
Import New Dives from a Uemis Zurich
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Things are very similar when downloading dives from a Uemis Zurich
|
|
dive computer (which certainly is one of the ones that DO recharge when
|
|
connected to the USB port). The main difference is that you don't enter a
|
|
device name, but instead the location where the UEMISSDA file system is
|
|
mounted once you connect the dive computer.
|
|
|
|
On Windows this is a drive letter (often 'E:' or 'F:'), on a Mac this is
|
|
'/Volumes/UEMISSDA' and on Linux systems this differs depending on the
|
|
distribution that you use. On Fedora it usually is
|
|
'/var/run/media/<your_username>/UEMISSDA'. In all cases Subsurface
|
|
should suggest the correct location in the drop down list.
|
|
|
|
So once you have selected this as device name you can download the
|
|
dives from the Uemis Zurich. One technical issue with the Uemis Zurich
|
|
download implementation (this is a firmware limitation, not a
|
|
Subsurface issue) is that you cannot download more than about 40-50
|
|
dives without running out of memory on the SDA. This will usually only
|
|
happen the very first time you download dives from the Uemis Zurich -
|
|
normally when downloading at the end of a day or even after a dive
|
|
trip, the capacity is sufficient. If Subsurface displays and error
|
|
that the dive computer ran out of space the solution is straight
|
|
forward. Disconnect the SDA, turn it off and on again, and reconnect
|
|
it. You can now retry (or start a new download session) and the
|
|
download will continue where it stopped the last time you tried. You
|
|
may have to do this more than once, depending on how many dives you
|
|
have stored on your dive computer.
|
|
|
|
At this point Subsurface downloads most of the information that is
|
|
stored on the SDA, including information about dive spots and
|
|
equipment. Buddy information is not yet downloaded.
|
|
|
|
|
|
[[S_HowFindDeviceName]]
|
|
How to Find the Device Name
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
When you connect your dive computer by using an USB connector, usually
|
|
Subsurface will propose a drop down list that contains the correct
|
|
device name (or mount point for the Uemis Zurich). In the rare cases
|
|
where this doesn't work here are some instructions on ways to find out
|
|
what your dive name is:
|
|
|
|
.On Linux:
|
|
|
|
- Disconnect your USB cable of your dive computer
|
|
- Open a terminal
|
|
- Type the command: 'dmesg' and press enter
|
|
- Plug in your USB cable of your dive computer
|
|
- Type the command: 'dmesg' and press enter
|
|
|
|
Within your terminal you should see a message similar to this one:
|
|
|
|
usb 2-1.1: new full speed USB device number 14 using ehci_hcd
|
|
usbcore: registered new interface driver usbserial
|
|
USB Serial support registered for generic
|
|
usbcore: registered new interface driver usbserial_generic
|
|
usbserial: USB Serial Driver core
|
|
USB Serial support registered for FTDI USB Serial Device
|
|
ftdi_sio 2-1.1:1.0: FTDI USB Serial Device converter detected
|
|
usb 2-1.1: Detected FT232BM
|
|
usb 2-1.1: Number of endpoints 2
|
|
usb 2-1.1: Endpoint 1 MaxPacketSize 64
|
|
usb 2-1.1: Endpoint 2 MaxPacketSize 64
|
|
usb 2-1.1: Setting MaxPacketSize 64
|
|
usb 2-1.1: FTDI USB Serial Device converter now attached to ttyUSB3
|
|
usbcore: registered new interface driver ftdi_sio
|
|
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
|
|
|
|
You see that in the third line from the bottom, the USB adapter is
|
|
detected and is connected to 'ttyUSB3'. Now you use this information in
|
|
the import settings as '/dev/ttyUSB3'. Your dive computer interface is
|
|
connected and you should be able to import your dives.
|
|
|
|
.On Windows:
|
|
|
|
Simply try COM1, COM2, etc. The drop down list should contain all connected COM devices.
|
|
|
|
.On MacOS:
|
|
|
|
The drop down box should find all connected dive computers.
|
|
|
|
|
|
[[S_ViewingLogs]]
|
|
Viewing and Completing Your Logs
|
|
--------------------------------
|
|
|
|
When all data from your dive computer is transferred, you will see a
|
|
listing of your dives in Area 3.
|
|
|
|
An example:
|
|
|
|
On Sunday Oct 23, 2011 you made a dive.
|
|
In the log line of this dive, you see the following information:
|
|
[width="70%",cols="<20%,40%,40%",options="header"]
|
|
|===============================================================================
|
|
| Header | Value | Description of field
|
|
| # | 12 | Dive number
|
|
| Date | Sun, Oct 23, 2011 10:50 | Date and time of your dive
|
|
| * | | Your rating (none at this time)
|
|
| m | 12.8 | Your maximum depth in meters
|
|
| min | 31:20 | Your dive-time in minutes and seconds
|
|
| Deg. C | 13.0 | Lowest water temperature during your dive
|
|
| kg | | Weight carried (none at this time)
|
|
| Suit | | Exposure protection suit worn (none at this time)
|
|
| Cyl | | Your used cylinder (none at this time)
|
|
| O2% | air | What type of mixture
|
|
| SAC | | SAC (none at this time)
|
|
| Location | | Where you performed your dive (empty)
|
|
|===============================================================================
|
|
|
|
As you can see, some information is already there because it is
|
|
retrieved from your dive computer. Some information is waiting for
|
|
you to be added. By double clicking on this dive, you can view and
|
|
complete the log.
|
|
|
|
The different types of information shown in this list may differ depending on the settings. More
|
|
about that in <<S_SettingUpPreferences,Setting up Preferences>>.
|
|
|
|
[[S_EditDiveInfo]]
|
|
Edit the Dive Info
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
When you double click on the divelog line as described in
|
|
<<S_ViewingLogs,Viewing and Completing Your Logs>>, an editor window
|
|
opens as shown in this screenshot:
|
|
|
|
image::images/edit_dive_info.png["Edit Dive Info",align="center"]
|
|
|
|
The purpose of the fields is described in the table below:
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Location | An input where you can enter your new location, or you can choose with the pull-down previous locations
|
|
| GPS (WGS84 or GPS format) | An input where your can enter geographic coordinates of the dive site
|
|
| Pick on map | A button you can click on to display an interactive map on which you can select the location of the dive site
|
|
| Dive Master | An input where you can enter the name of your Dive Master, or you can choose with the pull-down a previous name
|
|
| Buddy | An input where you can enter the name of you Buddy, or you can choose with the pull-down a previous name
|
|
| Rating | A pull-down where you can rate your dive
|
|
| Suit | An input where you can track the exposure protection suit you were wearing
|
|
| Visibility | A pull-down where you can rate the visibility underwater
|
|
| Air Temp in deg. C | An input where you can enter the air temperature
|
|
| Notes | A free input where you can enter information about your dive. What you've seen, etc.
|
|
|===============================================================================
|
|
|
|
Now you can add information that is missing. Let's start with
|
|
completing the example:
|
|
|
|
In this example we use the following information:
|
|
|
|
[width="70%",cols="<33%,67%"]
|
|
|===============================================================================
|
|
| Location | Oostvoornse Meer
|
|
| Dive Master | S. de Vries
|
|
| Buddy | S. de Vries
|
|
| Rating | 3 stars
|
|
| Suit | 7mm wet
|
|
| Notes | First dive here. Good visibility. Did see the concrete poles, some crab and fish. Very nice and easy dive. +
|
|
Made movie with headcam.
|
|
|===============================================================================
|
|
|
|
Now don't press OK yet!
|
|
|
|
[[S_EditEquipmentInfo]]
|
|
Edit Equipment Info
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
You also want to edit your Cylinder information and in the
|
|
<<S_EditDiveInfo, previous chapter>>, this was not edited. There is
|
|
still another item to edit in the Dive Info screen: 'Cylinder'
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Cylinder | A double-click field set. Here you can edit your Cylinder information
|
|
|===============================================================================
|
|
|
|
So, when you double click on the cylinder info or press the 'Edit' button, you get another
|
|
pop-up.
|
|
|
|
image::images/cylinder.png["Edit Cylinder",align="center"]
|
|
|
|
This pop-up window contains the following information:
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Cylinder | Pull-down where you can choose your Cylinder, or add your own
|
|
| Size | The volume if not `filled'
|
|
| Pressure | The maximum pressure of this Cylinder
|
|
| Start Pressure _(optional)_ | What was the pressure starting the dive
|
|
| End Pressure _(optional)_ | What was the pressure ending the dive
|
|
| Gasmix _(optional)_ | What was the percentage O2 and He of the blend
|
|
|===============================================================================
|
|
|
|
Now we are going to enter the data:
|
|
[width="40%",cols="<34%,33%,33%",options="header"]
|
|
|===============================================================================
|
|
| Cylinder | Size | Pressure
|
|
| 15.0 l | 15.0 | 220
|
|
|===============================================================================
|
|
|
|
Now tick the option for Start & End pressure and enter the pressures:
|
|
[width="40%",cols="<50%,50%",options="header"]
|
|
|===============================================================================
|
|
| Start Pressure | End Pressure
|
|
| 180 | 60
|
|
|===============================================================================
|
|
|
|
Press 'OK'.
|
|
|
|
In very much the same way you can enter the weight you were carrying on
|
|
the dive. Subsurface tracks the following:
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Type | Specific type of weight system, like weight belt, integrated pockets
|
|
| Weight | Amount of weight (by default in kg, but can be switched to use lbs)
|
|
|===============================================================================
|
|
|
|
Enter the following data:
|
|
[width="40%",cols="<50%,50%",options="header"]
|
|
|===============================================================================
|
|
| Type | Weight
|
|
| Integrated | 13kg
|
|
|===============================================================================
|
|
|
|
Press 'OK'.
|
|
|
|
Now your dive information for this dive is complete. You can now press
|
|
'OK' in the Dive Info screen and view the results.
|
|
|
|
[[S_ViewInfoStats]]
|
|
View Dive Info & Stats
|
|
----------------------
|
|
|
|
After adding all the information, you can use the tab 'Dive Info' and
|
|
the 'Stats tab'. These tabs will provide you with all the (statistical and
|
|
calculated) information regarding your dive.
|
|
|
|
The information contains:
|
|
|
|
**Dive Info:**
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Date | Date and time of your dive
|
|
| Dive Time | Duration of your dive
|
|
| Surf Intv | Interval between previous dive and this dive
|
|
| Max Depth | Maximum depth of this dive
|
|
| Avg Depth | The average depth of this dive
|
|
| Visibility | The visibility under water
|
|
| Water Temp | Lowest temperature of the water
|
|
| Air Temp | The temperature of the air at the surface
|
|
| Air Press | The air pressure at the surface
|
|
| SAC | The amount of Surface Air Consumption liters per minute
|
|
| OTU | The Oxygen Toxicity Units of this dive
|
|
| O2/He | Amount of Oxygen/Helium
|
|
| Gas Used | The total volume of gas used during this dive
|
|
|===============================================================================
|
|
|
|
**Statistics:**
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Dives | Number of dives covered (usually one, unless you select more dives)
|
|
| Max/Min/Avg Temp | Corresponding temperature of the dives covered
|
|
| Total time | Total time of the covered dives together, calculated
|
|
| Avg/Long/Short Time | The average / longest / shortest dive time of the covered dives, calculated
|
|
| Max/Min/Avg Depth | The maximum / minimum / average depth of the covered dives
|
|
| Max/Min/Avg SAC | Highest / lowest / average Surface Air Consumption of your covered dives
|
|
|===============================================================================
|
|
|
|
There is also a yearly statistics option that is reachable from the menu 'Log -
|
|
Yearly Statistics'. These statistics show you information on how many dives you
|
|
have done per year and how long you spent below surface in total (during each
|
|
year). You can also dig into a monthly level displaying the same information on
|
|
monthly basis. Following information is given for each year (and month when expanded):
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Description of field
|
|
| Year > Month | Year and month that is shown
|
|
| # | Amount of dives during the year (or month) in question
|
|
| Duration Total | Duration of all dives added together
|
|
| Average | Average duration of a dive
|
|
| Shortest | Duration of the shortest dive
|
|
| Longest | Duration of the longest dive
|
|
| Depth Average | Average depth of the dives
|
|
| Minimum | This is the maximum depth of the shallowest dive
|
|
| Maximum | Greatest maximum depth of the deepest
|
|
| SAC Average | Average air consumption
|
|
| Minimum | Minimum air consumption on a single dive
|
|
| Maximum | Maximum air consumption on a single dive
|
|
| Temperature Average | The average temperature of the recorded minimum temperatures of the dives
|
|
| Minimum | The minimum temperature of the dives
|
|
| Maximum | The maximum (minimum) temperature of the recorded dives
|
|
|===============================================================================
|
|
|
|
[[S_SettingUpPreferences]]
|
|
Setting up Preferences
|
|
----------------------
|
|
|
|
Subsurface has the ability to modify the preferences you want. By
|
|
using menu 'File - Preferences' you will be presented a pop-up. The pop-up
|
|
has two tabs: 'General Settings' and 'Tec Settings' as shown below.
|
|
|
|
image::images/preferences.png["Preferences",align="center"]
|
|
|
|
The General Settings allow you to select units, columns to be shown, the
|
|
font used for the dive list and the default file that contains the data.
|
|
|
|
The Tec Settings offer extra columns to show, settings for more graphs and
|
|
information to be shown in the dive profile and settings for GFlow and
|
|
GFhigh.
|
|
|
|
In General Settings you are free to choose what your preference are for the
|
|
units to be displayed, with other words, use Metric or Imperial.
|
|
|
|
You can set the following options with 'Units':
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Field | Units to be displayed
|
|
| Depth | Your diving depth in Meters or Feet
|
|
| Pressure | The pressure of your tank(s) in Bar/Ato or PSI (Pressure Square Inch)
|
|
| Volume | The volume of your tank(s) in Liter or CuFt (Cubic Feet) (At sea-level pressure)
|
|
| Temperature | The temperature of the water in Celsius or Fahrenheit
|
|
| Weight | The weight of your weight system in kg or lbs
|
|
|===============================================================================
|
|
|
|
In the main screen, you did see in Area 3, some information. With the
|
|
'Show Columns', you can enable/disable options you would like to show
|
|
there:
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Column type | Description
|
|
| Temp | Shows the temperature of your dive
|
|
| Cyl | Shows the cylinder(s) of your dive
|
|
| O2% | Shows the O2% of your dive
|
|
| SAC | Shows the SAC of your dive (Surface Air Consumption)
|
|
| Weight | Shows the total weight carried
|
|
| Suit | Shows the suit you were wearing
|
|
|===============================================================================
|
|
|
|
With 'Divelist Font', you can change the font used in the dive list,
|
|
|
|
And you can use 'Default XML Data File' to specify which file contains the
|
|
data the program will use by default.
|
|
|
|
The other tab holds the 'Tec Settings'
|
|
You can select more columns to be shown with 'Show Columns':
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Column type | Description
|
|
| OTU | The number of Oxygen Toxicity Units
|
|
| maxCNS |The maximum Central Nervous System oxygen toxicity
|
|
|===============================================================================
|
|
|
|
The 'Profile Setting' allow you to show extra information in the dive profile:
|
|
|
|
[width="90%",cols="<33%,67%",options="header"]
|
|
|===============================================================================
|
|
| Setting | Description
|
|
| Show pO2 graph | Show a graph of the oxygen partial pressure (with a threshold, default 1.6)
|
|
| Show pN2 graph | Show a graph of the nitrogen partial pressure (with a threshold, default 4.0)
|
|
| Show pHe graph | Show a graph of the helium partial pressure (with a threshold, default 13.0)
|
|
| Show MOD | Show the Maximum Operating Depth of the used gas-mix (for the given max. ppO2, default 1.6)
|
|
| Show EAD, END, EADD | Show Equivalent Air Depth (considering N2 and O2 narcotic), Equivalent Nitrogen Depth (considering just N2 narcotic) and Equivalent Air Density Depth
|
|
| Show dc reported ceiling in red | Show the ceiling as reported by the dive computer
|
|
| Show calculated ceiling | Show the ceiling as calculated by Subsurface
|
|
| 3m increments for calculated ceiling | The calculated ceiling is not continuous, but increments in 3m steps
|
|
| GFlow | Set the Low Gradient Factor (default 30)
|
|
| GFhigh | Set the High Gradient Factor (default 75)
|
|
|===============================================================================
|
|
|
|
|
|
I will give an example here:
|
|
|
|
I am a diver in The Netherlands, using the Metric System. Therefor, I
|
|
go to the menu File, choose Preferences here. In the Units section, I
|
|
use the following:
|
|
|
|
- Depth: Meter
|
|
- Pressure: Bar
|
|
- Volume: Liter
|
|
- Temperature: Celsius
|
|
- Weight: kg
|
|
|
|
I would like to see the:
|
|
|
|
- Temperature
|
|
- Show Cyl
|
|
- Show O2%
|
|
- Show SAC
|
|
|
|
Clicking 'OK' on the dialog stores these settings.
|
|
|
|
[[S_ImportingAlienDiveLogs]]
|
|
Importing Divelogs from other Software
|
|
--------------------------------------
|
|
|
|
Subsurface will import divelogs from a couple of other log software. We
|
|
support currently XML exports from DivingLog, divelogs.de and Suunto
|
|
DiveManager. Native format of JDiveLog and MacDive are imported as well.
|
|
|
|
When importing dives subsurface tries to detect multiple records for
|
|
the same dive and merges the information as best as it can. So as long
|
|
as there are no time zone issues (or other reasons that would cause the
|
|
beginning time of the dives to be substantially different) subsurface
|
|
will not create duplicate entries.
|
|
|
|
[[S_ImportingDivesJDiveLog]]
|
|
Importing Dives from JDiveLog
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Maybe you have been using JDiveLog and you have a lot of dives logged in
|
|
this program. You don't have to type all information by hand into
|
|
Subsurface, because you can import your divelogs from JDiveLog.
|
|
|
|
JDiveLog stores its information into files with the extension of .jlb.
|
|
These .jlb contain all the information that has been stored, except your
|
|
images in XML format.
|
|
|
|
By using the menu 'File - Import XML File(s)' you get a popup asking
|
|
for the file name. To import your JDiveLog file(s) do the following:
|
|
|
|
- Open 'File - Import XML Files(s)' on the menu
|
|
- Browse your directories to the location where your *.jlb file is
|
|
- Select your existing *.jlb file and click 'open'
|
|
- Click the OK button in the popup
|
|
|
|
After a few moments, you see your existing logs in Subsurface. Now you can
|
|
edit your dives like explained in <<S_EditDiveInfo, chapter Editing the Dive Info>>.
|
|
|
|
Information that is imported from JDiveLog into the location field:
|
|
|
|
- Extended dive location information
|
|
|
|
Information that is merged into the location or notes field:
|
|
|
|
- Used amount of weight
|
|
- Used type of suit
|
|
- Used type of gloves
|
|
- Type of dive
|
|
- Dive activity
|
|
|
|
Alternatively, you can start subsurface with the --import command line
|
|
which will have the same effect:
|
|
|
|
subsurface MyDives.xml --import JDiveLogDives.jlb
|
|
|
|
will open your divelog (assuming that's called MyDives.xml) and then
|
|
import the dives from JdivelogDives.jlb. You can now save the combined
|
|
divelog back as MyDives.xml.
|
|
|
|
[[S_ImportingDivesSuunto]]
|
|
Importing dives from Suunto Divemanager 3.*
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Before you can start importing dives from Suunto Divemanager, you first
|
|
have to export the dives you want to import. Subsurface does not import
|
|
directly from the Suunto Divemanager log files. The following procedures
|
|
unpacking instructions for Linux and Windows.
|
|
|
|
Export from Suunto Divemanager
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
- Start Suunto Divemanager and login with the name containing the logs
|
|
- Do not start the import wizard to import dives from your computer.
|
|
- In the navigation tree on the left side of the program-window, select your dives.
|
|
- Within the list of dives, select the dives you would like to import later:
|
|
* To select certain dives: hold ctrl and point & click the dive
|
|
* To select all dives: Select the first dive, hold down shift and select the last dive
|
|
- With the dives marked, use the program menu 'File - Export'
|
|
- The export pop-up will show
|
|
- Within this pop-up, there is one field called Export Path.
|
|
* Click the button browse next to the field Export Path
|
|
** A file-manager like window pops up
|
|
** Navigate to the directory where you want to store the Divelog.SDE file
|
|
** Optional change the name of the file you want to save
|
|
** Click 'Save'
|
|
* You are back in the Export pop-up. Press the button 'Export'
|
|
- Your dives are now exported to the file Divelogs.SDE.
|
|
|
|
Reading Suunto Divemanager Export in Subsurface
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The file Divelogs.SDE can now be opened (or imported) in
|
|
Subsurface. Different from earlier versions of Subsurface, no manual
|
|
unpacking of the .SDE file is needed anymore.
|
|
|
|
[[S_ImportingMacDive]]
|
|
Importing Dives from MacDive
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Importing logs from MacDive is as easy as it gets. Do the following
|
|
steps in Subsurface:
|
|
|
|
- Open the following menu 'File - Import XML Files(s)'
|
|
- Browse your directories to the location where your MacDive logs are
|
|
stored
|
|
- Select the log file(s) you want to import and click 'open'
|
|
- Click the OK button in the popup
|
|
|
|
After a few moments, you see your existing logs in Subsurface. Now you can
|
|
edit your dives like explained in <<S_EditDiveInfo, chapter Editing the Dive Info>>.
|
|
|
|
We currently attempt to import all the relevant dive information
|
|
excluding the used equipment and diver name.
|
|
|
|
It is also possible to do the importing from command line just like with
|
|
JDiveLog (see <<S_ImportingDivesJDiveLog, chapter Importing Dives from JDiveLog>>):
|
|
|
|
subsurface MyDives.xml --import MacDiveDives.xml
|
|
|
|
[[S_ImportingDivelogsDe]]
|
|
Importing Dives from divelogs.de
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Before you can start importing dives from divelogs.de, you first
|
|
have to export the dives you want to import. The exported DLD file can
|
|
be imported to Subsurface either from command line or from GUI.
|
|
|
|
Export from divelogs.de
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
- Login to http://en.divelogs.de with your account
|
|
- Go to the 'Export Logbook' page
|
|
- Choose 'DLD Export of your logbook' and save the resulting yourUserName.DLD file
|
|
|
|
Import divelogs.de to Subsurface
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
The import works similarly as importing any other divelogs. Just do the
|
|
following steps on Subsurface:
|
|
|
|
- Open the following menu 'File - Import XML Files(s)'
|
|
- Browse your directories to the location where yourUserName.DLD is
|
|
- Select the log file and click OK
|
|
|
|
After a few moments, you see your existing logs in Subsurface. Now you can
|
|
edit your dives like explained in <<S_EditDiveInfo, chapter Editing the Dive Info>>.
|
|
|
|
The fields that are currently not imported are: weather, visibility and
|
|
boat.
|
|
|
|
It is also possible to do the importing from command line just like with
|
|
JDiveLog (see <<S_ImportingDivesJDiveLog, chapter Importing Dives from JDiveLog>>):
|
|
|
|
subsurface MyDives.xml --import yourUserName.DLD
|
|
|
|
[[S_DivePlanning]]
|
|
Planning Dives
|
|
--------------
|
|
|
|
Subsurface supports planning of dives using open and closed circuit
|
|
equipment. This allows users to experiment with different plans and see
|
|
the effects of changing various parameters of the dives.
|
|
|
|
[WARNING]
|
|
Deco calculations with optionally displaying the ceiling is
|
|
done using a new implementation of the Buhlmann ZH16 algorithm with
|
|
gradient factors. Since the planner and our implementation of the
|
|
decompression algorithms are new and have received only a limited amount
|
|
of testing: +
|
|
**WE STRONGLY RECOMMEND NOT TO PLAN DIVES SIMPLY BASED ON THE
|
|
RESULTS GIVEN HERE.**
|
|
|
|
When you start the planner, a dialog appears as shown in the following
|
|
screen capture:
|
|
|
|
image::images/dive_planning.png["Dive Planning",align="center"]
|
|
|
|
In order to plan a dive some basic information needs to be entered:
|
|
|
|
- planned start time of the dive
|
|
- air consumption
|
|
- planned depths
|
|
- planned segment times
|
|
|
|
There is also other information available for those who
|
|
are familiar with dive planning or use closed circuit rebreathers.
|
|
|
|
[width="90%",cols="<25%,<75%"]
|
|
|===============================================================================
|
|
| Dive starts | Start time of the dive; '+60:00' means that the dive is 60 minutes in the future
|
|
| Surface Pressure | Air pressure on surface, default 1013 should suffice for most
|
|
| SAC during dive | Air consumption during the dive, use conservative value based on your own air consumption e.g. 20l/min
|
|
| SAC during decostop | Air consumption during decompression stop, e.g. 17 l/min
|
|
| GFlow | Gradient factor low value affects the ceiling calculation, leave to default if you are not familiar with GF
|
|
| GFhigh | Gradient factor high value affects the ceiling calculation, leave to default if you are not familiar GF
|
|
| **Ending Depth** | Depth where current segment ends; a different depth from the previous segment creates a transition segment for ascent or descent, keeping the same depth creates a segment at the given depth. By default the planner uses the measurement for length set in the preferences (meters for most users) - this can be overridden by explicitly specifying 'm' or 'ft'.
|
|
| **Segment Time** | Enter time in minutes; segment duration / relative time is indicated by a '+': '+3' or '+3:00' creates a segment that lasts 3 minutes, a bare number like '7' is used for a segment that ends 7 minutes after the start of the dive.
|
|
| **Gas Used** | Breathing gas mix used; the parser is reasonably flexible and understands terms like AIR, EAN32, 36% or 15/50 (compressed air, 32% nitrox, 36% nitrox or 15% O₂ / 50% He trimix, respectively); leaving this field empty indicates continued use of the previous gas, air by default
|
|
| **CC SetPoint** | SetPoint when diving with a closed circuit rebreather. Leave empty for open circuit dives with standard scuba equipment
|
|
|===============================================================================
|
|
|
|
The last four elements are repeated for each segment of a planned dive.
|
|
To illustrate the functionality let's plan a dive to 20 meters lasting 20
|
|
minutes at that depth and another 10 minutes at 10 meters. We'll only
|
|
concentrate on the dive profile here filling the segments.
|
|
|
|
[width="30%",cols="<33%,<33%,34%",options="header"]
|
|
|===============================================================================
|
|
| Ending Depth | Segment Time | Gas Used
|
|
| 20 | +3 | AIR
|
|
| 20 | +20 |
|
|
| 10 | +1:30 |
|
|
| 10 | +10 |
|
|
|===============================================================================
|
|
|
|
So we define the ending depth for the first segment to be 20 meters
|
|
(assuming metric preferences, you can also define the depth explicitly
|
|
to m or ft). We will take it easy and descent takes 3 minutes from
|
|
surface to the planned depth. Then we spend 20 minutes in same level
|
|
using same air as before (used gas is left empty).
|
|
|
|
Ascent to 10 meters will take one and half minutes that is slower than
|
|
the fastest recommendation. However, as you can see in Subsurface's
|
|
calculations it is still marked with yellow, meaning somewhat
|
|
conservative speed (green would be conservative and red on the fast
|
|
side). After the defined 10 minutes at even depth of 10 meters we let
|
|
Subsurface calculate how we will surface.
|
|
|
|
If decompression is required these stops are taken into account and
|
|
can be easily visualized by setting the first depth to e.g. 40 meters
|
|
(somewhat dependent on the GF settings). For the ascend phase of the
|
|
dive calculation Subsurface assumes a typical 9m/min (30ft/min) ascend
|
|
speed.
|
|
|
|
If needed more segments can be added by clicking 'Add waypoint'.
|
|
|
|
To add the dive to the divelist simply click 'OK'. Double-clicking on
|
|
the planned dive will show the details, including a written diveplan in
|
|
the Notes.
|
|
|
|
The dive we defined earlier will present itself like this:
|
|
|
|
--------------------------
|
|
DISCLAIMER / WARNING: THIS IS A NEW IMPLEMENTATION OF THE BUHLMANN
|
|
ALGORITHM AND A DIVE PLANNER IMPLEMENTION BASED ON THAT WHICH HAS
|
|
RECEIVED ONLY A LIMITED AMOUNT OF TESTING. WE STRONGLY RECOMMEND NOT TO
|
|
PLAN DIVES SIMPLY BASED ON THE RESULTS GIVEN HERE.
|
|
Subsurface dive plan
|
|
based on GFlow = 30 and GFhigh = 80 <1>
|
|
|
|
Transition to 20 m in 3:00 min - runtime 3:00 on air <2>
|
|
Stay at 20 m for 20:00 min - runtime 23:00 on air <3>
|
|
Transition to 10.0 m in 1:30 min - runtime 24:30 on air
|
|
Stay at 10.0 m for 10:00 min - runtime 34:30 on air
|
|
Transition to 0.0 m in 1:06 min - runtime 35:36 on air <4>
|
|
Gas consumption:
|
|
1849l of air <5>
|
|
--------------------------
|
|
<1> This shows the values used for GFlow and GFhigh
|
|
<2> A 'transition' is a change in depth in a certain amount of time
|
|
<3> A 'stay' is a constant depth for a specified amount of time
|
|
<4> Note that the planner assumes you always want to end the dive at the surface.
|
|
The final segment to 0m with a sane ascent rate is automatically added.
|
|
<5> The planner tries to estimate the needed amount of gas based on the plan and SAC
|
|
|
|
Following image shows the resulting profile along with a glimpse of the
|
|
aforementioned dive plan:
|
|
|
|
image::images/planned_dive.png["Planned Dive",align="center"]
|
|
|
|
[[S_Webservice,Web Service and Companion App]]
|
|
Web Service and Companion App
|
|
-----------------------------
|
|
|
|
This part of Subsurface is a bit of 'work in progress'. We are
|
|
developing a companion application for Android that will allow you to
|
|
track dive sites from your GPS-enabled Android device; at the time of
|
|
the Subsurface 3.0 release the app wasn't ready to be submitted to the
|
|
Google Play store, but since it is mostly usable when built form
|
|
source we left the server side integration in Subsurface.
|
|
|
|
Assuming you have used the companion app to name and locate dive sites
|
|
you can use this menu item to connect to our back-end server and
|
|
download this data. Enter your userid (you got this when registering
|
|
with the web service) and click 'Download'. If the data was
|
|
successfully downloaded you can click apply and Subsurface will match
|
|
the time stamps of the downloaded location and site name information
|
|
with the dives in your log and will add the GPS locations and dive
|
|
site names to your dives.
|
|
|
|
|
|
[[S_Menu]]
|
|
The Menu and Sub-Menus
|
|
----------------------
|
|
|
|
Within Subsurface, there are several menu and sub-menu options. All of
|
|
those will be described here with their function.
|
|
|
|
The File Menu
|
|
~~~~~~~~~~~~~
|
|
|
|
The file menu is used for the following menu options:
|
|
|
|
- New:: Close your current divelog (saving if necessary) and start a new empty dive list
|
|
- Open:: Open your saved Subsurface xml file(s)
|
|
- Save:: Save your current divelogs or changes you made to your divelogs
|
|
- Save As:: Save your current divelogs or changes you made to your divelogs under a different name
|
|
- Close:: Close your current divelog, saving as necessary
|
|
- Import XML File(s):: Import your dives from files exported by other divelogs
|
|
- Print:: Print your current divelog profiles and information about the dive
|
|
- Preferences:: Set your preferences as described in <<S_SettingUpPreferences,chapter Setting up Preferences>>
|
|
- Quit:: Quit the program
|
|
|
|
The Log Menu
|
|
~~~~~~~~~~~~
|
|
|
|
Within the Log menu, you will find the following sub-items:
|
|
|
|
- Download From Dive Computer:: Allows you to download dive information from your dive computer
|
|
- Download From Web Service:: Allows you to download dive information from the webservice (see <<S_Webservice,chapter Web Service and Companion App>>)
|
|
- Edit Device Names:: Allows you to add device nicknames to dive computers
|
|
- Add Dive:: Manually add a dive that you cannot download from an existing computer
|
|
- Renumber:: This option provides you with a pop-up. Within this
|
|
pop-up you can choose what the first number of your dives should be
|
|
for this set of dives.
|
|
- Autogroup:: Toggle the auto group setting (see the discussion in the <<S_SettingUpPreferences,chapter Setting up Preferences>>)
|
|
|
|
- Toggle Zoom:: The dive profile tries to convey some first glance information about
|
|
the depth of a dive - so the vertical scaling of the profile always
|
|
show a minimum of 30m / 90ft. This can be changed to be only 10m / 30ft.
|
|
- Yearly Statistics:: Contrary to the Statistics in the main display, these are purely calendar based
|
|
- Dives Locations:: Show an interactive map with locations of the logged dives with GPS coordinates
|
|
- View:: This is a submenu containing:
|
|
* List:: Show only the list of dives you have made
|
|
* Profile:: Show only the dive profile of the selected dive
|
|
* Info:: Show only the 3 tab information screen
|
|
* Three:: Show the 'default' 3 screen setup
|
|
* Prev DC Switch to the previous dive computer
|
|
* Next DC Switch to the next dive computer
|
|
|
|
The Filter Menu
|
|
~~~~~~~~~~~~~~~
|
|
|
|
This menu gives you the choice to enable or disable Events for the
|
|
selected divelog(s). At this time, you can enable or disable ascent.
|
|
When you enable ascent for your dives, within the dive profile, a yellow
|
|
marker with exclamation sign (!) will show on the points where you have
|
|
ascended.
|
|
|
|
The Planner Menu
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
This menu opens up a dive planning dialog. The dive planning is described
|
|
in <<S_DivePlanning,chapter Planning Dives>>.
|
|
|
|
The Help Menu
|
|
~~~~~~~~~~~~~
|
|
|
|
The Help menu shows only the About, which contains the version and author
|
|
information and License button.
|
|
|
|
|
|
[[AppendixA]]
|
|
Appendix A: Supported Dive Computers
|
|
------------------------------------
|
|
|
|
The use of libdivecomputer provides the support for dive computers.
|
|
Within the 'File - import' dialog box you will see a list of
|
|
dive computer vendors and respective products. This list is covering a
|
|
compatible set. Please check your users manual to check if your
|
|
computer will be supported.
|
|
|
|
Supported dive computers::
|
|
|
|
Atomics Aquatics:::
|
|
* Cobalt
|
|
|
|
Cressi / Zeagle / Mares:::
|
|
* Edy, Nemo Sport
|
|
* N2iTiON3
|
|
|
|
Mares:::
|
|
* Nemo, Nemo Excel, Nemo Apneist, ...
|
|
* Puck, Puck Air, Nemo Air, Nemo Wide, ...
|
|
* Darwin, Darwin Air, M1, M2, Airlab
|
|
* Icon HD, Icon HD Net Ready, Nemo Wide 2
|
|
|
|
Oceanic / Aeris / Sherwood / Hollis / Genesis / Tusa (Pelagic):::
|
|
* VT Pro, Versa Pro, Pro Plus 2, Wisdom, Atmos 2, Atmos AI, Atmos Elite, ...
|
|
* Veo 250, Veo 180Nx, XR2, React Pro, DG02, Insight, ...
|
|
* Atom 2.0, VT3, Datamask, Geo, Geo 2.0, Veo 2.0, Veo 3.0, Pro Plus 2.1, Compumask, Elite T3, Epic, Manta, IQ-900 (Zen), IQ-950 (Zen Air), IQ-750 (Element II), ...
|
|
|
|
Heinrichs Weikamp:::
|
|
* OSTC, OSTC Mk.2, OSTC 2N
|
|
* Frog
|
|
|
|
Reefnet:::
|
|
* Sensus
|
|
* Sensus Pro
|
|
* Sensus Ultra
|
|
Shearwater:::
|
|
* Predator, Petrel
|
|
|
|
Suunto:::
|
|
* Solution
|
|
* Eon, Solution Alpha and Solution Nitrox/Vario
|
|
* Vyper, Cobra, Vytec, Vytec DS, D3, Spyder, Gekko, Mosquito, Stinger, Zoop
|
|
* Vyper2, Cobra2, Cobra3, Vyper Air and HelO2
|
|
* D9, D6, D4, D9tx, D6i and D4i
|
|
|
|
Uemis:::
|
|
* Zurich
|
|
|
|
Uwatec:::
|
|
* Aladin
|
|
* Memo Mouse
|
|
* Smart, Galileo (infraread)
|
|
|
|
Zeagle:::
|
|
* N2iTiON 3
|
|
|
|
|
|
[[AppendixB]]
|
|
Appendix B: Mac OSX Driver Installation
|
|
---------------------------------------
|
|
|
|
Working out which driver to use for a Mac when using a particular dive computer can
|
|
require some experimentation. The libdivecomputer website provides a useful point from
|
|
which to start: http://www.divesoftware.org/libdc/drivers.html. It lists a number of
|
|
sites for manufacturers of the serial to USB chips which provide the necessary conversions.
|
|
|
|
Here you have two alternatives. Either you try each of the major drivers in turn until
|
|
you find the right one, or you follow some further steps to try and identify the right
|
|
driver up front. To determine the required driver up front, first attach the USB download
|
|
cable for your dive computer. Next open a terminal window and run the command:
|
|
|
|
system_profiler SPUSBDataType > usb.txt
|
|
|
|
You should end up with a file (usb.txt in this example) which contains the VID/PID information
|
|
which can then be used with the URL above to narrow the field. Just open the text file and
|
|
compare the information with the table in the drivers section of the web page. This should
|
|
point you to the relevant driver manufacturer. Typically, you then need to navigate to the
|
|
relevant sub page for "drivers" and then the one for "VCP drivers." VCP stands for Virtual
|
|
Com Port. You want VCP rather than D2XX drivers, for example. Make sure to download the correct
|
|
version for your particular version of OS X.
|
|
|
|
Downloaded that driver to your Mac and install it in the usual way. Details on how to
|
|
install on OS X 10.8 differ from earlier versions due to the new security functions.
|
|
Put simply, unless the driver has been digitally signed in an approved way OS X will
|
|
block the installation. You can either make some changes to your system security settings
|
|
or manually override the block. The latter seems more sensible and only involves
|
|
control-clicking the installation package and answering some standard dialogs. The sequence
|
|
goes like this:
|
|
|
|
- download the driver .dmg package to your downloads folder
|
|
- right click the downloads folder and navigate to the new dmg package
|
|
- control-click the package: a dialog will open stating that the package has not been signed
|
|
and is from an unknown developer and asking whether you really want to proceed
|
|
- if happy, you accept the dialog and the package opens and may show you one or more versions
|
|
- select the relevant version, click the package installer and that should be it.
|
|
|
|
You can find a high-level explanation of the new security features from apple here:
|
|
https://www.apple.com/osx/what-is/security.html.
|
|
|
|
Until you have the correct driver installed, subsurface will not be able to connect to your
|
|
dive computer. If you try one VCP driver and it still doesn't work, try the next manufacturer
|
|
until it does. If you run out of drivers and still can't get things working perhaps
|
|
it is time to contact us via the subsurface mail lists.
|