working on CO2 example

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8570 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2014-03-18 04:34:21 +00:00
parent b685f71d36
commit 7ed15c09e3
2 changed files with 220 additions and 129 deletions

40
R/R.cpp
View File

@ -1,3 +1,4 @@
#include <R.h> #include <R.h>
#include <Rdefines.h> #include <Rdefines.h>
#include <sstream> #include <sstream>
@ -25,7 +26,7 @@ accumLine(SEXP line)
const char* str_in; const char* str_in;
// check args // check args
if (!isString(line) || length(line) != 1) { if (!isString(line) || length(line) != 1 || STRING_ELT(line, 0) == NA_STRING) {
error("AccumulateLine:line is not a single string\n"); error("AccumulateLine:line is not a single string\n");
} }
@ -95,8 +96,9 @@ setDumpFileOn(SEXP value)
{ {
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
// check args // check args
if (!isLogical(value) || length(value) != 1) { if (!isLogical(value) || length(value) != 1 || LOGICAL(value)[0] == NA_LOGICAL) {
error("SetDumpFileOn:value must either be \"TRUE\" or \"FALSE\"\n"); R::singleton().AddError("SetDumpFileOn: value must either be \"TRUE\" or \"FALSE\"");
error("value must either be \"TRUE\" or \"FALSE\"\n");
} }
R::singleton().SetDumpFileOn(LOGICAL(value)[0]); R::singleton().SetDumpFileOn(LOGICAL(value)[0]);
return(ans); return(ans);
@ -107,8 +109,9 @@ setErrorFileOn(SEXP value)
{ {
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
// check args // check args
if (!isLogical(value) || length(value) != 1) { if (!isLogical(value) || length(value) != 1 || LOGICAL(value)[0] == NA_LOGICAL) {
error("SetErrorFileOn:value must either be \"TRUE\" or \"FALSE\"\n"); R::singleton().AddError("SetErrorFileOn: value must either be \"TRUE\" or \"FALSE\"");
error("value must either be \"TRUE\" or \"FALSE\"\n");
} }
R::singleton().SetErrorFileOn(LOGICAL(value)[0]); R::singleton().SetErrorFileOn(LOGICAL(value)[0]);
return(ans); return(ans);
@ -120,7 +123,8 @@ setLogFileOn(SEXP value)
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
// check args // check args
if (!isLogical(value) || length(value) != 1) { if (!isLogical(value) || length(value) != 1) {
error("SetLogFileOn:value must either be \"TRUE\" or \"FALSE\"\n"); R::singleton().AddError("SetLogFileOn: value must either be \"TRUE\" or \"FALSE\"");
error("value must either be \"TRUE\" or \"FALSE\"");
} }
R::singleton().SetLogFileOn(LOGICAL(value)[0]); R::singleton().SetLogFileOn(LOGICAL(value)[0]);
return(ans); return(ans);
@ -132,7 +136,7 @@ setOutputFileOn(SEXP value)
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
// check args // check args
if (!isLogical(value) || length(value) != 1) { if (!isLogical(value) || length(value) != 1) {
error("SetOutputFileOn:value must either be \"TRUE\" or \"FALSE\"\n"); error("value must either be \"TRUE\" or \"FALSE\"\n");
} }
R::singleton().SetOutputFileOn(LOGICAL(value)[0]); R::singleton().SetOutputFileOn(LOGICAL(value)[0]);
return(ans); return(ans);
@ -144,7 +148,7 @@ setSelectedOutputFileOn(SEXP value)
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
// check args // check args
if (!isLogical(value) || length(value) != 1) { if (!isLogical(value) || length(value) != 1) {
error("SetSelectedOutputFileOn:value must either be \"TRUE\" or \"FALSE\"\n"); error("value must either be \"TRUE\" or \"FALSE\"\n");
} }
R::singleton().SetSelectedOutputFileOn(LOGICAL(value)[0]); R::singleton().SetSelectedOutputFileOn(LOGICAL(value)[0]);
return(ans); return(ans);
@ -329,9 +333,23 @@ SEXP
getWarningString(void) getWarningString(void)
{ {
SEXP ans = R_NilValue; SEXP ans = R_NilValue;
PROTECT(ans = allocVector(STRSXP, 1)); const char* warning = R::singleton().GetWarningString();
SET_STRING_ELT(ans, 0, mkChar(R::singleton().GetWarningString())); if (::strlen(warning)) {
UNPROTECT(1); std::string warn(warning);
std::istringstream iss(warn);
std::string line;
std::vector< std::string > lines;
while (std::getline(iss, line))
{
lines.push_back(line);
}
PROTECT(ans = allocVector(STRSXP, lines.size()));
for (int i = 0; i < lines.size(); ++i)
{
SET_STRING_ELT(ans, i, mkChar(lines[i].c_str()));
}
UNPROTECT(1);
}
return ans; return ans;
} }

View File

@ -18,6 +18,10 @@
##' @keywords package ##' @keywords package
##' @examples ##' @examples
##' ##'
##' #########################################################################
##' # Run ex2 and plot results
##' #########################################################################
##'
##' # load the phreeqc.dat database ##' # load the phreeqc.dat database
##' phrLoadDatabaseString(phreeqc.dat) ##' phrLoadDatabaseString(phreeqc.dat)
##' ##'
@ -36,11 +40,50 @@
##' points(temp.C., si_anhydrite, col="darkgreen") ##' points(temp.C., si_anhydrite, col="darkgreen")
##' legend("bottomright", c("Gypsum", "Anhydrite"), col = c("darkred", "darkgreen"), pch = c(1, 1)) ##' legend("bottomright", c("Gypsum", "Anhydrite"), col = c("darkred", "darkgreen"), pch = c(1, 1))
##' ##'
##'
##'
##' #########################################################################
##' # Load data from CSV and calculate pCO2
##' #########################################################################
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
##'
NULL NULL
# Package Functions # Package Functions
##' Accumlulate line(s) for input to phreeqc. ##' Accumlulate line(s) for input to phreeqc.
##' ##'
##' Appends a line of text to the input buffer in order to be run using ##' Appends a line of text to the input buffer in order to be run using
@ -56,11 +99,13 @@ NULL
##' \code{\link{phrGetAccumulatedLines}}, \code{\link{phrRunAccumulated}} ##' \code{\link{phrGetAccumulatedLines}}, \code{\link{phrRunAccumulated}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # this example loads the phreeqc.dat database, accumulates input, and ##' # this example loads the phreeqc.dat database, accumulates input, and
##' # runs it ##' # runs it
##' phrLoadDatabase("phreeqc/phreeqc.dat") ##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrAccumulateLine("TITLE Example 2.--Temperature dependence of solubility") ##' phrAccumulateLine("TITLE Example 2.--Temperature dependence of solubility")
##' phrAccumulateLine(" of gypsum and anhydrite") ##' phrAccumulateLine(" of gypsum and anhydrite")
##' phrAccumulateLine("SOLUTION 1 Pure water") ##' phrAccumulateLine("SOLUTION 1 Pure water")
@ -99,12 +144,12 @@ function(line)
##' @usage phrClearAccumulatedLines() ##' @usage phrClearAccumulatedLines()
##' @return This function returns NULL. ##' @return This function returns NULL.
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrAccumulateLine}}, ##' @seealso \code{\link{phrAccumulateLine}},
##' \code{\link{phrGetAccumulatedLines}}, \code{\link{phrRunAccumulated}} ##' \code{\link{phrGetAccumulatedLines}}, \code{\link{phrRunAccumulated}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # This example loads some keyword input, clears the input, and displays the results. ##' # This example loads some keyword input, clears the input, and displays the results.
@ -131,16 +176,16 @@ function()
##' @return A list containing the names of the components defined in the ##' @return A list containing the names of the components defined in the
##' current system. ##' current system.
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # This example runs the ex2 input file and echos the list of components. ##' # This example runs the ex2 input file and echos the list of components.
##' phrLoadDatabaseString(phreeqc.dat) ##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrRunString(ex2) ##' phrRunString(ex2.list)
##' cat("components:\n") ##' cat("components:\n")
##' for (c in phrGetComponentList()) { ##' for (c in phrGetComponentList()) {
##' cat(c, "\n") ##' cat(c, "\n")
@ -153,39 +198,33 @@ function()
} }
##' Returns the contents of the selected output as a list of data frames.
##' Returns the contents of the selected output as a data frame.
##' ##'
##' phrGetSelectedOutput return the results of a phreeqc run specified in the ##' phrGetSelectedOutput returns a named list containing the resultant
##' selected output block of a phreeqc input file. ##' selected output blocks. The names of each data frame are creating by
##' concatenating the letter 'n' and the user number of the selected output
##' block.
##' ##'
##' Accessing selected outputs having a user number other than 1 requires ##' %% ~~ If necessary, more details than the description above ~~
##' setting the current selected output user number with
##' \code{\link{phrSetCurrentSelectedOutputUserNumber}}.
##'
##' *** Should we return a list of data.frames??? ***
##' ##'
##' @usage phrGetSelectedOutput() ##' @usage phrGetSelectedOutput()
##' @return Returns a data frame containing the selected_output from the ##' @return Returns a named list of data frames containing the selected_output
##' previous run. ##' from the previous run.
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott ##' @seealso \code{\link{phrGetSelectedOutputFileOn}}
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrGetCurrentSelectedOutputUserNumber}},
##' \code{\link{phrGetSelectedOutputFileOn}},
##' \code{\link{phrSetCurrentSelectedOutputUserNumber}},
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords interface ##' @keywords interface
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##'
##' # Load database and run ex2 ##' # Load database and run ex2
##' phrLoadDatabaseString(phreeqc.dat) ##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrRunString(ex2) ##' phrRunString(ex2.list)
##' ##'
##' # display a summary of the results ##' # display a summary of the results
##' df <- phrGetSelectedOutput() ##' df <- phrGetSelectedOutput()
##' summary(df) ##' summary(df$n1)
##' ##'
phrGetSelectedOutput = phrGetSelectedOutput =
function(allow_ = TRUE) function(allow_ = TRUE)
@ -205,28 +244,30 @@ function(allow_ = TRUE)
##' Return error string messages. ##' Return error string messages.
##' ##'
##' Returns a string containing any error messages that were generated
##' during the last invocation of the following methods:
##' \code{\link{phrAccumulateLine}}, \code{\link{phrLoadDatabase}},
##' \code{\link{phrLoadDatabaseString}}, \code{\link{phrRunAccumulatedeadString}},
##' \code{\link{phrRunFile}}, \code{\link{phrRunString}}
##' ##'
##' phrGetErrorString executes a phreeqc run ##' This routine is rarely needed when running interactively since the error
##' ##' string is displayed when it occurs.
##'
##' Any details about the operation of this function should go here.
##' ##'
##' @usage phrGetErrorString() ##' @usage phrGetErrorString()
##' @return This function returns the errors that occured during the previous ##' @return This function returns the errors that occured during the previous
##' phrReadDB, phrRun, phrRunFile call. ##' phrReadDB, phrRun, phrRunFile call.
##' @author Scott Charlton <charlton@@usgs.gov>
##'
##' Lopaka(Rob) Lee <rclee@@usgs.gov>
##' @seealso \code{\link{phrReadString}}, \code{\link{phrRun}}, ##' @seealso \code{\link{phrReadString}}, \code{\link{phrRun}},
##' \code{\link{phrRunFile}}, \code{\link{phrGetSelectedOutput}} ##' \code{\link{phrRunFile}}, \code{\link{phrGetSelectedOutput}}
##' @references Literature references and web URLs can go here. ##' @references Literature references and web URLs can go here.
##' @keywords interface ##' @keywords interface
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # loaddatabase should fail ##' # loaddatabase should fail
##' n <- try(phrLoadDatabase("missing.dat"), silent = TRUE) ##' n <- try(phrLoadDatabase("missing.dat"), silent = TRUE)
##' # if n is non-NULL display error string ##' # if n is non-NULL display error string
##' if (!is.null(n)) phrGetErrorString() ##' if (!is.null(n)) phrGetErrorString()
##' ##'
phrGetErrorString = phrGetErrorString =
function() function()
@ -247,10 +288,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -282,10 +324,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -317,10 +360,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -352,10 +396,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -387,10 +432,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -422,10 +468,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -457,10 +504,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -492,10 +540,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -527,10 +576,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -562,10 +612,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -597,10 +648,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -633,10 +685,11 @@ function(value)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -668,10 +721,11 @@ function(filename)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -703,10 +757,11 @@ function(filename)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -738,10 +793,11 @@ function(filename)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -773,10 +829,11 @@ function(filename)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -806,16 +863,16 @@ function(filename)
##' @usage phrGetDumpFileName() ##' @usage phrGetDumpFileName()
##' @return The name of the dump file as a string. ##' @return The name of the dump file as a string.
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrGetDumpFileOn}}, \code{\link{phrGetDumpString}}, ##' @seealso \code{\link{phrGetDumpFileOn}}, \code{\link{phrGetDumpString}},
##' \code{\link{phrGetDumpStringOn}}, \code{\link{phrSetDumpFileName}}, ##' \code{\link{phrGetDumpStringOn}}, \code{\link{phrSetDumpFileName}},
##' \code{\link{phrSetDumpFileOn}}, \code{\link{phrSetDumpStringOn}} ##' \code{\link{phrSetDumpFileOn}}, \code{\link{phrSetDumpStringOn}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' phrLoadDatabase("phreeqc/phreeqc.dat") ##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrSetDumpFileOn(TRUE) ##' phrSetDumpFileOn(TRUE)
##' ##'
##' input <- "SOLUTION 1 Pure water \n" ##' input <- "SOLUTION 1 Pure water \n"
@ -852,10 +909,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -886,10 +944,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -920,10 +979,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -954,10 +1014,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -988,17 +1049,34 @@ function()
##' @usage phrGetDumpString() ##' @usage phrGetDumpString()
##' @return The dump output as a string. ##' @return The dump output as a string.
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrGetDumpFileName}}, \code{\link{phrGetDumpFileOn}}, ##' @seealso \code{\link{phrGetDumpFileName}}, \code{\link{phrGetDumpFileOn}},
##' \code{\link{phrGetDumpStringOn}}, \code{\link{phrSetDumpFileName}}, ##' \code{\link{phrGetDumpStringOn}}, \code{\link{phrSetDumpFileName}},
##' \code{\link{phrSetDumpFileOn}}, \code{\link{phrSetDumpStringOn}} ##' \code{\link{phrSetDumpFileOn}}, \code{\link{phrSetDumpStringOn}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrSetDumpStringOn(TRUE)
##' ##'
##' phrLoadDatabase("phreeqc/phreeqc.dat") ##' input <- "SOLUTION 1 Pure water \n"
##' input <- paste(input, "EQUILIBRIUM_PHASES 1 \n")
##' input <- paste(input, " Calcite 0 10 \n")
##' input <- paste(input, "SAVE solution 1 \n")
##' input <- paste(input, "SAVE equilibrium_phases 1 \n")
##' input <- paste(input, "DUMP \n")
##' input <- paste(input, " -solution 1 \n")
##' input <- paste(input, " -equilibrium_phases 1\n")
##'
##' if (!is.null(phrRunString(input))) {
##' cat(phrGetErrorString())
##' }
##' cat(phrGetDumpString())
##'
##'
##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrSetDumpStringOn(TRUE) ##' phrSetDumpStringOn(TRUE)
##' ##'
##' input <- "SOLUTION 1 Pure water \n" ##' input <- "SOLUTION 1 Pure water \n"
@ -1035,10 +1113,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -1069,10 +1148,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -1103,10 +1183,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -1126,31 +1207,37 @@ function()
##' TODO ##' Retrieve warning messages.
##' ##'
##' %% ~~ A concise (1-5 lines) description of what the function does. ~~ ##' Returns a character vector containing any warning messages that were
##' generated during the last invocation of the following methods:
##' \code{\link{phrAccumulateLine}}, \code{\link{phrLoadDatabase}},
##' \code{\link{phrLoadDatabaseString}}, \code{\link{phrRunAccumulatedeadString}},
##' \code{\link{phrRunFile}}, \code{\link{phrRunString}}
##' ##'
##' %% ~~ If necessary, more details than the description above ~~ ##' %% ~~ If necessary, more details than the description above ~~
##' ##'
##' @usage phrGetWarningString() ##' @usage phrGetWarningString()
##' @return %% ~Describe the value returned %% If it is a LIST, use %% ##' @return A character vector containing warning messages.
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' # This example loads the phreeqc.dat database and attempts to use the
##' ##-- ==> Define data, use random, ##' # \code{DATABASE} keyword to set the database to wateq4f.dat. A
##' ##-- or do help(data=index) for the standard data sets. ##' # warning is displayed stating that the DATABASE keyword is ignored
##' ##' # in the 'R' implementation.
##' ## The function is currently defined as ##' phrLoadDatabaseString(phreeqc.dat.list)
##' function () ##' phrAccumulateLine("DATABASE wateq4f.dat")
##' { ##' phrAccumulateLine("SOLUTION 1")
##' } ##' phrRunAccumulated()
##' if (is.null(phrGetWarningString())) {
##' cat(phrGetWarningString())
##' }
##' ##'
phrGetWarningString = phrGetWarningString =
function() function()
@ -1159,9 +1246,6 @@ function()
} }
##' Load a phreeqc database file ##' Load a phreeqc database file
##' ##'
##' Loads the given phreeqc database into phreeqc. Returns NULL if successful. ##' Loads the given phreeqc database into phreeqc. Returns NULL if successful.
@ -1170,10 +1254,11 @@ function()
##' @usage phrLoadDatabase(filename) ##' @usage phrLoadDatabase(filename)
##' @param filename The file name of the database. ##' @param filename The file name of the database.
##' @return This function returns NULL. ##' @return This function returns NULL.
##' @author Scott Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrLoadDatabaseString}} ##' @seealso \code{\link{phrLoadDatabaseString}}
##' @references Literature references and web URLs can go here. ##' @references Literature references and web URLs can go here.
##' @keywords interface ##' @keywords interface
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##'
@ -1192,10 +1277,9 @@ function(filename)
} }
##' Load a phreeqc database as a string or a list of strings.
##' Load a phreeqc database as a string.
##' ##'
##' Load the specified string as a database into phreeqc. Returns NULL if ##' Load the specified string(s) as a database into phreeqc. Returns NULL if
##' successful. ##' successful.
##' ##'
##' %% ~~ If necessary, more details than the description above ~~ ##' %% ~~ If necessary, more details than the description above ~~
@ -1204,29 +1288,23 @@ function(filename)
##' @param input String containing data to be used as the phreeqc database. ##' @param input String containing data to be used as the phreeqc database.
##' @return This function returns NULL. ##' @return This function returns NULL.
##' @note All previous definitions are cleared. ##' @note All previous definitions are cleared.
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrLoadDatabase}} ##' @seealso \code{\link{phrLoadDatabase}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # this example loads the phreeqc.dat database, turns on the ##' # this example loads the phreeqc.dat database, turns on the
##' # output file and runs ex2 as a string ##' # output file and runs ex2 as a string
##' phrLoadDatabaseString(phreeqc.dat.string) ##' phrLoadDatabaseString(phreeqc.dat.list)
##' phrSetOutputFileOn(TRUE) ##' phrSetOutputFileOn(TRUE)
##' if (is.null(phrRunString(ex2))) { ##' if (is.null(phrRunString(ex2.list))) {
##' cat(paste("see ", phrGetOutputFileName(), ".\n", sep="")) ##' cat(paste("see ", phrGetOutputFileName(), ".\n", sep=""))
##' } ##' }
##' ##'
phrLoadDatabaseString = phrLoadDatabaseString =
function(input) function(input)
{
invisible(.Call("loadDBStr", as.character(input), PACKAGE=.packageName))
}
phrLoadDatabaseList =
function(input)
{ {
invisible(.Call("loadDBLst", as.character(input), PACKAGE=.packageName)) invisible(.Call("loadDBLst", as.character(input), PACKAGE=.packageName))
} }
@ -1242,11 +1320,11 @@ function(input)
##' @usage phrGetAccumulatedLines() ##' @usage phrGetAccumulatedLines()
##' @return The input as a single string. ##' @return The input as a single string.
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author David Parkhurst \email{dlpark@@usgs.gov}\cr Maintainer: Scott
##' Charlton \email{charlton@@usgs.gov}
##' @seealso \code{\link{phrAccumulateLine}}, \code{\link{phrRunAccumulated}} ##' @seealso \code{\link{phrAccumulateLine}}, \code{\link{phrRunAccumulated}}
##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc} ##' @references \url{http://wwwbrr.cr.usgs.gov/projects/GWC_coupled/phreeqc}
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' # This example loads some keyword input and displays the contents. ##' # This example loads some keyword input and displays the contents.
@ -1260,12 +1338,6 @@ function()
return(.Call("getAccumLines", PACKAGE=.packageName)) return(.Call("getAccumLines", PACKAGE=.packageName))
} }
phrGetAccumulatedLines =
function()
{
return(.Call("getAccumLines", PACKAGE=.packageName))
}
##' TODO ##' TODO
@ -1279,10 +1351,11 @@ function()
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----
@ -1313,13 +1386,12 @@ function()
##' @usage phrRunFile(filename) ##' @usage phrRunFile(filename)
##' @param filename The file name of the phreeqc input file. ##' @param filename The file name of the phreeqc input file.
##' @return This function returns NULL. ##' @return This function returns NULL.
##' @author Scott Charlton <charlton@@usgs.gov>
##'
##' Lopaka(Rob) Lee <rclee@@usgs.gov>
##' @seealso \code{\link{phrReadString}}, \code{\link{phrRun}}, ##' @seealso \code{\link{phrReadString}}, \code{\link{phrRun}},
##' \code{\link{phrGetSelectedOutput}} ##' \code{\link{phrGetSelectedOutput}}
##' @references Literature references and web URLs can go here. ##' @references Literature references and web URLs can go here.
##' @keywords interface ##' @keywords interface
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##'
@ -1346,10 +1418,11 @@ function(filename)
##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of ##' \item{comp1 }{Description of 'comp1'} %% \item{comp2 }{Description of
##' 'comp2'} %% ... ##' 'comp2'} %% ...
##' @note %% ~~further notes~~ ##' @note %% ~~further notes~~
##' @author %% ~~who you are~~
##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~ ##' @seealso %% ~~objects to See Also as \code{\link{help}}, ~~~
##' @references %% ~put references to the literature/web site here ~ ##' @references %% ~put references to the literature/web site here ~
##' @keywords ~kwd1 ~kwd2 ##' @keywords ~kwd1 ~kwd2
##' @useDynLib phreeqc
##' @export
##' @examples ##' @examples
##' ##'
##' ##---- Should be DIRECTLY executable !! ---- ##' ##---- Should be DIRECTLY executable !! ----