June-Skeeter / EddyPro_API

EddyPro_API
1 stars 0 forks source link

EddyPro API

Created by Dr. June Skeeter under an open copyright license.

This project is still under development.

About

This API is intended to streamline flux estimation using Eddy Pro. The API allows you to run EddyPro in parallel, high-priority batches to mininmize computation times. Preliminary testing indicates the EddyPro API can speed up processing by 67% compared using the EddyPro GUI.

Intro

Eddy Covariance (EC) is a method for measuring ecosystem-atmosphere fluxes of energy and trace gasses (e.g., CO_2). Flux esimation via EC involves applying a Reynolds Opperators to high frequency (>=10 Hz) measurements of scalar conentrations and 3D winds over 30- to 60-minute intervals. This is a computationally expensive procedure, and when it must be repeated over months or years of data, it quickly becomes an incredibly time consuming procedure.

One of the most popular applications for processing EC data is EddyPro (LICOR). "EddyPro is designed to provide easy, accurate EC flux computations." see The application has a graphic user interface (GUI) that allows apply a standard processing pipeline or selectively apply more advanced filtering and correction procedures as needed. The backend of the processing routine is then executed in FORTRAN, and eddypro outputs fluxes estimates and supplemental data as .csv files.

The EddyPro API (Application Program Interfae) is a python wrapper for the EddyPro GUI that allows for automation of flux processing procedures defined usising the EddyPro GUI, and more rapid processing of EC data via parallel processing.

Installation

For a Personal Computer

This will only work on windows for now, there are plans to expand to mac/linux ... eventually.

  1. Create the virtual environment and install dependencies

For Winmet

Set-ExecutionPolicy Unrestricted -Scope Process
.\.venv\Scripts\activate

Workflow

For now, stick to using the jupyter notebook API_Run.ipynb, command line instructions will be mad available soon.

Setup

Preprocessing

  1. Create the "auxillary data", which includes a biomet.CSV file and a dynamicMetadata.csv file. If you're a Biomet.Net user, you can read these directly from the database.

  2. Read high frequency data in .ghg or .dat format. If you're using .ghg files, it should handle everything automatically unless there are metadata settings you need to override. If you're using .dat files, you'll need to provide one or more (if settings change drastically) .metadata files in LICOR's metadata format. You can use the EddyPro GUI to set one up, or use a template (to be added later).

Running Eddypro

Use one of the EddyPro Templates provided, then overwrite any settings you want with a user defined dict or yaml file with the following format:

{section:{key:value}}

Run the API over you desired dates then inspec the output.

Pending Tasks