49
Implementation of an Advection Scheme based on Piecewise Parabolic Method (PPM) in the MesoNH

Implementation of an Advection Scheme based on Piecewise Parabolic Method (PPM) in the MesoNH

Embed Size (px)

Citation preview

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 ?