SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
© 2014 Mohammad Fadli
Python for Earth
Mohammad Fadli
Days before python
(back in college era)
• Using fortran for numerical programming
• Using matlab for matrix operational or data
plotting
• Using excel for data processing
• Using surfer or matlab for plotting
• Using arcmap or or for spatial data processing
• Using delphi for UI
• No database (all textfile matrix)
Create matrix
do j = 1, 3
do i = 1, 3
A(i,j) = real(i)/real(j)
blah.. Blah ..
read text file ..
write text file ..
enddo
enddo
Matlab
• Matrix Operation
• a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
• a(2,5)
Courtesy of Mathworks Inc.
Plot stuff
Courtesy of Golden Software Inc.
Courtesy of Embarcadero Technologies, Inc.
Courtesy of ESRI, Inc.
Hydrodynamics model
Courtesy of TideTech, Inc.
Courtesy of Kementerian Kelautan dan Perikanan
Courtesy of Kementerian Kelautan dan Perikanan
Courtesy of Kementerian Kelautan dan Perikanan
Courtesy of Kementerian Kelautan dan Perikanan
Courtesy van oord nv
• Build model for
pollutant trajectory
Grid Analysis and Display System (GrADS)
Courtesy of Weather & Climate Prediction Lab. ITB
Do something different!
• Install freeBSD and runs model on freeBSD
• Install mapserver on freeBSD
• Using grads for plotting
• Using fortran for data processing
• Using php for web (still)
• Parallel computing (not yet)
First time using python ArcGIS ArcPy
Courtesy of ESRI Inc.
Heboh Python (Python Fuss) :p
• A clear and readable syntax.
• Modules can be easily written in C, C++.
• It can be used on all major platforms (Windows,
Linux/Unix, Mac etc.)
• Easy to learn.
• And it is free.
• Python this, python that
Nowadays
• ANUGA for Hydrodynamics model
• EQRM for Earthquakes model
• Python for Climate Data Analysis Tools (CDAT)
• GDAL library for spatial data processing
• Django, Grok, Pylons, web2py (and other tons of
web library) for web
• Psycopg for postgre database connection
• PyMPI for Clusters computing and parallelization
Science with Python: NumPy, SciPy and Matplotlib Courtesy of Andrew Walker
Science with Python: NumPy, SciPy and Matplotlib Courtesy of Andrew Walker
SciPy: a collection of useful modules
Courtesy of Andrew Walker
• Python enables users to do more and better science.
• Python is a modern, interpreted, object-oriented, open-source
language used in all kinds of software engineering.
• Python is now a robust integration platform for all kinds of atmospheric
sciences work, from data analysis to distributed computing, and
graphical user interfaces to geographical information systems.
• Python has a concise but natural syntax for both arrays and nonarrays,
making programs exceedingly clear and easy to read; as the saying
goes, “Python is executable pseudocode.”
• Include visualization, numerical libraries, interconnection with compiled
and other languages, memory caching, Web services, mobile and
desktop graphical user interface programming, and others.
Another advantages
• Several packages exist that handle file formats used by
atmospheric and oceanic sciences users, including netCDF,
HDF4, HDF-EOS 2, and GRIB 1 and 2 (e.g., via the netCDF4-
Python, UV-CDAT, and PyNIO packages).
• Python can be used as a scripting language for
applications such as Unidata’s Integrated Data Viewer,
the NCAR Command Language (via PyNGL), GrADS (via
OpenGrADS), and Esri’s ArcGIS.
Disadvantages
• To be fair, Python has real disadvantages, including the fact that
pure Python code runs much slower than compiled code, there
are fewer scientific libraries compared to Fortran, and
documentation and support for new science users is relatively
sparse.
• There are tools to overcome the speed penalty, the collection of
scientific libraries is growing, and science support resources are
becoming more robust; nevertheless, these are real issues.
• For most Earth science applications, the strengths of Python
outweigh the weaknesses.
What we are doing with python now?
• Try to runs (and optimize) anuga on 128
core HPC
• Optimize and automate earthquake model
• Create our own spatial analysis framework
using GDAL lib
• Prove what John-Wei said
Flood Research 2013:
Domain Pasar Minggu to Manggarai (Segment 1)
• Criteria:
– Major factor only from discharge and
local rainfall
– Homogenous Hydrologic characteristic
27
Manggarai Detail Domain
Katulampa
Courtesy of PT Reasuransi Maipark Indonesia 2013
Model Hidrodinamika 2D
AnuGA
ANUGA adalah model hidrodinamika Free and Open Source (FOSS) yang dikembangkan
oleh Australian National University dan Geoscience Australian; metode pemecahan
persamaan menggunakan finite volume; dapat diunduh dari http://anuga.anu.edu.au/;
Salah satu kelebihan ANUGA : dapat meng-input-kan hujan pada domain
Kenapa Anuga:
1. Public Domain
2. Open Source
3. Parallel
4. Finite Volume  Shock Capturing
Capability  Hydraulic Jump
Anuga for Jakarta Flood 2013
2013 flood simulation
Bukit Duri dan Kampung Melayu Kalibata
Courtesy of PT Reasuransi Maipark Indonesia 2014
Hasil Simulasi Banjir Jakarta
Simulasi Banjir Jakarta 2013
Hadi, dkk., 2013
Input Curah Hujan Spasial, Robert, 2013
Anuga dapat
mengakomodasi
simulasi banjir dengan
input curah hujan
spasial, simulasi paralel
Dan input debit serta
TMA
Courtesy of PT Reasuransi Maipark Indonesia 2014
Courtesy of LAPAN
Courtesy of LAPAN
Rendaman Max. vs Data UAV LAPAN
Courtesy of LAPAN, PT Reasuransi Maipark Indonesia
Courtesy of PT Reasuransi Maipark Indonesia
K.H. Abdullah Syafei
Foto: Kantor Berita ANTARA
(19/01/2014)
Courtesy of PT Reasuransi Maipark Indonesia
Depo, Bukit Duri
(19/01/2014)
Foto: Kantor Berita ANTARA
Bukit Duri
Bukit Duri (Depo & SMA 8)
Depo
SMA 8
Depo
Depo
Depo
SMA 8
SMA 8
(16/01/2013) Foto: Kantor Berita ANTARA
(19/01/2014) Foto diambil dari Heli PMI
Courtesy of PT Reasuransi Maipark Indonesia
K.H. Abdullah Syafei, (19/01/2014), Foto: ANTARA
Courtesy of PT Reasuransi Maipark Indonesia
Jembatan Layang Kalibata, 19/1/2014, Foto: ANTARA
Courtesy of PT Reasuransi Maipark Indonesia
Jl. Jatinegara
barat raya
Depo
Depo
Jatinegara
Bukit Duri
Courtesy of PT Reasuransi Maipark Indonesia
Rawajati
Kampung Melayu
Diambil dari helikopter PMI, 16/1/2013
Thunder System
Summary Specification
Nodes 4 nodes
Cores 16 cores (4 cores/node)
Processors
(per nodes)
AMD FX (tm) – 8350, 4 Ghz
Memory
(per nodes)
8 GB DDR 3, 800 Mhz
Scenario: Spin up scenario for 16.67 hours
Domain : Full Jakarta consist of Ciliwung River
(Bogor-Pluit)
Even though faster
simulation could be
performed, we have to
notify that low
resolution mesh is used
in this case
Scenario: 15-18 January 2013 (3 days)
Domain : Ciliwung River (Pasar Minggu-Manggarai)
“The computation
speed may increase as
the water volume inside
of the domain is
increasing”
Courtesy of WCPL-ITB
National Computational Infrastructure (NCI), Australia
Summary Specification
Nodes 3592 node
Cores 57,472 cores (16 cores/node)
Model Fujitsu Server Primergy Cx 250 S2
Processors 2 x intel Sandy E5-2600 (8-core, 2.6 GHz)
Memory 8 GB DDR 3, 1600 MHz
2395 nodes ->32 GB
1125 nodes -> 64 GB
72 nodes -> 128 GB
TOTAL : 158 TB
Harddisk 500 GB 7200 rpm SATA
www.nci.org.au, www.fujitsu.com
Cluster Raijin, NCI
Domain 2 :Jakarta
Approximately 10 rivers will be included in
our scenario
Approximately total mesh element
number: 3.300.940 triangles
Problem in computation time while using
large number of mesh elements could be
tackled by employing large core number
of machine used for simulation
NCI Building
Australia National University
Contoh :
Reference
• http://www.johnny-lin.com/pyintro/
• http://jakevdp.github.io/blog/2013/03/23/matplotlib-and-the-future-of-
visualization-in-python/
• http://greenteapress.com/pythonhydro/pythonhydro.html
• http://resources.arcgis.com/en/communities/python/
• http://arcpy.wordpress.com/page/3/
• http://pyaos.johnny-lin.com/?p=1271
• http://www1.gly.bris.ac.uk/~walker/PythonEarthSci/
• http://conferences.ncl.ac.uk/sciprog/Presentations/python_processing_spyder_v1.0.2.
pdf
• http://numpy.sourceforge.net/numdoc/HTML/numdoc.htm
• http://arcpy.wordpress.com/
grads
• The Grid Analysis and Display System (GrADS) is an
interactive desktop tool that is used for easy access,
manipulation, and visualization of earth science
data.
• Support binary (stream or sequential), GRIB
(version 1 and 2), NetCDF, HDF (version 4 and 5),
and BUFR (for station data).
• Windows & Unix support

Contenu connexe

Tendances

Scalable Deep Learning in ExtremeEarth-phiweek19
Scalable Deep Learning in ExtremeEarth-phiweek19Scalable Deep Learning in ExtremeEarth-phiweek19
Scalable Deep Learning in ExtremeEarth-phiweek19ExtremeEarth
 
Large Scale Graph Processing with Apache Giraph
Large Scale Graph Processing with Apache GiraphLarge Scale Graph Processing with Apache Giraph
Large Scale Graph Processing with Apache Giraphsscdotopen
 
Intro to Machine Learning for GPUs
Intro to Machine Learning for GPUsIntro to Machine Learning for GPUs
Intro to Machine Learning for GPUsSri Ambati
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computingbutest
 
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with SchlumbergerGet Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumbergerinside-BigData.com
 
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterBKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterLinaro
 
Intro to TensorFlow and PyTorch Workshop at Tubular Labs
Intro to TensorFlow and PyTorch Workshop at Tubular LabsIntro to TensorFlow and PyTorch Workshop at Tubular Labs
Intro to TensorFlow and PyTorch Workshop at Tubular LabsKendall
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷Eiji Sekiya
 
Hopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open WorkshopHopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open WorkshopExtremeEarth
 
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves Mabiala
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves MabialaDeep Recurrent Neural Networks for Sequence Learning in Spark by Yves Mabiala
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves MabialaSpark Summit
 
Big Linked Data Federation - ExtremeEarth Open Workshop
Big Linked Data Federation - ExtremeEarth Open WorkshopBig Linked Data Federation - ExtremeEarth Open Workshop
Big Linked Data Federation - ExtremeEarth Open WorkshopExtremeEarth
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsUnai Lopez-Novoa
 
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016Tom Peters, Software Engineer, Ufora at MLconf ATL 2016
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016MLconf
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Jen Aman
 
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GISpycontw
 
Big Linked Data Querying - ExtremeEarth Open Workshop
Big Linked Data Querying - ExtremeEarth Open WorkshopBig Linked Data Querying - ExtremeEarth Open Workshop
Big Linked Data Querying - ExtremeEarth Open WorkshopExtremeEarth
 
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...rhatr
 

Tendances (20)

Scalable Deep Learning in ExtremeEarth-phiweek19
Scalable Deep Learning in ExtremeEarth-phiweek19Scalable Deep Learning in ExtremeEarth-phiweek19
Scalable Deep Learning in ExtremeEarth-phiweek19
 
Large Scale Graph Processing with Apache Giraph
Large Scale Graph Processing with Apache GiraphLarge Scale Graph Processing with Apache Giraph
Large Scale Graph Processing with Apache Giraph
 
Intro to Machine Learning for GPUs
Intro to Machine Learning for GPUsIntro to Machine Learning for GPUs
Intro to Machine Learning for GPUs
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with SchlumbergerGet Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
 
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to ClusterBKK16-408B Data Analytics and Machine Learning From Node to Cluster
BKK16-408B Data Analytics and Machine Learning From Node to Cluster
 
Intro to TensorFlow and PyTorch Workshop at Tubular Labs
Intro to TensorFlow and PyTorch Workshop at Tubular LabsIntro to TensorFlow and PyTorch Workshop at Tubular Labs
Intro to TensorFlow and PyTorch Workshop at Tubular Labs
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷
 
Hopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open WorkshopHopsworks - ExtremeEarth Open Workshop
Hopsworks - ExtremeEarth Open Workshop
 
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves Mabiala
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves MabialaDeep Recurrent Neural Networks for Sequence Learning in Spark by Yves Mabiala
Deep Recurrent Neural Networks for Sequence Learning in Spark by Yves Mabiala
 
Apache Giraph
Apache GiraphApache Giraph
Apache Giraph
 
Deep Learning using OpenPOWER
Deep Learning using OpenPOWERDeep Learning using OpenPOWER
Deep Learning using OpenPOWER
 
Big Linked Data Federation - ExtremeEarth Open Workshop
Big Linked Data Federation - ExtremeEarth Open WorkshopBig Linked Data Federation - ExtremeEarth Open Workshop
Big Linked Data Federation - ExtremeEarth Open Workshop
 
Harnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern CoprocessorsHarnessing OpenCL in Modern Coprocessors
Harnessing OpenCL in Modern Coprocessors
 
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016Tom Peters, Software Engineer, Ufora at MLconf ATL 2016
Tom Peters, Software Engineer, Ufora at MLconf ATL 2016
 
Giraph
GiraphGiraph
Giraph
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow
 
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
 
Big Linked Data Querying - ExtremeEarth Open Workshop
Big Linked Data Querying - ExtremeEarth Open WorkshopBig Linked Data Querying - ExtremeEarth Open Workshop
Big Linked Data Querying - ExtremeEarth Open Workshop
 
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...
Apache Giraph: start analyzing graph relationships in your bigdata in 45 minu...
 

Similaire à Python for Earth: A Brief History of Using Python for Earth Science Applications

Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLArnab Biswas
 
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...Amazon Web Services
 
Data Stream Algorithms in Storm and R
Data Stream Algorithms in Storm and RData Stream Algorithms in Storm and R
Data Stream Algorithms in Storm and RRadek Maciaszek
 
Panel: NRP Science Impacts​
Panel: NRP Science Impacts​Panel: NRP Science Impacts​
Panel: NRP Science Impacts​Larry Smarr
 
Data Analytics and Machine Learning: From Node to Cluster on ARM64
Data Analytics and Machine Learning: From Node to Cluster on ARM64Data Analytics and Machine Learning: From Node to Cluster on ARM64
Data Analytics and Machine Learning: From Node to Cluster on ARM64Ganesh Raju
 
BKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to ClusterBKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to ClusterLinaro
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Machine learning and big data @ uber a tale of two systems
Machine learning and big data @ uber a tale of two systemsMachine learning and big data @ uber a tale of two systems
Machine learning and big data @ uber a tale of two systemsZhenxiao Luo
 
Bergman Enabling Computation for neuro ML external
Bergman Enabling Computation for neuro ML externalBergman Enabling Computation for neuro ML external
Bergman Enabling Computation for neuro ML externalazlefty
 
BISSA: Empowering Web gadget Communication with Tuple Spaces
BISSA: Empowering Web gadget Communication with Tuple SpacesBISSA: Empowering Web gadget Communication with Tuple Spaces
BISSA: Empowering Web gadget Communication with Tuple SpacesSrinath Perera
 
Towards a Systematic Study of Big Data Performance and Benchmarking
Towards a Systematic Study of Big Data Performance and BenchmarkingTowards a Systematic Study of Big Data Performance and Benchmarking
Towards a Systematic Study of Big Data Performance and BenchmarkingSaliya Ekanayake
 
MSR 2009
MSR 2009MSR 2009
MSR 2009swy351
 
Distributed real time stream processing- why and how
Distributed real time stream processing- why and howDistributed real time stream processing- why and how
Distributed real time stream processing- why and howPetr Zapletal
 

Similaire à Python for Earth: A Brief History of Using Python for Earth Science Applications (20)

APAN Cloud WG (2015/3/2)
APAN Cloud WG (2015/3/2)APAN Cloud WG (2015/3/2)
APAN Cloud WG (2015/3/2)
 
Py tables
Py tablesPy tables
Py tables
 
PyTables
PyTablesPyTables
PyTables
 
Large Data Analyze With PyTables
Large Data Analyze With PyTablesLarge Data Analyze With PyTables
Large Data Analyze With PyTables
 
Machine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkMLMachine Learning With H2O vs SparkML
Machine Learning With H2O vs SparkML
 
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
AWS re:Invent 2016: Large-Scale, Cloud-Based Analysis of Cancer Genomes: Less...
 
Data Stream Algorithms in Storm and R
Data Stream Algorithms in Storm and RData Stream Algorithms in Storm and R
Data Stream Algorithms in Storm and R
 
Panel: NRP Science Impacts​
Panel: NRP Science Impacts​Panel: NRP Science Impacts​
Panel: NRP Science Impacts​
 
Data Analytics and Machine Learning: From Node to Cluster on ARM64
Data Analytics and Machine Learning: From Node to Cluster on ARM64Data Analytics and Machine Learning: From Node to Cluster on ARM64
Data Analytics and Machine Learning: From Node to Cluster on ARM64
 
BKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to ClusterBKK16-404B Data Analytics and Machine Learning- from Node to Cluster
BKK16-404B Data Analytics and Machine Learning- from Node to Cluster
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Machine learning and big data @ uber a tale of two systems
Machine learning and big data @ uber a tale of two systemsMachine learning and big data @ uber a tale of two systems
Machine learning and big data @ uber a tale of two systems
 
Bergman Enabling Computation for neuro ML external
Bergman Enabling Computation for neuro ML externalBergman Enabling Computation for neuro ML external
Bergman Enabling Computation for neuro ML external
 
BISSA: Empowering Web gadget Communication with Tuple Spaces
BISSA: Empowering Web gadget Communication with Tuple SpacesBISSA: Empowering Web gadget Communication with Tuple Spaces
BISSA: Empowering Web gadget Communication with Tuple Spaces
 
PyTables
PyTablesPyTables
PyTables
 
Towards a Systematic Study of Big Data Performance and Benchmarking
Towards a Systematic Study of Big Data Performance and BenchmarkingTowards a Systematic Study of Big Data Performance and Benchmarking
Towards a Systematic Study of Big Data Performance and Benchmarking
 
MSR 2009
MSR 2009MSR 2009
MSR 2009
 
Distributed real time stream processing- why and how
Distributed real time stream processing- why and howDistributed real time stream processing- why and how
Distributed real time stream processing- why and how
 
Data Science as Scale
Data Science as ScaleData Science as Scale
Data Science as Scale
 
Deep Learning at Scale
Deep Learning at ScaleDeep Learning at Scale
Deep Learning at Scale
 

Plus de zakiakhmad

Analisa data di python dengan pandas
Analisa data di python dengan pandasAnalisa data di python dengan pandas
Analisa data di python dengan pandaszakiakhmad
 
Raspberry Pi dan Alat Parkir UI
Raspberry Pi dan Alat Parkir UIRaspberry Pi dan Alat Parkir UI
Raspberry Pi dan Alat Parkir UIzakiakhmad
 
Load Balancer Linux with LVS - Rizki Nanda Agam
Load Balancer Linux with LVS - Rizki Nanda AgamLoad Balancer Linux with LVS - Rizki Nanda Agam
Load Balancer Linux with LVS - Rizki Nanda Agamzakiakhmad
 
RaspberryPi 101 at Python ID October 2013 Meetup
RaspberryPi 101 at Python ID October 2013 MeetupRaspberryPi 101 at Python ID October 2013 Meetup
RaspberryPi 101 at Python ID October 2013 Meetupzakiakhmad
 
RNDC - Eulogi Arif Wicaksono aka @sakitjiwa
RNDC - Eulogi Arif Wicaksono aka @sakitjiwaRNDC - Eulogi Arif Wicaksono aka @sakitjiwa
RNDC - Eulogi Arif Wicaksono aka @sakitjiwazakiakhmad
 
Exploit Development: EzServer Buffer Overflow oleh Tom Gregory
Exploit Development: EzServer Buffer Overflow oleh Tom GregoryExploit Development: EzServer Buffer Overflow oleh Tom Gregory
Exploit Development: EzServer Buffer Overflow oleh Tom Gregoryzakiakhmad
 
Pengantar Mobile Security
Pengantar Mobile Security Pengantar Mobile Security
Pengantar Mobile Security zakiakhmad
 

Plus de zakiakhmad (8)

Analisa data di python dengan pandas
Analisa data di python dengan pandasAnalisa data di python dengan pandas
Analisa data di python dengan pandas
 
Raspberry Pi dan Alat Parkir UI
Raspberry Pi dan Alat Parkir UIRaspberry Pi dan Alat Parkir UI
Raspberry Pi dan Alat Parkir UI
 
Load Balancer Linux with LVS - Rizki Nanda Agam
Load Balancer Linux with LVS - Rizki Nanda AgamLoad Balancer Linux with LVS - Rizki Nanda Agam
Load Balancer Linux with LVS - Rizki Nanda Agam
 
RaspberryPi 101 at Python ID October 2013 Meetup
RaspberryPi 101 at Python ID October 2013 MeetupRaspberryPi 101 at Python ID October 2013 Meetup
RaspberryPi 101 at Python ID October 2013 Meetup
 
RNDC - Eulogi Arif Wicaksono aka @sakitjiwa
RNDC - Eulogi Arif Wicaksono aka @sakitjiwaRNDC - Eulogi Arif Wicaksono aka @sakitjiwa
RNDC - Eulogi Arif Wicaksono aka @sakitjiwa
 
rq talk
rq talkrq talk
rq talk
 
Exploit Development: EzServer Buffer Overflow oleh Tom Gregory
Exploit Development: EzServer Buffer Overflow oleh Tom GregoryExploit Development: EzServer Buffer Overflow oleh Tom Gregory
Exploit Development: EzServer Buffer Overflow oleh Tom Gregory
 
Pengantar Mobile Security
Pengantar Mobile Security Pengantar Mobile Security
Pengantar Mobile Security
 

Dernier

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Dernier (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

Python for Earth: A Brief History of Using Python for Earth Science Applications

  • 1. © 2014 Mohammad Fadli Python for Earth Mohammad Fadli
  • 2. Days before python (back in college era) • Using fortran for numerical programming • Using matlab for matrix operational or data plotting • Using excel for data processing • Using surfer or matlab for plotting • Using arcmap or or for spatial data processing • Using delphi for UI • No database (all textfile matrix)
  • 3. Create matrix do j = 1, 3 do i = 1, 3 A(i,j) = real(i)/real(j) blah.. Blah .. read text file .. write text file .. enddo enddo
  • 4. Matlab • Matrix Operation • a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8] • a(2,5) Courtesy of Mathworks Inc.
  • 5. Plot stuff Courtesy of Golden Software Inc.
  • 6. Courtesy of Embarcadero Technologies, Inc.
  • 9. Courtesy of Kementerian Kelautan dan Perikanan
  • 10. Courtesy of Kementerian Kelautan dan Perikanan
  • 11. Courtesy of Kementerian Kelautan dan Perikanan
  • 12. Courtesy of Kementerian Kelautan dan Perikanan
  • 13. Courtesy van oord nv • Build model for pollutant trajectory
  • 14. Grid Analysis and Display System (GrADS) Courtesy of Weather & Climate Prediction Lab. ITB
  • 15. Do something different! • Install freeBSD and runs model on freeBSD • Install mapserver on freeBSD • Using grads for plotting • Using fortran for data processing • Using php for web (still) • Parallel computing (not yet)
  • 16. First time using python ArcGIS ArcPy Courtesy of ESRI Inc.
  • 17. Heboh Python (Python Fuss) :p • A clear and readable syntax. • Modules can be easily written in C, C++. • It can be used on all major platforms (Windows, Linux/Unix, Mac etc.) • Easy to learn. • And it is free. • Python this, python that
  • 18. Nowadays • ANUGA for Hydrodynamics model • EQRM for Earthquakes model • Python for Climate Data Analysis Tools (CDAT) • GDAL library for spatial data processing • Django, Grok, Pylons, web2py (and other tons of web library) for web • Psycopg for postgre database connection • PyMPI for Clusters computing and parallelization
  • 19. Science with Python: NumPy, SciPy and Matplotlib Courtesy of Andrew Walker
  • 20. Science with Python: NumPy, SciPy and Matplotlib Courtesy of Andrew Walker
  • 21. SciPy: a collection of useful modules Courtesy of Andrew Walker
  • 22. • Python enables users to do more and better science. • Python is a modern, interpreted, object-oriented, open-source language used in all kinds of software engineering. • Python is now a robust integration platform for all kinds of atmospheric sciences work, from data analysis to distributed computing, and graphical user interfaces to geographical information systems. • Python has a concise but natural syntax for both arrays and nonarrays, making programs exceedingly clear and easy to read; as the saying goes, “Python is executable pseudocode.” • Include visualization, numerical libraries, interconnection with compiled and other languages, memory caching, Web services, mobile and desktop graphical user interface programming, and others.
  • 23. Another advantages • Several packages exist that handle file formats used by atmospheric and oceanic sciences users, including netCDF, HDF4, HDF-EOS 2, and GRIB 1 and 2 (e.g., via the netCDF4- Python, UV-CDAT, and PyNIO packages). • Python can be used as a scripting language for applications such as Unidata’s Integrated Data Viewer, the NCAR Command Language (via PyNGL), GrADS (via OpenGrADS), and Esri’s ArcGIS.
  • 24. Disadvantages • To be fair, Python has real disadvantages, including the fact that pure Python code runs much slower than compiled code, there are fewer scientific libraries compared to Fortran, and documentation and support for new science users is relatively sparse. • There are tools to overcome the speed penalty, the collection of scientific libraries is growing, and science support resources are becoming more robust; nevertheless, these are real issues. • For most Earth science applications, the strengths of Python outweigh the weaknesses.
  • 25.
  • 26. What we are doing with python now? • Try to runs (and optimize) anuga on 128 core HPC • Optimize and automate earthquake model • Create our own spatial analysis framework using GDAL lib • Prove what John-Wei said
  • 27. Flood Research 2013: Domain Pasar Minggu to Manggarai (Segment 1) • Criteria: – Major factor only from discharge and local rainfall – Homogenous Hydrologic characteristic 27 Manggarai Detail Domain Katulampa Courtesy of PT Reasuransi Maipark Indonesia 2013
  • 28. Model Hidrodinamika 2D AnuGA ANUGA adalah model hidrodinamika Free and Open Source (FOSS) yang dikembangkan oleh Australian National University dan Geoscience Australian; metode pemecahan persamaan menggunakan finite volume; dapat diunduh dari http://anuga.anu.edu.au/; Salah satu kelebihan ANUGA : dapat meng-input-kan hujan pada domain Kenapa Anuga: 1. Public Domain 2. Open Source 3. Parallel 4. Finite Volume  Shock Capturing Capability  Hydraulic Jump
  • 29. Anuga for Jakarta Flood 2013 2013 flood simulation Bukit Duri dan Kampung Melayu Kalibata Courtesy of PT Reasuransi Maipark Indonesia 2014
  • 30. Hasil Simulasi Banjir Jakarta Simulasi Banjir Jakarta 2013 Hadi, dkk., 2013 Input Curah Hujan Spasial, Robert, 2013 Anuga dapat mengakomodasi simulasi banjir dengan input curah hujan spasial, simulasi paralel Dan input debit serta TMA Courtesy of PT Reasuransi Maipark Indonesia 2014
  • 33. Rendaman Max. vs Data UAV LAPAN Courtesy of LAPAN, PT Reasuransi Maipark Indonesia
  • 34. Courtesy of PT Reasuransi Maipark Indonesia
  • 35. K.H. Abdullah Syafei Foto: Kantor Berita ANTARA (19/01/2014) Courtesy of PT Reasuransi Maipark Indonesia
  • 36. Depo, Bukit Duri (19/01/2014) Foto: Kantor Berita ANTARA Bukit Duri
  • 37. Bukit Duri (Depo & SMA 8) Depo SMA 8 Depo Depo Depo SMA 8 SMA 8 (16/01/2013) Foto: Kantor Berita ANTARA (19/01/2014) Foto diambil dari Heli PMI Courtesy of PT Reasuransi Maipark Indonesia
  • 38. K.H. Abdullah Syafei, (19/01/2014), Foto: ANTARA Courtesy of PT Reasuransi Maipark Indonesia
  • 39. Jembatan Layang Kalibata, 19/1/2014, Foto: ANTARA Courtesy of PT Reasuransi Maipark Indonesia
  • 40. Jl. Jatinegara barat raya Depo Depo Jatinegara Bukit Duri Courtesy of PT Reasuransi Maipark Indonesia
  • 41. Rawajati Kampung Melayu Diambil dari helikopter PMI, 16/1/2013
  • 42. Thunder System Summary Specification Nodes 4 nodes Cores 16 cores (4 cores/node) Processors (per nodes) AMD FX (tm) – 8350, 4 Ghz Memory (per nodes) 8 GB DDR 3, 800 Mhz Scenario: Spin up scenario for 16.67 hours Domain : Full Jakarta consist of Ciliwung River (Bogor-Pluit) Even though faster simulation could be performed, we have to notify that low resolution mesh is used in this case Scenario: 15-18 January 2013 (3 days) Domain : Ciliwung River (Pasar Minggu-Manggarai) “The computation speed may increase as the water volume inside of the domain is increasing” Courtesy of WCPL-ITB
  • 43. National Computational Infrastructure (NCI), Australia Summary Specification Nodes 3592 node Cores 57,472 cores (16 cores/node) Model Fujitsu Server Primergy Cx 250 S2 Processors 2 x intel Sandy E5-2600 (8-core, 2.6 GHz) Memory 8 GB DDR 3, 1600 MHz 2395 nodes ->32 GB 1125 nodes -> 64 GB 72 nodes -> 128 GB TOTAL : 158 TB Harddisk 500 GB 7200 rpm SATA www.nci.org.au, www.fujitsu.com Cluster Raijin, NCI Domain 2 :Jakarta Approximately 10 rivers will be included in our scenario Approximately total mesh element number: 3.300.940 triangles Problem in computation time while using large number of mesh elements could be tackled by employing large core number of machine used for simulation NCI Building Australia National University Contoh :
  • 44. Reference • http://www.johnny-lin.com/pyintro/ • http://jakevdp.github.io/blog/2013/03/23/matplotlib-and-the-future-of- visualization-in-python/ • http://greenteapress.com/pythonhydro/pythonhydro.html • http://resources.arcgis.com/en/communities/python/ • http://arcpy.wordpress.com/page/3/ • http://pyaos.johnny-lin.com/?p=1271 • http://www1.gly.bris.ac.uk/~walker/PythonEarthSci/ • http://conferences.ncl.ac.uk/sciprog/Presentations/python_processing_spyder_v1.0.2. pdf • http://numpy.sourceforge.net/numdoc/HTML/numdoc.htm • http://arcpy.wordpress.com/
  • 45.
  • 46. grads • The Grid Analysis and Display System (GrADS) is an interactive desktop tool that is used for easy access, manipulation, and visualization of earth science data. • Support binary (stream or sequential), GRIB (version 1 and 2), NetCDF, HDF (version 4 and 5), and BUFR (for station data). • Windows & Unix support