diff options
author | Guillaume GARDET <guillaume.gardet@free.fr> | 2015-01-14 16:25:59 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-01-15 09:02:29 +1300 |
commit | dc7397b06e9a555aac707ede1aea699ca3dad230 (patch) | |
tree | b49f3395f0ac9d03a5de5c6693e0f68fd31f3b0c /Documentation/user-manual_fr.txt | |
parent | b4b08bdcc583efe9fcca4f8e5605606a8906ea12 (diff) | |
download | subsurface-dc7397b06e9a555aac707ede1aea699ca3dad230.tar.gz |
Documentation: Add initial support for French translation
Add initial support to French (fr) translation of user-manual.
Note that it is not perfect, since the po4a tool loose some list item
indexes during PO to ASCIIDOC conversion (see asciidoc warning messages
during user manual generation).
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'Documentation/user-manual_fr.txt')
-rw-r--r-- | Documentation/user-manual_fr.txt | 3553 |
1 files changed, 3553 insertions, 0 deletions
diff --git a/Documentation/user-manual_fr.txt b/Documentation/user-manual_fr.txt new file mode 100644 index 000000000..6e458c0c9 --- /dev/null +++ b/Documentation/user-manual_fr.txt @@ -0,0 +1,3553 @@ +:icons: +:toc: +:toc-placement: manual +:numbered: + +image::images/Subsurface4Banner.jpg["Banner", align="center"] + +[big]#MANUEL UTILISATEUR# + +*Auteurs du manuel* : Willem Ferguson, Jacco van Koll, Dirk Hohndel, Reinout Hoornweg, +Linus Torvalds, Miika Turkia, Amit Chaudhuri, Jan Schubert, Salvador Cuñat, Pedro Neves + +[blue]#_Version 4.3, Décembre 2014_# + + +Bienvenue en tant qu'utilisateur de _Subsurface_, un programme avancé +d'enregistrement de plongées (carnet de plongées) avec une bonne +infrastructure pour décrire, organiser, interpréter et imprimer des plongées +en scaphandre et en apnée. _Subsurface_ offre de nombreux avantages par +rapport à d'autres solutions logicielles similaires : + + - Do you need a flexible way of logging dives using recreational equipment, + even not using a dive computer? + - Do you use two different dive computer brands, each with its own proprietary + software for downloading dive logs? Do you dive with rebreathers as well as + open circuit or recreational equipment? Do you use a Reefnet Sensus + time-depth recorder in conjunction with a dive computer? _Subsurface_ offers + a standard interface for downloading dive logs from all these different + pieces of equipment and to store and analyse the dive logs within a unified + system. + - Do you use more than one operating system? _Subsurface_ is fully compatible + with Mac, Linux and Windows, allowing you to access your dive log on each of + your operating systems using a single application. + - Do you use Linux or Mac and your dive computer has only Windows-based + software for downloading dive information (e.g. Mares)? _Subsurface_ + provides a way of downloading and analysing your dive logs on other + operating systems. + - Do you need an intuitive graphical dive planner that integrates with and + takes into account the dives that have already been logged? + +_Subsurface_ binaries are available for Windows PCs (Win XP or later), Intel +based Macs (OS/X) and many Linux distributions. _Subsurface_ can be built +for many more hardware platforms and software environments where Qt and +libdivecomputer are available. + +The scope of this document is the use of the _Subsurface_ program. To +install the software, consult the _Downloads_ page on the +http://subsurface-divelog.org/[_Subsurface_ web site]. Please discuss +issues with this program by sending an email to +mailto:subsurface@subsurface-divelog.org[our mailing list] and report bugs +at http://trac.hohndel.org[our bugtracker]. For instructions on how to +build the software and (if needed) its dependencies please consult the +INSTALL file included with the source code. + +*Audience*: Recreational Scuba Divers, Free Divers, Tec Divers, Professional +Divers + +toc::[] + +[[S_UserSurvey]] + +Le sondage utilisateur +---------------------- +In order to develop _Subsurface_ in a way that serves its users in the best +possible way, it is important to have some user information. Upon launching +_Subsurface_ after using this software for a week or so, a one-box user +survey pops up. It is entirely optional and the user controls what, if any, +data are sent to the _Subsurface_ development team. Any data that the user +chooses to send is extremely useful, and will only be used to steer future +development and to customise the software to fit the needs of the +_Subsurface_ users. If one completes the survey, or clicks the option not to +be asked again, that should be the last communication of this nature one +receives. However, if one's diving and/or subsurface habits change and one +wishes to provide another survey, this can be done by launching _Subsurface_ +with the _--survey_ option on the command line. + +[[S_StartUsing]] +Start Using the Program +----------------------- + +The _Subsurface_ window is usually divided into four panels with a *Main +Menu* (File Import Log View Filter Help) at the top of the window (for +Windows and Linux) or the top of the screen (for Mac and Ubuntu Unity). The +four panels are: + +The *Dive List* to the bottom left containing a list of all the dives in the +user's dive log. A dive can be selected and highlighted on the dive list by +clicking on it. In most situations the up/down keys can be used to switch +between dives. The *Dive List* is an important tool for manipulating a dive +log. + +The *Dive Map* to the bottom right, showing the user's dive sites on a world +map and centred on the site of the last dive selected in the *Dive List*. + +The *Dive Info* to the top left, giving more detailed information on the +dive selected in the *Dive List*, including some statistics for the selected +dive or for all highlighted dive(s). + +The *Dive Profile* to the top right, showing a graphical dive profile of the +selected dive in the *Dive List*. + +The dividers between panels can be dragged in order to change the size of +any of the panels. _Subsurface_ remembers the position of the dividers, so +the next time _Subsurface_ starts it uses the positions of the dividers from +when the program was last used. + +If a dive is selected in the *Dive List*, the dive location, detailed +information and profile of the _selected dive_ are shown in the respective +panels. On the other hand, if one highlights more than one dive the last +highlighted dive is the _selected dive_, but summary data of all +_highlighted dives_ are shown in the *Stats* tab of the *Dive Info* panel +(maximum, minimum and average depths, durations, water temperatures and SAC; +total time and number of dives selected). + +[[S_ViewPanels]] + +image::images/main_window_f20.jpg["The Main Window", align="center"] + +The user can determine which of the four panels are displayed by selecting +the *View* option on the main menu. This feature gives the user several +choices of display: + +*All*: show all four of the panels as in the screenshot above. + +*Divelist*: Show only the Dive List. + +*Profile*: Show only the Dive Profile of the selected dive. + +*Info*: Show only the Dive Notes about the last selected dive and statistics for +all highlighted dives. + +*Globe*: Show only the world map, centred on the last selected dive. + +Like many other functions that can be accessed via the Main Menu, these +options can be triggered using keyboard shortcuts. The shortcuts for a +particular system are shown with an underline in the main menu +entries. Since different Operating Systems and the user chosen language may +cause _Subsurface_ to use different shortcut keys they are not listed here +in the user manual. + +When the program is started for the first time, it shows no information at +all. This is because the program doesn't have any dive information +available. In the following sections, the procedures to create a new logbook +will be described. + +[[S_NewLogbook]] +Creating a new logbook +---------------------- +Select _File -> New Logbook_ from the main menu. All existing dive data are +cleared so that new information can be added. If there are unsaved data in +an open logbook, the user is asked whether the open logbook should be saved +before a new logbook is created. + +[[S_GetInformation]] +== Storing dive information in the logbook + +Now that a new logbook was created, it is simple to add dive data to it. +_Subsurface_ allows several ways of adding dive data to a logbook, detailed +in the following sections. + +If the user has a handwritten divelog, a spreadsheet or another form of +manually maintained divelog, dive data can be added to the logbook using one +of these approaches: + +Enter dive information by hand. This is useful if the diver did not use a +dive computer and dives were recorded in a written logbook. See: +xref:S_EnterData[Entering dive information by hand] + +Import dive log information that has been maintained either as a spreadsheet +or as a CSV file. Refer to: xref:S_Appendix_D[APPENDIX D: Exporting a +spreadsheet to CSV format] and the text about +xref:S_ImportingManualCSV[Importing dives from manually created CSV files] +and + +If one has dives recorded using a dive computer, the depth profile of the +dive and a large amount of additional information can be accessed. These +dives can be imported from: + +- The divecomputer itself. See: xref:S_ImportDiveComputer[Importing new dive + information from a Dive Computer] or + +Proprietary software distributed by manufacturers of dive computers. Refer +to: xref:S_ImportingAlienDiveLogs[Importing dive information from other +digital data sources or other data formats]. + +Import from spreadsheet or CSV files containing dive profiles. See: +xref:S_ImportingCSVDives[Importing dives in CSV format from dive computers +or other dive log software] + + +[[S_EnterData]] +=== Entering dive information by hand + +This is usually the approach for dives without a dive computer. The basic +record of information within _Subsurface_ is a dive. The most important +information in a simple dive logbook usually includes dive type, date, time, +duration, depth, the names of your dive buddy and of the dive master or dive +guide, and some remarks about the dive. _Subsurface_ can store much more +information than this for each dive. In order to add a dive to a dive log, +select _Log -> Add Dive_ from the Main Menu. The program then shows three +panels to enter information for a dive: two tabs in the *Dive Info* panel +(*Dive Notes* and *Equipment*), as well as the *Dive Profile* panel that +displays a graphical profile of each dive. These panels are respectively +marked [red]#A#, [red]#B# and [red]#C# in the figure below. Each of these +tabs will now be explained for data entry. + +image::images/AddDive1_f20.jpg["FIGURE: Add dive", align="center"] + +When one edits a field in Dive notes or Equipment panels, _Subsurface_ +enters *Editing Mode*, indicated by the message in the blue box at the top +of the _Dive Notes_ panel (see the image below). This message is displayed +in all the panels under Dive notes and Equipment when in *Editing Mode*. + +image::images/BlueEditBar_f20.jpg["Blue edit bar", align="center"] + +The _Save_ button should only be selected after all the parts of a dive have +been entered. When entering dives by hand, the _Info_, _Equipment_ and +_Profile_ tabs should be completed before saving the information. By +selecting the _Save_ button, a local copy of the information for this +specific dive is saved in memory. When one closes Subsurface, the program +will ask again, this time whether the complete dive log should be saved on +disk or not. + +==== Dive Notes + +This panel contains the date, time and place information for a particular +dive, environmental conditions, co-divers and buddies, as well as some +descriptive information. If one clicks on the *Dive Notes* tab, the +following fields are visible: + +image::images/AddDive2_f20.jpg["FIGURE: The Dive Notes tab", align="center"] + +The *Time* field reflects the date and the time of the dive. By clicking the +date, a calendar is displayed from which one can choose the correct +date. Press ESC to escape from the calendar. The time values (hour and +minutes) can also be edited directly by clicking on each of them in the text +box and by overtyping the information displayed. The default date is the +present date and the default time is an hour in advance of the present time. + +*Air and water temperatures*: the air and water temperatures during the +dive can be typed directly on the fields to the right of the Start time. +Temperature units are not needed, as they will be automatically supplied by +_Subsurface_. Only the numerical value must be +typed by the user (the units selected in the 'Preferences' +will determine whether metric or imperial units are used). + +*Location*: Here the name of the dive site can be entered, e.g. "Tihany, Lake +Balaton, +Hungary". Auto completion of location names will make this easier if one +frequently dives at the same sites. + +*Coordinates*: The geographic coordinates of the dive site should be entered +here. These can come from three sources: + +One can find the coordinates on the world map in the bottom right hand part +of the Subsurface window. The map displays a green bar indicating "No +location data - Move the map and double-click to set the dive +location". Upon a double-click at the appropriate place, the green bar +disappears and the coordinates are stored. + +The coordinates can be obtained from the _Subsurface_ Companion app if the +user has an Android device with GPS and if the coordinates of the dive site +were stored using that device. xref:S_Companion[Click here for more +information] + +The coordinates can be entered by hand if they are known, using one of four +formats with latitude followed by longitude: + + ISO 6709 Annex D format e.g. 30°13'28.9"N 30°49'1.5"E + Degrees and decimal minutes, e.g. N30° 13.49760' , E30° 49.30788' + Degrees minutes seconds, e.g. N30° 13' 29.8" , E30° 49' 1.5" + Decimal degrees, e.g. 30.22496 , 30.821798 + +Southern hemisphere latitudes are given with a *S*, e.g. S30°, or with a +negative value, e.g. -30.22496. Similarly western longitudes are given with +a *W*, e.g. W07°, or with a negative value, e.g. -7.34323. + +Please note that GPS coordinates of a dive site are linked to the Location +name - so adding coordinates to dives that do not have a location +description will cause unexpected behaviour (Subsurface will think that all +of these dives have the same location and try to keep their GPS coordinates +the same). + +*Divemaster*: The name of the dive master or dive guide for this dive can be +entered here. +Again, this field offers auto completion based on the list of dive masters in +the current logbook. + +*Buddy*: In this field one can enter the name(s) of the buddy / buddies +(separated by commas) who accompanied the user on the dive. Auto completion +is offered based on the list of buddies in the current logbook. + +*Suit*: The type of diving suit used for the dive can be entered here. +As with the other items, auto completion of the suit description is available. +Some dry-suit users may choose to use this field to record what combination of +suit and thermal protection undersuit was used. + +*Rating*: One can provide a subjective overall rating of the dive on a +5-point scale by clicking the appropriate star on the rating scale. + +*Visibility*: Similarly, one can provide a rating of visibility during the +dive on a +5-point scale by clicking the appropriate star. + +*Tags*: Tags that describe the type of dive performed may +be entered here (separated by commas). Examples of common tags are boat, drift, +training, cave etc. _Subsurface_ has many built-in tags. Auto completion is once again offered. +For instance, if +cav+ was typed, then the tags *cave* and *cavern* are +shown for the user to choose from. + +*Notes*: Any additional information can be typed here. + +The *Save* and *Cancel* buttons are used to save all the information for +tabs in the info panel and in the dive profile panel, so there's no need to +use them until ALL other information has been added. Here is an example of a +completed Dive Notes panel: + +image::images/CompletedDiveInfo_f20.jpg["FIGURE: A completed Dive Notes tab", align="center"] + +==== Equipment + +The Equipment tab allows the user to enter information about the type of +cylinder and gas used, as well as the weights used for a dive. This is a +highly interactive part of _Subsurface_ and the information on cylinders and +gases (entered here) affects the behaviour of the dive profile (top +right-hand panel). + +[[S_CylinderData]] +*Cylinders*: The cylinder information is entered through a dialogue that looks +like this: + +image::images/Gas_dialogue1_f20.jpg["FIGURE:Initial cylinder dialogue", align="center"] + +The + button at the top right allows the user to add more cylinders for this +dive. The dark dustbin icon on the left allows one to delete information +for a particular cylinder. Note that it is not possible to delete a cylinder +if it is used during the dive. One cylinder is implicitly used in the dive, +even without a gas change event. Thus the first cylinder cannot be deleted +until another cylinder is created. + +Start by selecting a cylinder type on the left-hand side of the table. To +select a cylinder, click in the *Type* box. This brings up a button that +can be used to display a dropdown list of cylinders: + +image::images/Gas_dialogue2_f20.jpg["FIGURE:The cylinder drop-down list button", align="center"] + +The drop-down list can be used to select the cylinder type used for the dive +or the user may start typing in the box which shows the available options +for the entered characters. The *Size* of the cylinder as well as its +working pressure (*WorkPress*) will automatically be shown in the +dialogue. If a cylinder is not shown in the dropdown list, type the name and +description of that cylinder into the *Type* field. + +Next, indicate the starting pressure and the ending pressure of the gas used +during the dive. The unit of pressure (metric/imperial) corresponds to the +setting in the _Preferences_. + +Finally, type in the gas mixture used in the *O2%* field. If air was used, a +value of 21% can be entered on this field, or it might be left blank. If +nitrox or trimix were used, their percentages of oxygen and/or helium must +be specified. Any inappropriate fields should be left empty. After typing +the information for the cylinder, press _ENTER_ on the keyboard or click +outside the cell that contains the cursor. Information for any additional +cylinders can be added by using the + button at the top right +hand. Following is an example of a complete description for a dive made +using two cylinders (air and EAN50): + +image::images/CylinderDataEntry3_f20.jpg["FIGURE: a completed cylinder dive information table", align="center"] + +*Weights*: Information about the weight system used during a dive can be entered +using a dialogue very similar to that for the cylinder information. If the user +clicks the + button on the top right of the weights dialogue, the table looks +like this: + +image::images/WeightsDataEntry1_f20.jpg["FIGURE: The Weights dialogue", align="center"] + +If one then clicks on the *Type* field, a drop-down list becomes accessible +through a down-arrow: + +image::images/WeightsDataEntry2_f20.jpg["FIGURE: Weights type drop-down list button", align="center"] + +The drop-down list can then be used to select the type of weight system or +the user may start typing in the box which shows the available options for +the entered characters. In the *Weight* field, the weight used during the +dive must be typed. After typing the information for the weight system the +user must either press _ENTER_ on the keyboard or click outside the cell +that contains the cursor. It is possible to enter information for more than +one weight system by adding an additional system using the + button on the +top right hand. Weight systems can be deleted using the dustbin icon on the +left hand. Here is an example of information for a dive with two types of +weights: integrated and a weight belt: + +image::images/WeightsDataEntry3_f20.jpg["FIGURE: A completed weights information table", align="center"] + +There's NO need to click the _Save_ button before the dive profile has been +completed. + +[[S_CreateProfile]] +==== Creating a Dive Profile + +The *Dive Profile* (a graphical representation of the depth of the dive as a +function of time) is indicated in the panel on the top right hand of the +_Subsurface_ window. When a dive is manually added to a logbook, +_Subsurface_ presents a default dive profile that needs to be modified to +best represent the dive being described: + +image::images/DiveProfile1_f20.jpg["FIGURE: Initial dive profile", align="center"] + +_Modifying the dive profile_: When the cursor is moved around the dive +profile, its position is indicated by two coloured lines (red and green) as +shown below. The depth and time that the cursor represents are indicated at +the top of the black information box (@ and D). The units (metric/imperial) +on the axes are determined by the *Preference* settings. The dive profile +itself comprises several line segments demarcated by waypoints (white dots +on the profile, as shown above). The default dive depth is 15 m. If the +dive depth was 20 m then the user needs to drag the appropriate waypoints +downwards to represent 20 m. To add a waypoint, double-click on any line +segment. To move an additional waypoint, drag it. To remove this waypoint, +right-click on it and choose "Remove this point" from the context menu. The +user needs to drag the waypoints to represent an accurate time duration for +the dive. Below is a dive profile that represents a dive to 20 m for 30 min, +followed by a 5 minute safety stop at 5 m. + +image::images/DiveProfile2_f20.jpg["FIGURE: Edited dive profile", align="center"] + +_Specifying the gas composition:_ The gas composition used is clearly +indicated along the line segments of the dive profile. This defaults to the +first gas mixture specified in the *Equipment* tab, which was air in the +case of the profile illustrated above. The gas mixtures of segments of the +dive profile can be edited. This is done by right-clicking on the particular +waypoint and selecting the appropriate gas from the context menu. Changing +the gas for a waypoint affects the gas shown in the segment _to the left_ of +that waypoint. Note that only the gases defined in the *Equipment* tab +appear in the context menu. + +image::images/DiveProfile3_f20.jpg["FIGURE: Gas composition context menu", align="center"] + +Below is the profile of a dive to 25 m for 30 min and with a switch from air +to EAN50 at the end of the duration at 20m. In this case the first cylinder +in the *Equipment* tab contained air and the second cylinder contained +EAN50. + +image::images/DiveProfile4_f20.jpg["FIGURE: Completed dive profile", align="center"] + +==== Saving the hand-entered dive information + +The information entered in the *Dive Notes* tab, the *Equipment* tab as well +as the *Dive Profile* can now be saved in the user's logbook by using the +two buttons on the top right hand of the Dive Notes tab. If the _Save_ +button is clicked, the dive data are saved in the current logbook. If the +_Cancel_ button is clicked, the newly entered dive data are discarded. When +exiting _Subsurface_, the user will be prompted once more to save the +logbook with the new dive(s). + +[[S_ImportDiveComputer]] +=== Importing new dive information from a Dive Computer + +==== Connecting and importing data from a dive computer. + +The use of dive computers allows the collection of a large amount of +information about each dive, e.g. a detailed record of depth, duration, +rates of ascent/descent and of gas partial pressures. _Subsurface_ can +capture this information and present it as part of the dive information, +using dive information from a wide range of dive computers. The latest list +of supported dive computers can be found at: +link:http://subsurface-divelog.org/documentation/supported-dive-computers/[ +Supported dive computers]. + +[icon="images/icons/warning2.png"] +[WARNING] +Several dive computers consume more power when they are in their +PC-Communication mode. **This could drain the dive computer's battery**. We +therefore recommend that the user checks if the dive computer is charged +when connected to the USB port of a PC. For example, several Suunto and +Mares dive computers do not recharge through the USB connection. Users +should refer to the dive computer's manual if they are unsure whether the +dive computer recharges its batteries while connected to the USB port. + +To import dive information from a dive computer to a computer with +_Subsurface_, it is necessary that the two pieces of equipment communicate +with one another. This involves setting up the communications port (or +mount point) of the computer with _Subsurface_ that communicates with the +dive computer. In order to set up this communication, one needs to find the +appropriate information to instruct _Subsurface_ where and how to import the +dive information. +xref:_appendix_a_operating_system_specific_information_for_importing_dive_information_from_a_dive_computer[Appendix +A] provides the technical information to help the user achieving this for +different operating systems and +xref:_appendix_b_dive_computer_specific_information_for_importing_dive_information[Appendix +B] has dive computer specific information. + +After this, the dive computer can be hooked up to the user's PC, which can +be achieved by following these steps: + +1. The interface cable should be connected to a free USB port (or the Infra-red + or Bluetooth connection set up as described later in this manual) + +2. The dive computer should be placed into PC Communication mode. + (Users should refer to the manual of their specific dive computer) + +In _Subsurface_, from the Main Menu, the user must select _Import -> Import +From Dive Computer_. Dialogue *A* in the figure below appears: + + +image::images/ImportFromDC1_f20.jpg["FIGURE: Download dialogue 1", align="center"] + +Dive computers tend to keep a certain number of dives in their memory, even +though these dives have already been imported to _Subsurface_. For that +reason _Subsurface_ only imports dives that have not been uploaded +before. This makes the download process faster on most dive computers and +also saves battery power of the dive computer (at least for those not +charging while connected via USB). If, for some reason, the user wishes to +import ALL dives from the dive computer, even though some may already be in +the logbook, then check the check box labelled _Force download of all +dives_. + +The dialogue has two drop-down lists, *Vendor* and *Dive Computer*. On the +*vendor* drop-down list select the make of the computer, e.g. Suunto, +Oceanic, Uwatec, Mares. On the *Dive Computer* drop-down list, the model +name of the dive computer must be selected, e.g. D4 (Suunto), Veo200 +(Oceanic), or Puck (Mares). + +The *Device or Mount Point* drop-down list contains the USB or Bluetooth +port name that _Subsurface_ needs in order to communicate with the dive +computer. The appropriate port name must be selected. Consult +xref:_appendix_a_operating_system_specific_information_for_importing_dive_information_from_a_dive_computer[Appendix +A] and +xref:_appendix_b_dive_computer_specific_information_for_importing_dive_information[Appendix +B] for technical details on how to find the appropriate port information for +a particular dive computer and, in some cases, how to do the correct +settings to the operating system of the computer on which _Subsurface_ is +running. + + - If all the dives on the dive computer need to be downloaded, check the + checkbox _Force download of all dives_. Normally, _Subsurface_ only + downloads dives after the date-time of the last dive in the *Dive List* + panel. If one or more of your dives in _Subsurface_ have been accidentally + deleted or if there are older dives that still need to be downloaded from + the dive computer, this checkbox needs to be activated. Some dive computers + (e.g. Mares Puck) do not provide a contents list to _Subsurface_ before the + download in order to select only new dives. Consequently, for these dive + computers, all dives are downloaded irrespective of the status of this check + box. + + - If the checkbox _Always prefer downloaded dives_ has been checked and, + during download, dives with identical date-times exist on the dive computer + and on the _Subsurface_ *Dive List* panel, the record in the _Subsurface_ + divelog will be overwritten by the record from the dive computer + + - Do *not* check the checkboxes labelled _Save libdivecomputer logfile_ and + _Save libdivecomputer dumpfile_. These are only used as diagnostic tools + when problems with downloads are experienced (see below). + +The _OK_ button must then be clicked. Dialogue *B* in the figure above +appears. + +With communication established, one can see how the data are retrieved from +the dive computer. Depending on the make of the dive computer and/or number +of recorded dives, this could take some time. The user should be +patient. The _Download_ dialogue shows a progress bar at the bottom of the +dialogue (for some dive computers the progress information could be +inaccurate as we cannot determine how much downloadable data there is until +all data have been downloaded). When the download of the dive information is +complete, all the imported dives appear in the *Dive List*, sorted by date +and time. Disconnect and switch off the dive computer to conserve its +battery power. If a particular dive is selected, the *Dive Profile* panel +shows an informative graph of dive depth against time for that particular +dive. + + +If there is a problem in communicating with the dive computer, an error +message will be shown, similar to this text: "Unable to open /dev/ttyUSB0 +Mares (Puck Pro)". Refer to the text in the box below. + + +**** +*PROBLEMS WITH DATA DOWNLOAD FROM A DIVE COMPUTER?* +[icon="images/icons/important.png"] +[IMPORTANT] +Check the following: + +Is the dive computer still in PC-communication or Upload mode? + +Is the battery of the dive computer fully charged? If not then the battery +must be charged or replaced. + +Is the connecting cable faulty? Does the cable work perfectly using other +software? Has it worked before, or is this the first time the cable is being +used? Are the contacts on the dive computer and the cable clean? + +Consult +xref:_appendix_a_operating_system_specific_information_for_importing_dive_information_from_a_dive_computer[Appendix +A] and make sure that the correct Mount Point was specified (see above). + +On Unix-like operating systems, does the user have write permission to the +USB port? If not, consult +xref:_appendix_a_operating_system_specific_information_for_importing_dive_information_from_a_dive_computer[Appendix +A] + +If the _Subsurface_ computer does not recognise the USB adaptor by showing +an appropriate device name next to the Mount Point, then there is a +possibility that the cable or USB adaptor is faulty. A faulty cable is the +most common cause of communication failure between dive computer and +_Subsurface_ computer. It is also possible that the _Subsurface_ computer +cannot interpret the data. Perform a download for diagnostic purposes with +the following two check boxes checked in the download dialogue discussed +above: + + Save libdivecomputer logfile + Save libdivecomputer dumpfile + +*Important*: These check boxes are only used when problems are encountered +during the download process: under normal circumstances they should not be checked. +When checking these boxes, the user is prompted to select a folder to +save the information to. The default folder is the one in which the _Subsurface_ +dive log is kept. + +*Important:* _After downloading with the above checkboxes +checked, no dives are added to the +*Dive List* but two files are created in the folder selected above_: + + subsurface.log + subsurface.bin + +These files should be send to the _Subsurface_ mail list: +_subsurface@subsurface-divelog.org_ with a request for the files to be +analysed. Provide the dive computer make and model as well as contextual +information about the dives recorded on the dive computer. +**** + +[[S_DeviceNames]] +==== Changing the name of a dive computer + +It may be necessary to distinguish between different dive computers used to +upload dive logs to _Subsurface_. For instance if one's partner's dive +computer is the same make and model as one's own and dive logs are uploaded +from both dive computers to the same _Subsurface_ computer, then one would +perhaps like to call one dc "Alice's Suunto D4" and the other one "Bob's +Suunto D4". Alternatively, perhaps a technical diver dives with two or more +dive computers of the same model, the logs of both (or all) being uploaded. +In this case it might be prudent to call one of them "Suunto D4 (1)" and +another one "Suunto D4 (2)". This is easily done in _Subsurface_. On the +*Main Menu*, select _Log -> Edit device names_. A dialog opens, indicating +the current Model, ID and Nickname of the dive computers used for +upload. Edit the Nickname field for the appropriate dive computer. After +saving the Nickname, the dive logs show the nickname for that particular +device instead of the model name, allowing easy identification of devices. + +[[S_EditDiveInfo]] +==== Updating the dive information imported from the dive computer. + +The information from the dive computer is not complete and more details must +be added in order to have a fuller record of the dives. To do this, the +*Dive Notes* and the *Equipment* tabs on the top left hand of the +_Subsurface_ window should be used. + +==== Dive Notes + +The date and time of the dive, gas mixture and (often) water temperature is +shown as obtained from the dive computer, but the user needs to add +additional information by hand in order to have a more complete dive +record. If the contents of this tab is changed or edited in any way, the +message in a blue box at the top of the panel indicates that the dive is +being edited. If one clicks on the *Dive Notes* tab, the following fields +are visible: + +image::images/AddDive3_f20.jpg["FIGURE: The Dive Notes tab", align="center"] + +The *Time* field reflects the date and time of the dive. By clicking the +date, a calendar is displayed from which one can choose the correct +date. Press ESC to close the calendar. The time values (hour and minutes) +can also be edited directly by clicking on each of them in the text box and +by overtyping the information displayed. + +*Air/water temperatures*: Air and water temperatures during the dive are shown +in these fields to the right of the Start time. Many dive computers supply water +temperature information and this field may therefore contain information obtained from the dive computer. +If air temperature is not provided by the dive computer, the first temperature reading +might be used for the air temperature. Generally this is close enough to the real air temperature as +the change in the temperature sensor reading is quite slow to follow the changes in the environment. +If editing is required, only a value is required, the units of temperature will be +automatically supplied by +_Subsurface_ (according to the _Preferences_, metric or imperial units will +be used). + +*Location*: In this field one should type in text that describes the site +where the dive was performed, e.g. "Tihany, Lake Balaton, Hungary". +Auto completion of location names will +make this easier if one frequently dives at the same sites. + +*Coordinates*: The geographic coordinates of the dive site should be entered +here. These can come from three sources: + +The user can find the coordinates on the world map in the bottom right hand +part of the Subsurface window. The map displays a green bar indicating "Move +the map and double-click to set the dive location". Double-click at the +appropriate place, the green bar disappears and the coordinates are stored. + +The user can obtain the coordinates from the _Subsurface_ Companion app if +an Android device with GPS was used and if the coordinates of the dive site +were stored using that device. xref:S_Companion[Click here for more +information] + +The coordinates can be entered by hand if they are known, using one of four +formats with latitude followed by longitude: + + ISO 6709 Annex D format e.g. 30°13'28.9"N 30°49'1.5"E + Degrees and decimal minutes, e.g. N30° 13.49760' , E30° 49.30788' + Degrees minutes seconds, e.g. N30° 13' 29.8" , E30° 49' 1.5" + Decimal degrees, e.g. 30.22496 , 30.821798 + +Southern hemisphere latitudes are given with a *S*, e.g. S30°, or with a +negative value, e.g. -30.22496. Similarly, western longitudes are given with +a *W*, e.g. W07°, or with a negative value, e.g. -7.34323. + +Please note that GPS coordinates of a dive site are linked to the Location +name - so adding coordinates to dives that do not have a location +description will cause unexpected behaviour (Subsurface will think that all +of these dives have the same location and try to keep their GPS coordinates +the same). + +*Divemaster*: The name of the dive master or dive guide for this dive should be +entered in this field +which offers auto completion based on the list of dive masters in +the current logbook. + +*Buddy*: In this field, one enters the name(s) of the buddy / buddies +(separated with commas) who accompanied him/her on the +dive. Auto completion based on the list of buddies in the current logbook is +offered. + +*Suit*: Here the type of diving suit used for the dive can be entered. +Auto completion of the suit description is available. +Some dry-suit users may choose to use this field to record what combination of +suit and thermal protection undersuit was used. + +*Rating*: One can provide a subjective overall rating of the dive on a +5-point scale by clicking the appropriate star on the rating scale. + +*Visibility*: Similarly, one can provide a rating of visibility during the +dive on a +5-point scale by clicking the appropriate star. + +*Tags*: Tags that describe the type of dive performed can be entered +here (separated by commas). Examples of common tags are boat, drift, training, +cave, etc. +_Subsurface_ has many built-in tags. If the user starts typing a tag, the +program +will list the tags that correspond to the typing. For instance, if the user +typed ++cav+, then the tags *cave* and *cavern* are shown for the user to choose from. + +*Notes*: Any additional information for the dive can be entered here. + +The *Save* and *Cancel* buttons are used to save all the information for +tabs in the info panel and in the dive profile panel, so there's no need to +use them until ALL other information has been added. Here is an example of a +completed Dive Notes panel: + +image::images/CompletedDiveInfo_f20.jpg["FIGURE: A completed Dive Notes tab", align="center"] + +==== Equipment + +The Equipment tab allows one to enter information about the type of cylinder +and gas used as well as the weights used for the dive. The message in a blue +box at the top of the panel: + +image::images/BlueEditBar_f20.jpg["FIGURE: Blue edit bar", align="center"] + +indicates that the dive is being edited. This is a highly interactive part +of _Subsurface_ and the information on cylinders and gases (entered here) +determines the behaviour of the dive profile (top right-hand panel). + +*Cylinders*: The cylinder information is entered through a dialogue that looks +like this: + +image::images/DC_gas-dialogue1_f20.jpg["FIGURE: Initial cylinder dialogue", align="center"] + +In most cases _Subsurface_ obtains the gas used from the dive computer and +automatically inserts the gas composition(% oxygen) in the table. The + +button at the top right allows the user to add more cylinders for this +dive. The dark dustbin icon on the left allows the deletion of information +for a cylinder. Note that it is not possible to delete a cylinder if it is +used during the dive. A cylinder might be implicitly used in the dive, even +without a gas change event. + +The user should start by selecting a cylinder type on the left-hand side of +the table. To select a cylinder, the *cylinder type* box should be +clicked. This brings up a list button that can be used to display a dropdown +list of cylinders: + +image::images/DC_gas-dialogue2_f20.jpg["FIGURE: The cylinder drop-down list button", align="center"] + +The drop-down list can then be used to select the cylinder type that was +used for this dive or the user may start typing in the box which shows the +available options for the entered characters. The *Size* of the cylinder as +well as its working pressure (*WorkPress*) will automatically be shown in +the dialogue. + +Next one must indicate the starting pressure and the ending pressure of the +specified gas during the dive. The unit of pressure (metric/imperial) +corresponds to the settings chosen in the _Preferences_. + +Finally, provide the gas mixture used. If air was used, the value of 21% can +be entered or this field can be left blank. If nitrox or trimix were used, +their percentages of oxygen and/or helium should be entered. Any +inappropriate fields should be left empty. After typing the information for +the cylinder, either press _ENTER_ on the keyboard or click outside the cell +that contains the cursor. Information for any additional cylinders can be +added by using the + button at the top right hand. Following is an example +of a complete description for a dive using two cylinders (air and EAN50): + +image::images/CylinderDataEntry3_f20.jpg["FIGURE: a completed cylinder dive information table", align="center"] + +*Weights*: Information about the weight system used can be entered +using a dialogue very similar to that of the cylinder information. If one +clicks +the + button on the top right of the weights dialogue, the table looks like +this: + +image::images/WeightsDataEntry1_f20.jpg["FIGURE:The Weights dialogue", align="center"] + +By clicking on the *Type* field, a drop-down list becomes accessible through +a down-arrow: + +image::images/WeightsDataEntry2_f20.jpg["FIGURE:Weights type drop-down list button", align="center"] + +The drop-down list can then be used to select the type of weight system used +during the dive or the user may start typing in the box which shows the +available options for the entered characters. In the *Weight* field, type +in the amount of weight used during the dive. After specifying the weight +system, the user can either press _ENTER_ on the keyboard or click outside +the cell with the cursor. It is possible to enter information for more than +one weight system by adding an additional system using the + button on the +top right hand. Weight systems can be deleted using the dustbin icon on the +left hand. Here is an example of information for a dive with two types of +weights: integrated as well as a weight belt: + +image::images/WeightsDataEntry3_f20.jpg["FIGURE: A completed weights information table", align="center"] + +==== Editing several selected dives simultaneously + +_METHOD 1_: After uploading dives from a dive computer, the dive profiles of +the uploaded dives are shown in the *Dive profile* tab, as well as a few +items of information in the *Dive Notes* tab (e.g. water temperature) and in +the *Equipment* tab (e.g. gas pressures and gas composition). However the +other fields remain empty. It may be useful to simultaneously edit some of +the fields in the *Dive Notes* and *Equipment* tabs. For instance, it is +possible that a diver performed several dives during a single day, using +identical equipment while diving at the same dive site or with the same dive +master and/or buddy or tags. Instead of completing the information for each +of these dives separately, one can select all the dives for that day in the +*Dive List* and insert the same information in the *Dive Notes* and +*Equipment* fields that need identical information. This is achieved by +editing the dive notes or the equipment for any one of the selected dives. + +The simultaneous editing only works with fields that do not already contain +information. This means that, if some fields have been edited for a +particular dive among the selected dives, these are not changed while +editing the dives simultaneously. Technically, the rule for editing several +dives simultaneously is: if the data field being edited contains _exactly +the same information_ for all the dives that have been selected, the new, +edited information is substituted for all the selected dives, otherwise only +the edited dive is changed, even though several dives have been selected in +the *Dive List*. This greatly speeds up the completion of the dive log after +several similar dives. + +[[S_CopyComponents]] +_METHOD 2_:There is a different way of achieving the same goal. Select a +dive with all the appropriate information typed into the *Dive Notes* and +*Equipment* tabs. Then, from the main menu, select _Log -> Copy dive +components_. A box is presented with a selection of check boxes for most of +the fields in the *Dive Notes* and *Equipment* tabs. Select the fields to +be copied from the currently selected dive, then select _OK_. Now, in the +*Dive List*, select the dives into which this information is to be +pasted. Then, from the main menu, select _Log -> Paste dive components_. +All the selected dives now contain the data initially selected in the +original source dive log. + +==== Adding Bookmarks to a dive + +Many divers wish to annotate their dives with text that indicate particular +events during the dive, e.g. "Saw dolphins", or "Released surface +buoy". This is easily done: + +Right-click at the appropriate point on the dive profile. This brings up +the dive profile context menu. Select _Add bookmark_. A red flag is placed +on the dive profile at the point that was initially selected (see *A* +below). + + - Right-click on the red flag. This brings up the context menu (see *B* + below). Select _Edit name_. + +A text box is shown. Type the explanatory text for the bookmark (see *C* +below). Select _OK_. This saves the text associated with the bookmark. + +If one hovers using the mouse over the red bookmark, the appropriate text is +shown at the bottom of the information box (see *D* below). + +image::images/Bookmarks.jpg["FIGURE: Bookmark dialog", align="center"] + + +==== Saving the updated dive information + +The information entered in the *Dive Notes* tab and the *Equipment* tab can +be saved by using the two buttons on the top right hand of the *Dive Notes* +tab. If the _Save_ button is clicked, the dive data are saved. If the +_Cancel_ button is clicked, then the newly entered dive data are deleted, +although the dive profile obtained from the dive computer will be +retained. When the user exits _Subsurface_ there is a final prompt to +confirm that the new data should be saved. + +=== Importing dive information from other digital data sources or other data formats + +[[S_ImportingAlienDiveLogs]] + +If a user has been diving for some time, it is possible that several dives +were logged using other dive log software. This information does not need +retyping because these dive logs can probably be imported into +_Subsurface_. _Subsurface_ will import dive logs from a range of other dive +log software. While some software is supported natively, for others the user +has to export the logbook(s) to an intermediate format so that they can then +be imported by _Subsurface_. Currently, _Subsurface_ supports importing CSV +log files from several sources. APD LogViewer, XP5, Sensus and Seabear +files are preconfigured, but because the import is flexible, users can +configure their own imports. Manually kept log files (e.g. in spreadsheet) +can also be imported by configuring the CSV import. _Subsurface_ can also +import UDDF and UDCF files used by some divelog software and some dive +computers, like the Heinrichs & Weikamp DR5. Finally, for some divelog +software like Mares Dive Organiser it is currently suggested to import the +logbooks first into a webservice like _divelogs.de_ and then import them +from there with _Subsurface_, as divelogs.de supports a few additional +logbook formats that _Subsurface_ currently cannot parse. + +If the format of other software is supported natively on Subsurface, it +should be sufficient to select either _Import->Import log files_ or +_File->Open log file_. _Subsurface_ supports the data formats of many dive +computers, including Suunto and Shearwater. When importing dives, +_Subsurface_ tries to detect multiple records for the same dive and merges +the information as best as it can. If there are no time zone issues (or +other reasons that would cause the beginning time of the dives to be +significantly different) _Subsurface_ will not create duplicate entries. + +==== Using the universal import dialogue +[[Unified_import]] + +Importing dives from other software is performed through a universal +interface that is activated by selecting _Import_ from the Main Menu, then +clicking on _Import Log Files_. This brings up the dialogue *A* below. + +image::images/Import1_f20.jpg["FIGURE: Import dialogue: step 1", align="center"] + +Towards the bottom right is a dropdown selector with a default label of +_Dive Log Files_ which gives access to the different types of direct imports +available, as in dialogue *B*, above. Currently these are: + + - XML-formatted dive logs (DivingLog 5.0, MacDive and several other dive log + systems) + - UDDF-formatted dive logs (e.g. Kenozoooid) + - UDCF-formatted dive logs + - Poseidon MkVI CCR logs + - JDiveLog + - Suunto Dive Manager (DM3 and DM4) + - CSV (text-based and spreadsheet-based) dive logs, including APD CCR logs + +Selecting the appropriate file in the file list of the dialogue opens the +imported dive log in the _Subsurface_ *Dive List*. Some other formats, not +accessible through the Import dialogue are also supported, as explained +below. + +==== Importing dive logs from closed circuit rebreather (CCR) systems + +[icon="images/APD.jpg"] +[NOTE] +Closed system rebreathers use advanced technology to recirculate gas that +has been breathed while doing two things to maintain a breathable oxygen +concentration: +a) remove carbon dioxide from the gas that has been exhaled +regulate the oxygen concentration to remain within safe diving limits. +Currently, within _Subsurface_, the Poseidon MkVI Discovery is the best +supported CCR dive computer. The CCR interface of _Subsurface_ is currently +experimental and under active development. In contrast to a conventional +open circuit dive computer, a CCR system computer does not allow the +download of a log containing multiple dives. Rather, each dive is stored +independently. This means that _Subsurface_ cannot download a dive log +directly from a CCR dive computer, but that it imports CCR dive logs in the +same way that it imports dive log data from other databases. + +===== Import a CCR dive + +See the section dealing with xref:S_ImportingAlienDiveLogs[Importing dive +information from other digital sources]. From the main menu of _Subsurface_, +select _Import->Import log files_ to bring up the +xref:Unified_import[universal import dialogue]. As explained in the previous +section, the bottom right hand of the import dialogue contains a dropdown +list of appropriate devices that currently includes an option for MkVI +files. Having selected the appropriate CCR format and the directory where +the original dive logs have been stored from the CCR dive computer, one can +select a particular dive log file (in the case of the MkVI it is a file with +a .txt extension). After selecting the appropriate dive log, activate the +_Open_ button at the bottom right hand of the universal import dialogue. + +===== Displayed information for a dive + +_Partial pressures of gases_: The graph of oxygen partial pressure shows the +information from the oxygen sensors of the CCR equipment. In the case of the +Poseidon MKVI, the mean value of the two oxygen sensors are shown. In the +case of the APD equipment, the mean of the three oxygen sensors are +shown. If one sensor shows a very different oxygen PO2 reading compared to +the others, the divergent sensor is ignored. For CCR dives the graph for +oxygen partial pressure should be fairly flat, reflecting the setpoint +settings during the dive. Partial pressures for nitrogen (and helium, if +applicable) are shown in the usual way as for other dives. + +_Cylinder pressures_: CCR dive computers like the Poseidon MkVI record the +pressures of the oxygen and diluent cylinders. The pressure of the oxygen +cylinder is shown on the dive profile. In addition, start and end pressures +for both oxygen and diluent cylinders are shown in the _Equipment Tab_. + +_Equipment-specific information_: Equipment-specific information gathered by +_Subsurface_ is shown in the _Extra data_ tab. This may include setup +information or metadata about the dive. + +More equipment-specific information for downloading CCR dive logs can be +found in xref:S_PoseidonMkVI[Appendix B]. + +==== Importing from Mares Dive Organiser V2.1 + +Since Mares utilise proprietary Windows software not compatible with +multi-platform applications, these dive logs cannot be directly imported +into _Subsurface_. Mares dive logs need to be imported using a three-step +process, using _www.divelogs.de_ as a mechanism to extract the dive log +information. + +The dive log data from Mares Dive Organiser need to be exported to the user's +desktop, using + a _.sdf_ file name extension. Refer to xref:Mares_Export[Appendix C] for more +information. +Data should then be imported into _www.divelogs.de_. One needs to create a user +account in +_www.divelogs.de_, log into that web site, then +select _Import Logbook -> Dive Organiser_ from the menu on the left hand side. +The instructions must be carefully followed to transfer the dive information +(in _.sdf_ format) from the Dive Organiser database to _www.divelogs.de_. +Finally, import the dives +from _divelogs.de_ to _Subsurface_, using the instructions below. + + +[[S_ImportingDivelogsDe]] +==== Importing dives from *divelogs.de* + +The import of dive information from _divelogs.de_ is simple, using a single +dialogue box. The _Import->Import form Divelogs.de_ option should be +selected from the Main Menu. This brings up a dialogue box (see figure on +left [*A*] below). Enter a user-ID and password for _divelogs.de_ into the +appropriate fields and then select the _Download_ button. Download from +_divelogs.de_ starts immediately, displaying a progress bar in the dialogue +box. At the end of the download, the success status is indicated (see figure +on the right [*B*], below). The _Apply_ button should then be selected, +after which the imported dives appear in the _Subsurface_ *Dive List* panel. + +image::images/Divelogs1.jpg["FIGURE:Download from Divelogs.de", align="center"] + +[[S_ImportingCSVData]] +==== Importing data in CSV format + +A comma-separated file (.csv) can be used to import dive information either +as dive profiles (as in the case of the APD Inspiration and Evolution closed +circuit rebreathers) or as dive metadata (in case the user keeps dive data +in a spreadsheet). For an introduction to CSV-formatted files see +xref:S_CSV_Intro[A Diver's Introduction To CSV Files]. + +[icon="images/icons/important.png"] +[IMPORTANT] +The CSV import has a couple of caveats. You should avoid some special +characters like ampersand (&), less than (<), greater than (>) and double +quotes ("), the latter if quoting text cells. The file should use UTF-8 +character set, if having non-ASCII characters. Also the size of the CSV file +might cause problems. Importing 100 dives at a time (without dive profile) +has worked previously, but larger files might exceed limits of the parser +used. When having problems with CSV imports, try first with a smaller sample +to make sure everything works. + +[[S_ImportingCSVDives]] +===== Importing dives in CSV format from dive computers or other dive log software + +CSV files are normally organised into a single line that provides the +headers (or _field names_) of the data columns, followed by the data, one +record per line. CSV files can be opened with a normal text editor. For +information of how to export a spreadsheet in CSV format see +xref:S_Appendix_D[APPENDIX D: Exporting a spreadsheet to CSV format]. + +Before being able to import the data to _Subsurface_ one needs to know: + +Which character separates the different columns within a single line of +data? This field separator should be either a comma (,) or a TAB character. +This can be determined by opening the file with a text editor. If it is +comma-delimited, then the comma characters between the values are clearly +visible. If no commas are evident and the numbers are aligned in columns, +the file is probably TAB-delimited (i.e. it uses a TAB as a field separator, +as in the above example). + +Which data columns need to be imported into _Subsurface_? The Dive Time and +Depth columns are always required. Open the file using a text editor and +note the titles of the columns to be imported and their column positions. + +c. Is the numeric information (e.g. dive depth) in metric or in imperial unis? + +Armed with this information, importing the data into _Subsurface_ is +straightforward. Select _Import->Import Log Files_ from the main menu. In +the resulting file selection menu, select _CSV files_, after which a common +configuration dialog appears for all the files with a CSV extension: + +image::images/Import_CSV1.jpg["FIGURE: CSV download dialogue", align="center"] + +There are pre-configured definitions for some dive computers, e.g. the APD +rebreathers. If the user's dive computer is on this list, it should be +selected using the dropdown box labeled _Pre-configured imports_. + +If the dive computer is not on the pre-configured list, the user must select +the _Field Separator_ (TAB or comma) for the particular CSV file, using the +appropriate dropdown list. For each data column used for import, the user +must check the appropriate check box and indicate in which column these data +are found. + +Finally _OK_ should be clicked and the dive(s) are imported and listed in +the *Dive List* tab of _Subsurface_. + + +[[S_ImportingManualCSV]] +==== Importing dives from a manually kept CSV file or a spreadsheet + +[[S_CSV_Intro]] +**** +*A Diver's Introduction To CSV Files* +[icon="images/icons/important.png"] +[IMPORTANT] + +CSV is an abbreviation for a data file format: _Comma-Separated +Variables_. It is a file format allowing someone to view or edit the +information using a text editor such as Notebook (Windows), gedit (Linux) or +TextWrangler (OS/X). The two main advantages of the CSV format is that the +data are easily editable as text without any proprietary software and +ensuring all information is human-readable, not being obscured by the any +custom or proprietary attributes that proprietary software insert into +files. Because of its simplicity the CSV format is used as an interchange +format between many software packages, e.g. between spreadsheet, +statistical, graphics, database and diving software. Within _Subsurface_, +CSV files can also be used to import information from other sources such as +spreadsheet-based dive logs and even from some dive computers. + +CSV files can be created or edited with a normal text editor. The most +important attribute of a CSV file is the _field separator_, the character +used to separate fields within a single line. The field separator is +frequently a comma, a colon, a SPACE character or a TAB character. When +exporting data from spreadsheet software, the field separator needs to be +specified in order to create the CSV file. CSV files are normally organised +into a single line that provides the headers (or _field names_) of the data +columns, followed by the data, one record per line. Note that each field +name may comprise more than one word separated by spaces; for instance _Dive +site_, below. Here is an example of dive information for four dives using a +comma as a field separator: + + Dive site,Dive date,Time,Dive_duration, Dive_depth,Dive buddy + Illovo Beach,2012-11-23,10:45,46:15,18.4,John Smith + Key Largo,2012-11-24,09:12,34:15,20.4,Jason McDonald + Wismar Baltic,2012-12-01,10:13,35:27,15.4,Dieter Albrecht + Pulau Weh,2012-12-20,09:46,55:56,38.6,Karaeng Bontonompo + +In this format the data are not easily read by a human. Here is the same +information in TAB-delimited format: + + Dive site Dive date Time Dive_duration Dive_depth Dive buddy + Illovo Beach 2012-11-23 10:45 46:15 18.4 John Smith + Key Largo 2012-11-24 09:12 34:15 20.4 Jason McDonald + Wismar Baltic 2012-12-01 10:13 35:27 15.4 Dieter Albrecht + Pulau Weh 2012-12-20 09:46 55:56 38.6 Karaeng Bontonompo + +It is clear why many people prefer the TAB-delimited format to the +comma-delimited format. The disadvantage is that one cannot see the TAB +characters. For instance, the space between _Dive_ and _date_ in the top +line may be a SPACE character or a TAB character (in this case it is a SPACE +character: the tabs are before and after _Dive date_). If the field names in +the first line are long, the alignment with data in the other lines cannot +be maintained. Here is a highly simplified and shortened TAB-delimited +example of a CSV dive log from an APD closed-circuit rebreather (CCR) dive +computer: + + Dive Time (s) Depth (m) pO₂ - Setpoint (Bar) pO₂ - C1 Cell 1 (Bar) Ambient temp. (Celsius) + 0 0.0 0.70 0.81 13.1 + 0 1.2 0.70 0.71 13.1 + 0 0.0 0.70 0.71 13.1 + 0 1.2 0.70 0.71 13.2 + 0 1.2 0.70 0.71 13.1 + 10 1.6 0.70 0.72 12.7 + 20 1.6 0.70 0.71 12.6 + 30 1.7 0.70 0.71 12.6 + 40 1.8 0.70 0.68 12.5 + +CSV files can therefore be used in many contexts for importing data into a +_Subsurface_ dive log. + +An important aspect of the CSV format required by _Subsurface_ is the +_Column Mapping_. In the example from different dive sites above, each line +of data is organised as follows: + + Column 1: Dive site (location) + Column 2: Dive date + Column 3: Dive time + Column 4: Dive duration + Column 5: Maximum dive depth (m) + Column 6: Name of dive buddy + +_Subsurface_ requires the column number of each of these data items. For +these data the column specification may look like this: + +image::images/CSV_column_definition.jpg["FIGURE: CSV column definition", align="center"] + +Knowledge of a few basic things about he content of the CSV file allows a +smooth import of the dives into _Subsurface_. + +**** + +If one keeps dive logs in a spreadsheet, there is an option to import those +dives, exported as a CSV file. See xref:S_Appendix_D[APPENDIX D: Exporting a +spreadsheet to CSV format] for information of how to export a spreadsheet in +CSV format. When importing manually kept log files into _Subsurface_, the +information needed is quite different from that accessible using a dive +computer, as we are importing only summary data, not depth profile samples. + +When importing dives in CSV format (see above), one needs to know the +internal format of the CSV data to import. + +Which character separates the different columns within a single line of +data? A recommended field separator for the export is TAB, as commas might +be part of the decimal data values themselves. Therefore the use of an +appropriate field separator is very important. When exporting data from a +spreadsheet it is likely to request the user to supply an appropriate field +separator character. + +Which columns need to be imported into _Subsurface_? Currently there are not +any mandatory input fields, but some, e.g. dive duration are crucial for the +log file to make any sense. Possible options can be seen in the image below +and one should include as many as possible of the fields available in the +original log file. + +Units used for depth, weight and temperature. We consider depth to be either +feet or meters, weight kilograms or pounds and temperature either Celsius or +Fahrenheit. However, the users can select _Metric_ or _Imperial_ in the +*Preferences* tab of _Subsurface_. No mixture of unit systems is allowed for +the different fields. + +Importing manually kept CSV log files is quite straight forward, but there +might be many fields and counting the field numbers is error +prone. Therefore validation of the data to be imported is critical. + +To import the dives, select _Import->Import Log Files_ from the menu bar. If +the CSV option in the dropdown list is selected and the file list includes +file names ending with .CSV, one can select the _Manual dives_ tab that will +bring up the following configuration dialog: + +image::images/Import_CSV2.jpg["FIGURE: Download dialog for Manual CSV logs", align="center"] + +Check the check boxes corresponding to the data in the original import +file. For each of the checked data items, a corresponding column number +needs to be entered. For instance in the image above, the name of the dive +site (i.e. location) is located as the 11th item (or column) on each line +of the CSV import file. The input fields can be configured as appropriate, +and when everything is done the _OK_ button should be selected to perform +the import. New dives should appear in the *Dive List* area of _Subsurface_. + + +[[S_Companion]] +=== Importing GPS coordinates with the _Subsurface Companion App_ for mobile phones + +Using the *Subsurface Companion App* on an Android device with a GPS, the +coordinates for the diving location can be automatically passed to the +_Subsurface_ dive log. The Companion App stores the dive locations on a +dedicated Internet-based file server. _Subsurface_, in turn, can collect the +localities from the file server. + +To do this: + +==== Create a Companion App account + +Register on the http://api.hohndel.org/login/[_Subsurface companion web +page_]. A confirmation email with instructions and a personal *DIVERID* +will be sent, a long number that gives access to the file server and +Companion App capabilities. + +Download the app from +https://play.google.com/store/apps/details?id=org.subsurface[Google Play +Store] or from +http://f-droid.org/repository/browse/?fdfilter=subsurface&fdid=org.subsurface[F-Droid]. + +==== Using the Subsurface companion app on a smartphone + +On first use the app has three options: + +_Create a new account._ Equivalent to registering in _Subsurface_ companion +page using an Internet browser. One can request a *DIVERID* using this +option, but this is supplied via email and followed up by interaction with +the http://api.hohndel.org/login/[_Subsurface companion web page_] in order +to activate the account. + +_Retrieve an account._ If users forgot their *DIVERID* they will receive an +email to recover the number. + +_Use an existing account._ Users are prompted for their *DIVERID*. The app +saves this *DIVERID* and does not ask for it again unless one uses the +_Disconnect_ menu option (see below). + +[icon="images/icons/important.png"] +[IMPORTANT] +In the _Subsurface_ main program, the *DIVERID* should also be entered on +the Default Preferences panel, obtained by selecting +_File->Preferences->Defaults_ from the main menu in _Subsurface_ itself. +This facilitates synchronisation between _Subsurface_ and the Companion App. + +===== Creating new dive locations + +Now one is ready to get a dive position and send it to the server. The +Android display will look like the left hand image (*A*) below, but without +any dives. + +Touch the "+" icon on the top right to add a new dive site, a menu will be +showed with 3 options: + +Current: A prompt for a place name (or a request to activate the GPS if it +is turned off) will be displayed, after which the current location is saved. + +Use Map: This option allows the user to fix a position by searching a world +map. A world map is shown (see *B* below) on which one should indicate the +desired position with a _long press_ on the touch sensitive screen (if the +marked location is erroneous, simply indicate a new location) and select +the check symbol in the upper right. A dialog is shown allowing to enter the +name of the dive location and the date-time of the dive (see *C* below). In +order to import this dive location in _Subsurface_ it's advisable to set the +time to agree with the time of that dive on the dive computer. + +image::images/Companion_5.jpg["FIGURE: Companion App, add location using map", align="center"] + + +Import local GPX file: The android device searches for .gpx files and +located archives will be shown. The selected .gpx file is opened and the +stored locations shown. Now one needs to select the appropriate locations, +then select the tab in the upper right, after which the locations will be +sent to the web service and added to the list on the Android device. + +===== Dive lists of dive locations + +The main screen shows a list of dive locations, each with a name, date and +time (see *A* below). Some locations may have an arrow-up icon over the +selection box to the left indicating that they require upload to the +server. One can select individual dive locations from the list. A selected +location has a check mark in the selection box on the left. Group operations +(such as _Delete_ or _Send_) are performed on several locations that are +selected. + +Dive locations in this list can be viewed in two ways: a list of locations +or a map indicating the dive locations. The display mode (List or Map) is +changed by selecting _Dives_ at the top left of the screen (see *A* below) +and then selecting the display mode. The display mode can be changed either +from the list of locations or from the map (see *B* below). If one selects a +location (on the list or on the map), an editing panel opens (see *C* below) +where the dive description or other details may be changed. + +image::images/Companion_4.jpg["FIGURE: Companion App, add location using map", align="center"] + + +When one clicks on a dive (*not* selecting the check box), the name given to +it, date/time and GPS coordinates will be shown, with two options at the top +of the screen: + +- Edit (pencil): Change the text name or other characteristics of the dive + location. + +- Maps: Display a map showing the dive location. + +After editing and saving a dive location (see *C* above), one needs to +upload it to the web service, as explained below. + +===== Uploading dive locations + +There are several ways to send locations to the server. The easiest is by +simply selecting the locations (See *A* below) and then touching the right +arrow at the top right of the screen. + +[icon="images/icons/important.png"] +[IMPORTANT] +Users must be careful, as the trash icon on the right means exactly what it +should; it deletes the selected dive location(s). + +image::images/Companion_1.jpg["FIGURE: Screen shots (A-B) of companion app", align="center"] + + +After a dive trip using the Companion App, all dive locations are ready to +be downloaded to a _Subsurface_ dive log (see below). + + +===== Settings on the Companion app + +Selecting the _Settings_ menu option results in the right hand image above +(*B*). + +===== Server and account + +- _Web-service URL._ This is predefined (http://api.hohndel.org/) + +_User ID._ The DIVERID obtained by registering as described above. The +easiest way to obtain it is simply to copy and paste from the confirmation +email but, of course, users can also type this information. + +===== Synchronisation + +_Synchronize on startup._ If selected, dive locations in the Android device +and those on the web service synchronise each time the app is started. + +_Upload new dives._ If selected, each time the user adds a dive location it +is automatically sent to the server. + +===== Background service +Instead of entering a unique dive location, users can leave the service +running in the background of their Android device, allowing the continuous +collection of GPS locations. + + +The settings below define the behaviour of the service: + +_Min duration._ In minutes. The app will try to get a location every X +minutes until stopped by the user. + +- _Min distance._ In meters. Minimum distance between two locations. + +- _Name template._ The name the app will use when saving the locations. + +[icon="images/icons/info.jpg"] +[TIP] +_How does the background service work?_ Assuming the user sets 5 minutes and +50 meters in the settings above, the app will start by recording a location +at the current location, followed by another one at every 5 minutes *or* +every time one moves 50m from previous location. If subsequent locations +are within a radius of 50 meters from the previous one, a new location is +not saved. If the user is not moving, only one location is saved, but if the +user is moving, a trace of the route is obtained by saving a location every +50 meters. + +===== Other + +_Mailing List._ The mail box for _Subsurface_. Users can send an email to +the Subsurface mailing list. + +- _Subsurface website._ A link to the URL of Subsurface web + +- _Version._ Displays the current version of the Companion App. + +===== Search + +Search the saved dive locations by name or by date and time. + +===== Start service + +Initiates the _background service_ following the previously defined +settings. + +===== Disconnect + +This is a badly named option that disconnects the app from the server by +resetting the user ID in the app, showing the first screen where an account +can be created, retrieve the ID for an existing account or use the users own +ID. The disconnect option is useful if a user's Android device was used to +download the dive locations of another registered diver. + +===== Send all locations + +This option sends all locations stored in the Android device to the server. + + +==== Downloading dive locations to the _Subsurface_ divelog + +Download dive(s) from a dive computer or enter them manually into +_Subsurface_ before obtaining the GPS coordinates from the server. The +download dialog can be reached via _Ctrl+G_ or from the _Subsurface_ Main +Menu _Import -> Import GPS data from Subsurface Service_, resulting in the +image on the left (*A*), below. On first use the DIVERID text box is +blank. Provide a DIVERID, then select the _Download_ button to initiate the +download process, after which the screen on the right (*B*) below appears: + +image::images/DownloadGPS.jpg["FIGURE: Downloading Companion app GPS data", align="center"] + +Note that the _Apply_ button is now active. By clicking on it, users can +update the locations of the newly entered or uploaded dives in _Subsurface_ +which applies the coordinates and names entered on the app for all the new +dives that match the date-times of the uploaded GPS localities. If one has +entered the name of the dive location in _Subsurface_ before downloading the +GPS coordinates, this name will take precedence over downloaded one. + +Since _Subsurface_ matches GPS locations from the Android device and dive +information from the dive computer based on date-time data, automatic +assignment of GPS data to dives is dependent on agreement of the date-time +information between these two devices. Although _Subsurface_ has a wide +range tolerance, it may be unable to identify the appropriate dive if there +is a large difference between the time in the dive computer and that of the +Android device, resulting in no updates. + +Similar date-times may not always be possible and there may be many reasons +for this (e.g. time zones), or _Subsurface_ may be unable to decide which is +the correct position for a dive (e.g. on repetitive dives while running +_background service_ there may be several locations that would be included +in the time range that fit not only the first dive, but one or more +subsequent dives as well). A workaround for this situation to manually edit +the date-time of a dive in the _Subsurface_ Dive List *before* downloading +the GPS data and then to change the date-time back again *after* downloading +GPS data. + +[icon="images/icons/info.jpg"] +[NOTE] +TIPS: + +_Background service_, being a very powerful tool, may fill the location list +with many unnecessary locations not corresponding to the exact dive point +but reflecting the boat's route. Currently these locations are difficult to +delete from the server. In some situations it is therefore prudent to clean +up the list on the Android device before sending the dive points to the web +server by simply deleting the inappropriate locations. This might be +necessary, for instance, if one wants to keep the location list clear to see +dives in the web service map display (see above). + +It may also make sense to give informative names to the locations sent to +the web server, or at least to use an informative name in the _Name +Template_ setting while running the _background service_, especially on a +dive trip with many dives and dive locations. + +[[S_LoadImage]] +=== Adding photographs to dives + +Many (if not most) divers take a camera with them and take photographs +during a dive. One would like to associate each photograph with a specific +dive. _Subsurface_ allows one to load photos into a dive. Photos are +superimposed on the dive profile, from where they can be viewed. + +==== Loading photos and getting synchronisation between dive computer and camera + +Left-lick on a dive or on a group of dives on the dive list. Then +right-click on this dive or group of dives and choose the option _Load +Images_: + +image::images/LoadImage1_f20.jpg["FIGURE: Load images option", align="center"] + +The system file browser appears. Select the folder and photographs that need +to be loaded into _Subsurface_ and click the _Open_ button. + +image::images/LoadImage2_f20.jpg["FIGURE: Load images option", align="center"] + +This brings one to the time synchronisation dialog, shown below. The +critical problem is that the time synchronisation is not perfect between the +dive computer used during a dive, and the camera used during that same +dive. These two devices often differ by several minutes. If _Subsurface_ can +achieve synchronisation, then the exact times of photographs can be used to +position photographs on the dive profile. + +_Subsurface_ achieves this synchronisation in two ways: + +*Manually*: If the user wrote down the exact camera time at the start of a dive, the +difference in time between the two devices can be determined. Actually, as long as the device +settings for time has not been changed in either device, one could write down the times of +both devices after the dive or even at the end of the day. One can then manually set the time +difference in the _Time shift_ dialog. Towards the top of the dialog is a time setting tool +immediately under the heading _Shift times of image(s) by_, evident in figure *A* below. +If the camera time is 7 minutes later than that of the dive computer, set the time setting +tool to a value of 00:07. Select either the _earlier_ or _later_ radio button. +In the above example, the _earlier_ option is appropriate, since the photos need to be shifted +7 minutes earlier (camera is 7 minutes ahead of dive computer). Ignore any "AM" or "PM" suffix +in that tool. Click the _OK_ button and synchronisation is achieved. + +image::images/LoadImage3b_f20.jpg["FIGURE: Synchronisation dialog", align="center"] + + +*By photograph*: There is a very slick way of achieving synchronisation. If one takes a +photograph of the face of the dive computer showing the time, then _Subsurface_ can obtain +the exact time the photograph was taken, using the metadata that the camera stores within +each photo. In order to do this, use the bottom half of the Time shift_ dialog. If one uses +the bottom part, the top part of the dialog is ignored. Click on +the horizontal bar entitled "_Select image of divecomputer showing time_. This brings up +a file browser with which one can select the photograph of the dive computer. Select the +photograph using the file browser and click on _OK_. This photograph of the dive computer +appears in the bottom panel of the _Shift times_ dialog. Now _Subsurface_ knows exactly +when the photograph has been taken. Now set the date-time dialog to the left of the photo +so that this tool reflects the date and time of the dive computer in the photo. When the +date-time tool has been set, _Subsurface_ knows exactly what the time difference between +camera and dive computer is, and synchronisation is achieved. There is a +photograph with the face of the dive computer and with the date-time tool set to the +date-time on image *B* above. + +If the timestamp of a photograph is long before or after the dive, it is not +placed on the dive profile. If the timestamp of the photo is within 30 +minutes of the dive, it is shown. + +==== Viewing the photos + +In order to view the photos added to a dive, activate the _show-photos_ +button in the tool bar to the left of the dive profile: + +image::images/icons/ShowPhotos_f20.png["FIGURE:Show photos toolbar button", align="left"] + +After the images have been loaded, they appear in two places: + + - the _Photos_ tab of the *Dive Notes* panel. + - as tiny icons (stubs) on the dive profile at the appropriate positions + reflecting the time each photograph was taken. See below: + +image::images/LoadImage4_f20.jpg["FIGURE: Photos on dive profile", align="center"] + +If one hovers with the mouse over any of the photo icons, then a thumbnail +photo is shown of the appropriate photo. See the image below: + +image::images/LoadImage5_f20.jpg["FIGURE:Thumbnail photo on dive profile", align="center"] + +Clicking on the thumbnail brings up a full size photo overlaid on the +_Subsurface_ window. This allows good viewing of the photographs that have +been added (see the image below). Note that the thumbnail has a small +dustbin icon in the bottom right hand corner (see image above). If one +selects the dustbin, the image is removed from the dive. Therefore some care +is required when clicking on a thumbnail. Images can also be deleted using +the _Photos_ tab (see text below). + +image::images/LoadImage6_f20.jpg["FIGURE: Full-screen photo on dive profile", align="center"] + +==== The _Photos_ tab + +Photographs associated with a dive are shown as thumbnails in the _Photos_ +tab of the _Dive Notes_ panel. Photos taken in rapid succession during a +dive (therefore sometimes with large overlap on the dive profile) can easily +be accessed in the _Photos_ tab. This tab serves as a tool for individually +accessing the photos of a dive, while the stubs on the dive profile give an +indication of when during a dive a photo was taken. By single-clicking on a +thumbnail in the _Photos_ panel, a photo is selected. By double-clicking a +thumbnail, the full-sized image is shown, overlaying the _Subsurface_ +window. A photo can be deleted from the _Photos_ panel by selecting it +(single-click) and then by pressing the _Del_ key on the keyboard. This +removes the photo both from the _Photos_ tab as well as the dive profile. + +==== Photos on an external hard disk + +Most underwater photographers store their photos on an external drive. If +such a drive can be mapped (almost always the case) the photos can be +directly accessed by _Subsurface_. This facilitates the interaction between +_Subsurface_ and an external repository of photos. When associating a dive +profile with photos from an external drive, the normal procedure of +selection and synchronisation (see text above) is used. However, after the +external drive has been disconnected, _Subsurface_ cannot access these +photos any more. If the display of photos is activated (using the toolbox +to the left of the _Dive Profile_), the program only shows a small white dot +where each photo should be on the dive profile. In addition the _Photos_ +tab only shows the file names of the photos. This is normal behaviour. If, +later, the external drive with the photos is connected again, the photos can +be seen in the normal way. + + +=== Logging special types of dives + +==== Sidemount dives + +_Subsurface_ easily handles dives involving more than one +cylinder. Sidemount dive logging involves three steps: + +*During the dive, recording cylinder switch events*. Since sidemount diving normally involves two +cylinders with air or with the same gas mixture, _Subsurface_ distinguishes among these different +cylinders. In contrast, most dive computers that allow gas switching only distinguish among different +_gases_ used, not among different _cylinders_ used. This means that when sidemount dives are downloaded +from these dive computers, the events of switching between cylinders with the same gas are not downloaded. This may mean +that one may have to keep a written log of cylinder switch times using a slate, or (if the dive computer +has this facility) marking each cylinder switch with a bookmark that can be retrieved later. Returning +from a dive with the information about cylinder changes is the only tricky part of logging sidemount dives. +*Within _Subsurface_ describe the cylinders used during the dive*. The diver needs to provide the +specifications of the different cylinders, using the *Equipment* tab of the *Dive Info Panel* (see +image below where two 12 litre cylinder were used). +*Indicate cylinder change events on the _Subsurface_ dive profile*. Once the dive log has been imported +from a dive computer into _Subsurface_, the cylinder switch events need to be indicated on the dive profile. +Cylinder changes are recorded by right-clicking at the appropriate point on the dive profile and then +selecting _Add gas change_. A list of the appropriate cylinders is shown with the +currently used cylinder greyed out. In the image below Tank 1 is greyed out, leaving only Tank 2 +to be selected. Select the appropriate cylinder. The cylinder change is then indicated on the dive +profile with a cylinder symbol. If the *Tank Bar* is activated using the toolbar to the left of the +profile, then the cylinder change is also indicated on the Tank Bar (see image below). After all +the cylinder change events have been recorded on the dive profile, the correct cylinder pressures +for both cylinders are shown on the dive profile, as inthe image below. + +image::images/sidemount1.jpg["FIGURE: Sidemount profile", align="center"] + +== Obtaining more information about dives entered into the logbook + +=== The *Dive Info* tab (for individual dives) + +The Dive Info tab gives some summary information about a particular dive +that has been selected in the *Dive List*. Useful information here includes +the surface interval before the dive, the maximum and mean depths of the +dive, the gas volume consumed, the surface air consumption (SAC) and the +number of oxygen toxicity units (OTU) incurred. + +[icon="images/icons/info.jpg"] +[NOTE] +Gas consumption and SAC calculations: _Subsurface_ calculates SAC and Gas +consumption taking in account gas incompressibility, particularly at tank +pressures above 200 bar, making them more accurate. Users should refer to +xref:SAC_CALCULATION[Appendix D] for more information. + +=== The *Extra Data* tab (usually for individual dives) + +When using a dive computer, it often reports several data items that cannot +easily be presented in a standardised way because the nature of the +information differs from one dive computer to another. These data often +comprise setup information, metadata about a dive, battery levels, no fly +times, or gradient factors used during the dive. When possible, this +information is presented in the *Extra Data* tab. Below is an image showing +extra data for a dive using a Poseidon rebreather. + +image::images/ExtraDataTab_f20.jpg["FIGURE: Extra Data tab", align="center"] + +=== The *Stats* tab (for groups of dives) + +The Stats tab gives summary statistics for more than one dive, assuming that +more than one dive has been selected in the *Dive List* using the standard +Ctrl-click or Shift-click of the mouse. If only one dive has been selected, +figures pertaining to only that dive are given. This tab shows the number of +dives selected, the total amount of dive time in these dives, as well as the +minimum, maximum and mean for the dive duration, water temperature and +surface air consumption (SAC). It also shows the depth of the shallowest and +deepest dives of those selected. + +[[S_DiveProfile]] +=== The *Dive Profile* + +image::images/Profile2.jpg["Typical dive profile", align="center"] + +Of all the panels in _Subsurface_, the Dive Profile contains the most +detailed information about each dive. The Dive Profile has a *button bar* on +the left hand side that allows control over several display options. The +functions of these buttons are described below. The main item in the Dive +Profile is the graph of dive depth as a function of time. In addition to the +obvious information of the depth it also shows the ascent and descent rates +compared to the recommended speed of going up or down in the water +column. This information is given using different colours: +|==================== +|*Colour*|*Descent speed (m/min)*|*Ascent speed (m/min)* +|Red|> 30|> 18 +|Orange|18 - 30|9 - 18 +|Yellow|9 - 18|4 - 9 +|Light green|1.5 - 9|1.5 - 4 +|Dark green|< 1.5|< 1.5 +|===================== + +The profile also includes depth readings for the peaks and troughs in the +graph. Thus, users should see the depth of the deepest point and other +peaks. Mean depth is marked with a horizontal red line. + +[icon="images/icons/scale.jpg"] +[NOTE] +In some cases the dive profile does not fill the whole area of the *Dive +Profile* panel. Clicking the *Scale* button in the toolbar on the left of +the dive profile frequently increases the size of the dive profile to fill +the area of the panel efficiently. + +*Water temperature* is displayed with its own blue line with temperature values +placed adjacent to significant changes. + +The dive profile can include graphs of the *partial pressures* of O2, N2, +and He during the dive (see figure above) as well as a calculated and dive +computer reported deco ceilings (only visible for deep, long, or repetitive +dives). Partial pressures of oxygen are indicated in green, those of +nitrogen in black, and those of helium in dark red. These partial pressure +graphs are shown below the profile data. + +[icon="images/icons/O2.jpg"] +[NOTE] +Clicking this button allows display of the partial pressure of *oxygen* +during the dive. This is depicted below the dive depth and water temperature +graphs. + +[icon="images/icons/N2.jpg"] +[NOTE] +Clicking this button allows display of the partial pressure of *nitrogen* +during the dive. + +[icon="images/icons/He.jpg"] +[NOTE] +Clicking this button allows display of the partial pressure of *helium* +during the dive. This is only of importance to divers using Trimix, +Helitrox or similar breathing gasses. + +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 slope of the tank pressure gives the +user information about the momentary SAC rate (Surface Air Consumption) when +using an air integrated dive computer. Here the colour coding is not +relative to some absolute values but relative to the average normalised 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. + +[icon="images/icons/Heartbutton.png"] +[NOTE] +Clicking on the heart rate button will allow the display of heart rate +information during the dive if the dive computer was attached to a heart +rate sensor. + +It is possible to *zoom* into the profile graph. This is done either by using +the scroll wheel / scroll gesture of your mouse or trackpad. By default +_Subsurface_ always shows a profile area large enough for at least 30 minutes +and 30m + (100ft) – this way short or shallow dives are intuitively recognizable; +something +that free divers clearly won’t care about. + +image::images/MeasuringBar.png["FIGURE: Measuring Bar", align="center"] + +[icon="images/icons/ruler.jpg"] +[NOTE] +Measurements of *depth or time differences* can be achieved by using the +*ruler button* on the left of the dive profile panel. The measurement is +done by dragging the red dots to the two points on the dive profile that the +user wishes to measure. Information is then given in the horizontal white +area underneath the two red dots. + +[icon="images/icons/ShowPhotos.png"] +[NOTE] +Photographs that have been added to a dive can be shown on the profile by +selecting the *Show-photo* button. The position of a photo on the profile +indicates the exact time when this photo was taken. If this button is not +active, the photos are hidden. + + +The profile can also include the dive computer reported *ceiling* (more +precisely, the deepest deco stop that the dive computer calculated for each +particular moment in time) as a red overlay on the dive profile. Ascent +ceilings arise when a direct ascent to the surface increases the risk of a +diver suffering from decompression sickness (DCS) and it is necessary to +either ascend slower or to perform decompression stop(s) before ascending to +the surface. Not all dive computers record this information and make it +available for download; for example all of the Suunto dive computers fail to +make this very useful data available to divelog software. _Subsurface_ also +calculates ceilings independently, shown as a green overlay on the dive +profile. Because of the differences in algorithms used and amount of data +available (and other factors taken into consideration at the time of the +calculation) it is unlikely that ceilings from dive computers and from +_Subsurface_ are the same, even if the same algorithm and _gradient factors_ +(see below) are used. It is also quite common that _Subsurface_ calculates +a ceiling for non-decompression dives when the dive computer stayed in +non-deco mode during the whole dive (represented by the [green]#dark green# +section in the profile at the beginning of this section). This is caused by +the fact that _Subsurface’s_ calculations describe the deco obligation at +each moment during a dive, while dive computers usually take the upcoming +ascent into account. During the ascent some excess nitrogen (and possibly +helium) are already breathed off so even though the diver technically +encountered a ceiling at depth, the dive still does not require an explicit +deco stop. This feature allows dive computers to offer longer non-stop +bottom times. + +[icon="images/icons/cceiling.jpg"] +[NOTE] +If the dive computer itself calculates a ceiling and makes it available to +_Subsurface_ during upload of dives, this can be shown as a red area by +checking *Dive computer reported ceiling* button on the Profile Panel. + +[icon="images/icons/ceiling1.jpg"] +[NOTE] +If the *Calculated ceiling* button on the Profile Panel is clicked, then a +ceiling, calculated by _Subsurface_, is shown in green if it exists for a +particular dive (*A* in figure below). This setting can be modified in two +ways: + +[icon="images/icons/ceiling2.jpg"] +[NOTE] +If, in addition, the *show all tissues* button on the Profile Panel is +clicked, the ceiling is shown for the tissue compartments following the +Bühlmann model (*B* in figure below). + +[icon="images/icons/ceiling3.jpg"] +[NOTE] +If, in addition, the *3m increments* button on the Profile Panel is clicked, +then the ceiling is indicated in 3 m increments (*C* in figure below). + +image::images/Ceilings2.jpg["Figure: Ceiling with 3m resolution", align="center"] + +[icon="images/icons/ShowCylindersButton.jpg"] +[NOTE] +By selecting this icon, the different cylinders used during a dive can be +represented as a coloured bar at the bottom of the *Dive Profile*. In +general oxygen is represented by a green bar, nitrogen with a yellow bar and +helium with a red bar. The image below shows a dive which first uses a +trimix cylinder (red and green), followed by a switch to a nitrox cylinder +(yellow and green) after 23 minutes. Cylinders with air are shown as a light +blue bar. + +image::images/ShowCylinders_f20.jpg["Figure: Cylinder use graph", align="center"] + + +[icon="images/tissues.jpg"] + +[NOTE] +Display inert gas tissue pressures relative to ambient inert gas pressure +(horizontal grey line). Tissue pressures are calculated using the Bühlmann +ZH-L16 algorithm and are displayed as lines ranging from green (faster +tissues) to blue (slower tissues). The black line, graphed above the +ambient pressure, is the maximum allowable tissue supersaturation (pressure +limit) derived from the gradient factors specified in the *Preferences*. For +divers involved in planned decompression diving, efficient rates of +offgasing are obtained with tissue pressures between the ambient inert gas +pressure (grey line) and the pressure limit (black line). This display is a +representation of the tissue pressures during the whole dive. In contast, +the xref:S_gas_pressure_graph[Gas Pressure Graph] in the *Information Box* +on the *Dive Profile* is an instantaneous reflection of tissue pressures at +the moment in time reflected by the position of the cursor on the dive +profile. + +image::images/tissuesGraph.jpg["Figure: Inert gas tissue pressure graph", align="center"] + +Gradient Factor settings strongly affect the calculated ceilings and their +depths. For more information about Gradient factors, see the section on +xref:S_GradientFactors[Gradient Factor Preference settings]. The currently +used gradient factors (e.g. GF 35/75) are shown above the depth profile if +the appropriate toolbar buttons are activated. *N.B.:* The indicated +gradient factors are NOT the gradient factors in use by the dive computer, +but those used by _Subsurface_ to calculate deco obligations during the +dive. For more information external to this manual see: + + ** http://www.tek-dive.com/portal/upload/M-Values.pdf[Understanding M-values by Erik Baker, _Immersed_ Vol. 3, No. 3.] + + ** link:http://www.rebreatherworld.com/general-and-new-to-rebreather-articles/5037-gradient-factors-for-dummies.html[Gradient factors for dummies, by Kevin Watts] + + +=== The Dive Profile context menu + +The context menu for the Dive Profile is accessed by right-clicking while +the mouse cursor is over the Dive Profile panel. The menu allows the +creation of Bookmarks or Gas Change Event markers or manual CCR set-point +changes other than the ones that might have been imported from a Dive +Computer. Markers are placed against the depth profile line and with the +time of the event set by where the mouse cursor was when the right mouse +button was initially clicked to bring up the menu. Gas Change events involve +a selection of which gas is being switched to, the list of choices being +based on the available gases defined in the Equipment Tab. Set-point change +events open a dialog allowing to choose the next set-point value. As in the +planner, a set-point value of zero indicates the diver is breathing from an +open circuit system while any non-zero value indicates the use of a closed +circuit rebreather (CCR). By right-clicking while over an existing marker a +menu appears, adding options to allow deletion of the marker or to allow all +markers of that type to be hidden. Hidden events can be restored to view by +selecting Unhide all events from the context menu. + +=== The *Information Box* + +The Information box displays a large range of information pertaining to the +dive profile. Normally the Information Box is located to the top left of the +*Dive Profile* panel. If the mouse points outside of the *Dive Profile* +panel, then only the top line of the Information Box is visible (see +left-hand part of figure (*A*) below). The Information Box can be moved +around in the *Dive Profile* panel by click-dragging it with the mouse so +that it is not obstructing important detail. The position of the Information +Box is saved and used again during subsequent dive analyses. + +image::images/InfoBox2.jpg["Figure: Information Box", align="center"] + +The moment the mouse points inside the *Dive Profile* panel, the information +box expands and shows many data items. In this situation, the data reflect +the time point along the dive profile indicated by the mouse cursor (see +right-hand part of figure (*B*) above where the Information Box reflects the +situation at the position of the cursor [arrow] in that image). Therefore, +moving the cursor in the horizontal direction allows the Information Box to +show information for any point along the dive profile. In this mode, the +Information Box gives extensive statistics about depth, gas and ceiling +characteristics of the particular dive. These include: Time period into the +dive (indicated by a @), depth, cylinder pressure (P), temperature, +ascent/descent rate, surface air consumption (SAC), oxygen partial pressure, +maximum operating depth, equivalent air depth (EAD), equivalent narcotic +depth (END), equivalent air density depth (EADD), decompression requirements +at that instant in time (Deco), time to surface (TTS), the calculated +ceiling, as well as the calculated ceiling for several Bühlmann tissue +compartments. + +The user has control over the display of several statistics, represented as +four buttons on the left of the profile panel. These are: + +[icon="images/icons/MOD.jpg"] +[NOTE] +Clicking this button causes the Information Box to display the *Maximum +Operating Depth (MOD)* of the dive, given the gas mixture used. MOD is +dependent on the oxygen concentration in the breathing gas. For air (21% +oxygen) it is around 57 m. Below the MOD there is a markedly increased risk +of exposure to the dangers associated with oxygen toxicity. + +[icon="images/icons/NDL.jpg"] +[NOTE] +Clicking this button causes the Information Box to display the *No-deco +Limit (NDL)* or the *Total Time to Surface (TTS)*. NDL is the time duration +that a diver can continue with a dive, given the present depth, that does +not require decompression (that is, before an ascent ceiling appears). Once +one has exceeded the NDL and decompression is required (that is, there is an +ascent ceiling above the diver, then TTS gives the number of minutes +required before the diver can surface. TTS includes ascent time as well as +decompression time. + +[icon="images/icons/SAC.jpg"] +[NOTE] +Clicking this button causes the Information Box to display the *Surface Air +Consumption (SAC)*. SAC is an indication of the surface-normalised +respiration rate of a diver. The value of SAC is less than the real +respiration rate because a diver at 10m uses breathing gas at a rate roughly +double that of the equivalent rate at the surface. SAC gives an indication +of breathing gas consumption rate independent of the depth of the dive so +that the respiratory rates of different dives can be compared. The units for +SAC is litres/min or cub ft/min. + +[icon="images/icons/EAD.jpg"] +[NOTE] +Clicking this button displays the *Equivalent Air Depth (EAD)* for nitrox +dives as well as the *Equivalent Narcotic Depth (END)* for trimix +dives. These are numbers of importance to divers who use breathing gases +other than air. Their values are dependent on the composition of the +breathing gas. The EAD is the depth of a hypothetical air dive that has the +same partial pressure of nitrogen as the current depth of the nitrox dive at +hand. A nitrox dive leads to the same decompression obligation as an air +dive to the depth equalling the EAD. The END is the depth of a hypothetical +air dive that has the same sum of partial pressures of the narcotic gases +nitrogen and oxygen as the current trimix dive. A trimix diver can expect +the same narcotic effect as a diver breathing air diving at a depth +equalling the END. + +Figure (*B*) above shows an information box with a nearly complete set of +data. + +[[S_gas_pressure_graph]] +==== The Gas Pressure Bar Graph + +On the left of the *Information Box* is a vertical bar graph indicating the +pressures of the nitrogen (and other inert gases, e.g. helium, if +applicable) that the diver was inhaling _at a particular instant during the +dive_, indicated by the position of the cursor on the *Dive Profile*. The +drawing on the left below indicates the meaning of the different parts of +the Gas Pressure Bar Graph. + +image::images/GasPressureBarGraph.jpg["FIGURE:Gas Pressure bar Graph", align="center"] + +The light green area indicates the total gas, with the top margin of the +light green area indicating the total gas pressure inhaled by the diver and +measured from the bottom of the graph to the top of the light green +area. This pressure has a _relative_ value in the graph and does not +indicate absolute pressure. + +The horizontal black line underneath the light green margin indicates the +equilibrium pressure of the inert gases inhaled by the diver, usually +nitrogen. In the case of trimix, it is the pressures of nitrogen and helium +combined. In this example, the user is diving with EAN32, so the inert gas +pressure is 68% of the distance from the bottom of the graph to the total +gas pressure value. + +The dark green area at the bottom of the graph represents the pressures of +inert gas in each of the 16 tissue compartments, following the Bühlmann +algorithm, the fast tissues being on the left hand side. + +The top black horizontal line indicates the gradient factor that applies to +the depth of the diver at the particular point on the *Dive Profile*. The +appropriate gradient factor is an interpolation between the FGLow and GFHigh +values specified in the Graph tab of the *Preferences Panel* of +*Subsurface*. + +The bottom margin of the red area in the graph indicates the Bühlman-derived +M-value, that is the pressure value of inert gases at which bubble formation +is expected to be severe, resulting in decompression sickness. + +These five values are indicated on the left in the graph above. The way the +Gas Pressure Bar Graph changes during a dive is indicated on the right hand +side of the above figure for a diver using EAN32. + +Graph *A* indicates the situation at the start of a dive with diver at the +surface. The pressures in all the tissue compartments are still at the +equilibrium pressure because no diving has taken place. + +Graph *B* indicates the situation after a descent to 30 meters. Few of the +tissue compartments have had time to respond to the descent, their gas +pressures being far below the equilibrium gas pressure. + +Graph *C* represents the pressures after 30 minutes at 30 m. The fast +compartments have attained equilibrium (i.e. they have reached the hight of +the black line indicating the equilibrium pressure). The slower compartments +(towards the right) have not reached equilibrium and are in the process of +slowly increasing in pressure. + +Graph *D* shows the pressures after ascent to a depth of 4.5 meters. Since, +during ascent, the total inhaled gas pressure has decreased strongly from 4 +bar to 1.45 bar, the pressures in the different tissue compartments now +exceed that of the total gas pressure and approaches the gradient factor +value (i.e. the top black horizontal line). Further ascent will result in +exceeding the gradient factor value (GFHigh), endangering the diver. + +Graph *E* indicates the situation after remaining at 4.5 meters for 10 +minutes. The fast compartments have decreased in pressure. As expected, the +pressures in the slow compartments have not changed much. The pressures in +the fast compartments do not approach the GFHigh value any more and the +diver is safer than in the situation indicated in graph *D*. + + + +== Organising the logbook (Manipulating groups of dives) + +=== The Dive List context menu + +Many actions within _Subsurface_ are dependent on a context menu used mostly +to manipulate groups of dives. The context menu is found by selecting a dive +or a group of dives and then right-clicking. + +image::images/ContextMenu.jpg["Figure: Context Menu", align="center"] + +The context menu is used in many manipulations described below. + +==== Customising the information showed in the *Dive List* panel + +image::images/DiveListOptions.jpg["Example: Dive list info options", align="center"] + +The default information in the *Dive List* includes, for each dive, +Dive_number, Date, Rating, Dive_depth, Dive_duration and Dive_location. This +information can be controlled and changed by right-clicking on the header +bar of the *Dive List*. For instance, a right-click on the 'Date' header +brings up a list of items that can be shown in the dive list (see +above). Select an item to be shown in the *Dive List* or to be deleted from +the dive list, and the list is immediately updated accordingly. Preferences +for information shown in the *Dive List* is saved and used when _Subsurface_ +is re-opened. + +==== Selecting dives from a particular dive site + +Many divers have long dive lists and it may be difficult to locate all the +dives at a particular site. By pressing _Ctl-F_ on the keyboard, a text box +is opened at the top left hand of the *Dive List*. Type the name of a dive +site in this text box and the *Dive List* is immediately filtered to show +only the dives for that site. + +[[S_Renumber]] +=== Renumbering the dives + +Dives are normally numbered incrementally from non-recent dives (low +sequence numbers) to recent dives (having the highest sequence numbers). The +numbering of the dives is not always consistent. For instance, when +non-recent dives are added to the dive list the numbering does not +automatically follow on because of the dives that are more recent in +date/time than the newly-added dive with an older date/time. Therefore, one +may sometimes need to renumber the dives. This is performed by selecting +(from the Main Menu) _Log -> Renumber_. Users are given a choice with +respect to the lowest sequence number to be used. Completing this operation +results in new sequence numbers (based on date/time) for the dives in the +*Dive List* panel. + +[[S_Group]] +=== Grouping dives into trips and manipulating trips + +For regular divers, the dive list can rapidly become very long. _Subsurface_ +can group dives into _trips_. It performs this by grouping dives that have +date/times that are not separated in time by more than two days, thus +creating a single heading for each diving trip represented in the dive +log. Below is an ungrouped dive list (*A*, on the left) as well as the +corresponding grouped dive list comprising five dive trips (*B*, on the +right): + +image::images/Group2.jpg["Figure: Grouping dives", align="center"] + +Grouping into trips allows a rapid way of accessing individual dives without +having to scan a long lists of dives. In order to group the dives in a dive +list, (from the Main Menu) users must select _Log -> Autogroup_. The *Dive +List* panel now shows only the titles for the trips. + +==== Editing the title and associated information for a particular trip + +Normally, in the dive list, minimal information is included in the trip +title. More information about a trip can be added by selecting its trip +title from the *Dive List*. This shows a *Trip Notes* tab in the *Dive +Notes* panel. Here users can add or edit information about the date/time, +the trip location and any other general comments about the trip as a whole +(e.g. the dive company that was dived with, the general weather and surface +conditions during the trip, etc.). After entering this information, users +should select *Save* from the buttons at the top right of the *Trip Notes* +tab. The trip title in the *Dive List* panel should now reflect some of the +edited information. + +==== Viewing the dives during a particular trip + +Once the dives have been grouped into trips, users can expand one or more +trips by clicking the arrow-head on the left of each trip title. This +expands the selected trip, revealing the individual dives performed during +the trip. + +==== Collapsing or expanding dive information for different trips + +If a user right-clicks after selecting a particular trip in the dive list, +the resulting context menu allows several possibilities to expand or +collapse dives within trips. This includes expanding all trips, collapsing +all trips and collapsing all trips except the selected one. + +==== Merging dives from more than one trip into a single trip + +By right-clicking on a selected trip title in the *Dive List* panel, a +context menu shows up that allows the merging of trips by either merging of +the selected trip with the trip below or with the trip above. + +==== Splitting a single trip into more than one trip + +If a trip includes five dives, the user can split this trip into two trips +(trip 1: top 3 dives; trip 2: bottom 2 dives) by selecting and +right-clicking the top three dives. The resulting context menu allows the +user to create a new trip by choosing the option *Create new trip +above*. The top three dives are then grouped into a separate trip. The +figures below shows the selection and context menu on the left (A) and the +completed action on the right (B): + +image::images/SplitDive3a.jpg["FIGURE: Split a trip into 2 trips", align="center"] + +=== Manipulating single dives + +==== Delete a dive from the dive log + +Dives can be permanently deleted from the dive log by selecting and +right-clicking them to bring up the context menu, and then selecting *Delete +dive(s)*. Typically this would apply to a case where a user wishes to delete +workshop calibration dives of the dive computer or dives of extremely short +duration. + +==== Unlink a dive from a trip + +Users can unlink dives from the trip to which they belong. In order to do +this, select and right-click the relevant dives to bring up the context +menu. Then select the option *Remove dive(s) from trip*. The dive(s) now +appear immediately above the trip to which they belonged. + +==== Add a dive to the trip immediately above + +Selected dives can be moved from the trip to which they belong and placed +within the trip immediately above the currently active trip. To do this, +select and right-click the dive(s) to bring up the context menu, and then +select *Add dive(s) to trip immediately above*. + +==== Shift the start time of dive(s) + +Sometimes it is necessary to adjust the start time of a dive. This may apply +to situations where dives are performed in different time zones or when the +dive computer has an erroneous time. In order to do this, user must select +and right-click the dive(s) to be adjusted. This action brings up the +context menu on which the *Shift times* option should be selected. User must +then specify the time (in hours and minutes) by which the dives should be +adjusted and click on the option indicating whether the time adjustment +should be forwards or backwards. + +==== Merge dives into a single dive + +Sometimes a dive is briefly interrupted, e.g. if a diver returns to the +surface for a few minutes, resulting in two or more dives being recorded by +the dive computer and appearing as different dives in the *Dive List* +panel. Users can merge these dives onto a single dive by selecting the +appropriate dives, right-clicking them to bring up the context menu and then +selecting *Merge selected dives*. It may be necessary to edit the dive +information in the *Dive Notes* panel to reflect events or conditions that +apply to the merged dive. The figure below shows the depth profile of two +such dives that were merged: + +image::images/MergedDive.png["Example: Merged dive", align="center"] + +[[S_Filter]] +=== Filtering the dive list + +The dives in the *Dive List* panel can be filtered, that is, one can select +only some of the dives based on their attributes, e.g. dive tags, dive site, +dive master, buddy or protective clothing. For instance, filtering allows +one to list the deep dives at a particular dive site, or otherwise the cave +dives with a particular buddy. + +To open the filter, select _Log -> Filter divelist_ from the main menu. This +opens the _Filter Panel_ at the top of the _Subsurface_ window. Three icons +are located at the top right hand of the filter panel. The _Filter Panel_ +can be reset (i.e. all current filters cleared) by selecting the *+*. The +_Filter Panel_ may also be minimised by selecting the middle icon. When +minimised, only these three icons are shown. The panel can be maximised by +clicking the icon that minimised the panel. The filter may also be reset and +closed by selecting the button with the flag. An example of the _Filter +Panel_ is shown in the figure below. + + +image::images/Filterpanel.jpg["Figure: Filter panel", align="center"] + + +Four filter criteria may be used to filter the dive list: dive tags, person +(buddy / dive master), dive site and dive suit, each of which is represented +by a check list with check boxes. Above each check list is a second-level +filter tool, allowing the listing of only some of the attributes within that +check list. For instance, typing "_ca_" in the filter textbox above the tags +check list results in the tags check list being reduced to "_cave_" and +"_cavern_". Filtering of the check list enables the rapid finding of search +terms for filtering the dive list. + +To activate filtering of the dive list, the check box of at least one item +in one of the four check lists needs to be checked. The dive list is then +shortened to include only the dives that pertain to the selection criteria +specified in the check lists. The four check lists work as a filter with +_AND_ operators, Subsurface filters therefore for _cave_ as a tag AND _Joe +Smith_ as a buddy; but the filters within a category are inclusive - +filtering for _cave_ and _boat_ shows those dives that have either one or +both of these tags. + +[[S_ExportLog]] +== Exporting the dive log or parts of the dive log + +The export function can be reached by selecting _File -> Export_, which +brings up the Export dialog. This dialog always gives two options: save ALL +dives, or save only the dives selected in *Dive List* panel of +_Subsurface_. Click the appropriate radio button (see images below). + +image::images/Export.jpg["Figure: Export dialog", align="center"] + +A dive log or part of it can be saved in three formats: + +* _Subsurface XML_ format. This is the native format used by _Subsurface_. + +Universal Dive Data Format (_UDDF_). Refer to _http://uddf.org_ for more +information. UDDF is a generic format that enables communication among many +dive computers and computer programs. + +_Divelogs.de_, an Internet-based dive log repository. In order to upload to +_Divelogs.de_, one needs a user-ID as well as a password for +_Divelogs.de_. Log into _http://en.divelogs.de_ and subscribe to this +service in order to upload dive log data from _Subsurface_. + +_CSV_ format, that includes the most critical information of the dive +profile. Included information of a dive is: dive number, date, time, +duration, depth, temperature and pressure. + +_Worldmap_ format, an HTML file with a world map upon which each dive and +some information about it are indicated. This map is not editable. + +_HTML_ format, in which the dive(s) are stored in HTML files, readable with +an Internet browser. Most modern web browsers are supported, but JavaScript +must be enabled. This generated HTML file is not intended to be edited by +the users. The HTML dive log contains most of the information and also +contains a search option to search the dive log. HTML export is specified on +the second tab of the Export dialog (image *B* above). + +* _General Settings_, under the HTML tab, provides the following options: + +** Subsurface Numbers: if this option is checked, the dive(s) are exported with the +numbers associated with them in Subsurface, Otherwise the dive(s) will be numbered +starting from 1. +** Export Yearly Statistics: if this option is checked, a yearly statistics table will +be attached with the HTML exports. +** Export List only: a list of dives will only be exported and the detailed dive +information will not be available. + +Under _Style Options_ some style-related options are available like font +size and theme. + +Export to other formats can be achieved through third party facilities, for +instance _www.divelogs.de_. + +[[S_Cloud_access]] +== Keeping a _Subsurface_ dive log in the Cloud + +For each diver, dive log information is highly important. Not only is it a +record of diving activities for one's own pleasure, but it is important +information required for admission to further training courses or +(sometimes) even diving sites. The security of the dive log is therefore +critical. In order to have a dive log that is resistant to failure of a home +computer hard drive, loss or theft of equipment, the Cloud is an obvious +solution. This also has the added benefit that one can access one's dive log +from anywhere in the world without having to carry it with oneself. For this +reason, facilities such as _divelogs.de_ and _Diving Log_ offer facilities +to store dive log information on the Internet. Although _Subsurface_ does +not offer integrated Cloud storage of dive logs, it is simple to achieve +this using several of the existing facilities on the Internet. + +For instance http://www.dropbox.com/[_Dropbox_] offers a free application +that allows files on the Dropbox servers to be seen as a local folder on +one's desktop computer. + +image::images/Cloud.jpg["FIGURE: Dropbox folder", align="center"] + +The _Dropbox_ program creates a copy of the _Dropbox_ Internet Cloud content +on one's desktop computer. When the computer is connected to the Internet, +the Internet content is automatically updated. Therefore both the _Open_ and +_Save_ of dive logs are done using the local copy of the dive log in the +local _Dropbox_ folder, so there's no need for a direct internet +connection. If the local copy is modified, e.g. by adding a dive, the remote +copy in the _Dropbox_ server in the Cloud will be automatically updated +whenever Internet access is available. + +In this way a dive log in one's _Dropbox_ folder can be accessed seamlessly +from the Internet and can be accessed from any place with Internet +access. Currently there are no costs involved for this service. Dropbox +(Windows, Mac and Linux) can be installed by accessing the +http://www.dropbox.com/install[_Install Page on the Dropbox website_] +Alternatively one can use _Dropbox_ as a mechanism to backup one's dive +log. To Store a dive log in the Cloud, select _File->Save as_ from the +_Subsurface_ main menu, navigate to the _Dropbox_ folder and select the +_Save_ button. To access the dive log in the Cloud, select _File->Open +Logbook_ from the _Subsurface_ main menu and navigate to the dive log file +in the _Dropbox_ folder and select the _Open_ button. + +Several paid services exist on the Internet (e.g. Google, Amazon) where the +same process could be used for the Cloud-based storage of dive logs. + + +[[S_PrintDivelog]] +== Printing a dive log + +_Subsurface_ provides a simple interface to print a whole dive log or only a +few selected dives, including dive profiles and other contextual +information. + +Before printing, two decisions are required: + +Should the whole dive log be printed or only part of it? If only part of the +dive log is required, then the user must select the required dives from the +*Dive List* panel. +What gas partial pressure information is required on the dive profile? Users +should select the appropriate toggle-buttons on the button bar to the left +of the Dive Profile panel. + +Now the print options should be selected to match the user's needs. To do +this, user should select _File->Print_ from the Main menu. The following +dialogue appears (see the image on the left [A], below). + +image::images/PrintDiveLog.jpg["FIGURE: Print dialogue", align="center"] + +Under _Print type_ users need to select one of three options: + +- Print the complete Dive List: to do this, _Table Print_ should be selected. +Print the selected dives (dive profiles and all other information) at 6 +dives per printed page: to do this, users should select _6 dives per page_. +Print the selected dives (dive profiles and all other information) at 2 +dives per printed page: to do this, users should select _2 dives per page_. +Print the selected dives (dive profiles and all other information) at 1 dive +per printed page: to do this, users should select _1 dive per page_. + +Under _Print options_ users need to select: + +Printing only the dives that have been selected from the dive list prior to +activating the print dialogue, achieved by checking the box _Print only +selected dives_. +- Printing in colour, achieved by checking the box with _Print in colour_. + +The _Ordering_ affects the layout of the page (or part of it) for each +dive. The dive profile could be printed at the top of each dive, with the +textual information underneath, or it could be printed with the textual +information at the top with the dive profile underneath. Users should select +the appropriate option in the print dialogue. See the image below which has +a layout with text below the dive profile. + +Users can _Preview_ the printed page by selecting the _Preview_ button on +the dialogue. After preview, changes to the options in the print dialogue +can be made, resulting in a layout that fits personal taste. + +Next, select the _Print_ button in the dialogue. This activates the regular +print dialogue used by the user operating system (image [*B*] in the middle, +above), allowing them to choose a printer and to set its properties (image +[*C*] on the right, above). It is important to set the print resolution of +the printer to an appropriate value by changing the printer +properties. Finally, one can print the dives. Below is a (rather small) +example of the output for one particular page. + +image::images/Printpreview.jpg["FIGURE: Print preview page", align="center"] + + +[[S_Preferences]] +== Setting user _Preferences_ for _Subsurface_ + +There are several settings within _Subsurface_ that the user can +specify. These are found when selecting _File->Preferences_. The settings +are performed in five groups: *Defaults*, *Units*, *Graph*, *Language* and +*Network*. All five sections operate on the same principles: the user must +specify the settings that are to be changed, then these changes are saved +using the *Apply* button. After applying all the new settings users can then +leave the settings panel by selecting *OK*. + +=== Defaults + +There are several settings in the *Defaults* panel: + +image::images/Pref1.jpg["FIGURE: Preferences defaults page", align="center"] + + ** *Lists and tables*: Here one can specify the font type and font size of the +*Dive Table* panel. By decreasing the font size of the *Dive Table*, users can see more dives on a screen. + + ** *Dives*: For the _Default Dive File_ one need to specify the directory and +file name of one's +electronic dive log book. This is a file with filename extension .xml. When +launched, _Subsurface_ will automatically load the specified dive log book. + + ** *Display invalid*: Dives can be marked as invalid (when a user wishes to hide +dives that he/she don't consider valid dives, e.g. pool dives, but still want to +keep them in the dive log). This controls whether those dives are displayed in +the dive list. + + ** *Default cylinder*: Here users can specify the default cylinder listed in +the *Equipment* tab of the *Dive Notes* panel. + + ** *Animations*: Some actions in showing the dive profile are performed using +animations. For instance, the axis values for depth and time change from dive to +dive. When viewing a different dive, these changes in axis characteristics do not +happen instantaneously, but are animated. The _Speed_ of animations can be controlled +by setting this slider +with faster animation speed to the left, with a 0 value representing no animation +at all. + + ** *Subsurface web service*: When one subscribes to the <<S_Companion,Subsurface web service>>, a very +long and hard-to-remember userID is issued. This is the place to save that userID. By +checking the option _Save User ID locally?_, one ensures that a local copy of that userID +is saved. + + ** *Clear all settings*: As indicated in the button below this heading, all settings are +cleared and set to default values. + +=== Units +image::images/Pref2.jpg["FIGURE: Preferences Units page", align="center"] + +Here user can choose between metric and imperial units of depth, pressure, +volume, temperature and mass. By selecting the Metric or Imperial radio +button at the top, users can specify that all units are in the chosen +measurement system. Alternatively, if one selects the *Personalise* radio +button, units can be selected independently, with some units in the metric +system and others in imperial. + +=== Graph +image::images/Pref3.jpg["FIGURE: Preferences Graph page", align="center"] + +[[S_GradientFactors]] +This panel allows two type of selections: + +*Show*: Here users can specify the amount of information shown as part of +the dive profile: +** Thresholds: _Subsurface_ can display the nitrogen, oxygen and the helium partial pressures during +the dive. These are enabled using the toolbar on the left hand side of the *Dive Profile* +panel. For each of these graphs users can specify a threshold value on the right-hand side of the +Preferences panel. If any of the graphs go above this threshold level, the graph is +highlighted in red, indicating that the threshold has been exceeded. + +** _Draw dive computer reported ceiling red_: This checkbox allows exactly what it says. +Not all dive computers report ceiling values. If the dive computer does report it, it may differ +from the ceilings calculated by _Subsurface_. This is because of the different algorithms and gradient factors available for calculating ceilings, as well as the dynamic way that a +dive computer can calculate ceilings during a dive. + +** _Show unused cylinders in Equipment Tab_: This checkbox allows display of information about unused cylinders when viewing the *Equipment Tab*. Conversely, if this box is not checked, and any cylinders entered using the *Equipment Tab* are not used (e.g. there was no gas switch to such a cylinder), then these cylinders are omitted from that list. + +** _Show average depth_: Activating this checkbox causes _Subsurface_ to draw a red line across +the dive profile, indicating the mean depth of the dive. + +* *Misc*: + +** Gradient Factors:* Here users can set the _gradient factors_ used while diving. GF_Low is +the gradient factor at depth and GF_High is used just below the surface. +At intermediate depths gradient factors between GF_Low and GF_High are used. +Gradient factors add conservatism to the nitrogen exposure during a dive, in a +similar way that many dive computers have a conservatism setting. The lower +the value of a gradient factor, the more conservative the calculations are with +respect to nitrogen loading and the deeper the ascent ceilings are. Gradient +factors of 20/60 are considered conservative and values of 60/90 are considered +harsh. Checking *GFLow at max depth* box causes GF_Low to be used at the +deepest depth of a dive. If this box is not checked, GF_Low is applied at +all depths deeper than the first deco stop. For more information see: + + ** http://www.tek-dive.com/portal/upload/M-Values.pdf[Understanding M-values by Erik Baker, _Immersed_ Vol. 3, No. 3.] + + ** link:http://www.rebreatherworld.com/general-and-new-to-rebreather-articles/5037-gradient-factors-for-dummies.html[Gradient factors for dummies, by Kevin Watts] + +=== Language +Choose a language that _Subsurface_ will use. + +image::images/Pref4.jpg["FIGURE: Preferences Language page", align="center"] + +A checkbox allows one to use the _System Default_ language which in most +cases will be the correct setting; with this _Subsurface_ simply runs in the +same language / country settings as the underlying OS. If this is for some +reason undesirable users can uncheck this checkbox and pick a language / +country combination from the list of included localizations. The _Filter_ +text box allows one to list similar languages. For instance there are +several system variants of English or French. This particular preference +requires a restart of _Subsurface_ to take effect. + +=== Network +This panel facilitates communication between _Subsurface_ and data sources +on the Internet. + +image::images/Pref5.jpg["FIGURE: Preferences Network page", align="center"] + +This is important, for instance, when _Subsurface_ needs to communicate with +Internet services such as the <<S_Companion,_Subsurface Companion app_>> or +data export/import from _Divelogs.de_. These Internet requirements are +determined by one's type of connection to the Internet and by the Internet +Service Provider (ISP) used. One's ISP should provide the appropriate +information. If a proxy server is used for Internet access, the appropriate +information needs to be provided here. The type of proxy needs to be +selected from the dropdown list. after which the IP address of the host and +the appropriate port number should be provided. If the proxy server uses +authentication, the appropriate userID and password also needs to be +provided so that _Subsurface_ can automatically pass through the proxy +server to access the Internet. + +[[S_DivePlanner]] +== The _Subsurface_ dive planner +Dive planning is an advanced feature of _Subsurface_, accessible by +selecting _Log -> Plan Dive_ from the main menu. It allows calculation of +nitrogen load during a dive by using the Bühlmann ZH-L16 algorithm with the +addition of gradient factors as implemented by Erik Baker. + +**** +[icon="images/icons/warning2.png"] +[WARNING] + +The _Subsurface_ dive planner IS CURRENTLY EXPERIMENTAL and assumes the user +is already familiar with the _Subsurface_ user interface. It is explicitly +used under the following conditions: + +The user is conversant with dive planning and has the necessary training to +perform dive planning. +- The user plans dives within his/her certification limits. +Dive planning makes large assumptions about the characteristics of the +_average person_ and cannot compensate for individual physiology or health +or personal history or life style characteristics. +- The safety of a dive plan depends heavily on the way in which the planner is + used. +- The user is familiar with the user interface of _Subsurface_. +A user who is not absolutely sure about any of the above requirements should +not use this feature. +**** + +=== The _Subsurface_ dive planner screen + +Like the _Subsurface_ dive log, the planner screen is divided into several +sections (see image below). The *setup* parameters for a dive are entered +into the several sections on the left hand side of the screen. The setup is +divided into several sections: Available Gases, Rates, Planning, Gas Options +and Dive Notes. + +At the top right hand is a green *design panel* upon which the profile of +the dive can be manipulated directly by dragging and clicking as explained +below. This feature makes the _Subsurface_ dive planner unique in ease of +use. + +At the bottom right is a text panel with a heading of _Dive Plan +Details_. This is where the details of the dive plan are provided in a way +that can easily be copied to other software. This is also where any warning +messages about the dive plan are printed. + +image::images/PlannerWindow1.jpg["FIGURE: Dive planner startup window", align="center"] + + +=== Initiating dive planning + +The dive planner comprises two parts: *constructing a dive plan* and +*evaluating* that dive plan. To perform dive planning, perform these steps: + +Clear the existing dive log by creating a new planning log. This is achieved +by selecting _File -> New logbook_ from the main menu. This way, dive plans +are kept separate from the existing dive log of completed dives. + +In the top left-hand area of the screen, ensure that the constant dive +parameters are appropriate. These are: Start date and time of the dive, +Atmospheric Pressure and Altitude above sea level of the dive site. The +atmospheric pressure can also be entered as an altitude in metres, assuming +an atmospheric pressure of 1.013 bar. + +In the table labelled _Available Gases_, add the information of the +cylinders to be used as well as the gas composition within that +cylinder. This is done in a similar way as for <<S_CylinderData,providing +cylinder data for dive logs>>. Choose the cylinder type by double clicking +the cylinder type and using the dropdown list, then specify the work +pressure of this cylinder. By leaving the oxygen concentration (O2%) filed +empty, the dive gas is assumed to be air. Otherwise enter the oxygen and/or +helium concentration in the boxes provided in this dialogue. Add additional +cylinders by using the "+" icon to the top righthand of the dialogue. + +The dialogue indicating _Dive Planner Points_ is usually not used at this +stage of the dive planning. + +=== Managing nitrogen, oxygen and gas consumption + +The planning is performed in three stages: + +*a) Nitrogen management*: This is performed by specifying the rates for descent and ascent, +as well as the gradient factors (GFLow and GFHigh) under the headings _Rates_ and _Planning_ +to the bottom left of the planning screen. Initially, the GFHigh and GFLow values in the _Preferences_ +panel of _Subsurface_ is used. If these are changed within the planner (see _Gas Options_ within +the planner), the new values are +used without changing the original specifications in the _Preferences_. Gradient Factor settings strongly affect the calculated ceilings and their depths. +A very low GFLow value brings about decompression stops early on during the dive. + ** For more information about Gradient factors, see the section on xref:S_GradientFactors[Gradient Factor Preference settings]. +For more information external to this manual see: + + *** link:http://www.tek-dive.com/portal/upload/M-Values.pdf[Understanding M-values by Erik Baker, _Immersed_ Vol. 3, No. 3.] + *** link:http://www.rebreatherworld.com/general-and-new-to-rebreather-articles/5037-gradient-factors-for-dummies.html[Gradient factors for dummies, by Kevin Watts] + *** link:http://www.amazon.com/Deco-Divers-Decompression-Theory-Physiology/dp/1905492073/ref=sr_1_1?s=books&ie=UTF8&qid=1403932320&sr=1-1&keywords=deco+for+divers[_Deco for Divers_, by Mark Powell (2008). Aquapress] Southend-on-Sea, UK. ISBN 10: 1-905492-07-3. +An excellent non-technical review. + + ** The ascent rate is critical for nitrogen off-gassing at the end of the dive and is specified +for several depth ranges, utilising the average (or mean) depth as a yardstick. The mean depth +of the dive plan is indicated on the dive profile in the green panel of the dive planner. Ascent rates +at deeper levels are often in the range of 8-12 m/min, while ascent rates near the surface are +often in the range of 4-9 m/min. The descent rate is also specified. If the option _Drop to first depth_ +is activated, then the descent phase of the planned dive will be at the maximal descent rate specified +in the _Rates_ section of the dive setup. + + +*b) Oxygen management*: In the *Gas Options* part of the dive specification, the maximum partial +pressure for oxygen needs to be specified for the +bottom part of the dive (_bottom po2_) as well as for the decompression part of the dive (_deco po2_). +The most commonly +used values are 1.4 bar for the bottom part of the dive and 1.6 bar for any decompression +stages. Normally, a partial pressure of 1.6 bar is not exceeded. PO2 settings and the depth at which switching to a gas takes place can also be edited in the +_Available Gases_ dialog. Normally the planner decides on switching to a new gas when, during +ascent, the partial pressure of the new gas has decreased to 1.6 bar. + + +*c) Gas management*: One needs keep within the limits of the amount of gas contained in the dive +cylinder(s), allowing for an appropriate margin for safe return to the surface, possibly +sharing with a buddy. Under the _Gas Options_ heading, specify the best (but conservative) estimate +of your surface-equivalent air consumption (SAC, also termed RMV) in +litres/min (for the time being, only SI units are supported). Specify the SAC during the +bottom part of the dive (_bottom SAC_) as well as during the decompression or safety stops of the +dive (_deco SAC_). Values of 20-30 l/min are common. For good gas management, a thumbsuck guess +is not sufficient and one needs to +monitor one's gas consumption on a regular basis, dependent on different dive conditions and/or equipment. +The planner will calculate the total volume of gas used during the dive and will issue a warning +if one exceeds the total amount of gas available. Good practice demands that one does not dive to +the limit of the gas supply but that an appropriate reserve is kept for unforeseen circumstances. +For technical diving, this reserve can be up to 66% of the total available gas. + +Now (at last) one can start the detailed time-depth planning of the +dive. _Subsurface_ offers a unique graphical interface for performing this +part of the planning. The mechanics of doing this is similar to +hand-entering a dive profile in the dive log part of _Subsurface_. Upon +activating the planner, a default dive of depth 15 m for 40 min is offered +in the green design surface to the top right hand of the screen. The white +dots (waypoints) on the profile can be dragged with a mouse. Create more +waypoints by double-clicking on the profile line and ensuring that the +profile reflects the intended dive. Drag the waypoints to represent the +depth and duration of the dive. If any of the management limits (for +nitrogen, oxygen or gas) is exceeded, the surface above the dive profile +changes from BLUE to RED. + +Each waypoint on the dive profile creates a _Dive Planner Point_ in the +table on the left of the dive planner panel. Ensure that the _Used Gas_ +value in each row of that table corresponds to one of the gas mixtures +specified in the table with _Available Gases_ immediately above the Dive +Planner Points. Add new waypoints until the main features of the dive have +been completed, e.g. the bottom time segment and deep stops (if these are +implemented). Leave the remaining waypoints on the ascent to +_Subsurface_. In most cases _Subsurface_ computes additional way points in +order to fulfil decompression requirements for that dive. A waypoint can be +moved by selecting that waypoint and by using the arrow keys. The waypoints +listed in the _Dive Planner Points_ dialogue can be edited by hand in order +to obtain a precise presentation of the dive plan. In fact, one can create +the whole dive profile by editing the _Dive Planner Points_ dialog. + +Indicate any changes in gas cylinder used by indicating gas changes as +explained in the section <<S_CreateProfile,hand-creating a dive +profile>>. These changes should reflect the cylinders and gas compositions +defined in the table with _Available Gases_. If two or more gases are used, +automatic gas switches will be suggested during the ascent to the +surface. However, these changes can be deleted by right-clicking the gas +change and by manually creating a gas change by right-clicking on the +appropriate waypoint. + +A non-zero value in the "CC set point" column of the table of dive planner +points indicates a valid setpoint for oxygen partial pressure and that the +segment is dived using a closed circuit rebreather (CCR). If the last +manually entered segment is a CCR segment, the decompression phase is +computed assuming the diver uses a CCR with the specified set-point. If the +last segment (however short) is on open circuit (OC, indicated by a zero +set-point) the decompression is computed in OC mode. The planner only +considers gas changes in OC mode. + +Below is an example of a dive plan to 45m using EAN26, followed by an ascent +using EAN50 and using the settings as described above. + +image::images/DivePlanner2.jpg["FIGURE: Planning a dive: setup", align="center"] + +Once the above has been completed, one can save it by clicking the _Save_ +button towards the bottom left of the green design panel. The saved dive +plan will appear in the *Dive List* panel of _Subsurface_. + +=== The dive plan details + +On the bottom right of the dive planner, under _Dive Plan Details_, the +exact details of the dive plan are provided. These details may be modified +by checking any of the options under the _Dive Notes_ section of the dive +planner, immediately to the left of the _Dive Plan Details_. If a _Verbatim +diveplan_ is requested, a detailed sentence-level explanation of the dive +plan is given. If any of the management specifications have been exceeded +during the planning, a warning message is printed underneath the dive plan +information. + +If the option _Display segment duration_ is checked, then the duration of +each depth level is indicated in the _Dive Plan Details_. This duration +INCLUDES the transition time to get to that level. However, if the _Display +transition in deco_ option is checked, the transitions are shown separately +from the segment durations at a particular level. + +[[S_Replan]] +=== Modifying an existing dive plan + +Normally, when a dive plan has been saved, it is accessible from the *Dive +List*, like any other dive log. Within the *Dive List* there is not a way to +change a saved dive plan. To perform changes to a dive plan, select it on +the *Dive List*. Then, in the main menu, select _Log -> Re-plan dive_. This +will open the selected dive plan within the dive planner, allowing changes +to be made and saved as usual. + +In addition there is the option "Save new". This keeps the original planned +dive and adds a (possibly modified) copy to the dive list. If that copy is +saved with the same start time as the original, the two dives are considered +two versions of the same dive and do not influence other each during +decompression calculation (see next section). + +=== Planning for repetitive dives + +Repetitive dives can easily be planned if the dates and start times of the +repetitive dive set is specified appropriately in the top left-hand _Start +Time_ field. _Subsurface_ calculates the gas loading figures correctly and +the effect of the first dive is evaluated on later dives. + +If one has just completed a long/deep dive and is planning another dive, +then highlight, in the *Dive List*, the dive that has just been completed +and then activate the planner. Depending on the start time of the planned +dive, the planner takes into account the gas loading incurred during the +completed dive and allows planning within these limitations. + +If only a few standard configurations are used (e.g. in GUE), then a +template dive can be created conforming to one of the configurations. If one +now wishes to plan a dive using this configuration, just highlight the +template dive in the *Dive List* and activate the planner: the planner takes +into account the configuration in the highlighted dive. + +=== Printing the dive plan + +Selecting the _Print_ button in the planner allows printing of the _Dive +Plan Details_ for wet notes. Alternatively one can cut and paste the _Dive +Plan Details_ for inclusion in a text file or word processing document. + +Dive plans have many characteristics in common with dive logs (dive profile, +dive notes, etc). After a dive plan has been saved, the dive details and +gas calculations are saved in the *Dive Notes* tab. While a dive plan is +being designed, it can be printed using the _Print_ button in the dive +planner. This prints the dive details and gas calculations in the _Dive Plan +Details_ panel of the dive planner. However, after the plan has been saved, +it is represented in a way very similar to a dive log and the gas +calculations cannot be accessed in the same way as during the planning +process. The only way to print the dive plan is to use the _File->Print_ +facility on the main menu in the same way as for dive logs or by copy and +paste to a word processor. + +[[S_Configure]] +== Configuring a dive computer + +_Subsurface_ enables one to configure a dive computer. Currently the +Heinrichs-Weikamp (OSTC 2, OSTC 3) and Suunto Vyper (Stinger, Mosquito, D3, +Vyper, Vytec, Cobra, Gekko and Zoop) family of dive computers are +supported. A large number of settings of these dive computers can be read +and changed to different values. As a first step, ensure that the +appropriate hardware driver is installed for the dive computer and that the +device name of the dive computer is known. See +<<_appendix_a_operating_system_specific_information_for_importing_dive_information_from_a_dive_computer,APPENDIX +A>> for information on how to do this. + +Once the dive computer is connected to the _Subsurface_ computer, select +_File->Configure dive computer_ from the _Main Menu_. Provide the +appropriate device name in the text box at the top of the configuration +panel that opens and select the appropriate dive computer model from the +panel on the lefthand (see image below). + +image::images/Configure_dc_f20.jpg["FIGURE: Configure dive computer", align="center"] + +Using the appropriate buttons on the configuration panel, the following +actions can be performed: + + - *Retrieve available details*. This loads the existing configuration from the dive computer + to _Subsurface_, showing this in the configuration panel. + - *Save changes to device*. This changes the configuration of the + dive computer to correspond to the information shown in the configuration panel. + - *Backup*. This saves the configuration data to a file. _Subsurface_ asks for + a file location and file name for the saved information. + - *Restore backup*. This loads the information from a backup file and displays it + in the configuration panel. + - *Update firmware*. If new firmware is available for the dive computer, this is + loaded into the dive computer. + +== Description of the Subsurface Main Menu items + +This section describes the functions and operation of the items in the Main +Menu of Subsurface. Several of the items below are links to sections of this +manual dealing with the appropriate operations. + +=== File +<<S_NewLogbook,_New Logbook_>> - Close the currently open dive logbook and +clear all dive information. +_Open logbook_ - This opens the file manager in order to select a dive +logbook to open. +- _Save_ - Save the dive logbook that is currently open. +- _Save as_ - Save the current logbook under a different file name. +- _Close_ - Close the dive logbook that is currently open. +<<S_ExportLog,_Export_>> - Export the currently open dive logbook (or the +selected dives in the logbook) to one of several formats. +- <<S_PrintDivelog,_Print_>> - Print the currently open logbook. +- <<S_Preferences,_Preferences_>> - Set the _Subsurface_ preferences. +- <<S_Configure,_Configure dive computer_>> - Edit the configuration of a dive + computer. +- _Quit_ - Quit _Subsurface_. + +=== Import +<<S_ImportDiveComputer,_Import from dive computer_>> - Import dive +information from a dive computer. +<<Unified_import,_Import Log Files_>> - Import dive information from a file +in in a _Subsurface_-compatible format. +<<S_Companion,_Import GPS data from Subsurface web service_>> - Load GPS +coordinates from the _Subsurface_ mobile phone app. +<<S_ImportingDivelogsDe,_Import from Divelogs.de_>> - Import dive +information from _www.Divelogs.de_. + +=== Log +- <<S_EnterData,_Add Dive_>> - Manually add a new dive to the *Dive List* + panel. +- <<S_DivePlanner,_Plan Dive_>> - This feature allows the planning of dives. +- <<S_Replan,_Re-plan dive_>> - Edit a dive plan that has been saved into the + *Dive List*. +- <<S_CopyComponents,_Copy dive components_>> - By selecting this option, one + can copy information from several fields of a dive log onto the clipboard. +- _Paste dive components_ - Paste, into the selected dives in the *Dive List*, + the information copied using the _Copy dive components_ option. +<<S_Renumber,_Renumber_>> - Renumber the dives listed in the *Dive List* +panel. +<<S_Group,_Auto Group_>> - Group the dives in the *Dive List* panel into +dive trips. +- <<S_DeviceNames,_Edit Device Names_>> - Edit the names of dive computers to + facilitate your logs. +- <<S_Filter,_Filter divelist_>> - Select only some dives, based on specific + tags or dive criteria. + +=== View +<<S_ViewPanels,_All_>> - View the four main _Subsurface_ panels +simmultaneously. +- <<S_ViewPanels,_Dive List_>> - View only the *Dive List* panel. +- <<S_ViewPanels,_Profile_>> - View only the *Dive Profile* panel. +- <<S_ViewPanels,_Info_>> - View only the *Dive Notes* panel. +- <<S_ViewPanels,_Globe_>> - View only the *World Map* panel. +_Yearly Statistics_ - Display summary statistics about dives during this and +past years. +- _Prev DC_ - Switch to previous dive computer. +- _Next DC_ - Switch to next dive computer. +- _Full Screen_ - Toggles Full Screen mode. + +=== Help +_About Subsurface_ - Show a panel with the version number of _Subsurface_ as +well as licensing information. +_Check for updates_ - Find out whether a newer version of Subsurface is +available on the http://subsurface-divelog.org/[_Subsurface_ web site]. +- _User Manual_ - Open a window showing this user manual. + + +== APPENDIX A: Operating system specific information for importing dive information from a dive computer. + +=== Make sure that the OS has the required drivers installed +[icon="images/icons/drivers.jpg"] +[NOTE] +The operating system of the desktop computer needs the appropriate drivers +in order to communicate with the dive computer in whichever way the dive +computer prefers (e.g. bluetooth, USB, infra-red). + + * On Linux users need to have the correct kernel module loaded. Most + distributions will do this automatically, so the user does not need to load + kernel modules. However, some communication protocols require an additional + driver, especially for rarely used technology such as infra-red. + + * On Windows, the OS should offer to download the correct driver once the user + connects the dive computer to the USB port and operating system sees the + equipment for the first time. + +On a Mac users sometimes have to manually hunt for the correct driver. For +example the correct driver for the Mares Puck devices or any other dive +computer using a USB-to-serial interface based on the Silicon Labs CP2101 or +similar chip can be found as _Mac_OSX_VCP_Driver.zip_ at the +http://www.silabs.com/support/pages/document-library.aspx?p=Interface&f=USB%20Bridges&pn=CP2101[Silicon +Labs document and software repository]. + +[[S_HowFindDeviceName]] +=== How to Find the Device Name for USB devices and set its write permission +[icon="images/icons/usb.jpg"] +[NOTE] +When a user connects the dive computer by using a USB connector, usually +_Subsurface_ will either propose a drop down list that contains the correct +device name (or mount point for the Uemis Zurich), or it will disable the +device select drop down if no device name is needed at all. In the rare +cases where this doesn't work, here are some suggestions of ways to find out +what the device name is: + +.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. + +.On Linux: + +There is a definitive way to find the port: + + - Disconnect the USB cable from the dive computer + - Open a terminal + - Type the command: 'dmesg' and press enter + - Plug in the USB cable of the dive computer + - Type the command: 'dmesg' and press enter + +A message similar to this one should appear: + + 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 + +The third line from the bottom shows that the FTDI USB adapter is detected +and connected to +ttyUSB3+. This information can now be used in the import +settings as +/dev/ttyUSB3+ which directs Subsurface to the correct USB port. + +Ensuring that the user has write permission to the USB serial port: + +On Unix-like operating systems the USB ports can only be accessed by users +who are members of the +dialout+ group. If one is not root, one may not be a +member of that group and will not be able to use the USB port. Let us assume +one's username is 'johnB'. + +As root, type: +usermod -a -G dialout johnB+ (Ubuntu users: +sudo usermod -a +-G dialout johnB+) This makes johnB a member of the +dialout+ group. +Type: +id johnB+ This lists all the groups that johnB belongs to and +verifies that +the appropriate group membership has been created. The +dialout+ group should +be listed +among the different IDs. +Under some circumstances this change takes only effect (eg. on Ubuntu) after +one logs out and then logs in again. + +With the appropriate device name (e.g. +dev/ttyUSB3+) and with write +permission to the USB port, the dive computer interface can connect and one +should be able to import dives. + +[[S_HowFindBluetoothDeviceName]] +=== Setting up bluetooth enabled devices +[icon="images/icons/bluetooth.jpg"] +[NOTE] +For dive computers communicating through bluetooth like the Heinrichs +Weikamp Frog or the Shearwater Predator and Petrel there is a different +procedure to get the devices name to communicate with _Subsurface_. Follow +these steps: + + * *For the dive computer, after enabling Bluetooth, ensure it is in Upload mode.* + +For Bluetooth pairing of the dive computer, refer to the manufacturer's user +guide. When using a Shearwater Predator/Petrel, select _Dive Log -> Upload +Log_ and wait for the _Wait PC_ message. + + * *Pair the _Subsurface_ computer with the dive computer.* + +.On Windows: + +Bluetooth is most likely already enabled. For pairing with the dive computer +choose _Control Panel->Bluetooth Devices->Add Wireless Device_. This should +bring up a dialog showing your dive computer (in Bluetooth mode) and +allowing pairing. Right click on it and choose _Properties->COM Ports_ to +identify the port used for your dive computer. If there are several ports +listed, use the one saying "Outgoing" instead of "Incoming". + +For downloading to _Subsurface_, the _Subsurface_ drop-down list should +contain this COM port already. If not, enter it manually. + +Note: If there are issues afterwards when downloading from the dive computer +using other software, remove the existing pairing with the dive computer. + +.On MacOS: + +Click on the Bluetooth symbol in the menu bar and select _Set up Bluetooth +Device..._. The dive computer should then show up in the list of +devices. Select it and go through the pairing process. This step should only +be needed once for initial setup. + +Once the pairing is completed the correct device is shown in the 'Device or +Mount Point' drop-down in the _Subsurface_ *Import* dialog. + +.On Linux +Ensure Bluetooth is enabled on the _Subsurface_ computer. On most common +distributions this should be true out of the box and pairing should be +straight forward. For instance, Gnome3 shows a Bluetooth icon in the upper +right corner of the desktop where one selects 'Set up New Device'. This +should show a dialog where one can select the dive computer (which already +should be in Bluetooth mode) and pair it. If a PIN is required, try +manually setting '0000'. + +In the rare cases where the above is not true, then depending on your +system, try +initd+ or +systemd+. This might be different and also involve +loading modules specific to your hardware. In case your system is running ++systemd+, manually run +systemctl start bluetooth.service+ to enable it, in +case of +initd+, run something like +rc.config start bluetoothd+ or ++/etc/init.d/bluetooth start+. + +One may also use a manual approach by using such commands: + ++hciconfig+ shows the Bluetooth devices available on your computer (not dive +computer), most likely one will see a hci0, if not try +hcitool -a+ to see +inactive devices and run +sudo hciconfig hci0 up+ to bring them up. + ++hcitool scanning+ gets a list of bluetooth enabled client devices, look for +the dive computer and remember the MAC address are shown there + ++bluez-simple-agent hci0 10:00:E8:C4:BE:C4+ pairs the dive computer with the +bluetooth stack of the _Subsurface_ computer, copy/paste the MAC address +from the output of 'hcitool scanning' + +Unfortunately on Linux binding to a communication device has to be done +manually by running: + ++rfcomm bind /dev/rfcomm0 10:00:E8:C4:BE:C4+ binds the dive computer to a +communication device in the desktop computer, in case rfcomm is already +taken use rfcomm1 or up. IMPORTANT: Copy/paste the MAC address from the +output of +hcitool scanning+, the MAC address shown above will not work. + +For downloading dives in _Subsurface_ specify the device name connected to +the MAC address in the last step above, e.g. _/dev/rfcomm0_. + + +== APPENDIX B: Dive Computer specific information for importing dive information. + +[[S_ImportUemis]] +=== Import from a Uemis Zurich + +[icon="images/icons/iumis.jpg"] +[NOTE] +_Subsurface_ downloads the information stored on the SDA (the built-in file +system of the Uemis) including information about dive spots and +equipment. Buddy information is not yet downloadable. Things are very +similar to a normal USB-connected dive computer (the Uemis is one of those +that recharge when connected to the USB port). The main difference is that +one does not enter a device name, but instead the location where the +UEMISSDA file system is mounted once connected to 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. 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. + +After selecting the above device name, download the dives from the Uemis +Zurich. One technical issue with the Uemis Zurich download implementation +(this is a Uemis firmware limitation, not a _Subsurface_ issue) is that one +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 one downloads +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 an 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 previously. One may have to do this +more than once, depending on how many dives are stored on the dive computer. + +[[S_ImportingGalileo]] +=== Importing dives from the Uwatec Galileo + +[icon="images/icons/Galileo.jpg"] +[NOTE] +The Uwatec Galileo dive computers use infra red (IrDA) communication between +the dive computer and Subsurface. The Uwatec hardware uses a USB dongle +based on the serial infra-red (SIR) protocol and the MSC7780 IrDA controller +manufactured by MosChip and marketed by Scubapro and some electronics +companies. Under Linux, the kernel already provides for communication using +the IrDA protocol. However, the user additionally needs to load a driver for +the IrDA interface with the dive computer. The easiest way is to load the +*irda-tools* package from the +http://irda.sourceforge.net/docs/startirda.html[Linux IrDA Project]. After +the installation of the irda-tools, the *root user* can specify a device +name from the console as follows: +irattach irda0+ + +After executing this command, Subsurface will recognise the Galileo dive +computer and download dive information. + +Under Windows, a similar situation exists. Drivers for the MCS7780 are +available from some Internet web sites e.g. +http://www.drivers-download.com/Drv/MosChip/MCS7780/[www.drivers-download.com]. + +For the Apple Mac, IrDA communication via the MCS7780 link is not available +for OSX 10.6 or higher. + +[[S_ImportingDR5]] +=== Importing dives from Heinrichs Weikamp DR5 + +[icon="images/icons/HW_DR5.jpg"] +[NOTE] +When mounted as a USB drive the Heinrichs Weikamp DR5 saves a single UDDF +file for every dive. Mark all the dives you'd like to import or open. +Note: The DR5 does not seem to store gradient factors nor deco information, +so for _Subsurface_ it is not possible to display them. Adjust the gradient +factors in the _Graph Settings_ in _Subsurface_ to generate a deco overlay +in the _Subsurface_ *Dive Profile* panel but please note that the deco +calculated by _Subsurface_ will most likely differ from the one displayed on +the DR5. + +=== Import from Shearwater Predator using Bluetooth + +[icon="images/icons/predator.jpg"] +[NOTE] +Using a Shearwater Predator one may be able to pair Bluetooth but then +encounter issues when downloading, showing errors like _Slip RX: unexp. SLIP +END_ on the Predator. This might also arise when using other dive log +software and operating systems other than Linux. We have no detailed idea +about the source and how to fix this, but it is reported to be solved +sometimes by one of these steps: + + * use the Bluetooth dongle which came with the Shearwater Predator instead of + the built-in one of the _Subsurface_ computer + * switch to different Bluetooth drivers for the same hardware + * switch off WiFi while using Bluetooth + +[[S_PoseidonMkVI]] +=== Importing dive logs from the Poseidon MkVI Discovery + +[icon="images/MkVI.jpeg"] +[NOTE] +Download of dive logs from the MkVI is performed using a custom +communications adapter and the _Poseidon PC Configuration Software_, +obtained when purchasing the MKVI equipment. The latter is a Windows +application allowing configuration of equipment and storage of dive +logs. Communication between dive computer and desktop computer utilises the +IrDA infra-red protocol. Only data for one dive can be downloaded at a time, +comprising three files: + +Setup configuration for the dive and key dive parameters (file with a .txt +extension) +- Dive log details (file with a .csv extension) +Redbook format dive log (file with .cvsr extension). This is a compressed +version of the dive log using a proprietary format. + +_Subsurface_ accesses the .txt and the .csv files to obtain dive log +information. + + +=== Importing dive logs from the APD Inspiration CCR + +[icon="images/APDComputer.jpg"] +[NOTE] +The dive logs of an APD Inspiration or similar CCR dive computer are +downloaded using a communications adapter and _AP Communicator_, obtained +when purchasing the equipment. The dive logs can be viewed using the _AP Log +Viewer_, within Windows or Mac/OS. However, APD logs can be viewed and +managed from within _Subsurface_ (together with dives using many other types +of dive computer). The APD inspiration dive logs are imported into +_Subsurface_ as follows: + +- Open a dive within the _AP Log Viewer_. +- Select the tab at the top of the screen, entitled "_Data_". +- If the raw dive log data show on the screen, click on "_Copy to Clipboard_". +- Open a text editor, e.g. Notepad (Windows), TextWrangler (Mac). +Copy the contents of the clipboard into the text editor and save the text +file with a filename extension of .CSV +- Within _Subsurface_, select _Import->Import log files_ to open the + xref:Unified_import[universal import dialogue]. +- In the dropdown list towards the bottom right of the dialogue, select "_CSV + files_". +On the list of file names select the .CSV file that has been created +above. An import dialogue opens. +In the dropdown list on the middle right labeled '_Pre-configured imports_", +select _APD Log Viewer_. +- Ensure the other settings for the ADP dive log are appropriate, then select + _OK_. + +The APD dive log will appear within _Subsurface_. + + +== APPENDIX C: Exporting Dive log information from external dive log software. + +The import of dive log data from external dive log software is mostly +performed using the dialogue found by selecting _Import_ from the Main Menu, +then clicking on _Import Log Files_. This is a single-step process, more +information about which can be found xref:Unified_import[here.] However, in +some cases, a two-step process may be required: + +Export the foreign dive log data to format that is accessible from +_Subsurface_. +2. Import the accessible dive log data into _Subsurface_. + +This appendix provides some information about approaches to export dive log +data from foreign dive log software. The procedures below mostly apply to +Linux and/or Windows. + +[[S_ImportingDivesSuunto]] +=== Exporting dives from *Suunto Divemanager (DM3, DM4 or DM5)* +[icon="images/icons/suuntologo.jpg"] +[NOTE] +DiveManager is a MS Windows application for Suunto dive computers. +Divemanager 3 (DM3) is an older version of the Suunto software. More recent +Suunto dive computers use Divemanager version 4 or 5 (DM4 or DM5). The +different versions of Divemanager use different methods and different file +naming conventions to export dive log data. + +*Divemanager 3 (DM3):* + +1. Start 'Suunto Divemanager 3' and log in with the name containing the logs +2. Do not start the import wizard to import dives from the dive computer. +In the navigation tree on the left side of the program-window, select the +appropriate dives. +4. Within the list of dives, select the dives you would like to import later: + * To select certain dives: hold 'ctrl' and click the dive +To select all dives: Select the first dive, hold down shift and select the +last dive +5. With the dives marked, use the program menu _File -> Export_ +6. The export pop-up will show. Within this pop-up, there is one field called + 'Export Path'. + * Click the browse button next to the field Export Path +** A file-manager like window pops up +** Navigate to the directory for storing the +Divelog.SDE file + ** Optionally change the name of the file for saving + ** Click 'Save' + * Back in the Export pop-up, press the button 'Export' +7. The dives are now exported to the file Divelog.SDE. + +*Divemanager 4 (DM4) and Divemanager 5 (DM5):* + +DM4 and DM5 use identical mechanisms for exporting dive logs. To export a +divelog from Divemanager one needs to locate the DM4/DM5 database where the +dives are stored. the user can either look for the original database or make +a backup of the dives. Both methods are described here. + +Locating the Suunto DM4 (or DM5) database: + +1. Start Suunto DM4/DM5 +2. Select 'Help -> About' +3. Click 'Copy' after text 'Copy log folder path to clipboard' +4. Now open Windows Explorer +5. Paste the address to the path box at the top of the File Explorer +6. The database is called DM4.db or DM5.db + +Making a backup copy of the Suunto DM4/DM5 database: + +1. Start Suunto DM4/DM5 +2. Select 'File - Create backup' +3. From the file menu select the location and name for the backup, we'll use + DM4 (or DM5) in here with the default extension .bak +4. Click 'Save' +5. The dives are now exported to the file DM4.bak (or DM5.bak) + + +=== Exporting from Mares Dive Organiser V2.1 +[[Mares_Export]] + +[icon="images/icons/mareslogo.jpg"] +[NOTE] +Mares Dive Organiser is a Windows application. The dive log is kept as a +Microsoft SQL Compact Edition database with a '.sdf' filename extension. The +database includes all Dive Organiser-registered divers on the particular +computer and all Mares dive computers used. The safest way to obtain a copy +of the dive database is to export the information to another compatible +format which can be imported into _Subsurface_. + +Within Dive Organiser, select _Database -> Backup_ from the main menu and +back up the database to the desk top. This creates a zipped file +DiveOrganiserxxxxx.dbf. +Rename the file to DiveOrganiserxxxxx.zip. Inside the zipped directory is a +file _DiveOrganiser.sdf_. +3. Extract the _.sdf_ file from the zipped folder to your Desktop. +4. The password for accessing the .zip file is _mares_. + +[[S_ImportingDivingLog]] +=== Exporting dives from *DivingLog 5.0* + +[icon="images/icons/divingloglogo.jpg"] +[NOTE] +Unfortunately DivingLog XML files give us no indication on the preferences +set on one's system. So in order for _Subsurface_ to be able to successfully +import XML files from DivingLog one first needs to ensure that DivingLog is +configured to use the Metric system (one can easily change this within +Diving Log by selecting 'File -> Preferences -> Units and Language' by +clicking the 'Metric' button). Then do the following: + +1. In DivingLog open the 'File -> Export -> XML' menu +2. Select the dives to export +3. Click on the export button and select the filename + +[[S_Appendix_D]] +== APPENDIX D: Exporting a spreadsheet to CSV format + +Many divers keep a diving log in some form of a digital file, commonly a +spreadsheet with various fields of information. These logs can be easily +imported into _Subsurface_ (xref:S_ImportingManualCSV[Importing dives +from_manually kept CSV file]), after the spreadsheet is converted in a .CSV +file. This section explains the procedure to convert a diving logbook +stored in a spreadsheet to a .CSV file that will later be imported from +_Subsurface_. Creating a .CSV is a straightforward task, although the +procedure is somewhat different according to which spreadsheet program is +used. + +The first step is to organize the diving data in the spreadsheet, so that +the first row contains the names (or titles) of each column and the +information for each dive is stored in a single row. _Subsurface_ supports +many data items (Dive #, Date, Time, Duration, Location, GPS, Max Depth, +Mean Depth, Buddy, Notes, Weight and Tags). The user can organize dive data +following a few simple rules: + +1. Date: use one of the following formats: yyyy-mm-dd, dd.mm.yyyy, mm/dd/yyyy +2. Duration: the format should be minutes:seconds. +3. Unit system: only one unit system shold be used (i.e., no mixture between + imperial and metric units) +4. Tags and buddies: values should be separated using a comma. +5. GPS position: users must use decimal degrees, e.g. 30.22496 30.821798 + +=== _LibreOffice Calc_ and _OpenOffice Calc_ + +These are open source spreadsheet applications forming parts of larger open +source office suite applications. The user interaction with _LibreOffice_ +and _OpenOffice_ is very similar. In Libreoffice Calc the time format +should be set to minutes:seconds - [mm]:ss and dates should be set to one +of: yyyy-mm-dd, dd.mm.yyyy, mm/dd/yyyy. A typical dive log may look like +this: + +image::images/LOffice_spreadsheetdata.jpg["FIGURE: Spreadsheet data", align="center"] + +To export the data as a .CSV file from within LibreOffice click _File -> +Save As_. On the dialogue that comes up, select the _Text CSV (.csv)_ as the +file type and select the option _Edit filter settings_. + +image::images/LOffice_save_as_options.jpg["FIGURE: Save as options", align="center"] + +After selecting _Save_, select the appropriate field delimiter (choose _Tab_ +to prevent conflicts with the comma when using this as a decimal point), +then select _OK_. + +image::images/LOffice_field_options.jpg["FIGURE: Field options", align="center"] + +One can double check the .CSV file by opening it with a text editor, and +then import the dive data as explained on the section +xref:S_ImportingManualCSV[Importing dives from manually kept CSV files]. + +=== Microsoft _Excel_ + +The field delimiter (called "_list separator_" in Microsoft manuals) is not +accessible from within _Excel_ and needs to be set through the _Microsoft +Control Panel_. After changing the separator character, all software on the +Windows machine use the new character as a separator. One can change the +character back to the default character by following the same procedure, +outlined below. + +- In Microsoft Windows, click the *Start* button, and then select _Control + Panel_ from the list on the right-hand side. +- Open the _Regional and Language Options_ dialog box. +Do one of the following: ** In Windows 7, click the _Formats_ tab, and then +click _Customize this format_. ** In Windows XP, click the _Regional +Options_ tab, and then click _Customize_. +- Type a new separator in the _List separator_ box. To use a TAB-delimited + file, type the word TAB in the box. +- Click _OK_ twice. + +Below is an image of the _Control Panel_: + +image::images/Win_SaveCSV2.jpg["FIGURE: Win List separator", align="center"] + +To export the dive log in CSV format: + +With the dive log opened in _Excel_, select the round Windows button at the +top left, then _Save As_. + +image::images/Win_SaveCSV1.jpg["FIGURE: Excel save as option", align="center"] + +Click on the left-hand part of the _Save as_ option, NOT on the arrow on the +right-hand. This brings up a dialogue for saving the spreadsheet in an +alternative format. From the dropdown list at the bottom of the dialogue, +marked _Save as Type:_, select _CSV(Comma delimited) (*.CSV)_. Ensure that +the appropriate folder has been selected to save the CSV file into. + +image::images/Win_SaveCSV3.jpg["FIGURE: Excel save CSV dialogue", align="center"] + +Select the _Save_ button. The CSV-formatted file is saved into the folder +that was selected. One can double check the .CSV file by opening it with a +text editor, and then import the dive data as explained on the section +xref:S_ImportingManualCSV[Importing dives from manually kept CSV files]. + +== APPENDIX E: FAQs. + +=== Subsurface appears to miscalculate gas consumption and SAC +[[SAC_CALCULATION]] +'Question': I dived with a 12.2 l tank, starting with 220 bar and ending +with 100 bar, and I calculate a different SAC compared what _Subsurface_ +calculates. Is _Subsurface_ miscalculating? + +'Answer': Not really. What happens is that _Subsurface_ actually calculates +gas consumption differently - and better - than you expect. In particular, +it takes the incompressibility of the gas into account. Traditionally, Gas +consumption and SAC should be: +consumption = tank size x (start pressure - +end pressure)+ + +and that's true for an ideal gas, and it's what you get taught in dive +theory. But an "ideal gas" doesn't actually exist, and real gases actually +don't compress linearly with pressure. Also, you are missing the fact that +one atmosphere of pressure isn't actually one bar. So the *real* +calculation is: + ++consumption = (amount_of_air_at_beginning - amount_of_air_at_end)+ + +where the amount of air is *not* just "tank size times pressure in bar". +It's a combination of: "take compressibility into account" (which is a +fairly small issue under 220 bar - you'll see more differences when you do +high-pressure tanks with 300bar) and "convert bar to atm" (which is the +majority of your discrepancy). Remember: one ATM is ~1.013 bar, so without +the compressibility, your gas use is: + ++12.2*((220-100)/1.013)+ + +which is about 1445, not 1464. So there was 19 l too much in your simple +calculation that ignored the difference between 1 bar and one ATM. The +compressibility does show up above 200 bar, and takes that 1445 down about +eight litres more, so you really did use only about 1437 l of air at surface +pressure. + +So be happy: your SAC really is better than your calculations indicated. Or +be sad: your cylinder contains less air than you thought it did. And as +mentioned, the "contains less air than you thought it did" really starts +becoming much more noticeable at high pressure. A 400 bar really does not +contain twice as much air as a 200 bar one. At lower pressures, air acts +pretty much like an ideal gas. + +=== Some dive profiles have time discrepancies with the recorded samples from my dive computer... + +_Subsurface_ ends up ignoring surface time for many things (average depth, +divetime, SAC, etc). 'Question': Why do dive durations in my dive computer +differ from that given by _Subsurface_? + +'Answer': For example, if you end up doing a weight check (deep enough to +trigger the "dive started") but then come back up and wait five minutes for +your buddies, your dive computer may say that your dive is 50 minutes long - +because you have fifty minutes worth of samples - but subsurface will say +it's 45 minutes - because you were actually diving for 45 minutes. It's +even more noticeable if you do things like divemastering the initial OW +dives, when you may stay in the water for a long time, but spend most of it +at the surface. And then you don't want that to count as some kind of long +dive”. |