/[lmdze]/trunk/phylmd/Interface_surf/clqh.f
ViewVC logotype

Diff of /trunk/phylmd/Interface_surf/clqh.f

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

revision 267 by guez, Thu May 3 16:14:08 2018 UTC revision 279 by guez, Fri Jul 20 14:30:23 2018 UTC
# Line 11  contains Line 11  contains
11         dflux_s, dflux_l, fqcalving, ffonte, run_off_lic_0)         dflux_s, dflux_l, fqcalving, ffonte, run_off_lic_0)
12    
13      ! Author: Z. X. Li (LMD/CNRS)      ! Author: Z. X. Li (LMD/CNRS)
14      ! Date: 1993/08/18      ! Date: 1993 Aug. 18th
15      ! Objet : diffusion verticale de "q" et de "h"      ! Objet : diffusion verticale de "q" et de "h"
16    
17      USE conf_phys_m, ONLY: iflag_pbl      USE conf_phys_m, ONLY: iflag_pbl
# Line 80  contains Line 80  contains
80      REAL dflux_s(:) ! (knon) derivee du flux sensible dF / dTs      REAL dflux_s(:) ! (knon) derivee du flux sensible dF / dTs
81      REAL dflux_l(:) ! (knon) derivee du flux latent dF / dTs      REAL dflux_l(:) ! (knon) derivee du flux latent dF / dTs
82    
83        REAL, intent(out):: fqcalving(:) ! (knon)
84      ! Flux d'eau "perdue" par la surface et n\'ecessaire pour que limiter la      ! Flux d'eau "perdue" par la surface et n\'ecessaire pour que limiter la
85      ! hauteur de neige, en kg / m2 / s      ! hauteur de neige, en kg / m2 / s
     REAL fqcalving(klon)  
86    
     ! Flux thermique utiliser pour fondre la neige  
87      REAL ffonte(klon)      REAL ffonte(klon)
88        ! Flux thermique utiliser pour fondre la neige
89    
90      REAL run_off_lic_0(klon)! runof glacier au pas de temps precedent      REAL run_off_lic_0(klon)! runof glacier au pas de temps precedent
91    
# Line 107  contains Line 107  contains
107      REAL psref(klon) ! pression de reference pour temperature potent.      REAL psref(klon) ! pression de reference pour temperature potent.
108      REAL zx_pkh(klon, klev), zx_pkf(klon, klev)      REAL zx_pkh(klon, klev), zx_pkf(klon, klev)
109    
110      ! contre-gradient pour la vapeur d'eau: (kg / kg) / metre      REAL gamq(size(knindex), 2:klev) ! (knon, 2:klev)
111      REAL gamq(klon, 2:klev)      ! contre-gradient pour la vapeur d'eau, en m-1
112      ! contre-gradient pour la chaleur sensible: Kelvin / metre  
113      REAL gamt(klon, 2:klev)      REAL gamt(size(knindex), 2:klev) ! (knon, 2:klev)
114        ! contre-gradient pour la chaleur sensible, en K m-1
115    
116      REAL z_gamaq(klon, 2:klev), z_gamah(klon, 2:klev)      REAL z_gamaq(klon, 2:klev), z_gamah(klon, 2:klev)
117      REAL zdelz      REAL zdelz
118    
# Line 126  contains Line 128  contains
128    
129      knon = size(knindex)      knon = size(knindex)
130    
131        gamq= 0.
132    
133      if (iflag_pbl == 1) then      if (iflag_pbl == 1) then
134         do k = 3, klev         gamt(:, 2) = - 2.5e-3
135            do i = 1, knon         gamt(:, 3:)= - 1e-3
              gamq(i, k)= 0.0  
              gamt(i, k)= - 1.0e-03  
           enddo  
        enddo  
        do i = 1, knon  
           gamq(i, 2) = 0.0  
           gamt(i, 2) = - 2.5e-03  
        enddo  
136      else      else
137         do k = 2, klev         gamt = 0.
           do i = 1, knon  
              gamq(i, k) = 0.0  
              gamt(i, k) = 0.0  
           enddo  
        enddo  
138      endif      endif
139    
140      DO i = 1, knon      DO i = 1, knon
141         psref(i) = paprs(i, 1) !pression de reference est celle au sol         psref(i) = paprs(i, 1) ! pression de reference est celle au sol
142      ENDDO      ENDDO
143      DO k = 1, klev      DO k = 1, klev
144         DO i = 1, knon         DO i = 1, knon
# Line 178  contains Line 169  contains
169            z_gamah(i, k) = gamt(i, k) * zdelz * RCPD * zx_pkh(i, k)            z_gamah(i, k) = gamt(i, k) * zdelz * RCPD * zx_pkh(i, k)
170         ENDDO         ENDDO
171      ENDDO      ENDDO
172    
173      DO i = 1, knon      DO i = 1, knon
174         zx_buf1(i) = zx_coef(i, klev) + delp(i, klev)         zx_buf1(i) = zx_coef(i, klev) + delp(i, klev)
175         zx_cq(i, klev) = (local_q(i, klev) * delp(i, klev) &         zx_cq(i, klev) = (local_q(i, klev) * delp(i, klev) &
# Line 190  contains Line 182  contains
182              - zx_coef(i, klev) * z_gamah(i, klev)) / zx_buf2(i)              - zx_coef(i, klev) * z_gamah(i, klev)) / zx_buf2(i)
183         zx_dh(i, klev) = zx_coef(i, klev) / zx_buf2(i)         zx_dh(i, klev) = zx_coef(i, klev) / zx_buf2(i)
184      ENDDO      ENDDO
185    
186      DO k = klev - 1, 2, - 1      DO k = klev - 1, 2, - 1
187         DO i = 1, knon         DO i = 1, knon
188            zx_buf1(i) = delp(i, k) + zx_coef(i, k) &            zx_buf1(i) = delp(i, k) + zx_coef(i, k) &
# Line 224  contains Line 217  contains
217         zx_dh(i, 1) = - 1. * RG / zx_buf2(i)         zx_dh(i, 1) = - 1. * RG / zx_buf2(i)
218      ENDDO      ENDDO
219    
     ! Appel \`a interfsurf (appel g\'en\'erique) routine d'interface  
     ! avec la surface  
   
220      ! Initialisation      ! Initialisation
221      petAcoef =0.      petAcoef =0.
222      peqAcoef = 0.      peqAcoef = 0.

Legend:
Removed from v.267  
changed lines
  Added in v.279

  ViewVC Help
Powered by ViewVC 1.1.21