1D Pyrite Oxidation with BYO(Build your own model files)

This tutorial reproduces the marine-sediment oxidation experiment of Appelo et al. (1998): a column of pyrite-bearing sediment is first flushed with a dilute MgCl\ :sub:2 solution and then with an oxidising solution, driving pyrite oxidation and a cascade of secondary reactions (calcite dissolution, cation/proton exchange, organic-matter oxidation, surface complexation).

It uses the classic workflow (BYO): build the :class:~mf6rtm.mup3d.base.Mup3d model first, then construct the MODFLOW 6 flow + per-component transport models yourself. The classic workflow injects the inflow chemistry directly into the well as per-period auxiliary concentrations, so the injected water can change between stress periods (dilute in period 0, oxidising in period 1).

import os

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import flopy

from mf6rtm import utils, mup3d

BASE = "." if os.path.isdir("data") else os.path.join("docs", "tutorials")
DATA = os.path.join(BASE, "data")

1. Discretization and flow

A 5.3 cm column in 16 cells, run in two stress periods: a dilute flush (period 0) followed by the oxidising flush (period 1). The injection well at the inlet runs at the same rate in both periods; only its chemistry changes.

length_units = "meters"
time_units = "days"

nlay, nrow, ncol = 1, 1, 16
Lx = 0.053
delr = Lx / ncol
delc = 1.0
top = 2.87433e-03
botm = np.linspace(top, 0.0, nlay + 1)[1:]

k11 = 1.0
prsity = 0.376
dispersivity = 0.00537

q = 2.4e-4  # injection rate (m3/d)

nper = 2
nstp = [64, 100]
perlen = [0.9333, 1.45833]
tdis_rc = [(pl, ns, 1.0) for pl, ns in zip(perlen, nstp)]

# constant head at the outlet; injection well at the inlet in both periods
chdspd = [[(0, 0, ncol - 1), 1.0]]
wel_spd = {kper: [[(0, 0, 0), q]] for kper in range(nper)}

2. Geochemistry — defining the reaction network

mf6rtm mirrors PHREEQC’s chemistry blocks as mup3d classes. Every input type follows the same pattern: load the data (here from CSV via a utils helper), wrap it in the matching class, and place it with .set_ic(...) — an integer zone number for uniform chemistry, or a (nlay, nrow, ncol) array of zone numbers for spatially varying chemistry. The objects are attached to the Mup3d model in the next section.

Solutions — the aqueous waters (pH, pe, element totals), one per column. Column 1 is the initial pore water (applied everywhere); columns 2 and 3 are the dilute and oxidising inflow waters injected in periods 0 and 1.

solutionsdf = pd.read_csv(os.path.join(DATA, "tut02_solutions.csv"),
                          comment="#", index_col=0)
solutions = utils.solution_df_to_dict(solutionsdf)
solution = mup3d.Solutions(solutions)
solution.set_ic(np.ones((nlay, nrow, ncol), dtype=float))
solutionsdf
cinit cin_1 cin_2
comp
Ca 0.000386 1.000000e-06 1.000000e-07
Cl 0.020070 5.301000e-03 1.020000e-02
Mg 0.010000 2.650000e-03 5.100000e-03
Fe(+2) 0.000001 1.000000e-08 2.000000e-07
Fe(+3) 0.000000 0.000000e+00 0.000000e+00
S(6) 0.000010 1.000000e-08 2.000000e-07
S(-2) 0.000000 0.000000e+00 0.000000e+00
C(+4) 0.000586 1.000000e-06 1.000000e-07
C(-4) 0.000000 0.000000e+00 0.000000e+00
Orgc_sed 0.890000 0.000000e+00 0.000000e+00
pH 9.104000 7.000000e+00 7.000000e+00
pe -4.812000 1.587150e+01 1.450000e+01

Exchange phases — cation-exchange sites (PHREEQC EXCHANGE). The column is split into four zones with different exchanger amounts; the set_ic array maps cells 0–3 → zone 1, 4–7 → zone 2, and so on. set_equilibrate_solutions pre-equilibrates each zone’s exchanger with the given solution number before the run.

excdf = pd.read_csv(os.path.join(DATA, "tut02_exchange.csv"), comment="#", index_col=0)
excdf.columns = [0, 1, 2, 3]
exchanger_dict = excdf.to_dict()
for _z, subdict in exchanger_dict.items():
    for key in subdict:
        subdict[key] = {"m0": subdict[key]}
exchanger = mup3d.ExchangePhases(exchanger_dict)

exchanger_ic = np.ones((nlay, nrow, ncol), dtype=float)
exchanger_ic[0, 0, :4] = 1
exchanger_ic[0, 0, 4:8] = 2
exchanger_ic[0, 0, 8:12] = 3
exchanger_ic[0, 0, 12:] = 4
exchanger.set_ic(exchanger_ic)
exchanger.set_equilibrate_solutions([1, 1, 1, 1])

Kinetic phases — rate-controlled reactions (PHREEQC KINETICS): pyrite and organic-matter oxidation, the drivers of this experiment. parse_kinetics_dataframe builds the per-phase parameter dict; set_ic(1) applies the same kinetics to every cell.

kin_df = pd.read_csv(os.path.join(DATA, "tut02_kinetic_phases.csv"))
kin_phases = utils.parse_kinetics_dataframe(kin_df)
kin_phases[1]["Orgc_sed"]["formula"] = "Orgc_sed -1.0 C 1.0"
kinetics = mup3d.KineticPhases(kin_phases)
kinetics.set_ic(1)

Equilibrium phases & surfacesEquilibriumPhases are minerals kept at equilibrium each step (PHREEQC EQUILIBRIUM_PHASES, here calcite); Surfaces are surface-complexation sites (PHREEQC SURFACE). Both are uniform, so set_ic(1).

eqp_df = pd.read_csv(os.path.join(DATA, "tut02_equilibrium_phases.csv"))
equilibriums = mup3d.EquilibriumPhases(utils.parse_equilibriums_dataframe(eqp_df))
equilibriums.set_ic(1)

surfaces = mup3d.Surfaces(utils.surfaces_csv_to_dict(
    os.path.join(DATA, "tut02_surfaces.csv")))
surfaces.set_ic(1)

3. Build the Mup3d model and assign inflow chemistry

Create the model, attach every phase type, and initialize PhreeqcRM. Then map the inflow solutions to the well per stress period with set_spd([2, 3]) (solution 2 in period 0, solution 3 in period 1). set_chem_stress stores the per-period component concentrations in model.wel.data.

sim_ws = os.path.join(BASE, "_tutorial02_run")
model = mup3d.Mup3d("pyrite_oxidation", solution, nlay, nrow, ncol)
model.set_wd(sim_ws)
model.set_database(os.path.join(DATA, "tut02_datab.dat"))
model.set_initial_temp([7.0, 7.0, 7.0])
model.set_postfix(os.path.join(DATA, "tut02_postfix.phqr"))

model.set_exchange_phases(exchanger)
model.set_phases(kinetics)
model.set_phases(equilibriums)
model.set_phases(surfaces)

model.initialize()

# inflow chemistry: solution 2 (dilute) in period 0, solution 3 (oxidising) in period 1
wellchem = mup3d.ChemStress("wel")
wellchem.set_spd([2, 3])
model.set_chem_stress(wellchem)

# append the per-period component concentrations to the well stress period data
for kper in wel_spd:
    for i in range(len(wel_spd[kper])):
        wel_spd[kper][i].extend(model.wel.data[kper])
Using temperatue of 7.0 from SOLUTION 1 for all cells
MF6RTM will run with the following configuration:
  Reactive: True
  Reaction timing: all
  External files flag: False
  Emulator flag: False
  Min concentration: None (no clipping)
  Reactions calculated at all time steps
Phreeqc initialized
Initializing ChemStress
ChemStress wel initialized

4. Build the flow + per-component transport models

The well injects the components as auxiliary variables (per period); one GWT model is then built per chemical component, each sourcing the well auxiliary.

def build_model(model):
    sim = flopy.mf6.MFSimulation(sim_name=model.name, sim_ws=model.wd, exe_name="mf6")
    flopy.mf6.ModflowTdis(sim, nper=nper, perioddata=tdis_rc, time_units=time_units)

    # --- GWF flow model ---
    gwf = flopy.mf6.ModflowGwf(sim, modelname="gwf", save_flows=True)
    imsgwf = flopy.mf6.ModflowIms(sim, complexity="complex", linear_acceleration="CG",
                                  filename="gwf.ims")
    sim.register_ims_package(imsgwf, [gwf.name])

    flopy.mf6.ModflowGwfdis(gwf, length_units=length_units, nlay=nlay, nrow=nrow,
                            ncol=ncol, delr=delr, delc=delc, top=top, botm=botm,
                            filename="gwf.dis")
    flopy.mf6.ModflowGwfnpf(gwf, save_specific_discharge=True, save_saturation=True,
                            icelltype=1, k=k11, filename="gwf.npf")
    flopy.mf6.ModflowGwfic(gwf, strt=1.0, filename="gwf.ic")
    flopy.mf6.ModflowGwfchd(gwf, stress_period_data=chdspd, pname="chd",
                            filename="gwf.chd")
    flopy.mf6.ModflowGwfwel(gwf, stress_period_data=wel_spd, auxiliary=model.components,
                            pname="wel", filename="gwf.wel")
    flopy.mf6.ModflowGwfoc(gwf, head_filerecord="gwf.hds", budget_filerecord="gwf.cbb",
                           saverecord=[("HEAD", "ALL"), ("BUDGET", "ALL")])

    # --- one GWT model per component ---
    for c in model.components:
        gwt = flopy.mf6.MFModel(sim, model_type="gwt6", modelname=c,
                                model_nam_file=f"{c}.nam")
        imsgwt = flopy.mf6.ModflowIms(sim, linear_acceleration="BICGSTAB",
                                      filename=f"{c}.ims")
        sim.register_ims_package(imsgwt, [gwt.name])

        flopy.mf6.ModflowGwtdis(gwt, length_units=length_units, nlay=nlay, nrow=nrow,
                                ncol=ncol, delr=delr, delc=delc, top=top, botm=botm,
                                filename=f"{c}.dis")
        flopy.mf6.ModflowGwtic(gwt, strt=model.sconc[c], filename=f"{c}.ic")
        flopy.mf6.ModflowGwtssm(gwt, sources=[["wel", "aux", c]], filename=f"{c}.ssm")
        flopy.mf6.ModflowGwtadv(gwt, scheme="tvd")
        flopy.mf6.ModflowGwtdsp(gwt, xt3d_off=True, alh=dispersivity,
                                ath1=dispersivity * 0.1, filename=f"{c}.dsp")
        flopy.mf6.ModflowGwtmst(gwt, porosity=prsity, filename=f"{c}.mst")
        flopy.mf6.ModflowGwtoc(gwt, concentration_filerecord=f"{c}.ucn",
                               saverecord=[("CONCENTRATION", "ALL")])
        flopy.mf6.ModflowGwfgwt(sim, exgtype="GWF6-GWT6", exgmnamea="gwf",
                                exgmnameb=c, filename=f"{c}.gwfgwt")

    sim.write_simulation()
    return sim


sim = build_model(model)
writing simulation...
  writing simulation name file...
  writing simulation tdis package...
  writing solution package ims_-1...
  writing solution package ims_0...
  writing solution package ims_1...
  writing solution package ims_2...
  writing solution package ims_3...
  writing solution package ims_4...
  writing solution package ims_5...
  writing solution package ims_6...
  writing solution package ims_7...
  writing solution package ims_8...
  writing solution package ims_9...
  writing package H.gwfgwt...
  writing package O.gwfgwt...
  writing package Charge.gwfgwt...
  writing package C.gwfgwt...
  writing package Ca.gwfgwt...
  writing package Cl.gwfgwt...
  writing package Fe.gwfgwt...
  writing package Mg.gwfgwt...
  writing package Orgc_sed.gwfgwt...
  writing package S.gwfgwt...
  writing model gwf...
    writing model name file...
    writing package dis...
    writing package npf...
    writing package ic...
    writing package chd...
INFORMATION: maxbound in ('gwf6', 'chd', 'dimensions') changed to 1 based on size of stress_period_data
    writing package wel...
INFORMATION: maxbound in ('gwf6', 'wel', 'dimensions') changed to 1 based on size of stress_period_data
    writing package oc...
  writing model H...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model O...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Charge...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model C...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Ca...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Cl...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Fe...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Mg...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model Orgc_sed...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...
  writing model S...
    writing model name file...
    writing package dis...
    writing package ic...
    writing package ssm...
    writing package adv...
    writing package dsp...
    writing package mst...
    writing package oc...

5. Run

# Stage the platform's MODFLOW 6 binaries into the run directory (pixi fetches
# them into ``benchmark/bin``) so the solver finds libmf6 locally.
utils.prep_bins(model.wd, src_path=os.path.join(BASE, "..", "..", "benchmark", "bin"))

model.run()
Running mf6rtm
Using libmf6 found in model directory: libmf6.dylib
Processing initial chemistry configuration
Starting Solution at 2026-07-20 15:57:02
Transport       | Stress period:  1     | Time step:      1          | Completed in :  0 min   1.03e-06 sec
Reactions       | Stress period:  1     | Time step:      1          | Completed in :  0 min   1.11e-04 sec
Transport       | Stress period:  1     | Time step:      2          | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  1     | Time step:      2          | Completed in :  0 min   8.82e-04 sec
Transport       | Stress period:  1     | Time step:      3          | Completed in :  0 min   1.58e-06 sec
Reactions       | Stress period:  1     | Time step:      3          | Completed in :  0 min   7.54e-04 sec
Transport       | Stress period:  1     | Time step:      4          | Completed in :  0 min   1.37e-06 sec
Reactions       | Stress period:  1     | Time step:      4          | Completed in :  0 min   5.70e-04 sec
Transport       | Stress period:  1     | Time step:      5          | Completed in :  0 min   1.22e-06 sec
Reactions       | Stress period:  1     | Time step:      5          | Completed in :  0 min   5.61e-04 sec
Transport       | Stress period:  1     | Time step:      6          | Completed in :  0 min   1.22e-06 sec
Reactions       | Stress period:  1     | Time step:      6          | Completed in :  0 min   5.60e-04 sec
Transport       | Stress period:  1     | Time step:      7          | Completed in :  0 min   1.23e-06 sec
Reactions       | Stress period:  1     | Time step:      7          | Completed in :  0 min   5.43e-04 sec
Transport       | Stress period:  1     | Time step:      8          | Completed in :  0 min   1.50e-06 sec
Reactions       | Stress period:  1     | Time step:      8          | Completed in :  0 min   5.37e-04 sec
Transport       | Stress period:  1     | Time step:      9          | Completed in :  0 min   1.40e-06 sec
Reactions       | Stress period:  1     | Time step:      9          | Completed in :  0 min   5.48e-04 sec
Transport       | Stress period:  1     | Time step:      10         | Completed in :  0 min   1.42e-06 sec
Reactions       | Stress period:  1     | Time step:      10         | Completed in :  0 min   5.14e-04 sec
Transport       | Stress period:  1     | Time step:      11         | Completed in :  0 min   1.65e-06 sec
Reactions       | Stress period:  1     | Time step:      11         | Completed in :  0 min   5.14e-04 sec
Transport       | Stress period:  1     | Time step:      12         | Completed in :  0 min   1.30e-06 sec
Reactions       | Stress period:  1     | Time step:      12         | Completed in :  0 min   4.83e-04 sec
Transport       | Stress period:  1     | Time step:      13         | Completed in :  0 min   1.75e-06 sec
Reactions       | Stress period:  1     | Time step:      13         | Completed in :  0 min   4.58e-04 sec
Transport       | Stress period:  1     | Time step:      14         | Completed in :  0 min   1.45e-06 sec
Reactions       | Stress period:  1     | Time step:      14         | Completed in :  0 min   4.35e-04 sec
Transport       | Stress period:  1     | Time step:      15         | Completed in :  0 min   1.20e-06 sec
Reactions       | Stress period:  1     | Time step:      15         | Completed in :  0 min   4.10e-04 sec
Transport       | Stress period:  1     | Time step:      16         | Completed in :  0 min   1.38e-06 sec
Reactions       | Stress period:  1     | Time step:      16         | Completed in :  0 min   3.98e-04 sec
Transport       | Stress period:  1     | Time step:      17         | Completed in :  0 min   1.23e-06 sec
Reactions       | Stress period:  1     | Time step:      17         | Completed in :  0 min   3.80e-04 sec
Transport       | Stress period:  1     | Time step:      18         | Completed in :  0 min   1.40e-06 sec
Reactions       | Stress period:  1     | Time step:      18         | Completed in :  0 min   3.77e-04 sec
Transport       | Stress period:  1     | Time step:      19         | Completed in :  0 min   1.25e-06 sec
Reactions       | Stress period:  1     | Time step:      19         | Completed in :  0 min   3.71e-04 sec
Transport       | Stress period:  1     | Time step:      20         | Completed in :  0 min   1.27e-06 sec
Reactions       | Stress period:  1     | Time step:      20         | Completed in :  0 min   3.55e-04 sec
Transport       | Stress period:  1     | Time step:      21         | Completed in :  0 min   1.45e-06 sec
Reactions       | Stress period:  1     | Time step:      21         | Completed in :  0 min   3.59e-04 sec
Transport       | Stress period:  1     | Time step:      22         | Completed in :  0 min   1.20e-06 sec
Reactions       | Stress period:  1     | Time step:      22         | Completed in :  0 min   3.64e-04 sec
Transport       | Stress period:  1     | Time step:      23         | Completed in :  0 min   1.42e-06 sec
Reactions       | Stress period:  1     | Time step:      23         | Completed in :  0 min   3.70e-04 sec
Transport       | Stress period:  1     | Time step:      24         | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  1     | Time step:      24         | Completed in :  0 min   3.72e-04 sec
Transport       | Stress period:  1     | Time step:      25         | Completed in :  0 min   1.40e-06 sec
Reactions       | Stress period:  1     | Time step:      25         | Completed in :  0 min   3.70e-04 sec
Transport       | Stress period:  1     | Time step:      26         | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  1     | Time step:      26         | Completed in :  0 min   3.72e-04 sec
Transport       | Stress period:  1     | Time step:      27         | Completed in :  0 min   1.47e-06 sec
Reactions       | Stress period:  1     | Time step:      27         | Completed in :  0 min   3.48e-04 sec
Transport       | Stress period:  1     | Time step:      28         | Completed in :  0 min   1.35e-06 sec
Reactions       | Stress period:  1     | Time step:      28         | Completed in :  0 min   3.48e-04 sec
Transport       | Stress period:  1     | Time step:      29         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  1     | Time step:      29         | Completed in :  0 min   3.46e-04 sec
Transport       | Stress period:  1     | Time step:      30         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  1     | Time step:      30         | Completed in :  0 min   3.57e-04 sec
Transport       | Stress period:  1     | Time step:      31         | Completed in :  0 min   9.50e-07 sec
Reactions       | Stress period:  1     | Time step:      31         | Completed in :  0 min   3.44e-04 sec
Transport       | Stress period:  1     | Time step:      32         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  1     | Time step:      32         | Completed in :  0 min   3.30e-04 sec
Transport       | Stress period:  1     | Time step:      33         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  1     | Time step:      33         | Completed in :  0 min   3.39e-04 sec
Transport       | Stress period:  1     | Time step:      34         | Completed in :  0 min   8.83e-07 sec
Reactions       | Stress period:  1     | Time step:      34         | Completed in :  0 min   3.43e-04 sec
Transport       | Stress period:  1     | Time step:      35         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  1     | Time step:      35         | Completed in :  0 min   3.38e-04 sec
Transport       | Stress period:  1     | Time step:      36         | Completed in :  0 min   1.40e-06 sec
Reactions       | Stress period:  1     | Time step:      36         | Completed in :  0 min   3.93e-04 sec
Transport       | Stress period:  1     | Time step:      37         | Completed in :  0 min   9.83e-07 sec
Reactions       | Stress period:  1     | Time step:      37         | Completed in :  0 min   3.56e-04 sec
Transport       | Stress period:  1     | Time step:      38         | Completed in :  0 min   1.12e-06 sec
Reactions       | Stress period:  1     | Time step:      38         | Completed in :  0 min   3.57e-04 sec
Transport       | Stress period:  1     | Time step:      39         | Completed in :  0 min   9.50e-07 sec
Reactions       | Stress period:  1     | Time step:      39         | Completed in :  0 min   3.38e-04 sec
Transport       | Stress period:  1     | Time step:      40         | Completed in :  0 min   1.05e-06 sec
Reactions       | Stress period:  1     | Time step:      40         | Completed in :  0 min   3.31e-04 sec
Transport       | Stress period:  1     | Time step:      41         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  1     | Time step:      41         | Completed in :  0 min   3.30e-04 sec
Transport       | Stress period:  1     | Time step:      42         | Completed in :  0 min   1.03e-06 sec
Reactions       | Stress period:  1     | Time step:      42         | Completed in :  0 min   3.27e-04 sec
Transport       | Stress period:  1     | Time step:      43         | Completed in :  0 min   8.83e-07 sec
Reactions       | Stress period:  1     | Time step:      43         | Completed in :  0 min   3.22e-04 sec
Transport       | Stress period:  1     | Time step:      44         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  1     | Time step:      44         | Completed in :  0 min   3.26e-04 sec
Transport       | Stress period:  1     | Time step:      45         | Completed in :  0 min   1.03e-06 sec
Reactions       | Stress period:  1     | Time step:      45         | Completed in :  0 min   3.26e-04 sec
Transport       | Stress period:  1     | Time step:      46         | Completed in :  0 min   1.05e-06 sec
Reactions       | Stress period:  1     | Time step:      46         | Completed in :  0 min   3.29e-04 sec
Transport       | Stress period:  1     | Time step:      47         | Completed in :  0 min   9.50e-07 sec
Reactions       | Stress period:  1     | Time step:      47         | Completed in :  0 min   3.28e-04 sec
Transport       | Stress period:  1     | Time step:      48         | Completed in :  0 min   1.17e-06 sec
Reactions       | Stress period:  1     | Time step:      48         | Completed in :  0 min   3.41e-04 sec
Transport       | Stress period:  1     | Time step:      49         | Completed in :  0 min   1.13e-06 sec
Reactions       | Stress period:  1     | Time step:      49         | Completed in :  0 min   3.42e-04 sec
Transport       | Stress period:  1     | Time step:      50         | Completed in :  0 min   1.10e-06 sec
Reactions       | Stress period:  1     | Time step:      50         | Completed in :  0 min   3.14e-04 sec
Transport       | Stress period:  1     | Time step:      51         | Completed in :  0 min   9.83e-07 sec
Reactions       | Stress period:  1     | Time step:      51         | Completed in :  0 min   3.25e-04 sec
Transport       | Stress period:  1     | Time step:      52         | Completed in :  0 min   1.12e-06 sec
Reactions       | Stress period:  1     | Time step:      52         | Completed in :  0 min   3.19e-04 sec
Transport       | Stress period:  1     | Time step:      53         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  1     | Time step:      53         | Completed in :  0 min   3.30e-04 sec
Transport       | Stress period:  1     | Time step:      54         | Completed in :  0 min   1.20e-06 sec
Reactions       | Stress period:  1     | Time step:      54         | Completed in :  0 min   3.34e-04 sec
Transport       | Stress period:  1     | Time step:      55         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  1     | Time step:      55         | Completed in :  0 min   3.13e-04 sec
Transport       | Stress period:  1     | Time step:      56         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  1     | Time step:      56         | Completed in :  0 min   3.08e-04 sec
Transport       | Stress period:  1     | Time step:      57         | Completed in :  0 min   1.07e-06 sec
Reactions       | Stress period:  1     | Time step:      57         | Completed in :  0 min   3.00e-04 sec
Transport       | Stress period:  1     | Time step:      58         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  1     | Time step:      58         | Completed in :  0 min   3.08e-04 sec
Transport       | Stress period:  1     | Time step:      59         | Completed in :  0 min   1.20e-06 sec
Reactions       | Stress period:  1     | Time step:      59         | Completed in :  0 min   2.92e-04 sec
Transport       | Stress period:  1     | Time step:      60         | Completed in :  0 min   9.83e-07 sec
Reactions       | Stress period:  1     | Time step:      60         | Completed in :  0 min   3.00e-04 sec
Transport       | Stress period:  1     | Time step:      61         | Completed in :  0 min   1.02e-06 sec
Reactions       | Stress period:  1     | Time step:      61         | Completed in :  0 min   3.04e-04 sec
Transport       | Stress period:  1     | Time step:      62         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  1     | Time step:      62         | Completed in :  0 min   2.94e-04 sec
Transport       | Stress period:  1     | Time step:      63         | Completed in :  0 min   8.83e-07 sec
Reactions       | Stress period:  1     | Time step:      63         | Completed in :  0 min   2.86e-04 sec
Transport       | Stress period:  1     | Time step:      64         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  1     | Time step:      64         | Completed in :  0 min   2.86e-04 sec
Transport       | Stress period:  2     | Time step:      1          | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      1          | Completed in :  0 min   2.94e-04 sec
Transport       | Stress period:  2     | Time step:      2          | Completed in :  0 min   1.30e-06 sec
Reactions       | Stress period:  2     | Time step:      2          | Completed in :  0 min   2.94e-04 sec
Transport       | Stress period:  2     | Time step:      3          | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  2     | Time step:      3          | Completed in :  0 min   2.97e-04 sec
Transport       | Stress period:  2     | Time step:      4          | Completed in :  0 min   1.23e-06 sec
Reactions       | Stress period:  2     | Time step:      4          | Completed in :  0 min   2.99e-04 sec
Transport       | Stress period:  2     | Time step:      5          | Completed in :  0 min   1.40e-06 sec
Reactions       | Stress period:  2     | Time step:      5          | Completed in :  0 min   3.11e-04 sec
Transport       | Stress period:  2     | Time step:      6          | Completed in :  0 min   1.23e-06 sec
Reactions       | Stress period:  2     | Time step:      6          | Completed in :  0 min   3.16e-04 sec
Transport       | Stress period:  2     | Time step:      7          | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  2     | Time step:      7          | Completed in :  0 min   3.19e-04 sec
Transport       | Stress period:  2     | Time step:      8          | Completed in :  0 min   1.32e-06 sec
Reactions       | Stress period:  2     | Time step:      8          | Completed in :  0 min   3.31e-04 sec
Transport       | Stress period:  2     | Time step:      9          | Completed in :  0 min   1.27e-06 sec
Reactions       | Stress period:  2     | Time step:      9          | Completed in :  0 min   3.48e-04 sec
Transport       | Stress period:  2     | Time step:      10         | Completed in :  0 min   1.35e-06 sec
Reactions       | Stress period:  2     | Time step:      10         | Completed in :  0 min   3.41e-04 sec
Transport       | Stress period:  2     | Time step:      11         | Completed in :  0 min   1.22e-06 sec
Reactions       | Stress period:  2     | Time step:      11         | Completed in :  0 min   3.28e-04 sec
Transport       | Stress period:  2     | Time step:      12         | Completed in :  0 min   1.58e-06 sec
Reactions       | Stress period:  2     | Time step:      12         | Completed in :  0 min   3.43e-04 sec
Transport       | Stress period:  2     | Time step:      13         | Completed in :  0 min   1.25e-06 sec
Reactions       | Stress period:  2     | Time step:      13         | Completed in :  0 min   3.52e-04 sec
Transport       | Stress period:  2     | Time step:      14         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      14         | Completed in :  0 min   3.39e-04 sec
Transport       | Stress period:  2     | Time step:      15         | Completed in :  0 min   1.22e-06 sec
Reactions       | Stress period:  2     | Time step:      15         | Completed in :  0 min   3.47e-04 sec
Transport       | Stress period:  2     | Time step:      16         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      16         | Completed in :  0 min   3.50e-04 sec
Transport       | Stress period:  2     | Time step:      17         | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  2     | Time step:      17         | Completed in :  0 min   3.48e-04 sec
Transport       | Stress period:  2     | Time step:      18         | Completed in :  0 min   1.22e-06 sec
Reactions       | Stress period:  2     | Time step:      18         | Completed in :  0 min   3.59e-04 sec
Transport       | Stress period:  2     | Time step:      19         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      19         | Completed in :  0 min   3.90e-04 sec
Transport       | Stress period:  2     | Time step:      20         | Completed in :  0 min   1.38e-06 sec
Reactions       | Stress period:  2     | Time step:      20         | Completed in :  0 min   3.78e-04 sec
Transport       | Stress period:  2     | Time step:      21         | Completed in :  0 min   2.97e-06 sec
Reactions       | Stress period:  2     | Time step:      21         | Completed in :  0 min   4.01e-04 sec
Transport       | Stress period:  2     | Time step:      22         | Completed in :  0 min   1.38e-06 sec
Reactions       | Stress period:  2     | Time step:      22         | Completed in :  0 min   4.10e-04 sec
Transport       | Stress period:  2     | Time step:      23         | Completed in :  0 min   1.25e-06 sec
Reactions       | Stress period:  2     | Time step:      23         | Completed in :  0 min   4.81e-04 sec
Transport       | Stress period:  2     | Time step:      24         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      24         | Completed in :  0 min   4.22e-04 sec
Transport       | Stress period:  2     | Time step:      25         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      25         | Completed in :  0 min   4.27e-04 sec
Transport       | Stress period:  2     | Time step:      26         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      26         | Completed in :  0 min   4.08e-04 sec
Transport       | Stress period:  2     | Time step:      27         | Completed in :  0 min   1.28e-06 sec
Reactions       | Stress period:  2     | Time step:      27         | Completed in :  0 min   3.93e-04 sec
Transport       | Stress period:  2     | Time step:      28         | Completed in :  0 min   1.27e-06 sec
Reactions       | Stress period:  2     | Time step:      28         | Completed in :  0 min   4.05e-04 sec
Transport       | Stress period:  2     | Time step:      29         | Completed in :  0 min   1.23e-06 sec
Reactions       | Stress period:  2     | Time step:      29         | Completed in :  0 min   3.87e-04 sec
Transport       | Stress period:  2     | Time step:      30         | Completed in :  0 min   1.22e-06 sec
WARNING: Negative moles in solution 0 for C, -6.066502e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.395885e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -2.248613e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -3.173225e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -4.178225e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -4.755068e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -5.094314e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -5.460239e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      30         | Completed in :  0 min   3.90e-04 sec
Transport       | Stress period:  2     | Time step:      31         | Completed in :  0 min   1.43e-06 sec
Reactions       | Stress period:  2     | Time step:      31         | Completed in :  0 min   3.86e-04 sec
Transport       | Stress period:  2     | Time step:      32         | Completed in :  0 min   1.32e-06 sec
Reactions       | Stress period:  2     | Time step:      32         | Completed in :  0 min   3.89e-04 sec
Transport       | Stress period:  2     | Time step:      33         | Completed in :  0 min   1.37e-06 sec
Reactions       | Stress period:  2     | Time step:      33         | Completed in :  0 min   3.82e-04 sec
Transport       | Stress period:  2     | Time step:      34         | Completed in :  0 min   1.37e-06 sec
Reactions       | Stress period:  2     | Time step:      34         | Completed in :  0 min   3.95e-04 sec
Transport       | Stress period:  2     | Time step:      35         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      35         | Completed in :  0 min   4.06e-04 sec
Transport       | Stress period:  2     | Time step:      36         | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      36         | Completed in :  0 min   4.19e-04 sec
Transport       | Stress period:  2     | Time step:      37         | Completed in :  0 min   1.07e-06 sec
Reactions       | Stress period:  2     | Time step:      37         | Completed in :  0 min   4.37e-04 sec
Transport       | Stress period:  2     | Time step:      38         | Completed in :  0 min   1.07e-06 sec
WARNING: Negative moles in solution 0 for C, -5.853989e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -6.275973e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -6.727258e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -2.959380e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -7.208024e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -9.737805e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -7.717981e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -1.695636e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -8.256428e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -2.466088e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -8.822197e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -3.289608e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      38         | Completed in :  0 min   4.33e-04 sec
Transport       | Stress period:  2     | Time step:      39         | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      39         | Completed in :  0 min   4.17e-04 sec
Transport       | Stress period:  2     | Time step:      40         | Completed in :  0 min   1.02e-06 sec
Reactions       | Stress period:  2     | Time step:      40         | Completed in :  0 min   4.18e-04 sec
Transport       | Stress period:  2     | Time step:      41         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      41         | Completed in :  0 min   4.30e-04 sec
Transport       | Stress period:  2     | Time step:      42         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  2     | Time step:      42         | Completed in :  0 min   4.40e-04 sec
Transport       | Stress period:  2     | Time step:      43         | Completed in :  0 min   9.33e-07 sec
Reactions       | Stress period:  2     | Time step:      43         | Completed in :  0 min   4.42e-04 sec
Transport       | Stress period:  2     | Time step:      44         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      44         | Completed in :  0 min   4.30e-04 sec
Transport       | Stress period:  2     | Time step:      45         | Completed in :  0 min   9.83e-07 sec
WARNING: Negative moles in solution 0 for C, -9.413629e-04. Recovering...
WARNING: Negative moles in solution 1 for C, -3.981689e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.002855e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -4.231929e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.066335e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -4.496478e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.131843e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -4.774188e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.198682e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -5.067931e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.251013e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -5.374682e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.296184e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -5.693735e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -7.767534e-06. Recovering...
Reactions       | Stress period:  2     | Time step:      45         | Completed in :  0 min   4.38e-04 sec
Transport       | Stress period:  2     | Time step:      46         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      46         | Completed in :  0 min   4.36e-04 sec
Transport       | Stress period:  2     | Time step:      47         | Completed in :  0 min   8.83e-07 sec
Reactions       | Stress period:  2     | Time step:      47         | Completed in :  0 min   4.59e-04 sec
Transport       | Stress period:  2     | Time step:      48         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      48         | Completed in :  0 min   4.75e-04 sec
Transport       | Stress period:  2     | Time step:      49         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      49         | Completed in :  0 min   4.81e-04 sec
Transport       | Stress period:  2     | Time step:      50         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      50         | Completed in :  0 min   4.84e-04 sec
Transport       | Stress period:  2     | Time step:      51         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      51         | Completed in :  0 min   4.96e-04 sec
Transport       | Stress period:  2     | Time step:      52         | Completed in :  0 min   9.17e-07 sec
WARNING: Negative moles in solution 0 for C, -1.341181e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -6.024443e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -6.243593e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.385677e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -6.365850e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -1.190085e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.429382e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -6.716911e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -1.775235e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.472024e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -7.076298e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -2.379699e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.513359e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -7.442710e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.002754e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.553170e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -7.814825e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.383371e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      52         | Completed in :  0 min   4.97e-04 sec
Transport       | Stress period:  2     | Time step:      53         | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      53         | Completed in :  0 min   5.10e-04 sec
Transport       | Stress period:  2     | Time step:      54         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  2     | Time step:      54         | Completed in :  0 min   4.96e-04 sec
Transport       | Stress period:  2     | Time step:      55         | Completed in :  0 min   9.67e-07 sec
Reactions       | Stress period:  2     | Time step:      55         | Completed in :  0 min   5.15e-04 sec
Transport       | Stress period:  2     | Time step:      56         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      56         | Completed in :  0 min   5.28e-04 sec
Transport       | Stress period:  2     | Time step:      57         | Completed in :  0 min   1.02e-06 sec
Reactions       | Stress period:  2     | Time step:      57         | Completed in :  0 min   5.22e-04 sec
Transport       | Stress period:  2     | Time step:      58         | Completed in :  0 min   1.07e-06 sec
WARNING: Negative moles in solution 0 for C, -1.591256e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -8.191042e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.532809e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.627459e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -8.569765e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.681708e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.661674e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -8.949940e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.829498e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.693797e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -9.330035e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -3.975217e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.723755e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -9.708490e-04. Recovering...
WARNING: Negative moles in solution 2 for C, -4.117902e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -7.917385e-07. Recovering...
WARNING: Negative moles in solution 0 for C, -1.751501e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.008375e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.256649e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -4.349669e-05. Recovering...
Reactions       | Stress period:  2     | Time step:      58         | Completed in :  0 min   5.17e-04 sec
Transport       | Stress period:  2     | Time step:      59         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  2     | Time step:      59         | Completed in :  0 min   5.29e-04 sec
Transport       | Stress period:  2     | Time step:      60         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      60         | Completed in :  0 min   5.35e-04 sec
Transport       | Stress period:  2     | Time step:      61         | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      61         | Completed in :  0 min   5.19e-04 sec
Transport       | Stress period:  2     | Time step:      62         | Completed in :  0 min   9.67e-07 sec
Reactions       | Stress period:  2     | Time step:      62         | Completed in :  0 min   5.31e-04 sec
Transport       | Stress period:  2     | Time step:      63         | Completed in :  0 min   1.02e-06 sec
Reactions       | Stress period:  2     | Time step:      63         | Completed in :  0 min   5.30e-04 sec
Transport       | Stress period:  2     | Time step:      64         | Completed in :  0 min   9.00e-07 sec
WARNING: Negative moles in solution 0 for C, -1.777012e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.045425e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.390627e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -8.651190e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.800288e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.081847e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.519149e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.296530e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.821348e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.117496e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.641610e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.726836e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.840229e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.152230e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.757788e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.153082e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.856981e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.185914e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.867375e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.571838e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.871666e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.218442e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -4.970439e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.838065e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.884353e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.249678e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.066971e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.900178e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      64         | Completed in :  0 min   5.36e-04 sec
Transport       | Stress period:  2     | Time step:      65         | Completed in :  0 min   1.03e-06 sec
Reactions       | Stress period:  2     | Time step:      65         | Completed in :  0 min   5.64e-04 sec
Transport       | Stress period:  2     | Time step:      66         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      66         | Completed in :  0 min   5.52e-04 sec
Transport       | Stress period:  2     | Time step:      67         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      67         | Completed in :  0 min   5.51e-04 sec
Transport       | Stress period:  2     | Time step:      68         | Completed in :  0 min   9.17e-07 sec
Reactions       | Stress period:  2     | Time step:      68         | Completed in :  0 min   5.54e-04 sec
Transport       | Stress period:  2     | Time step:      69         | Completed in :  0 min   1.00e-06 sec
Reactions       | Stress period:  2     | Time step:      69         | Completed in :  0 min   5.77e-04 sec
Transport       | Stress period:  2     | Time step:      70         | Completed in :  0 min   9.33e-07 sec
WARNING: Negative moles in solution 0 for C, -1.895127e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.279544e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.157477e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.953044e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.904078e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.307972e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.242745e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.995702e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.911295e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.332549e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.323620e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.027038e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.916871e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.345627e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.400727e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.046027e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.781302e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.920895e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.357542e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.474631e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.051752e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -6.277435e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.923455e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.368279e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.545419e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.043289e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -9.714935e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.924645e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.377856e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.615227e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.020644e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.306676e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      70         | Completed in :  0 min   5.83e-04 sec
Transport       | Stress period:  2     | Time step:      71         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      71         | Completed in :  0 min   5.87e-04 sec
Transport       | Stress period:  2     | Time step:      72         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      72         | Completed in :  0 min   5.91e-04 sec
Transport       | Stress period:  2     | Time step:      73         | Completed in :  0 min   1.02e-06 sec
Reactions       | Stress period:  2     | Time step:      73         | Completed in :  0 min   5.90e-04 sec
Transport       | Stress period:  2     | Time step:      74         | Completed in :  0 min   9.00e-07 sec
Reactions       | Stress period:  2     | Time step:      74         | Completed in :  0 min   5.79e-04 sec
Transport       | Stress period:  2     | Time step:      75         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      75         | Completed in :  0 min   5.84e-04 sec
Transport       | Stress period:  2     | Time step:      76         | Completed in :  0 min   5.67e-07 sec
Reactions       | Stress period:  2     | Time step:      76         | Completed in :  0 min   5.99e-04 sec
Transport       | Stress period:  2     | Time step:      77         | Completed in :  0 min   5.83e-07 sec
Reactions       | Stress period:  2     | Time step:      77         | Completed in :  0 min   6.11e-04 sec
Transport       | Stress period:  2     | Time step:      78         | Completed in :  0 min   5.83e-07 sec
Reactions       | Stress period:  2     | Time step:      78         | Completed in :  0 min   6.06e-04 sec
Transport       | Stress period:  2     | Time step:      79         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      79         | Completed in :  0 min   6.25e-04 sec
Transport       | Stress period:  2     | Time step:      80         | Completed in :  0 min   5.67e-07 sec
Reactions       | Stress period:  2     | Time step:      80         | Completed in :  0 min   6.19e-04 sec
Transport       | Stress period:  2     | Time step:      81         | Completed in :  0 min   6.33e-07 sec
Reactions       | Stress period:  2     | Time step:      81         | Completed in :  0 min   6.29e-04 sec
WARNING: Negative moles in solution 0 for C, -1.924548e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.386268e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.684006e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.983388e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.629756e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.923252e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.393531e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.752340e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.931602e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.936797e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.920839e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.399666e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.820730e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.865668e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.223507e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.917391e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.404704e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.889441e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.786339e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.485168e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.912982e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.408670e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -5.958772e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.694337e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.506400e-04. Recovering...
Transport       | Stress period:  2     | Time step:      82         | Completed in :  0 min   5.83e-07 sec
Reactions       | Stress period:  2     | Time step:      82         | Completed in :  0 min   6.36e-04 sec
Transport       | Stress period:  2     | Time step:      83         | Completed in :  0 min   7.00e-07 sec
Reactions       | Stress period:  2     | Time step:      83         | Completed in :  0 min   6.28e-04 sec
Transport       | Stress period:  2     | Time step:      84         | Completed in :  0 min   6.17e-07 sec
Reactions       | Stress period:  2     | Time step:      84         | Completed in :  0 min   6.39e-04 sec
Transport       | Stress period:  2     | Time step:      85         | Completed in :  0 min   7.17e-07 sec
Reactions       | Stress period:  2     | Time step:      85         | Completed in :  0 min   6.58e-04 sec
Transport       | Stress period:  2     | Time step:      86         | Completed in :  0 min   6.83e-07 sec
WARNING: Negative moles in solution 0 for C, -1.907690e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.411608e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.028733e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.591076e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.507100e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.901589e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.413566e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.099421e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.478335e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.493874e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.537825e-06. Recovering...
WARNING: Negative moles in solution 0 for C, -1.894745e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.414583e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.170659e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.357657e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.465850e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -3.102866e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.887224e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.414709e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.242195e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.230997e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.421900e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -5.969485e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.879061e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.413923e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.313463e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -2.100569e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.361515e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -8.725807e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.870324e-03. Recovering...
Reactions       | Stress period:  2     | Time step:      86         | Completed in :  0 min   6.69e-04 sec
Transport       | Stress period:  2     | Time step:      87         | Completed in :  0 min   6.50e-07 sec
Reactions       | Stress period:  2     | Time step:      87         | Completed in :  0 min   7.13e-04 sec
Transport       | Stress period:  2     | Time step:      88         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      88         | Completed in :  0 min   6.56e-04 sec
Transport       | Stress period:  2     | Time step:      89         | Completed in :  0 min   6.83e-07 sec
Reactions       | Stress period:  2     | Time step:      89         | Completed in :  0 min   6.61e-04 sec
Transport       | Stress period:  2     | Time step:      90         | Completed in :  0 min   6.50e-07 sec
Reactions       | Stress period:  2     | Time step:      90         | Completed in :  0 min   6.47e-04 sec
Transport       | Stress period:  2     | Time step:      91         | Completed in :  0 min   5.83e-07 sec
WARNING: Negative moles in solution 1 for C, -1.412324e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.384677e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.967483e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.283840e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.134056e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.861073e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.409969e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.455436e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.833900e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.188325e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.377783e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.851356e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.406888e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.525114e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.701670e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -2.075008e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.599824e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.841223e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.403126e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.593512e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.572554e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.944132e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.795796e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.830723e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.398741e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.660184e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.448024e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.796217e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.960987e-04. Recovering...
Reactions       | Stress period:  2     | Time step:      91         | Completed in :  0 min   6.97e-04 sec
Transport       | Stress period:  2     | Time step:      92         | Completed in :  0 min   6.17e-07 sec
Reactions       | Stress period:  2     | Time step:      92         | Completed in :  0 min   6.77e-04 sec
Transport       | Stress period:  2     | Time step:      93         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      93         | Completed in :  0 min   6.86e-04 sec
Transport       | Stress period:  2     | Time step:      94         | Completed in :  0 min   6.67e-07 sec
Reactions       | Stress period:  2     | Time step:      94         | Completed in :  0 min   6.65e-04 sec
Transport       | Stress period:  2     | Time step:      95         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      95         | Completed in :  0 min   6.51e-04 sec
Transport       | Stress period:  2     | Time step:      96         | Completed in :  0 min   5.83e-07 sec
WARNING: Negative moles in solution 0 for C, -1.819901e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.393779e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.724554e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.329530e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.632153e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -2.090525e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.808794e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.388281e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.786660e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.218286e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -1.453078e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -2.153089e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.797440e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.382288e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.845967e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.115015e-04. Recovering...
WARNING: Negative moles in solution 4 for C, -9.767438e-05. Recovering...
WARNING: Negative moles in solution 5 for C, -2.109214e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -2.544583e-06. Recovering...
WARNING: Negative moles in solution 0 for C, -1.785876e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.375845e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.902339e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -8.318858e-05. Recovering...
WARNING: Negative moles in solution 4 for C, -4.155235e-05. Recovering...
WARNING: Negative moles in solution 5 for C, -2.049569e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -2.694943e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.774138e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.368992e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -6.955540e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -5.704349e-05. Recovering...
WARNING: Negative moles in solution 5 for C, -1.973242e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -5.028400e-05. Recovering...
Reactions       | Stress period:  2     | Time step:      96         | Completed in :  0 min   6.69e-04 sec
Transport       | Stress period:  2     | Time step:      97         | Completed in :  0 min   6.67e-07 sec
Reactions       | Stress period:  2     | Time step:      97         | Completed in :  0 min   6.73e-04 sec
Transport       | Stress period:  2     | Time step:      98         | Completed in :  0 min   6.50e-07 sec
Reactions       | Stress period:  2     | Time step:      98         | Completed in :  0 min   6.33e-04 sec
Transport       | Stress period:  2     | Time step:      99         | Completed in :  0 min   6.00e-07 sec
Reactions       | Stress period:  2     | Time step:      99         | Completed in :  0 min   6.77e-04 sec
Transport       | Stress period:  2     | Time step:      100        | Completed in :  0 min   5.83e-07 sec
Reactions       | Stress period:  2     | Time step:      100        | Completed in :  0 min   7.06e-04 sec

MODFLOW 6 converged successfully without any fails
MODEL RUN FINISHED BUT CHECK THE RESULTS

Solution finished at 2026-07-20 15:57:07. Running time:   0.085496 mins
WARNING: Negative moles in solution 0 for C, -1.762248e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.361769e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -7.005413e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -3.385307e-05. Recovering...
WARNING: Negative moles in solution 5 for C, -1.879482e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -7.231593e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.750241e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.354209e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -7.051848e-04. Recovering...
WARNING: Negative moles in solution 3 for C, -1.363587e-05. Recovering...
WARNING: Negative moles in solution 5 for C, -1.767783e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -9.271144e-05. Recovering...
WARNING: Negative moles in solution 0 for C, -1.738142e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.346342e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -7.094925e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.591888e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -1.111780e-04. Recovering...
WARNING: Negative moles in solution 0 for C, -1.725973e-03. Recovering...
WARNING: Negative moles in solution 1 for C, -1.338204e-03. Recovering...
WARNING: Negative moles in solution 2 for C, -7.134284e-04. Recovering...
WARNING: Negative moles in solution 5 for C, -1.271992e-04. Recovering...
WARNING: Negative moles in solution 6 for C, -1.273275e-04. Recovering...
True

6. Results: effluent breakthrough curves

Concentrations at the outlet cell over the experiment, plotted against cumulative effluent volume and compared with the measured effluent data of Appelo et al. (1998). (These are real laboratory measurements, not another model.)

sout = pd.read_csv(os.path.join(model.wd, "sout.csv"))
qml = q * 1.0e6  # m3/d -> mL/d, so time (d) * qml = effluent volume (mL)
outlet = sout[sout["col"] == sout["col"].max()].copy()
outlet["vol"] = outlet["time_d"] * qml

# Measured effluent data (real experiment, not a model benchmark).
obs = pd.read_csv(os.path.join(DATA, "tut02_obs.txt"), sep="\t", skipinitialspace=True)
obs.replace(-9999, np.nan, inplace=True)
obs.dropna(axis=0, how="all", inplace=True)
obs.columns = ["vol", "Mg", "Ca", "Alk", "Cl", "S(6)", "pH"]
obs.set_index("vol", inplace=True)
obs = obs.iloc[3:, :]

plot_vars = [v for v in ["Mg", "Ca", "Alk", "S(6)", "pH"] if v in outlet.columns]

fig, axs = plt.subplots(len(plot_vars), 1, figsize=(7, 2.0 * len(plot_vars)),
                        sharex=True)
for ax, var in zip(np.atleast_1d(axs), plot_vars):
    ax.plot(outlet["vol"], outlet[var], color="tab:red", zorder=10, label="mf6rtm")
    if var in obs.columns:
        ax.scatter(obs.index, obs[var], s=18, facecolors="none",
                   edgecolors="green", label="Appelo (1998), observed")
    ax.set_ylabel(var)
    ax.grid(alpha=0.3)
    ax.legend(fontsize=8)
np.atleast_1d(axs)[-1].set_xlabel("effluent volume (mL)")
fig.suptitle("Pyrite oxidation column: outlet breakthrough")
fig.tight_layout()
../_images/8067a53d58c6cd6e3adacdaab0313acd541f6c9c64f1366bbb3bbb637b5fc2a2.png