Skip to content

tkd708/ghg_monitor

Repository files navigation

GHG Monitor - Greenhouse Gas Monitoring System

A comprehensive web application for monitoring, analyzing, and visualizing greenhouse gas emissions from agricultural systems using chamber-based measurement techniques.

🌱 Overview

GHG Monitor is a full-stack application designed for researchers and agricultural professionals to track COβ‚‚, Nβ‚‚O, and Hβ‚‚O emissions from soil chambers. The system provides real-time data visualization, statistical analysis, and quality control assessment for greenhouse gas flux measurements.

✨ Features

πŸ“Š Dashboard

  • Real-time Overview: Summary statistics with active chambers, total records, and site status
  • Recent Data Preview: Latest 10 measurements with all sensor readings
  • Most Recent File Info: Automatic detection of latest data files with metadata
  • Smart Data Validation: Filters out invalid chamber IDs and malformed data

πŸ”¬ Analysis Tools

(a) Individual Cycle Data

  • Whole Measurement Cycle: Complete time-series visualization for all chambers
  • Per-Chamber Analysis: Multi-chamber comparison with color-coded traces
  • Linear Regression: Backend-calculated slope, RΒ², intercept, and flux rates
  • Time Window Control: Adjustable analysis windows for precise calculations

(b) Flux Quality Check

  • RΒ² vs Time: Diurnal patterns of regression quality
  • RΒ² vs Flux Correlation: Quality-flux relationship analysis
  • Custom Range Controls: User-defined flux ranges for focused analysis
  • Quality Statistics: Automated pass/fail assessment based on configurable thresholds

(c) Subdaily Flux Dynamics

  • Time-Series Analysis: Complete date-time range visualization
  • Treatment Statistics: Mean Β± standard error across replicates
  • Quality Filtering: Real-time application of RΒ² and flux thresholds
  • Error Bar Visualization: Statistical uncertainty display

(d) Daily/Cumulative Flux

  • Advanced Processing Pipeline: 4-step interpolation and aggregation
  • Linear Interpolation: Per-chamber between measurement cycles
  • Daily Aggregation: Treatment-level statistics with SE calculation
  • Cumulative Analysis: Running totals with baseline correction
  • Quality Inheritance: Automatic use of criteria from subdaily analysis

βš™οΈ Configuration Management

  • Site Management: Multi-site support with individual configurations
  • Chamber Specifications: Customizable dimensions and measurement frequency
  • Quality Thresholds: Configurable RΒ² minimums and flux criteria
  • User Authentication: Secure access with JWT tokens

πŸ“ˆ Data Processing

  • Automated Flux Calculations: COβ‚‚ (kg C/ha/d) and Nβ‚‚O (g N/ha/d)
  • Temperature/Pressure Corrections: Molar volume adjustments
  • Statistical Processing: Mean, standard error, and replicate counting
  • Data Quality Assurance: Comprehensive validation and filtering

πŸ—οΈ Technology Stack

  • Frontend: React 18, TypeScript, TailwindCSS, Recharts
  • Backend: Node.js, Express, TypeScript
  • State Management: Context API + React Query
  • Charts: Recharts with custom error bars and statistical overlays
  • Authentication: JWT tokens with secure session management

Project Structure

ghg-monitor/
β”œβ”€β”€ frontend/          # React SPA application
β”œβ”€β”€ backend/           # Node.js API server
β”œβ”€β”€ data-processing/   # Python data processing scripts
β”œβ”€β”€ data/             # Data storage directory
β”œβ”€β”€ scripts/          # Original R analysis scripts
└── docs/             # Documentation

Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.9+
  • Git

Installation

  1. Clone the repository:
git clone [repository-url]
cd ghg-monitor
  1. Install frontend dependencies:
cd frontend
npm install
  1. Install backend dependencies:
cd ../backend
npm install
  1. Install Python dependencies:
cd ../data-processing
pip install -r requirements.txt

Running the Application

  1. Start the backend server:
cd backend
npm run dev
  1. Start the frontend development server:
cd frontend
npm run dev
  1. Access the application at http://localhost:5173

Login Credentials

  • Password: ghgmonitor

The application uses simple password authentication. Enter ghgmonitor when prompted to log in.

Data Structure

The application expects GHG flux data in CSV format with the following columns:

  • site id, run id, chamber id, date, time
  • CO2 (ppm), H2O (ppm), N2O (ppb)
  • Status and pressure readings

Data files should be organized by site in the data/ directory.

Configuration

Site configurations are managed in data/site_registry.json. Each site can have:

  • Unique identifier
  • Location information
  • Chamber configurations
  • Processing parameters
  • Access controls

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Comprehensive web application for monitoring and analyzing greenhouse gas emissions from agricultural systems using chamber-based measurement techniques

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors