Indian Ocean Skipjack
Indian Ocean Skipjack Documentation

![Travis CI build](https://travis-ci.org/iotcwpm/SKJ.svg) ![GitHub issues](https://img.shields.io/github/issues/iotcwpm/SKJ.svg)

The Indian Ocean Tuna Commission's (IOTC) Working Party on Methods' (WPM) simulation model of the Indian Ocean skipjack (SKJ) tuna fishery for the evaluation of management procedures (MP).

Skipjack tuna (Katsuwonus pelamis)

Documentation

The following document the model structure and code,

Reports

Several reports associated with this project are available (in reverse chronological order):

Support

This work has been funded by the International Pole and Line Foundation (IPNLF), the Maldives Seafood Processors and Exporters Association (MSPEA), the Areas Beyond National Jurisdiction (ABNJ aka Common Oceans) Program and WWF with support and oversignt of the Maldives Marine Research Centre (MRC). Support for the project's Advisory Committee has been provided by the International Seafood Sustainability Foundation (ISSF).

Status

The model is still under active development. As the model matures we hope to make it available as precompiled executables for Windows and Linux and/or a package for R.

Automated builds are done on Travis CI when changes are pushed to this repository.

Usage

To run the executable, ioskj.exe, supply a task name and, for certain tasks, additional arguments,

1 ./ioskj.exe <task> [<arg1>],[<arg2>]...

Tasks include,

For example, to evaluate the defined set of management procedures using 1000 replicates run,

1 ./ioskj.exe evaluate 1000

Building

The project Makefile includes a task (make requires) which will download and compile required C++ libraries. Use make compile to compile a production version of the executable.

On most Linux systems you should have the required build tools installed already and can just run:

1 make requires compile

On Windows, the recommended approach is to build using MSYS2 and MinGW64:

  1. Download and install MYSYS2 following the instructions at https://msys2.github.io/
  2. Open the MYSY2 shell and install build tools:

    ```shell pacman -S make mingw-w64-x86_64-toolchain zip ```

  3. Open the MinGW64 shell and run:

    ```shell make requires compile ```

To build a debug version of the executable for use with GDB run,

1 make debug

To update all documentation run,

1 make docs

To publish documentation to http://iotcwpm.github.io/SKJ run,

1 make publish

Organisation

The C++ code is divided into several files:

Some of these files have corresponding folders,

In addition there is a folder related to documentation,