GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: dyn3d_common/caldyn0.F90 Lines: 0 18 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 6 0.0 %

Line Branch Exec Source
1
SUBROUTINE caldyn0(itau,ucov,vcov,teta,ps,masse,pk,phis,phi,w,pbaru,pbarv,time)
2
!
3
!-------------------------------------------------------------------------------
4
! Author: P. Le Van ; modif. 04/93: F.Forget.
5
!-------------------------------------------------------------------------------
6
! Purpose: Compute dynamic tendencies.
7
!-------------------------------------------------------------------------------
8
  USE control_mod, ONLY: resetvarc
9
  USE comvert_mod, ONLY: ap, bp
10
  IMPLICIT NONE
11
  include "dimensions.h"
12
  include "paramet.h"
13
  include "comgeom.h"
14
!===============================================================================
15
! Arguments:
16
  INTEGER, INTENT(IN)  :: itau                      !--- TIME STEP INDEX
17
  REAL,    INTENT(IN)  :: vcov (ip1jm    ,llm)      !--- V COVARIANT WIND
18
  REAL,    INTENT(IN)  :: ucov (ip1jmp1  ,llm)      !--- U COVARIANT WIND
19
  REAL,    INTENT(IN)  :: teta (ip1jmp1  ,llm)      !--- POTENTIAL TEMPERATURE
20
  REAL,    INTENT(IN)  :: ps   (ip1jmp1)            !--- GROUND PRESSURE
21
  REAL,    INTENT(OUT) :: masse(ip1jmp1  ,llm)      !--- MASS IN EACH CELL
22
  REAL,    INTENT(IN)  :: pk   (iip1,jjp1,llm)      !--- PRESSURE
23
  REAL,    INTENT(IN)  :: phis (ip1jmp1)            !--- GROUND GEOPOTENTIAL
24
  REAL,    INTENT(IN)  :: phi  (ip1jmp1  ,llm)      !--- 3D GEOPOTENTIAL
25
  REAL,    INTENT(OUT) :: w    (ip1jmp1  ,llm)      !--- VERTICAL WIND
26
  REAL,    INTENT(OUT) :: pbaru(ip1jmp1  ,llm)      !--- U MASS FLUX
27
  REAL,    INTENT(OUT) :: pbarv(ip1jm    ,llm)      !--- V MASS FLUX
28
  REAL,    INTENT(IN)  :: time                      !--- TIME
29
!===============================================================================
30
! Local variables:
31
  REAL, DIMENSION(ip1jmp1,llmp1) :: p
32
  REAL, DIMENSION(ip1jmp1,llm)   :: ucont, massebx, ang, ecin, convm, bern
33
  REAL, DIMENSION(ip1jmp1)       :: dp
34
  REAL, DIMENSION(ip1jm  ,llm)   :: vcont, masseby, massebxy, vorpot
35
  REAL, DIMENSION(ip1jm)         :: psexbarxy
36
  INTEGER                        :: ij, l
37
!===============================================================================
38
  CALL covcont  ( llm    , ucov    , vcov , ucont, vcont        )
39
  CALL pression ( ip1jmp1, ap      , bp   ,  ps  , p            )
40
  CALL psextbar (   ps   , psexbarxy                            )
41
  CALL massdair (    p   , masse                                )
42
  CALL massbar  (   masse, massebx , masseby                    )
43
  CALL massbarxy(   masse, massebxy                             )
44
  CALL flumass  ( massebx, masseby , vcont, ucont ,pbaru, pbarv )
45
  CALL convmas  (   pbaru, pbarv   , convm                      )
46
  CALL vitvert  ( convm  , w                                    )
47
  CALL tourpot  ( vcov   , ucov    , massebxy  , vorpot         )
48
  CALL enercin  ( vcov   , ucov    , vcont     , ucont  , ecin  )
49
  CALL bernoui  ( ip1jmp1, llm     , phi       , ecin   , bern  )
50
  DO l=1,llm; ang(:,l) = ucov(:,l) + constang(:); END DO
51
  resetvarc=.true. ! force a recomputation of initial values in sortvarc
52
  dp(:)=convm(:,1)/airesurg(:)
53
  CALL sortvarc( itau,ucov,teta,ps,masse,pk,phis,vorpot,phi,bern,dp,time,vcov )
54
55
END SUBROUTINE caldyn0