data-raw/rel_param.R

rel_param <-
list(
  sal_conduc_max = list(
    regla = "`Sal (psu)` <= 6.693e-4 * `Conduc (µS/cm)` + 11",
    mensaje = "La Salinidad (Sal) es muy alta en relación a la Conductividad (Conduc)",
    id_parametro = c(2020L, 2009L),
    fun = function (x) {
      sal <- x[[1]]
      conduc <- x[[2]]
      return(sal <= 0.0006693 * conduc + 11)
      }),
  sal_conduc_min = list(
    regla = "`Sal (psu)` >= 6.693e-4 * `Conduc (µS/cm)` - 6",
    mensaje = "La Salinidad (Sal) es muy baja en relación a la Conductividad (Conduc)",
    id_parametro = c(2020L, 2009L),
    fun = function (x) {
      sal <- x[[1]]
      conduc <- x[[2]]
      return(sal >= 0.0006693 * conduc - 6)
      }),
  od_sat_max = list(
    regla = "`OD (mg/L)` <= 0.12 * `SatO2 (%)`",
    mensaje = "La concentración de Oxígeno Disuelto (OD) es muy alta en relación a la Saturación de Oxígeno (SatO2)",
    id_parametro = c(2017L, 2021L),
    fun = function (x) {
      od <- x[[1]]
      sat <- x[[2]]
      return(od <= 0.12 * sat)
      }),
  od_sat_min = list(
    regla = "`OD (mg/L)` >= 0.065 * `SatO2 (%)`",
    mensaje = "La concentración de Oxígeno Disuelto (OD) es muy baja en relación a la Saturación de Oxígeno (SatO2)",
    id_parametro = c(2017L, 2021L),
    fun = function (x) {
      od <- x[[1]]
      sat <- x[[2]]
      return(od >= 0.065 * sat)
      }),
  nt_resto = list(
    regla = "`NT (mg N/L)` > `NO3 (mg NO3-N/L)` + `NO2 (mg NO2-N/L)` + `NAmoniacal (mg NH4-N/L)`",
    mensaje = "La concentración del Nitrógeno Total (NT) es menor o igual a la suma del Nitrato (NO3), el Dióxido de Nitrógeno (NO2) y el NH4 (NAmoniacal)",
    id_parametro = c(2102L, 2099L, 2101L, 2090L),
    fun = function (x) {
      nt <- x[[1]]
      no3 <- x[[2]]
      no2 <- x[[3]]
      namoniacal <- x[[4]]
      return(nt > no3 + no2 + namoniacal)
      }),
  nitrato_nitrito = list(
    regla = "`NO3 (mg NO3-N/L)` > `NO2 (mg NO2-N/L)`",
    mensaje = "La concentración del Nitrato (NO3) es menor o igual a la del Dióxido de Nitrógeno (NO2)",
    id_parametro = c(2099L, 2101L),
    fun = function (x) {
      no3 <- x[[1]]
      no2 <- x[[2]]
      return(no3 > no2)
      }),
  amoniacos = list(
    regla = "`NAmoniacal (mg NH4-N/L)` > `NH3 (µg NH3-N/L)` / 1000",
    mensaje = "La concentración del NH4 (NAmoniacal) es menor o igual a la del Amoníaco Libre (NH3)",
    id_parametro = c(2090L, 2091L),
    fun = function (x) {
      namoniacal <- x[[1]]
      nh3 <- x[[2]]
      return(namoniacal > nh3 / 1000)
      }),
  nitrato_nh4 = list(
    regla = "`NO3 (mg NO3-N/L)` > `NAmoniacal (mg NH4-N/L)`",
    mensaje = "La concentración del Nitrato (NO3) es menor o igual a la del NH4 (NAmoniacal)",
    id_parametro = c(2099L, 2090L),
    fun = function (x) {
      no3 <- x[[1]]
      namoniacal <- x[[2]]
      return(no3 > namoniacal)
      }),
  nt_ntk = list(
    regla = "`NT (mg N/L)` > `NTK (mg N/L)`",
    mensaje = "La concentración del Nitrógeno Total (NT) es menor o igual a la del Nitrógeno Total Kjedahl (NTK)",
    id_parametro = c(2102L, 2103L),
    fun = function (x) {
      nt <- x[[1]]
      ntk <- x[[2]]
      return(nt > ntk)
      }),
  st_stf_stv = list(
    regla = "`ST (mg/L)` >= `STF (mg/L)` + `STV (mg/L)`",
    mensaje = "La concentración del Sólidos Totales (ST) es menor a la suma de los Sólidos Totales Fijos (STF) y los Sólidos Volátiles (STV)",
    id_parametro = c(2028L, 2029L, 2030L),
    fun = function (x) {
      st <- x[[1]]
      stf <- x[[2]]
      stv <- x[[3]]
      return(st >= stf + stv)
      }),
  st_sst = list(
    regla = "`ST (mg/L)` >= `SST (mg/L)`",
    mensaje = "La concentración del Sólidos Totales (ST) es menor a la de los Sólidos Suspendidos Totales (SST)",
    id_parametro = c(2028L, 2026L),
    fun = function (x) {
      st <- x[[1]]
      sst <- x[[2]]
      return(st >= sst)
      }),
  sst_resto = list(
    regla = "`SST (mg/L)` >= `SSF (mg/L)` + `SSV (mg/L)`",
    mensaje = "La concentración del Sólidos Suspendidos Totales (SST) es menor a la suma de los Sólidos Suspendidos Fijos (SSF) y los Sólidos Volátiles (SSV)",
    id_parametro = c(2026L, 2025L, 2027L),
    fun = function (x) {
      sst <- x[[1]]
      ssf <- x[[2]]
      ssv <- x[[3]]
      return(sst >= ssf + ssv)
      }),
  pt_po4 = list(
    regla = "`PT (µg P/L)` > `PO4 (µg PO4-P/L)`",
    mensaje = "La concentración del Fósforo Total (PT) es menor o igual a la del Fosfato Reactivo (PO4)",
    id_parametro = c(2098L, 2097L),
    fun = function (x) {
      pt <- x[[1]]
      po4 <- x[[2]]
      return(pt > po4)
      })
  )

# save(rel_param, file = "data/rel_param.rda")
jumanbar/siabox documentation built on April 25, 2022, 1:37 p.m.