flowchart TD build([Build]) condition[[Condition]] import[[Import]] convert[[Convert]] om[OM] build:::process --> om condition:::function --> om import:::function --> om convert:::function --> om sim[[Simulate]] om:::object --> sim:::function hist[Hist] sim --> hist:::object mp[[MP]] project[[Project]] hist:::object --> project:::function mp:::function --> project mse[MSE] project --> mse:::object classDef process fill:#fe218b, stroke:#111,stroke-width:1px, color:#000 classDef function fill:#fed700, stroke:#111,stroke-width:1px, color:#000 classDef object fill:#21b0fe, stroke:#111,stroke-width:1px, color:#000
2 Getting Started
openMSE has many features and can model a wide range of fishery dynamics, ranging from relatively simple single-stock single-fleet models to considerably more complex scenarios including multiple-stocks/fleets with an option for stock/fleet-specific management, age-dependent spatial structure, hermaphroditism, and between-stock biological interactions such as MICE (Models of Intermediate Complexity for Ecosystems).
Probably the easiest way to learn to use openMSE is to start with a walkthrough of the MSE process with a relatively simple example. But first, users should become familiar with a conceptual overview of the MSE process and the primary objects and functions.
2.1 Overview of the MSE Process
openMSE is designed around an object-oriented programming (OOP) paradigm, where the code is organized around objects, which contain relevant data, and functions (methods) that operate on those data.
Figure 2.1 shows a conceptual overview of the MSE process in openMSE, with colors indicating the primary objects and functions.
The following sub-sections describe these primary objects and the functions that either operate on them, or are used to create them.
2.2 The OM Object
The Operating Model (OM) object is the main component of the MSE framework. An OM describes the characteristics of a fishery system and contains all the information required to simulate the population and fleet dynamics, the collection of fishery data, and the application of a management procedure.
There are several ways to construct an OM (Figure 2.1). These methods are briefly described in the sections below.
2.2.1 Build an OM
The first method, indicated by Build in Figure 2.1, is a process rather than applying a single function.
The build process involves creating a new OM object, and manually populating the various elements of the object using a combination of expert judgement and available fishery data.
This process is most often used in data-limited situations, where there is insufficient data or information to use one of the other approaches.
The Example of the MSE Process section provides an example of using the Build process to construct an OM.
Although this method may not be commonly used in practice, users are recommended to read start with Example of the MSE Process to familiarize themselves to the structure and contents of OM objects.
2.2.2 Condition an OM
Operating models are often generated by fitting a fishery population dynamics model to time-series fishery data (e.g., historical catches, indices of abundance, age and/or length compositions).
This process is known as OM conditioning, and is analogous to a conventional stock assessment. However, unlike a stock assessment where the aim is to provide a scientific estimate of the status of the stock (e.g., current biomass relative to a biological reference point), OMs are designed to incorporate the key uncertainties in the knowledge of the fishery system. In other words, while a stock assessment produces a single estimate of the historical fishery dynamics (aka the ‘best model’ approach), an operating model accounts for uncertainties and contains many different hypotheses of plausible fishery dynamics.
openMSE's Rapid Conditioning Model (RCM) is designed to condition operating models for a wide range of life-history types and data availability scenarios.
Chapter 11 provides an example of using the Condition function to condition an OM from fishery data.
2.2.3 Import an OM
openMSE supports importing operating models from several commonly used stock assessment frameworks, including Stock Synthesis 3 (SS3) and the Beaufort Assessment Model (BAM).
Chapter 5 provides an example of using the Import function to import an OM from stock assessment output.
2.2.4 Convert an OM
The Convert function is used to convert OM objects (as well as other objects) that were created in earlier versions of openMSE (see Chapter 1) to the new object structure developed in openMSE 2.0.
Chapter 6 provides an example of using the Convert function to convert OM objects developed with earlier versions of openMSE to be compatible with openMSE 2.0.
2.3 The Hist Object
Hist objects are created by applying the Simulate function to OM objects (Figure 2.1).
Hist objects contain the simulated historical fishery dynamics and are used to project the model forward in time under a range of different management policies (i.e., management procedures).
This section is incomplete and will be updated later.
2.4 The MSE Object
MSE objects are created by applying the Project function to Hist objects, together with the management procedure (MP) functions that will be used to provide the management advice that was implemented in the simulated fishery (Figure 2.1).
MSE objects contain the fishery dynamics from both the historical period (Hist) and the projection period where the MPs were applied.
This section is incomplete and will be updated later.