Производная давления и температуры по глубине - PullRequest
0 голосов
/ 30 августа 2018

В настоящее время я пытаюсь создать производные кривые для исследований давления и давления в скважинах, которыми владеет моя компания. Однако я написал код, чтобы помочь мне в этом процессе, но пришел к выводу, что что-то сломалось на этом пути. Код цитируется ниже. Однако, когда я вычисляю производную от кривых нормального давления и температуры в отдельной программе, я вижу очень резкий контраст с данными. Связанные в изображении 1, глубины в изображении не являются реальными глубинами, однако данные, очевидно, совсем другие.

Слева - производная, рассчитанная в отдельной программе, справа - R

#Up Curves #read EXCEL h <-as.data.frame (read_excel ("PLT.xlsx", sheet = "UP")) </p>

#setting boundaries for curves
xs<-seq(round(min(h[["Depth MD"]]),0),round(max(h[["Depth MD"]]),0),by=0.5)
final<-data.frame(depth=xs,Press=1:length(xs),Temp=1:length(xs))
final[,"Press"]<-spline(h[["Depth MD"]],h[,"Pressure"],xout=xs)$y
final[,"Temp"]<-spline(h[["Depth MD"]],h[,"Temp"],xout=xs)$y

#Derivative Pressure
spfun<-splinefun(final$depth,final$Press)
final[["PDeriv"]]<-spfun(final$Press,deriv = 1)


#Derivative Temperature
spfun2<-splinefun(final$depth,final$Temp)
final[["TDeriv"]]<-spfun2(final$Temp,deriv=1)

#Plotting Values temp and Press
#Temp<-ggplot(final,aes(Temp))+geom_point(aes(y=depth),col="red")+
#    scale_y_reverse()+#limits=c(6000,5000)
#    scale_x_continuous()+theme_bw()#limits=c(90,110)
#Press<-ggplot(final,aes(Press))+geom_point(aes(y=depth),col="blue")+
#    scale_y_reverse()+theme_bw()
#grid.arrange(Temp,Press,ncol=2)

#Plotting Values Derivatives
#PDeriv<-ggplot(final,aes(PDeriv))+geom_point(aes(y=depth),col="purple")+
#  scale_y_reverse()+theme_bw()
#TDeriv<-ggplot(final,aes(TDeriv))+geom_point(aes(y=depth),col="purple")+
#  scale_y_reverse()+theme_bw()
#grid.arrange(TDeriv,PDeriv,ncol=2)


#what file would you like to write?
write.csv(final,file="PT_full_curves_UP.csv",row.names = F)

Используемая мной таблица Excel содержит два листа: один для прохода "ВВЕРХ" и один для прохода "ВНИЗ". Однако код идентичен, и я включил только один для up.

Итак, мой вопрос: не испортил ли я то, что я делаю с производной функцией в R? Или я ссылаюсь на что-то не то, что я думаю. Также я ищу только производную первого порядка от Давления / Глубины и Температуры / Глубины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...