development/get.CO2Sys_pH_pCO2.R

#'@title
#'@description

#'@usage

#'
#'@param
#'@return
#'@note
#'@references
#'@author
#'@examples

#'@export

get.CO2Sys.pH_pCO2uatm <- function(pH, pCO2uatm,  temperature, salinity, pressure){

  vars <- c("pCO2", "CO2", "HCO3", "CO3", "TCO2", "TAlk", "pH")
  CO2Sys <- vector("list", length(vars))
  names(CO2Sys) <- vars

  CO2Sys[["pH"]] <- pH
  CO2Sys[["pCO2"]] <- pCO2uatm

  H <- 10^(-CO2Sys[[pH]])  #This is an approximation and wrong.  Good enough for now however.

  K0 <- get.K0(temperature, salinity, pressure)
  K1 <- get.K1(temperature, salinity)
  K2 <- get.K2(temperature, salinity)
  OH <- get.OH(temperature, salinity, H)

  CO2Sys[["CO2"]] <- K0 * CO2Sys[["pCO2"]] #check what the pCO2 units should be...
  CO2Sys[["HCO3"]] <- K1 * CO2Sys[["CO2"]] / H
  CO2Sys[["CO3"]] <- K2 * CO2Sys[["HCO3"]] / H
  CO2Sys[["TAlk"]] <- CO2Sys[["HCO3"]] + 2 * CO2Sys[["CO3"]] + OH - H
  CO2Sys[["TCO2"]] <- CO2Sys[["CO2"]] + CO2Sys[["HCO3"]] + CO2Sys[["CO3"]]

  return(CO2Sys)
}
gholtgrieve/gassyPants documentation built on May 9, 2019, 5:02 a.m.