source: lmdz_wrf/WRFV3/phys/module_progtm.F @ 1

Last change on this file since 1 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1      module module_progtm
2      USE MODULE_GFS_MACHINE , ONLY : kind_phys
3      implicit none
4      SAVE
5!
6      integer,parameter:: NTYPE=9
7      integer,parameter:: NGRID=22
8      real(kind=kind_phys) B(NTYPE), SATPSI(NTYPE), SATKT(NTYPE),       &
9     &                     TSAT(NTYPE),                                 &
10     &                     DFK(NGRID,NTYPE),                            &
11     &                     KTK(NGRID,NTYPE),                            &
12     &                     DFKT(NGRID,NTYPE)
13!
14!  the nine soil types are:
15!    1  ... loamy sand (coarse)
16!    2  ... silty clay loam (medium)
17!    3  ... light clay (fine)
18!    4  ... sandy loam (coarse-medium)
19!    5  ... sandy clay (coarse-fine)
20!    6  ... clay loam  (medium-fine)
21!    7  ... sandy clay loam (coarse-med-fine)
22!    8  ... loam  (organic)
23!    9  ... ice (use loamy sand property)
24!
25!     DATA B/4.05,4.38,4.9,5.3,5.39,7.12,7.75,8.52,
26!    &       10.4,10.4,11.4/
27!     DATA SATPSI/.121,.09,.218,.786,.478,.299,.356,.63,
28!    &            .153,.49,.405/
29!     DATA SATKT/1.76E-4,1.5633E-4,3.467E-5,7.2E-6,6.95E-6,
30!    &           6.3E-6,1.7E-6,2.45E-6,2.167E-6,1.033E-6,
31!    &           1.283E-6/
32!     DATA TSAT/.395,.41,.435,.485,.451,.42,.477,.476,
33!    &          .426,.492,.482/
34      data b/4.26,8.72,11.55,4.74,10.73,8.17,6.77,5.25,4.26/
35      data satpsi/.04,.62,.47,.14,.10,.26,.14,.36,.04/
36      data satkt/1.41e-5,.20e-5,.10e-5,.52e-5,.72e-5,                   &
37     &           .25e-5,.45e-5,.34e-5,1.41e-5/
38      data tsat/.421,.464,.468,.434,.406,.465,.404,.439,.421/
39!
40      contains
41      subroutine GRDDF
42      USE MODULE_GFS_MACHINE , ONLY : kind_phys
43      implicit none
44      integer              i,    k
45      real(kind=kind_phys) dynw, f1, f2, theta
46!
47!  GRDDF SETS UP MOISTURE DIFFUSIVITY AND HYDROLIC CONDUCTIVITY
48!  FOR ALL SOIL TYPES
49!  GRDDFS SETS UP THERMAL DIFFUSIVITY FOR ALL SOIL TYPES
50!
51      DO K = 1, NTYPE
52        DYNW = TSAT(K) * .05
53        F1 = B(K) * SATKT(K) * SATPSI(K) / TSAT(K) ** (B(K) + 3.)
54        F2 = SATKT(K) / TSAT(K) ** (B(K) * 2. + 3.)
55!
56!  CONVERT FROM M/S TO KG M-2 S-1 UNIT
57!
58        F1 = F1 * 1000.
59        F2 = F2 * 1000.
60        DO I = 1, NGRID
61          THETA = FLOAT(I-1) * DYNW
62          THETA = MIN(TSAT(K),THETA)
63          DFK(I,K) = F1 * THETA ** (B(K) + 2.)
64          KTK(I,K) = F2 * THETA ** (B(K) * 2. + 3.)
65        ENDDO
66      ENDDO
67      END SUBROUTINE
68      subroutine GRDKT
69      USE MODULE_GFS_MACHINE , ONLY : kind_phys
70      implicit none
71      integer              i,    k
72      real(kind=kind_phys) dynw, f1, theta, pf
73      DO K = 1, NTYPE
74        DYNW = TSAT(K) * .05
75        F1 = LOG10(SATPSI(K)) + B(K) * LOG10(TSAT(K)) + 2.
76        DO I = 1, NGRID
77          THETA = FLOAT(I-1) * DYNW
78          THETA = MIN(TSAT(K),THETA)
79          IF(THETA.GT.0.) THEN
80            PF = F1 - B(K) * LOG10(THETA)
81          ELSE
82            PF = 5.2
83          ENDIF
84          IF(PF.LE.5.1) THEN
85            DFKT(I,K) = EXP(-(2.7+PF)) * 420.
86          ELSE
87            DFKT(I,K) = .1744
88          ENDIF
89        ENDDO
90      ENDDO
91      END SUBROUTINE
92!
93      end module module_progtm
Note: See TracBrowser for help on using the repository browser.