I was trying to calibrate my new salinity probe a few weeks ago, and ran into all sorts of problems. Calibrations that were way off the mark, big fluctuations in readings that couldn't possibly be correct (and were verifiably not), etc. After searching around the internet, it was clear that a lot of folks have problems with this sensor. Some have written it off completely, and others insist that such problems are the result of calibration error. Information on correct calibration and configuration was present but scattered. Some of it was incomplete or incorrect. After having read many forum threads, spoken to Apex customer service, and experimented with different approaches, I am here to tell you that the sensor does work reliably when correctly configured and calibrated. This post is intended to capture everything I've learned in a single place, hopefully making this easier for someone else in the future.

Apex Configurables
There are only two configurable aspects of the Apex salinity sensor that can affect the reading. The first is, of course, the calibration point. The second is the temperature compensation factor (or TC factor). The salinity probe's readings are significantly affected by temperature - the TC factor setting allows you to compensate for this if you also have a temperature probe configured. The rest of this post captures the concepts and steps necessary to configure these inputs correctly.

TC Factor and Correctness
The TC factor configurable can be found on the advanced tab of the conductivity probe configuration page. It is a percentage, set manually - apparently different tanks land on different values. The percentage controls exactly how much compensation should be applied (i.e. x% compensation per degree).

One way to see if your TC factor is correct is by looking at your salinity graph with your temperature readings overlaid. If the TC factor needs to be adjusted, you will be able to see that the salinity readings track fluctuations in temperature. If the TC factor is correct(-ish), this correlation will not be present.

Here is what this looks like when TC is disabled (i.e. 0%):
Screenshot 2020-05-10 at 15.17.10.png

Here is the same system with TC configured:
Screenshot 2020-05-10 at 15.18.09.png

You can see from the first screenshot a clear correlation between temperature and salinity. Compare to the second screenshot with TC applied, and the salinity is relatively stable. I'm still not quite sure about those little bumps though. I continue to play around fine tuning the TC factor to see how they react (if at all - it's possible that the fluctuation is related to some funny business with my overflow).

Configuring the TC Factor
The TC factor defaults to 0. This is confusing for new Apex owners, as the salinity probe is all but worthless without applying temperature compensation. After speaking with customer service, and reading through some documentation, it appears that the default is 0 because setting it to anything other than zero causes problems in systems that don't have a temperature probe installed (the documentation includes a large WARNING section about this). Since Neptune cannot know or guarantee that any given system will have its temperature probe installed, the default is 0 to be safe.

If you have a temperature probe installed, you will definitely want to adjust the default TC factor. It is important to note that the temperature probe must be plugged into the same module as the salinity probe. In other words, if your salinity probe is plugged into your base unit, then you must also have a temperature probe plugged into the base unit. Similarly, if your salinity probe is plugged into a PM2 salinity module, then the temperature probe must be plugged into the same PM2.

TC Factor Value Range
It may take some experimentation to find the correct TC factor for your system. The Apex documentation states that seawater normally has a TC factor between 2.1% and 2.3%, thus recommending 2.2% as a good starting point. By comparison, a Neptune representative told me that in their experience, correct values are often found in the 1.9% to 2.1% range. Your mileage may vary.

The Apex documentation states that the salinity probe must be re-calibrated when changing the TC factor. According to a Neptune representative with whom I spoke, this is only partially true. When TC factor is non-zero and the salinity probe is configured, the current water temperature is stored inside the salinity calibration point that Apex records. This temperature is used to apply temperature compensation going forward. If the TC factor is zero when the salinity probe is configured, then the current water temperature is not stored, making future temperature compensation impossible. Therefor, in order for TC factor to take effect, it must be configured with a non-zero value at the time that the salinity probe is calibrated.

Fear not, however, in your search for the correct TC factor value. The Neptune representative informed me that once the salinity probe calibration point includes temperature data, the TC factor value can be changed at will without requiring re-calibration. Changes to the TC factor will be applied to all salinity readings going forward - readings that were taken in the past will not change.

How to Configure TC Factor for the First Time
  1. Ensure that a temperature probe is plugged into the same module as your salinity probe
  2. Navigate to the `Advanced` tab of the salinity probe configuration
  3. Change the TC factor value to any non-zero positive number (2.1 is a good starting point)
  4. Click "Update Apex" in the top right corner to upload the new configuration
  5. Perform a salinity calibration
  6. Salinity readings going forward will now have temperature compensation applied accordingly
Calibrating Salinity
There are a number of factors that require attention when calibrating the salinity probe. If any one of them are ignored, the resulting readings will be incorrect. Some of these are described in the documentation, and some are not.

We have learned that salinity readings are affected by temperature. As a result, temperature plays a very important part in the calibration process. When temperature compensation is disabled, and the Apex salinity calibration solution is used (the grey pouch, 53,000 microsiemens), the temperature during calibration is assumed to be 77.0 degrees fahrenheit. This is rarely actually the case, and folks calibrating their salinity probes who aren't aware of this detail will almost certainly experience inaccurate readings.

If however, you have a temperature probe, you do not need to warm the calibration solution to precisely 77.0 degrees. Apex will instead calibrate the salinity using the temperature reading provided by the probe. Note that this still means that the solution must be at precisely the same temperature as the probe! To accomplish this, you can simply float the calibration solution pouch in water near the temperature probe location for 15 minutes. Note that the calibration solution temperature can change rapidly - for instance, holding the pouch in your hand while performing the calibration will affect the accuracy. Be sure to keep the pouch in the water during the entire calibration process to ensure that the solution temperature doesn't deviate.

How to Calibrate Salinity
  1. Ensure that your TC factor has already been configured with a non-zero value
  2. Float the calibration solution pouch near your temperature probe for 15 minutes
  3. Navigate to the `Basic` tab of the salinity probe configuration
  4. Click `Automatic Calibration`
  5. When asked to dry the salinity probe, remove it from the water and rinse with RO/DI. Then gently shake the probe, and pat the bottom dry with a paper towel
  6. When asked to insert the salinity probe into the calibration solution, open the pouch and insert the probe. Be sure to keep the pouch submerged in water during this process so the temperature remains stable
  7. Gently shake the probe in the calibration solution to remove any bubbles that might be trapped. This step is VERY important - shake for a little longer than you might otherwise
  8. Wait for the readings to stabilize, and complete the calibration. You're all done!
Note that the manual calibration process might work here as well, though I've never done that and so have no idea what it does or doesn't involve :)

Finding More Information
I spent several days searching for information on this topic. This post is, as far as I know, the most complete source of information on Apex salinity calibration and temperature compensation currently available. As a new Apex owner, I was shocked to find that none of this information was included in any of the documentation I could find. When asking Neptune customer support about this, they referred me to the PM2 documentation. There is definitely more information there than the "regular" Apex docs, however it is still not complete and does not fully apply to the use of the base module for salinity readings.

If you find that any of the information in this post is inaccurate, or if you have information that is not included here but should be, please post a comment on this thread!!

I have found the Apex salinity sensor to be relatively accurate when correctly configured. Of particular importance is configuring temperature compensation, ensuring stable temperature conditions during calibration, and ensuring the correct order of operations. I hope that others who may be struggling with their Apex salinity sensor are able to use this thread to fix things up. Happy reefing!