116 |
c====================================================================== |
c====================================================================== |
117 |
c$$$ PB ajout pour soil |
c$$$ PB ajout pour soil |
118 |
c |
c |
119 |
REAL dtime |
REAL, intent(in):: dtime |
120 |
real date0 |
real date0 |
121 |
integer, intent(in):: itap |
integer, intent(in):: itap |
122 |
REAL t(klon,klev), q(klon,klev) |
REAL t(klon,klev), q(klon,klev) |
141 |
REAL run_off_lic_0(klon), y_run_off_lic_0(klon) |
REAL run_off_lic_0(klon), y_run_off_lic_0(klon) |
142 |
|
|
143 |
REAL flux_u(klon,klev, nbsrf), flux_v(klon,klev, nbsrf) |
REAL flux_u(klon,klev, nbsrf), flux_v(klon,klev, nbsrf) |
144 |
REAL rugmer(klon), agesno(klon,nbsrf),rugoro(klon) |
REAL rugmer(klon), agesno(klon,nbsrf) |
145 |
|
real, intent(in):: rugoro(klon) |
146 |
REAL cdragh(klon), cdragm(klon) |
REAL cdragh(klon), cdragm(klon) |
147 |
integer jour ! jour de l'annee en cours |
integer jour ! jour de l'annee en cours |
148 |
real rmu0(klon) ! cosinus de l'angle solaire zenithal |
real rmu0(klon) ! cosinus de l'angle solaire zenithal |
150 |
LOGICAL, intent(in):: debut |
LOGICAL, intent(in):: debut |
151 |
logical, intent(in):: lafin |
logical, intent(in):: lafin |
152 |
logical ok_veget |
logical ok_veget |
153 |
character*6 ocean |
character(len=*), intent(IN):: ocean |
154 |
integer npas, nexca |
integer npas, nexca |
155 |
c |
c |
156 |
REAL pctsrf(klon,nbsrf) |
REAL pctsrf(klon,nbsrf) |
177 |
REAL zv1(klon) |
REAL zv1(klon) |
178 |
cAA |
cAA |
179 |
c$$$ PB ajout pour soil |
c$$$ PB ajout pour soil |
180 |
LOGICAL soil_model |
LOGICAL, intent(in):: soil_model |
181 |
cIM ajout seuils cdrm, cdrh |
cIM ajout seuils cdrm, cdrh |
182 |
REAL cdmmax, cdhmax |
REAL cdmmax, cdhmax |
183 |
cIM: 261103 |
cIM: 261103 |
254 |
LOGICAL first_appel |
LOGICAL first_appel |
255 |
SAVE first_appel |
SAVE first_appel |
256 |
DATA first_appel/.true./ |
DATA first_appel/.true./ |
257 |
LOGICAL debugindex |
LOGICAL:: debugindex = .false. |
|
SAVE debugindex |
|
|
DATA debugindex/.false./ |
|
258 |
integer idayref |
integer idayref |
259 |
REAL t2m(klon,nbsrf), q2m(klon,nbsrf) |
REAL t2m(klon,nbsrf), q2m(klon,nbsrf) |
260 |
REAL u10m(klon,nbsrf), v10m(klon,nbsrf) |
REAL u10m(klon,nbsrf), v10m(klon,nbsrf) |
656 |
call ustarhb(knon,yu,yv,y_cd_m, yustar) |
call ustarhb(knon,yu,yv,y_cd_m, yustar) |
657 |
|
|
658 |
if (prt_level > 9) THEN |
if (prt_level > 9) THEN |
659 |
WRITE(lunout,*)'USTAR = ',yustar |
print *,'USTAR = ',yustar |
660 |
ENDIF |
ENDIF |
661 |
|
|
662 |
c iflag_pbl peut etre utilise comme longuer de melange |
c iflag_pbl peut etre utilise comme longuer de melange |
910 |
enddo |
enddo |
911 |
enddo |
enddo |
912 |
cIM "slab" ocean |
cIM "slab" ocean |
|
IF(OCEAN.EQ.'slab '.OR.OCEAN.EQ.'force ') THEN |
|
913 |
IF (nsrf.EQ.is_oce) THEN |
IF (nsrf.EQ.is_oce) THEN |
914 |
DO j = 1, knon |
DO j = 1, knon |
915 |
c on projette sur la grille globale |
c on projette sur la grille globale |
933 |
ENDIF |
ENDIF |
934 |
ENDDO |
ENDDO |
935 |
ENDIF !nsrf.EQ.is_sic |
ENDIF !nsrf.EQ.is_sic |
|
ENDIF !OCEAN |
|
936 |
c |
c |
937 |
IF(OCEAN.EQ.'slab ') THEN |
IF(OCEAN.EQ.'slab ') THEN |
938 |
IF(nsrf.EQ.is_oce) then |
IF(nsrf.EQ.is_oce) then |