Chapter 8. Example UDDF files

Table of Contents

A Database — Diver's data, descriptions of dive spots etc.
Diver's data
Descriptions of dive spots
Biological population inventories
Breathing gases used
Dive profiles
Generation of ascent profiles, dive tables, and "maximum bottom time tables"
Calculation of ascent profiles
Calculation of dive tables
Computation of a "maximum bottom time table"
Configuration of, and reading data from dive computers
Configuration of a dive computer
Reading recorded data from a dive computer

Following for the sake of an easier understanding some fictitious UDDF files are given. Many comments (beginning with "

<!--

", and ending with "

-->

") are inserted. Usually, the parameters are put in brackets, for example with

<city>Atown</city>

the city "Atown" is denoted. Some elements are implemented as a switch.

<acknowledge/>

e.g. defines that the diver has to acknowledge an alarm given by the dive computer.

Only a little selection of elements is given to not make the examples too long, and to keep them understandable. Indentations are made for humans only for the sake of better clearness. A machine made UDDF file needs not to have these indentations. Nevertheless the authors strongly recommend indentations for computer generated UDDF files, too! With it readability is enhanced.

In the descriptions of the individual elements partly detailed examples are given.

A Database — Diver's data, descriptions of dive spots etc.

Diver's data

<uddf version="2.2.0">
    <!-- the <generator> section has to appear in every UDDF file -->
    <generator>
        <!-- description of the program generating the UDDF file -->
        <name>DSL - Diver's Super Logbook</name>
        <manufacturer>
            <name>Dive Heroes Company</name>
            <address>
                <!-- address data of manufacturer -->
            </address>
            <contact>
                <!-- contact data of manufacturer -->
            </contact>
        </manufacturer>
        <version>3.14159</version>
        <date>
            <year>2004</year><month>9</month>
            <day>30</day><dayofweek>4</dayofweek> <!-- Donnerstag -->
        </date>
    </generator>
    <diver>
        <!-- first all own data are given (which are wished) ... -->
        <owner id="owner_arno">
            <!-- description of the owner of the UDDF file -->
            <!-- (so the own data are to be given here)    -->
            <personal>
                <firstname>Arno</firstname>
                <middlename>Albert</middlename>
                <lastname>Alzheimer</lastname>
                <title>Dr.</title>
                <sex>m</sex>
                <birthdate>
                    <date>
                        <year>1919</year>
                        <month>2</month>
                        <day>30</day>
                    </date>
                </birthdate
                <passport>987654321</passport>
            </personal>
            <address>
                <street>Auf der Heide 12</street>
                <city>Aheim</city>
                <postcode>12345</postcode>
                <country>Deutschland</country>
                <!-- province is omitted -->
            </address>
            <contact>
                <language>deutsch</language>
                <phone>01234/567890</phone>
                <email>arno@arno-alzheimer.org</email>
                <homepage>http://www.tieftauchen.info/arno</homepage>
            </contact>
            <medical>
                <examination>
                    <date>
                        <year>2003</year
                        <month>4</month>
                        <day>12</day>
                        <dayofweek>6</dayofweek> <!-- Saturday -->
                    </date>
                    <doctor id="doctorDusel">
                        <personal>
                            <firstname>Dirk</firstname>
                            <lastname>Dusel</lastname>
                            <title>Dr.</title>
                            <sex>m</sex>
                            <birthdate>
                                <!-- if date of birthdate is known, it can be given here... -->
                            </birthdate
                        </personal>
                        <address>
                            <street>Duddelstr. 34</street>
                            <city>Dortmund</city>
                            <postcode>54321</postcode>
                            <country>Deutschland</country>
                            <province>Nordrhein-Westfalen</province>
                        </address>
                        <contact>
                            <language>deutsch</language>
                            <phone>01234/987654</phone>
                            <!-- neither email address nor homepage is known (no entries here) -->
                        </contact>
                    </doctor>
                    <examinationresult>passed</examinationresult>
                    <notes>
                        <text>
                            Flatfeet don't seem to affect dive fitness :-)
                        </text>
                        <image><objectname>plattfuss.jpg</objectname></image>
                    </notes>
                </examination>
                <examination>
                    <date>
                        <year>2004</year
                        <month>4</month>
                        <day>20</day>
                        <dayofweek>2</dayofweek> <!-- Tuesday -->
                    </date>
                    <!-- following a reference to the practising doctor, -->
                    <!-- the data are already given above                -->
                    <doctorref ref="doctorDusel"/>
                    <examinationresult>passed</examinationresult>
                </examination>
            </medical>
            <education>
                <!-- all levels of the owner's dive education -> several -->
                <!-- <certification> elements one after the other     -->
                <certification>
                    <level>Bronze</level>
                    <organisation>VDST/CMAS</organisation>
                    <!-- because data of the then dive instructor were not -->
                    <!-- registered in an UDDF file, no reference via      -->
                    <!-- <instructorref ref="..."/> can be made here    -->
                    <issuedate>
                        <date>
                            <year>1994</year
                            <month>3</month>
                            <day>15</day>
                            <dayofweek>2</dayofweek> <!-- Dienstag -->
                        </date>
                    </issuedate>
                </certification>
                <certification>
                    <specialty>Orientation</specialty>
                    <organisation>VDST/CMAS</organisation>
                    <!-- because data of the then dive instructor were not -->
                    <!-- registered in an UDDF file, no reference via      -->
                    <!-- <instructorref ref="..."/> can be made here    -->
                    <issuedate>
                        <date>
                            <year>1994</year
                            <month>3</month>
                            <day>15</day>
                            <dayofweek>2</dayofweek> <!-- Dienstag -->
                        </date>
                    </issuedate>
                </certification>
                <certification>
                    <level>Silver</level>
                    <organisation>VDST/CMAS</organisation>
                    <!-- because data of the then dive instructor were not -->
                    <!-- registered in an UDDF file, no reference via      -->
                    <!-- <instructorref ref="..."/> can be made here    -->
                    <issuedate>
                        <date>
                            <year>1997</year
                            <month>11</month>
                            <day>26</day>
                            <dayofweek>3</dayofweek> <!-- Wednesday -->
                        </date>
                    </issuedate>
                </certification>
                <certification>
                    <level>Gold</level>
                    <organisation>VDST/CMAS</organisation>
                    <!-- because data of the then dive instructor were not -->
                    <!-- registered in an UDDF file, no reference via      -->
                    <!-- <instructorref ref="..."/> can be made here    -->
                    <issuedate>
                        <date>
                            <year>2000</year
                            <month>5</month>
                            <day>10</day>
                            <dayofweek>3</dayofweek> <!-- Wednesday -->
                        </date>
                    </issuedate>
                </certification>
            </education>
            <divepermissions>
                <!-- here any number of dive permissions can be listed -->
                <permit>
                    <name>DiveCard</name>
                    <region>Austria</region>
                    <issuedate>
                        <date>
                            <year>2004</year
                            <month>8</month>
                            <day>24</day>
                            <dayofweek>2</dayofweek> <!-- Tuesday -->
                        </date>
                    </issuedate>
                    <validdate>
                        <date>
                            <year>2005</year
                            <month>8</month>
                            <day>23</day>
                            <dayofweek>2</dayofweek> <!-- Tuesday -->
                        </date>
                    </validdate>
                </permit>
                <permit>
                    <name>Zeeland</name>
                    <region>Zeeland (The Netherlands)</region>
                    <issuedate>
                        <date>
                            <year>1996</year
                            <month>9</month>
                            <day>3</day>
                            <dayofweek>2</dayofweek> <!-- Tuesday -->
                        </date>
                    </issuedate>
                    <validdate>
                        <date>
                            <year>2001</year
                            <month>8</month>
                            <day>31</day>
                            <dayofweek>5</dayofweek> <!-- Friday -->
                        </date>
                    </validdate>
                </permit>
                <!-- here more dive permissions if necessary -->
            </divepermissions>
            <!-- because no additional dive insurances have been signed -->
            <!-- <diveinsurances>...</diveinsurances> is neglected here -->
        </owner>
        <!-- ... and now follow the data of all dive buddies -->
        <buddy id="buddy_bertie_the_airsucker">
            <!-- data of the first dive buddy -->
            <personal>
                <firstname>Bertie</firstname>
                <lastname>Bammel</lastname>
            </personal>
            <!-- no address data given - <address>...</address> is dropped -->
            <contact>
                <email>airsucker@deepdiving.info</email>
                <homepage>http://www.deepdiving.info/bertie</homepage>
            </contact>
        </buddy>
        <buddy id="buddyCarl">
            <!-- description of another dive buddy -->
            <personal>
                <firstname>Carl</firstname>
                <lastname>Cabuff</lastname>
            </personal>
            <!-- address data not known - <address>...</address> is dropped -->
            <contact>
                <email>lurchi@abcde.com</email>
                <homepage>http://www.deepdiving.info/carl</homepage>
            </contact>
        </buddy>
        <!-- here more descriptions of other dive buddies can be inserted -->
    </diver>
    <!-- here other sections, dive profiles, or data concerning  -->
    <!-- generation of dive tables e.g., can be given            -->
</uddf>
                    

Descriptions of dive spots

<uddf version="2.2.0">
    <!-- the <generator> section has to appear in every UDDF file -->
    <generator>
        <!-- description of the program generating the UDDF file -->
        ...
    </generator>
    <divesite>
        <!-- descriptions of all dive spots -->
        <site id="site_Scapa_Brummer">
            <!-- description of the first registered dive spot -->
            <name>Brummer</name>
            <geography>
                <location>Scapa Flow</location>
                <address>
                    <province>Orkney Islands</province>
                    <country>UK</country>
                </address>
                <!-- degree of latitude: North > 0 / South < 0 -->
                <latitude>58.897222</latitude>
                <!-- degree of longitude: East > 0 / West < 0 -->
                <longitude>-3.1519444</longitude>
                <altitude>0.0</altitude>
            </geography>
            <sitedata>
                <maximumdepth>37.0</maximumdepth>
                <density>1030.0</density>   <!-- salt water -->
                <bottom>sandy ground</bottom>
                <wreck id="wreck_Brummer">
                    <name>SMS Brummer</name>
                    <shiptype>light cruiser</shiptype>
                    <nationality>German</nationality>
                    <built>
                        <shipyard>Vulcan, Stettin</shipyard>
                        <launchingdate>
                            <date>
                                <year>1916</year>
                            </date>
                        </launchingdate>
                    </built>
                    <shipdimension>
                        <length>140.0</length>
                        <beam>13.0</beam>
                        <draught>6.0</draught>
                        <displacement>4.385E6</displacement>
                    </shipdimension>
                    <sunk>
                        <date>
                            <year>1919</year>
                            <month>6</month>
                            <day>21</day>
                            <dayofweek>6</dayofweek> <!-- Saturday -->
                        </date>
                        <time>
                            <hour>13</hour>
                            <minute>5</minute>
                        </time>
                    </sunk>
                    <notes>
                        <text>German high sea fleet</text>
                    </notes>
                </wreck>
            </sitedata>
            <notes>
                <text>Really nice wreck dive!</text>
            </notes>
        </site>
        <!-- more dive spots -->
    </divesite>
    <divetrip>
        <!-- all documented dive trips are following -->
        <trip id="trip_holiday2003">
            <name>Dive club travel to Red Sea 2003</name>
            <startdate>
                <date>
                    <year>2003</year><month>4</month><day>12</day>
                </date>
            </startdate>
            <enddate>
                <date>
                    <year>2003</year><month>4</month><day>19</day>
                </date>
            </enddate>
            <geography>
                <location>Red Sea</location>
                <address>
                    <city>Hurghada</city>
                    <country>Egypt</country>
                </address>
            </geography>
            <organizedtrip/>
            <hoteltrip/>
            <accommodation>
                <name>Hotel 1000 and 1 Night</name>
                <category>4</category>
                <contact>
                    <email>info@hotel-1000-and-1-night.com</email>
                    <homepage>http://www.hotel-1000-and-1-night.com</homepage>
                </contact>
                <rating>6</rating>
            </accommodation>
            <divebase>
                <name>Deep Down</name>
                <contact>
                    <email>info@deep-down-diving.com</email>
                    <homepage>http://www.deep-down-diving.com</homepage>
                </contact>
                <priceperdive currency="USD">40.00</priceperdive>
                <pricedivepackage currency="USD" noofdives="10">350.00</pricedivepackage>
                <guide>
                    <!-- dive guide already registered as <buddy>, therefore only cross-referencing here -->
                    <buddyref ref="buddy_Georg"/>
                </guide>
                <guide>
                    <!-- 2. dive guide already described as <buddy> ... -->
                    <buddyref ref="buddy_Hansi_the_airsucker"/>
                </guide>
                <rating>7</rating>
            </divebase>
            <notes>
                <text>Nice dive holiday - if there only were less other divers...</text>
                <video><objectname>rs2003.avi</objectname></video>
            </notes>
        </trip>
        <trip id="trip_holiday2004">
            <name>Dive & Sail 2004</name>
            <startdate>
                <date>
                    <year>2004</year><month>9</month><day>24</day>dayofweek>5</dayofweek>
                </date>
            </startdate>
            <enddate>
                <date>
                    <year>2004</year><month>10</month><day>3</day>dayofweek>7</dayofweek> <!-- Sunday -->
                </date>
            </enddate>
            <geography>
                <province>Cote d'Azur</province>
                <country>France</country>
            </geography>
            <individualtrip/>
            <boattrip/>
            <vessel>
                <name>Dorade</name>
                <shiptype>sailing ship</shiptype>
                <marina>Bormes les Mimosas</marina>
                <shipdimension>
                    <!-- only these two data are known in this case -->
                    <length>14.6</length>
                    <beam>3.5</beam>
                </shipdimension>
            </vessel>
            <relateddives>
                <diveref ref="tg_530"/><diveref ref="tg_531"/><diveref ref="tg_532"/><diveref ref="tg_533"/>
                <diveref ref="tg_534"/><diveref ref="tg_535"/><diveref ref="tg_536"/><diveref ref="tg_537"/>
                <diveref ref="tg_538"/><diveref ref="tg_539"/><diveref ref="tg_540"/><diveref ref="tg_541"/>
            </relateddives>
            <notes>
                <text>Our motto: We dive, what others are dreaming of!!! :-)</text>
                <video><objectname>dive-and-sail-2004.avi</objectname></video>
            </notes>
        </trip">
    </divetrip>
    <!-- here other sections, dive profiles, or data concerning  -->
    <!-- generation of dive tables e.g., can be given            -->
</uddf>
                    

Biological population inventories

<uddf version="2.2.0">
    <!-- the <generator> section has to appear in every UDDF file -->
    <generator>
        <!-- description of the program generating the UDDF file -->
    </generator>
    <divesite>
        <!-- description of all dive spots -->
        <site id="site_Shallow_south_of_Gabiniere">
            <name>Shallow to the south of Ilot de la Gabiniere</name>
            <geography>
                <location>Ilot de la Gabiniere</location>
                <address>
                    <province>Cote d'Azur</province>
                    <country>France</country>
                </address>
                <!-- degree of latitude, and longitude, unknown -->
                <altitude>0.0</altitude>
            </geography>
            <ecology>
                <!-- listing of typically seen plants, and animals respectively -->
                <fauna>
                    <invertebrata>            <!-- invertebrates -->
                        <porifera>                <!-- sponges -->
                            <species>
                                <trivialname>Kidney sponge</trivialname>
                                <scientificname>Chondrosia reniformis</scientificname>
                            </species>
                            <species>
                                <trivialname>Orange-red encrusting sponge</trivialname>
                                <scientificname>Crambe crambe</scientificname>
                            </species>
                            <species>
                                <trivialname>Bluish encrusting sponge</trivialname>
                                <scientificname>Anchinoe</scientificname>
                            </species>
                        </porifera>
                        <cnidaria>                <!-- cnidarians -->
                            <species>
                                <trivialname>Purple gorgonian</trivialname>
                                <scientificname>Paramuricea clavata (chamaeleon)</scientificname>
                            </species>
                        </cnidaria>
                        <ascidiacea>              <!-- seasquirts -->
                            <species>
                                <trivialname>Red seasquirt</trivialname>
                                <scientificname>Halocynthia papillosa</scientificname>
                            </species>
                        </ascidiacea>
                        <echinodermata>           <!-- echinoderms -->
                            <species>
                                <trivialname>Purple Starfish</trivialname>
                                <scientificname>Echinaster sepositus</scientificname>
                            </species>
                        </echinodermata>
                    </invertebrata>
                    <vertebrata>              <!-- vertebrates -->
                        <osteichthyes>        <!-- bony fishes -->
                            <species>
                                <trivialname>Moray-eel</trivialname>
                                <scientificname>Muraena helena</scientificname>
                            </species>
                            <species>
                                <trivialname>Grouper</trivialname>
                                <scientificname>Epinephelus guaza</scientificname>
                            </species>
                            <species>
                                <trivialname>Striped grouper</trivialname>
                                <scientificname>Epinephelus alexandrinus</scientificname>
                            </species>
                            <species>
                                <trivialname>Red damselfish</trivialname>
                                <scientificname>Anthias anthias</scientificname>
                            </species>
                            <species>
                                <trivialname>Damselfish</trivialname>
                                <scientificname>Chromis chromis</scientificname>
                            </species>
                            <species>
                                <trivialname>Rainbow wrasse</trivialname>
                                <scientificname>Coris julis</scientificname>
                            </species>
                            <species>
                                <trivialname>Two-banded bream</trivialname>
                                <scientificname>Diplodus vulgaris</scientificname>
                            </species>
                            <species>
                                <trivialname>Toothed sparus</trivialname>
                                <scientificname>Oblada melanura</scientificname>
                            </species>
                             <species>
                                <trivialname>Peacock wrasse</trivialname>
                                <scientificname>Symphodus tinca</scientificname>
                            </species>
                        </osteichthyes>
                    </vertebrata>
                </fauna>
                <flora>
                    <rhodophyceae>      <!-- red algae -->
                        <species>
                            <trivialname>Peyssonnelia</trivialname>
                            <scientificname>Peyssonnelia squamaria</scientificname>
                        </species>
                    </rhodophyceae>
                    <chlorophyceae>     <!-- green algae -->
                        <species>
                            <trivialname>Sea lettuce</trivialname>
                            <scientificname>Ulva rigida</scientificname>
                        </species>
                        <species>
                            <trivialname>Ball alga</trivialname>
                            <scientificname>Codium bursa</scientificname>
                        </species>
                    </chlorophyceae>
                </flora>
            </ecology>
            <sitedata>
                <minimumdepth>18.0</minimumdepth>
                <maximumdepth>32.0</maximumdepth>
                <arealength>20.0</arealength>         <!-- length of examined rock -->
                <areawidth>8.0</areawidth>            <!-- width of rock -->
                <!-- (from the above given four values a volume can be calculated, if necessary) -->
                <density>1030.0</density>             <!-- salt water -->
                <bottom>rocks</bottom>
             </sitedata>
            <notes>
                <text>
                    First class dive spot! Due to currents often difficult to dive. Access either via
                    blue water descent from boat, or - with excellent knowledge of the topography! -
                    diving from the southern tip of Ilot de la Gabiniere in southwest direction.
                    Narrow, long ridge, both sides like steep walls. Dense growing of algae, sponges,
                    and gorgonians. Many fishes, first of all many groupers.
                </text>
                <image>
                    <objectname>red_gorgonia.jpg</objectname>
                    <!-- Additionally, information about specific image data can be given -->
                    <!-- here inside <imagedata> (for example aperture, shutter speed, exposure -->
                    <!-- compensation, focal length of lens, date and time). -->
                    <!-- (of course, this is possible for all below listed images) -->
                </image>
                <image><objectname>spiny-starfish.jpg</objectname></image>
                <image><objectname>5_groupers.jpg</objectname></image>
                <image><objectname>sea-lettuce_rainbow-wrasse.jpg</objectname></image>
                <image><objectname>heinz_close_to_3_groupers.jpg</objectname></image>
                <image><objectname>portrait_red-scorpionfish.jpg</objectname></image>
                <video><objectname>shallow_040928.avi</objectname></video>
            </notes>
        </site>
    </divesite>
    <!-- more dive spots -->
</uddf>