Skip to main content

A Python package for the estimation and processing of soil moisture data from cosmic-ray neutron counts.

Project description

GitHub Workflow Status (building) GitHub Workflow Status (publish) PyPI - Status GitHub commits since latest release (by SemVer including pre-releases) JOSS submission status

Cosmic-Ray Neutron Python (CRNPy) Library

CRNPY logo

Overview

Welcome to the homepage of the CRNPy (Cosmic-Ray Neutron Python) library, an open-source Python library designed for the processing and conversion of raw neutron counts from cosmic-ray neutron probes (CRNP) into soil moisture data.

This library has been developed with the intent of providing a comprehensive yet easy-to-use workflow for processing raw data from a variety of CRNP, encompassing multiple manufacturers and models.

Statement of Need

CRNPs are a valuable tool for non-invasive soil moisture estimation at the hectometer scale (e.g., typical agricultural fields), filling the gap between point-level sensors and large-scale (i.e., several kilometers) remote sensors onboard orbiting satellites. However, cleaning, processing, and analyzing CRNP data involves multiple corrections and filtering steps spread across multiple peer-reviewed manuscripts. CRNPy simplifies these steps by providing a complete, user-friendly, and well-documented library with minimal dependencies that includes examples to convert raw CRNP data into soil moisture. The library is designed to be accessible to both researchers and instrument manufacturers. Unlike other similar libraries, CRNPy does not require any specific naming convention for the input data or large external data sources, or reanalysis data.

Key Features

  • Versatile and instrument agnostic: CRNPy can handle data from various CRNP manufacturers and models. It has been successfully tested on both roving and stationary CRNP.

  • Modular: The library is designed to be modular, allowing users to easily customize the processing workflow to their needs.

Installation

To install the CRNPy library, you can use Python's package manager. Open a terminal and type:

pip install crnpy

from the Jupyter notebook, type:

!pip install crnpy

Ideally dependencies should be installed automatically. If not, you can install them manually by typing:

pip install -r requirements.txt

The CRNPy library is compatible with Python 3.7 and above. See requirements.txt for a list of dependencies.

Examples

  • [https://soilwater.github.io/crnpy/examples/stationary/example_RDT_station/](Processing and analyzing data from a stationary detector)
  • [https://soilwater.github.io/crnpy/examples/rover/Hydroinnova_rover_example/](Processing and analyzing data from a roving detector)
  • [https://soilwater.github.io/crnpy/examples/calibration/calibration/](Device-specific field calibration)

Authors

The CRNPy library was developed at the Kansas State University Soil Water Processes Lab by:

  • Joaquin Peraza

  • Andres Patrignani

The Soil Water Processes Lab at Kansas State University combines a range of experimental and computational approaches to tackle pressing issues in soil and water research. The development of the CRNPy library is a step forward to creating reproducible data processing workflows across the scientific community using cosmic-ray neutrons probes for soil moisture sensing.

Community Guidelines

Contributing

To contribute to the software, please first fork the repository and create your own branch from main. Ensure your code adheres to our established code structure and includes appropriate test/examples coverage. CRNPy source code is located in the /src/crnpy/ folder, and tests implemented using pytest are stored in the /src/tests/ folder. Submit a pull request with a clear and detailed description of your changes to include them in the main repository.

Reporting Issues

If you encounter any issues or problems with the software, please report them on our issues page. Include a detailed description of the issue, steps to reproduce the problem, any error messages you received, and details about your operating system and software version.

Seeking Support

If you need support, please first refer to the documentation. If you still require assistance, post a question on the issues page with the question tag. For private inquiries, you can reach us via email at jperaza@ksu.edu or andrespatrignani@ksu.edu.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crnpy-0.6.1.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

crnpy-0.6.1-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file crnpy-0.6.1.tar.gz.

File metadata

  • Download URL: crnpy-0.6.1.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for crnpy-0.6.1.tar.gz
Algorithm Hash digest
SHA256 81d0d5d5a0049906e0524d2269fa2b52435324443349dbbdee841b6902d4421a
MD5 7851c04a9da3ae45beb98cb2fe07b36d
BLAKE2b-256 a6a4e2cca48265c2635268ca559c221f871d41aaee0550d9555a39237208786f

See more details on using hashes here.

File details

Details for the file crnpy-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: crnpy-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for crnpy-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ec58f8f20236fa1d95cb071e45fb896c3e10e8deb6aed9ff14ce5c5539c0b59
MD5 3969fb1a229dd40a032e89de07e2e384
BLAKE2b-256 f10e3f9c56ea62c46152fad3f569e9b4ad0618c314361b6bf63ee6e4d209cf07

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page