/EcoFOCIpy

python tools for the EcoFOCI PMEL research Program

Primary LanguageJupyter NotebookMIT LicenseMIT

EcoFOCIpy

python tools for the EcoFOCI PMEL research Program

Examples and Notebook Archives can be found within this package or also at ecofoci_code_lab

Basic Description

This package is a collection of routines used by EcoFOCI to automatically produce various products for:

  • processing/archiving field data
  • synthesizing archive data especially data hosted by ERDDAP
  • generating common FOCI related products

It is also a source for testing github integrations, github Actions, and other tools/examples that could be useful for the EcoFOCI repository (auto-linting, auto-config updates, etc)

Extended Description

Analysis tools

Tools developed within this package are heavily reliant on the following community packages:

  • xarray: for saving to netcdf and manipulating multidimensional datasets
  • pandas: for saving to csv and manipulating more "tabular" datasets
  • python-ctd (ctd): for reading in seabird cnv files and python-seawater for EOS/TEOS conversions
  • geomag: for calculating geomagnetic declination correctinos
  • other standar packages such as matplotlib, cftime, and inherent dependencies like netCDF4

Visualization

ERDDAP

  • akutan (internal)

Additional Notes/Guidance

Jupyter Notebooks and code examples

Within the notebooks folder are examples of the API and workflows. These examples involve:

  • converting raw data to netcdf data following FOCI's conventions
    • apply time transformations
    • apply calibration transformations
    • apply field checks and remove non-deployed / deck data
    • apply deployment corrections, e.g. depth/salinity corrections, magnetic declination corrections
    • perform quick visual checks and sanity checks of data
  • examples of filtering data
    • lanzcos 35hr filter is most common

Within the examples and notebooks folders are a collection of examples, they may be exceptionally verbose or simple. The simple examples can be used as a basis for developing "scripts" to archive for historical record, regarding the treatment of each instrument as it is analyzed. Alternatively, one could save any notebook to the archive or export an html or pdf version for historic records.

Configuration File Creation

Configuration YAML files are necessary for any supplementary meta_information - these are in a seperate folder from the source files

  • in the tools directory is a utility called mooring_config_creator.py - you will need login credentials for this to work. Contact the developer for this (only program members will get a response)

Requirements

Found in the ci/requirements.txt

Installing

conda (TODO)

pip

may be best to create a seperate environment and install packages via the requirements.txt first then install the software.

(install as editable) - will also install all dependencies pip install -e git+https://github.com/shaunwbell/EcoFOCIpy.git#egg=EcoFOCIpy

Legal Disclaimer

This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration (NOAA), or the United States Department of Commerce (DOC). All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the DOC or DOC bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation, or favoring by the DOC. The DOC seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by the DOC or the United States Government.