Persamaan Keadaan Air Laut

Ada seseorang yang mengirimi saya e-mail menanyakan tentang persamaan keadaan air laut (equation of state of seawater) . Dalam tulisan saya sebelumnya mengenai densitas air laut, saya hanya menuliskan persamaan keadaan sebagai ρ = ρ(t,S,p), yang artinya bahwa densitas air laut bergantung pada temperatur air laut (t), salinitas (S), dan tekanan (p). Kenapa hanya ditulis seperti itu? karena rumusnya panjang bo!

Perdefinisi, persamaan keadaan air laut adalah persamaan yang menghubungkan densitas air laut dengan temperatur, salinitas, dan tekanan air laut. Persamaan ini dihasilkan dengan cara mencocokan kurva-kurva (fitting curves) densitas sebagai fungsi temperatur, salinitas, klorinitas, atau konduktivitas, dan tekanan melalui pengukuran laboratorium. Persamaan keadaan yang digunakan saat ini adalah persamaan keadaan (1980) yang dipublikasikan oleh Joint Panel on Oceanographic Tables and Standards pada tahun 1981. Berikut adalah persamaan keadaan itu:

ρ(t,S,p)=ρ(t,S,0)/(1-p/K(t,S,p))

dimana ρ(t,S,0) adalah persamaan keadaan air laut international, 1980, pada tekanan 1 atmosfer, dan K(t,S,p) adalah secant bulk modulus dan dinyatakan sebagai:

K(t,S,p)=K(t,S,0) + Ap + Bp2

Sedangkan

K(t,S,0)=Kw+(54,6746 – 0,603459 t + 1,09987 x 10-2 t2 -6,1670 x 10-5 t3) S
+(7,944 x 10-2 + 1,6483 x 10-2 t – 5,3009 x 10-4 t2) S3/2)

A=Aw + (2,2838 x 10-3 – 1,0981 x 10-5 t – 1,6078 x 10-6 t2) S + 1,91075 x 10-4 S3/2

B=Bw + (-9,9348 x 10-7 + 2,0816 x 10-8 t + 9,1697 x 10-10 t2) S

dan suku untuk air murni (pure water) Kw, Aw, dan Bw diberikan oleh:

Kw=19,65221 + 148,4206 t – 2,327105 t2 + 1,360477 x 10-2 t3 – 5,155 288 x 10-5 t4

Aw=3,239908 + 1,43713 x 10-3 t + 1,16092 x 10-4 t2 – 5,77905 x 10-7 t3

Bw=8,50935 x 10-5 – 6,12293 x 10-6 t – 5,2787 x 10-8 t2

Persamaan keadaan ini valid untuk rentang salinitas 0 sampai 42, temperatur -2 sampai 40oC dan tekanan antara 0 sampai 1000 bar.

Zonal Meridional

Dulu, sewaktu saya baru saja lulus dan mulai ikut belajar tentang El-Nino di tempat kerja saya, saya sedikit bingung dengan istilah angin zonal yang biasanya suka disebut-sebut dalam paper-paper yang membahas tentang El-Nino. Karena tidak tahu apa artinya, saya pun mencoba bertanya ke seorang kawan satu angkatan yang juga bekerja di kantor yang sama yang kebetulan mengambil bidang keahlian meteorologi waktu kuliah dulu. Sayangnya teman saya itu pun tak tahu apa yang dimaksud dengan angin zonal.

Akhirnya, karena penasaran, saya coba untuk mencari tahu sendiri, tentu saja melalu internet yang kebetulan waktu itu masih sangat bagus koneksinya karena proyek Ipteknet masih punya banyak dana bantuan luar negeri. Ternyata oh ternyata, angin zonal itu maksudnya adalah angin komponen timur-barat. Kalau itu mah tahu dong! cuman biasanya kalau saya ngolah data arus laut, biasanya kita hanya menyebutnya sebagai arus komponen timur-barat, bukan arus zonal. Alasannya mungkin sederhana, karena biasanya saya bekerja pada daerah penelitian yang sempit, sementara istilah zonal mungkin lebih tepat untuk suatu daerah penelitian yang luas seperti pada kasus El-Nino dimana daerah tinjauannya mencakup Samudera Pasifik sepanjang ekuator yang luas itu.

Ketika menganalisis data angin atau arus laut, biasanya kita sering memisahkannya menjadi komponen utara-selatan (meridional, arah lintang) dan komponen timur-barat (zonal, arah bujur). Hal ini dilakukan untuk lebih memudahkan analisis dan pengolahan data, karena angin dan arus laut adalah vektor yang memiliki besar dan arah.

Dalam kaitannya dengan El-Nino, tinjauan banyak dilakukan terhadap angin zonal karena komponen itulah yang dominan dalam menentukan atau mengindikasikan terjadinya El-Nino. Seperti sudah diketahui, pada kondisi normal, angin pasat di sepanjang Pasifik dekat ekuator akan berhembus ke arah barat. Ketika terjadi El-Nino, angin ini akan melemah dan cenderung berbalik arah ke timur, sehingga massa air panas akan terbawa ke Samudera Pasifik tengah dan timur dekat ekuator (daerah Nino) dan membentuk kolam air hangat di sana.

Over dan Compound Tides

Kemarin ada seorang kawan, teman kuliah dulu selama S2, yang sekarang sedang mengambil program Doktor di Jepang menanyakan tentang periode komponen pasang surut (pasut) M4, karena kebetulan Profesornya menyuruhnya untuk menganalisis komponen pasut tersebut.

Komponen pasut M4 termasuk ke dalam kategori overtide, yaitu komponen pasut yang laju (speed) nya 2 kali laju komponen M2. Ada juga komponen pasut M6 yang lajunya 3 kali laju komponen M2, lalu M8 yang 4 kalinya.

Perdefinisi, yang disebut dengan overtide adalah sebuah komponen pasut harmonik (atau arus pasut) dimana lajunya merupakan perkalian eksak dari laju suatu komponen dasar pasut yang dibangkitkan dari gaya pembangkit pasut. Biasanya overtide ini muncul atau dominan di perairan dangkal. Overtide yang biasa ditinjau dalam analisis pasut adalah yang dibangkitkan oleh komponen utama principal lunar M2 dan solar semi diurnal S2 dengan lambang M4, M6, M8, S4, S6, dst.

Supaya yakin saya tidak ngawur dalam meberikan definisi, berikut definisi dalam bahasa Inggrisnya:

Overtide is a harmonic tidal (or tidal current) constituent with a speed that is an exact multiple of the speed of one of the fundamental constituents derived from the development of the tide-producing force. The presence of overtides is usually attributed to shallow water conditions. The overtides usually considered in tidal work are the harmonics of the principal lunar and solar semi diurnal constituents M2 and S2, and are designated by the symbols M4, M6, M8, S4, S6, etc. The magnitudes of these harmonics relative to those of the fundamental constituents are usually greater in the tidal current than in the tide.

Laju atau speed sendiri rumusnya adalah 360/T, satuannya derajat per jam matahari (deg per solar hour) . Jadi kalau periode komponen M2=12,42 jam, maka lajunya adalah 360/12,42=28,985 derajat/jam. Maka laju M4= 2*28,985 dst. Lalu, karena teman saya itu nanyanya periode, bukan laju, berapa dong jadinya periode M4? Ya gampang saja, laju = 360/T, kalau laju M4=2*laju M2, maka periode M4 ya separuhnya periode M2.

Selain overtide, ada juga istilah compound tide. Contoh komponen pasut yang masuk kriteria compound tide adalah MS4, 2SM2, 2SM6, dan 2MS6. Keempat compound tide tersebut merupakan hasil interaksi antara komponen pasut utama M2 dan S2, dan mereka juga termasuk komponen perairan dangkal. Ada juga juga MNS6 yang merupakan interaksi dari komponen pasut M2, N2, dan S2.

Perdefinisi, yang disebut dengan compound tide adalah suatu komponen pasut yang terbentuk dari hasil interaksi antara beberapa komponen pasut utama (primary constituents). Definisi bahasa Inggrisnya begini bunyinya: A compound tide is a constituent arising from the interaction between other primary constituents

Lalu, bagaimana menghitung laju komponen-komponen compound tide tersebut?

Laju MS4=laju M2 + laju S2
Laju 2SM2=laju S2 – laju M2
Laju 2SM6=2*laju S2 + laju M2
Laju 2MS6=2*laju M2 + laju S2
Laju MNS6= laju M2 + laju N2 + laju S2

Jadi kalau kita tahu laju dari komponen utamanya, dengan mudah kita bisa mendapatkan laju compound tide tersebut.

Model Oseanografi

Salah satu pekerjaan oseanografer adalah menjadi modeler, tapi bukan untuk merancang pakaian musim panas dingin, atau berjalan-jalan ganjen dan culun di atas titian kucing (cat walk) , tetapi mencoba mentransfer fenomena oseanografi ke dalam persamaan-persamaan diskrit/numerik. Banyak hal bisa dimodelkan, dari yang paling sederhana hingga yang rumit amit-amit. Model seperti ini biasa disebut sebagai model numerik.

Salah satu kegunaan dari model numerik dalam bidang oseanografi adalah untuk mempelajari perilaku laut secara lebih mudah dan murah tetapi detail. Mudah dan murah karena kita tidak perlu pergi ke laut, tahu sendiri kan, survey oseanografi itu cukup mahal dan sulit. Detail, karena kita bisa menjadikan lokasi penelitian kita di laut menjadi sel-sel hingga skala yang cukup rapat.

Dalam perkembangan ilmu oseanografi, model numerik ini cukup banyak membantu para oseanografer dalam menjelaskan fenomena-fenomena yang teramati di alam dengan lebih mendalam. Beberapa yang cukup populer adalah model Stommel yang berhasil menjelaskan fenomena intensifikasi arus di batas barat (western boundary currents) dan model Sverdrup mengenai sirkulasi laut (silahkan lihat di sini untuk penjelasan agak detail).

Saat ini, sepertinya hampir semua pekerjaan oseanografer banyak terbantu dengan model numerik, apalagi dengan semakin pesatnya perkembangan teknologi komputasi. Di dunia maya saat ini pun banyak bertebaran model-model numerik oseanografi yang gratis, mulai dari yang hanya 1-D, 2-D, hingga yang 3-D dengan berbagai macam metode yang berbeda-beda dan keunggulan masing-masing. Beberapa diantaranya adalah Princeton Ocean Model (POM), Hamburg Shelf Ocean Model (HAMSOM), Modular Ocean Model (MOM), Bergen Ocean Model (BOM), dll. untuk model sirkulasi laut. WaveWatch III untuk model gelombang laut, Oregon State University Tidal Inversion Software (OTIS) untuk model pasang surut dengan asimilasi data dengan metode inversi, dan masih banyak lagi yang lain. Semua model yang saya sebutkan di atas bisa diunduh dengan gratis.

Dalam menjalankan model numerik kita perlu berhati-hati, jangan sampai terjadi “garbage in, garbage out”. Bisa dipastikan, jika kita sudah melaksanakan langkah-langkah untuk menjalankan sebuah model sesuai dengan prosedur yang ada dalam user guide, model akan memberikan hasil. Tetapi hasil model itu belum tentu benar, apalagi jika kita salah dalam memberikan input atau mengatur syarat batas. Maka dari itu, diperlukan kehati-hatian dalam menjalankannya, dan tentu saja diperlukan juga pemahaman yang baik tentang model numerik dan hal-hal yang berkaitan dengan oseanografi.

Menghitung salinitas dari data CTD

Beberapa minggu yang lalu seorang kawan, teman kuliah dulu yang sekarang sudah bergelar MEng. Oseanografi bertanya: “punyakah saya program untuk menghitung harga salinitas dari hasil pengamatan CTD? (jika ada dalam vb-nya excel, itu akan lebih baik). Saya yang memang tidak pernah bersentuhan dengan data CTD dengan singkat menjawab “tidak”, tapi saya ingat bahwa di websitenya Pak Tomzcak ada fasilitas itu dalam bentuk kalkulator online. Tapi ya tidak mangkus juga kalau data CTD yang banyak itu harus dimasukkan satu persatu ke kalkulator onlinenya Pak Tomzcak itu, bisa gempor dong tangan ini…

Setelah berlalu beberapa pekan, dan kebetulan punya waktu luang, saya mencoba mencari-cari di internet tentang cara menghitung salinitas dari data CTD, dan saya menemukan 2 alamat website ini: “Exercise 5: Using EXCEL to process CTD data” dan sebuah source code dalam Fortran untuk menghitung salinitas dan beberapa parameter fisis oseanografi lainnya dari CSIRO.

Karena saya terbiasa menggunakan Matlab untuk urusan hitung-menghitung dalam bidang oseanografi, akhirnya saya mencoba untuk mengubah kedua sumber berharga itu ke dalam fungsi-fungsi Matlab, dan terbentuklah dengan sukses function sal78, sal, dan conduc. Function sal78 adalah fungsi untuk mengubah rasio konduktivitas ke salinitas (jika M=0) dan mengubah salinitas ke rasio konduktivitas (jika M=1) berdasarkan pada UNESCO Report #37, 1981, juga ada dalam Practical Salinity Scale 1978 oleh E.L. Lewis, IEEE Ocean Eng. Jan, 1980. Prosedurnya mudah dan banyak tersedia rumusnya di dunia maya ini.

Untuk mengubah harga konduktivitas, temperatur dan tekanan dari data CTD, saya mencoba membuat fungsi sal, dimana dalam fungsi tersebut dipanggil sal78. Sedangkan untuk mengubah harga salinitas ke konduktivitas, saya buat fungsi conduc, dimana di dalamnya juga dipanggil fungsi sal78. Saya sudah coba bandingkan hasilnya dengan kalkulator onlinenya Pak Tomzcak, alhamdulillah harganya sama. Berikut adalah isi dari fungsi-fungsi tersebut,semoga bermanfaat:

1.Function sal78.m

function sal=sal78(c,t,p,m)
% notes from me:
% --------------
% some parts are taken from
% http://marine.csiro.au/datacentre/process/formats/sal78.f
% and the other parts are taken from:
% http://faculty.washington.edu/blewis/ocn499/EXER05.htm
%
% i just try to combine it for my needs and purposes
%
% this function is called by sal to get the salinity value from
% conductivity --> s=sal78(g,t,p,0)
%
% this function is called by conduc to get the conductivity value from
% salinity --> c=sal78(s,t,p,1)
%
% the sal and conduc codes are taken from:
% http://marine.csiro.au/datacentre/process/formats/sal78.f
%
% ***agus setiawan, sep.2006***
%
% this header and explanation is from:
% http://faculty.washington.edu/blewis/ocn499/EXER05.htm
%
% sal78 converts conductivity to salinity
% the conductivity ratio (c)=1.0000000 for salinity=35
% PSS-78. temperature=15.0 deg. celcius, and atmospheric
% pressure.
%
% references: also located in UNESCO Report NO. 37 1981
% Practical Salinity Scale 1978: E.L. Lewis IEEE Ocean Eng.
% Jan. 1980
%
% units:
% pressure p decibars
% temperature t deg. celcius (IPTS-68)
% conductivity c ratio (m=0)
% conductivity c mmho/sec (m=1)
% salinity sal78 (PSS-78) (m=0)
% checkvalues:
% sal78=1.888091:c=40.0000,t=40degC,p=10000dcbrs:m=1
% sal78=40.00000:c=1.888091,t=40degC,p=10000dcbrs:m=0
%
% sal78 ratio: returns zero for conductivity ratio: <0.0005
% sal78: returns zero for salinity: <0.02
%
% Practical Salinity Scale 1978 definition with temperature
% correction
%
% convert conductivity to salinity
%
% this part of code is from:
% http://faculty.washington.edu/blewis/ocn499/EXER05.htm
r=c;
dt=t-15.0;
rt35=(((1.0031E-9*t-6.9698e-7)*t+1.104259e-4)*t +2.00564e-2)*t+0.6766097;
c=((3.989e-15*p-6.370e-10)*p+2.070e-5)*p;
b=(4.464e-4*t+3.426e-2)*t+1.0;
a=-3.107e-3*t+0.4215;
if m==0,
rt=r/(rt35*(1.0+c/(b+a*r)));
rt=sqrt(abs(rt));
sal=((((2.7081*rt-7.0261)*rt+14.0941)*rt+25.3851)...
 *rt -0.1692)*rt+0.0080...
  +(dt/(1.0+0.0162*dt))*(((((-0.0144*rt+0.0636)*rt-0.0375)...
 *rt-0.0066)*rt-0.0056)*rt+0.0005);
else
% this part of code is from:
% http://marine.csiro.au/datacentre/process/formats/sal78.f
rt=sqrt(r/35.0);
for n=1:10,
 si=((((2.7081*rt-7.0261)*rt+14.0941)*rt+25.3851)*rt...
   -0.1692)*rt+0.0080...
  +(dt/(1.0+0.0162*dt))*(((((-0.0144*rt...
   +0.0636)*rt-0.0375)*rt-0.0066)*rt-0.0056)*rt+0.0005);
  dsal=((((13.5405*rt-28.1044)*rt+42.2823)*rt+50.7702)*rt...
   -0.1692)+(dt/(1.0+0.0162*rt))*((((-0.0720*rt+0.2544)*rt...
   -0.1125)*rt-0.0132)*rt-0.0056);
   rt=rt+(r-si)/dsal;
end
rtt=rt35*rt*rt;
c=rtt*(c+b);
b=b-rtt*a;
rr=sqrt(abs(b*b+4.0*a*c))-b;
sal=0.5*rr/a;
end  % if m==0

2.Function sal.m

function s=sal(c,t,p)
%
% function s=sal(c,t,p)
% this function derives salinity from a value of the
% in situ conductivity (as determined, for example, by a CTD),
% temperature and pressure.
%
% units:
% conductivity (c) : mmho/cm
% temperature (t)  : degC
% pressure (p)     : dbar --> 1 bar=10 dbar=100 kPa
%
%
% c35150 is the conductivity of standard seawater at 35 PSU,
% 15 degC, and atmospheric pressure
c35150=42.914;

if(abs(c)<0.01), s=-1, return, end
g=(c*(1.-6.5E-06*(t-2.8)+1.5E-8*(p-3000.)))/c35150;
s=sal78(g,t,p,0);

3.Function conduc.m

function c=conduc(s,t,p)
%
% function c=conduc(s,t,p)
% this function derives conductivity from a value of the
% salinity, temperature and pressure.
%
% units:
% salinity (s)     : -
% temperature (t)  : degC
% pressure (p)     : dbar  --> 1 bar = 10 dbar = 100 kPa
%
%
% c35150 is the conductivity of standard seawater at 35 PSU,
% 15 degC, and atmospheric pressure
c35150=42.914;
g=sal78(s,t,p,1);
c=g*c35150/(1.0-6.5e-6*(t-2.8)+1.5e-8*(p-3000.));

Air Laut yang Selalu Bergerak

Bumi kita dikelilingi oleh dua lautan yang sangat luas: lautan udara dan lautan air. Keduanya berada dalam keadaan bergerak yang tetap, dibangkitkan oleh energi dari matahari dan gaya gravitasi Bumi. Gerakan-gerakan mereka saling berhubungan: angin memberikan energinya ke permukaan laut sehingga menghasilkan arus laut, dan arus laut membawa energi panas dari satu lokasi ke lokasi lainnya, mengubah pola temperatur permukaan Bumi dan juga mengubah sifat-sifat fisis udara di atasnya.

Di laut terbuka, air laut digerakan oleh dua sistem angin. Di dekat khatulistiwa, angin pasat (trade wind) menggerakkan permukaan air ke arah barat. Sementara itu, di daerah lintang sedang (temperate), angin baratan (westerlies wind) menggerakkan kembali permukaan air ke timur. Akibatnya di samudera-samudera akan ditemukan sebuah gerakan permukaan air yang “membundar”. Di belahan bumi utara, angin ini membangkitkan arus yang bergerak searah jarum jam, sementara itu di belahan bumi selatan dia bergerak berlawanan arah jarum jam.

Arus laut, baik yang di permukaan maupun di kedalaman, berperan dalam iklim di Bumi dengan cara menggerakkan air dingin dari kutub ke daerah tropis dan sebaliknya. Sistem arus global yang mempengaruhi iklim di Bumi ini biasa disebut sebagai “Great Ocean Conveyor Belt” atau dalam bahasa Indonesia saya biasa menyebut sebagai “Sabuk Arus Laut Dunia”.

Air laut selalu dalam keadaan bergerak. Arus laut bergerak tak ubahnya arus di sungai, gelombang laut bergerak dan menabrak pantai, dan gaya gravitasi bulan dan matahari mengakibatkan naik turunnya air laut dan biasa disebut sebagai fenomena pasang surut laut.

Arus laut tercipta karena adanya pemanasan di beberapa bagian Bumi oleh radiasi sinar matahari. Air yang lebih hangat akan “mengembang”, membuat sebuah kemiringan (slope) terhadap daerah sekitarnya yang lebih dingin, dan akibatnya air hangat tersebut akan mengalir ke arah yang lebih rendah yaitu ke arah kutub yang lebih dingin daripada ekuator.

Gelombang laut tercipta karena adanya transfer energi dari angin ke permukaan laut. Energi yang tertransferkan ini akan bergerak melintasi permukaan laut, dimana air laut sendiri bergerak dalam gerakan “membundar” (circular motion) di bawah permukaan laut.

Pasang surut (pasut) laut adalah gerakan berirama dan dapat diramalkan yang dibangkitkan oleh gaya gravitasi bulan dan matahari. Rentang pasut dapat bervariasi secara “dramatis”, bergantung pada bentuk (morfologi) perairannya. Di beberapa tempat , beda antara pasang tertinggi dan surut terendah (rentang pasut) bisa mencapai puluhan meter.