Using Atlantis code base: v6681

Several options to parameterize fleet effort:

  1. Forced effort time series (days \(day^{-1}\)) by box - effortmodel = 11

  2. Forced effort time series system wide (Global). Similar to forced catch. Development on new branch

  3. Specify fleet total effort (scalar) that is fixed over the run. YYY_effort > 0 (days \(day^{-1}\))

We will implement box level forced time series effort by fleet (option 1)

Data requirements

CAMS data was pulled, QAQC’d, then processed to clean the raw data.

This data set was then used to identify communities at sea (fleets of fishers with similar behavior, gear, target species, port etc). For example:

A fleet is defined by trips using similar gear, targeting similar species, and landing in a similar port.

To select fleets the data was used to:

  • Identify a set of ports (along the NEUS seaboard) for which the species targeted (based on gear type) are landed
    • The “main” ports were identified as the set of ports landing ~90% of total landings and/or ~90% of revenue. All other ports were aggregated to a single “other port”
  • Identify the spatial footprint for each fleet (mapped to atlantis footprint)
  • The timing of when the landings occur (the distribution of when trips take place over the year)
  • The effort (units: days at sea) associated with each fleet
  • Bycatch of non targeted species

To force by box level effort we need to define fleets along the northern part of the eastern seaboard.

We will focus primarily on:

  1. Scallop fleets (non age structured in Atlantis and somewhat of a clean fishery with little bycatch)
  2. NE Groundfish fleets (age structured species found in the FMP)

Fleets Definitions

Parameterization of the model

Forced effort

  1. How to integrate the two forcing file data (effort and catch)? Can you force catch for some species, and force effort for others? Yes
  • Define the set of species being targeted by a fleet
  • Keep forced catch in catch.ts file for these species up to time when forced effort is being implemented, then zero forced catch after this time. In our case forced effort begins in 1996
  • In the effort.ts files zero out effort until 1996 for fleets targeting these species
  1. Box specific forcing of effort by fleet. Requires 30 ts files all formatted similarly. Also need to include metadata in the forcing.prm file
    • R Scripts made to create and manipulate these files
  2. Alternatively use constant effort through time with seasonal scalars (Effort_hdistribYYYd, no forcing, effortmodel = 9). This is limiting and prevents looking at scenarios with changes in effort through time based on management decision or climate changes

Harvest equation (in atlantis terms)

Harvest = Effort * YYY_sweptarea * f(selcurve_YYY,sel_XXX) * management_scalar * (vertical overlap * positional availability) * g(habitat overlap, q_XXX) * Biomass (1-p(escapement) )

where

escapement = h(flagesacpement_XXX, p_escape_XXX ,ka_escape_XXX ,kb_escape_XXX)

Effort is a forced box level time series we supply (effortmodel=11) or or Effort is fixed (effortmodel = 9) where catch is proportional to population density (biomass)

Parameters of importance

Effort

  • YYY_effortmodel (at_harvest.prm)
    • Determines the type of effort model used. Set fleet YYY with forced effort to value 11

Catch

  • flagimposecatch_XXX(at_harvest.prm)

    • Vector of length = #fisheries in fisheries.csv. A value of 1 implies that a fishery imposes forced catch via catch.ts on species XXX. For our case where we force catch over the beginning of the run. The first fleet (catchall) is a catch all fleet. This fleet has value 1 for all species. All other fleets are set to 0.


  • flagincidmort (at_harvest.prm).

    • Deals with bycatch. (Currently set value = 0, no bycatch). When turned on specify target species in target_YYY


  • target_YYY (at_harvest.prm).

    • A Boolean vector (length = #species) indicating which species are targeted by the fishery YYY. Value of 1 = species is targeted by fleet, 0 = species is not targeted
    • eg. for scallop fleets. Vector of 0’s for all non scallop fleets. For fleets targeting scallop, a value = 1 for SCA (62nd position in vector represents SCA)


  • flag_access_thru_wc_XXX (at_harvest.prm)

    • Whether a fishery has access to fish in the entire water column (e.g. do trawl doors remain open as the gear moves up/down through the water column there by interacting with species who do not live at the depth the trawl is most actively being towed). Currently set to 1


  • XXX_flagdempelfishery (at_harvest.prm)

    • Demersal fishery = 1, Pelagic fishery = 0. (Dynamic fishing).


  • flaghabitat_XXX (at_harvest.prm)
    • Habitat scalar. Vector (length = # number of fleets). Vectors indicate which habitat patchiness equation to use when undertaking dynamic fishing. 0=standard % overlap, 1=Ellis and Pantus based subgrid scale model. All Values = 0. No additional scalar applied to q_XXX.


  • habitat_XXX (at_biology.prm)

    • Binary array (length = # habitats) for each species indicating if fishing is excluded from certain habitats. Each species is described by a vector of 11 (types of habitat) values. Habitat typs: SCA, QHG, CLA, BFF, MA, SG, MB, reef, flat, soft, canyon.


    Does a value of zero indicate fishing is excluded? Current model has text indicating which habitats each group prefers. Value of 1 = group lives on habitat. Need to sort this out

  • YYY_mindepth,YYY_maxdepth (at_biology.prm)

    • Min and max depth fishery operates.


    All mindepth values = 0 Maxdepth values most are 5000 or 1900. Some 255,800,25,50,100,200. These are currently specified by species. Think they should be by fleet

  • YYY_sweptarea (at_harvest.prm)

    • The swept volume of water by gear of fishery YYY, m3 day-1. This is a volume, but called area to keep in line with the fisheries science usage. This fleet specific value can be changed over time using a suite of other flags and parameters:
    • flagchangeswept =1. Turns on temporal changes
    • YYY_changeswept_parameters - indicate which fishery has changes
    • YYY_swept_changes - the number of changes through time
    • SWEPTchange_start_YYY - the start day of each change for each fishery
    • SWEPTchange_period_YYY - the periods over which each change occurs
    • SWEPTchange_mult_YYY - the multiplier used to get the final value at the end of the change period

    Starting value of 1E6 m3 = .001 km3 per day by the fishery.

    eg. If a ship trawled for 1km with a net opening of 10m x 10m it would sample = 1E5 m3 water = 10% of starting value.

NOTE: Manual 15.8.12. To convert the swept volume per unit effort of fishing pressure to fishing pressure per day per m3 Atlantis divides the total swept volume (in m3 per day per box) by the box volume available to the fishery based on its access to habitats, i.e. the propfish value. This is the same proportion of accessible box volume that is used in the calculation of the habitat scalar, described in chapter 15.7.3.

\[F_{m3}=\frac{volume_{swept}}{volume_{box}prop_{fish}}\]

where \(prop_{fish}\) = is the proportion of box area accessible to the fishery according to the habitats they can access, which can also be seen as a probability that the fishing gear has access to the individuals of species in this box (note, this is NOT a proportion of area fished based on effort allocations, but just the habitat overlap) \(volume_{box}prop_fish\) = total volume of available to fishery

NOTE: NOTE! Ensuring meaningful representation of fisheries habitat access and vertical effort distribution Note, that the habitat dependent propfish scalar is applied to each layer of the box and not to the bottom layer only. This means that the users have to make sure that the vertical distribution of fishing effort and habitat access by fisheries makes sense. The habitats probably should have no effect on fisheries that operate in pelagic areas only. In this case the habitat_YYY should be set to 1 for all habitats to ensure that the fishery has access to the entire volume of the cell. The habitat_YYY vector makes sense for demersal fisheries only and the users should make sure that the vertical distribution of the fishing effort is also concentrated (or occurs entirely) in the bottom water column layer.


Need to better understand the range of a tow to estimate if this value has any meaning

As a reference the average swept area for a standard tow in the bottom trawl survey = xxx?

Selectivity & Catchability

  • q_XXX. (at_harvest.prm)
    • Catchability of species XXX by fleet. Vector of length = #fleets. Proportion of biomass (constant across all age groups). Since flaghabitat_XXX = 0 for all fleets this is a simple multiplier.


  • sel_XXX. (at_harvest.prm)

    • Proportion of of age group selected by the fishery. (Vector of length = #fleets)
    • Scallops have 1 size class. Currently Set to 1 (Proportion selected)


  • YYY_selcurve. (at_harvest.prm)

    • Selectivity for each fleet
    • Constant selectivity = 0 (Valid for biomass pools like Scallop. Applies sel_XXX)
    • Logistic selectivity = 2 (Valid for age based groups. Selectivity is based on length). Note Atlantis does not track lengths so they are calculated internally based on a user supplied length-weight relationship

Calculating length in age-structured groups and biomass pools (from manual)

If length-based selectivity is selected for a fishery, it will be applied to both age-structured groups and biomass pools. The application of length-based selectivity to biomass pools is a new feature in Atlantis and it is important to get it right, or else invertebrates may not be caught by the gear (see wiki post here)

Length of an age group in age-structured groups is calculated using length-weight conversion parameters (li_a_XXX and li_b_XXX) given in the biology.prm file. For this, first, the structural and reserve nitrogen (RN+SN, in mg) are added up and converted to wet weight in grams (wgt) as:

\[wgt = (RN + SN) . wetdry. X_{CN}/100\]

where wetdry is the wet weight to ash free dry weight ratio (k_wetdry in biology.prm) typically set to 20 in many Atlantis parameter files, based on using C as a proxy for dry weight (but noting that in many models and literature the wet : dry ratio used is often closer to 6-8) and X_CN is the carbon to nitrogen Redfield ratio (X_CN in biology.prm) typically set to 5.7.

The wgt (in grams) is then converted to length (in cm) using the standard equation

\[wgt = a.length^b\] or \[length = \left( \frac{wgt}{a}\right)^{1/b}\]

where a is li_a_XXX and b is li_b_XXX in the biology.prm. Note that these parameters could be set in such a way to return length in metres instead, but by convention it is in cm (as are any other faunal lengths).

  • YYYsel_lsm (at_harvest.prm)

    • The length at 50% selectivity, also defined as the inflection point lsm given in cm


  • YYYsel_b (at_harvest.prm)

    • Spread or steepness of the selectivity curve selb

NOTE: from Manual. Chapter: 15.4 It might be easier to track the fishing outcomes if catchability or escapement are modified one at a time. So, for example, the catchability can be set to 1, but escapement can be set to a different age or length specific proportion. Alternatively, the user might want no escapement and modify the available biomass through catchability only. Finally, the simplest option would include no escapement and 100% catchability; then the available biomass of the target and bycatch species of fishery YYY, in the swept volume of the cell, would only be limited by the fishery’s gear selectivity.

Escapement

Provisions are made for escapement in the NEUS model but all fisheries set to have no escapement

  • flagescapement_XXX (at_harvest.prm)

    • No escapement (0)
    • Constant escapement (1, provide proportions in p_escape_XXX)
    • Size-based escapement (2, provide Ka_escape_XXX, Kb_escape_XXX)


  • p_escape_XXX (at_harvest.prm)

    • Probability of escapement. Vector of proportions (length = #fisheries). All Values = 0 (p_escape = ka.Length + kb)


  • Ka_escape_XXX,Kb_escape_XXX - All values = 0


Management scalars

  • YYY_flagmanage (at_harvest.prm)
    • fleet specific value to determine if sclars will be applied.
    • All Values = 0. No management scalars are currently applied

With these settings the Harvest should collapse to something like:

Harvest = Effort * sweptarea * Biomass

Therefore included estimated Effort in forcing file Effort = Harvest/(Biomass*sweptarea)

Calibration tips

  1. Estimate effort from data and keep fixed in box.ts files
  2. YYY_sweptarea to get in ball park
  3. q_XXX and sel_XXX to fine tune (using selcurve_YYY = 2 (logistic))
  4. Turn on fleet of interest, turn off others using YYY_tStart