Pull tow level data from the Bottom Trawl Survey (purpose_code = 10)
Species abundance (EXPCATCHNUM), biomass (EXPCATCHWT), and sex (CATCHSEX), for each spring and fall cruise (for user specified years) for all representative tows. In addition non biological data is retrieved specific to the tow location: latitude (DECDEG_BEGLAT), longitude (DECDEG_BEGLON), depth (AVGDEPTH), surface and bottom temperature (SURFTEMP, BOTTEMP) and salinity (SURSALIN, BOTSALIN)
A representative tow is a tow with:
survdat::get_survdat_data(channel,
getLengths = F,
conversion.factor = F)
The list of cruises is retrieved for user specified years
select unique year, cruise6, svvessel, season
from svdbs.mstr_cruise
where purpose_code = 10
and year in <userYears>
and season = 'FALL' or season = 'SPRING'
order by year, cruise6
The station data is retrieved for the cruises (pulled above) and the tables joined
select unique cruise6, svvessel, station, stratum, tow, decdeg_beglat as lat, decdeg_beglon as lon, begin_est_towdate as est_towdate, avgdepth as depth, surftemp, surfsalin, bottemp, botsalin
from svdbs.UNION_FSCS_SVSTA
where cruise6 in <cruiseData>
and (SHG <= 136 and cruise6 <= 200900)
or (TOGA <= 1324 and cruise6 > 200900)
order by cruise6, station)
The species data are retrieved for the cruises (pulled above) and joined to the cruise/station data table
select cruise6, station, stratum, tow, svspp, catchsex,expcatchnum as abundance, expcatchwt as biomass
from svdbs.UNION_FSCS_SVCAT
where cruise6 in <cruiseData>
and stratum not like 'YT%'
order by cruise6, station, svspp
The resulting data frame will look like this:
Individual lengths (to the nearest centimeter) of species sampled (in
addition to the base pull data). Two additional
fields are retrieved: length (LENGTH) AND numlen (EXPNUMLEN), the number
of fish sampled at the given length. Use the argument
getLengths = T
survdat::get_survdat_data(channel,
getLengths = T,
conversion.factor = F)
The length data are retrieved for ALL species for the user specified years and joined with the base pull data
select cruise6, station, stratum, tow, svspp, catchsex, length, expnumlen as numlen
from svdbs.UNION_FSCS_SVLEN
where cruise6 in <cuiseData>
and stratum not like 'YT%'
order by cruise6, station, svspp, length
The resulting data frame has many more rows of data than the base pull. The tow level data for each species is replicated as many times as there are different lengths sampled
The resulting data frame will look like this:
Of the fish that have their length measured, only a subset of those
have their weight measured. However based on a paper by Wigley et al
length-weight coefficients have been calculated (for each species by
season and sex) and reside in the table LENGTH_WEIGHT_COEFFICIENTS.
These coefficients can be applied to the observed lengths to obtain
estimates of weight. Use the argument
getWeightLength = T
.
survdat::get_survdat_data(channel,
getLengths = T,
getWeightLength = T,
conversion.factor = F)
The length-weight coefficients are pulled and are applied to the length data. Two additional columns are included: Predicted weight (PREDWT) and expanded weight (WGTLEN). WGTLEN is the predicted weight * number of fish observed at the specified length.
select svspp, sex, svlwexp, svlwcoeff, svlwexp_spring, svlwcoeff_spring, svlwexp_fall, svlwcoeff_fall, svlwexp_winter, svlwcoeff_winter, svlwexp_summer, svlwcoeff_summer
from svdbs.length_weight_coefficients
Note: The predicted weight is incorrect. The variance of the underlying fit is required. The reported predicted weight in an underestimate
The resulting data frame will look like this:
To pull additional biological data use the argument
getBio = T
survdat::get_survdat_data(channel,
getLengths = T,
getWeightLength = T,
conversion.factor = F,
getBio = T)
Additional fields are pulled, namely:
The biological data is retrieved and joined with the length data
select cruise6, station, stratum, svspp, catchsex, length, indid, indwt, sex, maturity, age, stom_volume, stom_wgt
from svdbs.UNION_FSCS_SVBIO
where cruise6 in <cruiseData>
The resulting data frame will look like this:
Species that have lengths but no additional “biological” data are dropped from the returned data frame
Since the bottom trawl survey began there have been modifications to the sampling strategy. For example:
Experiments to measure the relative catchability of two or more vessel-gear combinations are necessary to rigorously combine their information in analyses such as stock assessments. Without accounting for these effects the resulting abundance and biomass time series could exhibit shifts related to these effects. To help mitigate this conversion factors have been calculated to create a continuous time series. These conversion factors reside in the table SURVAN_CONVERSION_FACTORS and can be applied to the pulled data.
using the argument conversion.factor = T
will apply
these conversion factors
survdat::get_survdat_data(channel,
getLengths = T,
getWeightLength = T,
conversion.factor = T,
getBio = T)
The resulting data frame will look like this:
NOTE: The application of these conversion factors requires a review