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

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

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

revision 298 by guez, Mon Feb 5 10:39:38 2018 UTC revision 299 by guez, Thu Aug 2 14:27:11 2018 UTC
# Line 4  module soil_m Line 4  module soil_m
4    
5  contains  contains
6    
7    SUBROUTINE soil(dtime, nisurf, snow, tsurf, tsoil, soilcap, soilflux)    SUBROUTINE soil(nisurf, snow, tsurf, tsoil, soilcap, soilflux)
8    
9      ! From LMDZ4/libf/phylmd/soil.F, version 1.1.1.1, 2004/05/19      ! From LMDZ4/libf/phylmd/soil.F, version 1.1.1.1, 2004/05/19
10    
# Line 31  contains Line 31  contains
31      ! F0 = A + B (Ts(t))      ! F0 = A + B (Ts(t))
32      ! Soilcap = B * dt      ! Soilcap = B * dt
33    
34        use comconst, only: dtphys
35      USE indicesol, only: nbsrf, is_lic, is_oce, is_sic, is_ter      USE indicesol, only: nbsrf, is_lic, is_oce, is_sic, is_ter
36      USE dimphy, only: klon      USE dimphy, only: klon
37      USE dimsoil, only: nsoilmx      USE dimsoil, only: nsoilmx
38      USE suphec_m, only: rtt      USE suphec_m, only: rtt
39    
     REAL, intent(in):: dtime ! physical timestep (s)  
40      INTEGER, intent(in):: nisurf ! sub-surface index      INTEGER, intent(in):: nisurf ! sub-surface index
41      REAL, intent(in):: snow(:) ! (knon)      REAL, intent(in):: snow(:) ! (knon)
42      REAL, intent(in):: tsurf(:) ! (knon) surface temperature at time-step t (K)      REAL, intent(in):: tsurf(:) ! (knon) surface temperature at time-step t (K)
# Line 166  contains Line 166  contains
166      END IF      END IF
167    
168      DO jk = 1, nsoilmx      DO jk = 1, nsoilmx
169         zdz2(jk) = dz2(jk) / dtime         zdz2(jk) = dz2(jk) / dtphys
170      END DO      END DO
171    
172      DO ig = 1, knon      DO ig = 1, knon
# Line 193  contains Line 193  contains
193         soilflux(ig) = ztherm_i(ig) * dz1(1) * (zc(ig, 1, nisurf) + (zd(ig, 1, &         soilflux(ig) = ztherm_i(ig) * dz1(1) * (zc(ig, 1, nisurf) + (zd(ig, 1, &
194              nisurf) - 1.) * tsoil(ig, 1))              nisurf) - 1.) * tsoil(ig, 1))
195         soilcap(ig) = ztherm_i(ig) * (dz2(1) &         soilcap(ig) = ztherm_i(ig) * (dz2(1) &
196              + dtime * (1. - zd(ig, 1, nisurf)) * dz1(1))              + dtphys * (1. - zd(ig, 1, nisurf)) * dz1(1))
197         z1(ig, nisurf) = lambda * (1. - zd(ig, 1, nisurf)) + 1.         z1(ig, nisurf) = lambda * (1. - zd(ig, 1, nisurf)) + 1.
198         soilcap(ig) = soilcap(ig) / z1(ig, nisurf)         soilcap(ig) = soilcap(ig) / z1(ig, nisurf)
199         soilflux(ig) = soilflux(ig) + soilcap(ig) * (tsoil(ig, 1) &         soilflux(ig) = soilflux(ig) + soilcap(ig) * (tsoil(ig, 1) &
200              * z1(ig, nisurf) - lambda * zc(ig, 1, nisurf) - tsurf(ig)) / dtime              * z1(ig, nisurf) - lambda * zc(ig, 1, nisurf) - tsurf(ig)) / dtphys
201      END DO      END DO
202    
203    contains    contains

Legend:
Removed from v.298  
changed lines
  Added in v.299

  ViewVC Help
Powered by ViewVC 1.1.21