% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/utils-diagnostic-tests.R
\name{test_salic_product}
\alias{test_salic_product}
\title{Test the salic horizon EC * thickness product (WRB 2022)}
\usage{
test_salic_product(
  h,
  min_product = 450,
  alkaline_min_product = 240,
  ec_path_lookup = NULL,
  candidate_layers = NULL
)
}
\arguments{
\item{h}{Horizons table.}

\item{min_product}{Primary product threshold (default 450).}

\item{alkaline_min_product}{Alkaline-path product threshold
(default 240).}

\item{ec_path_lookup}{Optional named list (keys = layer index as
character) returning either "primary" or "alkaline" per layer
-- typically built by passing
\code{test_ec_concentration(...)\\$details}.}

\item{candidate_layers}{Layer index restriction (typically the layers
that already passed the primary EC gate).}
}
\description{
Tests whether each candidate layer's product
\code{ec_dS_m * (bottom_cm - top_cm)} reaches the canonical WRB 2022
threshold (Ch 3.1.20, p. 49):
\itemize{
  \item \code{>= 450} dS/m * cm for the primary path (EC \\>= 15);
  \item \code{>= 240} dS/m * cm for the alkaline path
        (EC \\>= 8 with pH(H2O) \\>= 8.5).
}
The path used per layer is taken from a prior
\code{\link{test_ec_concentration}} result (its \code{details[[i]]\\$path}
field). When no prior is supplied, every candidate is treated as
"primary" and the 450 threshold is applied uniformly.
}
