160 likes | 327 Views
The Fujin. Development of Parallel Coupler. Takashi Arakawa arakawa@tokyo.rist.or.jp Research Organization for Information Science & Technology. 風神. wind. god. General Meaning of Fujin. A god of wind Inscribed in Chinese/Japanese Kanji characters. Painted by Khorin Ogata.
E N D
The Fujin Development of Parallel Coupler Takashi Arakawa arakawa@tokyo.rist.or.jp Research Organization for Information Science & Technology
風神 wind god General Meaning of Fujin • A god of wind • Inscribed in Chinese/Japanese Kanji characters Painted by Khorin Ogata
God of Wind • Very popular name in Japan • Used in various fields
Our Fujin • Framework for meteorological model(s) • Objectives • parallel computing, domain nesting, coupling • with minimal effort and minimal time • Information hiding • Modular and Layered Structure • Fortran 90 employed
What can you do with the Fujin? • Parallelization • Two Dimensional domain decomposition • Domain Nesting • Two way nesting • No limitation for nesting depth • Each coupled models can have different nesting depth • Coupling • Multi-model coupling
Limitations of the Fujin • Structured Grid based model only • FEM, Spectral Model etc. are not supported • No implementation of interpolation scheme for Nested Domains/Coupled Models • interpolation scheme is meteorological issue • not concerned problem for the Fujin • Fujin provides only the simple interface
Structure of the Fujin • 25 modules, 450 procedures • Three layers • Parallel package layer • parallel library package using MPI • Data layer • definition of data structure • procedures for the data • Interface layer • Utility modules • Error handling,logging,file management existing model Interface Data Definition Parallel Package
Model Routines Model Routines Data definition Driver Driver Coupler Detail of the Interface Layer • Coupler • task control • flux exchange • Data Definition • definition of the global variables • Driver • Initialization, Integration, Result output • Inserting procedures of existing model
(ni+1,nj+1) (ni,nj) j_end+1 j_end j_start j_start i_start i_end (1,1) i_start i_end+1 (1,1) Grid Structure • User is required to define the location of each global variable in a initialization subroutine call InitData(pot_tmp,”potential temperature”, SCALAR_POINT)
Domain Nesting (1)Time Integration Scheme • Two way self-nesting ① Domain 1 ② ⑤ Domain 2 ③ ④ ⑥ ⑦ Domain 3 Time
1 2 1 2 3 4 3 4 Domain Nesting (2)Data Exchange Scheme • Effective data exchange scheme ① ② ③ ④ Interpolation ① ①
Model 1 Model 3 Model 4 Model 2 CouplingTask Control Strategy • Each model is attached to one of these tasks • Models in the same task are computed serially • Models in the different tasks are computed parallelly Coupler Task 1 Task 2 Task 3 • Models in the same task • must have the same number of domain • Having a different decomposition pattern is allowed
C O C A C O C A C O C A C O Coupling (2)data exchange scheme • Same as the scheme of domain nesting • Type-D ← similar to MPCCI of GMD • Difference from MPCCI is coupling strategy
Connecting the Model • Target model is CReSS • non-hydrostatic model developed by Nagoya Univ. and RIST • Parallel Efficiency • over 85% for 64 PEs • Characteristic of CReSS, not the Fujin
Connecting the Model (2) • Domain Nesting Test • Three dimensional mountain wave • Three domains • Interpolation and boundary condition←Meso-NH
Future Plan • Final goal • To release the Fujin as free software • Program structure is still complex • Document