/[lmdze]/trunk/Sources/phylmd/Orography/YOEGWD.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/Orography/YOEGWD.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/YOEGWD.h revision 3 by guez, Wed Feb 27 13:16:39 2008 UTC trunk/Sources/phylmd/Orography/YOEGWD.f revision 158 by guez, Tue Jul 21 14:44:45 2015 UTC
# Line 1  Line 1 
1  !  module yoegwd
 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/YOEGWD.h,v 1.1.1.1 2004/05/19 12:53:08 lmdzadmin Exp $  
 !  
 C     -----------------------------------------------------------------  
 C*    *COMMON* *YOEGWD* - PARAMETERS FOR GRAVITY WAVE DRAG CALCULATIONS  
 C     -----------------------------------------------------------------  
 C  
       integer NKTOPG,NSTRA  
       real GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT  
       real GHMAX,GRAHILO,GSIGCR,GSSEC,GTSEC,GVSEC  
       COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT  
      *        ,GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC  
 C  
2    
3      ! From phylmd/YOEGWD.h, version 1.1.1.1 2004/05/19 12:53:08
4      ! Parameters for gravity wave drag calculations
5    
6      implicit none
7    
8      integer NKTOPG, NSTRA
9      real, parameter:: GFRCRIT = 1., GKWAKE = 0.5, GRCRIT = 0.01, GVCRIT = 0.
10      real, parameter:: GKDRAG = 0.2, GKLIFT = 0.5, GRAHILO = 1., GSIGCR = 0.8
11    
12      ! SECURITY PARAMETERS:
13      real, parameter:: GVSEC = 0.1, GSSEC = 1E-12, GTSEC = 1E-7
14    
15    contains
16    
17      SUBROUTINE sugwd(paprs, pplay)
18    
19        ! Initialize yoegwd, the common that controls the gravity wave
20        ! drag parametrization.
21    
22        ! REFERENCE: ECMWF Research Department documentation of the IFS
23        ! AUTHOR: MARTIN MILLER *ECMWF*
24        ! ORIGINAL : 90-01-01
25    
26        use nr_util, only: assert_eq, ifirstloc
27    
28        REAL, INTENT(IN):: paprs(:, :) ! (klon, llm + 1)
29        REAL, INTENT(IN):: pplay(:, :) ! (klon, llm)
30    
31        ! Local:
32        INTEGER klon, llm
33        real zpm1r(size(pplay, 2)) ! (llm)
34    
35        !------------------------------------------------------------
36    
37        print *, "Call sequence information: sugwd"
38        klon = assert_eq(size(paprs, 1), size(pplay, 1), "sugwd klon")
39        llm = assert_eq(size(paprs, 2) - 1, size(pplay, 2), "sugwd llm")
40    
41        ! 1. SET THE VALUES OF THE PARAMETERS
42    
43        zpm1r = pplay(klon / 2, llm:1:- 1) / paprs(klon / 2, 1)
44        ! inversion car dans orodrag on compte les niveaux \`a l'envers
45    
46        nktopg = ifirstloc(zpm1r >= 0.94)
47        nstra = ifirstloc(zpm1r >= 0.1) - 1
48        PRINT *, 'nktopg = ', nktopg
49        PRINT *, 'nstra = ', nstra
50    
51      END SUBROUTINE sugwd
52    
53    end module yoegwd

Legend:
Removed from v.3  
changed lines
  Added in v.158

  ViewVC Help
Powered by ViewVC 1.1.21