SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
Threp
A Lightweight Remap Framework
for the Earth System Model


吴竑 (Xunzhang) xunzhangthu@gmail.com
2013/03/09
Background

Data management between components in the Earth System Model(coupler)

Data exchange between grids in each Models(atmosphere, land, ocean, ice, ...)

Grids have become diverse(triple pole, hexagon, unstructured)

Interpolation algorithms have become complex(mixed/coupled, special handling)
Motivation

Current popular universal remapping libraries:




                                                 ESMF-Regridding
Motivation

Current popular universal remapping libraries:




 Inflexible data structure(latitude bin, local traverse)    3D Cartesian coordinates
          Tooold(SCRIP1.4 released at 2001)                Unstructured grid supported
                         Serial                                      Parallel

                                                               ESMF-Regridding
Motivation

Current popular universal remapping libraries:




 Inflexible data structure(latitude bin, local traverse)     Appeared as a app, no interface supplied
                                                                           3D Coords
          Tooold(SCRIP1.4 released at 2001)                Complicated hierarchy, really hard to improve
                                                                  Unstructured grid supported
                         Serial                                      Thoughtless readability
                                                                             Parallel

                                                                        ESMF-Regridding
Motivation

More versatility, flexible data structure

Remapping programming model in the Earth System Model(throw details to Threp)

Readable, lightweight, efficient remapping framework
Goal of Threp

Universal(Earth System Model)

Users develop just like building blocks

More grids(regular, rectilinear, curvilinear, unstructured) supported

Mask supported(source, destination)

Extrapolation supported(e.g., border of land and sea)

Parallel and Scalable
Encapsulation

Abstract…

Abstract…

Abstract…
Outline

Remapping on a sphere

Design of Threp

Implementation

Bilinear in action

Demo

Future work
Two Stage


Stage 1: Weights Generation                               Stage 2: Regridding Data



                                                                            𝑘
                                      𝑤11 𝑤12 … 𝑤1𝑘
                                      𝑤21 𝑤22 … 𝑤2𝑘           𝑑𝑎𝑡𝑎 𝐴 𝑗 =         𝑤 𝑖 ∙ 𝑑𝑎𝑡𝑎(𝑃𝑖 )
                                   A=          …                           𝑖=1
                                       𝑤 𝑗1 𝑤 𝑗2 … 𝑤 𝑗𝑘
                                               …

                                                          𝑑𝑎𝑡𝑎 𝑑𝑠𝑡_𝑖𝑛𝑑𝑥 = 𝐴 ∙ 𝑑𝑎𝑡𝑎[𝑠𝑟𝑐_𝑖𝑛𝑑𝑥]
           𝐴 𝑗 (on dst grid)
     𝑃1 , 𝑃2 … 𝑃 𝑘 (on src grid)
          𝑤1, 𝑤2 … 𝑤 𝑘 (wgts)
Search Neighbors

IDW: nearest k points

Bilinear: nearest quadrangle

Bicubic: nearest quadrangle or nearest 16 points   find nearest k + select

Patch: nearest patch

Least Square Method: nearest k points
Matrix-Vector Multiply


                       𝑤11 𝑤12 … 𝑤1𝑘
                       𝑤21 𝑤22 … 𝑤2𝑘
                                                          𝑘 × 𝑛𝑢𝑚 𝑑𝑠𝑡
 Sparse matrix A =            …       , sparsity =                       .
                                                        𝑛𝑢𝑚 𝑠𝑟𝑐 ×𝑛𝑢𝑚 𝑑𝑠𝑡
                        𝑤𝑗1 𝑤𝑗2 … 𝑤𝑗𝑘
                              …        𝑛𝑢𝑚 𝑠𝑟𝑐 ×𝑛𝑢𝑚 𝑑𝑠𝑡



                                                                𝑇
 dst_𝑖𝑛𝑑𝑥 = 1 1 … 1 2 2 … 2 … … 𝑛𝑢𝑚 𝑑𝑠𝑡 𝑛𝑢𝑚 𝑑𝑠𝑡 … 𝑛𝑢𝑚 𝑑𝑠𝑡
Outline

Remap model in the Earth System Model

Design of Threp

Implementation

Bilinear in action

Demo

Future work
2d Tree Construction
Nearest neighbor search in a 2d tree demo




                               Average: 𝑙𝑜𝑔𝑁
                               Worse: 𝑁
Remap on a sphere

             Periodic Boundary

                                               Construct left ghost boundary:

                                                           (lon, 0.5) -> (lon, -0.5)

                                               Construct right ghost boundary:

                                                         (lon, 359.5) -> (lon, 360.5)

                                               Index recovery map/table:

                                                index of (lon, ghost_lat) ->index of (lon, lat)

Left ghost                       right ghost
boundary                         boundary
Remap on a sphere

     Pole Singularities

                          if highest lat(dst grid)> highest lat(src grid):

                               use north pole region interp pnts

                               continue

                          if lowest lat(dst grid)< lowest lat(src grid):

                               use south pole region interp pnts

                               continue

                          normal case…
A Map-Reduce application

Map: Stage1

Reduce: Stage 2
Outline

Remap model in the Earth System Model

Design of Threp

Implementation

Bilinear in action

Demo

Future work
Architecture


               bilinear     idw         patch   conserve
                               interp
           search         solver    prediction geometry
                                   io
                               NetCDF
                 MPI/TCP-IP                Pydoop
                              clusters
Embrace Python

User friendly(geoscience user)                       Recursive efficiency:

Easy to code, easy to read                                    loop version of kd-tree

More integrated libraries(no more repeated wheels)   Auto type checking:
Embrace Python



  < 4000 LOC! (so far)

  12th day, available!
Grid File

 SCRIP Grid Format

 2D lat/lon coords(degrees/radians units supported)

 Atmosphere grid with mask or no mask
Nearest k + Select

 Heuristic
Solver
                                      -solve weights for each dst grid pnt


Class                                 +__init__()
                                      +solve_quadratics()
                                      +select_legal_root()




               Idw_Solver                        Bilinear_Solver                      Bilinear_Solver
        -solve idw weights                   -solve bilinear weights              -solve bilinear weights
        +__init__()
        +solve()
                                             +__init__()
                                             +solve()
                                                                                  +__init__()
                                                                                  +solve()
                                                                                                            Solver


                                                                                          Bilinear
                       Interp                                                     -Bilinear remapping
    -Interpolation management class                                               class
                                                                                  +__init__()
    +__init__()                                                                   +local_functions()
    +interp()                                                                     +interp()
    +remap()                                                                      +remap()
    +check_wgt()
    +check_wgtsum()
    +check_all_masks()
    +dst_distribute()
                                                                                                            Interp
    +dst_merge()                                                                               Idw
    +indx_recovery()                                                              -Idw remapping class
    +compact_remap_matrix()                                                       +__init__()
    +learn()                                                                      +local_functions()
    +deliver()                                                                    +interp()
                                                                                  +remap()




                      Predictor                                              Bilinear_Predictor
    -Preditor class                                                -Bilinear predictor class                Predictor
    +__init__()                                                    +__init__()
    +predict()                                                     +predict()
MPI

Python MPI library: mpi4py

Linear speedup(stage1)

          4min->2min->1min->30sec->…(not complete)

Very fast for serial stage2, <0.2sec.

          necessary to parallelize?

          callback of MPI_Reduce interface?
MapReduce

Not finished!
Outline

Remap model in the Earth System Model

Design of Threp

Implementation

Bilinear in action

Demo

Future work
Bilinear Algorithm


            𝑓 𝑥, 𝑦 = 𝑎 + 𝑏𝑥 + 𝑐𝑦 + 𝑑𝑥𝑦

            𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑓 0,0 1 − 𝑥 𝑘 (1 − 𝑦 𝑘 ) + 𝑓 1,0 𝑥 𝑘 (1 − 𝑦 𝑘 ) + 𝑓 0,1 𝑦 𝑘 1 − 𝑥 𝑘 + 𝑓 1,1 𝑥 𝑘 𝑦 𝑘

            𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑓 0,0 𝑤1 + 𝑓 1,0 𝑤2 + 𝑓 0,1 𝑤3 + 𝑓 1,1 𝑤4

           For irregular bilinear box, a similar way to calculate𝑤1, 𝑤2, 𝑤3, 𝑤4 (2011/8, wuhong)
Extrapolation Case

  Source grid masked

           atm2ocn & ocn2atm

  Destination grid masked

           ignore

  Coupled bilinear




Can extrapolation as accurate as interpolation?

Yes, a property that…
Still Two Stage

𝑓 𝑥1, 𝑦1 = 𝑎 + 𝑏𝑥1 + 𝑐𝑦1 + 𝑑𝑥1 𝑦1                          𝑓 = 𝑓 𝑥1, 𝑦1          𝑓 𝑥1, 𝑦1 𝑓 𝑥1, 𝑦1 𝑓 𝑥1, 𝑦1   𝑇

𝑓 𝑥2, 𝑦2 = 𝑎 + 𝑏𝑥2 + 𝑐𝑦2 + 𝑑𝑥2 𝑦2
                                           𝑓 = 𝐶𝑦             1      𝑥1   𝑦1   𝑥1 𝑦1
𝑓 𝑥3, 𝑦3 = 𝑎 + 𝑏𝑥3 + 𝑐𝑦3 + 𝑑𝑥3 𝑦3
                                                              1      𝑥2   𝑦2   𝑥2 𝑦2                      𝑇
𝑓 𝑥4, 𝑦4 = 𝑎 + 𝑏𝑥4 + 𝑐𝑦4 + 𝑑𝑥4 𝑦4                          𝐶=                                𝑦= 𝑎 𝑏 𝑐 𝑑
                                                              1      𝑥3   𝑦3   𝑥3 𝑦3
                                                              1      𝑥4   𝑦4   𝑥4 𝑦4   4×4


                                                                   Solving inversion of a 4×4
                                                                            Matrix C
𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑎 + 𝑏𝑥 𝑘 + 𝑐𝑦 𝑘 + 𝑑𝑥 𝑘 𝑦 𝑘   𝑓 𝑘 = 𝑧𝑦
                                           𝑓 𝑘 = 𝑧𝐶 −1 𝑓   𝑧 = [1 𝑥 𝑘 𝑦 𝑘 𝑥 𝑘 𝑦 𝑘 ]
                                           𝑓 𝑘 = 𝑤𝑓        𝑤 = 𝑧𝐶−1
Piece of Results


 T42 -> POP43:

         are: 8.74e-5

         mre: 0.00596
                         Better than idw!
 POP43->T42:             Better than idw mixed bilinear!

         are: 0.000238

         mre: 0.0829
Outline

Remap model in the Earth System Model

Design of Threp

Implementation

Bilinear in action

Demo

Future work
Discussion

 Unstructured grid source

 Periodic boundary problem of unstructured grid

 Specificity conservative remapping

 High dimensional remapping

 Restart Threp
Outline

Remap model in the Earth System Model

Design of Threp

Implementation

Bilinear in action

Demo

Future work
Roadmap

Performance:                           More sub modules in Threp:

          PyPy interpreter                      derivation

          C extension of kernel code            integral

          mapreduce version of Threp   More algorithms:

More grids:                                     patch


          triple poles                          bicubic

          unstructured                          conservative(first & second)

Graduate!!
Conclusion

Threp abstract remapping model in the Earth System Model

Threp is a parallel remapping framework, supports masked/unstructured grid

Threp is lightweight, easy to start

A extrapolation coupled bilinear algorithm implemented in Threp, better accuracy

High performance scalability

Embrace Threp!!
Open Source

https://github.com/xunzhang/Threp
Acknowledge

Google.com

Stackoverflow.com

Lanning Wang< wangln@bnu.edu.cn >

Shunqiang Song< pinewall@gmail.com >

Li Liu< liuli03@mails.tsinghua.edu.cn >

Yushu Chen<>
Thank you!   Questions?
Singularity(backup)
Ill-condition(backup)

Más contenido relacionado

La actualidad más candente

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
Show, Attend and Tell: Neural Image Caption Generation with Visual AttentionShow, Attend and Tell: Neural Image Caption Generation with Visual Attention
Show, Attend and Tell: Neural Image Caption Generation with Visual AttentionEun Ji Lee
 
Anatomy of a Texture Fetch
Anatomy of a Texture FetchAnatomy of a Texture Fetch
Anatomy of a Texture FetchMark Kilgard
 
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferMLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferCharles Deledalle
 
Detailed Description on Cross Entropy Loss Function
Detailed Description on Cross Entropy Loss FunctionDetailed Description on Cross Entropy Loss Function
Detailed Description on Cross Entropy Loss Function범준 김
 
Backpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkBackpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkHiroshi Kuwajima
 
VAE-type Deep Generative Models
VAE-type Deep Generative ModelsVAE-type Deep Generative Models
VAE-type Deep Generative ModelsKenta Oono
 
MLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningMLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningCharles Deledalle
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...sleepy_yoshi
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningCharles Deledalle
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video searchzukun
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural NetKen'ichi Matsui
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...홍배 김
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via MeshingDon Sheehy
 
Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterStockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterACSG Section Montréal
 

La actualidad más candente (20)

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
Show, Attend and Tell: Neural Image Caption Generation with Visual AttentionShow, Attend and Tell: Neural Image Caption Generation with Visual Attention
Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
 
Anatomy of a Texture Fetch
Anatomy of a Texture FetchAnatomy of a Texture Fetch
Anatomy of a Texture Fetch
 
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transferMLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
MLIP - Chapter 6 - Generation, Super-Resolution, Style transfer
 
Image transforms
Image transformsImage transforms
Image transforms
 
Detailed Description on Cross Entropy Loss Function
Detailed Description on Cross Entropy Loss FunctionDetailed Description on Cross Entropy Loss Function
Detailed Description on Cross Entropy Loss Function
 
Ch2 Liang
Ch2 LiangCh2 Liang
Ch2 Liang
 
Backpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural NetworkBackpropagation in Convolutional Neural Network
Backpropagation in Convolutional Neural Network
 
CS 354 Typography
CS 354 TypographyCS 354 Typography
CS 354 Typography
 
Getting started with image processing using Matlab
Getting started with image processing using MatlabGetting started with image processing using Matlab
Getting started with image processing using Matlab
 
VAE-type Deep Generative Models
VAE-type Deep Generative ModelsVAE-type Deep Generative Models
VAE-type Deep Generative Models
 
MLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, CaptioningMLIP - Chapter 5 - Detection, Segmentation, Captioning
MLIP - Chapter 5 - Detection, Segmentation, Captioning
 
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
ICML2012読み会 Scaling Up Coordinate Descent Algorithms for Large L1 regularizat...
 
MLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learningMLIP - Chapter 3 - Introduction to deep learning
MLIP - Chapter 3 - Introduction to deep learning
 
Lecture 02 internet video search
Lecture 02 internet video searchLecture 02 internet video search
Lecture 02 internet video search
 
"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net"Deep Learning" Chap.6 Convolutional Neural Net
"Deep Learning" Chap.6 Convolutional Neural Net
 
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
 
Topological Inference via Meshing
Topological Inference via MeshingTopological Inference via Meshing
Topological Inference via Meshing
 
Unit ii
Unit iiUnit ii
Unit ii
 
Fast Forward To Scala
Fast Forward To ScalaFast Forward To Scala
Fast Forward To Scala
 
Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterStockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
 

Destacado

เทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศเทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศkruchanon2555
 
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์kruchanon2555
 
07. проектодоговор оп1
07. проектодоговор оп107. проектодоговор оп1
07. проектодоговор оп1soffii_h1
 
ID Slide Presentation
ID Slide PresentationID Slide Presentation
ID Slide PresentationNed Donohoe
 
คู่มือ Wordpress
คู่มือ Wordpressคู่มือ Wordpress
คู่มือ Wordpresskruchanon2555
 
05. указания
05. указания05. указания
05. указанияsoffii_h1
 
Wearing your heart on your sleeve: a wearable computing primer (of sorts)
Wearing your heart on your sleeve: a wearable computing primer (of sorts)Wearing your heart on your sleeve: a wearable computing primer (of sorts)
Wearing your heart on your sleeve: a wearable computing primer (of sorts)Alejandro Zamudio
 
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศ
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศบทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศ
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศkruchanon2555
 
ระบบประสาท
ระบบประสาทระบบประสาท
ระบบประสาทkruchanon2555
 
ระบบประสาท
ระบบประสาทระบบประสาท
ระบบประสาทkruchanon2555
 
06. технически спецификации
06. технически спецификации06. технически спецификации
06. технически спецификацииsoffii_h1
 
Transmedia presentation
Transmedia presentation Transmedia presentation
Transmedia presentation Ned Donohoe
 
A manager's guide to performance appraisals
A manager's guide to performance appraisalsA manager's guide to performance appraisals
A manager's guide to performance appraisalsmmspencer11
 
Open house
Open houseOpen house
Open houseRL Young
 
A manager's guide to performance appraisals
A manager's guide to performance appraisalsA manager's guide to performance appraisals
A manager's guide to performance appraisalsmmspencer11
 
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์kruchanon2555
 

Destacado (19)

Encuesta
EncuestaEncuesta
Encuesta
 
Wix rosa
Wix rosaWix rosa
Wix rosa
 
เทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศเทคโนโลยีสารสนเทศ
เทคโนโลยีสารสนเทศ
 
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
 
07. проектодоговор оп1
07. проектодоговор оп107. проектодоговор оп1
07. проектодоговор оп1
 
ID Slide Presentation
ID Slide PresentationID Slide Presentation
ID Slide Presentation
 
คู่มือ Wordpress
คู่มือ Wordpressคู่มือ Wordpress
คู่มือ Wordpress
 
05. указания
05. указания05. указания
05. указания
 
Wearing your heart on your sleeve: a wearable computing primer (of sorts)
Wearing your heart on your sleeve: a wearable computing primer (of sorts)Wearing your heart on your sleeve: a wearable computing primer (of sorts)
Wearing your heart on your sleeve: a wearable computing primer (of sorts)
 
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศ
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศบทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศ
บทที่ 1 ความเป็นมาของเทคโนโลยีสารสนเทศ
 
ระบบประสาท
ระบบประสาทระบบประสาท
ระบบประสาท
 
ระบบประสาท
ระบบประสาทระบบประสาท
ระบบประสาท
 
Pgt botany
Pgt botanyPgt botany
Pgt botany
 
06. технически спецификации
06. технически спецификации06. технически спецификации
06. технически спецификации
 
Transmedia presentation
Transmedia presentation Transmedia presentation
Transmedia presentation
 
A manager's guide to performance appraisals
A manager's guide to performance appraisalsA manager's guide to performance appraisals
A manager's guide to performance appraisals
 
Open house
Open houseOpen house
Open house
 
A manager's guide to performance appraisals
A manager's guide to performance appraisalsA manager's guide to performance appraisals
A manager's guide to performance appraisals
 
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
นวัตกรรม เรื่อง ส่วนประกอบคอมพิวเตอร์
 

Similar a Intro to threp

Introduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduceIntroduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduceDr Ganesh Iyer
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache sparkEmiliano Martinez Sanchez
 
Stack squeues lists
Stack squeues listsStack squeues lists
Stack squeues listsJames Wong
 
Stacksqueueslists
StacksqueueslistsStacksqueueslists
StacksqueueslistsFraboni Ec
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsYoung Alista
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsTony Nguyen
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues listsHarry Potter
 
Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep LearningShajun Nisha
 
Extending lifespan with Hadoop and R
Extending lifespan with Hadoop and RExtending lifespan with Hadoop and R
Extending lifespan with Hadoop and RRadek Maciaszek
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkDB Tsai
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technicalalpinedatalabs
 
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and Cassandra
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and CassandraBrief introduction on Hadoop,Dremel, Pig, FlumeJava and Cassandra
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and CassandraSomnath Mazumdar
 
Machine Learning Algorithms (Part 1)
Machine Learning Algorithms (Part 1)Machine Learning Algorithms (Part 1)
Machine Learning Algorithms (Part 1)Zihui Li
 
Online learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopOnline learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopHéloïse Nonne
 
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)Matthew Lease
 
There's a Prolog in your Scala!
There's a Prolog in your Scala!There's a Prolog in your Scala!
There's a Prolog in your Scala!George Leontiev
 
Sienna 4 divideandconquer
Sienna 4 divideandconquerSienna 4 divideandconquer
Sienna 4 divideandconquerchidabdu
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_iankit_ppt
 

Similar a Intro to threp (20)

Introduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduceIntroduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduce
 
Graph convolutional networks in apache spark
Graph convolutional networks in apache sparkGraph convolutional networks in apache spark
Graph convolutional networks in apache spark
 
Stack squeues lists
Stack squeues listsStack squeues lists
Stack squeues lists
 
Stacksqueueslists
StacksqueueslistsStacksqueueslists
Stacksqueueslists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Stacks queues lists
Stacks queues listsStacks queues lists
Stacks queues lists
 
Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep Learning
 
Extending lifespan with Hadoop and R
Extending lifespan with Hadoop and RExtending lifespan with Hadoop and R
Extending lifespan with Hadoop and R
 
Multinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache SparkMultinomial Logistic Regression with Apache Spark
Multinomial Logistic Regression with Apache Spark
 
Alpine Spark Implementation - Technical
Alpine Spark Implementation - TechnicalAlpine Spark Implementation - Technical
Alpine Spark Implementation - Technical
 
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and Cassandra
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and CassandraBrief introduction on Hadoop,Dremel, Pig, FlumeJava and Cassandra
Brief introduction on Hadoop,Dremel, Pig, FlumeJava and Cassandra
 
Machine Learning Algorithms (Part 1)
Machine Learning Algorithms (Part 1)Machine Learning Algorithms (Part 1)
Machine Learning Algorithms (Part 1)
 
Lecture12
Lecture12Lecture12
Lecture12
 
Online learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and HadoopOnline learning, Vowpal Wabbit and Hadoop
Online learning, Vowpal Wabbit and Hadoop
 
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)
Lecture 3: Data-Intensive Computing for Text Analysis (Fall 2011)
 
There's a Prolog in your Scala!
There's a Prolog in your Scala!There's a Prolog in your Scala!
There's a Prolog in your Scala!
 
Sienna 4 divideandconquer
Sienna 4 divideandconquerSienna 4 divideandconquer
Sienna 4 divideandconquer
 
03 image transformations_i
03 image transformations_i03 image transformations_i
03 image transformations_i
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Intro to threp

  • 1. Threp A Lightweight Remap Framework for the Earth System Model 吴竑 (Xunzhang) xunzhangthu@gmail.com 2013/03/09
  • 2. Background Data management between components in the Earth System Model(coupler) Data exchange between grids in each Models(atmosphere, land, ocean, ice, ...) Grids have become diverse(triple pole, hexagon, unstructured) Interpolation algorithms have become complex(mixed/coupled, special handling)
  • 3. Motivation Current popular universal remapping libraries: ESMF-Regridding
  • 4. Motivation Current popular universal remapping libraries: Inflexible data structure(latitude bin, local traverse) 3D Cartesian coordinates Tooold(SCRIP1.4 released at 2001) Unstructured grid supported Serial Parallel ESMF-Regridding
  • 5. Motivation Current popular universal remapping libraries: Inflexible data structure(latitude bin, local traverse) Appeared as a app, no interface supplied 3D Coords Tooold(SCRIP1.4 released at 2001) Complicated hierarchy, really hard to improve Unstructured grid supported Serial Thoughtless readability Parallel ESMF-Regridding
  • 6. Motivation More versatility, flexible data structure Remapping programming model in the Earth System Model(throw details to Threp) Readable, lightweight, efficient remapping framework
  • 7. Goal of Threp Universal(Earth System Model) Users develop just like building blocks More grids(regular, rectilinear, curvilinear, unstructured) supported Mask supported(source, destination) Extrapolation supported(e.g., border of land and sea) Parallel and Scalable
  • 9. Outline Remapping on a sphere Design of Threp Implementation Bilinear in action Demo Future work
  • 10. Two Stage Stage 1: Weights Generation Stage 2: Regridding Data 𝑘 𝑤11 𝑤12 … 𝑤1𝑘 𝑤21 𝑤22 … 𝑤2𝑘 𝑑𝑎𝑡𝑎 𝐴 𝑗 = 𝑤 𝑖 ∙ 𝑑𝑎𝑡𝑎(𝑃𝑖 ) A= … 𝑖=1 𝑤 𝑗1 𝑤 𝑗2 … 𝑤 𝑗𝑘 … 𝑑𝑎𝑡𝑎 𝑑𝑠𝑡_𝑖𝑛𝑑𝑥 = 𝐴 ∙ 𝑑𝑎𝑡𝑎[𝑠𝑟𝑐_𝑖𝑛𝑑𝑥] 𝐴 𝑗 (on dst grid) 𝑃1 , 𝑃2 … 𝑃 𝑘 (on src grid) 𝑤1, 𝑤2 … 𝑤 𝑘 (wgts)
  • 11. Search Neighbors IDW: nearest k points Bilinear: nearest quadrangle Bicubic: nearest quadrangle or nearest 16 points find nearest k + select Patch: nearest patch Least Square Method: nearest k points
  • 12. Matrix-Vector Multiply 𝑤11 𝑤12 … 𝑤1𝑘 𝑤21 𝑤22 … 𝑤2𝑘 𝑘 × 𝑛𝑢𝑚 𝑑𝑠𝑡 Sparse matrix A = … , sparsity = . 𝑛𝑢𝑚 𝑠𝑟𝑐 ×𝑛𝑢𝑚 𝑑𝑠𝑡 𝑤𝑗1 𝑤𝑗2 … 𝑤𝑗𝑘 … 𝑛𝑢𝑚 𝑠𝑟𝑐 ×𝑛𝑢𝑚 𝑑𝑠𝑡 𝑇 dst_𝑖𝑛𝑑𝑥 = 1 1 … 1 2 2 … 2 … … 𝑛𝑢𝑚 𝑑𝑠𝑡 𝑛𝑢𝑚 𝑑𝑠𝑡 … 𝑛𝑢𝑚 𝑑𝑠𝑡
  • 13. Outline Remap model in the Earth System Model Design of Threp Implementation Bilinear in action Demo Future work
  • 15. Nearest neighbor search in a 2d tree demo Average: 𝑙𝑜𝑔𝑁 Worse: 𝑁
  • 16. Remap on a sphere Periodic Boundary Construct left ghost boundary: (lon, 0.5) -> (lon, -0.5) Construct right ghost boundary: (lon, 359.5) -> (lon, 360.5) Index recovery map/table: index of (lon, ghost_lat) ->index of (lon, lat) Left ghost right ghost boundary boundary
  • 17. Remap on a sphere Pole Singularities if highest lat(dst grid)> highest lat(src grid): use north pole region interp pnts continue if lowest lat(dst grid)< lowest lat(src grid): use south pole region interp pnts continue normal case…
  • 18. A Map-Reduce application Map: Stage1 Reduce: Stage 2
  • 19. Outline Remap model in the Earth System Model Design of Threp Implementation Bilinear in action Demo Future work
  • 20. Architecture bilinear idw patch conserve interp search solver prediction geometry io NetCDF MPI/TCP-IP Pydoop clusters
  • 21. Embrace Python User friendly(geoscience user) Recursive efficiency: Easy to code, easy to read loop version of kd-tree More integrated libraries(no more repeated wheels) Auto type checking:
  • 22. Embrace Python < 4000 LOC! (so far) 12th day, available!
  • 23. Grid File SCRIP Grid Format 2D lat/lon coords(degrees/radians units supported) Atmosphere grid with mask or no mask
  • 24. Nearest k + Select Heuristic
  • 25. Solver -solve weights for each dst grid pnt Class +__init__() +solve_quadratics() +select_legal_root() Idw_Solver Bilinear_Solver Bilinear_Solver -solve idw weights -solve bilinear weights -solve bilinear weights +__init__() +solve() +__init__() +solve() +__init__() +solve() Solver Bilinear Interp -Bilinear remapping -Interpolation management class class +__init__() +__init__() +local_functions() +interp() +interp() +remap() +remap() +check_wgt() +check_wgtsum() +check_all_masks() +dst_distribute() Interp +dst_merge() Idw +indx_recovery() -Idw remapping class +compact_remap_matrix() +__init__() +learn() +local_functions() +deliver() +interp() +remap() Predictor Bilinear_Predictor -Preditor class -Bilinear predictor class Predictor +__init__() +__init__() +predict() +predict()
  • 26. MPI Python MPI library: mpi4py Linear speedup(stage1) 4min->2min->1min->30sec->…(not complete) Very fast for serial stage2, <0.2sec. necessary to parallelize? callback of MPI_Reduce interface?
  • 28. Outline Remap model in the Earth System Model Design of Threp Implementation Bilinear in action Demo Future work
  • 29. Bilinear Algorithm 𝑓 𝑥, 𝑦 = 𝑎 + 𝑏𝑥 + 𝑐𝑦 + 𝑑𝑥𝑦 𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑓 0,0 1 − 𝑥 𝑘 (1 − 𝑦 𝑘 ) + 𝑓 1,0 𝑥 𝑘 (1 − 𝑦 𝑘 ) + 𝑓 0,1 𝑦 𝑘 1 − 𝑥 𝑘 + 𝑓 1,1 𝑥 𝑘 𝑦 𝑘 𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑓 0,0 𝑤1 + 𝑓 1,0 𝑤2 + 𝑓 0,1 𝑤3 + 𝑓 1,1 𝑤4 For irregular bilinear box, a similar way to calculate𝑤1, 𝑤2, 𝑤3, 𝑤4 (2011/8, wuhong)
  • 30. Extrapolation Case Source grid masked atm2ocn & ocn2atm Destination grid masked ignore Coupled bilinear Can extrapolation as accurate as interpolation? Yes, a property that…
  • 31. Still Two Stage 𝑓 𝑥1, 𝑦1 = 𝑎 + 𝑏𝑥1 + 𝑐𝑦1 + 𝑑𝑥1 𝑦1 𝑓 = 𝑓 𝑥1, 𝑦1 𝑓 𝑥1, 𝑦1 𝑓 𝑥1, 𝑦1 𝑓 𝑥1, 𝑦1 𝑇 𝑓 𝑥2, 𝑦2 = 𝑎 + 𝑏𝑥2 + 𝑐𝑦2 + 𝑑𝑥2 𝑦2 𝑓 = 𝐶𝑦 1 𝑥1 𝑦1 𝑥1 𝑦1 𝑓 𝑥3, 𝑦3 = 𝑎 + 𝑏𝑥3 + 𝑐𝑦3 + 𝑑𝑥3 𝑦3 1 𝑥2 𝑦2 𝑥2 𝑦2 𝑇 𝑓 𝑥4, 𝑦4 = 𝑎 + 𝑏𝑥4 + 𝑐𝑦4 + 𝑑𝑥4 𝑦4 𝐶= 𝑦= 𝑎 𝑏 𝑐 𝑑 1 𝑥3 𝑦3 𝑥3 𝑦3 1 𝑥4 𝑦4 𝑥4 𝑦4 4×4 Solving inversion of a 4×4 Matrix C 𝑓 𝑥 𝑘 , 𝑦 𝑘 = 𝑎 + 𝑏𝑥 𝑘 + 𝑐𝑦 𝑘 + 𝑑𝑥 𝑘 𝑦 𝑘 𝑓 𝑘 = 𝑧𝑦 𝑓 𝑘 = 𝑧𝐶 −1 𝑓 𝑧 = [1 𝑥 𝑘 𝑦 𝑘 𝑥 𝑘 𝑦 𝑘 ] 𝑓 𝑘 = 𝑤𝑓 𝑤 = 𝑧𝐶−1
  • 32. Piece of Results T42 -> POP43: are: 8.74e-5 mre: 0.00596 Better than idw! POP43->T42: Better than idw mixed bilinear! are: 0.000238 mre: 0.0829
  • 33. Outline Remap model in the Earth System Model Design of Threp Implementation Bilinear in action Demo Future work
  • 34. Discussion Unstructured grid source Periodic boundary problem of unstructured grid Specificity conservative remapping High dimensional remapping Restart Threp
  • 35. Outline Remap model in the Earth System Model Design of Threp Implementation Bilinear in action Demo Future work
  • 36. Roadmap Performance: More sub modules in Threp: PyPy interpreter derivation C extension of kernel code integral mapreduce version of Threp More algorithms: More grids: patch triple poles bicubic unstructured conservative(first & second) Graduate!!
  • 37. Conclusion Threp abstract remapping model in the Earth System Model Threp is a parallel remapping framework, supports masked/unstructured grid Threp is lightweight, easy to start A extrapolation coupled bilinear algorithm implemented in Threp, better accuracy High performance scalability Embrace Threp!!
  • 39. Acknowledge Google.com Stackoverflow.com Lanning Wang< wangln@bnu.edu.cn > Shunqiang Song< pinewall@gmail.com > Li Liu< liuli03@mails.tsinghua.edu.cn > Yushu Chen<>
  • 40. Thank you! Questions?