Autocorrelation around a stationary mean

Slides:



Advertisements
Similar presentations
Population dynamics Zoo 511 Ecology of Fishes.
Advertisements

Issues in fisheries sustainability
458 Meta-population models and movement (Continued) Fish 458; Lecture 19.
458 More on Model Building and Selection (Observation and process error; simulation testing and diagnostics) Fish 458, Lecture 15.
458 Population Projections (policy analysis) Fish 458; Lecture 21.
458 Lumped population dynamics models Fish 458; Lecture 2.
Modeling MPAs in regulated fisheries: assessing the role of larval dispersal distance Carey McGilliard and Ray Hilborn July 12, 2006.
458 Meta-population models and movement Fish 458; Lecture 18.
Narrated by your classmates 
Fishing Effort: fishery patterns from individual actions Dr. Darren M. Gillis, Biological Sciences, University Of Manitoba, Winnipeg,
Using VMS data to predict fishing effort Dr Janette Lee 7 January 2009.
Copyright © 2005 Pearson Education, Inc. publishing as Benjamin Cummings PowerPoint Lectures for Biology, Seventh Edition Neil Campbell and Jane Reece.
LECTURE PRESENTATIONS For CAMPBELL BIOLOGY, NINTH EDITION Jane B. Reece, Lisa A. Urry, Michael L. Cain, Steven A. Wasserman, Peter V. Minorsky, Robert.
Copyright © 2008 Pearson Education, Inc., publishing as Pearson Benjamin Cummings Population Ecology.
Pacific Hake Management Strategy Evaluation Joint Technical Committee Northwest Fisheries Science Center, NOAA Pacific Biological Station, DFO School of.
Cetacean by-catch M.B. Santos Workshop Marine Environment and fisheries.
History of Marine Animal Populations. HMAP Executive Committee Chair: Poul Holm Trinity Long Room Hub, Trinity College Dublin Andrew A. Rosenberg Institute.
Economic impacts of changes in fish population dynamics: the role of the fishermen’s behavior Dipl.-Geogr. Peter Michael Link, BA Research Unit Sustainability.
Surplus Production Models
Fisheries 101: Modeling and assessments to achieve sustainability Training Module July 2013.
Wildlife, Fisheries and Endangered Species
POPULATION DYNAMICS Zoo 511 Ecology of Fishes 2009.
Balanced Harvesting: Not Supported by Science Rainer Froese GEOMAR, Kiel, Germany Pew Fellows Meeting, Rio Grande 16 October 2015.
Narrated by your classmates. Emptying the Oceans Describe why the old cliché that “there are always more fish in the sea is misleading” Define the terms:
The Fishery Resource: Biological and Economic Models Wednesday, April 12.
Current Oversights in Marine Reserve Design. MARINE RESERVE DATA BASE 81 studies, 102 measurements Halpern, in press.
Sustainable and Profitable Fisheries in the Future Ocean Rainer Froese GEOMAR, Kiel, Germany ISOS Lecture, 31 May 2012, Kiel 1.
December 3, Fisheries & Marine Reserves. 1. Problems with fisheries. 2. Video on fisheries in New England. 3. Marine reserves - pros and cons.
Quiz 7. Harvesting strategies and tactics References Hilborn R, Stewart IJ, Branch TA & Jensen OP (2012) Defining trade-offs among conservation, profitability,
Continuous logistic model Source: Mangel M (2006) The theoretical ecologist's toolbox, Cambridge University Press, Cambridge This equation is quite different.
Monte Carlo methods and extinction risk (Population Viability Analysis)
CPUE analysis methods, progress and plans for 2011 Simon Hoyle.
Spatial models III dispersal models and tagging models.
Copyright © 2009 Pearson Education, Inc. PowerPoint Lectures for Biology: Concepts & Connections, Sixth Edition Campbell, Reece, Taylor, Simon, and Dickey.
Spatial models (meta-population models). Readings Hilborn R et al. (2004) When can marine reserves improve fisheries management? Ocean and Coastal Management.
Return to Marine Protected Areas. Background readings Roberts CM et al. (2001) Effects of marine reserves on adjacent fisheries. Science 294:
PRINCIPLES OF STOCK ASSESSMENT. Aims of stock assessment The overall aim of fisheries science is to provide information to managers on the state and life.
Monte Carlo methods. Branch TA et al. (2011) Contrasting global trends in marine fishery status obtained from catches and from stock assessments. Conservation.
Quiz 2.
Rainer Froese HOSST-TOSST Seminar 07 April 2016 GEOMAR, Kiel, Germany
Intro to MPA debate Ray Hilborn School of Aquatic and Fishery Sciences University of Washington.
Retrospective bioeconomic analysis of Fraser River sockeye salmon fisheries management Dale Marsden, Steve Martell and Rashid Sumaila Fisheries Economics.
Sustainability and Challenges of the World Marine Fisheries
Common conservation and management models
ELFSim: a fisheries decision support tool for coral reef line fish on the Great Barrier Reef of Australia Rich Little MSEAS 2016 Oceans and Atmosphere.
Spatial models II (diffusion, two dimensions)
Evolution of Populations
FISHING EFFORT & CPUE.
Towards Sustainable and Profitable Fisheries in the Mediterranean Sea
Status and Exploitation of European Fish Stocks
Evaluating and refining the
How to Use This Presentation
How Populations Grow Ecology.
Unit Mass Extinctions and Biodiversity
Lecture 12: Population dynamics
MSY from age-structured models
Fisheries Management Scientists study fish stocks to determine estimates of the population count and the reproductive biology of the species This information.
The relationship between governance and fisheries outcomes
Chapter 36 Population Ecology Lecture by Brian R. Shmaefsky 1.
MSFD Indicators and Reference Points for Data-Limited Stocks
Integrate modules sustaining our oceans
AP Environmental Chapter 6
Status and Exploitation of European Fish Stocks
Biodiversity of Fishes Population Growth and Exploitation
Over Fishing Oceans 11.
History and meaning of the word “Ecology”
Wildlife, Fisheries and Endangered Species
The concept of population and unit stock
Evolution, Biodiversity, and Population Ecology
MSFD Indicators and Reference Points for Data-Limited Stocks
Presentation transcript:

Autocorrelation around a stationary mean

Autocorrelation and stationary mean a lognormal “stationary walk” CV in N Amount of autocorrelation Random process error Stationary mean in N 14 Rand autocorrel logn stationary.r, slightly modified code from Michael Wilberg Wilberg MJ & Miller TJ (2007) Comment on “Impacts of biodiversity loss on ocean ecosystem services”. Science 316: 1285b

Autocorrelation and stationary mean properties for large numbers of years

“Random” number seeds Computers cannot generate truly random numbers Use a variety of ingenious methods to generate pseudo-random numbers that appear random Each requires a starting point (a random number “seed”) Successive numbers generated from the previous number in the sequence Sequence does not repeat for a very long time In R: set.seed(some.positive.number) picks a sequence Chapter 7 Press et al. (2007) Numerical Recipes. Cambridge University Press. 1235pp.

Different seeds, different CVs Seed=5, CV=0.1,0.25,0.4 Seed=6, CV=0.1,0.25,0.4 Abundance Year Year 14 Rand autocorrel logn stationary.r

Application: assess validity of catch status plots Froese R & Kesner-Reyes K (2002) Impact of fishing on the abundance of marine species. ICES paper CM 2002/L:12: 15pp Pauly D (2008) Global fisheries: a brief review. Journal of Biological Research-Thessaloniki 9: 3-9 Froese R, Zeller D, Kleisner K & Pauly D (2012) What catch data can tell us about the status of global fisheries. Mar. Biol. 159: 1283-1292 Pauly D (2013) Does catch reflect abundance? Yes, it is a crucial signal. Nature 494: 303-306

Autocorrelated time series, fluctuating around a mean Low variability High variability Relative catch Expect to see no trend over time! Percentage of stocks Year Branch et al. (2011) Conservation Biology 25:777-786

Spatial models (meta-population models)

Readings Hilborn R et al. (2006) Integrating marine protected areas with catch regulation. CJFAS 63:642-649

Why worry about space?

Dutch beam trawl fleet Netherlands England Rijnsdorp AD et al. (1998) Micro-scale distribution of beam trawl effort in the southern North Sea between 1993 and 1996 in relation to the trawling frequency of the sea bed and the impact on benthic organisms. ICES Journal of Marine Science 55:403-419

UK fisheries Beam trawlers Dredgers Netters Otter trawlers Potters All combined Jennings S & Lee J (2012) Defining fishing grounds with vessel monitoring system data. ICES Journal of Marine Science 69:51-63

Ideal free distribution Abundance (variable) CPUE (constant) Latitude (°N) Effort (variable) Longitude (°W) Swain DP & EJ Wade (2003) Spatial distribution of catch and effort in a fishery for snow crab (Chionoectes opilio): tests of predictions of the ideal free distribution. CJFAS 60:897-909

MPA MPA Marine protected area (MPA) MPA MPA Murawski SA et al. (2005) Effort distribution and catch patterns adjacent to temperate MPAs. ICES Journal of Marine Science 62:1150-1167

Reason for “fishing the line” Dollars per hour CV of dollars Hours trawled Minimum distance to a closed area (km) Murawski SA et al. (2005) Effort distribution and catch patterns adjacent to temperate MPAs. ICES Journal of Marine Science 62:1150-1167

Why space matters Populations are not uniform Exploitation is not uniform across space Local depletion can make exploitation more costly Unique attributes of subpopulations may be lost (genetic, behavior, migration, etc.)

Metapopulation models A metapopulation is a series of discrete populations that are isolated but have limited exchange.

Generalized metapopulation model Emigration: movement out of area i into area j Numbers in area i in time t Immigration: movement from area j into area i Environmental conditions in area i in time t

Important details A model of population change (dynamics) in each area A model of dispersal among areas A model for uncertain events (e.g. environmental changes) What happens at the boundaries?

Boundaries? Absorbing boundary Reflective boundary Disappear/die on hitting the boundary E.g. another country, advection into open ocean, natural range bounds Reflective boundary Pile up in the cell next to the boundary E.g. mountain range, river barrier Pac-man (circular coastline) Reappear on the opposite side E.g. circumpolar, islands http://www.google.com/pacman/

One-dimensional logistic-growth model with harvesting Numbers in area i in time t Logistic model Density dependence Exploitation rate Harvest Immigration Emigration Cell on the left Cell on the right Only survivors of harvest will move Movement rate the same in all cells Harvest, then movement

15 spatial models animation.r

Diffusion scenario 21 areas, 50 time steps, migration rate m = 0.2, r = 0.2, K = 1000, reflective boundary Diffusion scenario: starting population = K in center cell, 0 in all other cells, exploitation rate 0 15 spatial models animation.r

Diffusion, no harvesting, N11 = K (darker = older years, light gray = most recent) Abundance ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec for (year in 1:(ntime.steps-1)) { #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) } #plot results gray.pal <- (1:ntime.steps)/ntime.steps*0.8 #returns values between 0.2 (light gray) and 1 (black) #print(gray.pal) plot(x=1:ncells,y=N.mat[1,], type="l",xaxs="i",yaxs="i",las=1, col=gray(gray.pal[1]), ylim=c(0,K*1.02), xlab="", ylab="") for (year in 2:ntime.steps) { par(new=T) lines(x=1:ncells,y=N.mat[year,], col=gray(gray.pal[year]), ylim=c(0,K*1.02)) return(N.mat) K.start <- 1000 ncells <- 21 par(oma=c(0,0,0,0), mar=c(5,5,1,1)) x <- one.d.logistic(ncells=ncells, expl.rate=rep(0,ncells), ntime.steps=10, K=K.start, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,9),K.start/100,K.start,K.start/100,rep(0,9))) ###Set up animation; all in middle cell, no harvest #requires installation of ImageMagick, www.imagemagick.org/script/index.php, followed by machine restart require(animation) outdir <- "C:\\Users\\Trevor Branch\\Documents\\FISH458 in 2012\\aLectures\\Rpics" oopts = ani.options(interval = 0.03, ani.dev="png", outdir = outdir, width=1400, height=600) #interval is wait in seconds between frames in video par(bg = "white") #ensure the background color is white ani.record(reset = TRUE) #clear history before recording for (year in 2:50) { x <- one.d.logistic(ncells=ncells, expl.rate=rep(0,ncells), ntime.steps=year, K=K.start, r=0.2, m.rate=0.1, ani.record() #record the current frame saveGIF(ani.replay(), img.name = "oneDmovie", movie.name="oneDmovie.gif", convert="convert", ani.width=1400, ani.height=600, interval = 0.2) #ImageMagick #####all at K, add harvest but MPA in middle cells #oopts = ani.options(interval = 0.03, ani.dev="png", outdir = outdir, width=1400, height=600) #interval is wait in seconds between frames in video x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(0.2,8),0,0,0,0,0,rep(0.2,8)), ntime.steps=year, K=K.start, r=0.2, m.rate=0.1, start.N.vec=rep(K.start,ncells)) saveGIF(ani.replay(), img.name = "MPA", movie.name="MPA.gif", convert="convert", interval=0.2, ani.width=1400, ani.height=600) #ImageMagick ###for(i in 1:100) {dev.off()} Cell number 15 spatial models animation.r

Marine protected area scenario 21 areas, 50 time steps, migration rate m = 0.2, r = 0.2, K = 1000, reflective boundary MPA scenario: starting population = K in all cells, exploitation rate 0 in center 5 cells (numbers 9–13), exploitation rate 0.2 in all other cells 15 spatial models animation.r

MPA: no harvest in center cells (darker = older years, light gray = most recent) Abundance ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec for (year in 1:(ntime.steps-1)) { #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) } #plot results gray.pal <- (1:ntime.steps)/ntime.steps*0.8 #returns values between 0.2 (light gray) and 1 (black) #print(gray.pal) plot(x=1:ncells,y=N.mat[1,], type="l",xaxs="i",yaxs="i",las=1, col=gray(gray.pal[1]), ylim=c(0,K*1.02), xlab="", ylab="") for (year in 2:ntime.steps) { par(new=T) lines(x=1:ncells,y=N.mat[year,], col=gray(gray.pal[year]), ylim=c(0,K*1.02)) return(N.mat) K.start <- 1000 ncells <- 21 par(oma=c(0,0,0,0), mar=c(5,5,1,1)) x <- one.d.logistic(ncells=ncells, expl.rate=rep(0,ncells), ntime.steps=10, K=K.start, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,9),K.start/100,K.start,K.start/100,rep(0,9))) ###Set up animation; all in middle cell, no harvest #requires installation of ImageMagick, www.imagemagick.org/script/index.php, followed by machine restart require(animation) outdir <- "C:\\Users\\Trevor Branch\\Documents\\FISH458 in 2012\\aLectures\\Rpics" oopts = ani.options(interval = 0.03, ani.dev="png", outdir = outdir, width=1400, height=600) #interval is wait in seconds between frames in video par(bg = "white") #ensure the background color is white ani.record(reset = TRUE) #clear history before recording for (year in 2:50) { x <- one.d.logistic(ncells=ncells, expl.rate=rep(0,ncells), ntime.steps=year, K=K.start, r=0.2, m.rate=0.1, ani.record() #record the current frame saveGIF(ani.replay(), img.name = "oneDmovie", movie.name="oneDmovie.gif", convert="convert", ani.width=1400, ani.height=600, interval = 0.2) #ImageMagick #####all at K, add harvest but MPA in middle cells #oopts = ani.options(interval = 0.03, ani.dev="png", outdir = outdir, width=1400, height=600) #interval is wait in seconds between frames in video x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(0.2,8),0,0,0,0,0,rep(0.2,8)), ntime.steps=year, K=K.start, r=0.2, m.rate=0.1, start.N.vec=rep(K.start,ncells)) saveGIF(ani.replay(), img.name = "MPA", movie.name="MPA.gif", convert="convert", interval=0.2, ani.width=1400, ani.height=600) #ImageMagick ###for(i in 1:100) {dev.off()} Cell number 15 spatial models animation.r

Do protected areas increase yields? 51 areas, migration rate m = 0.2, r = 0.2, K = 1000, start population = K in all areas Run with u = 0, 0.01, 0.02, …, 0.9 After a large number of time steps (1000) the model is at equilibrium, and total yield in the final time step is the equilibrium yield for each value of u No MPA: all areas have harvest rate = u MPA: 5 middle areas have zero harvest rate, other have harvest rate = u 15 MPA yield.r

15 MPA yield.r

Almost at equilibrium yield Time series of catches Initially the no MPA scenario has higher catches; after year 14 with high u = 0.25 the MPA has higher catches; with no MPA, the population can go extinct Almost at equilibrium yield Yield in each year No MPA u = 0.1 MPA u = 0.25 Year 15 MPA yield.r

Equilibrium yield Examine the equilibrium yield after running the model for 100 years How does this differ with an MPA and without an MPA? How does this differ for different harvest rates?

Do protected areas increase yield? Higher yield without MPA Yield maximized at higher harvest rate with MPA At u > r, MPA prevents collapse (insurance policy) No MPA u = r = 0.2 Equilibrium yield ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") uMSY = r/2 = 0.1 MPA Harvest rate (u) 15 MPA yield.r

Zoomed in No MPA MPA Equilibrium yield Harvest rate (u) ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") uMSY without MPA Break-even point uMSY with MPA Harvest rate (u) 15 MPA yield.r

Bigger MPA (25 cells) (previously 5 cells) Closing more areas reduces the maximum yield more Maximum yield reduced from 2550 to 1377 in this simulation No MPA Equilibrium yield MPA ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") Harvest rate (u) 15 MPA yield.r

Lessons Spatial scale and pattern matters Simple movement models Marine protected areas: insurance vs. yield Trade-offs between catch, profit, and biodiversity

For the same yield what is u? MPA: u = 0.10 produces MSY No MPA: two values of u result in equivalent yield: u = 0.032 and u = 0.168 No MPA Equilibrium yield MPA ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") Harvest rate (u) 15 MPA yield.r

For the same yield, what is biomass? No MPA u = 0.032 MPA u = 0.1 Abundance ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") No MPA u = 0.168 Cell number 15 MPA yield.r

For the same yield, what is CPUE For the same yield, what is CPUE? (assume effort is proportional to harvest rate u) No MPA u = 0.032, yield = 1370, CPUE = 1370/0.032 = 42800 MPA u = 0.1, yield = 1370, CPUE = 13700 No MPA u = 0.168, yield = 1370, CPUE = 8200 ####FISH 458 lecture on spatial models #Written by Trevor A. Branch starting 6 May 2012 #Completed 7 May 2012 ####################################################### ###Model 1: one-D spatial model logistic growth with harvesting ###assume reflection when hits boundary ###Test to see what total yield is at different harvest rates, and with different numbers of cells closed one.d.logistic <- function(ncells=101, expl.rate=rep(0,ncells), ntime.steps=20, K=1000, r=0.2, m.rate=0.1, start.N.vec=c(rep(0,50),K,rep(0,50))) { N.mat <- matrix(nrow=ntime.steps,ncol=ncells) N.mat[1,] <- start.N.vec yield <- vector(length=ntime.steps) yield[] <- 0 for (year in 1:(ntime.steps-1)) { yield[year] <- 0 for (i in 1:ncells) { yield[year] <- yield[year]+expl.rate[i]*N.mat[year,i] } #modelled as reflection, so no movement when hit bounds #left-most cell N.mat[year+1,1] <- N.mat[year,1] + r*N.mat[year,1]*(1-N.mat[year,1]/K) - expl.rate[1]*N.mat[year,1] + m.rate*((1-expl.rate[1+1])*N.mat[year,1+1]) - m.rate*((1-expl.rate[1])*N.mat[year,1]) #right-most cell N.mat[year+1,ncells] <- N.mat[year,ncells] + r*N.mat[year,ncells]*(1-N.mat[year,ncells]/K) - expl.rate[ncells]*N.mat[year,ncells] + m.rate*((1-expl.rate[ncells-1])*N.mat[year,ncells-1]) - m.rate*((1-expl.rate[ncells])*N.mat[year,ncells]) #all the cells in between for (i in 2:(ncells-1)) { N.mat[year+1,i] <- N.mat[year,i] + r*N.mat[year,i]*(1-N.mat[year,i]/K) - expl.rate[i]*N.mat[year,i] + m.rate*((1-expl.rate[i-1])*N.mat[year,i-1]+(1-expl.rate[i+1])*N.mat[year,i+1]) - 2*m.rate*((1-expl.rate[i])*N.mat[year,i]) #print(N.mat[year+1,i]) #now calculate final year yield yield[ntime.steps] <- yield[ntime.steps]+expl.rate[i]*N.mat[ntime.steps,i] return(list(N.mat=N.mat, yield=yield)) ###compare yield by harvest rates for 5 closed cells out of 51 K.start <- 1000 ncells <- 51 ntime.steps <- 1000 urate <- seq(0,0.2,0.01) nharvest <- length(urate) final.yield <- vector(length=nharvest) for (i in 1:nharvest) { x <- one.d.logistic(ncells=ncells, expl.rate=c(rep(urate[i],(ncells-1)/2-2),0,0,0,0,0,rep(urate[i],(ncells-1)/2-2)), ntime.steps=ntime.steps, K=K.start, r=0.2, m.rate=0.2, start.N.vec=rep(K.start,ncells)) final.yield[i] <- x$yield[ntime.steps] final.yield.noMPA <- vector(length=nharvest) xnoMPA <- one.d.logistic(ncells=ncells, expl.rate=rep(urate[i],ncells), ntime.steps=ntime.steps, final.yield.noMPA[i] <- xnoMPA$yield[ntime.steps] plot(x=urate,y=final.yield, xaxs="i",yaxs="i",type="l",lwd=2,col="blue",las=1, xlab="Harvest rate", ylab="Equilibrium yield", ylim=c(0,2600),cex.lab=1.3) par(new=T) plot(x=urate,y=final.yield.noMPA, xaxs="i",yaxs="i",type="l",lwd=2,col="green",las=1, xlab="", ylab="",ylim=c(0,2600),axes=F) ###compare yield by harvest rates for 25 closed cells out of 51 urate <- seq(0,0.9,0.01) expl.rate=c(rep(urate[i],13),rep(0,25),rep(urate[i],13)), ntime.steps=ntime.steps, ###Three scenarios that produce identical yield of around 1377 tons ###1. closed 25 areas, at u = 0.1 ###2. all areas open at u = 0.032 ###3. all areas open at u = 0.168 urate <- 0.1 expl.rate=c(rep(urate,13),rep(0,25),rep(urate,13)), ntime.steps=ntime.steps, print(x$yield[ntime.steps]) urate<-0.032 xnoMPA1 <- one.d.logistic(ncells=ncells, expl.rate=rep(urate,ncells), ntime.steps=ntime.steps, print(xnoMPA1$yield[ntime.steps]) urate<-0.168 xnoMPA2 <- one.d.logistic(ncells=ncells, print(xnoMPA2$yield[ntime.steps]) plot(x=1:ncells,y=x$N.mat[ntime.steps,], ylim=c(0,1050), xlab="Cell number",cex.lab=1.3,ylab="Abundance",type="l",lwd=2,col="blue", las=1,xaxs="i",yaxs="i") plot(x=1:ncells,y=xnoMPA1$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) plot(x=1:ncells,y=xnoMPA2$N.mat[ntime.steps,], ylim=c(0,1050), xlab="",cex.lab=1.3,ylab="",type="l",lwd=2,col="green", las=1,xaxs="i",yaxs="i",axes=F) polygon(x=c(14,14,38,38),y=c(0,1050,1050,0),col="#77777733") 15 MPA yield.r

Lessons Closing areas reduce the maximum yield The more areas closed, the lower the maximum yield Closed areas provide insurance against high fishing pressure (bad management, lack of enforcement) For every level of yield with an MPA there is an equivalent yield without an MPA which has: higher biomass outside the MPA lower biomass inside the MPA lower harvest rate where fishing occurs higher CPUE and hence greater profits no completely protected areas for biodiversity

Tradeoffs of fishing Percent of maximum New target Old target Getting to the new target may involve a lot of lost yield in the short term. Exploitation rate Worm B et al. (2009) Rebuilding global fisheries. Science 325:578-585