Skip to content

Corrections Module

Introduction

Neutron corrections are critical in getting CRNS soil moisture estimates. It is here that we are removing the impact of additional influence on the neutron signal, besides soil moisture. Doing this means that changes in the neutron count rate can be considered as coming from changes in soil moisture only.

Why are corrections important?

For the CRNS to work, we want changes in neutron count rates to reflect changes in soil moisture dynamics as closely as possible. However, CRNS measurements are affected by several environmental factors beyond soil moisture:

  • Atmospheric pressure - Higher pressure reduces neutron counts by increasing atmospheric shielding
  • Incoming neutron intensity - Variations in cosmic ray intensity affect the baseline neutron flux
  • Atmospheric humidity - Water vapor in the air moderates neutrons before they reach the ground
  • Above-ground biomass - Plant matter can moderate neutrons similarly to soil water

Using Corrections with CRNSDataHub

You can apply corrections through the CRNSDataHub interface:

from neptoon.hub import CRNSDataHub
from neptoon.corrections.factory.build_corrections import CorrectionType, CorrectionTheory

# Create data hub (with data already loaded)
data_hub = CRNSDataHub(crns_data_frame=your_data, sensor_info=your_sensor_info)

# apply previous processing steps....

# Select corrections to apply - using all default theories
data_hub.select_correction(correction_type=CorrectionType.PRESSURE)
data_hub.select_correction(correction_type=CorrectionType.INCOMING_INTENSITY)
data_hub.select_correction(correction_type=CorrectionType.HUMIDITY)

# Apply all selected corrections
data_hub.correct_neutrons()

Alternatively it's possible to be selective on the specific theory to apply:

from neptoon.hub import CRNSDataHub
from neptoon.corrections.factory.build_corrections import CorrectionType, CorrectionTheory

# Create data hub (with data already loaded)
data_hub = CRNSDataHub(crns_data_frame=your_data, sensor_info=your_sensor_info)

# apply previous processing steps....

# Select corrections to apply - using all default theories
data_hub.select_correction(correction_type=CorrectionType.PRESSURE)
data_hub.select_correction(correction_type=CorrectionType.HUMIDITY)

# Select specific theory
data_hub.select_correction(
    correction_type=CorrectionType.INCOMING_INTENSITY,
    correction_theory=CorrectionTheory.HAWDON_2014
    )

# Apply all selected corrections
data_hub.correct_neutrons()

The Corrections

Pressure Correction

The pressure correction accounts for the influence of atmospheric pressure on neutron count rates. Higher pressure means more air mass above the sensor, which attenuates more cosmic rays. The correction matches pressure to a reference point - in neptoon this reference point is 1013.25 hPa.

All of the corrections require cut-off rigidity values to be present in your data - if you build you datahub using a config this will be read in automatically from your config file. DESILETS_ZREDA_2003 and DESILETS_2021 additionally require elevation and latiude data to correctly calculate the beta coeffient

Theory Description
DESILETS_ZREDA_2003 Derive beta coefficient according to Desilets and Zreda (2003) https://doi.org/10.1016/S0012-821X(02)01088-9
DESILETS_2021 Derive beta coefficient according to Desilets (2021) https://doi.org/10.5281/ZENODO.4569062
TIRADO_BUENO_2021 Derive beta coefficient according to Tirado-Bueno et al., (2021) https://doi.org/10.1016/j.asr.2021.04.034

Incoming Intensity Correction

This correction accounts for temporal variations in the cosmic ray flux, which can change due to solar activity and other space weather phenomena.

Available theoretical implementations:

Theory Description
ZREDA_2012 Original implementation without cutoff rigidity adjustment
HAWDON_2014 Includes cutoff rigidity adjustment
MCJANNET_DESILETS_2023 Advanced implementation with atmospheric depth considerations

Humidity Correction

The humidity correction accounts for the moderating effect of atmospheric water vapor on neutrons. This can be calculated when relative humidity and temperature sensors are present.

Above-ground Biomass Correction

This correction accounts for neutron moderation by vegetation biomass.

Available theoretical implementations:

Theory Description
BAATZ_2015 Based on biomass in kg/m²
MORRIS_2024 Based on biomass water equivalent in mm

Scientific References

The corrections implemented in this module are based on peer-reviewed scientific literature: