# Calculation of salinity from Triton ICP-OES test results

#### JimWelsh

##### Valuable Member
Over on the Triton-US forum there has been some discussion about normalizing test results to a standard salinity of, say, 35 PPT (SG of 1.0264 @ 25C). The Triton results do not currently return any value for salinity, although the Na value is used as a rough salinity indicator. Of the various macro elements that contribute to salinity, the ones absent from the Triton ICP-OES results are Cl (chlorine), C (carbon as carbonate, HCO3), and F (fluoride). So, the question is, can a reasonable estimate of a sample's salinity be calculated from the macro elements that are included in the test, namely Na, Mg, Ca, K, Sr, S, Br, and B?

I submit that the answer is "yes", if we make a couple of reasonable assumptions. The first implicit assumption is that the Triton results are accurate to the precision reported, and in the units reported.

Setting aside the question of exactly how salinity is defined, I choose to use as a starting off place the concentrations of the Major Ions in seawater as shown in Table 4-1 found in Chapter 4 of An Introduction to the Chemistry of the Sea (Pilson, 1998), which you can find here: http://www.ocean.washington.edu/courses/oc400/Lecture_Notes/CHPT4.pdf

The principle of electroneutrality tells us that any aqueous solution (salts dissolved in water) must contain an even number of cations (+) and anions (-). Let's take the NSW levels published by Pilson, and demonstrate this. I have taken the values from Pilson, and rearranged them into the following table:

Ion
mmol/kg
Charge
Ionic strength
 Na+
 468.96
 +1
 468.96
 K+
 10.21
 +1
 10.21
 Mg++
 52.83
 +2
 105.66
 Ca++
 10.28
 +2
 20.56
 Sr++
 0.0906
 +2
 0.1812
 Total cations:
 605.561
 Cl-
 545.88
 -1
 -545.88
 S
 28.23
 -2
 -56.46
 Alkalinity-
 2.32
 -1
 -2.32
 Br-
 0.844
 -1
 -0.844
 F-
 0.068
 -1
 -0.068
 Total anions:
 -605.572
 Difference:
 -0.0008

Note that I have replaced the HCO3 and B(OH)3 with a single value for "Alkalinity", and that the value for "Alkalinity" is taken from the lower portion of the chart. As Pilson explains in the footnote, "In order to make a charge balance, however, the total alkalinity concentration was substituted for HCO3- and the sodium ion adjusted accordingly." So, you can see that when you multiply the molarity of the cations by their respective charges, and add them up, and then do the same for all the anions, they balance each other out. The tiny error of -0.0008 is due to the extra precision in the fluoride value; if all the other ions had been reported with the same precision as fluoride, then they would exactly balance out.

Now, let's take these same numbers, and report them as though they had been presented in a Triton report. For this exercise, we will use the Pilson units of mg/kg instead of the Triton units of mg/L (we will address this difference in units later). Presenting Pilson's numbers like Triton would requires us to convert the sulphate (SO4--) as sulfur (S), and boric acid (H(BO)3) as boron (B), so we multiply each of these values by the atomic weight of the element divided by the molecular mass of the ion, i.e., to convert SO4-- to S we multiply by 32.06/96.07, and to convert H(BO)3 we multiply by 10.81/61.83. The resulting report would show the following values:

 Na 10781 Ca 411.9 Mg 1284 K 399 Br 67.3 B 4.49 Sr 7.94 S 905

Now is the time for us to start making some reasonable assumptions. Assumption #1 will be that the water will contain the NSW concentration of fluoride, so we will use a value of 1.30 mg/kg for F. Assumption #2 will be that the sample contains the same Alkalinity as NSW, so we will use a value of 2.32 for Alkalinity. Assumption #3 will be that all of the S from the Triton report is in the form of SO4 in our solution. Now, all we have to do is calculate the total cations in our sample, the total amount of "known" anions, based on these three assumptions, and then we can calculate the missing Cl value. Before we can do that, we have to convert the mg/kg into mmol/kg by dividing the mg/kg value by the atomic weight of each element:

 Element mg/kg atomic wt. mmol/kg Na 10781 22.9898 468.95 Ca 411.9 40.078 10.28 Mg 1284 24.305 52.83 K 399 39.0983 10.21 Br 67.3 79.904 0.842 Sr 7.94 87.62 0.0906 S 905 32.06 28.23

Not surprisingly, we end up with the exact same numbers as in Pilson's table, except for very minor differences due to rounding errors for Na and Br. We can now plug these into the same table we used above to calculate the missing Cl molarity:

• Berlibee

#### JimWelsh

##### Valuable Member
(Continued)

Not surprisingly, we end up with the exact same numbers as in Pilson's table, except for very minor differences due to rounding errors for Na and Br. We can now plug these into the same table we used above to calculate the missing Cl molarity:

Ion
mmol/kg
Charge
Ionic strength
 Na+
 468.95
 +1
 468.95
 K+
 10.21
 +1
 10.21
 Mg++
 52.83
 +2
 105.66
 Ca++
 10.28
 +2
 20.56
 Sr++
 0.0906
 +2
 0.1812
 Total cations:
 605.551
 Cl-
 ?
 -1
 ?
 SO4--
 28.23
 -2
 -56.46
 Alkalinity-
 2.32
 -1
 -2.32
 Br-
 0.842
 -1
 -0.842
 F-
 0.068
 -1
 -0.068
 Total anions:
 -59.69
 Difference:
 -545.861

Notice that the resulting difference of -545.8612 is very, very close to the original Pilson Cl ionic strength of -545.88. Again, this difference is almost entirely due to rounding errors.

Now that I've demonstrated that we can calculate the concentration of the Cl- ion from the other values, the next step is to calculate the total mass of salts in the solution, and relate that back to salinity. Note that even though Pilson is presenting values for seawater with a salinity of exactly 35.000 PPT, the sum total of the g/kg values in Pilson's table is actually 35.169, and not exactly 35.000. That is because of the salinity standard that Pilson is using, PSS 1978, which is based on conductivity rather than the actual weight of the salts. So, to estimate the salinity of our "unknown" sample as represented by our hypothetical Triton results shown above, we now need to calculate the total mg/kg of all the salts in our sample, converting the S into SO4 and the B into B(OH)3, then divide by 35169 and then multiply by 35. We will continue to assume that fluoride is at the NSW level. We will also assume that the proportion of Alkalinity that is in the form of carbonate (HCO3) in our sample is the same as in NSW (2.06/2.32 = 88.8%).

Calculate mg/kg of Cl: 545.8612 * 35.45 = 19351. Convert S to SO4--: 905.0 * 96.07 / 32.06 = 2712. Convert B to B(OH)3: 4.09 * 61.83 / 10.81 = 25.7. Calculate HCO3 from Alkalinity: 2.32 * 88.8% * 61.0168 = 126.

Now, take the sum of all of these:

 Ion mg/kg source Na+ 10781 report K+ 399 report Mg++ 1284 report Ca++ 411.9 report Sr++ 7.94 report Cl- 19351 calculated SO4-- 2712 calculated from report HCO3- 126 assumed Br- 67.3 report B(OH)3 25.7 calculated from report F- 1.30 assumed Total: 35165

The total mg/kg of salts we arrive at is 35165. 35165 / 35169 * 35 = 34.996, which when rounded to one decimal place = 35.0.

Now, I mentioned earlier the difference between the units Pilson is using of mg/kg, and the units Trition reports in, which is mg/L. The issue here is that all of Pilson's values are related to one kilogram of seawater, which is acutally less than one liter of seawater, because of seawater's density at a salinity of 35 PPT. Converting between these two units requires knowing the density of the solution, which varies based on actual salinity and temperature. I realize that this post is already way too long, so I'll go no farther in addressing this issue than to mention it as relevant for applying this exercise to "real" Triton results.

I know I won't be able to edit this, so I sure hope I don't find too many errors after I post it!

#### JimWelsh

##### Valuable Member
Ok, so how about a real-world example? I'll take as an example the most recent Triton report from user Keithcorals, which can be found here: https://www.reef2reef.com/forums/triton-us/180010-post-your-results-3.html#post2114769

Step 1: Convert mg/L to mmol/L.

 Element mg/L atomic wt. mmol/L Na 10521 22.9898 457.64 Ca 455.9 40.078 11.37 Mg 1410 24.305 58.01 K 492.6 39.0983 12.60 Br 68.06 79.904 0.8518 Sr 8.66 87.62 0.09884 S 997.9 32.06 31.13

Step 2: Calculate the sum of all the cations.

 Na+ 457.64 K+ 12.6 Mg++ 116.02 Ca++ 22.74 Sr++ 0.19768 Total: 609.198

Step 3: Calculate the sum of all the known and assumed anions.

Assume NSW level for Fluoride (after converting from mmol/kg to mmol/L @ 25C). NSW F = 0.068 mmol/kg * 1.023343 (density of 35 PPT seawater at 25C) = 0.070 Assume Alkalinity = 8 dKh = 2.857 meq/L.

 SO4-- 62.26 Alkalinity 2.857 Br- 0.8518 F- 0.07 Total: 66.0388

Step 4: Find the missing Cl molarity.

Cl = 609.19768 - 66.0388 = 543.15888.

Step 5: Find the total of all the major salts.

Convert mmol/L of Cl to mg/L of Cl. Convert S to SO4 and B to B(OH)3. Assume HCO3 = 88% of assumed Alkalinity.

 Ion mg/L source Na+ 10521 report K+ 492.6 report Mg++ 1410 report Ca++ 455.9 report Sr++ 8.66 report Cl- 19256 calculated SO4-- 2990.28 report + calculated HCO3- 154.81 assumed + calculated Br- 68.06 report B(OH)3 40.496 report + calculated F- 0.070 assumed Total: 35397.876

Step 6: Convert to Salinity.

Remember to adjust for mg/kg vs. mg/L, assuming temperature of 25C.

Total mg/L of 35397.876 / 35169 * 35 / 1.023343 = 34.424. When rounded to one decimal place, that's a salinity of 34.4 PPT.

The contribution of Alkalinity is so small that whatever value is assumed will not make any significant difference, as long as it is within a reasonable range of 7 - 11 dKh or 2.5 to 4.0 meq/L. Similarly, choosing a temperate for the units conversion of 20C instead of 25C will not make a significant difference in the result.

#### JimWelsh

##### Valuable Member
Now, assuming these calculations are sound and valid (Randy hasn't had a chance to chime in just yet), one helpful thing we can do with this information is to "normalize" posted Trition results to the same, standard salinity. We can also convert the published results from mg/L @ salinity of X PPT into mg/kg @ 35 PPT, which enables us to make a meaningful comparison of these results to NSW levels.

This thread has been inspired by other threads in the Triton-US Sponsor forum found here Triton US, where some people are submitting freshly made salt water samples of various brands of salt instead of tank water for Triton ICP-OES testing. Some results of these salt brand tests have already been posted. It was apparent from the posted results that there was quite a bit of variance in the salinity of the salt brand samples that had been submitted. One practical application of the math I'm presenting here is to adjust the results of the macro elements from these various samples to what they would be if the sample had actually been at 35 PPT, so that we would be comparing "apples to apples", as it were.

The normalization is probably the easiest part. Once we have the calculated salinity in PPT for a given sample (e.g., 34.4 from Keithcorals' sample I used as an example above), then we just apply a conversion factor: Conversion Factor = 35 / calculated salinity. We then multiply each reported result by the Conversion Factor to arrive at mg/L @ 35 PPT. If we want to compare these numbers to Pilson's NSW levels, then we also need to divide the normalized values by the density of seawater at our chosen temperature. I have chosen 25C, so that density is 1.023343 kg/L. So, to keep working this out on our Keithcorals example, this is what we get (macro elements only, but including our calculated and assumed values):

 Ion mg/L Source Normalization Factor Unit Adjustment mg/kg NSW mg/kg NSW % Na+ 10521 report 1.0167 1.023343 10453 10781 97.0 K+ 492.6 report 1.0167 1.023343 489.4 399 122.7 Mg++ 1410 report 1.0167 1.023343 1401 1284 109.1 Ca++ 455.9 report 1.0167 1.023343 452.9 411.9 110.0 Sr++ 8.66 report 1.0167 1.023343 8.60 7.94 108.3 Cl- 19256 calculated 1.0167 1.023343 19131 19353 98.9 SO4-- 2990.28 report + calculated 1.0167 1.023343 2971 2712 109.6 HCO3- 154.81 assumed + calculated 1.0167 1.023343 153.8 126 122.1 Br- 68.06 report 1.0167 1.023343 67.62 67.3 100.5 B(OH)3 40.496 report + calculated 1.0167 1.023343 40.23 25.7 156.5 F- 0.070 assumed + calculated 1.0167 1.023343 0.069 0.068 101.5 Totals: 35398 35168 35168

#### Randy Holmes-Farley

##### Reef Chemist
Hi Jim,

Very nice work! All the rationale seems correct, and I assume the math is as well.

I expect that simplifying it to use only Na, K, Mg, Ca and S will give almost the same answer as the others are quite low in comparison, but taking into account the actual bromide is useful. You have this all in a spreadsheet?

Maybe Triton would post it as a download on their site (if you let them). #### hart24601

##### Valuable Member
It would be neat if Triton used something like to show not only the values for your tank, but the values from your tank "corrected" to 35ppt.

#### JimWelsh

##### Valuable Member
You have this all in a spreadsheet?
Yes, but my spreadsheets tend to suffer a certain disorganized "sprawl" that makes them less than ideal for sharing with others. I'll see what I can do about cleaning it up and making it user-friendly.

#### Randy Holmes-Farley

##### Reef Chemist
Maybe Triton would make their own. I'll email them to check this thread. #### Randy Holmes-Farley

##### Reef Chemist
Great, Jim. I didn't hear back from my email to Triton.

#### mbsun

##### Member
Hi, very good article!!

I have a couple of questions

Is it needed to convert to mMol/kg and use converted values for seawater as mg/kg instead of mg/l ?

By this i mean can you not just

Adjust the value of sodium down to account for boron bicarbonate as you have and also bromide.
Then account for a total chloride with sodium
Account a total chloride with calcium
Account a total sulphate with magnesium
The remainder of magnesium as chloride
Potassium with chloride
(Etc etc (you get the idea)

By accounting i mean for example

Say 10500 sodium
10500 Ã· 22.989770 x 35.453 = 16192.267

And just add the lot up as mg/l sticking to 35000 as the benchmark

I am probably oversimplifying a tad, just trying to get in my head any error in the way i calculate it

#### mbsun

##### Member
Ah cant edit! Oops

16192.267 is total chloride in balance with sodium

#### JimWelsh

##### Valuable Member
There are certainly other ways to do the math. I chose to do it the way I did because I prefer to think in terms of the units most oceanographers use: mg/kg. Using w/w instead of w/v allows me to compare the mass of the total dissolved matter to the TEOS-10 standard of 35.16504 g/kg for water with a salinity of S = 35.000 on the PSS-78 scale. Doing it this way also makes it easier to validate the spreadsheet by inputting values derived from the Millero, et.al. 2008 paper I cited.

Doing it your way, you would not want to use 35000 as your "benchmark", but rather, 35165 times the density of NSW at the selected temperature, e.g., for 25C, 35165 * 1.024763 = 36035.8.

#### mbsun

##### Member
There are certainly other ways to do the math. I chose to do it the way I did because I prefer to think in terms of the units most oceanographers use: mg/kg. Using w/w instead of w/v allows me to compare the mass of the total dissolved matter to the TEOS-10 standard of 35.16504 g/kg for water with a salinity of S = 35.000 on the PSS-78 scale. Doing it this way also makes it easier to validate the spreadsheet by inputting values derived from the Millero, et.al. 2008 paper I cited.

Doing it your way, you would not want to use 35000 as your "benchmark", but rather, 35165 times the density of NSW at the selected temperature, e.g., for 25C, 35165 * 1.024763 = 36035.8.
Yes, i see
I had omitted that due to it putting the sum out by a long way, a mistake for sure

Thankyou for the clarification, weights and measures there is my issue

#### JimWelsh

##### Valuable Member
Do'h ... can't edit! In the post above, I meant, "... e.g., for 20C...." For 25C, the density factor would be 1.023343.

#### craigbingman

##### Member
Now, assuming these calculations are sound and valid (Randy hasn't had a chance to chime in just yet), one helpful thing we can do with this information is to "normalize" posted Trition results to the same, standard salinity. We can also convert the published results from mg/L @ salinity of X PPT into mg/kg @ 35 PPT, which enables us to make a meaningful comparison of these results to NSW levels.
Jim,

You should be able to do a sum of charge and recover alkalinity. I'm coming back from six days in the hospital due to pneumonia, so that is an exercise that I'll leave to you. Are you up for it?

Craig

#### craigbingman

##### Member
Jim,

You should be able to do a sum of charge and recover alkalinity. I'm coming back from six days in the hospital due to pneumonia, so that is an exercise that I'll leave to you. Are you up for it?

Craig
Nevermind, there apparently isn't an observed Cl- concentration. Disappointing.

#### JimWelsh

##### Valuable Member
Nevermind, there apparently isn't an observed Cl- concentration. Disappointing.
Even if Cl, was known, the uncertainty of the various Triton results might still make it unfeasible to expect to be able to calculate alkalinity in any meaningful way. For example, the High-Purity Standards CRM-SW sample that was used in the Skeptical Reefkeeping article had an uncertainty of +/- 100 mg/kg for Cl, and +/- 50 mg/kg for Na. That translates, at 20C, into an equivalent uncertainty in alkalinity of +/- 2.29 meq/L for Cl and +/- 2.23 meq/L for Na. And of course, you are aware we don't know what the uncertainties are for Triton results. Now, assuming Triton results are absolutely accurate and precise, the answer to your question is a solid "yes", *if* I still get to assume a value for F-. That would require just a few changes to the spreadsheet.

In short, these uncertainties have very little effect (+/- 0.1) on a salinity calculation to, say, one decimal place, but because alkalinity is such a relatively small component of seawater, they could have a huge effect, perhaps even greater than the true alkalinity value, on an attempt to calculate alkalinity. Conceivably, the calculated result could be more than twice the true value, or perhaps even a negative value!

Get well soon, by the way.

#### [email protected]

##### Member
Great, Jim. I didn't hear back from my email to Triton.
Hi Randy, Hi Jim,

I am currently in NYC for NERAC and I contacted Jim to tell him IMO this very usefull masterpeace of work here .
I am very thankfull for that and also checked the values on our showtank already.... and it is working perfectly.... I still need to test for Cl and F with HPLC but I donÂ´t think it will show a big difference. very good work.
I will follow up on this to make sure to put it on the webside somehowe.

But what worrys me is I never get a Mail from you Randy ??? the email adress from 2 years ago should still work.. if not i[email protected] should work.
Thats strange.
maybe send me a testing mail again just to make sure.

All the best Ehsan.

• Ramasule

#### Randy Holmes-Farley

##### Reef Chemist
I wrote to Triton USA, I think. Anyway, no need to write now since you are aware of Jim's work. • Ramasule

## Is your Build Thread Badge missing? Uh oh!

• ### Yes it's gone

Votes: 53 28.3%
• ### Nope, I'm quick

Votes: 59 31.6%
• ### Uh I don't understand. (you better click and read)

Votes: 28 15.0%
• ### Never had one...until now!

Votes: 47 25.1%

Members online
577
Guests online
2,083
Total visitors
2,660