CRNPy is a Python library that facilitates the processing, + analysis, and conversion of raw neutron counts obtained with + stationary and roving cosmic-ray neutron probes (CRNP) into volumetric + soil water content. The CRNPy library includes routines for + atmospheric, biomass, and road corrections, along with one-dimensional + and two-dimensional filtering. The library extends its utility by + offering horizontal and vertical footprint determination, uncertainty + estimation, depth extrapolation operators, and routines to assist + users with field calibration. The design of the CRNPy library + prioritizes reproducibility, ease of use, and compatibility across + instruments, facilitating its adoption by instrument manufacturers, + researchers, and end users aiming to integrate non-invasive soil + moisture sensing in agricultural and hydrological applications.
+Cosmic-ray neutron probes (CRNP) are non-invasive sensors that
+ bridge the gap between point-level and satellite soil moisture
+ sensing. However, the conversion of raw CRNP data into soil moisture
+ requires multiple corrections and filtering steps that are described
+ across various peer-reviewed articles. To circumvent this limitation
+ and enhance reproducibility, Python packages such as crspy
+ (
The CRNPy library integrates standard routines for processing CRNP + data, with features including:
+-
+
Utilization of core scientific Python libraries like Numpy
+ (
Utility functions for obtaining site-specific lattice water,
+ geomagnetic cutoff rigidity
+ (
Flexible input data handling from delimited text files without
+ stringent naming conventions for column names, which keeps scripts
+ simpler, increases reproducibility, and minimizes human error.
+ This aspect also enables a more versatile, modular, and
+ customizable workflow
+ (
Detection of possible outliers based on user-provided lower and
+ upper boundaries, interquartile range, z-scores, and a scaled mean
+ absolute difference
+ (
Corrections for atmospheric pressure as described by Zreda et
+ al.
+ (
Corrections to account for additional hydrogen pools in above-
+ and below-ground plant biomass
+ (
Corrections to account for the impact of road soil moisture
+ conditions during roving surveys
+ (
Conversion of corrected counts into volumetric soil water
+ content following the approach suggested by Desilets et al.
+ (
Determination of neutron count uncertainty following the method
+ detailed in Jakobi et al.
+ (
Estimation of sensing depth by determining the volume that
+ accounts for 86% of the origin of the counted neutrons
+ (
An exponential filter operator
+ (
Utility functions for spatial filtering and basic interpolation
+ routines required to process CRNP rover surveys (see
+
Additional functions for temporal interpolation and filtering
+ required to process time series from stationary CRNP (see
+
Example workflow for stationary CRNP, dashed lines
+ represent optional
+ steps.
Example workflow for roving CRNP, dashed lines represent
+ optional
+ steps.
Outputs of a stationary device in each of the steps of
+ the workflow, A) Impact of each factor in the correction process. B)
+ Difference between raw and corrected counts. C) Resulting volumetric
+ water content time series with the propageted neutron count
+ uncertainity. D) Depth that accounts for the 86% of the observed
+ counts.
+
Contour plot of the roving transect spatial output. Each
+ marker represents the estimated center of the
+ observation.
This work was supported by the USDA National Institute of Food and + Agriculture through the Agriculture and Food Research Initiative + Competitive Grant no. 2019-68012-29888 and through Multistate project + W4188. The authors declare no competing interests. This is + contribution no. 24-179-J of the Kansas Agricultural Experiment + Station.
+