Το νερό των ωκεανών παγώνει όπως το γλυκό νερό, αλλά σε χαμηλότερες θερμοκρασίες. Το γλυκό νερό παγώνει στους 0 βαθμούς Κελσίου, αλλά το θαλασσινό νερό παγώνει περίπου στους -2 βαθμούς Κελσίου, λόγω του αλατιού που περιέχει.
Τουλάχιστον το 15% του ωκεανού καλύπτεται από θαλάσσιο πάγο κάποιο μέρος του έτους.
Για να υπολογίσουμε το σημείο στερεοποίησης του θαλασσινού νερού θα χρησιμοποιήσουμε το πακέτο oce της γλώσσας προγραμματισμού R.
Θα εγκαταστήσουμε το πακέτο oce με την συνάρτηση install.packages(“oce”)
Το σημείο στερεοποίησης του θαλασσινού νερού δίνεται από την σχέση:
\[ T_{f}(S,p) = -0.0575S + 1.710523X10^{-3} S^{3/2} - 2.154996X10^{-4} S^{2} - 7.53X10^{-3} p \] προκύπτει ότι το σημείο στερεοποίησης του νερού είναι συνάρτηση της αλατότητας (S) και της πίεσης (p).
Για τον υπολογισμό του σημείου στερεοποίησης θαλασσινού νερού θα χρησιμοποιήσουμε την συνάρτηση του πακέτου oce που καλείται swTFreeze().
Θα προχωρήσουμε στην εισαγωγή των δεδομένων αλατότητας και πίεσης (ή βάθους).
ΠΡΟΣΟΧΗ: Η πίεση νερού σε dbar αντιστοιχεί στο βάθος σε μέτρα.
salinity = 35.7
pressure = 1000
Κατόπιν θα εφαρμόσουμε την συνάρτηση ως εξής:
swTFreeze(salinity, pressure)
## [1] -2.714886
Αν έχουμε περισσότερες τιμές δεδομένων δημιουργούμε διανύσματα ως εξής:
salinity = c(33.6, 34.1, 38.2, 40.6)
pressure = c(0, 100, 4000, 2000)
swTFreeze(salinity, pressure)
## [1] -1.841700 -1.945556 -5.117884 -3.752316
Σε περίπτωση που τα δεδομένα μας βρίσκονται σε εξωτερικό αρχείο ή θέλουμε να τα αποθηκεύσουμε σε ένα εξωτερικό αρχείο (π.χ., ένα αρχείο excel), θα πρέπει 1. να δηλώσουμε με την επιλογή Session –> Set working directory τον κατάλογο στον οποίο είναι αποθηκευμένο το αρχείο δεδομένων. 2. να δημιουργήσουμε ένα αρχείο δεδομένων excel με στήλες πίεσης, θερμοκρασίας και αλατότητας. 3. να σώσουμε το αρχείο ως csv (οριοθετημένο με κόμματα). 4. διαβάζουμε τα δεδομένα του αρχείου με την συνάρτηση read.csv()
data = read.csv("SampleData.csv", header = TRUE, sep = ";", dec = ".")
Το όρισμα header = TRUE ορίζει ότι η 1η γραμμή του αρχείου είναι επικεφαλίδες, το sep = ” ” ότι τα δεδομένα είναι σε στήλες που χωρίζονται με “;” και το όρισμα dec = “.” δηλώνει ότι οι αριθμοί έχουν δεκαδικά ψηφία με υποδιαστολή την τελεία.
Κατόπιν μεταφέρουμε τα δεδομένα σε διανύσματα:
salinity = data$Salinity
pressure = data$Pressure
swTFreeze(salinity, pressure)
## [1] -1.979339 -2.083452 -2.298250 -2.778314 -3.542695 -4.307084
Η βύθιση μίας υδάτινης μάζας αυξάνει τη πίεση στο εσωτερικό της με αποτέλεσμα την αύξηση της εσωτερικής της ενέργειας. Αυτή η μεταβολή ωστόσο, δεν αντιστοιχεί σε αύξηση της θερμοκρασίας της λόγω αύξησης της ροής θερμότητας προς την υδάτινη μάζα από το εξωτερικό περιβάλλον.
Άρα: η βύθιση υδάτινης μάζας οδηγεί στην αύξηση της εσωτερικής πίεσης με αποτελέσμα την μείωση του όγκου της και την αύξηση πυκνότητας. Αυτό αυξάνει την θερμοκρασία της υδάτινης μάζας λόγω εσωτερικής τριβής των μορίων νερού. Συνεπώς η επιτόπια θερμοκρασία είναι πάντα υψηλότερη της θερμοκρασίας που αντιστοιχεί στην θερμότητα της υδάτινης μάζας.
Αντίστοιχα, η άνοδος της υδάτινης μάζας οδηγεί στην μείωση της πίεσης, άρα στην αύξηση του όγκου της μάζας και στην μείωση της πυκνότητάς της. Η απομάκρυνση των μορίων νερού λόγω μείωσης πίεσης οδηγεί στην μείωση της θερμοκρασίας της.
Γενικά, σε μεγαλύτερα βάθη από τα 1500 μ. το νερό εμφανίζεται πιο θερμό από ότι πραγματικά αντιστοιχεί στις συνθήκες θερμότητας που επικρατούν στα βάθη αυτά.
Για τον λόγο αυτό εισάγεται η έννοια της δυναμικής θερμοκρασίας (potential temperature), δηλ. η διορθωμένη θερμοκρασία ώστε να παραληφθεί η επίδραση της πίεσης στην θερμοκρασία σε μεγάλα βάθη.
Για να υπολογίσουμε την δυναμική θερμοκρασία μίας υδάτινης μάζας θα χρησιμοποίησουμε την συνάρτηση swTheta().
S = 35; T = 15; p = 5000
swTheta(S, T, p)
## [1] 14.14161
Συνεπώς, αν μία μάζα νερού με επιτόπια θερμοκρασία 15 βαθμών Κελσίου και αλατότητα 35 psu η οποία βρίσκεται σε βάθος 5000 μέτρων θα έχει θερμοκρασία δυναμική θερμοκρασία θ = 14.14161 βαθμούς Κελσίου.
Για να υπολογίσουμε την επιτόπια θερμοκρασία αν η υδάτινη μάζα βυθιστεί αδιαβατικά (δηλ. χωρίς ανταλλαγές θερμότητας με το περιβάλλον) από την επιφάνεια έως το βάθος των 4000 μ. γράφουμε:
S = 35; T = 5; p1 = 0; p2 = 4000
swTheta(S, T, p1, p2)
## [1] 5.428655
Άρα η άνοδος της πίεσης θα αυξήσει την επιτόπια θερμοκρασία από τους 5 στους 5.42 βαθμούς Κελσίου.
S <- c(30,30,38,38)
T <- c(-2,-2,30,30)
p <- rep(1000,4)
swTheta(S,T,p)
## [1] -2.018674 -2.018674 29.748657 29.748657
Με αντίστοιχο τρόπο διαβάζουμε τα δεδομένα εισόδου από ένα αρχείο.
data = read.csv("SampleData.csv", header = TRUE, sep = ";", dec = ".")
temperature = data$Temperature
salinity = data$Salinity
pressure = data$Pressure
swTheta(salinity,temperature,pressure)
## [1] 15.800000 14.984712 14.026657 12.856070 9.840457 9.399899
ΠΡΟΣΟΧΗ: Οι συναρτήσεις του πακέτου oce δέχονται πρώτα την αλατότητα, μετά την θερμοκρασία και τέλος την πίεση.