-
Notifications
You must be signed in to change notification settings - Fork 1
/
goa_rougheye_obs_coverage.Rmd
1076 lines (841 loc) · 53.3 KB
/
goa_rougheye_obs_coverage.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
output:
word_document:
keep_md: yes
reference_docx: "StckAssess-format2.docx"
params:
name: "GOA rougheye rockfish"
name_cap: "GOA rougheye rockfish"
cas: 151
obs: 307
fmp: "GOA"
chapter: "19"
appendix: "A"
---
## Appendix `r params$chapter`.`r params$appendix` Observer Coverage and Sampling of the `r params$name_cap` Stock
$$
\textbf{Cindy Tribuzio, Cara Rodgveller, Matt Callahan}
$$
$$
\textbf{`r Sys.Date()`}
$$
# Introduction
This report provides total catch estimates from the Alaska Regional Office Catch Accounting System (CAS), based on landings, fishery observations, and other data sources. Fishery observations and biological samples are collected by the North Pacific Groundfish Observer Program and the Alaska Fisheries Science Center (AFSC) Fishery Monitoring and Analysis program (FMA). A description of the observer strata is in the “Additional Information” section at the end of this document. More details are available in the North Pacific Groundfish Observer Program Annual Deployment Plans and Annual Reports produced by the FMA. All CAS and observer data were queried through the AKFIN database.
The goals of this report are to present how much of the `r params$name` stock catch was observed by the North Pacific Observer Program and how many biological samples were collected by observers by Fishery Management Plan Subareas and gear types since observer restructuring. The total catch of the stock by area and gear is reported in Figure 1 and Table 1. First, the trip is assigned to an observer stratum in the Observer Deployment and Declare System (ODDS). Figure 3 summarizes how much catch was from trips assigned to each observer stratum in ODDS, including partial coverage, electronic monitoring (EM) partial coverage, full coverage, or no coverage. This is a representation of how much catch was attributed to trips in each stratum in ODDS and not how much catch was actually observed.
Table 2 summarizes how much of the catch in recent years was actually covered by observers or EM, as a percent of total catch. Figures 4 and 5 show the actual catch with observer and EM coverage and the proportions of the catch with coverage in more detail, for all years by area and gear. The proportions for each cell are calculated using the catch by coverage type divided by the total catch in each area/grid cell annually. In other words, the proportions are the values in each catch column by area and gear scaled to sum to 1.
Lengths and otoliths are collected at-sea and in ports and the rate of collection depends on the gear and area. A brief summary of measured lengths and collected otoliths for the stock is in Table 3. The total counts of fish sampled for lengths and otoliths are presented in Figures 6-9 and Tables 4 and 5. The count of lengths and otoliths can be used with the catch to evaluate the sampling rate, by dividing the number of lengths or otoliths by the catch (e.g., lengths/mt) (Figures 10 and 11, respectively). This rate can be used to evaluate if the absolute number of biological samples has changed in line with the rate of sampling. For example, the number of lengths collected could be decreasing over time, but if the catch is also decreasing the rate may be stable. In Figure 14 the proportion of catch observed using EM (EM mt/total catch mt) is plotted alongside the sampling rate of lengths (lengths/mt), which cannot be collected with only EM.
```{r load-packages, include=FALSE}
library(tidyverse)
library(odbc)
library(keyring)
library(lubridate)
library(janitor)
library(gridExtra)
library(flextable)
library(patchwork)
library(lattice)
library(latticeExtra)
#This avoids scientific notation on plots
options(scipen = 999)
```
```{r connect-to-akfin, include=FALSE}
#connect to AKFIN
con <- dbConnect(odbc::odbc(), "akfin", UID=key_list("akfin_oracle_db")$username, PWD = keyring::key_get("akfin_oracle_db", keyring::key_list("akfin_oracle_db")$username))
```
```{r query-cas, include=FALSE}
# define time
startyear<-2013
#use the -1 at the end if you just want data through last year
endyear<-year(ymd(Sys.Date()))-1
#pull catch data
casdat<- dbFetch(dbSendQuery(con,
paste0("select year, week_end_date, wed, fmp_area, fmp_subarea, reporting_area_code, agency_gear_code,
trip_target_group, trip_target_name, species_group_name, species_name, processor_permit_id,
ito_company processor_name, ito_plant processor_plant, ves_akr_adfg, ves_akr_name, ves_akr_length,
retained_or_discarded, gf_harvest_sector, deployment_trip_start_date, deployment_trip_end_date,
deployment_trip_pk, monitoring_status, sampling_strata_deployment_category, sampling_strata,
sampling_strata_name, sampling_strata_selection_rate, management_program_code, sum(weight_posted) catch_mt
from council.comprehensive_blend_ca
where year >= 2013
and year <= ", endyear, "
and agency_species_code = '",noquote(params$cas),"'
and fmp_area = '", noquote(params$fmp), "'
group by year, week_end_date, wed, fmp_area, fmp_subarea, reporting_area_code, agency_gear_code,
trip_target_group, trip_target_name, species_group_name, species_name, processor_permit_id,
ito_company, ito_plant, ves_akr_adfg, ves_akr_name, ves_akr_length,
retained_or_discarded, gf_harvest_sector, deployment_trip_start_date, deployment_trip_end_date,
deployment_trip_pk, monitoring_status, sampling_strata_deployment_category, sampling_strata,
sampling_strata_name, sampling_strata_selection_rate, management_program_code")))%>%
clean_names()# %>%
# group_by(year, week_end_date, wed, fmp_area, fmp_subarea, reporting_area_code, agency_gear_code,
# trip_target_group, trip_target_name, species_group_name, species_name, processor_permit_id,
# processor_name, processor_plant, ves_akr_adfg, ves_akr_name, ves_akr_length,
# retained_or_discarded, gf_harvest_sector, deployment_trip_start_date, deployment_trip_end_date,
# deployment_trip_pk, monitoring_status, sampling_strata_deployment_category, sampling_strata,
# sampling_strata_name, sampling_strata_selection_rate, management_program_code) %>%
# summarise(catch_mt = sum(weight_posted))
```
```{r process-cas, include=FALSE}
#process catch data for plotting
casdat <- casdat %>%
mutate(week_end_date = ymd(week_end_date),
gear = agency_gear_code,
mgmt_area=recode(fmp_subarea, "BS"="BS","AI"="AI","WG"="WGOA", "CG"="CGOA", "WY"="WY", "SE"="EY"),
# mgmt_area = if_else(fmp_subarea == "BS", "BS",
# if_else(fmp_subarea == "AI", "AI",
# if_else(fmp_subarea == "WG", "WGOA",
# if_else(fmp_subarea == "CG", "CGOA", "EGOA")))),
obs_coverage = if_else(sampling_strata_name == "No Selection", "None",
if_else(sampling_strata_name == "Full Selection" |
sampling_strata_name == "Trawl EM Full Coverage Selection", "Full",
if_else(sampling_strata_name == "EM Hook-and-Line Trip Selection" |
sampling_strata_name == "EM Pot Trip Selection" |
sampling_strata_name == "EM Pot Tender Trip Selection" |
sampling_strata_name == "Trawl EM Partial Coverage Selection", "EM Partial",
if_else(sampling_strata_name == "Trawl EM Full Coverage Selection", "EM Full", "Partial")))),
observed = if_else(monitoring_status == "FIXED_GEAR_EM", "Catch Only",
if_else(monitoring_status == "NO_MONITORING", "None","Catch/Biologicals")))
# obs_coverage=recode(sampling_strata_name, "No Selection"="None",
# "Full Selection"="Full",
# "Trawl EM Full Coverage Selection"="Full",
# "EM Hook-and-Line Trip Selection"="EM Partial",
# "EM Pot Trip Selection"="EM Partial",
# "EM Pot Tender Trip Selection"="EM Partial" ,
# "Trawl EM Partial Coverage Selection"="EM Partial",
# "Trawl EM Full Coverage Selection" = "EM Full",
# "Pot Trip Selection" = "Partial",
# ),
#set plotting orders
casdat$mgmt_area <- factor(casdat$mgmt_area,
levels = c("AI", "BS", "WGOA", "CGOA", "WY", "EY"))
casdat$gear <- factor(casdat$gear,
levels = c("PTR", "NPT", "POT", "HAL", "JIG"))
```
```{r query-norpac-length, include=FALSE}
#pull obs length data
#pull catch data
norln<- dbFetch(dbSendQuery(con,
paste0("select species, nmfs_area, year, akr_gear, fmp_area, fmp_subarea, sampling_strata_name, monitoring_status, sum(frequency) n_length
from NORPAC.debriefed_length_mv
where YEAR >= 2013
and year <= ", endyear, "
and FMP_AREA ='", noquote(params$fmp), "'
and SPECIES = '",noquote(params$obs),"'
group by species, nmfs_area, year, akr_gear, fmp_area, fmp_subarea, sampling_strata_name, monitoring_status")))
norln <- norln %>%
rename_with(tolower) %>%
#Is there a reason we filtered on nmfs area here and fmp_area for cas?
#filter(nmfs_area != 649) %>%
mutate(gear = akr_gear,
mgmt_area=recode(fmp_subarea, "BS"="BS","AI"="AI","WG"="WGOA", "CG"="CGOA", "WY"="WY", "SE"="EY"),
obs_coverage = if_else(sampling_strata_name == "No Selection", "None",
if_else(sampling_strata_name == "Full Selection" |
sampling_strata_name == "Trawl EM Full Coverage Selection", "Full",
if_else(sampling_strata_name == "EM Hook-and-Line Trip Selection" |
sampling_strata_name == "EM Pot Trip Selection" |
sampling_strata_name == "EM Pot Tender Trip Selection" |
sampling_strata_name == "Trawl EM Partial Coverage Selection", "EM Partial",
if_else(sampling_strata_name == "Trawl EM Full Coverage Selection", "EM Full", "Partial")))),
observed = if_else(monitoring_status == "FIXED_GEAR_EM", "Catch Only",
if_else(monitoring_status == "NO_MONITORING", "None","Catch/Biologicals")))
#set plotting orders
norln$mgmt_area <- factor(norln$mgmt_area,
levels = c("AI", "BS", "WGOA", "CGOA", "WY", "EY"))
norln$gear <- factor(norln$gear,
levels = c("PTR", "NPT", "POT", "HAL", "JIG"))
```
```{r query-norpac-age, include=FALSE}
#pull obs length data
norage <- dbFetch(dbSendQuery(con,
paste0("
select join_key, species_key, cruise, permit, vessel, gear, nmfs_area, specimen_number, Type_1_otolith, type_3_sex_length_weight, year,
gear_description, akr_gear, fmp_gear, fmp_area, fmp_subarea, species_name, akr_species_codes, deployment_trip_pk,
sampling_strata, sampling_strata_name, sampling_strata_deployment_category, sampling_strata_selection_rate, monitoring_status
from NORPAC.debriefed_age_flat_mv
where year >= 2013
and year <= ", endyear, "
and species = '",params$obs,"'
and fmp_area = '", noquote(params$fmp), "'"
))) %>%
clean_names()
norage <- norage %>%
#Is there a reason we filtered on nmfs area here and fmp_area for cas?
#filter(nmfs_area != 649) %>%
mutate(gear = akr_gear,
mgmt_area=recode(fmp_subarea, "BS"="BS","AI"="AI","WG"="WGOA", "CG"="CGOA", "WY"="WY", "SE"="EY"),
obs_coverage = if_else(sampling_strata_name == "No Selection", "None",
if_else(sampling_strata_name == "Full Selection" |
sampling_strata_name == "Trawl EM Full Coverage Selection", "Full",
if_else(sampling_strata_name == "EM Hook-and-Line Trip Selection" |
sampling_strata_name == "EM Pot Trip Selection" |
sampling_strata_name == "EM Pot Tender Trip Selection" |
sampling_strata_name == "Trawl EM Partial Coverage Selection", "EM Partial",
if_else(sampling_strata_name == "Trawl EM Full Coverage Selection", "EM Full", "Partial")))),
observed = if_else(monitoring_status == "FIXED_GEAR_EM", "Catch Only",
if_else(monitoring_status == "NO_MONITORING", "None","Catch/Biologicals")))
#set plotting orders
norage$mgmt_area <- factor(norage$mgmt_area,
levels = c("AI", "BS", "WGOA", "CGOA", "WY", "EY"))
norage$gear <- factor(norage$akr_gear,
levels = c("PTR", "NPT", "POT", "HAL", "JIG"))
```
\newpage
# Tables
```{r warning=FALSE, message=FALSE, echo=FALSE}
# Table 1: retained and discarded catch by year, area, and gear.
#divide into retained and discarded
cas_retain_discard<-casdat %>%
filter(retained_or_discarded=="R") %>%
group_by(year, mgmt_area, gear, retained_or_discarded) %>%
summarise(catch_mt = sum(catch_mt)) %>%
bind_rows(casdat %>%
filter(retained_or_discarded=="D") %>%
group_by(year, mgmt_area, gear, retained_or_discarded) %>%
summarise(catch_mt = sum(catch_mt))) %>%
bind_rows(casdat %>%
group_by(year, mgmt_area, gear) %>%
summarise(catch_mt = sum(catch_mt)) %>%
mutate(retained_or_discarded="Both") %>%
dplyr::select(year, mgmt_area, gear, retained_or_discarded, catch_mt)) %>%
mutate(retained_or_discarded=recode_factor(retained_or_discarded, "Both"="Total", "R"="Retained", "D"="Discarded"))
#make table of catch by gear and area
cas_retain_discard_sum<-cas_retain_discard %>%
filter(retained_or_discarded=="Total") %>%
group_by(mgmt_area, year) %>%
summarize(Sum=round(sum(catch_mt),0)) %>%
mutate(Sum=as.character(Sum),
Sum=recode_factor(Sum, "0"="<1"),
Sum=as.character(Sum),
#the next line is that there are commas in the output numbers
Sum=ifelse(nchar(Sum)<=3, Sum,
paste0(substring(Sum, 1, nchar(Sum) - 3),
",",
substring(Sum, nchar(Sum) - 2, nchar(Sum)))))
tab1cap<-paste0("Table ", params$chapter, ".", params$appendix, ".1. Total ", params$name, " catch (mt) by area, year, and gear. Gear types include non-pelagic trawl (NPT), pot (POT), hook and line (HAL), pelagic trawl (PTR), or jig (JIG). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")
# found this function to make tables full width
# https://stackoverflow.com/questions/57175351/flextable-autofit-in-a-rmarkdown-to-word-doc-causes-table-to-go-outside-page-mar
FitFlextableToPage <- function(ft, pgwidth = 6){
ft_out <- ft %>% autofit()
ft_out <- width(ft_out, width = dim(ft_out)$widths*pgwidth /(flextable_dim(ft_out)$widths))
return(ft_out)
}
ft1<-cas_retain_discard%>%
filter(retained_or_discarded=="Total") %>%
mutate(catch_mt=round(catch_mt,0),
catch_mt=as.character(catch_mt),
catch_mt=recode_factor(catch_mt, "0"="<1"),
catch_mt=as.character(catch_mt),
#the next line is that there are commas in the output numbers
catch_mt=ifelse(nchar(catch_mt)<=3, catch_mt,
paste0(substring(catch_mt, 1, nchar(catch_mt) - 3),
",",
substring(catch_mt, nchar(catch_mt) - 2, nchar(catch_mt)))),
Year=year,
Area=mgmt_area) %>%
dplyr::select(Area, Year, gear, catch_mt) %>%
pivot_wider(id_cols=c(Area, Year), names_from=gear, values_from=catch_mt) %>%
left_join(cas_retain_discard_sum, by=c("Area"="mgmt_area", "Year"="year")) %>%
arrange(Area, Year) %>%
flextable() %>%
add_header_lines(values = tab1cap) %>%
fontsize(size=11, part="body")%>%
font(part = "all", fontname = "Times New Roman") %>%
align(align = "right", part="body") %>%
align(align = "left", part="header", i=1) %>%
align(align = "right", part="header", i=2) %>%
line_spacing(space = 0.3, part = "body")%>%
border(part = "head", i = 1,
border = list("width" = 0, color = "black", style = "solid"))
FitFlextableToPage(ft1)
```
\newpage
```{r warning=FALSE, message=FALSE, echo=FALSE}
#table 2 proportion catch observed by observers or EM
# . This data is like the bottom panel of fig 4 (actual coverage of catch - %). Will now have a fig and table.
# THIS TABLE IS NOT FULLY AUTOMATED. GEAR HEADERS NEED TO BE CHECKED (add_header_row flextable functions)
areagear_tot <- casdat %>%
filter(gear != "JIG") %>%
group_by(year, mgmt_area, gear) %>%
summarise(totcatch = sum(catch_mt))
obs_prop <- casdat %>%
filter(agency_gear_code != "JIG") %>%
group_by(year, mgmt_area, observed, gear) %>%
summarise(catch_mt = sum(catch_mt)) %>%
inner_join(areagear_tot, by = c("year", "mgmt_area","gear")) %>%
mutate(prop_catch = catch_mt/totcatch,
Coverage = recode(observed, "Catch Only"="EM", "Catch/Biologicals"="Observer", "None"="No Coverage"))
obs_prop$Coverage<- factor(obs_prop$Coverage, levels=c("EM","Observer","No Coverage"))
#create regional averages by gear and area
obs_prop_area_gear<-obs_prop %>%
filter(gear!="JIG")%>%
group_by(mgmt_area, gear) %>%
summarize(catch_ag=sum(catch_mt))
#create regional avg by gear area, and coverage
obs_prop_area_gear_cov<-obs_prop %>%
filter(gear!="JIG")%>%
group_by(mgmt_area, gear, Coverage) %>%
summarize(catch_agc=sum(catch_mt))
#create proportions of catch for all years
obs_prop_sum<-obs_prop_area_gear_cov%>%
inner_join(obs_prop_area_gear, by=c("mgmt_area"="mgmt_area", "gear"="gear")) %>%
mutate(prop_catch=catch_agc/catch_ag)
#combine with obs_prop
obs_prop_dat<-obs_prop_sum%>%
mutate(year="Avg")%>%
dplyr::select(year, mgmt_area, gear, prop_catch, Coverage) %>%
bind_rows(obs_prop%>%
filter(year %in% (endyear-4):endyear) %>%
dplyr::select(year, mgmt_area, gear, prop_catch, Coverage))%>%
mutate(perc_catch=round((prop_catch*100),0))
tab2cap<-paste0("Table ", params$chapter, ".", params$appendix, ".2. The proportion of ", params$name, " catch observed by observers (Obs) or electronic monitoring (EM) by area and gear for the most recent five years and the average proportions from 2013 through the current year. The remainder of the catch had no observer coverage. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")
ft2<-obs_prop_dat%>%
filter(Coverage!="No Coverage")%>%
mutate(Year=year, Area=mgmt_area)%>%
pivot_wider(id_cols=c(Area, Year), names_from=c(Coverage, gear), values_from=perc_catch)%>%
arrange(Area, Year) %>%
flextable() %>%
delete_part(part="header") %>%
fontsize(size=11, part="all")%>%
line_spacing(space = 0.3, part = "body")%>%
add_header_row(top = TRUE, values = c("Area", "Year", "% Obs", "% Obs", "% EM", "% Obs", "% EM", "% Obs" )#, colwidths = c(1,3,3)
)%>%
add_header_row(top = TRUE,
values = c("", "", "PTR", "NPT", "POT","POT", "HAL", "HAL" )#, colwidths = c(1,3,3)
)%>%
add_header_lines(values = tab2cap) %>%
align(align = "right", part="body") %>%
align(align = "left", part="header", i=1) %>%
align(align = "right", part="header", i=2:3) %>%
font(part = "all", fontname = "Times New Roman") %>%
border(part = "head", i = 2,
border = list("width" = 0, color = "black", style = "solid"))
FitFlextableToPage(ft2)
```
\newpage
```{r warning=FALSE, message=FALSE, echo=FALSE}
# table 3 with catch, length, lengths/mt, otolths, otoliths/mt by area and year
#number of years
nyears<-length(unique(casdat$year))
#avg catch
cas_area_avg<-casdat %>%
group_by(mgmt_area) %>%
#calculate average by summing catch and dividing by number of years
summarize(avg_catch=round((sum(catch_mt)/nyears),0))
#average lengths
norln_area_avg<-norln%>%
group_by(mgmt_area) %>%
summarize(n_length=round((sum(n_length)/nyears),0))
#annual lengths
norln_year_area_lratio <- norln%>%
group_by(year, mgmt_area) %>%
summarize(n_length=sum(n_length)) %>%
left_join(casdat%>%
mutate(year=as.numeric(year))%>%
group_by(year, mgmt_area) %>%
summarize(catch_mt=sum(catch_mt)),
by=c("year"="year", "mgmt_area"="mgmt_area"))%>%
mutate(lratio=n_length/catch_mt)
#annual otoliths
norage_year_area_oratio <- norage%>%
filter(type_1_otolith=="Y") %>%
group_by(year, mgmt_area) %>%
summarize(n_otolith=n()) %>%
left_join(casdat%>%
mutate(year=as.numeric(year))%>%
group_by(year, mgmt_area) %>%
summarize(catch_mt=sum(catch_mt)),
by=c("year"="year", "mgmt_area"="mgmt_area"))%>%
mutate(oratio=n_otolith/catch_mt)
# avg otoliths
oto_area_avg<-norage_year_area_oratio%>%
group_by(mgmt_area) %>%
summarize(avg_oto=round((sum(n_otolith)/nyears),0))
#annual totals
annual_catch_ln_oto<-norln_year_area_lratio %>%
left_join(norage_year_area_oratio%>%
dplyr::select(!catch_mt), by= c("year"="year", "mgmt_area"="mgmt_area")) %>%
filter(year %in% (endyear-4):endyear) %>%
mutate(year=as.character(year))%>%
dplyr::select(mgmt_area, year, catch_mt, n_length, lratio, n_otolith, oratio)
colnames(annual_catch_ln_oto)=c("Area", "Year", "Catch", "Len", "Len/mt", "Oto", "Oto/mt")
# regional avgs
avg_catch_ln_oto<-cas_area_avg%>%
left_join(norln_area_avg, by="mgmt_area")%>%
left_join(oto_area_avg, by="mgmt_area") %>%
mutate(ln_mt=n_length/avg_catch,
oto_mt=avg_oto/avg_catch,
year="Avg")%>%
dplyr::select(mgmt_area, year, avg_catch, n_length, ln_mt, avg_oto, oto_mt)
colnames(avg_catch_ln_oto)=c("Area", "Year", "Catch", "Len", "Len/mt", "Oto", "Oto/mt")
#combine
all_catch_ln_oto<-annual_catch_ln_oto %>%
bind_rows(avg_catch_ln_oto) %>%
mutate(Catch=round(Catch,0),
Len=round(Len,0),
`Len/mt`=round(`Len/mt`,2),
Oto=round(Oto,0),
`Oto/mt`=round(`Oto/mt`,2))
tab3cap<-paste0("Table ", params$chapter, ".", params$appendix, ".3. The total catch in mt for each area and year, the number of individual fish lengths (len) and otoliths (oto) collected, and the rate of length and otolith samples, as sampling per mt of catch, for the five most recent years and the average from 2013-present. Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")
ft3<-all_catch_ln_oto%>%
arrange(Area)%>%
flextable() %>%
add_header_lines(values = tab3cap) %>%
fontsize(size=11, part="all")%>%
line_spacing(space = 0.3, part = "body")%>%
font(part = "all", fontname = "Times New Roman") %>%
align(align = "right", part="body") %>%
align(align = "left", part="header", i=1) %>%
align(align = "right", part="header", i=2) %>%
border(part = "head", i = 2,
border = list("width" = 0, color = "black", style = "solid"))
FitFlextableToPage(ft3)
```
\newpage
```{r warning=FALSE, message=FALSE, echo=FALSE}
#table 4 sablefish lengths measured at sea by year, area, and gear
#summarize norpac length data
norln_gear_area_year<-norln%>%
group_by(year, mgmt_area, gear) %>%
summarize(n_length=sum(n_length))
#summarize without gear calculating proportions
lnsum<-norln_gear_area_year %>%
group_by(mgmt_area, year) %>%
summarize(Sum=round(sum(n_length),0))
#create table
tab4cap<-paste0("Table ", params$chapter, ".", params$appendix, ".4. Count of ",params$name, " lengths measured at-sea and in port by observers by area, year, and gear. Gear types include non-pelagic trawl (NPT), hook and line (HAL), pot (POT), and pelagic trawl (PTR). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")
ft4<-norln_gear_area_year%>%
mutate(Year=year,
Area=mgmt_area) %>%
dplyr::select(Area, Year, gear, n_length) %>%
pivot_wider(id_cols=c(Area, Year), names_from=gear, values_from=n_length) %>%
left_join(lnsum, by=c("Area"="mgmt_area", "Year"="year")) %>%
mutate(Year=as.factor(Year)) %>%
arrange(Area, Year) %>%
flextable() %>%
fontsize(size=11, part="all")%>%
font(part = "all", fontname = "Times New Roman") %>%
line_spacing(space = 0.3, part = "body")%>%
add_header_lines(values = tab4cap) %>%
align(align = "right", part="body") %>%
align(align = "left", part="header", i=1) %>%
align(align = "right", part="header", i=2) %>%
border(part = "head", i = 1,
border = list("width" = 0, color = "black", style = "solid"))
FitFlextableToPage(ft4)
```
\newpage
```{r warning=FALSE, message=FALSE, echo=FALSE}
#Table 5 number of otoliths collected by year, area, and gear
#summarize data
oto_year_area_gear<-norage%>%
filter(type_1_otolith=="Y") %>%
group_by(year, mgmt_area, gear) %>%
summarize(n_otolith=n())
#summarize without gear for proportion
osum<-oto_year_area_gear %>%
group_by(mgmt_area, year) %>%
summarize(Sum=round(sum(n_otolith),0))
#create table
tab5cap<-paste0("Table ", params$chapter, ".", params$appendix, ".5. Count of ",params$name, " otoliths collected at-sea in port by observers by area, year, and gear. Gear types include non-pelagic trawl (NPT), hook and line (HAL), pot (POT), or pelagic trawl (PTR). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")
ft5<-oto_year_area_gear%>%
mutate(Year=year,
Area=mgmt_area) %>%
dplyr::select(Area, Year, gear, n_otolith) %>%
pivot_wider(id_cols=c(Area, Year), names_from=gear, values_from=n_otolith) %>%
left_join(osum, by=c("Area"="mgmt_area", "Year"="year")) %>%
mutate(Year=as_factor(Year)) %>%
arrange(Area, Year) %>%
flextable() %>%
fontsize(size=11, part="all")%>%
line_spacing(space = 0.3, part = "body")%>%
font(part = "all", fontname = "Times New Roman") %>%
add_header_lines(values = tab5cap) %>%
align(align = "right", part="body") %>%
align(align = "left", part="header", i=1) %>%
align(align = "right", part="header", i=2) %>%
border(part = "head", i = 1,
border = list("width" = 0, color = "black", style = "solid"))
FitFlextableToPage(ft5)
```
\newpage
# Figures
```{r fig1, warning=FALSE, message=FALSE, echo=FALSE, fig.width=6, fig.asp=1.2, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".1. ", params$name_cap ," catch by gear type that was either the total of retained and discarded, retained, or discarded by management area. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#figure 1 catch retained and discarded
theme_doc<- function(base_size = 12, base_family = "Arial") { #this function sets the theme for the whole figure
theme_bw(base_size = base_size, base_family = base_family) %+replace% #also note that this creates a bunch of font warnings that are not a real problem, I just haven't dealt with it yet
# theme_bw()+
theme(
plot.title=element_text(size=12,colour='black',hjust = 0.5, vjust=1),
plot.background=element_blank(),
panel.grid = element_blank(),
panel.grid.minor=element_blank(),
panel.grid.major.x=element_blank(),
panel.grid.major.y=element_line(color="grey90"),
panel.border = element_blank(),
panel.background = element_blank(),
axis.line.x = element_line(colour='black'),
axis.line.y = element_line(colour='black'),
axis.text=element_text(size=10,colour='black'),
axis.ticks.y=element_line(colour='black'),
axis.ticks.x=element_blank(),
axis.title.y=element_text(colour='black',angle=90, vjust=2.5),
axis.title.x=element_text(colour='black'),
legend.background=element_blank(),
legend.text=element_text(colour='black',size=10),
legend.title=element_blank(),
legend.position = "bottom",
strip.background=element_blank(),
strip.text=element_text(size=10,colour='black'),
axis.text.x = element_text(angle = 45, hjust=1, vjust=1.1)
)
}
#mgmt_colors<-c("#B2282E","#575195","#BC4700","#4C9C2E","#00467f","#1ECAD3")
#gear_colors<-c("#93D500", "#007934","#FF8300", "#0093D0","#7F7FFF")
gear_colors <- c("#440154", "#31688E", "#35B779", "#FDE725","#6EDE76" )
ggplot(cas_retain_discard, aes(x=as.factor(year), y=catch_mt/1000,
fill = gear, color = gear))+
geom_bar(position = position_stack(), stat = "identity", show.legend = T, width=1)+
facet_grid(rows=vars(mgmt_area), cols=vars(retained_or_discarded))+
labs(x = "Year", y = "Catch (thousand mt)")+
# scale_fill_viridis_d()+
# scale_color_viridis_d()+
scale_color_manual(values=gear_colors)+
scale_fill_manual(values=gear_colors)+
#scale_y_continuous(expand = expansion(mult = c(0, 0.05)))+
scale_y_continuous(n.breaks=5)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
theme_doc()
```
```{r fig2, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".2. ",params$name_cap," catch in each observer coverage category in the Observer Deploy and Declare System (ODDS), including fixed gear electronic monitoring (EM). This catch was not necessarily observed. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#figure 2 catch by observer coverage totals
#set plotting order
casdat$obs_coverage<-factor(casdat$obs_coverage, levels = c("Partial", "EM Partial", "Full", "None"))
#coverage_colors<-c("#625BC4","#FF8300","#4C9C2E","#FF4438")
#filter data
cas_obs_cov_year_area_gear<-casdat %>%
group_by(year, mgmt_area, obs_coverage, gear) %>%
summarise(catch_mt = sum(catch_mt)) %>%
inner_join(casdat %>%
group_by(year, mgmt_area, gear) %>%
summarise(totcatch = sum(catch_mt)), by = c("year", "mgmt_area", "gear")) %>%
mutate(prop_catch = catch_mt/totcatch) %>%
filter(gear != "JIG")
fig2 <- ggplot(cas_obs_cov_year_area_gear, aes(x=as.factor(year), y=catch_mt/1000, fill=obs_coverage, color=obs_coverage))+
geom_bar(position = position_stack(), stat = "identity", width=1)+
facet_grid(mgmt_area~gear)+
labs(x = "Year", y = "Catch (thousand mt)")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
#scale_color_manual(values=coverage_colors)+
#scale_fill_manual(values=coverage_colors)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 4))+
scale_y_continuous(n.breaks=5)+
theme_doc()+
theme(strip.text.y=element_text(size=10,colour='black', angle=360))
fig2
```
```{r fig3, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".3. Utilizing ",params$name," catch data, the proportions of catch in each observer coverage category in the Observer Deploy and Declare System (ODDS) for each area, gear, and year, including fixed gear electronic monitoring (EM). I.e., the catch for each area, gear, and year is scaled to 1. This catch was not necessarily observed. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
# fig 3 catch by observer coverage proportions
fig3 <- ggplot(cas_obs_cov_year_area_gear, aes(x=as.factor(year), y=prop_catch, fill=obs_coverage, color=obs_coverage))+
geom_bar(position = position_fill(), stat = "identity", width=1)+
facet_grid(mgmt_area~gear)+
labs(x = "Year", y = "Proportion")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
scale_y_continuous(breaks=c(0,0.25,0.5,0.75, 1))+
#scale_color_manual(values=coverage_colors)+
#scale_fill_manual(values=coverage_colors)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
theme_doc()+
theme(strip.text.y=element_text(size=10,colour='black', angle=360))
fig3
```
```{r fig4, warning=FALSE, message=FALSE, echo=FALSE, fig.width=6, fig.asp=1.2, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".4. ",params$name_cap," catch by gear type either observed by electronic monitoring (EM), observers, or no coverage. Biological samples were not taken whenever an observer was present. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#figure 4 catch by observer coverage (EM/in person/no coverage) totals
#biol_colors<-c("#625BC4","#AAD7DD","#D02C2F" )
biol_colors<-c("#575195","#1ECAD3","#FF8300")
#data definition moved to table 4
fig4 <- ggplot(obs_prop, aes(x=as.factor(year), y=catch_mt/1000, fill=Coverage, color=Coverage))+
geom_bar(position = position_stack(), stat = "identity", width=1)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
facet_grid(mgmt_area~gear)+
labs(x = "Year", y = "Catch (thousand mt)")+
scale_y_continuous(n.breaks=3)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=biol_colors)+
# scale_fill_manual(values=biol_colors)+
theme_doc()+
theme(axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "bottom",
strip.text.y=element_text(size=10,colour='black', angle=360))
fig4
```
```{r fig5, warning=FALSE, message=FALSE, echo=FALSE, fig.width=6, fig.asp=1.2, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".5. Utilizing ",params$name," catch data, the proportions of catch in each observer coverage category in the Observer Deploy and Declare System (ODDS) for each area, gear, and year, including fixed gear electronic monitoring (EM). I.e., the catch for each area, gear, and year is scaled to 1. This catch was not necessarily observed. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#figure 5 catch by observer coverage (EM/in person/no coverage) proportions
#biol_colors<-c("#625BC4","#AAD7DD","#D02C2F" )
fig5 <- ggplot(obs_prop, aes(x=as.factor(year), y=prop_catch, fill=Coverage, color=Coverage))+
geom_bar(position = position_stack(), stat = "identity", width=1)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
facet_grid(mgmt_area~gear)+
labs(x = "Year", y = "Proportion")+
scale_y_continuous(breaks=c(0,0.25,0.5,0.75, 1))+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=biol_colors)+
# scale_fill_manual(values=biol_colors)+
theme_doc()+
theme(axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "bottom",
strip.text.y=element_text(size=10,colour='black', angle=360))
fig5
```
```{r fig6, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".6. The number of total lengths measured by observers by year, gear, and area. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
# Fig 6 number of lengths collected by strata
#numbers
fig6 <-ggplot(norln_gear_area_year,aes(x=as.factor(year),y=n_length/1000,fill=gear))+
geom_bar(position="stack", stat="identity")+
labs(y="Thousands of lengths collected", x = "Year", title="Lengths Collected")+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
facet_grid(mgmt_area~.)+
theme_doc()+
theme(legend.position="bottom",
strip.text.y=element_text(size=10,colour='black', angle=360))
fig6
```
```{r fig7, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".7. Utilizing the number of lengths measured by observers, The proportion of lengths by gear, area, and year. I.e., the number of lengths measured for each area, gear, and year are scaled to 1. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
# fig 7 propotion of lengths collected by strata
#proportion
fig7 <- ggplot(norln_gear_area_year,aes(x=as.factor(year),y=n_length,fill=gear))+
geom_bar(position="fill", stat="identity")+
labs(y="Proportion", x = "Year", title="Proportion of Total Lengths")+
facet_grid(mgmt_area~.)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_y_continuous(breaks=c(0,0.25,0.5,0.75, 1))+
theme_doc()+
theme(legend.position="bottom",
strip.text.y=element_text(size=10,colour='black', angle=360))
fig7
```
```{r fig8, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".8. The number of otoliths collected by obaervers by gear and area. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
# Number of otoliths collected by strata
#numbers
fig8 <-ggplot(oto_year_area_gear,aes(x=as.factor(year),y=n_otolith/1000,fill=gear))+
geom_bar(position="stack", stat="identity")+
labs(y="Otoliths Collected (thousands)", x = "Year", title="Sampled Otoliths")+
facet_grid(mgmt_area~.)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_y_continuous(n.breaks=5)+
theme_doc()+
theme(strip.text.y=element_text(size=10,colour='black', angle=360))
fig8
```
```{r fig9, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".9. Utilizing the count of otoliths, The proportion of otoliths collected by observers by gear, area, and year. I.e., the number of otoliths collected for each area, gear, and year are scaled to 1. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
# Fig 9 proportion otoliths collected by strata
#proportion
fig9 <- ggplot(oto_year_area_gear,aes(x=as.factor(year),y=n_otolith,fill=gear))+
geom_bar(position="fill", stat="identity")+
labs(y="Proportion", x = "Year", title="Proportion of Total Otoliths")+
facet_grid(mgmt_area~.)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_y_continuous(breaks=c(0,0.25,0.5,0.75, 1))+
theme_doc()+
theme(legend.position = "bottom",
strip.text.y=element_text(size=10,colour='black', angle=360))
fig9
```
```{r fig10, warning=FALSE, message=FALSE, echo=FALSE, fig.width=6, fig.asp=1, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".10. The number of ", params$name," lengths collected per ton of catch by management area (left) or by gear (right). Note differences in scales. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#gear
norln_year_area_ln_mt <- norln%>%
group_by(year, gear) %>%
summarize(n_length=sum(n_length)) %>%
left_join(casdat%>%
mutate(year=as.numeric(year))%>%
group_by(year, gear) %>%
summarize(catch_mt=sum(catch_mt)),
by=c("year"="year", "gear"="gear"))%>%
mutate(lratio=n_length/catch_mt)
#area
fig10a <-ggplot(norln_year_area_lratio, aes(x=as.factor(year), y=lratio, fill= mgmt_area))+
geom_bar(position="stack", stat="identity", show.legend=FALSE)+
labs(y="Number of lengths/mt", x = "Year", title="Lengths/mt by Area")+
facet_grid(~mgmt_area~., scales="free")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=mgmt_colors)+
# scale_fill_manual(values=mgmt_colors)+
scale_y_continuous(n.breaks=3)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
theme_doc()
#gear
fig10b <-ggplot(norln_year_area_ln_mt, aes(x=as.factor(year), y=lratio, fill= gear))+
geom_bar(position="stack", stat="identity", show.legend=FALSE)+
labs(y="Number of lengths/mt", x = "Year", title="Lengths/mt by Gear")+
facet_grid(~gear~., scales="free")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
scale_y_continuous(n.breaks=3)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
theme_doc()
suppressWarnings(grid.arrange(fig10a, fig10b, nrow=1))
```
```{r fig11, warning=FALSE, message=FALSE, echo=FALSE, fig.width=6, fig.asp=1, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".11. The number of ", params$name," otoliths collected per ton of catch by management area (left) or by gear (right). Note differences in scales. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#gear
norage_year_area_ln_mt <- norage%>%
filter(type_1_otolith=="Y") %>%
group_by(year, mgmt_area, gear) %>%
summarize(n_otolith=n()) %>%
left_join(casdat%>%
mutate(year=as.numeric(year))%>%
group_by(year, gear) %>%
summarize(catch_mt=sum(catch_mt)),
by=c("year"="year", "gear"="gear"))%>%
mutate(oratio=n_otolith/catch_mt)
#area
fig11a <-ggplot(norage_year_area_oratio, aes(x=as.factor(year), y=oratio, fill= mgmt_area))+
geom_bar(position="stack", stat="identity", show.legend=FALSE)+
labs(y="Number otoliths/mt", x = "Year", title="Otoliths/mt by area")+
facet_grid(~mgmt_area~., scales="free")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=mgmt_colors)+
# scale_fill_manual(values=mgmt_colors)+
scale_y_continuous(n.breaks=3)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
theme_doc()
#gear
fig11b <-ggplot(norage_year_area_ln_mt, aes(x=as.factor(year), y=oratio, fill= gear))+
geom_bar(position="stack", stat="identity", show.legend=FALSE)+
labs(y="Number otoliths/mt", x = "Year", title="Otoliths/mt by gear")+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=gear_colors)+
# scale_fill_manual(values=gear_colors)+
scale_y_continuous(n.breaks=3)+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
facet_grid(~gear~., scales="free")+
theme_doc()
grid.arrange(fig11a, fig11b, nrow=1) %>%
suppressWarnings()
```
```{r fig12, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".12. The proportion of ", params$name," lengths that were measured at-sea versus in ports by observers by area. At-sea sampling provides haul level information, while shoreshide is lower resolution trip level information. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
#figure 12 lengths by observer source
norln<-norln%>%mutate(obs_source=recode_factor(monitoring_status,"AT_SEA_WITH_SALMON_CENSUS"="At-Sea", "AT_SEA"="At-Sea","TRAWL_EM_WITH_SHORESIDE"="Shoreside", "NO_MONITORING"="Shoreside"))
norln$obs_source2 <- addNA(norln$obs_source)
levels(norln$obs_source2) <- c(levels(norln$obs_source), "Unavailable")
norln_obs_source<-norln %>%
mutate(year=as.character(year)) %>%
group_by(year, mgmt_area, obs_source2) %>%
summarize(n_length=sum(n_length))
fig12 <- ggplot(norln_obs_source,aes(x=as.factor(year),y=n_length,fill=obs_source2))+
geom_bar(position="fill", stat="identity")+
labs(y="Proportion", x = "Year", title="Proportion of Lengths by Area")+
facet_grid(mgmt_area~.)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=c("#00467f","#BC4700","#4C9C2E"))+
# scale_fill_manual(values=c("#00467f","#BC4700","#4C9C2E"))+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_y_continuous(n.breaks=5)+
theme_doc()
fig12
```
```{r fig13, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".13. The proportion of ", params$name," lengths that were measured at-sea versus in ports by observers by gear type. At-sea sampling provides haul level information, while shoreshide is lower resolution trip level information. Gear types include pelagic trawl (PTR), non-pelagic trawl (NPT), pot (POT), or hook and line (HAL). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY).")}
norln_obs_source_year_gear<-norln %>%
mutate(year=as.character(year)) %>%
group_by(year, gear, obs_source2) %>%
summarize(n_length=sum(n_length))
fig13<- ggplot(norln_obs_source_year_gear,aes(x=as.factor(year),y=n_length,fill=obs_source2))+
geom_bar(position="fill", stat="identity")+
labs(y="Proportion", x = "Year", title="Proportion of Lengths by Gear")+
facet_grid(gear~.)+
scale_fill_viridis_d()+
scale_color_viridis_d()+
# scale_color_manual(values=c("#00467f","#BC4700","#4C9C2E"))+
# scale_fill_manual(values=c("#00467f","#BC4700","#4C9C2E"))+
scale_x_discrete(breaks = seq(startyear, endyear, by = 3))+
scale_y_continuous(n.breaks=5)+
theme_doc()
fig13
```
```{r fig14, warning=FALSE, message=FALSE, echo=FALSE, fig.asp=1.2, fig.width=6, fig.cap=paste0("Figure ", params$chapter, ".", params$appendix, ".14. The proportion of ", params$name," catch with electronic monitoring (EM mt coverage/total fixed gear catch in mt) and the rate of length sampling (lengths per metric ton) for fixed gear (pot and hook and line gear). Areas include the Aleutian Islands (AI), Bering Sea (BS), Western Gulf of Alaska (WGOA), Central Gulf of Alaska (CGOA), West Yakutat (WY), and East Yakutat (EY)")}
#https://finchstudio.io/blog/ggplot-dual-y-axes/
#for two y axes
cas_prop_em <- casdat %>%
filter(gear %in% c("POT", "HAL") &
obs_coverage == "EM Partial") %>%
group_by(mgmt_area, year) %>%
summarize(em_catch=sum(catch_mt)) %>%
left_join(casdat %>%
filter(gear %in% c("POT", "HAL")) %>%
group_by(mgmt_area, year) %>%
summarize(total_catch=sum(catch_mt)),