anchor.diff:                         aSt, aFt, aBt,                                    &
                          temp(i), sal(i), Patm(i),                         &
                          depth(i), lat(i), 1,                              &
  -                       optT, optP, opB, opK1K2, opKf)
  +                       optT, optP, opB, opK1K2, opKf, opGAS              )
   
   !       Unlike f77, in F90 we can't assign an array (dimen=1) to a scalar in a routine argument
   !       Thus, set scalar constants equal to array (dimension=1) values required as arguments
  
positive.code: !       When optT = 'Tinsitu', tempis is input & output (no tempot needed)
          tempis(i) = temp(i)
          tempis68 = (temp(i) - 0.0002) / 0.99975
  !       tempis(i) = 0.99975*tempis68 + 0.0002
       ELSE
          PRINT *,"optT must be either 'Tpot' or 'Tinsitu'"
          PRINT *,"you specified optT =", trim(optT) 
  
negative.code: !!    total alkalinity (ALK), dissolved inorganic carbon (DIC),
  !!    silica and phosphate concentrations (all 1-D arrays)
  SUBROUTINE vars(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis,  &
                  temp, sal, alk, dic, sil, phos, Patm, depth, lat, N,                      &
                  optCON, optT, optP, optB, optK1K2, optKf, optGAS                          )
  
    !   Purpose:
    !     Computes other standard carbonate system variables (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R)
  