SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
oi_acsolw.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 SUBROUTINE oi_acsolw (KST,KNBPT,&
6 !-----------------------------------------------------------------------
7 ! - INPUT 1D
8  parg,pd2,pws,piveg,psab,&
9 ! - INPUT LOGIQUE
10  odhmt,&
11 ! - OUTPUT 1D .
12  pwfc,pwpmx,pwsat,pwsmx,pwwilt)
13 
14 
15 !**** *ACSOLW * - DETERMINATION DES CONTENUS EN EAU CARACTERISTIQUES DU SOL
16 
17 ! Sujet.
18 ! ------
19 
20 ! - ROUTINE DE CALCUL INTERMEDIAIRE.
21 ! DETERMINATION DES CONTENUS EN EAU CARACTERISTIQUES DU SOL.
22 
23 ! SUR MER (PITM=0. , PIVEG=NTVMER )
24 ! wwilt=0. wfc=1. wsat=1.
25 ! SUR BANQUISE (PITM=1. , PIVEG=NTVGLA*1.1) (MODE CLIMAT SEULEMENT)
26 ! wwilt=0. wfc=1. wsat=1.
27 ! SUR GLACIER (PITM=1. , PIVEG=NTVGLA )
28 ! wwilt=f1(arg) wfc=f2(arg) wsat=wfc
29 ! SUR TERRE (PITM=1. , AUTRES PIVEG )
30 ! wwilt=f1(arg) wfc=f2(arg) wsat=f3(sab)
31 
32 !** Interface.
33 ! ----------
34 ! *CALL* *ACSOLW*
35 
36 !-----------------------------------------------------------------------
37 ! WARNING: THE ENGLISH VERSION OF VARIABLES' NAMES IS TO BE READ IN THE
38 ! "APLPAR" CODE.
39 !-----------------------------------------------------------------------
40 
41 ! - ARGUMENTS D'ENTREE.
42 ! -------------------
43 
44 ! - NOM DES PARAMETRES DE DIMENSIONNEMENT DE LA PHYSIQUE.
45 
46 ! KST : INDICE DE DEPART DES BOUCLES VECTORISEES SUR L'HORIZONT..
47 ! KNBPT : INDICE DE FIN DES BOUCLES VECTORISEES SUR L'HORIZONTALE.
48 
49 
50 ! - NOM DES CLES LOGIQUES
51 
52 ! LDHMT : CALCULS REDUITS (POUR L'ANALYSE OU FULL-POS)
53 ! SEULS LES TABLEAUX (*) SONT UTILISES/CALCULES EN E/S
54 
55 ! - NOM DES VARIABLES DE LA PHYSIQUE (PAR ORDRE ALPHABETIQUE DANS CHAQUE
56 ! CATEGORIE).
57 
58 ! - 1D (GEOGRAPHIQUE) .
59 
60 ! PARG (*) : POURCENTAGE D'ARGILE DANS LA MAILLE.
61 ! PD2 : EPAISSEUR DU RESERVOIR PROFOND.
62 ! PWS (*) : CONTENU EN EAU SUPERFICIEL (pour identification NATURE)
63 ! PIVEG : TYPE DE SURFACE (MER, BANQUISE OU GLACIER, TERRE).
64 ! PSAB : POURCENTAGE DE SABLE DANS LA MAILLE.
65 
66 !-----------------------------------------------------------------------
67 
68 ! - ARGUMENTS DE SORTIE.
69 ! --------------------
70 
71 ! - NOM DES VARIABLES DE LA PHYSIQUE (PAR ORDRE ALPHABETIQUE DANS CHAQUE
72 ! CATEGORIE).
73 
74 ! - 1D (DIAGNOSTIQUE) .
75 
76 ! PWFC (*) : TENEUR EN EAU A LA CAPACITE AUX CHAMPS.
77 ! PWPMX : TENEUR EN EAU MAXIMALE DU RESERVOIR PROFOND.
78 ! PWSAT : TENEUR EN EAU A LA SATURATION
79 ! PWSMX : TENEUR EN EAU MAXIMALE DU RESERVOIR DE SURFACE.
80 ! PWWILT (*) : TENEUR EN EAU CORRESPONDANT AU POINT DE FLETRISSEMENT.
81 
82 !-----------------------------------------------------------------------
83 
84 ! - ARGUMENTS IMPLICITES.
85 ! ---------------------
86 
87 ! COMMON/YOMPHY1/
88 ! the common that contains the parameters for the land surface part of the
89 ! physics of the model
90 !-----------------------------------------------------------------------
91 
92 ! Externes.
93 ! ---------
94 
95 ! Methode.
96 ! --------
97 
98 ! Auteur.
99 ! -------
100 ! 99-02, D. Giard, d'apres ACSOL
101 
102 ! Modifications.
103 ! --------------
104 !-----------------------------------------------------------------------
105 !
106 !
107 USE modd_assim, ONLY : ntvgla, xg1wsat, xg2wsat, xewfc, xgwfc, xewwilt, xgwwilt, xrd1, xreps2
108 USE modd_csts, ONLY : xrholw
109 USE modd_surf_par, ONLY : xundef
110 !
111 USE yomhook ,ONLY : lhook, dr_hook
112 USE parkind1 ,ONLY : jprb
113 !
114 IMPLICIT NONE
115 !
116 REAL ,INTENT(IN) :: parg(knbpt)
117 REAL ,INTENT(IN) :: pd2(knbpt)
118 REAL ,INTENT(IN) :: pws(knbpt)
119 REAL ,INTENT(IN) :: piveg(knbpt)
120 REAL ,INTENT(IN) :: psab(knbpt)
121 !
122 LOGICAL, INTENT(IN) :: odhmt
123 !
124 REAL ,INTENT(OUT) :: pwfc(knbpt)
125 REAL ,INTENT(OUT) :: pwpmx(knbpt)
126 REAL ,INTENT(OUT) :: pwsat(knbpt)
127 REAL ,INTENT(OUT) :: pwsmx(knbpt)
128 REAL ,INTENT(OUT) :: pwwilt(knbpt)
129 !
130 REAL :: zarg, zsab
131 INTEGER :: knbpt, kst
132 INTEGER :: jrof
133 !
134 REAL(KIND=JPRB) :: zhook_handle
135 !
136 ! ** initialization of the parameters of the land surface part of
137 ! ** the physics of the model
138 !
139 ! ------------------------------------------------------------------
140 ! I - CALCULS REDUITS DANS LE CAS LDHMT=.TRUE.
141 ! ----------------------------------------
142 ! REDUCED COMPUTATIONS IN CASE LDHMT=.T.
143 ! --------------------------------------
144 !
145 ! ** WFC , WWILT **
146 !
147 IF (lhook) CALL dr_hook('OI_ACSOLW',0,zhook_handle)
148 !
149 DO jrof=kst,knbpt
150  IF ( pws(jrof) == xundef ) THEN
151  pwwilt(jrof) = 0.0
152  pwfc(jrof) = 1.0
153  ELSE
154  zarg = max(xreps2,parg(jrof))
155  pwwilt(jrof) = xgwwilt*(zarg**xewwilt)
156  pwfc(jrof) = xgwfc *(zarg**xewfc)
157  ENDIF
158 ENDDO
159 !
160 IF (odhmt .AND. lhook) CALL dr_hook('OI_ACSOLW',1,zhook_handle)
161 IF (odhmt) RETURN
162 !
163 ! ------------------------------------------------------------------
164 ! II - CALCUL DES AUTRES CHAMPS
165 ! ------------------------
166 ! COMPUTING OTHER FIELDS
167 ! ----------------------
168 !
169 DO jrof=kst,knbpt
170 !
171 ! ** CAS DE LA BANQUISE EN MODE CLIMAT - SEA-ICE - (CLIMAT) **
172 !
173  IF ( nint(10.*piveg(jrof))==(10*ntvgla+1) ) THEN
174  pwwilt(jrof) = 0.0
175  pwfc(jrof) = 1.0
176  ENDIF
177 !
178 ! ** WSAT **
179 !
180  IF ( pws(jrof)==xundef .OR. nint(piveg(jrof))==ntvgla ) THEN
181  pwsat(jrof) = pwfc(jrof)
182  ELSE
183  zsab = max(xreps2,psab(jrof))
184  pwsat(jrof) = xg1wsat*zsab + xg2wsat
185  ENDIF
186 !
187 ! ** WSMX , WPMX **
188 !
189  pwpmx(jrof) = pwsat(jrof)*pd2(jrof)*xrholw
190  pwsmx(jrof) = pwsat(jrof)*xrd1*xrholw
191 !
192 ENDDO
193 !
194 IF (lhook) CALL dr_hook('OI_ACSOLW',1,zhook_handle)
195 !
196 END SUBROUTINE oi_acsolw
subroutine oi_acsolw(KST, KNBPT,
Definition: oi_acsolw.F90:5