Releases: usgs-coupled/phreeqcrm
Version 3.8.3-17023
Version 3.8.3: October 22, 2024
-----------------
October 8, 2024
-----------------
PHREEQC: Revised the multicomponent diffusion calculation of heat and solutes,
accounting now for the heat also for the T-dependent viscosity of the solutions.
-----------------
October 8, 2024
-----------------
PHREEQC: Corrected spelling errors throughout PHREEQC as supplied by Mike Toews.
Modified "lamda" to "lambda" internally as suggested by Toews, but "lamda" and
"lambda" are both acceptable in Pitzer database files for backward compatibility.
-----------------
October 8, 2024
-----------------
PHREEQC: Fixed bug in MIX that produced erroneous temperature and pressure
if the solutions being mixed did not have 1 kg of water. (Note that PHREEQC does
not consider the heat content of the solutions when the temperature of the mixture
is calculated.)
Full Changelog: v3.8.2...v3.8.3
Version 3.8.2-16969
Version 3.8.2: August 29, 2024
-----------------
August 27, 2024
-----------------
Added variable "viscos_DDL" in EDL("viscos_DDL", "surface_name") to give the
viscosity of a Donnan layer on a surface in BASIC. Note that the "surface_name"
should not contain an underscore "_", the Donnan properties are for the surface,
not for surface charge, thus use the surface name "Hfo", not "Hfo_w". If
"surface_name" is omitted, the viscosity is given for the first surface in the
alphabetical order.
The viscosity of the Donnan layer on a surface is printed now in the output file.
The viscosity calculation was adapted for high concentrations of neutral species
and gases. Viscosity parameters for CO2 were added using data from McBride et
al., 2015, JCED 60, 171-180. See example c:\phreeqc\viscosity\CO2.phr.
Full Changelog: v3.8.1...v3.8.2
Version 3.8.1-16963
Version 3.8.1: August 23, 2024
-----------------
August 20, 2024
-----------------
PhreeqcRM (Python): Expanded documentation in BMI Python example notebook for
PHREEQC example 11 (ex11-advect.ipynb), courtesy of LimnoTech.
-----------------
August 14, 2024
-----------------
IPhreeqc: Pull request for modifications of class definition order and header file to
accommodate Clang 15 on Mac.
-----------------
August 13, 2024
-----------------
IPhreeqc: This resolves an issue when building shared libraries (DLLs) on Windows with
BUILD_SHARED_LIBS=ON and BUILD_TESTING=ON enabled in CMake.
Sets BUILD_SHARED_LIBS=OFF when building the googletest framework.
Adds ctest-shared.cmake for testing shared library builds.
It also resolves a build error that occurred when building shared libraries (DLLs) on
Windows using the Ninja generator.
Adds the _WINDLL preprocessor definition for shared Windows builds.
-----------------
August 8, 2024
-----------------
PhreeqcRM (Python): Fixed one docstring. Added code to handle numpy arrays
in yamlphreeqc.
-----------------
July 11, 2024
-----------------
PHREEQC: Fixed a bug in the DUMP routines. Under some circumstances
erroneous output was dumped for a user number. In most cases, the
correct output was dumped following the erroneous output, which
caused the erroneous output to be ignored.
Full Changelog: v3.8.0...v3.8.1
PyPi Release 0.0.10
Python release based on phreeqcrm 3.8.0
Full Changelog: v0.0.9...v0.0.10
PyPi Release 0.0.9
Python release based on phreeqcrm 3.8.0
Full Changelog: v.0.0.5...v0.0.9
Version 3.8.0-16920
Version 3.8.0: July 11, 2024
-----------------
July 11, 2024
-----------------
PHREEQC: Fixed a bug in the DUMP routines. Under some circumstances
erroneous output was dumped for a user number. In most cases, the
correct output was dumped following the erroneous output, which
caused the erroneous output to be ignored.
-----------------
May 18, 2024
-----------------
DATABASES:
sit.dat was updated to version 12a (Aug 22, 2023) from www.thermochimie-tdb.com.
Amm.dat, iso.dat, llnl.dat, minteq.dat, minteq.v4.dat, phreeqc.dat,
phreeqc_rates.dat, pitzer.dat. Tipping_Hurley.dat, and wateq4f.dat were
reformatted by using the lsp utility by David Kinniburgh from phreeplot.org.
-----------------
May 3, 2024
-----------------
PHREEQC: The -dw identifier of SOLUTION_SPECIES now has up to 7 items.
-dw Dw(25C) dw_T a a2 visc a3 a_v_dif
where,
Dw(25C)--Tracer diffusion coefficient for the species at 25 °C, m 2 /s.
dw_T--Temperature dependence for diffusion coefficient.
a--Debye-Hückel ion size.
a2--exponent.
Visc--Viscosity exponent.
a3--Ionic strength exponent.
A_v_dif--Exponent for (viscosity_0/viscosity).
The diffusion coefficient is calculated as follows:
Dw = Dw(25C) * exp(dw_T / T - dw_T / 298.15)
ka = DH_B * a2 * I0.5/ (1 + a3)
av = (viscos_0/viscos)a_v_diff
ff = av * exp(-a * DH_A * z * I0.5 / (1 + ka))
Dw = Dw * ff
Where T is temperature in Kelvin, DH_B is the Debye-Hückel B parameter,
I is ionic strength, viscos_0 is the viscosity of pure water at T, viscos is
the viscosity of the solution at T, DH_A is the Debye-Hückel A parameter,
and z is the charge on the species,the viscosity of the solution.
See Robinson and Stokes, 2002, Chpt 11 for examples.
The Dw and a_v_dif can be set in a USER_ program with
setdiff_c("name", Dw, a_v_dif), for example:
10 print setdiff_c("H+", 9.31e-9, 1).
The diffusion coefficient of H+ is handled differently with
Falkenhagen equations.
-----------------
May 3, 2024
-----------------
PHREEQC: The ionic strength correction is for electromigration calculations
(Appelo, 2017, CCR 101, 102). The correction is applied when the 6th parameter
option is set to true for -multi_D in TRANSPORT:
-multi_d true/false 1e-9 0.3 0.05 1.0 true/false # multicomponent diffusion
true/false, multicomponent diffusion is used,
default tracer diffusion coefficient (used in case -dw is not defined for a species),
porosity (por = 0.3),
limiting porosity (0.05) below which diffusion stops,
exponent n (1.0) used in calculating the effect of tortuosity on the
porewater diffusion coefficient Dp = Dw * por^n,
true/false: correct Dw for ionic strength (false by default).
-----------------
May 3, 2024
-----------------
Database: Added new database phreeqc_rates.dat. The database augments
phreeqc.dat with rate parameters from Palandri and Kharaka (2004),
Sverdrup, Oelkers, Lampa, Belyazid, Kurz, and Akselsson (2019) (only
Albite and quartz), and Hermanska, Voigt, Marieni, Declercq,
and Oelkers (2023). Parameters are defined in data blocks
RATE_PARAMETERS_PK, RATE_PARAMETERS_SVD, and RATE_PARAMETERS_HERMANSKA.
All minerals with rate parameters have been added in a PHASES
data block. Example RATES definitions using the different RATE_PARAMETERS_
parameters are provided for Albite and Quartz.
-----------------
April 27, 2024
-----------------
Databases: Added new keyword data block MEAN_GAMMAS. Each line
of the data block defines how to calculate the mean activity
coefficient for a salt with a series of pairs of
aqueous species and stoichiometric coefficient. Phreeqc.dat,
Amm.dat, pitzer.dat, and phreeqc_rates.dat have this data block.
MEAN_GAMMAS
MgCl2 Mg+2 1 Cl 2
A new Basic function MEANG will calculate mean activity coefficients
for salts listed in the MEAN_GAMMAS data block.
10 g_MgCl2 = MEANG("MgCl2")
-----------------
April 27, 2024
-----------------
PHREEQC: Added new keyword data blocks RATE_PARAMETERS_PK, RATE_PARAMETERS_SVD,
and RATE_PARAMETERS_HERMANSKA and Basic functions RATE_PK, RATE_SVD, and
RATE_HERMANSKA
RATE_PARAMETERS_PK
# Acid Neutral Base
# log K E n(H+) log K E log K E n(OH-)
# ======== ======== ======== ======== ======== ======== ======== ========
Quartz -30 0 0 -13.4 90.9 -30 0 0 # Table 4
# Acid Neutral P_CO2
# log K E n(H+) log K E log K E n(P_CO2) Table
# ======== ======== ======== ======== ======== ======== ======== ======== ========
calcite -0.3 14.4 1 -5.81 23.5 -3.48 35.4 1 33 # specify Table number for P_CO2^n(P_CO2)
# Acid and Fe+3 Neutral and O2 Base
# log K E n(H+) n(Fe+3) log K E n(O2) log K E n(OH-) Table
# ======== ======== ======== ======== ======== ======== ======== ======== ======== ======== ========
pyrite -7.52 56.9 -0.5 0.5 -4.55 56.9 0.5 -30 0 0 35 # specify Table number for Fe+3 and O2
Three rate equations from Palandri and Kharaka (2004) can be entered. Most minerals use
use the first form above with 8 parameters. Table 33 has a term for CO2 as in
the calcite example above; parameters from table 33 are identified with a 33 in the 9th
field following 8 parameters. Table 35 has additional terms and data from this table
is identified with 35 in field 11 following 10 rate parameters. The rates for the
the minerals listed in the data block can be calculated with the Basic function RATE_PK.
The calculated rate does not include factors for surface area or affinity.
10 rate = RATE_PK("Calcite")
RATE_PARAMETERS_SVD
# Table 4: E's Table 3: H+-reaction H2O-reaction CO2-reaction Organic_acids OH--reaction Table 5
# H+ H2O CO2 Org_acids OH- pkH nH yAl CAl xBC CBC pkH2O yAl CAl xBC CBC zSi CSi pkCO2 nCO2 pkOrg nOrg COrg pkOH- wOH- yAl CAl xBC CBC zSi CSi # Num Mineral Formula
# ====== ====== ====== ========= ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ===== ====== ====== ====== ====== ====== ====== ====== ====== ====== ====== ======= ======
Albite 3350 2500 1680 1200 3100 14.6 0.5 0.4 0.4 0.4 0.5 16.8 0.15 4 0.15 200 3 900 16.05 0.6 14.7 0.5 5 15.4 0.3 0.1 12 0.5 5 3 900 # 1.6 Albite NaAlSi3O8
Rate parameters from Sverdrup, Oelkers, Lampa, Belyazid, Kurz, and Akselsson (2019)
can be specified with the RATE_PARAMETERS_SVD data block. A total of 31 parameters
are entered for each mineral. The rates for minerals minerals listed in the data
block can be calculated with the Basic function RATE_SVD. The calculated rate does
not include factors for surface area or affinity.
10 rate = RATE_SVD("Albite")
RATE_PARAMETERS_HERMANSKA
# Acid mechanism Neutral mechanism Basic mechanism
# logk25 Aa Eaa n(H+) logk25 Ab Eab logk25 Ac Eac n(OH) # Formula
# ======== ========= ======== ======== ======== ========= ======== ======== ========= ======== ======== =========================================
# Amphiboles
Anthophyllite -12.4 5.70E-04 52 0.4 -13.7 5.00E-06 48 0 0 0 0
Rate parameters from Hermanska, Voigt, Marieni, Declercq, and Oelkers (2023) can
be specified with the RATE_PARAMETERS_HERMANSKA data block. A total of 11 parameters
are entered for each mineral. The rates for minerals listed in the data block can
be calculated with the Basic function RATE_HERMANSKA. The calculated rate does not
include factors for surface area or affinity.
10 rate = RATE_HERMANSKA("Anthophyllite")
-----------------
April 21, 2024
-----------------
PHREEQC: Added Basic functions GET$ and PUT$. They are are the same as
GET and PUT, except the first argument for PUT$ is a character string,
and GET$ returns a character string. You may use one or more indices as
needed to identify the value that is saved (PUT$) or retrieved (GET$).
PUT$("MgCl2", 1, 1, 1)
x$ = GET$(1, 1, 1)
-----------------
April 19, 2024
-----------------
DATABASE: Kinec.v2.dat is a new llnl.dat style database from the
CarbFix2 and GECO projects that is included in new distributions of
PHREEQC. This database contains the parameters for calculating mineral
dissolution rates for primary and secondary silicate minerals using the
equations and parameters reported by Hermanska et al. (2022, 2023)
and dissolution rates for other non-silicate mineral systems using the
equations and parameters reported by Oelkers and Addassi (2024, in
preparation).
-----------------
April 15, 2024
-----------------
PHREEQC: Fixed a memory error with iso.dat because it uses H3O+ instead of
H+. The SC variable was uninitialized in that situation.
DATABASES: Amm.dat, phreeqc.dat, and pitzer.dat were updated with
revisions to viscosity and specific conductance.
PhreeqcRM and IPhreeqc: Fixed bug with the temperature grid for llnl. Some
internal testing and list ge...
phreeqcrm-3.7.3-15968-hotfix-3
2024-01-04
This fixes an error with the Doxygen documentation.
- Fixed the Fortran Documentation (classphreeqcrm.html -> namespacephreeqcrm.html)
2023-10-22
This fixes a missing header file in the autotools build.
- Adds PHRQ_exports.h to the include directory (autotools build)
2023-06-22
This fixes a misconfiguration that occurred when building shared libraries (dll) on Windows (BUILD_SHARED_LIBS=ON).
It caused unresolved external symbols from the IPhreeqc methods.
- Adds IPhreeqc_EXPORTS preprocessor definition for shared Windows builds
It also fixes a build error that occurred when building shared libraries (dll) on Windows with the Ninja generator.
- Adds _WINDLL preprocessor definition for shared Windows builds
phreeqcrm-3.7.3-15968-hotfix-2
2023-10-22
This fixes a missing header file in the autotools build.
- Adds PHRQ_exports.h to the include directory (autotools build)
2023-06-22
This fixes a misconfiguration that occurred when building shared libraries (dll) on Windows (BUILD_SHARED_LIBS=ON).
It caused unresolved external symbols from the IPhreeqc methods.
- Adds IPhreeqc_EXPORTS preprocessor definition for shared Windows builds
It also fixes a build error that occurred when building shared libraries (dll) on Windows with the Ninja generator.
- Adds _WINDLL preprocessor definition for shared Windows builds
phreeqcrm-3.7.6-16601-rc1
Fixes a memory leak (in IPhreeqc) that occurred when SetSelectedOutputOn was set to true.
PyPI Test Release 0.0.4
v0.0.4 Bumped version for Readme