FFI-rapport 2008/01414
SONATE 3.0
A decision aid system to mitigate the impact of sonar operations in Norwegian waters on marine life
Nina Nordlund and Frank Benders
Forsvarets forskningsinstitutt/Norwegian Defence Research Establishment (FFI) 16.07.2008
FFI-rapport 2008/01414 1082
P: ISBN 798-82-464-1435-5 E: ISBN 798-82-464-1436-2
Keywords
Sonar
Miljøpåvirkning Fisk
Hval Fiskeri
Approved by
Petter H. Kvadsheim Project manager
Elling Tveit Director of Research
Jon-Mikal Størdal Director
2 FFI-rapport 2008/01414
English summary
The Royal Norwegian Navy has purchased five new frigates equipped with 1-8 kHz active sonars.
Such sonars are potentially harmful to marine life. Mass strandings of whales have been claimed to be caused by naval sonar exercises. Furthermore, the navy has been met with allegations that fish are also affected. As a way to mitigate this potential problem, FFI has developed a decision aid tool for the Norwegian Navy, SONATE, which will help reduce the potential environmental impact of naval exercises.
SONATE is a decision aid tool for use during planning and execution of sonar exercises, with the aim to minimize conflicts with activities such as fisheries, fish farms, tourism etc and influence of marine life. SONATE contains cartographic information on distribution maps, fishing activity and fish farms; it also contains a set of rules that defines areas where to avoid intensive and routine sonar exercises, information on critical frequency bands and sonar start-up procedures.
This report gives a description of the tool SONATE, and it is divided into three main parts. The first part is a user interface description, meant for the ground level user. The second part is meant for the data manager who takes care of data updates and is responsible for distribution of new installation files. The third part is mainly written for the programmer.
Finally a discussion about the result and about future plans is given.
FFI-rapport 2008/01414 3
Sammendrag
Det norske forsvaret har kjøpt inn 5 nye fregatter som er utstyrt med 1-8 kHz aktive sonarer.
Slike sonarer kan være potensielt skadelig for marint liv. Militære sonarøvelser har blitt beskyldt for å være årsaken til massestranding av hvaler. Det har også kommet fram påstander om at også fisk blir påvirket av miltiære sonarøvelser. For å prøve og begrense dette potensielle problemet, har FFI for Sjøforsvaret utviklet et beslutningsstøtteverktøy (SONATE), som vil hjelpe til å reduserere de potensielle miljømessige påvirkningene fra marineøvelser.
SONATE er et beslutningsstøtteverktøy for bruk under planlegging og utføring av sonarøvelser, med hensikt å minimere påvirkningen på marint liv og konflikter med aktiviteter som industri fiskeri, havbruk, turisme etc. SONATE inneholder kartbasert informasjon med utbredelseskart, fiskeriaktivitet og havbruksanlegg. SONATE inneholder også et sett med regler som definerer områder der man bør unngå intensive og rutinemessige sonarøvelser, og informasjon om eventuelle oppstartsprosedyrer for sonar og kristisk frekvensbånd.
Denne rapporten gir en beskrivelse av verktøyet SONATE. Rapporten er delt inn i tre hoveddeler. Den første delen er beregnet på en vanlig bruker og fungerer som
brukerdokumentasjon, med beskrivelse av bruksområde og menyer. Den andre delen er beregnet på den som skal administrere og oppdatere database og lage nye installasjonsfiler. Den tredje delen er laget for programmerere som skal gjøre endringer i software, brukergrensesnitt etc.
Til slutt er det gitt en diskusjon rundt resultatet og rundt planer for framtiden.
4 FFI-rapport 2008/01414
Contents
Preface 7
1 Introduction 9
2 Input data 10
2.1 Geographical coverage 10
2.2 The distribution maps 10
2.3 Fishing activity 12
2.4 Fish farms 13
3 User interface description 14
3.1 Summary maps 16
3.2 Species maps 17
3.3 Fishery maps 19
3.4 Fishfarm maps 21
3.5 Guidelines 22
3.6 Whale facts 24
4 For the data manager: From input data files to a SONATE
installation file 25
4.1 Input to distribution maps 25
4.2 Calculation of fishing activity 29
4.3 Importing the fish farm locations 30
4.4 Creating a new installation file, and the different modes of SONATE 31
5 For the programmer 32
5.1 SONATE application 33
5.2 Software architecture 33
5.3 Software design of SONATE 34
5.4 Implementation 36
5.5 Testing 37
5.6 Updating guidelines 37
5.7 SONATE database creation application 38
5.8 Software design of SONATE DBMS 38
6 Status and future developments 42
7 Appendices 43
7.1 Appendix – files in src folder and data folder 43
FFI-rapport 2008/01414 5
7.2 Appendix – file descriptions 45
7.2.1 fishery.txt 45
7.2.2 fish_info_2_regulation2.txt 45
7.2.3 regulations.txt 45
7.2.4 art_info_2_regulation.txt 46
7.3 Installations needed 46
7.4 Appendix – track files support within SONATE 47
6 FFI-rapport 2008/01414
Preface
The story of SONATE started in 2003 with the FFI project “LFAS og Havmiljø”. John Kenneth Grytten designed the first versions of SONATE in collaboration with Erik Sevaldsen (project leader) and Petter Kvadsheim (senior scientist). Nina Nordlund took over Gryttens work when he resigned from FFI in 2006. SONATE 2.0 was completed 2007, with the help of Frank Benders (FFI/TNO). In 2008 the latest version, SONATE 3.0 was completed.
FFI-rapport 2008/01414 7
8 FFI-rapport 2008/01414
1 Introduction
The Royal Norwegian Navy has purchased five new frigates equipped with 1-8 kHz active sonars.
Such sonars are potentially harmful to marine life. Mass strandings of whales have been claimed to be caused by naval sonar exercises. Furthermore, the navy has been met with allegations that fish are also affected. As a way to mitigate this potential problem, the FFI have developed for the Norwegian navy, a decision aid tool, SONATE that will help reduce the environmental impact of naval exercises. The project is executed by FFI (The Norwegian Defence Research
Establishment) and funded by the Royal Norwegian Navy.
SONATE is a decision aid tool for use during planning and execution of sonar exercises, with the aim to minimize conflicts with sea based industry (fisheries, fish farms, tourism) and influence of marine life. SONATE contains cartographic information on distribution maps, fishing activity and fish farms; it also contains a set of guidelines that recommend areas where to avoid intensive or routine sonar exercises, information on critical frequency bands and sonar start-up procedures.
This report is divided in 3 levels. The first level (Chapter 3) is a user interface description meant for the average user, either during planning or performance of a sonar operation. The second level (Chapter 4) is meant for the data manager who updates distribution maps, fish farms and fishing activity information in the databases, and prepares updated installation files with updated databases. The third level (Chapter 5) is mainly meant for the programmer. Chapter 2 gives a brief description of the input data to SONATE.
FFI-rapport 2008/01414 9
2 Input data
The input data to SONATE comes from different sources. In addition to land contours, the input data are distribution maps of fish and marine mammals, whaling, fishing activity, fishery zones, safari activities (e.g. whale watching) and fish farm locations. See overview in Table 2.1.
2.1 Geographical coverage
The land contours in SONATE are imported from a shape file (ESRI format). The land contours are not very detailed, which makes SONATE unusable for navigation. The low detail level is chosen to keep the speed of SONATE up.
See Figure 2.1 for map of coverage area.
Table 2.1 Table showing sources for input data in SONATE
Input data Source
Distribution maps (fish and marine mammals) Institute of Marine Research
Fish farms Directorate of Fisheries
Fishing activity Directorate of Fisheries
Safari activities From tourist companies
Fishing zones and locations Directorate of Fisheries
Whaling areas FFI, based on data from IMR
2.2 The distribution maps
The distribution maps are obtained from Institute of Marine Research (Bergen, Norway) as shape files (ArcGIS). The delivery from IMR includes 18 fish species and 19 marine mammal species (see Table 2.2 for a complete list of species). This covers the most important species in
Norwegian waters. In the North Sea, Norwegian Sea, most of the Greenland Sea and the Barents Sea, this dataset gives a complete data coverage (see Figure 2.1 for area). Some of the
distribution maps cover a larger area.
In addition to the species and geographical distribution, these data hold information on time period for which the maps apply. For some species the distribution differs between age-classes, stage (feeding, moulting, spawning etc), this is reflected in the maps in SONATE. For a more detailed description of the shape files, see Figure 2.2 and Figure 4.2, page 28.
Most distribution maps are originally delivered as valid for whole months, but for a few species, the validity period is given for another period. At these few occasions, the validity period in SONATE is extended to the beginning and end of month.
10 FFI-rapport 2008/01414
In addition to the distribution maps, SONATE also contains maps with information on safari activities (e.g. whale watching) and areas of whaling. Figure 2.2, Figure 3.3and Figure 3.4 shows examples of how distribution data are presented in SONATE.
Table 2.2 SONATE contains distribution maps for the species in the table below (Norwegian names in parentheses.
FISH: MAMMALS:
Blue whiting (Kolmule) Atlantic white sided dolphin (Kvitskjeving)
Capelin (Lodde) Bearded seal (Storkobbe)
North Sea Cod (Nordsjøtorsk) Beluga (Hvithval)
North East Arctic Cod (Nord-øst-arktisk torsk) Bottlenose whale (Nebbhval)
Coastal Cod (Kysttorsk) Fin whale (Finnhval)
Deepwater Redfish (Snabeluer) Grey seal (Havert) Greenland halibut (Blåkveite) Harbour porpoise (Nise) North Sea Haddock (Nordsjøhyse) Harbour seal (Steinkobbe) North East Arctic Haddock (Nord-øst-arktisk hyse) Harp seal (Grønlandssel) Norwegian Spring Spawning Herring
(Norsk vårgytende sild)
Hooded seal (Klappmyss)
Fjord Herring (Fjordsild) Humpback whale (Knølhval)
North Sea Herring (Norsdjøsild) Killer whale (Spekkhogger)
Horse mackerel (Taggmakrell) Minke whale (Vågehval)
Mackerel (Makrell) Narwhale (Narhval)
North Sea Saithe (Nordsjøsei) Pilot whale (Grindhval) North East Arctic Saithe (nord-øst-arktisk sei) Ringed seal (Ringsel)
Sprat (Brisling) Sperm whale (Spermhval)
Fjord Sprat (Fjord brisling) Walrus (Hvalross)
White beaked dolphin (Kvitnos)
Figure 2.1 The white lines in the map show the area of data coverage. Some of the distribution maps cover areas outside these white lines, but the data coverage is not complete here. The fishing areas and fishing locations are information used by the
Directorate of Fisheries to report fishing activity and catch.
FFI-rapport 2008/01414 11
Figure 2.2 The figure shows a typical example of a distribution map as presented in SONATE.
The orange areas show distribution of herring (winter area) in January, the red area is killer whale distribution in January.
2.3 Fishing activity
Fishing activity data are obtained from The Directorate of Fisheries. The Directorate of Fisheries divides the Norwegian Waters into fishing areas and fishing locations, in which catch of fish is reported. These areas and locations are also used in SONATE to display fishing activity (Figure 2.1 shows the areas and locations).
The fishing activity data holds information on catch period, area, location, fishing tool, species (or groups of species), catch (in kg) and number of vessels which have reported catch from the area. Be aware that this dataset only holds information on catches delivered in Norway. Figure 3.5 and Figure 3.6 shows examples of how fishing activity data are presented in SONATE.
12 FFI-rapport 2008/01414
Table 2.3 The table below shows an example from the fishing activity input file. The file is in Norwegian. The fields of the table are: year; nation; area; location no; year of delivery; month of delivery; yr-month; fishing tool; fish group/species; weight in kg;
value in NOK; # boats
Fangst år
Fartøy
nasjon Homr Lok Lev_
år
Lev_
mnd Lev_
år-md
Redskaps gruppe
Fisk_
gruppe
Rund- vekt i kg
Utbetalt verdi i kr
Ant far tøy 2007 NOR 42 14 2007 11 2007-11 Not Sild 2299981 4835681 6 2007 NOR 42 14 2007 11 2007-11 Not Anna pelagisk fisk 4738 2207 3 2007 UTL 43 83 2007 11 2007-11 Trål Sild 9000 0 1 2007 UTL 43 83 2007 11 2007-11 Trål Anna pelagisk fisk 1096489 9404331 2 2007 UTL 43 66 2007 11 2007-11 Trål Sild 1500 0 1 2007 UTL 43 66 2007 11 2007-11 Trål Anna pelagisk fisk 129816 1079497 1 2007 NOR 54 8 2007 11 2007-11 Line Anna fisk 173 4410 1 2007 NOR 54 8 2007 11 2007-11 Line
Torsk og
torskeartet fisk 16808 318258 1 2007 NOR 61 0 2007 11 2007-11 Trål Anna fisk 31085 452036 1 2007 NOR 68 0 2007 11 2007-11 Trål Anna fisk 293139 4928261 1
2.4 Fish farms
The fish farms data are obtained from the Directorate of Fisheries, on an excel file, and keeps concession holders name and address, species, production capacity, geographic coordinates etc.
Be aware that the fish farm locations presented in SONATE are existing concessions. Some companies have concessions on several locations and move the fish farms between these. This means that not all fish farm locations indicated in SONATE contains a physical farm at all times.
Figure 3.7 shows an example of how fish farm data are presented in SONATE.
Table 2.4 Example from fish farms input file. The input file is in Norwegian. Standard fields of the input file are: permission no; company ID; owner; address; postal code; post office; established date; temporary permission; permission municipality ID;
permission municipality; object (commercial/cultivation); production (edible fish, hatchery ...); capacity; capacity unit (tonnes, number etc); location ID; location name; location type (permanent, temporary etc);location municipality ID, location municipality name; location placement (land, sea etc); environment (salt water, fresh water etc); location capacity; location capacity unit (m3, tonnes, number etc);
location temporary; coordinate latitude WGS 84; coordinate longitude WGS 84
TILL_NR
FIRMA_ID
NR INNEHAVER ADRESSE
POST
NR POSTSTED A A 0001 969159570 UNIVERSITETET FOR MILJØ- OG BIOVIT 1432 ÅS
A AH0701 BJØRKELANGEN JFF BOKS 131 1940 BJØRKELANGEN A AH0701 BJØRKELANGEN JFF BOKS 131 1940 BJØRKELANGEN
TILL_NR ETABL_DATO MIDL_TILL TILL_KOMNR TILL_KOM
A A 0001 03-10-1991 0214 ÅS
A AH0701 21-09-1995 0221 AURSKOG HØLAND
A AH0701 21-09-1995 0221 AURSKOG HØLAND
FFI-rapport 2008/01414 13
TILL_NR FORMÅL PRODUKSJON ART TILL_KAP TILL_MH LOK_NR A A 0001 KOMMERSIELL MATFISK LAKSEFISK 6.50 TN 10362 A AH0701 KULTIVERING YNGEL ØRRET 130.00 STK 12826 A AH0701 KULTIVERING SETTEFISK ØRRET 140.00 STK 12826
TILL_NR LOK_NAVN LOK_TYPE LOK_KOMNR LOK_KOM
A A 0001 NERFJØSET PERMANENT 0214 ÅS
A AH0701 BJØRKELANGEN PERMANENT 0221 AURSKOG HØLAND A AH0701 BJØRKELANGEN PERMANENT 0221 AURSKOG HØLAND
TILL_NR
LOK_PL
ASS LOK_MILJØ
LOK_
KAP LOK_MH LOK_MIDL N_GEOWGS84 Ø_GEOWGS84 A A 0001 LAND FERSKVANN 100.00 M3 59.670232 10.759353 A AH0701 LAND FERSKVANN 270.00 STK 59.871073 11.595335 A AH0701 LAND FERSKVANN 270.00 STK 59.871073 11.595335
3 User interface description
The SONATE application can be used by users with different points of view and requirements.
The application is mainly meant for planners of sonar operation and operational users (sonar operators). It can also be used by scientists or managers to get an overview of species distribution and marine activity.
We assume that a typical planner of sonar exercises will use SONATE to locate an area and time period suited to perform an exercise with minimum operational restrictions. A typical operational user will use SONATE to view details in the exercise area, and to find information on critical frequency bands and start up procedures.
The SONATE application has been split into several maps showing different kind and detail of information. The most complete overview of information can be found under the SUMMARY tab.
This map shows only information about areas where restrictions are recommended. More detailed information on species can be found under the SPECIES tab. These maps focus on all marine species (including species and areas without restrictions). The fishery information is visualised under the FISHERY tab. Information on the fish farms (including positions) can be found under the FISH FARMS tab.
14 FFI-rapport 2008/01414
Figure 3.1 The overall structure of the SONATE window
The SONATE window is divided in two parts (see Figure 3.1): the panel at the left side contains a map and the right panel text, tables and legend. The information shown in the map depends on the selected tab. In addition to the tabs with maps (SUMMARY, SPECIES, FISHERY and FISH FARMS) there are also two other tabs containing the GUIDELINES and WHALE FACTS.
Figure 3.2 The buttons above the map: arrow, binocular; zoom in; zoom out; pan; zoom to fit;
home; save; print
The buttons above the map can be used to select areas on the map and to navigate through the map by zoom in/out and changing the centre. The selection functionality (using the arrow) will only provide information on the area on the top of the map. The binocular will provide information on all layers under the SUMMARY and SPECIES tabs (the other tabs have only single layer maps). When the zoom-in function is used, only the areas inside the borders of the map will be listed in the table on the right side. When the user zooms out, the table to the right will again be updated with the information inside the map shown on the left.
The zoom to fit button can be used to reset the size of the screen. Resetting the entire application to the initial settings can be done with the home button. Besides these buttons, also a save and print button is placed to have easy access to this functionality.
FFI-rapport 2008/01414 15
In the menu bar of the application, the user can find:
• under File: the functionality to print and store the map and tables
• under Options: turn on/off area coverage display (data coverage is assumed to be 100%
inside the area), turn on/off grid display (5° latitude and longitude intervals)
• under Language: choose between English, Norwegian or Dutch language
• under Help: a help text
Above the table at the right side of the window, the user can specify the month. A “-“ in the month dropdown box means that there is no month selected.
At the bottom of the window, the position of the cursor on the map is shown. The version of SONATE is always displayed at the bottom of the map.
The SONATE database contains a vast amount of data, which is to be displayed graphically. If all these data are read to the memory at the same time, SONATE will respond slowly to new requests. Selecting a specific month and restricting the geographical selection to the relevant area (by zooming in the map), will reduce the amount of data in memory and thereby the response time.
3.1 Summary maps
The summary maps are made to provide a quick overview of all areas where the guidelines recommend restrictions on use of active sonar. The summary maps show both the species distribution and fishing activity in the same map, but only areas where the guidelines recommend restrictions. Initially, no guidelines are selected. Figure 3.3 shows an example of the summary maps. The colours indicate the importance of the guideline (red is more stringent than orange).
The most important information will mainly be visualised on top of the map (overlapping the other information).
At the top of the SUMMARY tab, the user can select the dataset (species and/or fishery) of interest by means of the dropdown menu. Below the dropdown menu, two buttons are visible. The button Areas with restrictions button enables the user to select all visible areas where the guidelines recommend restrictions on use of sonars, at once and show them on the map. The Remove maps button will remove all areas from the map.
Below the buttons, a legend of the colours and the corresponding guidelines is shown. The left column shows whether the guideline(s) are visualised, followed by the colour corresponding to the guideline. At the right side a small guideline description by means of keywords is given. By clicking in the On/off column, a guideline can be visualised or removed. By clicking in the color column, all guidelines with the same color are selected. The guideline column can be used to jump directly to the guideline description (under the GUIDELINE tab). When a guideline applies in the selected area, the text in the Ref to guideline column is written in blue, otherwise it will be grey italic.
16 FFI-rapport 2008/01414
Figure 3.3 An example showing the summary map of July. Map to the left. To the right a menu to select month, dataset (species, fishing activity or both), buttons to show or hide groups of maps, legends and a table which lists all areas inside the map extent.
The table at the bottom shows a list of all areas where restrictions are recommended, either caused by the presence of vulnerable species or high fishing activity. When the color column is colored, the area corresponding to this information is shown in the map. For each area in the table, the species name, map information, guidelines and month is shown in the table. In some cases more details concerning the guidelines is given in the guidelines column (e.g. frequency band restrictions). When all months are selected (at the top of the tab), the last column shows a list of month numbers in which the guidelines recommend restrictions on use of active sonar. To turn on or off the distribution maps one clicks in the color column of the table. The last
distribution map turned on, will have a cyan outline.
Only restricted areas that are inside the margins of the map to the left will be shown in the table.
After zooming in, only the guidelines concerning the visualised area will be displayed in the table.
3.2 Species maps
The SPECIES tab provides the user with distribution maps of all species in the database. Figure 3.4 shows an example of distribution maps for some marine mammals in July. The color coding is similar to the one used under the SUMMARY tab, but also species with no restrictions linked to them are also shown (in green).
FFI-rapport 2008/01414 17
Figure 3.4 The species tab reveals distribution maps. July month is selected, and marine mammal distribution maps are visualised. The killer whale distribution map is selected and is shown with a cyan outline.
At the species drop down menu, the user can select species or group of species (fish or mammals). The table below can be sorted by guideline, species name, or map information by means of the sorting dropdown menu.
By pressing the All species maps button all distribution maps inside the visible part of the map will be shown. The Areas with guidelines button will only show areas where restrictions are recommended. Removing all distribution maps can be done by clicking the Remove distribution maps button.
The table at the bottom shows a list of all distribution maps in the visible area of the map. When the color column is colored, the habitat of the species is shown on the map. For each species in the table, the name, map information, guidelines, and month is depicted. In some cases more details concerning the guidelines is given in the guidelines column (e.g. frequency band
restrictions). When all months are selected (at the top of the tab), the month column shows a list of month numbers in which the distribution map applies.
Clicking in the color column of the table to the right will turn the distribution on or off in the map to the left. Clicking on the species column will result in (un)highlighting of the corresponding
18 FFI-rapport 2008/01414
distribution map. An example is shown in Figure 3.4 where killer whale distribution is highlighted.
Clicking on areas on the map will hightlight them. By using the binocular button, information on all distribution maps below will be shown.
3.3 Fishery maps
The FISHERY tab gives information on fishing activity in the different fishing locations. The fishing locations are areas used by the Directorate of Fisheries for reporting catches. Fishing activity in SONATE is calculated from catch and number of catching vessels in each location.
The activity is calculated month by month, and can be extracted from the database as values based on data from one year or an average of the last three years. Regulations on use of sonar are based on the average values from the last three years. Areas where restrictions are recommended are shown with orange outline in the map, and do not depend on selected dataset (it is always based on the average of the last 3 years). The dataset shown in the map can be either catch OR number of boats, which is selected by the dataset drop down menu above the table.
Initially, average catch and all fish groups are selected. The fishing activity can vary a lot from year to year; this is the reason for using a three year average.
FFI-rapport 2008/01414 19
Figure 3.5 The fishery tab reveals fishing catch activity. As an example catches per area are shown for July 2007. Details are shown for the area with location-ID: 28-51. This area appears with a cyan outline in the map. The areas with orange outline are areas where the guidelines recommend sonar restrictions based on high fishing activity on presumed sensitive species.
Clicking on a location with the arrow will reveal give detailed information of the location in the table below the legend.
When only one year is selected, the user can select one fish group (marked bold) in the middle table (by clicking on it). For this fish group detailed information about the catch, number of vessels and fishing tools are shown in the bottom table. An example can be seen in Figure 3.6.
20 FFI-rapport 2008/01414
Figure 3.6 The fishery tab reveals fishing vessel density. As an example the number of vessels is shown for January 2006 in the area with location-ID: 5-9.
As mentioned above, any recommended restrictions on use of sonar caused by fishing activity is based on average values for the last three years. Also taken into consideration is the vulnerability of fish species in different time periods. Restrictions are recommended at a lower fishing activity for species vulnerable to sonar signals than for less vulnerable species.
3.4 Fishfarm maps
The FISH FARMS tab gives an overview of all concessions for fish farms in Norway. The first time this map is selected, all fishfarm information will be read from the fish farms database (this will take some time).
Detailed information on a each fishfarm is obtained by clicking on the markers on the map.
Information of the selected fish farms will appear in the table at the right side, with the most recent selection highlighted on top. Selected fish farms in the map will change color to the selection color. All fish farms can be unselected and removed from the table by clicking on the
“Remove selection” button.
FFI-rapport 2008/01414 21
Figure 3.7 Example of the fish farms information in SONATE
The capacity of fish farms can be given in numbers (stk) (number is to be multiplied by 1000), tonnes (tn), DA (decare- 1000m2), kg, l, m2 or m3.
3.5 Guidelines
The GUIDELINE tab will show the complete official guidelines (see Figure 3.8). The guidelines for military sonar operations in Norwegian waters are issued by the naval operational authority (FOHK) based on recommendations from FFI. The language of the guidelines can be changed by selecting another language in the menu bar. Links to the GUIDELINE tab appears numerous places elsewhere in SONATE, for instance in the legend of the SUMMARY tab and in the Ref to guidelines columns under the SUMMARY tab and the SPECIES tab.
22 FFI-rapport 2008/01414
Figure 3.8 Example of the guidelines in SONATE
FFI-rapport 2008/01414 23
3.6 Whale facts
The WHALE FACTS tab is meant to support visual observers during exercises. The tab shows detailed visual and behavioural information about the whales. An example is shown in Figure 3.9.
Figure 3.9 Example of the whale facts in SONATE. The map shows the distribution of the fin whale around the year
24 FFI-rapport 2008/01414
4 For the data manager: From input data files to a SONATE installation file
SONATE is programmed in python, with wxPython to take care of the graphical user interface.
Geographical data are handled with POSTGRESQL (with postgis extension) database and hdf5 data format, and other database information is handled with sqlite. See Chapter 5 and Chapter 7.3 for a closer description. (More information on http://www.postgresql.org/ ,
http://postgis.refractions.net/ , http://www.python.org/ , http://www.sqlite.org/ )
A program is made to take care of the processing of the data from input data format to make them ready for use in SONATE. This program is called sonate_dbms.py.
This program requires that you have POSTGRESQL with the postgis extension installed, and you will also need sqlite. See chapter 7.3 for a complete list of extensions and installations needed.
The sonate_dbms.py has different modules to take care of the input data. The Species tab is used to read distribution data from shape files and export them to the SONATE databases. The Fishery tab is used to read data from an MS excel file containing fishing activity data and to export the data to the SONATE databases. The Fishfarms tab is used to read information on fish farms from an MS excel file and import the data to the SONATE databases. Finally, the Map and Area tab are used to read background maps from shape files to the SONATE databases.
Figure 4.1 sonate_dbms.py consists of different modules
After exporting the data into the databases, SONATE can be tested by running sonate.py. To make an executable installation file, one runs setup.py.
4.1 Input to distribution maps
The distribution maps are obtained from IMR as shape files (ESRI-format). The coordinate- system used in the shape-files has been WGS84 or North Pole stereographic with WGS84 datum.
FFI-rapport 2008/01414 25
The input to SONATE must be North Polar Stereographic with WGS84 datum, so some of the shape-files have to be transformed prior to importing them to SONATE.
Normally the shape files are delivered with the fields shown in Table 4.1, but due to minor differences in the deliveries, especially the early deliveries, all shape-files have been reduced to contain only FID, Id, INFO, shape. This is because the software sets the field of the SONATE databases equal to the fields of the first shape file imported, so that all shape files must have the same fields, or the program will abort.
Prior to importing the data to SONATE, the files have to be organized in a well-defined structure, where the file path defines the species names and period, and the filename defines the mapinfo (if the file shows spawning areas, winter areas, juveniles, adults etc). See example in Figure 4.2.
When the shape files are well organized, data are imported to the database by pressing the button Create db + hdf5 files. The drawback of this organization is that the same polygon is imported to the database several times (once for each month they are valid). The button Create reduced HDF5s organize the maps in the internal databases so that polygons are stored only once.
If a new type of mapinfo is introduced to the dataset, changes have to be made to the code in sonate_dbms.py. The connection between the mapinfo given in the filename and the mapinfo that appears in the SONATE application is hardcoded. See example in Textbox 1 below. The text marked in green is part of the filename; the text marked in yellow is the mapinfo that will appear in SONATE.
When a new species is added to the database, or to the set of shapefiles, this has to be added to the hardcoded list in sonate.py, where the dropdown menus for selecting species are defined. In addition to the shape files, a file is required that defines the connection between the species, mapinfo and guideline number (default file: art_info_2_regulation.txt). See Textbox 2.
Table 4.1 Fields in standard shape file delivery Field description
Id unique ID ATRSDATA
DYREGRUPPE group ART species STADIUM
STARTDATO The distribution map is valid from this date SLUTTDATO to this date (MMDD)
INFO
OPPDATERIN date for updating of shape-file MENGDE amount
REFERANSE reference TETTHET density ARTSNAVN species name ARTSBESKRI description LATINSK_NA latin name
26 FFI-rapport 2008/01414
Textbox 1 The connection between the mapinfo given in the filename and the mapinfo that appears in the SONATE application is hardcoded. In Norwegian. Example: in filename: hoy_tetthet (high density) gives mapinfo ‘Høy tetthet’. Translation to other languages is done elsewhere in the code.
mappings = [('gyt','Gyting'),
('NiseHoyTetthet',u'Høy tetthet'), ('hoy_tetthet',u'Høy tetthet'),
('MiddelsTetthet',u'Middels tetthet'), ('beite','Beiteomr'),
('egg','Egg'), ('larve','Larver'), ('yngle','Yngling'),
('sild_larve_apr','Larver apr'), (u'(4_år|4aar)',u'4 år og eldre'), ('voksen','Voksen')]
FFI-rapport 2008/01414 27
species
month
mapinfo
Figure 4.2 The input files for distribution maps are organized after species, month and mapinfo.
”Beite” means feeding ground, ”gyte” means ”spawning area”.
Textbox 2 Example of art_info_2_regulation.txt file. Species, mapinfo and guideline number Brisling(Fjord-) Gyting 2.3(<5kHz)
Brisling Gyting 2.3(<5kHz) Finnhval Beiteomr 2.7
Grønlandssel Hårfelling 2.7 Grønlandssel Kasting 2.1 Havert Kasting 2.1
Havert Hårfelling 2.7 Havert Koloni 2.7 Knølhval Beiteomr 2.7 Klappmyss Hårfelling 2.7 Klappmyss Kasting 2.1 Nebbhval Beiteomr 2.1 Nebbhval Utbredelse 2.7
28 FFI-rapport 2008/01414
4.2 Calculation of fishing activity
The fishing activity input data is an MS excel file. The fishing activity data holds information on catch period, area, location, fishing tool, species (or groups of species), catch in kg and number of boats which have reported catch from the area.
If the content changes, or column number changes, the code of sonate_dbms.py has to be changed. See Chapter 5 For the programmer for closer description.
The guidelines recommend restrictions on use of sonar in areas with high fishing activity for vulnerable species or periods of vulnerability. High fishing activity areas are defined as locations where the catch per km2 per month OR the number of boats per km2 per month is above a
threshold value.
The catch and number of boats per area is calculated in sonate_dbms.py, under the Fishing tab.
In addition to the fishing activity data (as shown in Figure 4.4) a file containing the areas of the different locations is needed (AREA.XLS), and a file (default:
fish_info_2_regulation2.txt) which sets the threshold values for recommending restrictions on use of sonar.
To perform the calculations of the fishing activity, first press the Create DB + HDF5 files button, this will import the data from the input files. Then press the Create AVG DB button, to calculate the average values for the last three years. This process updates the input files to SONATE and the file missing_areas.txt. The missing_areas.txt lists all locations from the input file that are missing in the map (default: fiskerilokasjonerf_33N.shp). A missing location can be caused by the facts that some catches are reported to be delivered from a location that not exists, or that the location number is not reported. The fishing activity data from non-existing locations are not used in the calculations.
Figure 4.3 SONATE DBMS, the fishery tab.
FFI-rapport 2008/01414 29
Figure 4.4 Input to the fishing activity calculations (TOTALSTATISTIKK.XLS)
Textbox 3 The file fish_info_2_regulation.txt, which is input to sonate_dbms (the numbers in the catch/km2 and the vessels/km2 columns are the threshold values):
#This file is used by sonate_dbms.py to set guidelines to the fishing activity data
#fish; month; catch/km2 ; vessels/km2; areas; guideline Sild; 1,2,3 ; 250; 0.01; 7,6,0,5,37,4,39,12; 2.5 Sild; 7,8,9,10 ; 250; 0.01; 42,28,8 ; 2.5 Sild; 2,3,4 ; 250; 0.01; 28,9 ; 2.5 Brisling; All ; 250; 0.01; All ; 2.5
4.3 Importing the fish farm locations
The fish farm locations are imported from an excel file, which in turn are downloaded from http://www.fdir.no/fiskeridir/kystsone_og_havbruk/registre.
Figure 4.5 The Fishfarms tab in SONATE DBMS
30 FFI-rapport 2008/01414
SONATE DBMS reads data from the MS excel file and writes them to two database files that are used in SONATE. The positions are read from the two last columns of the excel file. See example in Figure 4.6.
Figure 4.6 Example of fish farms input to SONATE DBMS. Only some of the columns in the input file are shown
In SONATE the guideline number which applies in the vicinity of fish farms are read from the fishfarms.txt. See Textbox 4.
Textbox 4 The content of the file that defines guideline number that applies in the vicinity of the fish farms:
2.9
4.4 Creating a new installation file, and the different modes of SONATE A new executable installation file is made by means of the setup.exe.
(usage: python setup.py py2exe). Depending on the mode defined in sonate.ini, the installations file will be in either of the modes described in Table 4.2. The sonate.ini also gives the possibility to change some of the colors in the SONATE window and change the screen dimension. The grid step is the intervals in degrees shown on the map display. The sonate.ini file is shown in Textbox 5. The USER_MODE controls which tabs to be visible in SONATE. Table 4.2 gives an overview.
Textbox 5 The sonate.ini file
BACKGROUND_COLOR = (144, 180, 255) LAND_COLOR = (127, 166, 135)
GRID_COLOR = (0, 0, 0) GRID_STEP = 5
SELECTION_COLOR = (0, 255, 255) SCREEN_DIMENSIONS = (1024, 768)
USER_MODE = -1 #-1: normal; -11: all; 0: operational (not all details about species) ; 1:
planning (not "facts about whales" and fishfarms); 2 : track mode
FFI-rapport 2008/01414 31
Table 4.2 Overview of the different USER_MODEs
USER_MODE = - 11 All
USER_MODE = -1 Normal
USER_MODE = 0 Operational mode USER_MODE = 1 Planning
USER_MODE = 1 Track
The track mode also gives the possibility to load a detailed map of an area, or another map adjusted to the track data. The map file must be on hdf5 format. To load a new map, select from the menu: File – Load map.
5 For the programmer
The SONATE software is developed using the object oriented software engineering. Therefore the software description will be shown by means of Unified Modeling Language (UML)
diagrams. The application is developed by FFI (Norwegian Defence Research Establishment) for the Norwegian Defence. The data on fish, marine mammals, fishing activities, and fish farms is received from other institutions.
The software can be split in a number of software packages (see Figure 5.1). The main application the users will use is the SONATE application. This application uses the SONATE Database. The databases are created by means of the SONATE Database package. This package uses the environmental information delivered by the other institutions, together with the
guidelines, to create new versions of the SONATE databases.
deployment Deployment Model
Database I nformation Sonate Databases Creator
Sonate Ap plication Sonate Databases
«flow»
«use»
«flow»
Figure 5.1 The deployment model of the SONATE application
32 FFI-rapport 2008/01414
The main idea is to develop the SONATE application such that no commercial tools are needed to run this application. This leads to the fact that the databases are stored in open source databases and file formats. Furthermore, the applications are developed in Python which is an open source development environment.
The database and information that are used to create these databases can be in other formats (e.g.
MS Excel, ArcGIS shape files).
5.1 SONATE application
SONATE is a windows based application that focuses on presenting data on a geographical display. Any detailed information is always shown in tables. Figure 5.2 shows the schematic structure of the application. The main SONATE window has a menu bar at the top and a status bar at the bottom. The window is split into two parts: 1) the SONATE frame showing the map information, and 2) the SONATE notebook showing the detailed (textual) information.
The SONATE frame also contains a toolbar to interact with the visualised map.
The main SONATE can create a help dialog to show the supporting help of the application. The application support multi languages, to support users from other countries to be able to use the application.
custom SonateGUI Son ate
Sonate Frame
SonateNotebook SonateFrameT oolbar Menubar
SonateStatusBar
HelpDialog Sonate Canv as
creates
Figure 5.2 Graphical user interface structure
5.2 Software architecture
The SONATE application uses external databases to retrieve data from, so the application is a client of the databases (see Figure 5.3). The application will interact with these databases all the time, so only the required information is retrieved from the database and stored in the memory.
The application also supports several user modes for the different users: 1) sonar planner, 2) sonar
FFI-rapport 2008/01414 33
operator, and 3) scientific user. Depending on this mode, functionality will be enabled in the user interface. For instance the visual whale facts will only be displayed for the sonar operators and scientific users and not to the planner.
cmp Deployment Model
Sonate application uses Sonate d atabases
Figure 5.3 Architecture of the SONATE application
5.3 Software design of SONATE
The design of the SONATE application has been made after the code was written. Figure 5.4 and Figure 5.5 shows the object diagram (in UML) of the SONATE application. The SonateApp is the main application object to start.
This application creates the SonateFrame. This object creates the SonateCanvas and SonateGridPanel and gives them to the SonateSplitter to enable a split window view. The
SonateFrame can also create SonateTransientPopup and SonateHelpDialog dialogs to show more information to the user. The SonateFrame sets up the connection to the databases and retrieve the most important information.
The SonateGridPanel contains a SonateNotebook containing tabs of information; summary map, species map, fishery map, fish farms map, guidelines, and whale facts. Depending on the user mode, these information tabs are created. Each of the tabs can also contain a number of tables (grids). These are created during the initialisation of the notebook.
34 FFI-rapport 2008/01414
class Sonate
wx.SplitterWindow SonateS plitter
wx.PopupTransientWindow SonateTransientPopup
wx.Di alog SonateHe lpDialog
gridlib.Grid SonateGrid
wx.P anel HTM LPa nel
wx.P anel PDF Pan el wx.Notebook
SonateNotebook wx.F rame
Sonate Frame wx. App SonateApp
progressBar
wx.P anel sonatecanv as::SonateCanv as
SonateGrid Panel
1. .*
0..* 0..*
Figure 5.4 Object model of the SONATE application
There are different grids that can be visualised on the notebook. The following diagram shows all grids that are available.
class Sonate model
gridlib.Grid SonateGrid
Specie sGrid
SpeciesLe gendGrid Ov ersiktsGr idInterface
Ov ersiktsInv isibleGrid Ov ersik tsGrid
Summar yData Model
Ov ersiktsLegendGrid FishingGrid
FishingLe gendGrid Fishfar msGrid
FishfarmsLegendGrid
TrackLegendGrid TrackGrid
SonateLe gendGrid FishingActiv ityGrid
Figure 5.5 Object model of the different grids which can be attached to the notebook
FFI-rapport 2008/01414 35
In the SONATE application a large set of databases are used. Figure 5.6 shows all databases and other files that are used by the SONATE application. The HDF5 files (*.h5) contain the location and shape/contour information. The databases (colored green) contain more information about species, fishing activities, and fish farms. These databases refer to the HDF5 files to indicate the locations.
The text files are used in the display of the application to define the colors and corresponding description. The regulations text file describes the regulations, the color coding, and guideline importance. This file is used in the SUMMARY and SPECIES Tab. The fishery.txt file describes the legend of the fishing activity and the color coding and link to the regulations. This file is only used in the Fishery tab. When the guidelines change, these files need also to be updated.
deployment Sonate Databases
regulations.txt Data Model::s peciesinfodb
«column»
Data Model ::distr.h5 Data Model::hav omraader.h5 Data Model::nordsj o.h5 Data Mode l::ff.h5
«column» «column» «column» «column»
*PK i d
* shape: varchar(50) *PK id: integer
* shape: varchar(50)
*PK id: integer
* shape: varchar(50)
*PK id: integer
* shape: varchar(50)
«PK»
+ PK_distr.h5() «PK»
+ PK_havomraader.h5(integer)
«PK»
+ PK_nordsjo.h5(integer)
«PK»
+ PK_ff(integer)
«unique»
+ UQ_distr.h5_id() «unique»
+ UQ_havomraader.h5_id(integer)
«unique»
+ UQ_nordsjo.h5_id(integer)
«unique»
+ UQ_ff.h5_id(integer)
*PK id: INT EGER = 0
* species: VARCHAR(255)
* period: VARCHAR(255)
* area: INTEGER
* mapinfo: VARCHAR(255) regulations: VARCHAR(50)
* gid: INT EGER
* regimportance: INTEGER
«PK»
+ PK_speciesinfo(INT EGER)
«unique»
+ UQ_speciesinfo_id(INT EGER)
Data Model::fishingdb
«column»
*PK id: INT EGER = 0
* area: INT EGER
* location: INT EGER
* year: INT EGER
* month: VARCHAR(255)
* fishing_tool: VARCHAR(255)
* fish_group: VARCHAR(255)
* catch: INTEGER
* vessels: INTEGER
«PK»
+ PK_fishingdb(INTEGER)
«unique»
+ UQ_fishingdb_id(INTEGER)
Data Model::fishfarmsdb
«column»
*PK id: INT EGER = 0
* regnr: VARCHAR(255)
* konsesjonsinnehaver: VARCHAR(255)
* loknavn: VARCHAR(255) art: VARCHAR(255)
* konsesjonskap: VARCHAR(255)
* mh: VARCHAR(255)
* geoeu89n1: FLOAT(0)
* geoeu89o1: FLOAT(0) vann: VARCHAR(255)
«PK»
+ PK_fishfarmsdb(INT EGER)
«unique»
+ UQ_fishfarmsdb_id(INT EGER) + UQ_fishfarmsdb_regnr(VARCHAR)
fishery.txt
+PK_id +PK_id +PK_id +PK_id
Data Model::fisherydb
«column»
*PK id: INT EGER
* area: INT EGER
* location: INT EGER
* year: INT EGER
* month: VARCHAR(255)
* tot_catch: DOUBLE
* tot_vessels: DOUBLE regulations: VARCHAR(255)
«PK»
+ PK_fisherydb(INT EGER)
«unique»
+ UQ_fisherydb_id(INT EGER)
Figure 5.6 Database model of the SONATE application
5.4 Implementation
The SONATE application is written in Python (version 2.4) and uses wx.Python do create the graphical user-interface. In the implementation the standard python coding styles is used (http://www.python.org/doc/peps/pep-0008). The application uses SQLite database
(http://www.sqlite.org/index.html) to retrieve the information from. The geographical information
36 FFI-rapport 2008/01414
is stored in HDF5 format (a general purpose library and file format for storing scientific data (http://www.hdfgroup.org/).
The default setting and user mode are selected in the sonate.ini file. This file is loaded during the start of the application and overrules the initial settings in the code. The file format is written in the python language format.
The setup/installation executable is created by means of the InnoSetup compiler and the py2exe script. The script creates the SONATE executable and the compiler collects all relevant input files and executable and composes the installation file.
5.5 Testing
Before a release of the software is distributed, a large number of tests are performed. The testing of the application is done on four levels:
1. programmers test, 2. data test,
3. internal software test, 4. external user test.
The programmers develop the python software and test the implementation by looking at the functionality and the specified requirements. These tests are mainly done by debugging the code.
The data tests are very important, since they focus on the correctness of the databases and the interaction between the application and the databases. It also focuses on the correctness of the translation of the external input data into the internal databases.
The internal software tests are performed by the people within FFI (not the programmers, but some times the users), to check the functionality and user interaction. They focus in whether the application is user friendly and intuitive. They also check whether the application will give the expected results.
After the application is tested within the FFI organisation, the first version is sent to a selected group of users to check the databases and whether the tool reflects their idea of how the
application should function. This user group will do the beta testing of the application. When they accept the version, a new release can be created.
5.6 Updating guidelines
When the guidelines are changed, the developer also needs to update the following file:
regulations.txt fishery.txt regulations#.pdf
FFI-rapport 2008/01414 37
The text files are used in the user-interface to color-code different guidelines. In these files, every guideline should be described.
Note that the SONATE application assumes that the guideline numbers are defined as “#.#”
where each # is one digit/letter. When longer numbers are used, the program will not distinguish between the last digits/letters.
5.7 SONATE database creation application
This application focuses on the creation of the databases and supporting files that are used by the SONATE application. It uses external input data to create the internal data, and mainly transfers data in commercial formats to open-source databases and formats.
custom DBMS GUI SonateDBMS
Species
Directory filename filename
Create DB ...
Search Search Search Fishery Fishfarms Map
StatusBar Area
Figure 5.7 Example user interface of the SONATE DBMS application
The user-interface consists of five tabs: Species, Fishery, Fish farms, Map and Area. Each tab contains some text fields in which files can be specified. The search buttons can be used to select a file with a file selector. Below the text fields, the buttons are placed to create the output files.
At the bottom of the windows a status bar is placed to indicate the progress of the creation process.
5.8 Software design of SONATE DBMS
The design consists of an application that has a main frame containing a notebook and progress bar (see Figure 5.8).
38 FFI-rapport 2008/01414
obj ect Class Model
wx.Notebook SonateDBCreationNotebook
SonateDBCreationNotebook::
progressBar wx.F rame
SonateDBCre ationFrame wx. App
SonateDBCr eationApp
Figure 5.8 Object model of the SONATE DBMS application
The following diagrams show the dataflow within the SONATE DBMS. Figure 5.9 shows the creation of the speciesinfodb (SQLite) database and the corresponding distr.h5 (HDF5) file. The creation process uses the Postgress Database (distrinfo.pql), a large number of shape files (species_###.shp), and a file describing the guidelines in combination with the related species (art_2_regulations.txt). In the diagram also the tables in the database are shown.
act Creation of the species databases
Create Sonate species databases
Load spec ies databa se +
shape files Start
Load guidel ines
file
Data Model::s peciesinfodb
«column»
Data Mode l::distr info.pql
«column»
*PK gid: integer
* shapefile: varchar(256)
* id: integer
* dataset: varchar(256)
* species: varchar(255)
* period: varchar(256)
* filename: varchar(256)
* mapinfo: varchar(256) regulations: varchar(256)
* regimportance: integer
Data Model ::distr.h5
«column»
*PK i d
* shape: varchar(50)
«PK»
+ PK_distr.h5()
*PK id: INT EGER = 0
* species: VARCHAR(255)
* period: VARCHAR(255)
* area: INTEGER
* mapinfo: VARCHAR(255) regulations: VARCHAR(50)
* gid: INTEGER
* regimportance: INT EGER
«PK»
+ PK_speciesinfo(INT EGER)
«unique»
+ UQ_speciesinfo_id(INTEGER)
«unique»
+ UQ_distr.h5_id()
«PK»
+ PK_distrinfo(integer)
«unique»
+ UQ_distrinfo_gid(integer) + UQ_distrinfo_id(integer)
Crea te HDF5 file Data Model::Sp ecies_###.shp
Cre ate SQLite DB
Database Information::art_info_2_regulation.txt
En d Start co nversion
Completion conversion
+PK_id
«flow»
«flow»
«flow»
«flow»
«flow»
Figure 5.9 Activity diagram of the creation process of the species databases
The fishery databases (fishingdb and fisherydb) and shape file (havomraader.h5) are created by means of a similar process. Figure 5.10 shows the activity diagrams of this creation process.
Within the Create Summary fishery database the total catch of each fish group is summed and divided by the fishing area size (km²). In the Link guidelines activity, the average catch of the last
FFI-rapport 2008/01414 39
three years is determined and the appropriate guidelines are specified in the database. The data is stored with year=9999 in the database.
act Creation of the fishery databases
Database Information:: fiskerilokasjonerf_33N
Data Model::fishingdb
«column»
Data Model::hav omraader.h5
Database Informatio n::345derf_33N.shp «column»
*PK id: INT EGER = 0
* area: INT EGER
* location: INT EGER
* year: INT EGER
* month: VARCHAR(255)
* fishing_tool: VARCHAR(255)
* fish_group: VARCHAR(255)
* catch: INTEGER
* vessels: INT EGER
«PK»
+ PK_fishingdb(INTEGER)
«unique»
+ UQ_fishingdb_id(INT EGER)
*PK id: integer
* shape: varchar(50)
«PK»
+ PK_havomraader.h5(integer)
«unique»
+ UQ_havomraader.h5_id(integer)
Create Sonate fishery databases
Load fish ery
data Load
guidelines
Cre ate fishery areas
Start
Start co nversion
Finish co nversion
En d
Cre ate fishery database Database Information::fishing_activity.xls
Data Model::fish_info_2_regulations.txt
Data Model::fisherydb
«column»
*PK id: INT EGER
* area: INT EGER
* location: INT EGER
* year: INT EGER
* month: VARCHAR(255)
* tot_catch: DOUBLE
* tot_vessels: DOUBLE regulations: VARCHAR(255)
«PK»
+ PK_fisherydb(INTEGER)
«unique»
+ UQ_fisherydb_id(INT EGER) Create
summary fishery database Link guidelines
«flow»
+PK_id
«flow»
«flow»
«flow»
«flow»
+PK_id
«flow»
«flow»
«flow»
Figure 5.10 Activity diagram of the creation of the fishery databases
The creation of the fish farms database (fishfarmsdb) and position file (ff.h5) is very simple and similar. Figure 5.11 shows the activity diagram. All information of the fish farms is read from the fishfarms.xls file. In the fish farms database no guideline numbers are stored since there is only one regulation that holds for all fish farms.
40 FFI-rapport 2008/01414