/[lmdze]/trunk/Sources/phylmd/coefkzmin.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/coefkzmin.f

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

revision 250 by guez, Fri Nov 10 15:16:48 2017 UTC revision 251 by guez, Mon Jan 8 14:12:02 2018 UTC
# Line 4  module coefkzmin_m Line 4  module coefkzmin_m
4    
5  contains  contains
6    
7    SUBROUTINE coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, ycoefm, kn)    SUBROUTINE coefkzmin(ypaprs, ypplay, yu, yv, yt, yq, ycoefm, kn)
8    
9      ! From LMDZ4/libf/phylmd/coefkzmin.F, version 1.1.1.1 2004/05/19 12:53:08      ! From LMDZ4/libf/phylmd/coefkzmin.F, version 1.1.1.1, 2004/05/19 12:53:08
10    
11      ! Entrées modifiées en attendant une version où les zlev et zlay      ! Entrées modifiées en attendant une version où les zlev et zlay
12      ! soient disponibles.      ! soient disponibles.
13    
14      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev
15      USE suphec_m, ONLY: rd, rg, rkappa      USE suphec_m, ONLY: rd, rg, rkappa
16    
17      integer, intent(in):: knon      REAL, intent(in):: ypaprs(:, :) ! (knon, klev+1)
18      REAL, intent(in):: ypaprs(klon, klev+1), ypplay(klon, klev)      REAL, intent(in):: ypplay(:, :) ! (knon, klev)
19      REAL, intent(in):: yu(klon, klev), yv(klon, klev) ! wind, in m s-1      REAL, intent(in):: yu(:, :), yv(:, :) ! (knon, klev) wind, in m s-1
20      REAL, intent(in):: yt(klon, klev) ! temperature, in K      REAL, intent(in):: yt(:, :) ! (knon, klev) temperature, in K
21      REAL, intent(in):: yq(klon, klev)      REAL, intent(in):: yq(:, :) ! (knon, klev)
22      REAL, intent(in):: ycoefm(:) ! (knon) drag coefficient      REAL, intent(in):: ycoefm(:) ! (knon) drag coefficient
23    
24      REAL, intent(out):: kn(:, 2:) ! (knon, 2:klev) coefficient de      REAL, intent(out):: kn(:, 2:) ! (knon, 2:klev) coefficient de
# Line 28  contains Line 28  contains
28    
29      ! Local:      ! Local:
30    
31      real ustar(knon) ! u*      integer knon
32      real zlay(knon, klev) ! in m      real ustar(size(ypaprs, 1)) ! (knon) u*
33        real zlay(size(ypaprs, 1), klev) ! (knon, klev) in m
34      integer i, k      integer i, k
35      real pblhmin(knon)      real pblhmin(size(ypaprs, 1)) ! (knon)
36      real, parameter:: coriol = 1e-4      real, parameter:: coriol = 1e-4
37    
38      REAL zlev(knon, 2: klev)      REAL zlev(size(ypaprs, 1), 2: klev) ! (knon, 2: klev)
39      ! altitude at level (interface between layer with same index), in m      ! altitude at level (interface between layer with same index), in m
40    
41      REAL teta(knon, klev)      REAL teta(size(ypaprs, 1), klev) ! (knon, klev)
42      ! température potentielle au centre de chaque couche (la valeur au      ! température potentielle au centre de chaque couche (la valeur au
43      ! debut du pas de temps)      ! debut du pas de temps)
44    
# Line 45  contains Line 46  contains
46    
47      !---------------------------------------------------------------------      !---------------------------------------------------------------------
48    
49        knon = size(ypaprs, 1)
50        
51      ! Debut de la partie qui doit etre incluse a terme dans clmain.      ! Debut de la partie qui doit etre incluse a terme dans clmain.
52    
53      do i = 1, knon      do i = 1, knon
# Line 69  contains Line 72  contains
72      enddo      enddo
73    
74      forall (k = 2: klev) zlev(:, k) = 0.5 * (zlay(:, k) + zlay(:, k-1))      forall (k = 2: klev) zlev(:, k) = 0.5 * (zlay(:, k) + zlay(:, k-1))
75      ustar = SQRT(ycoefm * (yu(:knon, 1)**2 + yv(:knon, 1)**2))      ustar = SQRT(ycoefm * (yu(:, 1)**2 + yv(:, 1)**2))
76    
77      ! Fin de la partie qui doit être incluse à terme dans clmain      ! Fin de la partie qui doit être incluse à terme dans clmain
78    

Legend:
Removed from v.250  
changed lines
  Added in v.251

  ViewVC Help
Powered by ViewVC 1.1.21