Assuming consistency in evaporation, nearly impossible imo.
I have an ATO on a float valve. It simply allows RO/DI in as water evaporates.
I have a skimmer - sometimes - fairly dry, but gets wet when feeding frozen once a day.
I have a KH director and sometimes ReefBot Lab that waste water to drain.
I have 30 gallon SSW mixed to about 36ppt (to lazy to adjust)
I have a dosing pump set to dump 500ml of it into the tank once per day.
_______
So to recap:
Water evaporates 24/7 - varies based on humidity and season.
Water is skimmed 24/7 - varies based on food.
Water is wasted to drain at various times in the day by testing - varies by scheduled tests.
Total system volume maybe 125 gallons
Water (RODI) is added by an ATO anytime that the float falls below normal operating level.
Water (SALT) is bulk added one time per day
I maintain a rather steady 1.0260 (35 ppt) salinity, monitored by the GHL Profilux daily which is verified against a TM precision hydrometer about once per month.
Been running like this for over a year. I adjust the bulk 500ml dose down to 250ml if I take the reefbot offline for any extended time, but sometimes forget.
When I "acclimated" new corals or fish I dip water out 1L at a time into the holding bings. The ATO will obv start filling what I took out with RO/DI. At some point during the process, I will tell the makeup water doser to dump an equivalent amount of saltwater back to the tank.
Lets be very clear here:
taking out 1L of water and allowing the TO to fill it back up and THEN adding 1 more liter of SW is not a zero sum if you do the math.
likewise, taking out daily 300ml for testing allows the ATO to add RO/DI for makup and that bulk dose of SW later in the afternoon are also not a zero sum.
So there are a LOT of variables. My salinity really does not drift. In the rare instance that it needs to be corrected UP, I simply dose a liter or more of SW and allow evaporation to slowely raise the level. If salinity needs a downward correction, I just waste a few liters of water to the drain and allow the ATO to replace it.