Skip to contents

Performs a salt balance on ion chromatography data and returns outputs formatted for use with ECOS Runsalt software.

Usage

fun_salt_balance(
  sample_name,
  dry_g,
  water_ml,
  chloride_ppm,
  nitrate_ppm,
  sulfate_ppm,
  sodium_ppm,
  potassium_ppm,
  calcium_ppm,
  magnesium_ppm
)

Source

https://predict.kikirpa.be/index.php/tools/moisture-and-salt-sample-data-analysis-tool/

Arguments

sample_name

Character. Name or ID of the sample.

dry_g

Numeric. Dry mass of the sample, in grams.

water_ml

Numeric. Volume of water added for ion chromatography, in millilitres.

chloride_ppm

Numeric. Chloride concentration in ppm.

nitrate_ppm

Numeric. Nitrate concentration in ppm.

sulfate_ppm

Numeric. Sulfate concentration in ppm.

sodium_ppm

Numeric. Sodium concentration in ppm.

potassium_ppm

Numeric. Potassium concentration in ppm.

calcium_ppm

Numeric. Calcium concentration in ppm.

magnesium_ppm

Numeric. Magnesium concentration in ppm.

Value

A tibble containing balanced ion molar concentrations, weight fractions, milliequivalents, charge balance diagnostics, ECOS-compatible inputs, and other relevant calculations.

Note

Use the PREDICT Salt Content Calculator for the most up-to-date calculation and detailed explanation of the methodology: https://predict.kikirpa.be/index.php/tools/moisture-and-salt-sample-data-analysis-tool/

SaltsR tool for online version: https://oceanonline.shinyapps.io/SaltsRApp/

References

Godts, S., Steiger, M., Orr, S.A. et al. Charge balance calculations for mixed salt systems applied to a large dataset from the built environment. Sci Data 9, 324 (2022). https://doi.org/10.1038/s41597-022-01445-9

Examples

fun_salt_balance(
  sample_name = "Example",
  dry_g = 1,
  water_ml = 100,
  chloride_ppm = 50,
  nitrate_ppm = 30,
  sulfate_ppm = 20,
  sodium_ppm = 40,
  potassium_ppm = 10,
  calcium_ppm = 15,
  magnesium_ppm = 5
) |>
dplyr::glimpse()
#> Rows: 1
#> Columns: 144
#> $ sample_name                  <chr> "Example"
#> $ dry_g                        <dbl> 1
#> $ water_ml                     <dbl> 100
#> $ chloride_ppm                 <dbl> 50
#> $ nitrate_ppm                  <dbl> 30
#> $ sulfate_ppm                  <dbl> 20
#> $ sodium_ppm                   <dbl> 40
#> $ potassium_ppm                <dbl> 10
#> $ calcium_ppm                  <dbl> 15
#> $ magnesium_ppm                <dbl> 5
#> $ chloride_wt                  <dbl> 0.005
#> $ nitrate_wt                   <dbl> 0.003
#> $ sulfate_wt                   <dbl> 0.002
#> $ sodium_wt                    <dbl> 0.004
#> $ potassium_wt                 <dbl> 0.001
#> $ calcium_wt                   <dbl> 0.0015
#> $ magnesium_wt                 <dbl> 5e-04
#> $ total_wt                     <dbl> 0.017
#> $ chloride_mEq                 <dbl> 141.033
#> $ nitrate_mEq                  <dbl> 48.38327
#> $ sulfate_mEq                  <dbl> 41.63891
#> $ sodium_mEq                   <dbl> 173.9904
#> $ potassium_mEq                <dbl> 25.57656
#> $ calcium_mEq                  <dbl> 74.85403
#> $ magnesium_mEq                <dbl> 41.1438
#> $ total_mEq_anions             <dbl> 231.0552
#> $ total_mEq_cations            <dbl> 315.5648
#> $ charge_imbalance_initial     <dbl> 84.50968
#> $ imbalance_allocation         <chr> "dExcess Cations"
#> $ Pathway1                     <lgl> FALSE
#> $ Pathway2                     <lgl> TRUE
#> $ chloride_mEq_Path1           <lgl> NA
#> $ nitrate_mEq_Path1            <lgl> NA
#> $ sulfate_mEq_Path1            <lgl> NA
#> $ sodium_mEq_Path1             <lgl> NA
#> $ potassium_mEq_Path1          <lgl> NA
#> $ calcium_mEq_Path1            <lgl> NA
#> $ magnesium_mEq_Path1          <lgl> NA
#> $ chloride_mEq_Path2Ca         <dbl> 141.033
#> $ nitrate_mEq_Path2Ca          <dbl> 48.38327
#> $ sulfate_mEq_Path2Ca          <dbl> 41.63891
#> $ sodium_mEq_Path2Ca           <dbl> 173.9904
#> $ potassium_mEq_Path2Ca        <dbl> 25.57656
#> $ calcium_mEq_Path2Ca          <dbl> 0
#> $ magnesium_mEq_Path2Ca        <dbl> 41.1438
#> $ total_mEq_anions_Path2Ca     <dbl> 231.0552
#> $ total_mEq_cations_Path2Ca    <dbl> 240.7108
#> $ charge_imbalance_CaAdj       <dbl> 9.655641
#> $ chloride_mEq_Path2Mg         <dbl> 141.033
#> $ nitrate_mEq_Path2Mg          <dbl> 48.38327
#> $ sulfate_mEq_Path2Mg          <dbl> 41.63891
#> $ sodium_mEq_Path2Mg           <dbl> 173.9904
#> $ potassium_mEq_Path2Mg        <dbl> 25.57656
#> $ calcium_mEq_Path2Mg          <dbl> 0
#> $ magnesium_mEq_Path2Mg        <dbl> 31.48816
#> $ total_mEq_anions_Path2Mg     <dbl> 231.0552
#> $ total_mEq_cations_Path2Mg    <dbl> 231.0552
#> $ charge_imbalance_MgAdj       <dbl> 0
#> $ chloride_mEq_Path2Na         <dbl> 141.033
#> $ nitrate_mEq_Path2Na          <dbl> 48.38327
#> $ sulfate_mEq_Path2Na          <dbl> 41.63891
#> $ sodium_mEq_Path2Na           <dbl> 173.9904
#> $ potassium_mEq_Path2Na        <dbl> 25.57656
#> $ calcium_mEq_Path2Na          <dbl> 0
#> $ magnesium_mEq_Path2Na        <dbl> 31.48816
#> $ total_mEq_anions_Path2Na     <dbl> 231.0552
#> $ total_mEq_cations_Path2Na    <dbl> 231.0552
#> $ charge_imbalance_NaAdj       <dbl> 0
#> $ chloride_mEq_Path2K          <dbl> 141.033
#> $ nitrate_mEq_Path2K           <dbl> 48.38327
#> $ sulfate_mEq_Path2K           <dbl> 41.63891
#> $ sodium_mEq_Path2K            <dbl> 173.9904
#> $ potassium_mEq_Path2K         <dbl> 25.57656
#> $ calcium_mEq_Path2K           <dbl> 0
#> $ magnesium_mEq_Path2K         <dbl> 31.48816
#> $ total_mEq_anions_Path2K      <dbl> 231.0552
#> $ total_mEq_cations_Path2K     <dbl> 231.0552
#> $ charge_imbalance_KAdj        <dbl> 0
#> $ chloride_mEq_adj             <dbl> 141.033
#> $ nitrate_mEq_adj              <dbl> 48.38327
#> $ sulfate_mEq_adj              <dbl> 41.63891
#> $ sodium_mEq_adj               <dbl> 173.9904
#> $ potassium_mEq_adj            <dbl> 25.57656
#> $ calcium_mEq_adj              <dbl> 0
#> $ magnesium_mEq_adj            <dbl> 31.48816
#> $ gypsum_content_limit         <dbl> 0
#> $ chloride_mEq_adj_SO4         <dbl> 141.033
#> $ nitrate_mEq_adj_SO4          <dbl> 48.38327
#> $ sulfate_mEq_adj_SO4          <dbl> 41.63891
#> $ sodium_mEq_adj_SO4           <dbl> 173.9904
#> $ potassium_mEq_adj_SO4        <dbl> 25.57656
#> $ calcium_mEq_adj_SO4          <dbl> 0
#> $ magnesium_mEq_adj_SO4        <dbl> 31.48816
#> $ charge_imbalance_final       <lgl> TRUE
#> $ chloride_molkg               <dbl> 0.141033
#> $ nitrate_molkg                <dbl> 0.04838327
#> $ sulfate_molkg                <dbl> 0.02081945
#> $ sodium_molkg                 <dbl> 0.1739904
#> $ potassium_molkg              <dbl> 0.02557656
#> $ calcium_molkg                <dbl> 0
#> $ magnesium_mmolkg             <dbl> 0.01574408
#> $ chloride_x                   <dbl> 0.3314159
#> $ nitrate_x                    <dbl> 0.1136967
#> $ sulfate_x                    <dbl> 0.04892401
#> $ sodium_x                     <dbl> 0.4088633
#> $ potassium_x                  <dbl> 0.06010281
#> $ calcium_x                    <dbl> 0
#> $ magnesium_x                  <dbl> 0.03699729
#> $ calcium_fraction             <dbl> 0.2372065
#> $ magnesium_fraction           <dbl> 0.03059796
#> $ sodium_fraction              <dbl> 0
#> $ potassium_fraction           <dbl> 0
#> $ chloride_wt_adj              <dbl> 0.005
#> $ nitrate_wt_adj               <dbl> 0.003
#> $ sulfate_wt_adj               <dbl> 0.002
#> $ sodium_wt_adj                <dbl> 0.004
#> $ potassium_wt_adj             <dbl> 0.001
#> $ calcium_wt_adj               <dbl> 0
#> $ magnesium_wt_adj             <dbl> 0.0003826598
#> $ total_wt_adj                 <dbl> 0.01538266
#> $ total_wt_adj_gypsum          <dbl> 0.00161734
#> $ gypsum_content               <dbl> 0
#> $ saturation_gypsum_content    <dbl> 0
#> $ total_ion_content            <dbl> 0.00161734
#> $ sodium_potassium_content_adj <dbl> 8.673617e-19
#> $ magnessium_content_adj       <dbl> 0.0001173402
#> $ calcium_content_adj          <dbl> 0.0015
#> $ hypothetical_CO3             <dbl> 0
#> $ sodium_ECOS_mol              <dbl> 0.4088633
#> $ potassium_ECOS_mol           <dbl> 0.06010281
#> $ magnesium_ECOS_mol           <dbl> 0.03699729
#> $ calcium_ECOS_mol             <dbl> 0
#> $ chloride_ECOS_mol            <dbl> 0.3314159
#> $ nitrate_ECOS_mol             <dbl> 0.1136967
#> $ sulfate_ECOS_mol             <dbl> 0.04892401
#> $ sodium_ECOS_weight           <dbl> 0.004
#> $ potassium_ECOS_weight        <dbl> 0.001
#> $ magnesium_ECOS_weight        <dbl> 0.0003826598
#> $ calcium_ECOS_weight          <dbl> 0
#> $ chloride_ECOS_weight         <dbl> 0.005
#> $ nitrate_ECOS_weight          <dbl> 0.003
#> $ sulfate_ECOS_weight          <dbl> 0.002
#> $ ECOS_pathway                 <chr> "Pathway 2"
#> $ ECOS_warnings                <chr> "No warnings"