Model biomassa dan neraca air
Model ini merupakan tugas akhir mata kuliah Model Simulasi Pertanian di Semester 6. Melanjutkan model sebelumnya yang telah diajarkan pada praktikum, kali ini saya menambahkan beberapa variable sehingga pengguna dapat:
Memilih jenis tanaman, yang sudah dilengkapi dengan Suhu Dasar dan Heat Unit.
Memilih tanggal tanam
Memilih jenis tanah, yang berkaitan dengan Titik Layu Permanen dan Kapasitas Lapang
Menentukan jenis irigasi
Menentukan nilai Indeks Luas Daun, Kedalaman Tanah, Kadar Air Tanah di awal tanam, Kemiringan Lahan
Selain itu pengguna juga dapat mencoba data iklim dari beberapa stasiun cuaca yang disediakan, seperti gambar di bawah
Gambar di bawah ini merupakan tampilan dari model biomassa dan neraca air.
Script di bawah ini digunakan untuk menghitung neraca air pada model.
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' Script untuk menghitung neraca air ' Benny Istanto, G241010143 ' Tugas akhir matakuliah Model Simulasi Pertanian, Semester 6 ' 8 Juli 2004, Kampus IPB Baranangsiang '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 'Intersepsi Tajuk Tanaman: If lai(i) < 3 Then Ic(i) = 0.423 * lai(i) Else Ic(i) = 1.27 If ch(i) < Ic(i) Then Ic(i) = ch(i) If a < 0 Then Ic(i) = 0 'Curah Hujan Effektif CHeff(i) = ch(i) - Ic(i) If a < 0 Then CHeff(i) = 0 'Run off fungsi kemiringan dan CHeff: Roff(i) = Sin(3.14 / 180 * slope) * CHeff(i) 'Evapotranspirasi (Penman): f1 = 0.64 * (1.054 * v(i)) del = 208.84 ETP(i) = (del * 0.5 * q(i) + f1 * (100 - rh(i)) / 100 * 2000) / (del * 66.1) If a < 0 Then ETP(i) = 0 'Evaporasi (Ea) dan Transpirasi (Ta): Em(i) = ETP(i) * Exp(-0.5 * lai(i)) Tm(i) = ETP(i) - Em(i) If kat(i) < kl Then If kat(i) > tlp Then Ta(i) = Tm(i) * (kat(i) - tlp) / (kl - tlp) Else Ta(i) = 0 Else Ta(i) = Tm(i) End If If kat(i) < (tlp / 2) Then Ea(i) = 0 Else Ea(i) = Em(i) 'Kadar Air Tanah (mm): kat(i) = kat(i - 1) + ir(i) + CHeff(i) - Roff(i) - Ea(i) - Ta(i) If a < 0 Then kat(i) = 0 'Irigasi If kat(i) > tlp Then ir(i) = 0 ElseIf optminggu.Value = True Then If a Mod 7 = 0 Then ir(i) = txtir.text Else ir(i) = 0 ElseIf opt2minggu.Value = True Then If a Mod 14 = 0 Then ir(i) = txtir.text Else ir(i) = 0 ElseIf optnon.Value = True Then ir(i) = 0 ElseIf optoto.Value = True Then If kat(i) < (tlp + (0.5 * (kl - tlp))) Then ir(i) = (tlp + (0.5 * (kl - tlp))) - kat(i) If a < 0 Then ir(i) = 0 End If 'Perkolasi: If kat(i) > kl Then Pc(i) = kat(i) - kl kat(i) = kl Else Pc(i) = 0 End If If kat(i) < 0 Then kat(i) = 0