## Construct an Operating Model Object

The Operating Model (OM) is the main component of the MSE framework. The OM is used to describe the characteristics of a fishery system and contains all the parameters required to simulate the population and fleet dynamics, the collection of data, and the application of a management procedure (e.g., implement a size regulation, effort control, spatial closure, or catch limit).

The parameters for the operating model are stored in an OM Object (like most of the core objects in openMSE, the OM object is an S4 type object).

There are several different methods for constructing an operating model. In this brief demo, we will create an operating model using some of the example objects that are included in openMSE. The other methods for building operating models are described elsewhere on this site.

### Building an operating model from example objects

The simplest way to build an Operating Model object is to stitch together some of the example objects that are included in openMSE:

ourOM <- new('OM', Albacore, Generic_IncE, Imprecise_Unbiased, Perfect_Imp)

The Operating Model object is made up of four sub-components. In this example:

1. Albacore - an example Stock Object that contains the biological parameters of a stock based on albacore (Thunnus alalunga);
2. Generic_IncE - an example Fleet Object describes a generic fishing fleet with an increasing effort pattern;
3. Imprecise_Unbiased - an example Obs Object that describes a generally imprecise but unbiased observation process;
4. Perfect_Imp - an example Imp Object that assumes the management recommendations are implemented into the fishery without error.

ourOM is now an object of class OM:

class(ourOM)
## [1] "OM"
## attr(,"package")
## [1] "MSEtool"

### Other ways to build operating models

Other methods for building operating models are demonstrated in the Data-Limited, Data-Moderate, and Data-Rich sections.