Repositori untuk menyimpan material Long Course STMKGxHMGI tentang Geophysical Python for Seismic Data Analysis

Overview

header_image

Long Course

"Geophysical Python for Seismic Data Analysis"

Instruktur: Dr.rer.nat. Wiwit Suryanto, M.Si

Dipersiapkan oleh: Anang Sahroni

Waktu:

Sesi 1: 18 September 2021

Sesi 2: 25 September 2021

Tempat: Zoom Meeting

Agenda: Memberikan wawasan kepada mahasiswa Geofisika dalam pengolahan data Geofisika: pemrosesan data seismik menggunakan python.

Luaran

  1. Peserta dapat melakukan instalasi Python
  2. Peserta dapat membuat dan menggunakan Jupyter Notebook
  3. Peserta dapat membaca, memfilter, dan mengeplot peta dan statistik gempa bumi menggunakan modul umum Python seperti numpy, scipy, dan matplotlib
  4. Peserta dapat menentukan parameter gempa menggunakan metode yang sederhana pada Python memanfaatkan modul seismologi seperti obspy

Peralatan untuk peserta

Laptop ataupun Personal Computer (PC) yang terkoneksi dengan internet.
Jika hendak menjalankan kode tanpa instalasi bisa melalui: Binder

Data:

  1. Katalog Gempa Bumi Badan Meteorologi Klimatologi dan Geofisika (BMKG)
  2. Titik-titik Stasiun untuk berbagai jaringan seismometer

Jadwal

Topik
PRESESI: 17 September 2021
Instalasi Python dalam Miniconda atau PDF
1. Instalasi Miniconda pada Windows, Linux, ataupun MacOS
2. Menjalankan Python Console melalui Anaconda Prompt
3. Menulis kode dalam editor (Integrated Development Environment/IDE) kode dan menjalankannya melalui Anaconda Prompt
4. Pengenalan IDE dan beberapa contohnya
5. Menginstall pandas, numpy, matplotlib, scipy, Cartopy, dan notebook menggunakan Anaconda Prompt pada virtual environment
6. Menjalankan kode sederhana di Jupyter Notebook
7. Memanggil fungsi bawaan python (math), mencoba, dan memanggil bantuan (help) untuk masing-masing fungsi
8. Memberikan catatan dan gambar dalam bentuk Markdown di Jupyter Notebook
9. Menyimpan notebook pada repositori Github dan menambahkan ke Binder
10. Mengupdate notebook dan melakukan commit ke repositori
EXERCISE: Membuat panduan instalasi Miniconda pada Jupyter Notebook dan menambahkannya di repositori Github individu.
SESI 1: 18 September 2021
Introduction to geophysical programming using python: basic python for seismology Materi 1 (PDF/Open In Colab) dan Materi 2 (PDF/Open In Colab) atau Binder
1. Membaca data katalog menggunakan pandas
2. Membedakan jenis-jenis data antar kolom pada katalog (String, Integer, dan Float)
3. Mengambil salah satu kolom ke dalam bentuk List dan mempelajari metode-metode pada List (indexing, slicing, append, dan lain sebagainya)
4. Menggunakan for loop untuk mengkonversi format String menjadi datetime untuk waktu kejadian
5. Menggunakan conditional untuk memfilter katalog berdasarkan besar magnitudo atau waktu
6. Membuat fungsi untuk memfilter katalog berdasarkan kedalaman dan menyimpannya menjadi modul siap impor
7. Membuat plot magnitudo dengan jumlah kejadian dan waktu kejadian (dapat berupa G-R Plot atau plot sederhana)
8. Mengkombinasikan List latitude dan longitude untuk mengeplot episenter
9. Mengintegrasikan kolom magnitude untuk membedakan ukuran titik titik plot
10. Mengintegrasikan kolom kedalaman untuk membedakan warna titik plot
11. Menambahkan basemap pada plot Menggunakan Cartopy
EXERCISE: Membaca file titik stasiun, memfilter berdasarkan network, dan mengeplotnya bersama dengan titik-titik gempa.
SESI 2: 25 September 2021
Source Mechanism and processing seismic data with python : Determine earthquake epicenter, hypocenter, and type of P Wave
Jika menggunakan komputer lokal silahkan install modul yang dibutuhkan pada sesi dua dengan cara: conda install -c conda-forge xarray rasterio tqdm
1. Menentukan episenter dengan metode lingkaran Materi
2. Menentukan hiposenter dengan metode Geiger dan probabilistik Materi 1, Materi 2
3. Pengenalan pengolahan waveform dengan obspy Materi

Software untuk diinstall

  1. Miniconda. Instalasi Python akan dilakukan menggunakan Anaconda Distribution dalam bentuk lite yaitu Miniconda. Dengan Miniconda instalasi paket atau modul pendukung untuk Python akan lebih mudah dan tertata. Unduh installer Miniconda, pilih untuk versi Python 3.8.
  2. Editor teks agar penulisan kode lebih mudah karena biasanya sudah disertai pewarnaan kode (syntax highlighting) dan indentasi otomatis. Editor teks dapat menggunakan Notepad++, SublimeText, atau menggunakan IDE yang lebih kompleks seperti PyCharm dan Visual Studio Code.

Software-software yang dibutuhkan tersebut sudah harus diinstall sebelum proses pemberian materi dimulai karena ukurannya cukup besar.

Akun Github

Peserta workshop dianjurkan mendaftarkan akun GitHub melalui Daftar Github

Bacaan Tambahan:

Peserta dapat belajar pada Lesson di Software Carpentry dengan materi yang mendalam dan metode yang sama yaitu learning by doing.

Referensi

Panduan ini disusun terinspirasi dari materi pada Software Carpentry, materi inversi hiposenter probabilistik Igel & Geßele di Seismo Live,panduan workshop Leonardo Uieda pada repositori, serta Lisa Itauxe Python for ES Student berikut ini.

You might also like...
Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.
Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

 A data analysis using python and pandas to showcase trends in school performance.
A data analysis using python and pandas to showcase trends in school performance.

A data analysis using python and pandas to showcase trends in school performance. A data analysis to showcase trends in school performance using Panda

A collection of learning outcomes data analysis using Python and SQL, from DQLab.
A collection of learning outcomes data analysis using Python and SQL, from DQLab.

Data Analyst with PYTHON Data Analyst berperan dalam menghasilkan analisa data serta mempresentasikan insight untuk membantu proses pengambilan keputu

DaDRA (day-druh) is a Python library for Data-Driven Reachability Analysis.
DaDRA (day-druh) is a Python library for Data-Driven Reachability Analysis.

DaDRA (day-druh) is a Python library for Data-Driven Reachability Analysis. The main goal of the package is to accelerate the process of computing estimates of forward reachable sets for nonlinear dynamical systems.

Python-based Space Physics Environment Data Analysis Software

pySPEDAS pySPEDAS is an implementation of the SPEDAS framework for Python. The Space Physics Environment Data Analysis Software (SPEDAS) framework is

Python Project on Pro Data Analysis Track

Udacity-BikeShare-Project: Python Project on Pro Data Analysis Track Basic Data Exploration with pandas on Bikeshare Data Basic Udacity project using

Sentiment analysis on streaming twitter data using Spark Structured Streaming & Python
Sentiment analysis on streaming twitter data using Spark Structured Streaming & Python

Sentiment analysis on streaming twitter data using Spark Structured Streaming & Python This project is a good starting point for those who have little

 Project under the certification
Project under the certification "Data Analysis with Python" on FreeCodeCamp

Sea Level Predictor Assignment You will anaylize a dataset of the global average sea level change since 1880. You will use the data to predict the sea

Larch: Applications and Python Library for Data Analysis of X-ray Absorption Spectroscopy (XAS, XANES, XAFS, EXAFS), X-ray Fluorescence (XRF) Spectroscopy and Imaging

Larch: Data Analysis Tools for X-ray Spectroscopy and More Documentation: http://xraypy.github.io/xraylarch Code: http://github.com/xraypy/xraylarch L

Releases(v1.0.0)
Owner
Anang Sahroni
newbie/amateur
Anang Sahroni
Show you how to integrate Zeppelin with Airflow

Introduction This repository is to show you how to integrate Zeppelin with Airflow. The philosophy behind the ingtegration is to make the transition f

Jeff Zhang 11 Dec 30, 2022
Option Pricing Calculator using the Binomial Pricing Method (No Libraries Required)

Binomial Option Pricing Calculator Option Pricing Calculator using the Binomial Pricing Method (No Libraries Required) Background A derivative is a fi

sammuhrai 1 Nov 29, 2021
This is a repo documenting the best practices in PySpark.

Spark-Syntax This is a public repo documenting all of the "best practices" of writing PySpark code from what I have learnt from working with PySpark f

Eric Xiao 447 Dec 25, 2022
The official repository for ROOT: analyzing, storing and visualizing big data, scientifically

About The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficien

ROOT 2k Dec 29, 2022
Pipeline and Dataset helpers for complex algorithm evaluation.

tpcp - Tiny Pipelines for Complex Problems A generic way to build object-oriented datasets and algorithm pipelines and tools to evaluate them pip inst

Machine Learning and Data Analytics Lab FAU 3 Dec 07, 2022
Efficient matrix representations for working with tabular data

Efficient matrix representations for working with tabular data

QuantCo 70 Dec 14, 2022
MS in Data Science capstone project. Studying attacks on autonomous vehicles.

Surveying Attack Models for CAVs Guide to Installing CARLA and Collecting Data Our project focuses on surveying attack models for Connveced Autonomous

Isabela Caetano 1 Dec 09, 2021
Desafio 1 ~ Bantotal

Challenge 01 | Bantotal Please read the instructions for the challenge by selecting your preferred language below: Español Português License Copyright

Maratona Behind the Code 44 Sep 28, 2022
Pip install minimal-pandas-api-for-polars

Minimal Pandas API for Polars Install From PyPI: pip install minimal-pandas-api-for-polars Example Usage (see tests/test_minimal_pandas_api_for_polars

Austin Ray 6 Oct 16, 2022
A model checker for verifying properties in epistemic models

Epistemic Model Checker This is a model checker for verifying properties in epistemic models. The goal of the model checker is to check for Pluralisti

Thomas Träff 2 Dec 22, 2021
AWS Glue ETL Code Samples

AWS Glue ETL Code Samples This repository has samples that demonstrate various aspects of the new AWS Glue service, as well as various AWS Glue utilit

AWS Samples 1.2k Jan 03, 2023
Evaluation of a Monocular Eye Tracking Set-Up

Evaluation of a Monocular Eye Tracking Set-Up As part of my master thesis, I implemented a new state-of-the-art model that is based on the work of Che

Pascal 19 Dec 17, 2022
Data Analytics: Modeling and Studying data relating to climate change and adoption of electric vehicles

Correlation-Study-Climate-Change-EV-Adoption Data Analytics: Modeling and Studying data relating to climate change and adoption of electric vehicles I

Jonathan Feng 1 Jan 03, 2022
A Python package for Bayesian forecasting with object-oriented design and probabilistic models under the hood.

Disclaimer This project is stable and being incubated for long-term support. It may contain new experimental code, for which APIs are subject to chang

Uber Open Source 1.6k Dec 29, 2022
Pandas-based utility to calculate weighted means, medians, distributions, standard deviations, and more.

weightedcalcs weightedcalcs is a pandas-based Python library for calculating weighted means, medians, standard deviations, and more. Features Plays we

Jeremy Singer-Vine 98 Dec 31, 2022
BigDL - Evaluate the performance of BigDL (Distributed Deep Learning on Apache Spark) in big data analysis problems

Evaluate the performance of BigDL (Distributed Deep Learning on Apache Spark) in big data analysis problems.

Vo Cong Thanh 1 Jan 06, 2022
Pypeln is a simple yet powerful Python library for creating concurrent data pipelines.

Pypeln Pypeln (pronounced as "pypeline") is a simple yet powerful Python library for creating concurrent data pipelines. Main Features Simple: Pypeln

Cristian Garcia 1.4k Dec 31, 2022
The Master's in Data Science Program run by the Faculty of Mathematics and Information Science

The Master's in Data Science Program run by the Faculty of Mathematics and Information Science is among the first European programs in Data Science and is fully focused on data engineering and data a

Amir Ali 2 Jun 17, 2022
Transform-Invariant Non-Negative Matrix Factorization

Transform-Invariant Non-Negative Matrix Factorization A comprehensive Python package for Non-Negative Matrix Factorization (NMF) with a focus on learn

EMD Group 6 Jul 01, 2022
Vectorizers for a range of different data types

Vectorizers for a range of different data types

Tutte Institute for Mathematics and Computing 69 Dec 29, 2022