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

Contents of /trunk/Sources/phylmd/Orography/sugwd.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (show annotations)
Wed Apr 29 15:47:56 2015 UTC (9 years ago) by guez
File size: 1677 byte(s)
Sources inside, compilation outside.
1 module sugwd_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE sugwd(paprs, pplay)
8
9 ! Initialize yoegwd, the common that controls the gravity wave
10 ! drag parametrization.
11
12 ! REFERENCE.
13 ! ECMWF Research Department documentation of the IFS
14
15 ! AUTHOR.
16 ! MARTIN MILLER *ECMWF*
17
18 ! ORIGINAL : 90-01-01
19
20 USE yoegwd, ONLY : gfrcrit, ghmax, gkdrag, gklift, gkwake, grahilo, &
21 grcrit, gsigcr, gssec, gtsec, gvcrit, gvsec, nktopg, nstra
22 use nr_util, only: assert_eq
23
24 REAL, INTENT(IN):: paprs(:, :) ! (nlon, nlev+1)
25 REAL, INTENT(IN):: pplay(:, :) ! (nlon, nlev)
26
27 ! Local:
28 INTEGER nlon, nlev
29 integer jk
30 REAL zpr, zstra, zsigt, zpm1r
31
32 !------------------------------------------------------------
33
34 print *, "Call sequence information: sugwd"
35 nlon = assert_eq(size(paprs, 1), size(pplay, 1), "sugwd nlon")
36 nlev = assert_eq(size(paprs, 2) - 1, size(pplay, 2), "sugwd nlon")
37
38 ! 1. SET THE VALUES OF THE PARAMETERS
39
40 ghmax = 10000.
41
42 zpr = 100000.
43 zstra = 0.1
44 zsigt = 0.94
45
46 DO jk = 1, nlev
47 zpm1r = pplay(nlon / 2, jk) / paprs(nlon / 2, 1)
48 IF (zpm1r >= zsigt) nktopg = jk
49 IF (zpm1r >= zstra) nstra = jk
50 end DO
51
52 ! inversion car dans orodrag on compte les niveaux a l'envers
53 nktopg = nlev - nktopg + 1
54 nstra = nlev - nstra
55 PRINT *, 'nktopg=', nktopg
56 PRINT *, 'nstra=', nstra
57
58 gsigcr = 0.8
59
60 gkdrag = 0.2
61 grahilo = 1.
62 grcrit = 0.01
63 gfrcrit = 1.
64 gkwake = 0.5
65
66 gklift = 0.5
67 gvcrit = 0.
68
69 ! 2. SET VALUES OF SECURITY PARAMETERS
70 gvsec = 0.1
71 gssec = 1E-12
72 gtsec = 1E-7
73
74 END SUBROUTINE sugwd
75
76 end module sugwd_m

  ViewVC Help
Powered by ViewVC 1.1.21