ht1combinedCO3.inc

# as ht1combined but has an additional special carbonate constraint
PRINT
   -reset false
PHASES
Fix_H+
   H+ = H+
   log_k 0.0
SELECTED_OUTPUT
    -high_precision true
   -reset false
USER_PUNCH
-headings
-start
10 ns = 0
20 type$ = "Stability"
30 type$ = "Predom"
40 main$ = "<mainspecies>"
50 DIM s$(100)
60 IF STEP_NO = 0 THEN 630
70 totm = SYS("phases", nm, nm$, tm$, cm)
80 FOR i = 1 TO nm
90   k = INSTR(nm$(i), "(g)")
100  k = k+INSTR(nm$(i), "Fix")+INSTR(nm$(i), "FIX")+INSTR(nm$(i), "fix")
110  IF(k > 0) THEN 130
120  PRINT" ", CHR$(35)+PAD(nm$(i), 30), "0", "0"
130 NEXT i

140 nout1 = 0
150 totel = SYS(main$, n, n$, t$, c)
155 h2o = TOT("water")
160 FOR i = 1 TO n
170   IF(c(i) <= 0) THEN 380
180   IF(t$(i) = "surf") THEN 240
190   j = INSTR(n$(i), "(g)")
200   IF(j > 0) THEN 240
210   PUNCH n$(i), c(i)/h2o
220   nout1 = nout1+1
230   IF(nout1 >= 3) THEN 250
240 NEXT i

250 totsurf = SYS("surf", ne, ne$, te$, ce)
260 ns = 0
270 FOR i = 1 TO ne
280   IF(te$(i) <> "surf") THEN 400
290   k = INSTR(ne$(i), "_")
300   IF(k > 1) THEN ne$(i) = MID$(ne$(i), 1, k-1)
310   IF ns <= 0 THEN 350
320   FOR ii = 1 TO ns
330     IF ne$(i) = s$(ii) THEN 400
340   NEXT ii
350   ns = ns+1
360   s$(ns) = ne$(i)
370   s = SURF(main$, s$(ns))
380   PUNCH s$(ns)+"-"+TRIM(main$), s/h2o
390   nout1 = nout1+1
400 NEXT i

410 IF(type$ <> "Stability") THEN 490

420 FOR i = 1 TO n
430   j = INSTR(n$(i), "(g)")
440   IF(j > 0) THEN 480
450   IF(t$(i) = "equi" AND c(i) > 0) THEN 460 ELSE 480
460   PUNCH n$(i), c(i)/h2o
470   nout2 = nout2+1
480 NEXT i

490 nout3 = 0
500 IF(SI("H2(g)") > 0) THEN 510 ELSE 530
510 PUNCH"H2(g) > 1 atm", 10^SI("H2(g)")
520 nout3 = nout3+1
530 IF(SI("O2(g)") > -0.677) THEN 540 ELSE 560
540 PUNCH"O2(g) > 0.21 atm", 10^SI("O2(g)")
550 nout3 = nout3+1
560 IF(SI("CH4(g)") > 0) THEN 570 ELSE 581
570 PUNCH"CH4(g) > 1 atm", 10^SI("CH4(g)")
580 nout3 = nout3+1
581 IF(TOT("C")/h2o > 0.3) THEN 582 ELSE 590
582 PUNCH "CO3 > 0.3 mol/kgw",TOT("C")/h2o
583 nout3 = nout3+1

590 nout4 = 0

600 PUNCH"pH", -LA("H+"), "pe", -LA("e-"), "PO2", SI("O2(g)"), "PH2", SI("H2(g)"), "TC", tc
610 nout5 = 5
620 PUNCH nout1, nout2, nout3, nout4, nout5
630 END
-end