Package: afscgap
Python Tools for AFSC GAPGroupBadgesStatusUsagePublicationPython-based tool chain ("Pyafscgap.org") for working with the public bottom trawl data from theNOAA AFSC GAP. This provides information from multiple survey programs about where certain species were seen and when under what conditions, information useful for research in ocean health.Seewebpage,project Github, andexample notebook.QuickstartTaking your first step is easy!Explore the data in a UI:To learn about the datasets, try out an in-browser visual analytics app athttps://app.pyafscgap.orgwithout writing any code.Try out a tutorial in your browser:Learn from and modify an in-depthtutorial notebookin a free hosted academic environment (all without installing any local software).Jump into code:Ready to build your own scripts? Here's an example querying for Pacific cod in the Gulf of Alaska for 2021:importafscgap# install with pip install afscgapquery=afscgap.Query()query.filter_year(eq=2021)query.filter_srvy(eq='GOA')query.filter_scientific_name(eq='Gadus macrocephalus')results=query.execute()Continue your exploration in thedeveloper docs.InstallationReady to take it to your own machine? Install the open source tools for accessing the AFSC GAP via Pypi / Pip:$pipinstallafscgapThe library's only dependency isrequestsandPandas / numpy are not expected but supported. The above will install the release version of the library. However, you can also install the development version via:$pipinstallgit+https://github.com/SchmidtDSE/afscgap.git@mainInstalling directly from the repo provides the "edge" version of the library which should be treated as pre-release.PurposeUnofficial Python-based tool set for interacting withbottom trawl surveysfrom theGround Fish Assessment Program (GAP). It offers:Pythonic access to the officialNOAA AFSC GAP API service.Tools for inference of the "negative" observations not provided by the API service.Visualization tools for quickly exploring and creating comparisons within the datasets, including for audiences with limited programming experience.Note that GAP are an excellent collection of datasets produced by theResource Assessment and Conservation Engineering (RACE) Divisionof theAlaska Fisheries Science Center (AFSC)as part of the National Oceanic and Atmospheric Administration's Fisheries organization (NOAA Fisheries).Please see ourobjectives documentationfor additional information about the purpose, developer needs addressed, and goals of the project.UsageThis library provides access to the AFSC GAP data with optional zero catch ("absence") record inference.Examples / tutorialOne of the best ways to learn is through our examples / tutorials series. For more details see ourusage guide.API DocsFull formalized API documentation is availableas generated by pdoc in CI / CD.Data structureDetailed information about our data structures and their relationship to the data structures found in NOAA's upstream database is available in ourdata model documentation.Absence vs presence dataBy default, the NOAA API service will only return information on hauls matching a query. So, for example, requesting data on Pacific cod will only return information on hauls in which Pacific cod is found. This can complicate the calculation of important metrics like catch per unit effort (CPUE). That in mind, one of the most important features inafscgapis the ability to infer "zero catch" records as enabled byset_presence_only(False). See more information inour inference docs.Data quality and completenessThere are a few caveats for working with these data that are important for researchers to understand. These are detailed in ourlimitations docs.LicenseWe are happy to make this library available under the BSD 3-Clause license. See LICENSE for more details. (c) 2023 Regents of University of California. See theEric and Wendy Schmidt Center for Data Science and the Environment
at UC Berkeley.DevelopingIntersted in contributing to the project or want to bulid manually? Please see ourbuild docsfor details.PeopleSam Pottingeris the primary contact with additional development fromGiulia Zarpellon. Additionally some acknowledgements:Thank you toCarl BoettigerandFernando Perezfor advice in the Python library.Thanks also toMaya Weltman-Fahs,Brookie Guzder-Williams, Angela Hayes, David Joy, andMagali de Bruynfor advice on the visual analytics tool.Lewis Barnett, Emily Markowitz, and Ciera Martinez for general guidance.This is a project of theThe Eric and Wendy Schmidt Center for Data Science and the Environment
at UC BerkeleywhereKevin Koyis Executive Director. Please contact us viadse@berkeley.edu.Open SourceWe are happy to be part of the open source community.At this time, the only open source dependency used by this microlibrary isRequestswhich is available under theApache v2 LicensefromKenneth Reitz and other contributors.In addition to Github-providedGithub Actions, our build and documentation systems also use the following but are not distributed with or linked to the project itself:mkdocsunder theBSD License.mkdocs-windmillunder theMIT License.mypyunder theMIT Licensefrom Jukka Lehtosalo, Dropbox, and other contributors.nose2under aBSD licensefrom Jason Pellerin and other contributors.pdocunder theUnlicense licensefromAndrew GallantandMaximilian Hils.pycodestyleunder theExpat Licensefrom Johann C. Rocholl, Florent Xicluna, and Ian Lee.pyflakesunder theMIT Licensefrom Divmod, Florent Xicluna, and other contributors.sftp-actionunder theMIT Licensefrom Niklas Creepios.ssh-actionunder theMIT Licensefrom Bo-Yi Wu.Next, the visualization tool has additional dependencies as documented in thevisualization readme.Finally, note that the website uses assets fromThe Noun Projectunder the NounPro plan. If used outside ofhttps://pyafscgap.org, they may be subject to adifferent license.Thank you to all of these projects for their contribution.Version historyAnnotated version history:1.0.4: Minor documentation fypo fix.1.0.3: Documentation edits for journal article.1.0.2: Minor documentation touch ups for pyopensci.1.0.1: Minor documentation fix.1.0.0: Release with pyopensci.0.0.9: Fix with issue for certain import modalities and thehttpmodule.0.0.8: New query syntax (builder / chaining) and units conversions.0.0.7: Visual analytics tools.0.0.6: Performance and size improvements.0.0.5: Changes to documentation.0.0.4: Negative / zero catch inference.0.0.3: Minor updates in documentation.0.0.2: License under BSD.0.0.1: Initial release.