### 1. Dilute Solution yet again

Forked from Re: A Little House Cleaning

Ok, I promise I will not post anymore dilution code. Honest!

```--
-- DiluteSolution.ex
--
include std/console.e
include std/math.e
include std/convert.e

constant Usage = sprintf("%s", {
"""

Dilute a Chlorine Solution: Dilution Law: V1*C1=V2*C2: V1=V2*C2/C1

Usage:

eui DiluteSolution.ex <C1> <V2> <C2>
eui DiluteSolution.ex <C1> <V2> <C2> <d>

C1 = % Sodium Hypochlorite of stock Bleach at time of purchase
V2 = target volume of solution to create with
C2% Sodium Hypochlorite

option: <d> is the number of days since  purchase of C1
+ perhaps an estimate of shelf days prior to purchase.
If d is added to the command line, the program will
calculate a degraded  C1 value based on a 20%
annual rate of degradation. Otherwise, the calculations
will be made based on the nominal value for C1% at
the time of purchase.

EXAMPLES:

To make 32 oz "Cleaner Bleach" with 2% Sodium Hypochlorite:
from stock Bleach with 6% nominal Sodium Hypochlorite:
eui DiluteSolution.ex 6 32 2
use 10.67 oz of C1 + 21.33 oz of distilled water to make solution V2 C2

To degrade C1 by 190 days: eui DiluteSolution.ex 6 32 2 190
use 11.91 oz of C1 + 20.09 oz of distilled water to make solution V2 C2

To make 15 oz "Skin/Wound Wash" with 0.057% Sodium Hypochlorite:
from stock Bleach with 6% nominal Sodium Hypochlorite:
eui DiluteSolution.ex 6 15 0.057 190  -- \$22 Anasept Wound Wash
use 0.16 oz of C1 + 14.84 oz of distilled water to make solution V2 C2
"""

})

procedure DiluteSolution(sequence cmd)
atom V1, C1, V2, C2, adp = (20/100)/365.25
integer d = 0
if length(cmd) <5 then display(Usage) abort(0) end if
C1 = to_number(cmd[3])
V2 = to_number(cmd[4])
C2 = to_number(cmd[5])
if length(cmd) = 6 then    -- degrade C1
d = to_number(cmd[6])
end if
V1= round((V2*C2)/C1,100)
display(sprintf("\n\nUse %.4g oz of C1 + %.4g oz of (distilled) water to make %.4g oz of %.4g%s"&
" Sodium Hypochlorite\n%.4g oz = %.4g tsp\n\t\t\t%.4g tblsp\n\t\t\t%.4g cup\n\t\t\t%.4g ml",
{V1,V2-V1, V2, C2, '%', V1, V1*6, V1*2, V1*0.12, V1*29.57} ))
end procedure

DiluteSolution(command_line())

```

### 2. Re: Dilute Solution yet again

I called the Public Health Department and got the official answer.

They have a disclaimer about "check the expiry date" before mixing.

I found a 3M report that the loss can be 50% at the end of a year. Public Health tells people to only buy what they need in the short run.

The reality is that they use test strips to measure the actual concentration. So health inspectors will check how the mixture is made, they measure, and advise.

_tom

### 3. Re: Dilute Solution yet again

_tom said...

I called the Public Health Department and got the official answer.

They have a disclaimer about "check the expiry date" before mixing.

I found a 3M report that the loss can be 50% at the end of a year. Public Health tells people to only buy what they need in the short run.

The reality is that they use test strips to measure the actual concentration. So health inspectors will check how the mixture is made, they measure, and advise.

_tom

Thanks _Tom

I am going to have to mull over this for a while to figure out how I can improve my little program to take into consideration the information you have brought to our attention:

• The dilution factor could range from 20%-50% annually.
• Best to buy in quantities that will be "consumed" quickly.
• Testing degradation/reporting concentration: 1 g/m3 = 1 mg/L = 1 ppm = 0.0001% 1% = 10000ppm
• Home Testing strips report 1 - 10 ppm? Not much help, except for testing drinking water.
• Some Bleach bottles do not have an expiration date - best not to buy them I suppose.

I guess I could add another option to the command line allowing the user to input an annual degradation percentage in excess of 20% up to 50% - and adjust the daily degradation rate accordingly.

I'm not sure how to treat expiration dates. The Anasept 0.057% solution had an expiration date which led me to believe it was about 24 months from the "inception" date. But does that mean the solution would hold a minimum concentration of 0.057% until the expiration date?

Regards,
Ken Rhodes

### 4. Re: Dilute Solution yet again

Time to contact your local Health department. I sent out an email to Public Health about the time you started this thread--you get to talk to people who refer you to other people. Here, in Raccoon City, they seem to be well organized.

I saw a reference that dilute solutions degrade slower than concentrated solutions. Another reference implied the degradation is non-linear; the first half year is slow; the second half year is faster. Chlorox had an advert that they increase the concentration before delivery to endure you get what is on the label in the store.

Public Health, said they have test strips for the purpose that are obtained from health suppliers. Swimming pool maintainers may also have test strips.

_tom

### 5. Re: Dilute Solution yet again

_tom said...

Time to contact your local Health department. I sent out an email to Public Health about the time you started this thread--you get to talk to people who refer you to other people. Here, in Raccoon City, they seem to be well organized.

I saw a reference that dilute solutions degrade slower than concentrated solutions. Another reference implied the degradation is non-linear; the first half year is slow; the second half year is faster. Chlorox had an advert that they increase the concentration before delivery to endure you get what is on the label in the store.

Public Health, said they have test strips for the purpose that are obtained from health suppliers. Swimming pool maintainers may also have test strips.

_tom

This is my latest effort: