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
A real data analysis and modeling project - restaurant inspections

A real data analysis and modeling project - restaurant inspections Jafar Pourbemany 9/27/2021 This project represents data analysis and modeling of re

Jafar Pourbemany 2 Aug 21, 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
Hydrogen (or other pure gas phase species) depressurization calculations

HydDown Hydrogen (or other pure gas phase species) depressurization calculations This code is published under an MIT license. Install as simple as: pi

Anders Andreasen 13 Nov 26, 2022
PySpark bindings for H3, a hierarchical hexagonal geospatial indexing system

h3-pyspark: Uber's H3 Hexagonal Hierarchical Geospatial Indexing System in PySpark PySpark bindings for the H3 core library. For available functions,

Kevin Schaich 12 Dec 24, 2022
Bearsql allows you to query pandas dataframe with sql syntax.

Bearsql adds sql syntax on pandas dataframe. It uses duckdb to speedup the pandas processing and as the sql engine

14 Jun 22, 2022
Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database

Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database, using a set of "harvesters", whose job it

Battery Intelligence Lab 20 Sep 28, 2022
A neural-based binary analysis tool

A neural-based binary analysis tool Introduction This directory contains the demo of a neural-based binary analysis tool. We test the framework using

Facebook Research 208 Dec 22, 2022
Cleaning and analysing aggregated UK political polling data.

Analysing aggregated UK polling data The tweet collection & storage pipeline used in email-service is used to also collect tweets from @britainelects.

Ajay Pethani 0 Dec 22, 2021
A Numba-based two-point correlation function calculator using a grid decomposition

A Numba-based two-point correlation function (2PCF) calculator using a grid decomposition. Like Corrfunc, but written in Numba, with simplicity and hackability in mind.

Lehman Garrison 3 Aug 24, 2022
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
Hidden Markov Models in Python, with scikit-learn like API

hmmlearn hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models. For supervised learning learning of HMMs and

2.7k Jan 03, 2023
Orchest is a browser based IDE for Data Science.

Orchest is a browser based IDE for Data Science. It integrates your favorite Data Science tools out of the box, so you don’t have to. The application is easy to use and can run on your laptop as well

Orchest 3.6k Jan 09, 2023
Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day.

Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day. Correlate the market activity with the Apple Keynote presentations.

2 Jan 04, 2022
Business Intelligence (BI) in Python, OLAP

Open Mining Business Intelligence (BI) Application Server written in Python Requirements Python 2.7 (Backend) Lua 5.2 or LuaJIT 5.1 (OML backend) Mong

Open Mining 1.2k Dec 27, 2022
PyPSA: Python for Power System Analysis

1 Python for Power System Analysis Contents 1 Python for Power System Analysis 1.1 About 1.2 Documentation 1.3 Functionality 1.4 Example scripts as Ju

758 Dec 30, 2022
Python utility to extract differences between two pandas dataframes.

Python utility to extract differences between two pandas dataframes.

Jaime Valero 8 Jan 07, 2023
INF42 - Topological Data Analysis

TDA INF421(Conception et analyse d'algorithmes) Projet : Topological Data Analysis SphereMin Etant donné un nuage des points, ce programme contient de

2 Jan 07, 2022
Using Python to derive insights on particular Pokemon, Types, Generations, and Stats

Pokémon Analysis Andreas Nikolaidis February 2022 Introduction Exploratory Analysis Correlations & Descriptive Statistics Principal Component Analysis

Andreas 1 Feb 18, 2022
Elementary is an open-source data reliability framework for modern data teams. The first module of the framework is data lineage.

Data lineage made simple, reliable, and automated. Effortlessly track the flow of data, understand dependencies and analyze impact. Features Visualiza

898 Jan 09, 2023