calc_etadot Program

Uses

  • program~~calc_etadot~~UsesGraph program~calc_etadot calc_etadot module~phtogr PHTOGR program~calc_etadot->module~phtogr module~rwgrib2 RWGRIB2 program~calc_etadot->module~rwgrib2 module~ftrafo FTRAFO program~calc_etadot->module~ftrafo module~grtoph GRTOPH program~calc_etadot->module~grtoph GRIB_API GRIB_API program~calc_etadot->GRIB_API module~grtoph->module~phtogr

Prepare input data for FLEXPART, esp. vertical velocity as etadot or etadot * dp/deta


author: L. Haimberger date: 03/2010 version: V4.0

Program calc_etadot

Prepares input data for POP model meteorological preprocessor


Calculation of etapoint on a regular grid and writing U,V,ETAPOINT,T,PS,Q,SD,MSL,TCC,10U, 10V, 2T,2D,LSP,CP,SSHF,SSR, EWSS,NSSS to an output file (input and output in GRIB 1 or 2 format).
etapoint is defined as the total time derivative of ECMWF vertical coordinate eta multiplied by the derivative of pressure with respect to eta:

Version history and authors:

  • 04/1994: Leopold Haimberger, Gerhard Wotawa

  • 2003-05-11: Alexander Beck

  • 12/2006: L. Haimberger V2.0, handle arbitrary regular grids and T799 resolution data

  • 03/2010: L. Haimberger V4.0, handle GRIB edition 2 fields and T1279 resolution data

  • 04-06/2019: Petra Seibert, beautify code and add FORD documentation
  • 06/2020: Petra Seibert, translate some comments into English comment out writing of VERTICAL.EC

Input required:

 UNIT  FILE      PARAMETER(S)    DATA REPRESENTATION

 11    fort.11   T,U,V           regular lat-lon grid
 12    fort.12   D               regular lat-lon grid   
 13    fort.13   LNSP            spherical harmonics
 14    fort.14   SD,MSL,TCC,10U,                                
                 10V,2T,2D       regular lat-lon grid     
 16    fort.16   LSP,CP,SSHF,         
                 SSR,EWSS,NSSS   regular lat-lon grid
 17    fort.17   Q               regular lat-lon grid

Output produced:

UNIT  FILE      PARAMETER(S)      DATA REPRESENTATION

15    fort.15   `U,V,ETA,T,PS,                                  
                `Q,SD,MSL,TCC,`                                  
                `10U,10V,2T,2D,`  regular lat-lon grid         
                `LSP,CP,SSHF,`                                   
                `SSR,EWSS,NSSS`

ALLOCATE VARIABLES

Initialise Legendre transformation on the lat-lon grid

Initialisation of fields for FFT and Legendre transformation to Gaussian grid and back to phase space read LNSP in SH read u,v in SH Transforming the wind to the Gaussian grid read DIV in SH Transform horizontal divergence to the Gaussian grid Calculation of the gradient of LNSP (log of surface pressure) on Gaussian grid
Calculation of the vertical velocity on the Gaussian grid
Calculation of omega on the Gaussian grid

READING OF SURFACE PRESSURE

READING OF U,V

READING OF LNSP on grid

READING OF DIVERGENCE

Initialise Legendre transformation on the lat-lon grid. Without Gaussian grid calculation, Legendre polynomials are calculated only for one latitude, to save space

READING OF T

READING OF SPECIFIC HUMIDITY

WRITE MODEL LEVEL DATA TO fort.15


Calls

program~~calc_etadot~~CallsGraph program~calc_etadot calc_etadot proc~readspectral READSPECTRAL program~calc_etadot->proc~readspectral proc~phgcut PHGCUT program~calc_etadot->proc~phgcut proc~grph213 GRPH213 program~calc_etadot->proc~grph213 grib_close_file grib_close_file program~calc_etadot->grib_close_file proc~statis STATIS program~calc_etadot->proc~statis proc~phgr213 PHGR213 program~calc_etadot->proc~phgr213 proc~gauleg GAULEG program~calc_etadot->proc~gauleg grib_open_file grib_open_file program~calc_etadot->grib_open_file set99 set99 program~calc_etadot->set99 proc~posnam POSNAM program~calc_etadot->proc~posnam proc~readlatlon READLATLON program~calc_etadot->proc~readlatlon proc~phgrad PHGRAD program~calc_etadot->proc~phgrad proc~readspectral->grib_close_file grib_count_in_file grib_count_in_file proc~readspectral->grib_count_in_file proc~phsymcut PHSYMCUT proc~phgcut->proc~phsymcut proc~phgpns PHGPNS proc~phgcut->proc~phgpns proc~grphsub GRPHSUB proc~grph213->proc~grphsub ind ind proc~grph213->ind proc~phsym PHSYM proc~phgr213->proc~phsym dcos dcos proc~gauleg->dcos proc~readlatlon->grib_close_file proc~readlatlon->grib_count_in_file proc~rfourtr RFOURTR proc~phsymcut->proc~rfourtr proc~phgpns->proc~rfourtr fft99 fft99 proc~rfourtr->fft99

Contents


Variables

Type AttributesNameInitial
real, ALLOCATABLE, DIMENSION (:,:):: LNPS
real, ALLOCATABLE, DIMENSION (:,:):: Z
real, ALLOCATABLE, DIMENSION (:,:,:):: T
real, ALLOCATABLE, DIMENSION (:,:,:):: UV
real, ALLOCATABLE, DIMENSION (:,:,:):: UV2
real, ALLOCATABLE, DIMENSION (:,:,:):: QA
real, ALLOCATABLE, DIMENSION (:,:,:):: OM
real, ALLOCATABLE, DIMENSION (:,:,:):: OMR
real, ALLOCATABLE, DIMENSION (:,:,:):: DIV
real, ALLOCATABLE, DIMENSION (:,:,:):: ETA
real, ALLOCATABLE, DIMENSION (:,:,:):: ETAR
real, ALLOCATABLE, DIMENSION (:,:):: DPSDL
real, ALLOCATABLE, DIMENSION (:,:):: DPSDM
real, ALLOCATABLE, DIMENSION (:,:,:):: PS
real, ALLOCATABLE, DIMENSION (:,:,:):: DPSDT
real, ALLOCATABLE, DIMENSION (:,:,:):: SURF
real, ALLOCATABLE, DIMENSION (:,:,:):: FLUX
real, ALLOCATABLE, DIMENSION (:,:,:):: OROLSM
real, ALLOCATABLE, DIMENSION (:):: WSAVE
real, ALLOCATABLE, DIMENSION (:):: H
real, ALLOCATABLE, DIMENSION (:):: SINL
real, ALLOCATABLE, DIMENSION (:):: COSL
real, ALLOCATABLE, DIMENSION (:):: WSAVE2
real, ALLOCATABLE, DIMENSION (:):: BREITE
real, ALLOCATABLE, DIMENSION (:):: GBREITE
real, ALLOCATABLE, DIMENSION (:):: AK
real, ALLOCATABLE, DIMENSION (:):: BK
real, ALLOCATABLE, DIMENSION (:):: pv
real :: X1
real :: X2
real :: RMS
real :: MW
real :: SIG
real :: LAM
real, ALLOCATABLE:: CUA(:,:,:)
real, ALLOCATABLE:: CVA(:,:,:)
real, ALLOCATABLE, DIMENSION (:,:):: P
real, ALLOCATABLE, DIMENSION (:,:):: PP
real, ALLOCATABLE, DIMENSION (:,:):: P2
real, ALLOCATABLE, DIMENSION (:,:):: XMN
real, ALLOCATABLE, DIMENSION (:,:):: HILFUV
real, ALLOCATABLE, DIMENSION (:):: LNPMN
real, ALLOCATABLE, DIMENSION (:):: LNPMN2
real, ALLOCATABLE, DIMENSION (:):: LNPMN3
real, ALLOCATABLE, DIMENSION (:):: WEIGHT
real, ALLOCATABLE, DIMENSION (:,:):: UGVG
real, ALLOCATABLE, DIMENSION (:,:):: DG
real, ALLOCATABLE, DIMENSION (:,:):: ETAG
real, ALLOCATABLE, DIMENSION (:,:):: GWSAVE
real, ALLOCATABLE, DIMENSION (:):: PSG
real, ALLOCATABLE, DIMENSION (:):: HILF
integer, ALLOCATABLE, DIMENSION (:):: MLAT
integer, ALLOCATABLE, DIMENSION (:):: MPSURF
integer, ALLOCATABLE, DIMENSION (:):: MPFLUX
integer, ALLOCATABLE, DIMENSION (:):: MPORO
integer, ALLOCATABLE, DIMENSION (:):: MPAR
integer, ALLOCATABLE:: GIFAX(:,:)
real :: PI
real :: COSB
real :: DAK
real :: DBK
real :: P00
real :: URLAR8
real :: JMIN1
real :: LLLAR8
real :: MAXBMIN1
real :: PIR8
real :: DCOSB
integer :: I
integer :: J
integer :: K
integer :: L
integer :: IERR
integer :: M
integer :: LTEST
integer :: MK
integer :: NGI
integer :: NGJ
integer :: MFLUX
integer :: MSURF
integer :: MORO
integer :: LUNIT
integer :: LUNIT2
integer :: MAXL
integer :: MAXB
integer :: MLEVEL
integer :: LEVOUT
integer :: LEVMIN
integer :: LEVMAX
integer :: MOMEGA
integer :: MOMEGADIFF
integer :: MGAUSS
integer :: MSMOOTH
integer :: MNAUF
integer :: META
integer :: METADIFF
integer :: MDPDETA
integer :: METAPAR
real :: RLO0
real :: RLO1
real :: RLA0
real :: RLA1
character(len=300) :: MLEVELIST
integer :: MAUF
integer :: MANF
integer :: IFAX(10)
integer :: IGRIB(1)
integer :: iret
integer :: ogrib
character(len=80) :: FILENAME