Checking for missing content type metadata ...

Checking for non-preferred file/folder path names (may take a long time depending on the number of files/folders) ...

Data, model ensemble and code for "Hydraulic heads reveal the flow-controlled organization of nitrate persistence in a fractured aquifer of southern India"


Authors:
Owners: This resource does not have an owner who is an active HydroShare user. Contact CUAHSI (help@cuahsi.org) for information on this resource.
Type: Resource
Storage: The size of this resource is 67.1 MB
Created: Oct 28, 2026 at 9:51 p.m. (UTC)
Last updated: Nov 12, 2026 at 3:45 p.m. (UTC) (Metadata update)
Published date: Nov 12, 2026 at 3:45 p.m. (UTC)
DOI: 10.4211/hs.c04bfe8ee040479b9b521065517eb427
Citation: See how to cite this resource
Content types: CSV Content 
Sharing Status: Published
Views: 66
Downloads: 6
+1 Votes: Be the first one to 
 this.
Comments: No comments (yet)

Abstract

Observations, groundwater model ensemble and code for Bhaduri et al. (Hydrogeology Journal). Hydraulic conductivity, recharge and pumping of the fractured granite-gneiss aquifer of the Berambadi catchment (Kabini Critical Zone Observatory, Karnataka, India) were estimated from 44 December 2018 heads with FEFLOW 10 and PESTPP-IES. The resource holds the calibration heads, monthly depth to water of the Berambadi network (2010–2021), regional South Gundal heads (2009–2023), nitrate and major-ion surveys (2012–2020), camera fracture logs of 84 boreholes (2025–2026), GIS layers, the FEFLOW models, prior and posterior parameter ensembles, flow solutions for three recharge-pumping structures, and Python and MATLAB scripts that reproduce all statistics and figures.

Subject Keywords

Coverage

Spatial

Coordinate System/Geographic Projection:
WGS 84 EPSG:4326
Coordinate Units:
Decimal degrees
Place/Area Name:
Berambadi catchment, South Gundal basin, Karnataka, India
North Latitude
12.0020°
East Longitude
76.8290°
South Latitude
11.6670°
West Longitude
76.5140°

Temporal

Start Date:
End Date:

Content

README.md

Data, model ensemble and code for "Hydraulic heads reveal the flow-controlled organization of nitrate persistence in a fractured aquifer of southern India"

Resource authors: Baibaswata Bhaduri, Laurent Ruiz, Jean Riotte and Sekhar Muddu. Paper: Bhaduri, Kuppel, Ruiz, Hrachowitz, Riotte and Muddu, Hydrogeology Journal (manuscript HYJO-D-26-00493). Contact: Baibaswata Bhaduri (bbhaduri@ucdavis.edu).

Summary

This resource contains the observations, the groundwater model ensemble and the code behind the paper. Hydraulic conductivity in three directions, recharge and pumping were estimated from 44 December 2018 heads in the Berambadi aquifer (South Gundal basin, Karnataka, India) with FEFLOW 10.0 and PESTPP-IES (an iterative ensemble smoother). The posterior Darcy-flux fields were then tested against nitrate surveys and borehole-fracture imagery that were not used in calibration. The persistent nitrate hotspot lies in a low-flow core in 94% of the 189 posterior realizations, and in 77–100% under two alternative recharge–pumping structures. The scripts here reproduce these numbers and all figures from the files provided.

Coordinates, units and coverage

  • Coordinates: WGS 84 / UTM zone 43N (EPSG:32643), in meters. The borehole imagery log also gives latitude and longitude (WGS 84).
  • Heads in m above mean sea level (m asl); depth to water in m below ground; Darcy flux in m d⁻¹.
  • Model domain: 8.9 km × 7.1 km (62 km²), 76.614–76.696° E, 11.761–11.825° N. Reference area for all flow statistics: the Berambadi watershed inside the domain (20.8 km²).
  • Time: monthly heads May 2010 to July 2021; calibration snapshot December 2018; boundary heads from the November 2018 regional equipotentials; nitrate surveys August 2012 to January 2020.

Contents

README.md data/ observations/ field data used in calibration and in the independent tests gis.zip shapefiles: watersheds, model domain, mesh nodes, pilot points, regional equipotentials model/ feflow/ FEFLOW 10.0 model file pestpp_ies_main/ control files, ensembles and run record of the reported inversion realizations/ per-realization flow solutions (three zip archives) code/ python/ analysis: fracture statistics, flow diagnostics, figure data matlab/ all figures of the paper output/ fig_data.mat figure data written by code/python/make_fig_data.py

data/observations

File Content
heads_calibration_dec2018_44wells.csv The 44 calibration heads. well (well ID), obs_name (PEST observation name), X, Y, head_dec2018_m (m asl; ground elevation minus depth to water), sigma_m (standard deviation of the head error, m).
monitoring_wells_depth_to_water_monthly.csv 208 monitoring wells of the Berambadi network. well, X, Y, ground_elev_m (GPS ground elevation, m asl), then one column per survey date (YYYY-MM-DD, 123 dates from May 2010 to July 2021) with the depth to water (m below ground). Owner and village descriptions were removed.
nitrate_surveys_2012_2020.csv 1,546 nitrate analyses from ten surveys. id (sample label), bid (well ID, as in the head files), survey, date, no3 (mg L⁻¹ as NO₃⁻), X, Y.
major_ions_surveys.csv 549 major-ion analyses. id, survey, X, Y; NO3, Cl, Si, F, SO4 in µmol L⁻¹; Alk (alkalinity, µeq L⁻¹); EC (electrical conductivity, µS cm⁻¹); pH.
borehole_imagery_fracture_log.csv Borehole camera log of 84 boreholes as recorded in the field. camera_id (C001 to C084), diam_in (diameter, inch), lat, lon, X, Y, swl_ft (static water level at imaging, ft below ground), casing_ft, fractures_ft (depths of horizontal fractures, ft; a-b marks an interval), dry_ft (dry fractures, ft), total_depth_ft.
south_gundal_wells_depth_to_water_2009_2023.csv 238 wells of the regional South Gundal network, surveyed about twice a year. sg_id, gps_time, X, Y, ground_elev_m (GPS ground elevation, m asl), then one column per survey (YYYY-MM, November 2009 to November 2023) with the depth to water (m below ground), and drilled_length_as_recorded. Non-numeric entries are field status notes as recorded (for example Dryed, Closed, Sealed, Removed, Struggled). The November 2018 survey underlies the regional equipotentials. Owner names were removed.
monitoring_well_id_crosswalk.csv Well IDs of this resource (well, B numbers) and of the companion phase-portrait resource (well_id_jgr, D numbers) for the 120 wells common to both, with X, Y.

data/gis.zip

Seven shapefiles (each with .shp, .shx, .dbf and .prj), in WGS 84 / UTM zone 43N. Unzip in place to create data/gis/, which the code reads.

File Content
berambadi_watershed.shp Berambadi watershed boundary.
south_gundal_watershed.shp South Gundal watershed boundary.
model_domain.shp The FEFLOW model domain (8.9 km × 7.1 km).
regional_equipotentials_nov2018.shp Regional equipotentials of the South Gundal basin, November 2018 (polyline Z; Z is head in m asl). They set the fixed (Dirichlet) heads along the model perimeter.
feflow_mesh_nodes.shp FEFLOW mesh nodes (NODE, SLICE, X, Y, Z; 2,093 nodes on each of two slices).
pilot_points_K.shp The 182 pilot points of K_x, K_y and K_z.
pilot_points_recharge_pumping.shp The 26 pilot points of recharge and of the pumping multiplier.

model/feflow

File Content
HYJO.fem FEFLOW 10.0 steady-state model used by the inversions: one layer of 4,016 triangular prismatic elements (2,093 nodes on each of two slices) with fixed heads along the perimeter. FePEST writes the parameter fields of each realization into it.

The two alternative structures used the same mesh and boundary heads with a different source–sink term (Section 2.3.4 of the paper); their posterior flow solutions are in model/realizations.

model/pestpp_ies_main

Ensembles and records of the reported inversion (PESTPP-IES 5.1.16; 200 prior realizations, 11 failed in the first forward run, 189 retained; 598 parameters; 44 observations; nine iterations).

File Content
hyjo.0.par.csv Prior parameter ensemble (200 realizations).
hyjo.9.par.csv Posterior parameter ensemble (189 realizations).
hyjo.0.obs.csv, hyjo.9.obs.csv Simulated heads at the 44 wells (m asl) for the prior and the posterior.
hyjo.obsnoise.csv Realizations of the observation noise added to the heads.
hyjo.phi.actual.csv Objective function per iteration and realization.
hyjo.rec PESTPP-IES run record, including all settings.
hyjo.pst, hyjo.tpl, hyjo.ins Control, template and instruction files of the reported run, regenerated from the parameter, observation and option records in hyjo.rec, because the FePEST project was later reused for other runs. The original run also read a parameter covariance file (param.unc) that was not kept; the prior ensemble hyjo.0.par.csv takes its place.

Parameter names: xco_*, yco_*, zco_* are K_x, K_y and K_z (m d⁻¹) at the 182 K pilot points; rch_* is recharge (m d⁻¹) and pmp_* the pumping multiplier (dimensionless) at the 26 recharge–pumping pilot points. Observation names hea_* match obs_name in heads_calibration_dec2018_44wells.csv.

model/realizations

Steady-state flow solutions exported from FEFLOW, one CSV per realization and one row per mesh node: node, head (m asl), qx, qy, qz (Darcy-flux components, m d⁻¹).

Archive Content
main_recharge_pumping.zip Reported model, spatially variable recharge and pumping (189 realizations).
recharge_only.zip Alternative structure with recharge only (82 realizations).
net_vertical_flux.zip Alternative structure with a net vertical flux that can be negative (76 realizations).

code

File Content
python/common.py Paths (relative to this folder), loaders, regridding of the nodal solutions to a 50 m grid, low-flow probability P (Eq. 10) and core metric F_core (Eq. 11).
python/fractures.py Fracture saturation at the 81 imaged boreholes (Section 3.2, Fig. 7); writes data/observations/borehole_fractures_81.csv (per borehole: fracture depths in m, interpolated December 2018 and long-term depth to water, imaged and submerged fractures, distance from the hotspot core).
python/make_fig_data.py Flow diagnostics for the three structures and all figure data; writes output/fig_data.mat.
python/requirements.txt Python dependencies.
matlab/fig_all.m Figures 1 to 7 and A1 to A3 from output/fig_data.mat and data/gis (MATLAB R2019a or later, no toolboxes).

Reproducing the results

  1. Install Python 3.10 or later and the dependencies: pip install -r code/python/requirements.txt (tested with Python 3.13, NumPy 2.5, pandas 3.0, SciPy 1.18, Matplotlib 3.11 and pyshp 3.1).
  2. Unzip data/gis.zip and the three archives in model/realizations in place; each creates a folder of the same name.
  3. python code/python/fractures.py prints the fracture statistics of Section 3.2 (for example 29% of fractures submerged within 1 km of the core against 89% beyond) and writes data/observations/borehole_fractures_81.csv.
  4. python code/python/make_fig_data.py writes output/fig_data.mat and prints F_core for the reported model and the two alternative structures (0.942, 0.768 and 1.000).
  5. In MATLAB, run code/matlab/fig_all.m; the figures are written to figures/.
  6. To repeat the inversion, run PESTPP-IES 5.1 with model/pestpp_ies_main/hyjo.pst. The model call (run_model.bat) is the FePEST wrapper: it writes the pilot-point values (hyjo.fpi) into HYJO.fem by inverse-distance interpolation (Eq. 3 of the paper; pilot points in data/gis) and returns the simulated heads at the 44 wells (hyjo.fpo). Set up this wrapper again in FePEST, or replace it with a script.

Data sources

Heads, nitrate and major ions come from the monitoring network of the Berambadi catchment, part of the Kabini Critical Zone Observatory (M-TROPICS, https://mtropics.obs-mip.fr/; Indo-French Cell for Water Sciences, Indian Institute of Science, Bangalore). Longer records are available through M-TROPICS. The regional South Gundal heads come from the same observatory. The borehole imagery was collected between November 2025 and January 2026 with a downhole inspection camera and is reported here as logged.

Related resources

The monitoring heads, the borehole camera logs and the catchment boundary are also part of the companion resource for Bhaduri, Chaudhuri, Ruiz and Muddu (submitted to JGR: Solid Earth), on phase portraits of the same hydrographs. The values are identical; the monitoring wells carry different IDs there (see monitoring_well_id_crosswalk.csv), and the camera IDs C001 to C084 are the same.

License and citation

Released under the Creative Commons Attribution 4.0 International license (CC BY 4.0). Please cite the paper and this resource.

Related Resources

This resource is required by Bhaduri B, Kuppel S, Ruiz L, Hrachowitz M, Riotte J, Sekhar M (in review) Hydraulic heads reveal the flow-controlled organization of nitrate persistence in a fractured aquifer of southern India. Hydrogeology Journal

Credits

Funding Agencies

This resource was created using funding from the following sources:
Agency Name Award Title Award Number
Indian Institute of Science None SP/INRA-17-0002
Agence Nationale de la Recherche ATCHA ANR-16-CE03-0006

Contributors

People or Organizations that contributed technically, materially, financially, or provided general support for the creation of the resource's content but are not considered authors.

Name Organization Address Phone Author Identifiers
Sylvain Kuppel Géosciences Environnement Toulouse (Université Paul-Sabatier, IRD, CNRS)
Markus Hrachowitz Department of Water Management, Delft University of Technology

How to Cite

Bhaduri, B., Ruiz, L., Riotte, J., Sekhar, M. (2026). Data, model ensemble and code for "Hydraulic heads reveal the flow-controlled organization of nitrate persistence in a fractured aquifer of southern India", HydroShare, https://doi.org/10.4211/hs.c04bfe8ee040479b9b521065517eb427

This resource is shared under the Creative Commons Attribution CC BY.

http://creativecommons.org/licenses/by/4.0/
CC-BY

Comments

There are currently no comments

New Comment

required