# Read in callibration data
layout(matrix(c(1,2), 1, 1, byrow = TRUE))

opar<- par(mar=c(5, 3, 4, 3) + 0.1)

# 1st Callibration Curve

Z<- read.table("EXPOR003.TXT", header=TRUE, skip=0, nrows=1, sep=',')
iConc<-7:9
iVconc<-10:12
Conc<-as.real(Z[iConc])/1000
Vconc<-as.real(Z[iVconc])
Lconc<-log10(Conc)
ELconc<-predict(lm(Lconc~Vconc))
plot(Vconc, ELconc, ty='b', main="-pH vs mV CALLIBRATION #1")
points(Vconc, Lconc,col='red')
points(90, -5.25, col='red')
text(93, -5.25, "Obs[-pH]", col='red', pos=4)
points(90, -5.35, col='black')
text(93, -5.35, "E[-pH]", col='black', pos=4)
points(90, -5.45, col='blue', cex=2)
text(93, -5.45, "New E[-pH]", col='blue', pos=4)

NewVC <- data.frame(Vconc = c(100, 120, 140, 160, 180, 200))
points(t(NewVC), predict(lm(Lconc~Vconc), newdata=NewVC), cex=2, col='blue')
browser()


layout(matrix(c(1:8), 2, 4, byrow = TRUE))

filnam<-"EXPOR003.TXT"
X<-read.table(filnam, header=TRUE, skip=12, nrows=-1, sep=',')
print(names(X))
attach(X)
Geti<-1:36

Xpos<-as.real(ProbeX[Geti])
Xpos<-Xpos-Xpos[1]+210
Ypos<-as.real(ProbeY)
Zpos<-as.real(ProbeZ)
OmV<-as.real(Origin.1.mV[Geti])
XuV<-O.X.1.uV[Geti]
YuV<-O.Y.1.uV
ZuV<-O.Z.1.uV
detach(X)
plot(Xpos, OmV,
            main="Observed[mV]o")
plot(Xpos, XuV,
            main="Observed[uV]o-x")
NewVC <- data.frame(Vconc = OmV)
plot(Xpos, (OpH<- predict(lm(Lconc~Vconc), newdata=NewVC)), 
            cex=2, col='blue',
            main="Observed[-pH]o = fn(Observed mVo)")
IXpos<-1/Xpos               
plot(IXpos, (OpH<- predict(lm(Lconc~Vconc), newdata=NewVC)), 
               ty='n', cex=2, col='blue',
               main="E[-pH] = A + B/Xpos")
ired<-1:36
jred<-20:36
points(IXpos[ired], OpH[ired], cex=2, col='red')
points(IXpos[jred], OpH[jred], cex=1, col='blue')

PpH1<-lm(OpH[ired]~IXpos[ired])
PpH2<-lm(OpH[jred]~IXpos[jred])
MaxpH<- max(c(predict(PpH1), predict(PpH2)))
MinpH<- min(c(predict(PpH1), predict(PpH2)))
plot(c(min(IXpos), max(IXpos)), c(MinpH, MaxpH), 
               ty='n', cex=2, col='blue',
               main="E[-pH] = A + B/Xpos")
lines(IXpos[ired], pH1<-predict(PpH1), col='red')
lines(IXpos[jred], pH2<-predict(PpH2), col='blue')

pH1<- predict(PpH1, newdata=data.frame(IXpos = 1/(Xpos[ired])))
pH1p<- predict(PpH1, newdata=data.frame(IXpos = 1/(Xpos[ired]+10)))
dC<- 10^pH1 - 10^pH1p
plot(Xpos[ired], dC,
               main="predicted [H+] difference")
