source: LMDZ5/branches/IPSLCM6.0.8/libf/phymar/PHY_SISVAT_UBC.f90 @ 5228

Last change on this file since 5228 was 2160, checked in by Laurent Fairhead, 10 years ago

Merged trunk changes -r2070:2158 into testing branch. Compilation problems introduced by revision r2155 have been corrected by hand

File size: 6.2 KB
Line 
1      subroutine PHY_SISVAT_UBC(FlagRT,FlagAT,FlagCM,FlagCP)
2
3!------------------------------------------------------------------------------+
4!                                                         Sat 29-Jun-2013  MAR |
5!     SubRoutine PHY_SISVAT_UBC provides Upper Boundary Conditions to          |
6!                    SISVAT    (Soil                                           |
7!                               Ice                                            |
8!                               Snow                                           |
9!                               Vegetation                                     |
10!                               Atmosphere                                     |
11!                               Transfer   Scheme)                             |
12!                                                                              |
13!                               USING DATA                                     |
14!                                                                              |
15!     Here DATA mimic the behaviour of non-active part of PHYsical package     |
16!                                      (radiative transfert,                   |
17!                                      (convective precipitation,              |
18!                                      (stratiform precipitation,              |
19!           and are generated by a Driver designed to test MARthusalem version |
20!                                                       of SISVAT              |
21!          Air Temperature, specific humidity and wind are provided as INPUT   |
22!                                                      of PHYsical package     |
23!                                                                              |
24!     version 3.p.4.1 created by H. Gallee,               Fri  3-May-2013      |
25!           Last Modification by H. Gallee,               Sat 29-Jun-2013      |
26!                                                                              |
27!------------------------------------------------------------------------------+
28
29
30! Global  Variables
31! =================
32
33      use Mod_Real
34      use Mod_PHY____grd
35      use Mod_SISVAT_ctr
36      use Mod_SISVAT_grd
37      use Mod_SISVAT_kkl
38      use Mod_SISVAT_gpt
39      use Mod_PHY_RT_kkl
40      use Mod_PHY_CM_kkl
41      use Mod_PHY_AT_kkl
42
43
44      logical                                    ::  FlagAT             !  Flag         (Turbulent Transfer)
45      logical                                    ::  FlagCM             !  Flag         (Cloud Microphysics)
46      logical                                    ::  FlagCP             !  Flag         (Convection Param. )
47      logical                                    ::  FlagRT             !  Flag         (Radiative Transfer)
48
49
50!     real(kind=real8),ALLOCATABLE ,dimension(:,:,:)  ::  LAI____xyn    ! Leaf Area Index              (Mosaic)  [m2/m2]
51!     real(kind=real8),ALLOCATABLE ,dimension(:,:,:)  ::  GLF____xyn    ! Green Leaf Fraction          (Mosaic)      [-]
52
53
54!     allocate  ( LAI____xyn(ixp1:mxpp,jyp1:mypp,mwp) )                 !  Leaf Area Index             (Mosaic)  [m2/m2]
55!     allocate  ( GLF____xyn(ixp1:mxpp,jyp1:mypp,mwp) )                 !  Green Leaf Fraction         (Mosaic)      [-]
56
57
58
59
60
61
62! Local   Variables
63! =================
64
65      integer  ::  i     ,j     ,n     ,ikp
66      integer  ::  k
67
68
69
70
71! UPPER BOUNDARY CONDITIONS (second term must be verified and modified if needed)
72! =========================
73
74        DO ikp = 1,kcolp
75
76          i   = ii__AP(ikp)
77          j   = jj__AP(ikp)
78
79        IF (.NOT. FlagAT)                                           THEN
80          DO k=1,mzp
81          Kzh_AT(ikp,k)       =     1.35e-5           ! Turbulent Diffusion Coefficient for Scalars             [m2/s]
82                                                      ! Air Viscosity
83          ENDDO
84        END IF
85
86        IF (.NOT. FlagCM)                                           THEN
87          SnowCM(ikp)         =     0.0               ! Snow  Accumulation (time t   )                        [m w.e.]
88          SnobCM(ikp)         =     0.0               ! Snow  Accumulation (time t-dt, after  snow erosion)   [m w.e.]
89          Sno0CM(ikp)         =     0.0               ! Snow  Accumulation (time t-dt, before snow erosion)   [m w.e.]
90          RainCM(ikp)         =     0.0               ! Rain  Accumulation (time t   )                        [m w.e.]
91          Rai0CM(ikp)         =     0.0               ! Rain  Accumulation (time t-dt)                        [m w.e.]
92        END IF
93
94        IF (.NOT. FlagRT)                                           THEN
95          SWDsRT(ikp)         =     0.0               ! Surface ShrtWave Heat Flux (+)  (Downward)              [W/m2]
96          LWDsRT(ikp)         =     0.0               ! Surface LongWave Heat Flux (+)  (Downward)              [W/m2]
97          ClouRT(ikp)         =     0.0               ! Total Cloudiness above lowest Atmospheric Level            [-]
98        END IF
99
100          sst_SB(ikp)         =   271.2               ! Ocean     FORCING (SST)                                    [K]
101          sif_SB(ikp)         =     0.0               ! Ocean     FORCING (Sea-Ice Fraction)                       [-]
102
103        DO n=1,mwp
104!         s_T_AO_xyn(i,j,n)   =   271.2               ! Ocean    COUPLING (SST)                                    [K]
105!         s_T_AO    (ikp,n)   =  s_T_AO_xyn(i,j,n)    !
106!         Alb_AO_xyn(i,j,n)   =     0.0               ! Ocean    COUPLING (Surface Albedo)                         [-]
107!         Alb_AO    (ikp,n)   =  Alb_AO_xyn(i,j,n)    ! Ocean    COUPLING (Surface Albedo)                         [-]
108!         LAI____xyn(i,j,n)   =     3.0               ! Leaf Area Index             (Mosaic)                   [m2/m2]
109!         LAI0SV    (ikp,n)   =  LAI_SV_xyn(i,j,n)    !
110          LAI0SV    (ikp,n)   =     3.0
111!         GLF____xyn(i,j,n)   =     1.0               ! Green Leaf Fraction         (Mosaic)                       [-]
112!         glf0SV    (ikp,n)   =  GLF_SV_xyn(i,j,n)    ! Green Leaf Frac.
113          glf0SV    (ikp,n)   =     1.0               ! Green Leaf Frac.
114
115
116!         s_T_AO_xyn(i,j,n)   =   271.2               ! Ocean    COUPLING (SST)
117!         s_T_AO    (ikp,n)   =  s_T_AO_xyn(i,j,n)    !
118        ENDDO
119
120
121        ENDDO
122
123      end subroutine PHY_SISVAT_UBC
Note: See TracBrowser for help on using the repository browser.