summaryrefslogtreecommitdiffstats
path: root/Documentation/user-manual.txt
blob: ebe2406ccf674185416f660cf925c97f7396333c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
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
:revnumber: v3.0.1
: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 shown on the main screen is loaded with information.
However, great effort was taken 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 the recommended speed of going up or down in
the water column. This information is given using different
colors. Dark red means ascent faster than 18m/60ft per minute or
decent faster than 30m/100ft per minute. Orange implies an ascent
speed range between 9m and 18m (between 30 and 60ft) per minute (or
descent between 18m and 30m (60ft - 100ft) per minute). Yellow and
light green represent even slower speeds and dark green represents
reasonably stable situations where the vertical speed is between +/-
1.5m or 5ft per minute.

The depth graph also includes 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. Here the color coding is not relative to some absolute
values but relative to the average normalized air consumption during
the dive. So areas that are red or orange indicate times of increased
normalized air consumption while dark green reflects times when the
diver was using less gas than average. Please note that the color
coding is obviously only possible when a tank sensor is connected and
tank pressure readings during the dive are available.

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 either
by using the scroll wheel / scroll gesture of your mouse or trackpad
or by holding down the left mouse button; the zoom area can be changed
by moving the mouse around the profile. 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.