-
Notifications
You must be signed in to change notification settings - Fork 1
/
WINKLER_to_PPOX_ADJ.R
51 lines (34 loc) · 1.92 KB
/
WINKLER_to_PPOX_ADJ.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
WINKLER_to_PPOX_ADJ <- function ( PRES_DOXY, PPOX_DOXY, WMO ){
################################################################
# This routine is dedicated to estimate the PPOX_ADJ
#
# COMPARING PPOX estimated form the float to
# PPOX with a winkler titration at the deployment
# C. Schmechtig January 2018
#################################################################
###############################################################
# Read the Deployment file
###############################################################
file_in_deployment="/home/schmechtig/TRAITEMENT_FLOTTEUR/ANTOINE/DATA_MANAGEMENT/DEPLOYMENT/deployment.txt"
deployment=read.table(file_in_deployment,header=TRUE,comment="#",sep="\t",colClasses = "character")
file_in_bottle <- deployment$FILE[which(deployment$WMO==WMO)]
cruise <- deployment$CRUISE[which(deployment$WMO==WMO)]
station <- deployment$STATION[which(deployment$WMO==WMO)]
#######################################################
# Read Bottle File
#######################################################
WINKLER=read_deployment_bottle(file_in_bottle,station,cruise)
#### Transform Winkler in PPOX
PPOX_WINKLER=DOXY_to_PPOX( WINKLER$PRES , WINKLER$TEMP , WINKLER$PSAL, WINKLER$DOXY)
###################################################################################################
# Interpolation of PPOX FLOAT profiles on Winkler Pressure
###################################################################################################
# We interpolate PPOX FLOAT profile to estimate PPOX at Winkler level
FLOAT_PPOX <- approx(PRES_DOXY, PPOX_DOXY, WINKLER$PRES, rule=2)$y
########################################################################################
# Linear Regression between FLOAT_PPOX and WINKLER_PPOX avec Intercept = 0
########################################################################################
fit<-lm(PPOX_WINKLER~0 +FLOAT_PPOX)
SLOPE_PPOX=fit[1]
return(SLOPE_PPOX)
}