[CHNOSZ-commits] r239 - in pkg/CHNOSZ: . R data demo inst inst/extdata/Berman inst/extdata/OBIGT man tests/testthat vignettes
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Tue Oct 3 09:35:25 CEST 2017
Author: jedick
Date: 2017-10-03 09:35:24 +0200 (Tue, 03 Oct 2017)
New Revision: 239
Added:
pkg/CHNOSZ/inst/extdata/Berman/JUN92.csv
Modified:
pkg/CHNOSZ/DESCRIPTION
pkg/CHNOSZ/R/affinity.R
pkg/CHNOSZ/R/berman.R
pkg/CHNOSZ/R/info.R
pkg/CHNOSZ/R/subcrt.R
pkg/CHNOSZ/R/util.expression.R
pkg/CHNOSZ/R/util.misc.R
pkg/CHNOSZ/data/buffer.csv
pkg/CHNOSZ/data/refs.csv
pkg/CHNOSZ/demo/buffer.R
pkg/CHNOSZ/demo/dehydration.R
pkg/CHNOSZ/inst/NEWS
pkg/CHNOSZ/inst/extdata/OBIGT/Berman_cr.csv.xz
pkg/CHNOSZ/inst/extdata/OBIGT/inorganic_cr.csv.xz
pkg/CHNOSZ/man/basis.Rd
pkg/CHNOSZ/man/data.Rd
pkg/CHNOSZ/man/diagram.Rd
pkg/CHNOSZ/man/species.Rd
pkg/CHNOSZ/man/subcrt.Rd
pkg/CHNOSZ/man/util.misc.Rd
pkg/CHNOSZ/tests/testthat/test-basis.R
pkg/CHNOSZ/tests/testthat/test-berman.R
pkg/CHNOSZ/tests/testthat/test-subcrt.R
pkg/CHNOSZ/vignettes/anintro.Rmd
pkg/CHNOSZ/vignettes/obigt.Rmd
pkg/CHNOSZ/vignettes/obigt.bib
Log:
rename "cr1" to "cr" (lowest-T polymorph for minerals with transitions)
Modified: pkg/CHNOSZ/DESCRIPTION
===================================================================
--- pkg/CHNOSZ/DESCRIPTION 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/DESCRIPTION 2017-10-03 07:35:24 UTC (rev 239)
@@ -1,6 +1,6 @@
Date: 2017-10-03
Package: CHNOSZ
-Version: 1.1.0-37
+Version: 1.1.0-38
Title: Thermodynamic Calculations for Geobiochemistry
Author: Jeffrey Dick
Maintainer: Jeffrey Dick <j3ffdick at gmail.com>
Modified: pkg/CHNOSZ/R/affinity.R
===================================================================
--- pkg/CHNOSZ/R/affinity.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/affinity.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -1,6 +1,13 @@
# CHNOSZ/affinity.R
# calculate affinities of formation reactions
+## if this file is interactively sourced, the following are also needed to provide unexported functions:
+#source("util.affinity.R")
+#source("util.units.R")
+#source("util.character.R")
+#source("util.list.R")
+#source("subcrt.R")
+
affinity <- function(...,property=NULL,sout=NULL,exceed.Ttr=FALSE,
return.buffer=FALSE,balance="PBB",iprotein=NULL,loga.protein=-3) {
# ...: variables over which to calculate
Modified: pkg/CHNOSZ/R/berman.R
===================================================================
--- pkg/CHNOSZ/R/berman.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/berman.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -8,16 +8,20 @@
# reference temperature and pressure
Pr <- 1
Tr <- 298.15
- # the number of conditions we have
+ # get T and P to be same length
ncond <- max(length(T), length(P))
+ T <- rep(T, length.out=ncond)
+ P <- rep(P, length.out=ncond)
# get thermodynamic parameters
dir <- system.file("extdata/Berman/", package="CHNOSZ")
Ber88 <- read.csv(paste0(dir, "/Ber88.csv"), as.is=TRUE)
Ber90 <- read.csv(paste0(dir, "/Ber90.csv"), as.is=TRUE)
SHD91 <- read.csv(paste0(dir, "/SHD91.csv"), as.is=TRUE)
ZS92 <- read.csv(paste0(dir, "/ZS92.csv"), as.is=TRUE)
- # assemble the files and remove duplicates (keep the latest)
- dat <- rbind(ZS92, SHD91, Ber90, Ber88)
+ JUN92 <- read.csv(paste0(dir, "/JUN92.csv"), as.is=TRUE)
+ # assemble the files in reverse chronological order
+ dat <- rbind(JUN92, ZS92, SHD91, Ber90, Ber88)
+ # remove duplicates (only the first, i.e. latest entry is kept)
dat <- dat[!duplicated(dat$name), ]
# remove the multipliers
multexp <- c(0, 0, 0, 0, # Ber88 Table 2
@@ -90,6 +94,8 @@
# the lower integration limit is Tref
iTtr <- T > Tref
Ttr <- T[iTtr]
+ Tlambda_P <- Tlambda_P[iTtr]
+ Td <- Td[iTtr]
# the upper integration limit is Tlambda_P
Ttr[Ttr >= Tlambda_P] <- Tlambda_P[Ttr >= Tlambda_P]
# derived variables
@@ -137,12 +143,17 @@
S <- S + Sds
V <- V + Vds
Cp <- Cp + Cpds
+ } else {
+
+ # FIXME: for now, we skip this check if disorder properties are calculated
+
+ ### (for testing) use G = H - TS to check that integrals for H and S are written correctly
+ Ga_fromHminusTS <- Ha - T * S
+ # (fails with with berman("K-feldspar", T=convert(600, "K"), P=10000))
+ if(!isTRUE(all.equal(Ga_fromHminusTS, Ga))) stop(paste0(name, ": incorrect integrals detected using DG = DH - T*S"))
+
}
- ### (for testing) use G = H - TS to check that integrals for H and S are written correctly
- Ga_fromHminusTS <- Ha - T * S
- if(!all.equal(Ga_fromHminusTS, Ga)) stop("incorrect integrals detected using DG = DH - T*S")
-
### thermodynamic and unit conventions used in SUPCRT ###
# use entropy of the elements in calculation of G --> Benson-Helgeson convention (DG = DH - T*DS)
Gf <- Ga + Tr * SPrTr_elements
Modified: pkg/CHNOSZ/R/info.R
===================================================================
--- pkg/CHNOSZ/R/info.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/info.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -129,15 +129,23 @@
# all of the species that match
ispecies <- which(matches.species)
# we return only the first species that matches
- # unless they are 'cr1' 'cr2' etc. and we requested state 'cr'
- if(identical(state, "cr")) ispecies.out <- ispecies
- else ispecies.out <- ispecies[1]
+ ispecies.out <- ispecies[1]
# let user know if there is more than one state for this species
if(length(ispecies) > length(ispecies.out)) {
ispecies.other <- ispecies[!ispecies %in% ispecies.out]
- othertext <- paste(thermo$obigt$state[ispecies.other], collapse=", ")
- message("info.character: found ", species, "(", thermo$obigt$state[ispecies.out],
- "), also available in ", othertext)
+ otherstates <- thermo$obigt$state[ispecies.other]
+ transtext <- othertext <- ""
+ # we count, but don't show the states for phase transitions (cr2, cr3, etc)
+ istrans <- otherstates %in% c("cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "cr8", "cr9")
+ ntrans <- sum(istrans)
+ if(ntrans == 1) transtext <- paste(" with", ntrans, "phase transition")
+ else if(ntrans > 1) transtext <- paste(" with", ntrans, "phase transitions")
+ otherstates <- otherstates[!istrans]
+ if(length(otherstates) > 0) othertext <- paste0(", also available in ", paste(otherstates, collapse=", "))
+ if(transtext != "" | othertext != "") {
+ starttext <- paste0("info.character: found ", species, "(", thermo$obigt$state[ispecies.out], ")")
+ message(starttext, transtext, othertext)
+ }
}
return(ispecies.out)
}
Modified: pkg/CHNOSZ/R/subcrt.R
===================================================================
--- pkg/CHNOSZ/R/subcrt.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/subcrt.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -116,7 +116,7 @@
sinfo <- ispecies
} else {
# from names, get species indices and states and possibly
- # keep track of phase species (cr1 cr2 ...)
+ # keep track of phase species (cr,cr2 ...)
sinfo <- numeric()
newstate <- character()
for(i in 1:length(species)) {
@@ -127,7 +127,7 @@
thermo <- get("thermo", "CHNOSZ")
if(is.na(si[1])) stop('no info found for ',species[i],' ',state[i])
if(!is.null(state[i])) is.cr <- state[i]=='cr' else is.cr <- FALSE
- if(thermo$obigt$state[si[1]]=='cr1' & (is.null(state[i]) | is.cr)) {
+ if(thermo$obigt$state[si[1]]=='cr' & (is.null(state[i]) | is.cr)) {
newstate <- c(newstate,'cr')
sinfo <- c(sinfo,si[1])
} else {
@@ -151,7 +151,7 @@
state <- as.character(tos[sinfo])
name <- as.character(ton[sinfo])
# a counter of all species considered
- # inpho is longer than sinfo if cr1 cr2 ... phases are present
+ # inpho is longer than sinfo if cr,cr2 ... phases are present
# sinph shows which of sinfo correspond to inpho
# pre-20091114: the success of this depends on there not being duplicated aqueous or other
# non-mineral-phase species (i.e., two entries in obigt for Cu+ screw this up
@@ -160,7 +160,7 @@
inpho <- sinph <- coeff.new <- numeric()
for(i in 1:length(sinfo)) {
if(newstate[i]=='cr') {
- searchstates <- c('cr','cr1','cr2','cr3','cr4','cr5','cr6','cr7','cr8','cr9')
+ searchstates <- c('cr','cr2','cr3','cr4','cr5','cr6','cr7','cr8','cr9')
tghs <- thermo$obigt[(ton %in% name[i]) & tos %in% searchstates,]
# we only take one if they are in fact duplicated species and not phase species
if(all(tghs$state==tghs$state[1])) tghs <- thermo$obigt[sinfo[i],]
@@ -293,11 +293,10 @@
}
# crystalline, gas, liquid (except water) species
- cglstates <- c("liq", "cr", "gas", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "cr8", "cr9", "cr_Berman")
+ cglstates <- c("liq", "cr", "gas", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "cr8", "cr9", "cr_Berman")
iscgl <- reaction$state %in% cglstates & reaction$name != "water"
if(TRUE %in% iscgl) {
- #si <- info(inpho[iscgl],quiet=TRUE)
si <- obigt2eos(thermo$obigt[inpho[iscgl],], "cgl", fixGHS = TRUE)
p.cgl <- cgl(eosprop, parameters = si, T = T, P = P)
# replace Gibbs energies with NA where the
@@ -316,8 +315,8 @@
mystate <- reaction$state[i]
# don't proceed if the state is cr_Berman
if(mystate=="cr_Berman") next
- # check if we're below the transition temperature
- if(!(reaction$state[i] %in% c('cr1','liq','cr','gas'))) {
+ # if this phase is cr2 or higher, check if we're below the transition temperature
+ if(!(reaction$state[i] %in% c('liq','cr','gas'))) {
Ttr <- Ttr(inpho[i]-1,P=P,dPdT=dPdTtr(inpho[i]-1))
if(all(is.na(Ttr))) next
if(any(T < Ttr)) {
@@ -327,14 +326,20 @@
p.cgl[[ncgl[i]]]$G[T<Ttr] <- NA
status.Ttr <- "(using NA for G)"
}
- message(paste('subcrt: some points below transition temperature for',myname, mystate, status.Ttr))
+ #message(paste('subcrt: some points below transition temperature for',myname, mystate, status.Ttr))
}
}
- # check if we're above the transition temperature
- if(!(reaction$state[i] %in% c('cr','liq','gas')))
- Ttr <- Ttr(inpho[i],P=P,dPdT=dPdTtr(inpho[i]))
- else {
- Ttr <- thermo$obigt$z.T[inpho[i]]
+ # check if we're above the temperature limit or transition temperature
+ # T limit (or Ttr) from the database
+ warn.above <- TRUE
+ Ttr <- thermo$obigt$z.T[inpho[i]]
+ # calculate Ttr at higher P if a phase transition is present
+ if(i < nrow(reaction)) {
+ # if the next one is cr2, cr3, etc we have a transition
+ if(reaction$state[i+1] %in% c("cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "cr8", "cr9"))
+ Ttr <- Ttr(inpho[i],P=P,dPdT=dPdTtr(inpho[i]))
+ # we don't warn here about the transition
+ warn.above <- FALSE
}
if(all(is.na(Ttr))) next
if(!all(Ttr==0) & any(T >= Ttr)) {
@@ -343,7 +348,7 @@
p.cgl[[ncgl[i]]]$G[T>=Ttr] <- NA
status.Ttr <- "(using NA for G)"
}
- message(paste('subcrt: some points above transition temperature for',myname, mystate, status.Ttr))
+ if(warn.above) message(paste('subcrt: some points above temperature limit for',myname, mystate, status.Ttr))
}
}
}
@@ -380,7 +385,7 @@
for(i in 1:length(is)) v[[i]] <- out[[match(ns[i],is)]]
out <- v
- # deal with phases (cr1 cr2) here
+ # deal with phases (cr,cr2) here
# we have to eliminate rows from out,
# reaction and values from isaq, iscgl, isH2O
out.new <- list()
@@ -390,10 +395,12 @@
isH2O.new <- logical()
for(i in 1:length(sinfo)) {
iphases <- which(sinfo[i]==sinph)
- # deal with repeated species here ... divide iphases
- # by the number of duplicates
+ # deal with repeated species here
if(TRUE %in% duplicated(inpho[iphases])) {
- iphases <- iphases[length(which(sinfo==sinfo[i]))]
+ # only take the first, not the duplicates
+ ndups <- length(which(sinfo==sinfo[i]))
+ nphases <- length(iphases) / ndups
+ iphases <- iphases[1:nphases]
}
if(length(iphases)>1) {
message(paste('subcrt:',length(iphases),'phases for',thermo$obigt$name[sinfo[i]],'... '), appendLF=FALSE)
Modified: pkg/CHNOSZ/R/util.expression.R
===================================================================
--- pkg/CHNOSZ/R/util.expression.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/util.expression.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -53,7 +53,7 @@
}
# write logarithm of activity or fugacity
if(log != "") {
- if(log %in% c("aq", "cr", "liq", "cr1", "cr2", "cr3", "cr4")) acity <- "a"
+ if(log %in% c("aq", "cr", "liq", "cr2", "cr3", "cr4")) acity <- "a"
else if(log %in% c("g", "gas")) acity <- "f"
else stop(paste("'", log, "' is not a recognized state", sep=""))
logacity <- substitute(log~italic(a), list(a=acity))
Modified: pkg/CHNOSZ/R/util.misc.R
===================================================================
--- pkg/CHNOSZ/R/util.misc.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/R/util.misc.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -31,7 +31,7 @@
GHS_Tr <- function(ispecies, Htr) {
# calculate G, H, and S at Tr for cr2, cr3, ... phases 20170301
# Htr: enthalpy(ies) of transition
- # ispecies: the species index for cr1
+ # ispecies: the species index for cr (the lowest-T phase)
thisinfo <- info(ispecies)
name <- thisinfo$name
# start from Tr (T=298.15 K)
@@ -43,10 +43,10 @@
# where to store the calculated GHS at Tr
Gf_Tr <- Hf_Tr <- S_Tr <- numeric()
for(i in 1:(length(Htr)+1)) {
- # check that we have the correct one of cr1, cr2, ...
- thiscr <- paste0("cr", i)
+ # check that we have the correct one of cr, cr2, cr3, ...
+ if(i==1) thiscr <- "cr" else thiscr <- paste0("cr", i)
if(thisinfo$state!=thiscr | thisinfo$name!=name) stop(paste("species", thisis, "is not", name, thiscr))
- # if we're above cr1, calculate the equivalent GHS at Tr
+ # if we're above cr (lowest-T), calculate the equivalent GHS at Tr
if(i > 1) {
# set the starting GHS to 0 (in case they're NA - we only need the increments over temperature)
thisinfo$G <- thisinfo$H <- thisinfo$S <- 0
Modified: pkg/CHNOSZ/data/buffer.csv
===================================================================
--- pkg/CHNOSZ/data/buffer.csv 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/data/buffer.csv 2017-10-03 07:35:24 UTC (rev 239)
@@ -12,9 +12,9 @@
CYSTINE,cystine,aq,-3
ETHANOL,ethanol,aq,-3
MAMINE,methanamine,aq,-3
-HM,hematite,cr1,0
-HM,magnetite,cr1,0
-FeFeO,iron,cr1,0
+HM,hematite,cr,0
+HM,magnetite,cr,0
+FeFeO,iron,cr,0
FeFeO,FeO,cr,0
CO2-AC,CO2,aq,-3
CO2-AC,"acetic acid",aq,-3
@@ -30,11 +30,11 @@
GSH-GSSG,GSSG,aq,-9
NADred-NADox,HNAD(red)-,aq,-3
NADred-NADox,NAD(ox)-,aq,-3
-QFM,quartz,cr1,0
+QFM,quartz,cr,0
QFM,fayalite,cr,0
-QFM,magnetite,cr1,0
+QFM,magnetite,cr,0
PPM,pyrite,cr,0
-PPM,pyrrhotite,cr1,0
-PPM,magnetite,cr1,0
+PPM,pyrrhotite,cr,0
+PPM,magnetite,cr,0
water,water,liq,0
-quartz,quartz,cr1,0
+quartz,quartz,cr,0
Modified: pkg/CHNOSZ/data/refs.csv
===================================================================
--- pkg/CHNOSZ/data/refs.csv 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/data/refs.csv 2017-10-03 07:35:24 UTC (rev 239)
@@ -5,7 +5,7 @@
Kel60.3,"K. K. Kelley",1960,"U. S. Bureau of Mines Bull. 584","gypsum Cp",http://www.worldcat.org/oclc/693388901
Pan70,"L. B. Pankratz",1970,"U. S. Bureau of Mines Report of Investigations 7430",chlorargyrite,http://www.worldcat.org/oclc/14154245
PK70,"L. B. Pankratz and E. G. King",1970,"U. S. Bureau of Mines Report of Investigations 7435","bornite and chalcopyrite",http://www.worldcat.org/oclc/14154292
-HDNB78,"H. C. Helgeson, J. M. Delany et al.",1978,"Am. J. Sci. 278A, 1-229","minerals and phase transitions",http://www.worldcat.org/oclc/13594862
+HDNB78,"H. C. Helgeson, J. M. Delany et al.",1978,"Am. J. Sci. 278A, 1-229","data for minerals (n = 167) and phase transitions",http://www.worldcat.org/oclc/13594862
HDNB78.1,"H. C. Helgeson, J. M. Delany et al.",1978,"Am. J. Sci. 278A, 1-229","litharge S, V, and Cp parameters",http://www.worldcat.org/oclc/13594862
RHF79,"R. A. Robie, B. S. Hemingway and J. R. Fisher",1979,"U. S. Geological Survey Bull. 1452","chlorargyrite, rutile, and titanite",http://pubs.er.usgs.gov/publication/b1452
RHF79.1,"R. A. Robie, B. S. Hemingway and J. R. Fisher",1979,"U. S. Geological Survey Bull. 1452","dickite, fluorphlogopite, halloysite, and pyrope",http://pubs.er.usgs.gov/publication/b1452
@@ -22,10 +22,12 @@
SHS89,"E. L. Shock, H. C. Helgeson and D. A. Sverjensky",1989,"Geochim. Cosmochim. Acta 53, 2157-2183","inorganic neutral species",https://doi.org/10.1016/0016-7037(89)90341-4
Ber90,"R. G. Berman",1990,"Am. Mineral. 75, 328-344","annite",http://ammin.geoscienceworld.org/content/75/3-4/328
Ber90.1,"R. G. Berman",1990,"Am. Mineral. 75, 328-344","almandine and ilmenite: modified H and/or S",http://ammin.geoscienceworld.org/content/75/3-4/328
+Eva90,"B. W. Evans",1990,"Lithos 25, 3-23","glaucophane and pumpellyite",https://doi.org/10.1016/0024-4937(90)90003-J
SH90,"E. L. Shock and H. C. Helgeson",1990,"Geochim. Cosmochim. Acta 54, 915-945","organic species",https://doi.org/10.1016/0016-7037(90)90429-O
SHD91,"D. A. Sverjensky, J. J. Hemley and W. M. D'Angelo",1991,"Geochim. Cosmochim. Acta 55, 989-1004","G and H revisions for K- and Al-bearing silicates",https://doi.org/10.1016/0016-7037(89)90341-4
SHD91.1,"D. A. Sverjensky, J. J. Hemley and W. M. D'Angelo",1991,"Geochim. Cosmochim. Acta 55, 989-1004","phlogopite: H and S modified by @Ber90, followed by G and H revision for K-bearing silicates [after @SHD91]",https://doi.org/10.1016/0016-7037(89)90341-4
SHD91.2,"D. A. Sverjensky, J. J. Hemley and W. M. D'Angelo",1991,"Geochim. Cosmochim. Acta 55, 989-1004","annite: G and H revision for K-bearing silicates [after @SHD91]",https://doi.org/10.1016/0016-7037(89)90341-4
+JUN92,"C. de Capitani",1992,"JUN92.bs database supplied with Theriak/Domino software","data as listed in JUN92.bs database",http://titan.minpet.unibas.ch/minpet/theriak/theruser.html
SPRONS92.1,"H. C. Helgeson et al.",1992,"sprons92.dat computer data file","titanite: @BH83 + "Gibbs free energies and enthalpies were corrected to be consistent with updated values of Gibbs free energies of Ca<sup>2+</sup> and CO<sub>3</sub><sup>2-</sup> [@SH88] together with the solubilities of calcite and aragonite reported by @PB82 "",
SPRONS92.2,"H. C. Helgeson et al.",1992,"sprons92.dat computer data file","Ca-bearing minerals; "Gibbs free energies and enthalpies were corrected to be consistent with updated values of Gibbs free energies of Ca<sup>2+</sup> and CO<sub>3</sub><sup>2-</sup> [@SH88] together with the solubilities of calcite and aragonite reported by @PB82 "",
Sho92,"E. L. Shock",1992,"Geochim. Cosmochim. Acta 56, 3481-3491","diglycine, alanylglycine, leucylglycine, and diketopiperazine",https://doi.org/10.1016/0016-7037(92)90392-V
@@ -73,7 +75,7 @@
AP01,"J. P. Amend and A. V. Plyasunov",2001,"Geochim. Cosmochim. Acta 65, 3901-3917",carbohydrates,https://doi.org/10.1016/S0016-7037(01)00707-4
AS01,"J. P. Amend and E. L. Shock",2001,"FEMS Microbiol. Rev. 25, 175-243","NO and N<sub>2</sub>O",https://doi.org/10.1111/j.1574-6976.2001.tb00576.x
AS01.1,"J. P. Amend and E. L. Shock",2001,"FEMS Microbiol. Rev. 25, 175-243","selenium and molybdenite",https://doi.org/10.1111/j.1574-6976.2001.tb00576.x
-MVT01,"L. Mercury, P. Vieillard. and Y. Tardy",2001,"Appl. Geochem. 16, 161-181","ice polymorphs",https://doi.org/10.1016/S0883-2927(00)00025-1
+MVT01,"L. Mercury, P. Vieillard. and Y. Tardy",2001,"Appl. Geochem. 16, 161-181","polymorphs of ice",https://doi.org/10.1016/S0883-2927(00)00025-1
PS01,"A. V. Plyasunov and E. L. Shock",2001,"Geochim. Cosmochim. Acta 65, 3879-3900","aqueous nonelectrolytes",https://doi.org/10.1016/S0016-7037(01)00678-0
PS01.1,"A. V. Plyasunov and E. L. Shock",2001,"Geochim. Cosmochim. Acta 65, 3879-3900","acetic acid and methane",https://doi.org/10.1016/S0016-7037(01)00678-0
Ric01,"L. Richard",2001,"Geochim. Cosmochim. Acta 65, 3827-3877","organic sulfur compounds",https://doi.org/10.1016/S0016-7037(01)00761-X
Modified: pkg/CHNOSZ/demo/buffer.R
===================================================================
--- pkg/CHNOSZ/demo/buffer.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/demo/buffer.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -3,7 +3,7 @@
# reproduces Figure 6 of Schulte and Shock, 1995 (doi:10.1007/BF01581580)
b.species <- c("Fe", "CO2", "H2O", "N2", "H2", "H2S", "SiO2")
-b.state <- c("cr1", "gas", "liq", "gas", "gas", "aq", "aq")
+b.state <- c("cr", "gas", "liq", "gas", "gas", "aq", "aq")
b.logact <- c(0, 1, 0, 0, 0, 0, 0)
basis(b.species, b.state, b.logact)
xlim <- c(0, 350)
Modified: pkg/CHNOSZ/demo/dehydration.R
===================================================================
--- pkg/CHNOSZ/demo/dehydration.R 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/demo/dehydration.R 2017-10-03 07:35:24 UTC (rev 239)
@@ -17,7 +17,7 @@
reactants <- c("[AABB]", "[AABB]", "malate-2", "goethite", "gypsum", "epsomite", "ethanol")
products <- c("[UPBB]", "[PBB]", "fumarate-2", "hematite", "anhydrite", "hexahydrite", "ethylene")
rstate <- c("aq", "cr", "aq", "cr", "cr", "cr", "aq")
-pstate <- c("aq", "cr", "aq", "cr1", "cr", "cr", "gas")
+pstate <- c("aq", "cr", "aq", "cr", "cr", "cr", "gas")
rcoeff <- c(-1, -1, -1, -2, -0.5, -1, -1)
pcoeff <- c(1, 1, 1, 1, 0.5, 1, 1)
# position and rotation of the names
Modified: pkg/CHNOSZ/inst/NEWS
===================================================================
--- pkg/CHNOSZ/inst/NEWS 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/inst/NEWS 2017-10-03 07:35:24 UTC (rev 239)
@@ -1,12 +1,12 @@
-CHANGES IN CHNOSZ 1.1.0-37 (2017-10-03)
+CHANGES IN CHNOSZ 1.1.0-38 (2017-10-03)
---------------------------------------
MAJOR CHANGES:
- Add functions implementing the Deep Earth Water (DEW) model
- (Sverjensky et al., 2014): calculateDensity(),
- calculateGibbsofWater(), calculateEpsilon(), calculateQ(), and
- water.DEW().
+ (Sverjensky et al., 2014): water.DEW() and its supporting functions
+ calculateDensity(), calculateGibbsofWater(), calculateEpsilon(),
+ calculateQ().
- The computational setting for water (thermo$opt$par) can now be
set using water("DEW"), water("IAPWS"), etc.
@@ -19,14 +19,27 @@
- Calculations related to Berman's (1988) Figs. 1 and 2 for the lambda
transition of quartz are presented in the new demo lambda.R.
+COMPUTATIONAL IMPROVEMENTS:
+
+- For minerals with phase transitions (states 'cr2' 'cr3' etc.) in
+ thermo$obigt (i.e. the Helgeson minerals), it is now possible to use
+ the minerals in basis(), species(), affinity() with proper accounting
+ for transition effects. Just set the state to 'cr' or omit it,
+ e.g. species("quartz").
+
- Implement SUPCRT92's handling of variable volume for quartz and
coesite. Calculations for other minerals still assume constant
volume of each phase.
+- calculations of the g function are now enabled for DEW (with
+ pressure derivative) and IAPWS-95 (no derivatives included).
+
- water.lines() now works for diagrams of Eh, pe, logfO2, logaO2,
logfH2, or logaH2 vs pH, T, or P. It is possible to have T or P on
either the x- or y-axis.
+DATABASE UPDATES:
+
- Add data(OBIGT) and data(CHNOSZ) commands to reset only the
thermodynamic database (OBIGT) or system settings (CHNOSZ: basis and
species) to their defaults. data(thermo) is still used to reset
@@ -38,8 +51,6 @@
- add.obigt() gets new argument 'species' for selecting species to add.
-DATABASE UPDATES:
-
- Add DEW_aq.csv with aqueous species data from the DEW spreadsheet
(May 2017 version). Species with data unchanged from the default
database in CHNOSZ are not included. For the time being, only
@@ -79,14 +90,11 @@
- In water.* functions, rename the "diel" variable to "epsilon".
-- calculations of the g function (but not its derivatives) are now
- enabled for DEW and IAPWS-95.
+CLEANUP:
- To save space, taxid_names.csv has been trimmed to hold only those
taxids listed in extdata/bison/gi.taxid.txt.
-CLEANUP:
-
- Remove Eco.csv.xz and rename more.aa() to yeast.aa().
- Remove transfer() and associated functions draw.transfer(), apc(), and
Added: pkg/CHNOSZ/inst/extdata/Berman/JUN92.csv
===================================================================
--- pkg/CHNOSZ/inst/extdata/Berman/JUN92.csv (rev 0)
+++ pkg/CHNOSZ/inst/extdata/Berman/JUN92.csv 2017-10-03 07:35:24 UTC (rev 239)
@@ -0,0 +1,3 @@
+name,GfPrTr,HfPrTr,SPrTr,VPrTr,k0,k1,k2,k3,v1,v2,v3,v4,Tlambda,Tref,dTdP,l1,l2,DtH,Tmax,Tmin,d0,d1,d2,d3,d4,d5
+glaucophane,-11225858,-11960500,535,26.05,1717.5,-192.72,70.5,0,-1.16,2.9,22,88,,,,,,,,,,,,,,
+pumpellyite,-13448936,-14402300,584,29.55,1576,-106.038,-283.042,383.8351,-0.51516,1.288,34.67,0,,,,,,,,,,,,,,
Modified: pkg/CHNOSZ/inst/extdata/OBIGT/Berman_cr.csv.xz
===================================================================
(Binary files differ)
Modified: pkg/CHNOSZ/inst/extdata/OBIGT/inorganic_cr.csv.xz
===================================================================
--- pkg/CHNOSZ/inst/extdata/OBIGT/inorganic_cr.csv.xz 2017-10-03 02:31:15 UTC (rev 238)
+++ pkg/CHNOSZ/inst/extdata/OBIGT/inorganic_cr.csv.xz 2017-10-03 07:35:24 UTC (rev 239)
@@ -1,58 +1,81 @@
-ý7zXZ æÖ´F ! t/å£à&S] 7Iýúb¿ñ9²¶Ë¦¨TB;qý"½qù¦cL;ù"ß<²ëbï¨gò;ø¥Kä¥f1Æw?ozÆCþaì]IبÝ5i* p0n¥zÇjÖzÝ»ÖpUÊhÄÛñlrO`©Æû´Y!hAܵîð!¨©n»äü¡¢ìJqÆíTHÞ1Êí!Ù(@¬EÉåR(ß±i¡0DíÎòhÏ9rQAee1¾½rƬ$£(6/¼ËP:¢ ð´»Jbtp,B1iúK\ê]ô2}·ïS«éî0w³ý!³
-$×bIù8ÃOÕÅ'·åÉ2lÂSéÕà c§1ºIÃ$ê&%Im§tØ£E¼Û\p×3âA¥W&X9rQî9ݶ|å;ÑãËZÅ~øk8kÈå:¿äøú¿¢ÞË(S¨µìÃ,®T(äï°
-2 5]zÞ"su{¦±Û[sYùïÆ>B¨â.=²å±c;á5o²-W°Òêx1}ÿ×Q^Y^5´ ?ÓÎ^wOAqx]s"¦À!Ñ
j@v #¾Ý7?â>3¼È)O2ÆdÜÐlÛÀCEe9áùÖ¢Pðær)2õD¥¼ù²µËKM=_5E:Å-OÌF?ØbºSäæÇI~R³iÜ õo ó!ÕwO0<DÊ°aAÏbÿæô±ì
]ZYxúúÆCåZñ(vÁ¦Öo±Â¶)NÅÆÃdZÖÿÊnWd&©÷Lìå[jm]¨ Îrͯ:a ¢bþ0ÍëZÎþ$ÄêOlÄö1N +à²7ã9NçZîp¬]eªÄk)sfXA BeX&#C]Ç ÆþÅk]^*e~úX0¥îºÏPon/P½J*zum3rÙäâ¼Ô¢ÛchTyR¼V[*Vì¥Æ|Z²ª»(&FÓ}ñ¼Ò'ØÕbÙßÓ¢ÃñVY¸TsPöY3wWÁ<öÛSIbÀæ¤
§"ëN2 ï
-©;Õ)tq/¡¯ß]Îy¾ø³s+ßçȬïúmíÉñPþÜ¥tòIýQTÿÃzJ5·çøÉ5u]CKò÷ss0Õ¤À~±íï ÷É9>jÿ!3¿hÇÞýä%CظU« kq!°6eÿÅÓûZyë@%MåÒ¶îìÛ½X¨,SÜó©s¶Tc7ÍxðtW¢¥2CªÅaVgÆö{ Í ¢E|wË&¾úOU°T©Å¬ º`¤ºµ²¦r ´3DÞ ¤¯íµF¢ÒW nªYØ¡â0ßî_<9XoN2*i÷¨¬
-î ä$ÏB`à×¾W«è5R§xÜêóEXX¯
-J©àü?ï6TüJÙ«á©R¢YZü±¶z<õãç6ì²ëüª._ ¡¶(¡ÁçéjNRû1¼3@Ç5à:Ôóp/âìmÖ+Ájä´*5DÊ
A¸5mSó×õa¤ô`x^/Þ2ÊÅfóýG+±ægýqWXÒOæFaâã¦ë9·bä¥N2âTö-+"ê%êTtü/bÄÕ6o9MÜ:c6Q2ؽÌò×r+ªE9$ðA7B;v§{Ï)küÜTX¶¤øxä2Ù¢?Ûþ¢=2:À$®/,ƽ¼B¡läÝجs=
-ïö£lMt®Ä\J5èSó´²Ô)'¸çAáõªÁiky|±ÉÚn[87ªq@rƹÍY1wXDXo5èá=¼qsà
xÛÿ¯LanÆwbB(3ßûXð®V@!d¨ã ÓDîdÇæY¸åJüFÍÊîXÇA7í(¼,ÐQã-säò̤¯}¸ö#ØémkZq ~+2;WË Õ'Üi¬öÖ¶¶6>p%cïÓìÑ®íRxÓ»[Dw«èäv-ãÓOìºéìÏÉjüÅíim,ªRΣ ooÅí/)E¯;2æú-Dgñʱ`ýß:u7B5Àwik3\Z.P«¨4
-!9ô |Ä@"µ-rÒðc%;Û¼ÍQVTT}Ò'uö£ ©¥Äúö3ªØ'ê³jïÝ|Û-'É!Íîõûµ(B \k~íÇêüb§rs@¸Éð_%T_6Ã2OéH~~³ã ÷&),Ã%®"õF^T´Ä²ÿ',µÍ1^*|qL)d>~hì`¿äåo&°4Îhc+
-ÅF& `QÎ/T'cFýâh),}CÂzd"l?±à7Iðî]*|a¹`(
Nm¦ki\ VS Òëצ¼dfz×GT²âô"Zp`éaÝ?Ògë ik¤9ïÙ9âðuÄàB*ÏN)E"tÛRÁu37Õ¡¯U
-é5}#[9ÿ!È#þx¼ñ?²ôÉNZ¢-ÂÒùP=ÿµ{$èBÛj~ù}öæ
ÓJ·RGz.W1Xcmä©ÍþIÕ;Üg%w¿)»çcÞ²ZSå>ú!0=:+ÊÏÌñö¥
-Mi r7í!îà"KBWæÖ`TÅcqyÒ°
-Ë?*<EÊ*çW ¿äfoÇEÒÓÔ}ëe(ªÐ[qØùBµx3®Âì~D:ãggOsÅ
-íîKf¾zï<rÃ2 Öº,ªhÝáÛ¶"eË<hHµPJìeyùÍð¸Cü¼º
-)!çÅ 2#âH>ÐÊÝ <£;
-
ëÀ0>r@¿ÇaøùzüvE7ËVè|µó_ܹØä@³Ø×[góKHð>©M IæëjfK·Î++@"®xËÂÉzr
-þª#M.×¼~]¤ý:ºl%¹$¥åßH¸ß@$hO²u 8èÑÜøS/3'1ó¤ù#¬3nu¹#áªÙ>ÅÐÁ5zÑH§O®bìò¤®J2jjÙ#kY Þo&pqaµ: Jü4ú«ú§Gi24w×hx`×öªùÊ1͸Û'½Þ±|f*¨
ZÒ°u+¥ó#9M%½½Ýyk!À0dlõb4ço?,9f(0Û:ïPµJcÑU¶ÙÒaL¸(ÊÍî@Aù)LÅ;àà,wþ"N^aY'ZóS3ß
k+ûBÞªÌúò`
-äòb
-®w¹(Ö;¸}UÚãËÄ×È\12ôZD!±"¬üÇÞð)Î÷t"ÇÇIËÞÌ
îuçéZ°3qZt SU^6F.,4¸E±3É%`à cnÿ*ßvÎf½ò
-εöÀ9P3ùâb³ 1§üî×d¸,È¿Ï]nÀb-M.^8^Ô/:UEIz
EZ:~¹Óå§×¬ixA¤üåóÈôäð&Êq?bÜ'äÄÈéÆÓàKñÙÌØ°i·£;OVꥦÞlç¸PRògæT;5AzçÌ8Zi¿7µJrý(PþéWýôè4OLÃHôÔ fV
ËèñCüÂ
-l!¶&âQàÈÈͺrÃaå WXf´ãø[.a¬È]SGvÞ4FÚÕ[hô°OhÂ)=¡6ë6×P·áÃ\#¬útõÝ]+R¡éwny3ÅÂÐÎÛW\4ù%Gï}"P¦V§ÿ0W1d5FÍj¨Î#$ÙÂßçBßîbL¾zö«ù¯¡{ÛkQÿÁ%B$ûXXrAHëx')¥IçU&¥øÕ³P{+즢í·"uÚSÜ'ϲ-îX#óö¾òõ{=ñÚ$Òy+^|÷/ñ¢m+úM6YVÁRÀDå
B>Ä;5æXGV¹Ê®]óÍO³¿Wµ\K_$>V=ÃÂþ
-øÝ¿î³É;êcͯ¹cbÇü[&Ù{qõ®HÖÕG IAÍòøV¦gËõÏ´W?N:Y2zrévÚ7út~2-ºá1/Þö!¤ÓKú3xþHi3Ú]C«ùÏôhÂNGi»ã³D⠬اkgS½#5õrDø³Hó>f²f&{Ë{ª(p0|µúÊÌWTj¬íêQÂp[Sbkp,»} Ú(ÍòYkY¿ÊyGü=Pê´Ù6Lb^E÷Ù¼àgN î¯eHÿÛû:T>0`ûu9
".RSâü¼pÅæÈÂ#y´qB=
-p)dÏOõ!ï?k<
-Ý6Pöc6(~3!0>¶etY×2ÝU¬ÒûΣbÕÞ ç]0Ãú}-p2ïúÄDÌ×Zgþ¬nwÛYa ïSÏI|/«äÙÛæp/ÂÜ©qlÞ.|%t¥ç
uRºBIÒ»Â
-_äòÖ°°ÝvÏNïËàEÂÞG\f"Áâ}aWC0'Æ,§_tÐÀÀ£à°UWÜ õ¦è#K:>, ×xoQÑÊ Ã y5ôÁÖ8½³¢µ°jDúüÞ]Juy¿°<tT«Écãªg¶h®Á²û~ZYðS$Ô1ͲÊr'¶ùOVïhd¢ü]¤ï(&âVªrI%#ë¬ôìÍuñÝ´´ÍC+ÿ^±ðÒû¡X´êôEAì&| hWRoª7``ÝÒXäÖ-ì³®":AâXÒÔÌwlÉÁq¹kÂ@Ôrãwü0veǨ
-tE6[ñðDêBu*vD Å3nkY|Ió¨ñXÞLÕ 9vÑY )AÁ¾Ðå» á>«³»ì3|tåKÆþ'Ki_ vÊÚ½> ¾Âß¾Tª= ¬Øh³>×/{*û+*yïweù±!å¸9_R±
-e¸:¶ë¥¨F&D~ýUª'Rp½_ra%AÜÓo"j®×¶,p¾Á¹ÔÕ%»ÁÂPíueÜ£æ}·éã:¦XÇ»#g'GY\¸¸gÔÊñ:Ôù`Ì/«g+Iâ6öüµôÇGyäDs¯ éæ`¸*ådýéløî``¹åÔ{¾È¹ò-G!Ô
-Çu2ëèDô ÿÁÛP}
-OéçHp9wkÄ ;aÙ¬áËÒ[rãÞËE±ÊòïUx_4¡Åº
-àÈÀæLÓ*±|¤ ôhÿĸÀÚET°÷%0`´Ûz¿ñ?Ë_ü?Jä0 YÈî<°ñ,0,¶drʪ]VM°Bô
-Ë>餩ðÂu/( e0¹±P¥Þô¬C¡ò%·Lî4Eò+V nâ{Aÿ«.ÃÈ©hÆ$/9óñ¯]gS»Ìä¤@)R!ðq^ó@%Y¹"ØeÎHûZBZ?l'õÆ-Æ·rq^à3]¥Þ~h\9³$á®æÙ<TsDºÁ>äÓ½"ÌÝòiqðPúYøpRÁ¼5ÐllmYÇ ÊdNÇ« [So,ÎlǸtâû®¥ÓaaúSßç'+¨yâÓØk5ë
Jy0ÆSÙ`)4ïn)
-ÍÕõ Ez#*Z(lm0D)nunVu}|%²ÙßÁ¬x÷½äSMÀkÙ8r'Ü=;·À^mÇhq{¢çYaXyq±GÂ÷Î¥¸Ýq¹Zú6Y¿
ÄÇûDÅ
- e âClCc ËDÊßÜß_jò·Å;Æ*%ø&²9A
òÌE'%ÄxÈÄÕñ`Wñ;óbßÁ0#´cÎqWÇ+ï6[]f¡Z'DXáë[Òs3f×FèÛý~úãEJªT[oó;¬©ÎÙú6¨VZ£OÅ ð´øÜãÀ½÷Tft²i!S6kª?È»
qPyXͺð/ÐO¼au*Â)Âcdt&²ì«¡óÇð{·¿±fànyáòñá°G/å«BÁw(fi_ «n ÇvÎU¢s³j(ZË ëâ -ä<'éwwX$ck§îT£1*òv~&Óú>ïæNØ'ÇÜ3ýÛ2ù5vRÙýec®B8=uWI¹û`FØW, £:&2@Ô¸_}55x¡µ8×LOq=Ê%Øq¥hJ(Æ+Y¸ÜM©SSUÛæä/²Ê';)ïºéϽz¹Èùê6 _-¨%@ ×çø:ØÔH
þg¶Þ~^r&'Ë ôXçÈOK«Ì¢D! p¿¿ä½HCÇhÈ0ÃÓÖX²fݸÆ;/Ím²
R6øI³ù
-²\ùËI !æ;ÙJôMg¡ã4÷Ä"a;Vn±¢ååÞØ·¢©ÛÒq¤§R¬×и'þ&Txë|ÙoÏ£&` ó7_!-ÿ8"ú£Ì3/»Ö64Q5A¼6¡÷Í]¥DÀ5SΣpÉÖ6þQÃMd5rÓ|ü\®á'Ãéy¼ÀìûJ·°ãìÃH$ëÏ »N0ç?µºTm¬ÆT\PDXuIÅ Õ¦9¨xhTzpI3.ªÜ¡_±:F ËÊÿ)Mçã¦U ðJ=|«2I¥¿¹Áö<Ä í;tSå÷uº|À¿®ÙÚ=Í>ÓÙd±Â²®®Rnh¨ÀëÇÞÔó±Æ+Rªÿ¾Ù õʺuÙK çÕ#=
ì!jZçV6Ö¢ïÃgzùþo-Ødå9ï_Ø6²hP¬3?ÁûxöÝ4s$x(MÑ]
b/®=N®H4DP¨Ð0«p8kB[ËEpÛ
-tôv¥1åÕ »Éµò"áäÜR(Ù1*ePÆw<(èH÷×r¯¤£µCýô/§åÎMCúZÀX³ñêTæi:=ps¢ø·Ì -½åÏ$ÄÉRóóü$S^ïHuÎó÷?îHë¸@Í\~°u±}²üë`º.~
-}SÓ¢Et Ä·Ó\Ò`×=<ÇÁx¢¶r¿O¢à©Ñf!3¥ÎàÉ¡WÖsÌT«§.f`ÅÔØÎïsó·ö|øíêáʵpqªÛ«M}1gÆ:>\PÀÀT(A>ò<Är}ê<ljSàÂ?sÁ÷ÒßÜU,]¤ïÏ×ЧÜdû
-HRwj~j8©y@¨dö
·n þU³qxÀ5vÇWcM*¿H±PÒy½¼PL÷ï¥#é]àÊZ»'¦ãülµÅ¦lµÄJ{2©½Oø= Çj2y»0¹Ãç¬,nÈÐell}õi[£çxK²ÏÅØ£Þ»ÜgR¥&¬PìNF½V-±éfúèâèÉk¿´¹æOLùîl`i¾Ú@èÃ7RD1ÑwÀijO ªö£/¼Ç=ðoÝêàyá^Ö×ûä±-ò×ÐírätA³¹Ú.`øv.yT "þ,Bmx°âÛÐc¢@+rÊÙðmºÁGÄ'#ózæßØnAµ£1Õ±nt#õ´ÃØÓ6p]ÉW´MÀ{°lÏU/ÔMÄôÎ$N½¸CaõFÒë¼Ã¹?>~ÉJFa¥G`
NÏjí<y FÀ
-øÙVÏÑò#<µ¯q-*´uû+ð¹`¡DÑÑ뽺bBRJæWÀµÉbâ1fzÆb¬p*F_ɲÂÆ°
lHpKëÊ¿ZèÆév\8ÔÂï3¢(ZÍ÷Iê{¹ÖMAì%CGã¿tô£uÊi#yôÏî<·ÙýÚä:ö3Ï*üÜÞcPtA¢iJsæÐ\õGÕ>÷Ƕj;7ÌÑ·ÑöCP ¯eàDj(Ìî·X
-u
-«P÷nðªÉM4YÑbHi¯xbÚ&«åXìÅTUª#)}â%âkB©E)Î)Dö¦æ{Í°Ö\ÃtIPÕÿù
-¨ÙKa`]îÂKóPÍõg¿b¨iSç¤É*¡h«TS@ÇÖ>ºÃ¬}ô/ØÎÑѨ˳8úÊNùgÝÙá |'ÑKVBd.D79ì»h£a!A{±½NÒWÇ×£k±<¸°&¶¹«
-¨Ú?JÕdÇ9ÔÊL·7þG¦Ýup1ã_ç|ó ¹Ä¦6pR6x¨úó+áv¾LL²} K#ÑßØ#ýZ©RÑ-®ç'0Èè|è§×¶8ÂvTlàµ@¬!½lâ¿$áÅö2,2§Ò'Wk¡qL- rJo`7ÉÎIâóvÐ 0l×gîåÊ@@YçÚþBþxLÆØÆÐÆÄzÈ¢ÆðK¼¸&Ò´ÂËS@®òJqBÞíAvÆ[îÐñä\I~µúS¬RòXürû3ÀÝ»Ùþ}à õ½~ouu³ÃìS4B²q
- ¡Tføeë+ ^Rp¶ÎäX"Þ |tÕßâHyècXýèÃEKÖ~¼¡>ÏZÝÁÙÈÐE¯þºbËû-p´%ÊÊ]<-JÝ^¨ÓH´ e`÷Ø#¿n^oÆ ¥|ØÆy}M<:í®-%5^êÜý )þQ¯ô\oâ~t/{÷-3g0cëÄþfôì¿<3ÀE÷j¡ï;ÕhÝ,ÃÔs¯úЫJÞµ «¸è§zyý¯èÈ°_nc
-Q¶Ïåþ?Ö¸?<SpoDbe¬Ä¹rÛïj!Kù!°®iͲl¬W§ÿ(wÙ!flt¥¡}´qí&û~ø`.ñ¹:#3â^
-T ¿F!^0$³ÿÇuA?]iøÛÊÿFR¦>Ìé(ÄC%1{ºGʧu7ߪè«#Ðþaßé³CR=Y´2âQâ84=XúÊ*ót h(øúY¿=@Pê»Ó«qеïcåK
ÔèìPñuT0iU·¦^ø±¶H
-É[1u Á þ¦ª¢,æÙ¾¤S¦B^&Ö8~8 ÅN#_ë:àçz0rÖR;@k1.xgØðCì@·ìëÚëßùSëeá7¯¡Úþ>%q ¦1:¨3Íd HÙØÙÚýä½P,Æý«ü'äAYõcÅfÂjqK+¶®GE
-Ì[T§¿¬f H\!9¡²Ñ¬_©!zù¯B$²£pÄ4ÃÕÉXCw@1xyQ^E}E¥m9ØèO \N·ëdõÚT<Ý{ WkW.¦ÒTÓÅ{z*éÄwRX@^Ta=7X$¾Uʺô -æ<$B5¹ø¾+Ä'>gk:v¸k©mV2óÌØDÕ¯ÜÑUaöÁF±
-ïÃÂoh¤gÏ¥4C®I2çnpÞPV;¾aóM\e¤
-,¶]{G2ð.ɾìs¦;B
-Mñs[¥ÜSèßÙ´H@CàV£õ7ÆI
ÜSmZýʽY[¯[Ibf~J89¤Ã~#}¸4»îúÉgEÀÄfêÕ`<b²lÇ(Kxÿ)QJ½í,Ý_£Z,L«òé©ròqþân¥ÁC&Ó/}ÊÀæ¡Í&ã}'³âbÆ,Êp9;}JdHz³Ø¬8ºX¼MÅ3Íø)צÒõ-½8¥,6´÷úõOÕQîØÂ!°gç/³YÝqë£U{sK¶B00}stM£gG,ó^3;\]x®2Õº§_FÌíi¦KË'íy1}!óp¼x3ÛO¾ôÇævö^Ó#qÝE{ Ä`H¯`§apêKU£Íq",§#¾@ËÌ£fÄJþãvö¾ßºýÔ"æu at V~õõñl£}µÆ§ [¨ùáézÖ+ÀQ?Mñ8QpÕÐ]pJ[ìñZþ
-ãÍ´þër§Á¦IN:7c^\Ípçû*q»àG3¤]Ë=pe°,AH>Znå=ªk
©c,d<ôäFV½ò¡*Á@ï¡*ò0d!·|qÞZ«/¬l¶BwVKåAy/*¹ÀÅzù¸"VÖ¹h¥³Ë_óLn}¢ï ú2ÕøÇ%ØůÛ;8ss*ìè?~°¡,+ië@ÅæAÕ½îEN´¶°E
ÏÀ¾¨ð^ZÚÝÝ¥3çO)UpÕkXI°Ë3g©ômyÌDá
-5#·)×ôK³Õe6äZhWÓìn¯ã¡Üz,ëYì=úÍnqª©¯"üÀ
[TRUNCATED]
To get the complete diff run:
svnlook diff /svnroot/chnosz -r 239
More information about the CHNOSZ-commits
mailing list