Rumah  >  Artikel  >  hujung hadapan web  >  Pengalaman GSoC Saya : Projek PEcAn

Pengalaman GSoC Saya : Projek PEcAn

WBOY
WBOYasal
2024-08-22 18:52:33539semak imbas

My GSoC Experience : PEcAn Project

Mengenai PEcAN:

Penganalisis Ekosistem Ramalan (PEcAn) ialah sistem aliran kerja saintifik untuk mengurus sejumlah besar data alam sekitar yang tersedia untuk umum dan sistem asimilasi data Bayesian untuk mensintesis maklumat ini dalam model ekosistem terkini.

Ringkasan Projek

Organisasi: Projek PecAn

Mentor: Christopher Black (#infotroph), Shashank Singh(#moki1202)

Penyumbang: Abhinav Pandey (#Sweetdevil144)

Tempoh Projek : 350 jam

Tajuk Projek : Optimumkan PEcAn untuk kegunaan tunggal
pakej

Terima kasih banyak, Chris, kerana mendengar dengan teliti pendekatan saya dan memperhalusinya dengan cara yang lebih baik !!

Terima kasih khas kepada mentor lain juga :David LeBauer, Shashank Singh dan Michael Dietze

Mengenai Projek:

Objektif projek ini adalah untuk meningkatkan Projek PEcAn dengan mengoptimumkan modulnya untuk kegunaan kendiri. Walaupun rangka kerja PEcAn yang teguh dan modul yang saling berkaitan, terdapat keperluan yang semakin meningkat untuk menjadikan modul ini boleh dikendalikan secara bebas. Peralihan ini penting untuk memudahkan penggunaan modul, ujian dan pembangunan, menjadikan sistem lebih mudah diakses dan cekap untuk pengguna dan penyumbang. Tumpuan adalah pada mengoptimumkan modul untuk kegunaan kendiri, meningkatkan kebolehkendalian individu mereka dalam rangka kerja saling berkaitan PEcAn. Keutamaan utama kami ialah "melonggarkan semula gandingan ini" dengan menyemak semula reka bentuk dan antara muka pakej PEcAn.

Gambaran keseluruhan

Musim panas ini, saya mendapat keistimewaan untuk menyertai Google Summer of Code, 2024 dengan PEcAn Project. Di antara ramai calon berbakat yang dipilih untuk program tahun ini, saya adalah antara mereka yang dipilih untuk menyumbang kepada Perisian Sumber Terbuka dunia sebenar yang mempunyai kesan global yang ketara. Apabila program semakin hampir ke penghujungnya, saya ingin merenung kembali apa yang telah saya pelajari sepanjang tiga bulan lalu dengan PEcAn.

Perjalanan saya dengan Projek PEcAn bermula jauh sebelum tempoh GSoC rasmi, dengan PR pertama saya digabungkan seawal Disember 2023—lima bulan lebih awal daripada garis masa GSoC. Penglibatan awal ini memberi saya pengalaman berharga mengemudi seni bina PEcAn yang rumit dan reka bentuk pangkalan kod yang kompleks. Ia juga membolehkan saya membiasakan diri dengan kerja organisasi, terutamanya dalam bahasa pengaturcaraan R. Sejak hari-hari awal itu, saya tidak sabar-sabar untuk menyelami projek ini dengan lebih mendalam dan membuat sumbangan yang bermakna.

Pelajaran paling berharga yang GSoC telah mengajar saya ialah: Kita belajar dengan melakukan, dan kita membuka jalan ke hadapan walaupun ketika perjalanan ke hadapan kelihatan tidak pasti. Pengalaman saya semasa perjalanan GSoC ini telah menunjukkan kepada saya bahawa apa Saya pada mulanya merancang untuk mencapai hanyalah sebahagian kecil daripada apa yang akhirnya saya capai.

Dengan 15+ permintaan tarik, 6+ isu diselesaikan, dan berjam-jam yang dihabiskan dalam mesyuarat dengan mentor saya, saya mendapati diri saya sejajar secara progresif dengan matlamat PEcAn Projek.


Sumbangan Saya kepada PEcAn

(Semua kerja saya yang akan saya bincangkan dipautkan di bahagian bawah halaman ini.)

Tempoh GSoC telah distrukturkan kepada tiga fasa utama:

  1. Fasa 1: Tempoh Ikatan Komuniti : Semasa fasa ini, saya membiasakan diri dengan projek dan membina hubungan yang kukuh dengan mentor saya. Kali ini membolehkan saya memperoleh pemahaman yang kukuh tentang matlamat dan selok-belok projek. Saya bermula dengan membuat perubahan kecil pada pangkalan kod sambil memahami aspek utama PEcAn. Usaha saya tertumpu pada pengumpulan data yang kemudiannya akan menjadi penting dalam menangani cabaran projek.

  2. Fasa 2: Menyahganding Pakej PEcAn : Tugas utama saya dalam fasa ini adalah untuk memulakan penyahgandingan pakej PEcAn, dengan titik permulaan saya ialah pakej data.land. Ini melibatkan pemeriksaan dengan teliti pakej yang memerlukan penambahbaikan dalam modulariti dan fleksibiliti dalam projek. Semasa fasa ini, saya mengalih keluar kebergantungan data.land daripada pakej data.atmosphere dengan memikirkan contoh kecil kebergantungan dan mengubah halanya kembali ke panggilan DB sebaliknya yang mengakibatkan pengurangan kebergantungan keseluruhan. Di samping itu, saya juga melakukan beberapa perubahan kecil untuk Tambah suite ujian untuk met2Cf.csv.R dan Alih keluar fungsi db.site.lat.lon dan gantikan semua penggunaan dengan query.site . Saya juga menggabungkan berbilang panggilan DB yang seterusnya membantu dalam mengurangkan panggilan pangkalan data yang dibuat dalam sistem kami dan seterusnya mengurangkan kependaman pada DB. Saya juga mencipta skrip python tersuai untuk menentukan fungsi Orphaned yang tidak digunakan dalam pangkalan kod lagi dan melakukan pembersihan kejadian sedemikian.

  3. Fasa 3: Mempertingkatkan Fungsi convert_input : Fasa ini terbukti paling mencabar kerana kerumitan fungsi convert_input dalam PEcAn. Saya menumpukan masa yang penting untuk mencari pendekatan yang baik untuk menangani pelbagai isu yang kami hadapi. Walau bagaimanapun, fasa ini juga merupakan yang paling produktif, terima kasih kepada pemahaman yang lebih mendalam tentang pangkalan kod yang saya peroleh setakat ini.

Semasa fasa ini, saya mencadangkan fungsi baharu untuk mengambil semula site.info secara pilihan oleh #3324, meningkatkan fleksibiliti. Selain itu, saya membantu memfaktorkan semula dan mengalih keluar pakej BrownDog yang kini dihentikan, memastikan pangkalan kod yang bersih dan moden melalui #3348. Saya berjaya mengalih keluar semua contoh BrownDog sambil membincangkan perubahan ini secara aktif dengan mentor saya.

Untuk meningkatkan lagi modulariti fungsi convert_input, saya memutuskan untuk memecahkannya kepada fungsi pembantu yang lebih kecil dalam #3338. Penstrukturan semula ini memudahkan navigasi dan pemahaman pangkalan kod, menjadikannya lebih mudah untuk pembangun masa depan untuk bekerja dengannya.

Sepanjang tempoh GSoC, saya mengadakan mesyuarat tetap (setiap hari Rabu) dengan mentor saya untuk membincangkan kemajuan mingguan kami, rancangan masa depan dan strategi untuk meneruskan projek. Bantuan tetap daripada mentor saya ini sangat membantu saya menumpukan perhatian saya pada projek.

Saya amat berterima kasih kepada seluruh pasukan PEcAn kerana memberikan saya peluang yang luar biasa ini untuk berkembang, belajar dan bekerjasama dengan orang lain. Apa yang menjadikan GSoC unik ialah kegembiraan dalam perjalanan itu sendiri. Saya bukan sahaja memperoleh kemahiran dalam bahasa pengaturcaraan baharu, tetapi saya juga berkembang sebagai seorang insan, melangkah keluar dari zon selesa saya melalui mesyuarat mingguan dan interaksi dengan mentor saya. Pengalaman ini telah berubah, secara teknikal dan peribadi.

Seterusnya, saya merancang untuk terus bekerja dengan PEcAN dalam jangka masa panjang dan meningkatkan keupayaan PEcAN dalam apa jua kapasiti yang saya boleh !! Itu bungkus buat masa ini!! ??

Senarai PR Saya dalam Projek PEcAn ?

ID Tajuk Negeri 3359 Kemas kini DEV-INTRO.md
IDs Title State
3359 Update DEV-INTRO.md MERGED
3312 Combine multiple PEcAn.db calls in a single query MERGED
3308 Remove db.site.lat.lon function and replace all usages with query.site MERGED
3301 Add test suites for met2Cf.csv.R MERGED
3300 Remove dependency on data.atmosphere from data.land MERGED
3291 Add Script to Identify Orphaned Functions in Codebase MERGED
3290 Remove unused inst/met2CF.R MERGED
3283 Update API endpoint URLs MERGED
3281 Fix file extension search in met2model.SIPNET function MERGED
3276 Update Documentation for cos_solar_zenith_angle Function MERGED
3246 Fix Typo Errors and Errors in Markdown documentations MERGED
3243 Update book.yml MERGED
3348 Remove Browndog OPEN
3338 Refactor convert_input to Perform tasks via helper function OPEN
3324 Add function to Optionally get site.info if not present OPEN
3319 Refactor met.process and dbfiles OPEN
BERGABUNG 3312 Gabungkan berbilang panggilan PEcAn.db dalam satu pertanyaan BERGABUNG 3308 Alih keluar fungsi db.site.lat.lon dan gantikan semua penggunaan dengan query.site BERGABUNG 3301 Tambah suite ujian untuk met2Cf.csv.R BERGABUNG 3300 Alih keluar kebergantungan pada data.atmosphere daripada data.land BERGABUNG 3291 Tambah Skrip untuk Mengenalpasti Fungsi Yatim dalam Pangkalan Kod BERGABUNG 3290 Alih keluar inst/met2CF.R yang tidak digunakan BERGABUNG 3283 Kemas kini URL titik akhir API BERGABUNG 3281 Betulkan carian sambungan fail dalam fungsi met2model.SIPNET BERGABUNG 3276 Kemas kini Dokumentasi untuk Fungsi cos_solar_zenith_angle BERGABUNG 3246 Betulkan Ralat Taip dan Ralat dalam dokumentasi Markdown BERGABUNG 3243 Kemas kini book.yml BERGABUNG 3348 Alih keluar Browndog BUKA 3338 Refactor convert_input to Melaksanakan tugas melalui fungsi pembantu BUKA 3324 Tambah fungsi untuk Dapatkan site.info secara pilihan jika tidak ada BUKA 3319 Refactor met.process dan dbfiles BUKA

Atas ialah kandungan terperinci Pengalaman GSoC Saya : Projek PEcAn. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn