implementation of an advection scheme based on piecewise parabolic method (ppm) in the mesonh
DESCRIPTION
Implementation of an Advection Scheme based on Piecewise Parabolic Method (PPM) in the MesoNH. Introduction. currently available advection schemes in MesoNH are: centered 2 nd order (CEN2ND) scheme for momentum advection flux-corrected transport (FCT) - PowerPoint PPT PresentationTRANSCRIPT
Implementation of an Advection Scheme based on Piecewise Parabolic
Method (PPM) in the MesoNH
Introduction
• currently available advection schemes in MesoNH are:– centered 2nd order (CEN2ND) scheme for
momentum advection– flux-corrected transport (FCT) – multidimensional positive definite advection
transport algorithm (MPDATA)
• leap-frog scheme used for time marching
Introduction
• interested in implementing an accurate and more efficient advection scheme into the MesoNH– advection of a large number of chemical
species – new, monotone, advection scheme would
potentially operate on larger time step (separate from the model dynamics)
Introduction
• semi-Lagrangian scheme tested for 2D (Stefan Wunderlich and J-P Pinty, 2004)– very accurate– allows for large time steps (works with
Courant numbers greater than 1)– extension to 3D (vertical) non-trivial– parallelization and grid nesting…– open boundary conditions…
• investigate another option, the PPM scheme
Introduction
• as introduction for the PPM, centered 4th order advection scheme (CEN4TH) was prepared by J-P Pinty
• now fully implemented (?)
– works for all boundary conditions– parallelized
• optional separate advection of momentum (U,V,W) and scalar fields with CEN4TH
PPM scheme
• introduced by Colella and Woodward in 1984
• implemented and used in many atmospheric sciences and astrophysics applications (Carpenter 1990, Lin 1994, Lin 1996, … , also available in WRF, Skamarock 2005)
• several modifications (e.g. extension to Courant numbers greater than 1) and improvements made
PPM algorithm:
PPM algorithm:
piecewise parabolic polynomial
PPM algorithm:
PPM algorithm:
PPM algorithm:
PPM algorithm:
PPM scheme
• to ensure that the scheme is monotonic, constraints are applied on parabolas’ parameters
• positive definite: does not generate negative values from non-negative initial values
• monotonic: does not amplify extrema in the initial values– monotonic scheme is also positive definite
and consistent
PPM scheme
• Lin 1994 and 1996 suggests 3 different monotonic and semi-monotonic constraints:– fully monotonic - PPM_01 – “semi-monotonic” - PPM_02 - eliminates only
undershoots– “positive definite” - PPM_03 - eliminates only
negative undershoots– it is possible to use non-monotonized version
(e.g. in WRF) - PPM_00
PPM scheme
• fully monotonic 1D PPM
• periodic BC• Δx = 1, nx =
100• shape advected
through the domain 5 times
PPM_01
PPM scheme
• semi -monotonic 1D PPM
PPM_02
PPM scheme
• positive definite 1D PPM
PPM_03
Implementing the PPM in MesoNH (2D)
• PPM algorithm requires forward in time integration, not leap-frog
• several ways to adapt the leap-frog scheme to work with the PPM advection:
Implementing the PPM in MesoNH (2D)
Implementing the PPM in MesoNH (2D)
• operator splitting following Lin 1996:
1 2
3
MesoNH setup for the PPM scheme testing
• 2D idealized-flow tests with passive tracer transport in horizontal plane
• Cartesian grid (100 x 100 x 1) with Δx = Δy = 1
• prescribed stationary flow• periodic (CYCL) boundary conditions• numerical diffusion and Asselin time filter
switched off• single-grid calculation on 1 CPU Linux PC
Testing the PPM – simple rotation, ω = const.
• one full rotation in 1200 s
• max Courant number = 0.37
• average courant number = 0.2
• advecting cone-shaped tracer field
Testing the PPM – simple rotation, ω = const.
PPM_01 FCT
Testing the PPM – simple rotation, ω = const.
PPM_01 MPDATA
Testing the PPM – simple rotation, ω = const.
PPM_01 PPM_02
Testing the PPM – simple rotation, ω = const.
PPM_01 PPM_03
Testing the PPM – simple rotation, ω = const.
PPM_01 PPM_00
Simple rotation – diagnostics
Simple rotation – diagnostics
Simple rotation – diagnostics
Simple rotation – diagnostics
• error analysis following Takacs 1985
Simple rotation – diagnostics
Stability of the advection schemes
• PPM schemes stable up to Courant numbers max(Cx,Cy) = 1 – this is verified for MesoNH with advection only
• FCT and MPDATA schemes become unstable at much smaller Courant numbers (less than 0.35 for MPDATA)
• CEN4TH also unstable for C > 0.4, but theoretically should be stable for Courant numbers up to 0.72– perhaps because of different advection operator
splitting?
Work in progress
• incorporate the PPM scheme for scalar advection into the full 3D model– some problems with time marching ?
• implement OPEN boundary conditions into the PPM scheme
• continue working on semi-Lagrangian scheme (extension to 3D)
Summary• new centered 4th order scheme CEN4TH
implemented – should be used for momentum advection in
combination with e.g. FCT2ND for scalars
• several versions of monotone and semi-monotone PPM schemes in implementation– better accuracy and stability properties than
existing schemes – still need to be fully implemented into the
MesoNH
Questions?
PPM algorithm:
PPM scheme
• fully monotonic with steepening 1D PPM
• fairly complicated and numerically expensive procedure
PPM_1S
Testing the PPM – cyclogenesis, ω(r)
max Courant number = 0.32
• average Courant number = 0.1
Testing the PPM – cyclogenesis, ω(r)
PPM_01 FCT
Testing the PPM – cyclogenesis, ω(r)
PPM_01 MPDATA
Testing the PPM – cyclogenesis, ω(r)
PPM_01 PPM_02
Testing the PPM – cyclogenesis, ω(r)
PPM_01 PPM_03
Testing the PPM – cyclogenesis, ω(r)
PPM_01 PPM_01 with steepening
Stability of the advection schemes
• the PPM schemes should be stable for Courant numbers up to one, Cr = 1
• CEN4TH with leap-frog time marching should be stable up to Cr = 0.72
• simple test: advection along diagonal with uniform flow speed (u = v = 0.25), varying Δt
Stability of the advection schemes
• advection along the diagonal, from bottom left to top right corner
• u = v = 0.25 m/s
• for Δt = 1, Cx = Cy = 0.25
• PPM schemes should work for up to Δt = 5
Stability of the advection schemes
PPM_01Cx,y = 1C = 1.41
FCTCx,y=0.25C = 0.35
MPDATACx,y=0.25C = 0.35
Future work
• implement open boundary conditions for the PPM schemes
• parallelize the code
• implement new time-marching scheme, RK3 (better accuracy, larger Cr, full use of the PPM schemes) ?
• further investigate the stability issues of CEN4TH, FCT and MPDATA schemes ?