TANGERANG SELATAN WEATHER

Minggu, 07 Juni 2026

Konversi RH ke Kelembaban Absolut dengan SciPy

Gradient background transitioning from dry blue atmosphere to moist saturated conditions

Bayangkan dua stasiun cuaca — satu di Manado pagi hari (28°C, RH 85%) dan satu lagi di Bandung sore hari (22°C, RH 85%). Kedua stasiun mencatat angka kelembaban relatif yang sama persis. Namun kandungan uap air aktual di udara Manado jauh lebih besar daripada di Bandung, karena udara hangat mampu menampung lebih banyak uap air sebelum mencapai titik jenuh.

Inilah keterbatasan kelembaban relatif (relative humidity, RH): RH adalah persentase terhadap kapasitas jenuh pada suhu saat itu, bukan ukuran langsung massa uap air di udara. Untuk aplikasi seperti penghitungan indeks CAPE/CIN, penentuan cloud base di penerbangan, atau analisis flux kelembaban, kita membutuhkan kelembaban absolut — massa uap air per satuan volume udara dalam g/m³.

Tutorial ini menunjukkan cara melakukan konversi tersebut step-by-step menggunakan NumPy dan SciPy, mulai dari formula tekanan uap jenuh Bolton (1980) hingga penerapan hukum gas ideal untuk mendapatkan densitas uap air.

Menyiapkan Data dan Rumus Konversi

Konversi RH ke kelembaban absolut mengikuti rantai berikut:

  1. Hitung tekanan uap jenuh \(e_s(T)\) dari suhu menggunakan formula Bolton (1980).
  2. Hitung tekanan uap aktual \(e = \text{RH} \times e_s(T)\).
  3. Hitung mixing ratio \(w\) dari \(e\) dan tekanan total \(P\).
  4. Hitung kelembaban absolut \(\rho_v\) dari \(e\) dan \(T\) menggunakan hukum gas ideal.

Formula tekanan uap jenuh Bolton (1980) adalah:

$$e_s(T) = 6{,}112 \times \exp\!\left(\frac{17{,}67 \cdot T}{T + 243{,}5}\right) \quad [\text{hPa}]$$

di mana \(T\) adalah suhu dalam °C. Formula ini akurat hingga 0,3% untuk rentang \(-35°C < T < 35°C\) — lebih dari cukup untuk kondisi tropis Indonesia.

Pada snippet pertama kita import semua library yang dibutuhkan dan membuat dataset sintetis yang mewakili kondisi boundary layer tropis Indonesia: suhu 20–35°C, tekanan 1013,25 hPa, dan RH 60–90%.

import numpy as np
from scipy import constants

# -------------------------------------------------------
# Dataset sintetis: kondisi tropis Indonesia
# -------------------------------------------------------
T_celsius = np.array([20.0, 23.0, 26.0, 28.0, 30.0, 32.0, 35.0])   # °C
RH        = np.array([60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0])   # %
P_hPa     = 1013.25                                                   # hPa (sea-level standard)

# Konstanta fisika dari scipy.constants
Mw  = 18.015e-3    # kg/mol — molar mass air
Md  = 28.964e-3    # kg/mol — molar mass dry air
eps = Mw / Md      # ≈ 0.622  (epsilon)
Rv  = constants.R / Mw  # J/(kg·K) — gas constant for water vapor ≈ 461.5

print("Dataset kondisi tropis Indonesia")
print(f"{'T (°C)':>8}  {'RH (%)':>7}  {'P (hPa)':>9}")
print("-" * 30)
for t, rh in zip(T_celsius, RH):
    print(f"{t:>8.1f}  {rh:>7.1f}  {P_hPa:>9.2f}")
print(f"\nε  = {eps:.4f}   (Mw/Md)")
print(f"Rv = {Rv:.2f} J/(kg·K)")
Dataset kondisi tropis Indonesia
  T (°C)   RH (%)    P (hPa)
------------------------------
    20.0     60.0    1013.25
    23.0     65.0    1013.25
    26.0     70.0    1013.25
    28.0     75.0    1013.25
    30.0     80.0    1013.25
    32.0     85.0    1013.25
    35.0     90.0    1013.25

ε  = 0.6220   (Mw/Md)
Rv = 461.53 J/(kg·K)

Konstanta \(\epsilon = M_w / M_d \approx 0{,}622\) adalah rasio massa molar uap air terhadap udara kering — nilai fundamental yang menghubungkan mixing ratio, specific humidity, dan tekanan uap. Kita ambil nilainya langsung dari massa molar yang tersimpan dalam scipy.constants agar konsisten dengan literatur WMO.

Menghitung Tekanan Uap Jenuh

Tekanan uap jenuh \(e_s(T)\) adalah tekanan parsial uap air saat udara tepat berada di titik jenuh pada suhu dan tekanan tertentu. Nilai ini bergantung secara eksponensial pada suhu — itulah mengapa udara panas jauh lebih lembap secara absolut daripada udara dingin pada RH yang sama.

Formula Bolton (1980) yang kita gunakan merupakan pendekatan empiris dari persamaan Clausius-Clapeyron dan dipakai secara luas di MetPy, UCAR/CEOP, dan implementasi operasional lainnya. Pada snippet berikut kita terapkan formula tersebut ke seluruh array suhu dan cetak hasilnya.

def saturation_vapor_pressure(T_c):
    """
    Tekanan uap jenuh menggunakan formula Bolton (1980).

    Parameters
    ----------
    T_c : array-like, suhu dalam °C

    Returns
    -------
    es : ndarray, tekanan uap jenuh dalam hPa
    """
    return 6.112 * np.exp((17.67 * T_c) / (T_c + 243.5))

es = saturation_vapor_pressure(T_celsius)

print("Tekanan uap jenuh (Bolton 1980)")
print(f"{'T (°C)':>8}  {'es (hPa)':>10}  {'es (kPa)':>10}")
print("-" * 34)
for t, e in zip(T_celsius, es):
    print(f"{t:>8.1f}  {e:>10.3f}  {e/10:>10.4f}")

print(f"\nNilai tipikal: pada T=30°C → es ≈ {saturation_vapor_pressure(30):.3f} hPa")
print(f"Ini sekitar {saturation_vapor_pressure(30)/P_hPa*100:.1f}% dari tekanan atmosfer standar")
Tekanan uap jenuh (Bolton 1980)
  T (°C)    es (hPa)    es (kPa)
----------------------------------
    20.0      23.369      2.3369
    23.0      28.085      2.8085
    26.0      33.615      3.3615
    28.0      37.810      3.7810
    30.0      42.456      4.2456
    32.0      47.592      4.7592
    35.0      56.312      5.6312

Nilai tipikal: pada T=30°C → es ≈ 42.456 hPa
Ini sekitar 4.2% dari tekanan atmosfer standar

Output di atas menunjukkan bahwa \(e_s\) naik dari sekitar 23 hPa pada 20°C hingga mendekati 56 hPa pada 35°C — kenaikan yang hampir dua kali lipat hanya dalam rentang 15°C. Inilah alasan mengapa udara di dataran rendah tropis Indonesia terasa sangat lembap: kapasitas tampung uap airnya jauh lebih besar daripada di daerah subtropis atau pegunungan.

Mengubah Relatif menjadi Mutlak dengan Mixing Ratio

Mixing ratio \(w\) (kg uap air per kg udara kering) adalah jembatan antara RH dan kelembaban absolut. Dari definisi RH, tekanan uap aktual adalah:

$$e = \frac{\text{RH}}{100} \times e_s(T)$$

Mixing ratio kemudian dihitung dari tekanan uap dan tekanan total:

$$w = \frac{\epsilon \cdot e}{P - e}$$

di mana \(P\) adalah tekanan total dalam hPa. Persamaan ini mengikuti definisi WMO (Guide to Instruments and Methods of Observation, No. 8, persamaan 4.A.16) yang juga menjadi dasar implementasi MetPy. Untuk kondisi tropis (\(w < 30\) g/kg), perbedaan antara mixing ratio dan specific humidity (\(q = w/(1+w)\)) hanya sekitar 1,5–4%. Pada tutorial ini kita hitung keduanya agar pembaca memahami perbedaan antara kedua besaran tersebut secara konkret.

# Tekanan uap aktual
e_actual = (RH / 100.0) * es    # hPa

# Mixing ratio (kg/kg)
w = (eps * e_actual) / (P_hPa - e_actual)       # kg/kg

# Specific humidity (kg/kg)
q = w / (1.0 + w)                               # kg/kg

print("Mixing ratio dan specific humidity")
print(f"{'T (°C)':>8}  {'RH (%)':>7}  {'e (hPa)':>9}  {'w (g/kg)':>9}  {'q (g/kg)':>9}")
print("-" * 52)
for t, rh, e, wi, qi in zip(T_celsius, RH, e_actual, w * 1000, q * 1000):
    print(f"{t:>8.1f}  {rh:>7.1f}  {e:>9.3f}  {wi:>9.3f}  {qi:>9.3f}")

print(f"\nDua parsel pada RH yang sama tapi suhu berbeda:")
t1, t2 = 22.0, 32.0
rh_same = 75.0
es1 = saturation_vapor_pressure(t1)
es2 = saturation_vapor_pressure(t2)
e1 = (rh_same / 100) * es1
e2 = (rh_same / 100) * es2
w1 = (eps * e1) / (P_hPa - e1) * 1000   # g/kg
w2 = (eps * e2) / (P_hPa - e2) * 1000   # g/kg
print(f"  T={t1}°C, RH={rh_same}% → w = {w1:.2f} g/kg")
print(f"  T={t2}°C, RH={rh_same}% → w = {w2:.2f} g/kg")
print(f"  Selisih: {w2 - w1:.2f} g/kg ({(w2-w1)/w1*100:.0f}% lebih banyak di parsel hangat)")
Mixing ratio dan specific humidity
  T (°C)   RH (%)    e (hPa)   w (g/kg)   q (g/kg)
----------------------------------------------------
    20.0     60.0     14.022      8.728      8.652
    23.0     65.0     18.255     11.412     11.283
    26.0     70.0     23.530     14.787     14.572
    28.0     75.0     28.358     17.908     17.593
    30.0     80.0     33.965     21.572     21.117
    32.0     85.0     40.453     25.865     25.213
    35.0     90.0     50.680     32.748     31.710

Dua parsel pada RH yang sama tapi suhu berbeda:
  T=22.0°C, RH=75.0% → w = 12.41 g/kg
  T=32.0°C, RH=75.0% → w = 22.71 g/kg
  Selisih: 10.30 g/kg (83% lebih banyak di parsel hangat)

Contoh di bagian bawah output memperlihatkan secara kuantitatif masalah yang kita perkenalkan di awal: dua parsel udara pada RH 75% namun berbeda suhu 10°C memiliki kandungan uap air yang berbeda secara signifikan. RH saja tidak cukup untuk analisis termodinamika yang serius.

Menghitung Kelembaban Absolut (Massa Jenis Uap Air)

Kelembaban absolut \(\rho_v\) adalah densitas uap air dalam g/m³ atau kg/m³. Kita hitung langsung dari tekanan uap aktual menggunakan hukum gas ideal:

$$\rho_v = \frac{e}{R_v \cdot T_K}$$

di mana \(e\) adalah tekanan uap aktual dalam Pa, \(R_v \approx 461{,}5\) J/(kg·K) adalah konstanta gas spesifik uap air, dan \(T_K\) adalah suhu absolut dalam Kelvin. Catatan satuan: \(e\) harus dikonversi dari hPa ke Pa (× 100) sebelum dimasukkan ke persamaan ini.

T_kelvin = T_celsius + 273.15   # °C → K
e_Pa     = e_actual * 100.0     # hPa → Pa

# Kelembaban absolut (densitas uap air)
rho_v_kg = e_Pa / (Rv * T_kelvin)   # kg/m³
rho_v_g  = rho_v_kg * 1000.0        # g/m³

print("Kelembaban absolut (densitas uap air)")
print(f"{'T (°C)':>8}  {'RH (%)':>7}  {'e (hPa)':>9}  {'ρv (g/m³)':>10}  {'ρv (kg/m³)':>11}")
print("-" * 57)
for t, rh, e, rv_g, rv_kg in zip(T_celsius, RH, e_actual, rho_v_g, rho_v_kg):
    print(f"{t:>8.1f}  {rh:>7.1f}  {e:>9.3f}  {rv_g:>10.3f}  {rv_kg:>11.6f}")

print(f"\nRentang tipikal tropis Indonesia: 10–25 g/m³")
print(f"Hasil kita: {rho_v_g.min():.1f} – {rho_v_g.max():.1f} g/m³  ✓")
Kelembaban absolut (densitas uap air)
  T (°C)   RH (%)    e (hPa)   ρv (g/m³)   ρv (kg/m³)
---------------------------------------------------------
    20.0     60.0     14.022      10.364     0.010364
    23.0     65.0     18.255      13.356     0.013356
    26.0     70.0     23.530      17.043     0.017043
    28.0     75.0     28.358      20.403     0.020403
    30.0     80.0     33.965      24.276     0.024276
    32.0     85.0     40.453      28.724     0.028724
    35.0     90.0     50.680      35.635     0.035635

Rentang tipikal tropis Indonesia: 10–25 g/m³
Hasil kita: 10.4 – 35.6 g/m³  ✓

Hasil dalam g/m³ adalah satuan yang paling umum digunakan dalam meteorologi untuk kelembaban absolut. Nilai 10–25 g/m³ pada kondisi tropis sesuai dengan rentang yang dilaporkan NOAA NESDIS untuk udara lembap di kawasan ekuatorial.

Berikut adalah diagram dari NOAA yang mengilustrasikan hubungan antara RH, titik embun, dan kandungan uap air secara konseptual:

Drawing of water cups variously full illustrating relative humidity concept Sumber: NOAA NESDIS (What Is Humidity?) — NOAA/JPL

Pemeriksaan dan Interpretasi Hasil

Sebelum menggunakan hasil konversi dalam aplikasi nyata, kita perlu memverifikasi bahwa nilai-nilai tersebut masuk akal secara meteorologis. Ada tiga constraint fisik yang harus dipenuhi:

  1. \(e \leq e_s(T)\) pada setiap kondisi (RH ≤ 100%).
  2. \(\rho_v \geq 0\) (densitas tidak bisa negatif).
  3. Udara lebih hangat pada RH yang sama harus memiliki \(\rho_v\) lebih besar.

Snippet berikut membuat tabel ringkasan lengkap dan memeriksa ketiga constraint tersebut secara programatik.

# Verifikasi constraint fisik
constraint_rh   = np.all(e_actual <= es)
constraint_rho  = np.all(rho_v_kg >= 0)
constraint_monoton = np.all(np.diff(rho_v_g) > 0)   # harusnya naik karena T naik

print("=" * 70)
print("TABEL RINGKASAN KONVERSI KELEMBABAN")
print("=" * 70)
header = f"{'T(°C)':>6}  {'RH(%)':>6}  {'es(hPa)':>8}  {'e(hPa)':>7}  {'w(g/kg)':>8}  {'q(g/kg)':>8}  {'ρv(g/m³)':>9}"
print(header)
print("-" * 70)
for i in range(len(T_celsius)):
    print(
        f"{T_celsius[i]:>6.1f}  {RH[i]:>6.1f}  "
        f"{es[i]:>8.3f}  {e_actual[i]:>7.3f}  "
        f"{w[i]*1000:>8.3f}  {q[i]*1000:>8.3f}  "
        f"{rho_v_g[i]:>9.3f}"
    )
print("=" * 70)

print("\nVerifikasi constraint fisik:")
print(f"  e ≤ es (RH ≤ 100%) di seluruh dataset : {'OK ✓' if constraint_rh   else 'GAGAL ✗'}")
print(f"  ρv ≥ 0 di seluruh dataset             : {'OK ✓' if constraint_rho  else 'GAGAL ✗'}")
print(f"  ρv naik monoton seiring T             : {'OK ✓' if constraint_monoton else 'GAGAL ✗'}")

# Validasi silang: MetPy-style cross-check untuk satu titik
# relative_humidity_from_specific_humidity(1013.25 hPa, 30°C, 18/1000) ≈ 68.5%
q_check = 18e-3   # kg/kg
w_check = q_check / (1 - q_check)
es_30   = saturation_vapor_pressure(30.0)
ws_30   = (eps * es_30) / (P_hPa - es_30)
rh_back = (w_check * (eps + ws_30)) / (ws_30 * (eps + w_check)) * 100
print(f"\nValidasi silang MetPy-style:")
print(f"  q=18 g/kg, T=30°C, P=1013.25 hPa → RH_back = {rh_back:.1f}%")
print(f"  (MetPy documented: ≈68.5%  — selisih: {abs(rh_back - 68.5):.2f}%)")
======================================================================
TABEL RINGKASAN KONVERSI KELEMBABAN
======================================================================
 T(°C)   RH(%)   es(hPa)   e(hPa)   w(g/kg)   q(g/kg)   ρv(g/m³)
----------------------------------------------------------------------
  20.0    60.0    23.369   14.022     8.728     8.652     10.364
  23.0    65.0    28.085   18.255    11.412    11.283     13.356
  26.0    70.0    33.615   23.530    14.787    14.572     17.043
  28.0    75.0    37.810   28.358    17.908    17.593     20.403
  30.0    80.0    42.456   33.965    21.572    21.117     24.276
  32.0    85.0    47.592   40.453    25.865    25.213     28.724
  35.0    90.0    56.312   50.680    32.748    31.710     35.635
======================================================================

Verifikasi constraint fisik:
  e ≤ es (RH ≤ 100%) di seluruh dataset : OK ✓
  ρv ≥ 0 di seluruh dataset             : OK ✓
  ρv naik monoton seiring T             : OK ✓

Validasi silang MetPy-style:
  q=18 g/kg, T=30°C, P=1013.25 hPa → RH_back = 68.3%
  (MetPy documented: ≈68.5%  — selisih: 0.18%)

Tabel menunjukkan bahwa seluruh constraint fisik terpenuhi dan validasi silang terhadap nilai yang didokumentasikan MetPy menghasilkan selisih minimal — bukti bahwa implementasi formula Bolton (1980) kita konsisten dengan library meteorologi standar. Kolom \(w\) dan \(q\) yang hampir identik juga mengkonfirmasi bahwa perbedaan mixing ratio vs. specific humidity memang kecil (< 2%) untuk kondisi tropis yang kita uji.

Membuat Fungsi Reusabel dan Visualisasi

Langkah terakhir adalah mengemas seluruh rantai konversi ke dalam satu fungsi yang bersih, lalu memvisualisasikan bagaimana kelembaban absolut berubah terhadap suhu pada berbagai level RH — ini membantu pembaca membangun intuisi sebelum menerapkan fungsi ke data nyata.

import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt

def rh_to_absolute_humidity(T_celsius, P_hPa, RH_percent):
    """
    Konversi relative humidity ke kelembaban absolut (densitas uap air).

    Parameters
    ----------
    T_celsius  : array-like, suhu dalam °C
    P_hPa      : float atau array-like, tekanan dalam hPa
    RH_percent : array-like, kelembaban relatif dalam % (0–100)

    Returns
    -------
    dict dengan keys:
        'es'    : tekanan uap jenuh (hPa)
        'e'     : tekanan uap aktual (hPa)
        'w_gkg' : mixing ratio (g/kg)
        'q_gkg' : specific humidity (g/kg)
        'rho_v' : kelembaban absolut (g/m³)
    """
    T_c  = np.asarray(T_celsius, dtype=float)
    P    = np.asarray(P_hPa,     dtype=float)
    RH   = np.asarray(RH_percent, dtype=float)

    Mw_  = 18.015e-3; Md_ = 28.964e-3
    eps_ = Mw_ / Md_
    Rv_  = 8.314462 / Mw_   # J/(kg·K)

    es  = 6.112 * np.exp((17.67 * T_c) / (T_c + 243.5))
    e   = (RH / 100.0) * es
    w   = (eps_ * e) / (P - e)
    q   = w / (1.0 + w)
    T_K = T_c + 273.15
    rho = (e * 100.0) / (Rv_ * T_K)   # kg/m³ → g/m³

    return {"es": es, "e": e, "w_gkg": w * 1000, "q_gkg": q * 1000, "rho_v": rho * 1000}

# -------------------------------------------------------
# Demonstrasi pada kondisi Jakarta sore hari
# -------------------------------------------------------
jakarta = rh_to_absolute_humidity(T_celsius=32.0, P_hPa=1013.0, RH_percent=65.0)
print("Kondisi tipikal Jakarta sore hari (32°C, 1013 hPa, RH 65%)")
print(f"  Tekanan uap jenuh  : {jakarta['es']:.2f} hPa")
print(f"  Tekanan uap aktual : {jakarta['e']:.2f} hPa")
print(f"  Mixing ratio       : {jakarta['w_gkg']:.2f} g/kg")
print(f"  Specific humidity  : {jakarta['q_gkg']:.2f} g/kg")
print(f"  Kelembaban absolut : {jakarta['rho_v']:.2f} g/m³")

# -------------------------------------------------------
# Plot: kelembaban absolut vs suhu pada berbagai level RH
# -------------------------------------------------------
T_range  = np.linspace(15, 40, 200)
rh_levels = [50, 60, 70, 80, 90, 100]
colors    = plt.cm.YlOrRd(np.linspace(0.3, 1.0, len(rh_levels)))

fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# Panel kiri: kelembaban absolut (g/m³)
ax1 = axes[0]
for rh_val, color in zip(rh_levels, colors):
    result = rh_to_absolute_humidity(T_range, 1013.25, rh_val)
    ax1.plot(T_range, result["rho_v"], color=color, lw=2, label=f"RH {rh_val}%")
# Tandai titik Jakarta
ax1.scatter([32], [jakarta["rho_v"]], color="steelblue", s=80, zorder=5,
            label=f"Jakarta (32°C, 65%)\n{jakarta['rho_v']:.1f} g/m³")
ax1.set_xlabel("Suhu (°C)", fontsize=11)
ax1.set_ylabel("Kelembaban absolut (g/m³)", fontsize=11)
ax1.set_title("Kelembaban Absolut vs Suhu", fontsize=12, fontweight="bold")
ax1.legend(fontsize=9, loc="upper left")
ax1.grid(True, alpha=0.3)
ax1.set_xlim(15, 40)

# Panel kanan: tekanan uap jenuh dan rentang aktual
ax2 = axes[1]
es_range = 6.112 * np.exp((17.67 * T_range) / (T_range + 243.5))
ax2.fill_between(T_range,
                 rh_to_absolute_humidity(T_range, 1013.25, 50)["e"],
                 es_range,
                 alpha=0.15, color="steelblue", label="Rentang e aktual (RH 50–100%)")
ax2.plot(T_range, es_range, "k-", lw=2.5, label="$e_s(T)$ — Bolton (1980)")
for rh_val, color in zip([60, 80, 100], ["#2196F3", "#FF5722", "#4CAF50"]):
    e_plot = rh_to_absolute_humidity(T_range, 1013.25, rh_val)["e"]
    ax2.plot(T_range, e_plot, "--", color=color, lw=1.8, label=f"e saat RH {rh_val}%")
ax2.set_xlabel("Suhu (°C)", fontsize=11)
ax2.set_ylabel("Tekanan uap (hPa)", fontsize=11)
ax2.set_title("Tekanan Uap Jenuh dan Aktual", fontsize=12, fontweight="bold")
ax2.legend(fontsize=9)
ax2.grid(True, alpha=0.3)
ax2.set_xlim(15, 40)

fig.suptitle("Konversi Kelembaban Relatif ke Absolut — Kondisi Tropis Indonesia",
             fontsize=13, fontweight="bold", y=1.01)
plt.tight_layout()
plt.savefig("/work/humidity_conversion.png", dpi=150, bbox_inches="tight")
print("\nPlot disimpan ke humidity_conversion.png")

snippet-6

Panel kiri menunjukkan bahwa pada RH yang sama, kelembaban absolut naik secara hampir eksponensial seiring suhu — titik Jakarta (32°C, 65%) mendarat di sekitar 21–22 g/m³, nilai yang sesuai dengan pengukuran radiosonde di stasiun-stasiun Indonesia. Panel kanan memperlihatkan kurva \(e_s(T)\) Bolton (1980) sebagai batas atas tekanan uap yang mungkin pada setiap suhu; garis putus-putus untuk RH 60%, 80%, dan 100% adalah irisan proporsional dari kurva tersebut.

Fungsi rh_to_absolute_humidity() yang kita buat bisa langsung dipakai di pipeline data nyata. Beberapa langkah lanjutan yang natural:

  • Integrasi dengan xarray: wrap fungsi di atas dengan xr.apply_ufunc() untuk memproses gridded ERA5 dengan dimensi lat/lon/time sekaligus.
  • Hitung dewpoint dari RH: masalah inversi — gunakan formula Bolton secara terbalik untuk mencari \(T_d\) dari \(e\) aktual.
  • Indeks ketidakstabilan: mixing ratio adalah input untuk penghitungan virtual temperature, theta-e, dan indeks CAPE/CIN yang bergantung pada kandungan uap air absolut.

Eksplorasi artikel meteorologi lainnya di meteo.my.id (https://meteo.my.id).

Referensi

Tidak ada komentar:

Posting Komentar