source: LMDZ5/branches/LF-private/libf/phylmd/sisvat/VARySV.F90

Last change on this file was 1865, checked in by Laurent Fairhead, 11 years ago

Inclusion de la bibliothèque SISVAT/MAR à LMDZ pour le traitement des surfaces
"land ice"

  1. Menegoz

Integration of the SISVAT/MAR library to LMDZ to model the land ice surfaces

  1. Menegoz
File size: 7.7 KB
Line 
1MODULE VARySV
2
3USE VAR_SV, only : klonv, nsol, nsno
4
5
6IMPLICIT NONE
7
8! +
9      INTEGER, DIMENSION(:),SAVE,ALLOCATABLE ::   NLaysv  ! New   Snow     Layer   Switch   
10!$OMP THREADPRIVATE(NLaysv)
11      INTEGER, DIMENSION(:),SAVE,ALLOCATABLE ::   i_thin  ! Index of the thinest Layer     
12!$OMP THREADPRIVATE(i_thin)
13      INTEGER, DIMENSION(:),SAVE,ALLOCATABLE ::   LIndsv  ! Contiguous Layer relative Index
14!$OMP THREADPRIVATE(LIndsv)
15      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   albisv  ! Integrated Surface Albedo
16!$OMP THREADPRIVATE(albisv)
17      !hj prelim                                           
18      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   alb1sv  ! Surface Albedo VIS     
19!$OMP THREADPRIVATE(alb1sv)
20      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   alb2sv  ! Surface Albedo NIR     
21!$OMP THREADPRIVATE(alb2sv)
22      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   alb3sv  ! Surface Albedo FIR     
23!$OMP THREADPRIVATE(alb3sv)
24
25      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   albssv  ! Soil               Albedo [-]   
26!$OMP THREADPRIVATE(albssv)
27      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   SoCasv  ! Canopy  Absorbed Solar Radiat. 
28!$OMP THREADPRIVATE(SoCasv)
29      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   SoSosv  !? Surface Absorbed Solar Radiat. 
30!$OMP THREADPRIVATE(SoSosv)
31      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   IRv_sv  ! Vegetation IR Flux  [W/m2]     
32!$OMP THREADPRIVATE(IRv_sv)
33      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Evg_sv  ! Emissivity of Vegetation+Snow   
34!$OMP THREADPRIVATE(Evg_sv)
35      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Eso_sv  !? Emissivity of       Soil+Snow   
36!$OMP THREADPRIVATE(Eso_sv)
37      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   tau_sv  ! Transmited Radiation Fraction   
38!$OMP THREADPRIVATE(tau_sv)
39      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   rrMxsv  ! Canopy Maximum Intercepted Rain
40!$OMP THREADPRIVATE(rrMxsv)
41      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   LAIesv  ! effective LAI for transpirati. 
42!$OMP THREADPRIVATE(LAIesv)
43      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   LAI_sv  ! corrected LAI in case of snow   
44!$OMP THREADPRIVATE(LAI_sv)
45      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   glf_sv  ! Green  Leaf Fraction           
46!$OMP THREADPRIVATE(glf_sv)
47      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Sigmsv  ! Canopy Ventilation  Factor     
48!$OMP THREADPRIVATE(Sigmsv)
49      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   HSv_sv  ! Sensible Heat Flux  [W/m2]     
50!$OMP THREADPRIVATE(HSv_sv)
51      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   HLv_sv  ! Latent   Heat Flux  [W/m2]     
52!$OMP THREADPRIVATE(HLv_sv)
53      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   HSs_sv  !? Sensible Heat Flux (t)         
54!$OMP THREADPRIVATE(HSs_sv)
55      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   HLs_sv  !? Latent   Heat Flux (t)         
56!$OMP THREADPRIVATE(HLs_sv)
57      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   sqrCm0  ! in Neutral Drag Coef.Moment.   
58!$OMP THREADPRIVATE(sqrCm0)
59      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   sqrCh0  ! in Neutral Drag Coef.Heat       
60!$OMP THREADPRIVATE(sqrCh0)
61      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Lx_H2O  ! Latent Heat of Vaporiz./Sublim.
62!$OMP THREADPRIVATE(Lx_H2O)
63      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   ram_sv  ! Aerodyn.Resistance (Moment.)   
64!$OMP THREADPRIVATE(ram_sv)
65      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   rah_sv  ! Aerodyn.Resistance (Heat)       
66!$OMP THREADPRIVATE(rah_sv)
67      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Fh__sv  ! Stability Function             
68!$OMP THREADPRIVATE(Fh__sv)
69      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   dFh_sv  ! Stability Function (Deriv.)     
70!$OMP THREADPRIVATE(dFh_sv)
71      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Evp_sv  !x Evaporation        [kg/m2]     
72!$OMP THREADPRIVATE(Evp_sv)
73      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   EvT_sv  !x Evapotranspiration [kg/m2]     
74!$OMP THREADPRIVATE(EvT_sv)
75      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   LSdzsv  ! Land/Sea Vert. Discretiz. Fact.
76!$OMP THREADPRIVATE(LSdzsv)
77      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   Tsrfsv  ! Surface    Temperature         
78!$OMP THREADPRIVATE(Tsrfsv)
79      REAL,SAVE,ALLOCATABLE  ::   sEX_sv(:,:)  ! Verticaly Integr.Extinct.Coef. 
80!$OMP THREADPRIVATE(sEX_sv)
81      REAL,SAVE,ALLOCATABLE  ::   zzsnsv(:,:)    ! Snow  Pack Thickness      [m]   
82!$OMP THREADPRIVATE(zzsnsv)
83      REAL,SAVE,ALLOCATABLE  ::   psi_sv(:,:)    ! Soil   Water        Potential   
84!$OMP THREADPRIVATE(psi_sv)
85      REAL,SAVE,ALLOCATABLE  ::   Khydsv(:,:)    ! Soil   Hydraulic    Conductiv. 
86!$OMP THREADPRIVATE(Khydsv)
87      REAL,SAVE,ALLOCATABLE  ::   Rootsv(:,:)       ! Root Water Pump      [kg/m2/s] 
88!$OMP THREADPRIVATE(Rootsv)
89      REAL, DIMENSION(:),SAVE,ALLOCATABLE    ::   EExcsv  ! Energy in Excess, current       
90!$OMP THREADPRIVATE(EExcsv)
91
92CONTAINS
93  SUBROUTINE INIT_VARySV
94  IMPLICIT NONE
95      INTEGER                ::   ikl
96
97      ALLOCATE(NLaysv(klonv))  ! New   Snow     Layer   Switch   
98      ALLOCATE(i_thin(klonv))  ! Index of the thinest Layer     
99      ALLOCATE(LIndsv(klonv))  ! Contiguous Layer relative Index
100      ALLOCATE(albisv(klonv))  ! Integrated Surface Albedo
101      !hj prelim                                           
102      ALLOCATE(alb1sv(klonv))  ! Surface Albedo VIS     
103      ALLOCATE(alb2sv(klonv))  ! Surface Albedo NIR     
104      ALLOCATE(alb3sv(klonv))  ! Surface Albedo FIR       
105
106      !
107      ALLOCATE(albssv(klonv))  ! Soil               Albedo [-]   
108      ALLOCATE(SoCasv(klonv))  ! Canopy  Absorbed Solar Radiat. 
109      ALLOCATE(SoSosv(klonv))  !? Surface Absorbed Solar Radiat. 
110      ALLOCATE(IRv_sv(klonv))  ! Vegetation IR Flux  [W/m2]     
111      ALLOCATE(Evg_sv(klonv))  ! Emissivity of Vegetation+Snow   
112      ALLOCATE(Eso_sv(klonv))  !? Emissivity of       Soil+Snow   
113      ALLOCATE(tau_sv(klonv))  ! Transmited Radiation Fraction   
114      ALLOCATE(rrMxsv(klonv))  ! Canopy Maximum Intercepted Rain
115      ALLOCATE(LAIesv(klonv))  ! effective LAI for transpirati. 
116      ALLOCATE(LAI_sv(klonv))  ! corrected LAI in case of snow   
117      ALLOCATE(glf_sv(klonv))  ! Green  Leaf Fraction           
118      ALLOCATE(Sigmsv(klonv))  ! Canopy Ventilation  Factor     
119      ALLOCATE(HSv_sv(klonv))  ! Sensible Heat Flux  [W/m2]     
120      ALLOCATE(HLv_sv(klonv))  ! Latent   Heat Flux  [W/m2]     
121      ALLOCATE(HSs_sv(klonv))  !? Sensible Heat Flux (t)         
122      ALLOCATE(HLs_sv(klonv))  !? Latent   Heat Flux (t)         
123      ALLOCATE(sqrCm0(klonv))  ! in Neutral Drag Coef.Moment.   
124      ALLOCATE(sqrCh0(klonv))  ! in Neutral Drag Coef.Heat       
125      ALLOCATE(Lx_H2O(klonv))  ! Latent Heat of Vaporiz./Sublim.
126      ALLOCATE(ram_sv(klonv))  ! Aerodyn.Resistance (Moment.)   
127      ALLOCATE(rah_sv(klonv))  ! Aerodyn.Resistance (Heat)       
128      ALLOCATE(Fh__sv(klonv))  ! Stability Function             
129      ALLOCATE(dFh_sv(klonv))  ! Stability Function (Deriv.)     
130      ALLOCATE(Evp_sv(klonv))  !x Evaporation        [kg/m2]     
131      ALLOCATE(EvT_sv(klonv))  !x Evapotranspiration [kg/m2]     
132      ALLOCATE(LSdzsv(klonv))  ! Land/Sea Vert. Discretiz. Fact.
133      ALLOCATE(Tsrfsv(klonv))  ! Surface    Temperature         
134      ALLOCATE(sEX_sv(klonv,-nsol:nsno+1))  ! Verticaly Integr.Extinct.Coef. 
135      ALLOCATE(zzsnsv(klonv,    0:nsno))    ! Snow  Pack Thickness      [m]   
136      ALLOCATE(psi_sv(klonv,-nsol:0   ))    ! Soil   Water        Potential   
137      ALLOCATE(Khydsv(klonv,-nsol:0   ))    ! Soil   Hydraulic    Conductiv. 
138      ALLOCATE(Rootsv(klonv,-nsol:0))       ! Root Water Pump      [kg/m2/s] 
139      ALLOCATE(EExcsv(klonv))  ! Energy in Excess, current         
140
141      DO ikl=1,klonv
142        NLaysv(ikl)   = 0
143        i_thin(ikl)   = 0
144        LIndsv(ikl)   = 0
145      END DO
146
147  END SUBROUTINE INIT_VARySV
148
149END MODULE VARySV
150
Note: See TracBrowser for help on using the repository browser.