advance_mod Module



Variables

Type Visibility Attributes Name Initial
real, public, parameter :: eps2 = 1.e-9
real, public, parameter :: eps3 = tiny(1.0)
real, public, parameter :: eps_eta = 1.e-4
real, public :: eps

Subroutines

public subroutine advance(itime, ipart, ithread)

Calculation of turbulent particle trajectories utilizing a * zero-acceleration scheme, which is corrected by a numerically more * accurate Petterssen scheme whenever possible. * * Particle positions are read in, incremented, and returned to the calling * program. * * In different regions of the atmosphere (PBL vs. free troposphere), * different parameters are needed for advection, parameterizing turbulent * velocities, etc. For efficiency, different interpolation routines have * been written for these different cases, with the disadvantage that there * exist several routines doing almost the same. They all share the * included file 'interpol_mod'. The following * interpolation routines are used: * * interpol_all(_nest) interpolates everything (called inside the PBL) * interpol_misslev(_nest) if a particle moves vertically in the PBL, * additional parameters are interpolated if it * crosses a model level * interpol_wind(_nest) interpolates the wind and determines the * standard deviation of the wind (called outside * PBL) also interpolates potential vorticity * interpol_wind_short(_nest) only interpolates the wind (needed for the * Petterssen scheme) * interpol_vdep(_nest) interpolates deposition velocities * * * Author: A. Stohl * * 16 December 1997 * * Changes: * * 8 April 2000: Deep convection parameterization * * May 2002: Petterssen scheme introduced * * 2021, L. Bakels: * - Separated PBL and above PBL computations in different * subroutines * - Moved all turbulence computations to turbulence_mod.f90 *

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: itime
integer, intent(in) :: ipart
integer, intent(in) :: ithread