Published February 5, 2026 | Version v2.0

Cosmic Ray Neutron Spectroscopy and Local Variables simultaneous measurement studies throughout Chile. Northern Chile Experimental Campaigns: Maricunga, Las Campanas Observatory, San Pedro de Atacama and Chapiquilta

  • 1. ROR icon Comisión Chilena de Energía Nuclear
  • 2. ROR icon Millennium Institute for Subatomic Physics at High-Energy Frontier, Saphir
  • 3. ROR icon Universidad Andrés Bello
  • 1. ROR icon Comisión Chilena de Energía Nuclear
  • 2. ROR icon Millennium Institute for Subatomic Physics at High-Energy Frontier, Saphir
  • 3. ROR icon Istituto Nazionale di Fisica Nucleare, Sezione di Padova

Description

This dataset was acquired during a series of experimental campaigns carried out in 2023–2024 to measure cosmic-ray neutron fluxes alongside various local environmental variables at multiple sites in northern Chile. The primary objective is to investigate how integral neutron fluxes—spanning thermal, epithermal, fast, and high-energy ranges—vary in response to changes in temperature, atmospheric pressure, soil moisture, air humidity, and other site-specific conditions.

The dataset is provided as a ROOT file containing a TTree (readable with ROOT::RDataFrame). It contains 15-minute time-correlated measurements of neutron counting rates from 16 individual detectors, as well as concurrent readings of local environmental variables. This structure enables detailed correlation and trend analyses, facilitating future investigations into the interplay between cosmic-ray neutron fluxes and local environmental factors.

For the LCO site, the dataset also includes unfolded neutron energy spectra produced under three response-function assumptions: ISO, MIX, and BEAM. ISO corresponds to spectra computed in the unfolding using response functions simulated with an isotropically emitting neutron source (isotropic angular distribution). MIX corresponds to spectra computed in the unfolding using anisotropy-corrected response functions only for detectors Det05, Det06, Det07, Det08, Det09, Det12, Det13, Det14, and Det15, whose response peaks lie in the region above 1 MeV; for these detectors, the response functions were simulated using a beam-type source (directionally anisotropic emission) and corrected using an anisotropy ratio that will be reported in an upcoming paper, while the remaining detectors in MIX retain response functions simulated with an isotropic source. Finally, BEAM contains spectra computed in the unfolding using the anisotropy ratio for all detectors, i.e., with response functions simulated using a beam-type source for the full detector set. In addition, for the ISO case, unfolded spectra are provided not only at 15-minute resolution but also aggregated at 60-minute intervals.

ROOT file description:

Tree: LCO_data_tree (289 entries for 15 min and 72 entries for 60 min)

Atmospheric / Meteorological data

  • Pressure (mbar): BP_mbar_corrected/D, BP_mbar_Avg/D
  • Station Pressure (mbar): SP_mbar/D
  • Saturation Vapor Pressure (mbar) / air humidity (g/m^3) / dew point (Celcius)/ relative humidity / dew point (Celcius): SVPW_mbar/D, AH/D, DewP_C/D, RH_Min/D, PuntoRocio_Avg/D
  • Air temperature (Celcius): AirTC_Avg/D
  • Wind (m/s): WS_ms_S_WVT/D, WindDir_DU_WVT/D
  • Radiation / precipitation (mm): SlrW_Avg/D, Rain_mm_acc/D

Measured neutron counts per time interval (per detector channel)

  • NEUrate_D01/I … NEUrate_D16/I

Soil / ground sensors

  • Volumetric water content (%): VWC_5cm/D, VWC_10cm/D, VWC_20cm/D, VWC_30cm/D, VWC_40cm/D, VWC_50cm/D
  • Permittivity (permitivity unit) : Perm_5cm/D, Perm_10cm/D, Perm_20cm/D, Perm_30cm/D, Perm_40cm/D, Perm_50cm/D
  • Electrical conductivity (S/m): EC_5cm/D, EC_10cm/D, EC_20cm/D, EC_30cm/D, EC_40cm/D, EC_50cm/D
  • Temperature (Celcius): TC_5cm/D, TC_10cm/D, TC_20cm/D, TC_30cm/D, TC_40cm/D, TC_50cm/D

Geolocation / meta

  • Altitude/D (m), Latitude_A/D, Latitude_B/D, Longitude_A/D, Longitude_B/D
  • time_in_s/D, event_id/D, err_event/D

Integral neutron fluxes/ratio features

  • Ratios, eta (ratio of (Intg_th or Intg_ep or Intg_fs)/ , Ex: eta_th=Intg_th/Intg_he): ratio_intg_th_ep/D, ratio_intg_th_fs/D, ratio_intg_fs_ep/D, ratio_intg_th_total/D, ratio_intg_th_sum_fs_ep/D, ratio_intg_th_sum_fs_ep_he/D, ratio_th_tot/D, ratio_ep_tot/D, ratio_fs_tot/D, ratio_he_tot/D, eta_th/D, eta_ep/D, eta_fs/D
  • Sums (cm^-2 s^-1): sum_intg_fs_ep/D, sum_intg_fs_ep_he/D
  • Integral neutron flux per energy region, total, thermal, epithermal, fast and high energy (cm^-2  s^-1): Intg_total/D, Intg_th/D, Intg_ep/D, Intg_fs/D, Intg_he/D

Uncertainties / errors

  • Uncertainties for ratios and sums (cm^-2  s^-1): err_ratio_intg_th_ep/D, err_ratio_intg_th_fs/D, err_ratio_intg_fs_ep/D, err_ratio_intg_th_total/D, err_ratio_intg_th_sum_fs_ep/D, err_ratio_intg_th_sum_fs_ep_he/D, err_ratio_th_tot/D, err_ratio_th_tot_upper/D, err_ratio_th_tot_lower/D, err_ratio_ep_tot/D, err_ratio_ep_tot_upper/D, err_ratio_ep_tot_lower/D, err_ratio_fs_tot/D, err_ratio_fs_tot_upper/D, err_ratio_fs_tot_lower/D, err_ratio_he_tot/D, err_ratio_he_tot_upper/D, err_ratio_he_tot_lower/D, err_sum_intg_sum_fs_ep/D, err_sum_intg_sum_fs_ep_he/D
  • Uncertainties for integrals  (cm^-2 s^-1): err_intg_total/D, err_intg_total_upper/D, err_intg_total_lower/D, err_intg_th/D, err_intg_th_upper/D, err_intg_th_lower/D, err_intg_ep/D, err_intg_ep_upper/D, err_intg_ep_lower/D, err_intg_fs/D, err_intg_fs_upper/D, err_intg_fs_lower/D, err_intg_he/D, err_intg_he_upper/D, err_intg_he_lower/D
  • Uncertainties for eta (ratio of (Intg_th or Intg_ep or Intg_fs)/ Intg_he): err_eta_th/D, err_eta_th_upper/D, err_eta_th_lower/D, err_eta_ep/D, err_eta_ep_upper/D, err_eta_ep_lower/D, err_eta_fs/D, err_eta_fs_upper/D, err_eta_fs_lower/D

Vector-valued Monte Carlo integral flux energy distribution per event

  • Integral neutron flux energy distribution (cm^-2  s^-1) using the mean of the bootstrap-replica distribution: flux_intg_MC ROOT::VecOps::RVec<double>
  • Uncertainties for flux_intg_MC (cm^-2  s^-1): err_flux_intg_MC ROOT::VecOps::RVec<double>
  • Integral neutron flux energy distribution (cm^-2  s^-1) using the median of the bootstrap-replica distribution: flux_intg_median_MC ROOT::VecOps::RVec<double>
  • Upper uncertainties for flux_intg_median_MC (cm^-2  s^-1): err_flux_intg_upper_MC ROOT::VecOps::RVec<double>
  • Lower uncertainties for flux_intg_median_MC (cm^-2  s^-1) err_flux_intg_lower_MC ROOT::VecOps::RVec<double>

Dose metrics

  • Effective dose equivalent (nSv/h): effective_dose/D, err_effective_dose/D, err_effective_dose_upper/D, err_effective_dose_lower/D
  • H*(10) Ambien dose equivalent (nSv/h): ambient_dose_equivalent/D, err_ambient_dose_equivalent/D, err_ambient_dose_equivalent_upper/D, err_ambient_dose_equivalent_lower/D

From ROOT to  Python Pandas 

#!/usr/bin/env python3

import uproot
import pandas as pd
import numpy as np

#loading  .root file
file_lco = uproot.open("LCO_timegrid_15_ndet_11_data_complete_update_ISO.root")

# ~ ROOT files, directories, and trees are like Python dicts with keys() and values()
# Showing the ROOT  Tree  name
print(file_lco.keys())

#Reading the ROOT Tree with the already read name
tree_lco = file_lco["LCO_data_tree"]

#Showing  branch names  
print(tree_lco.keys())

# ROOT Tree to Python PANDAS Data Frame 

branches = [
    'BP_mbar_corrected', 'SP_mbar', 'SVPW_mbar', 'AH', 'DewP_C',
    'NEUrate_D01', 'NEUrate_D02', 'NEUrate_D03', 'NEUrate_D04',
    'NEUrate_D05', 'NEUrate_D06', 'NEUrate_D07', 'NEUrate_D08',
    'NEUrate_D09', 'NEUrate_D10', 'NEUrate_D11', 'NEUrate_D12',
    'NEUrate_D13', 'NEUrate_D14', 'NEUrate_D15', 'NEUrate_D16',
    'WS_ms_S_WVT', 'WindDir_DU_WVT', 'BP_mbar_Avg', 'RH_Min', 'AirTC_Avg',
    'Rain_mm_acc', 'SlrW_Avg', 'PuntoRocio_Avg',
    'VWC_5cm', 'Perm_5cm', 'EC_5cm', 'TC_5cm',
    'VWC_10cm', 'Perm_10cm', 'EC_10cm', 'TC_10cm',
    'VWC_20cm', 'Perm_20cm', 'EC_20cm', 'TC_20cm',
    'VWC_30cm', 'Perm_30cm', 'EC_30cm', 'TC_30cm',
    'VWC_40cm', 'Perm_40cm', 'EC_40cm', 'TC_40cm',
    'VWC_50cm', 'Perm_50cm', 'EC_50cm', 'TC_50cm',
    'Altitude', 'Latitude_A', 'Latitude_B', 'Longitude_A', 'Longitude_B',
    'err_event',
    'ratio_intg_th_ep', 'ratio_intg_th_fs', 'ratio_intg_fs_ep', 'ratio_intg_th_total',
    'err_ratio_intg_th_ep', 'err_ratio_intg_th_fs', 'err_ratio_intg_fs_ep', 'err_ratio_intg_th_total',
    'sum_intg_fs_ep', 'sum_intg_fs_ep_he', 'err_sum_intg_sum_fs_ep', 'err_sum_intg_sum_fs_ep_he',
    'ratio_intg_th_sum_fs_ep', 'ratio_intg_th_sum_fs_ep_he',
    'err_ratio_intg_th_sum_fs_ep', 'err_ratio_intg_th_sum_fs_ep_he',
    'time_in_s', 'event_id',
    'Intg_total', 'Intg_th', 'Intg_ep', 'Intg_fs', 'Intg_he',
    'ratio_th_tot', 'ratio_ep_tot', 'ratio_fs_tot', 'ratio_he_tot',
    'eta_th', 'eta_ep', 'eta_fs',
    'err_intg_total', 'err_intg_total_upper', 'err_intg_total_lower',
    'err_intg_th', 'err_intg_th_upper', 'err_intg_th_lower',
    'err_intg_ep', 'err_intg_ep_upper', 'err_intg_ep_lower',
    'err_intg_fs', 'err_intg_fs_upper', 'err_intg_fs_lower',
    'err_intg_he', 'err_intg_he_upper', 'err_intg_he_lower',
    'err_ratio_th_tot', 'err_ratio_th_tot_upper', 'err_ratio_th_tot_lower',
    'err_ratio_ep_tot', 'err_ratio_ep_tot_upper', 'err_ratio_ep_tot_lower',
    'err_ratio_fs_tot', 'err_ratio_fs_tot_upper', 'err_ratio_fs_tot_lower',
    'err_ratio_he_tot', 'err_ratio_he_tot_upper', 'err_ratio_he_tot_lower',
    'err_eta_th', 'err_eta_th_upper', 'err_eta_th_lower',
    'err_eta_ep', 'err_eta_ep_upper', 'err_eta_ep_lower',
    'err_eta_fs', 'err_eta_fs_upper', 'err_eta_fs_lower',
    'effective_dose', 'err_effective_dose', 'err_effective_dose_upper', 'err_effective_dose_lower',
    'ambient_dose_equivalent', 'err_ambient_dose_equivalent',
    'err_ambient_dose_equivalent_upper', 'err_ambient_dose_equivalent_lower'
]

df_lco = tree_lco.arrays(branches, library="pd")

CEFNEN Spectrometer Response Function

The ROOT file Response_Function_CEFNEN_Spectrometer.root contains the TTree Response_Function_CEFNEN_tree with 130 entries and 19 double-precision branches:

  • Energy: neutron energy bin edges in MeV (used as the histogram binning array).
  • Emid: bin centers in MeV for logarithmically spaced bins.
  • Ewid: bin widths in MeV.
  • RF_01 … RF_16: detector response functions (one per detector/channel, in order), in units of cm².

Plotting / usage notes

To plot the response functions, each RF_x branch can be converted into a TH1D histogram using Energy as the array of bin edges. The histogram is created with:

  • nbins = size(Energy) − 1
  • bin edges = Energy

and the bin contents are filled with the corresponding RF_x values, yielding the response curves as a function of neutron energy.

A complete detailed article is on preparation, nevertheless if you need  further details please do not hesitate to contact us

francisco.molina@cchen.cl (Francisco Molina)

f.lopezusquiano@uandresbello.edu (Franco López Usquiano)

Files

Files (5.3 MB)

Name Size Download all
md5:00676fe2f3cdf24387a95bc3f5ced50d
1.6 MB Download
md5:f00a61fd53fb9b4bc39ee49913c0a653
1.7 MB Download
md5:57663e680890ff7f0062d0d4ef781172
1.6 MB Download
md5:fd7951d1178b610b40d984d3f75d65a0
408.1 kB Download
md5:e40ab01e1cf140f6807961535ff67d48
21.1 kB Download

Additional details

Funding

Fondo Nacional de Desarrollo Científico y Tecnológico
Cosmic Ray Neutron Spectroscopy and Local Variables simultaneous measurement studies throughout Chile 1221364

Dates

Available
2026-02-05