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) |
123 |
REAL u(klon,klev), v(klon,klev) |
REAL u(klon,klev), v(klon,klev) |
124 |
cIM 230604 BAD REAL radsol(klon) ??? |
cIM 230604 BAD REAL radsol(klon) ??? |
125 |
REAL, intent(in):: paprs(klon,klev+1) |
REAL, intent(in):: paprs(klon,klev+1) |
126 |
real pplay(klon,klev) |
real, intent(in):: pplay(klon,klev) |
127 |
REAL, intent(in):: rlon(klon), rlat(klon) |
REAL, intent(in):: rlon(klon), rlat(klon) |
128 |
real cufi(klon), cvfi(klon) |
real cufi(klon), cvfi(klon) |
129 |
REAL d_t(klon, klev), d_q(klon, klev) |
REAL d_t(klon, klev), d_q(klon, klev) |
149 |
LOGICAL, intent(in):: debut |
LOGICAL, intent(in):: debut |
150 |
logical, intent(in):: lafin |
logical, intent(in):: lafin |
151 |
logical ok_veget |
logical ok_veget |
152 |
character*6 ocean |
character(len=*), intent(IN):: ocean |
153 |
integer npas, nexca |
integer npas, nexca |
154 |
c |
c |
155 |
REAL pctsrf(klon,nbsrf) |
REAL pctsrf(klon,nbsrf) |
176 |
REAL zv1(klon) |
REAL zv1(klon) |
177 |
cAA |
cAA |
178 |
c$$$ PB ajout pour soil |
c$$$ PB ajout pour soil |
179 |
LOGICAL soil_model |
LOGICAL, intent(in):: soil_model |
180 |
cIM ajout seuils cdrm, cdrh |
cIM ajout seuils cdrm, cdrh |
181 |
REAL cdmmax, cdhmax |
REAL cdmmax, cdhmax |
182 |
cIM: 261103 |
cIM: 261103 |
356 |
ENDDO |
ENDDO |
357 |
ENDDO |
ENDDO |
358 |
DO i = 1, klon ! vent de la premiere couche |
DO i = 1, klon ! vent de la premiere couche |
|
ccc zx_alf1 = (paprs(i,1)-pplay(i,2))/(pplay(i,1)-pplay(i,2)) |
|
359 |
zx_alf1 = 1.0 |
zx_alf1 = 1.0 |
360 |
zx_alf2 = 1.0 - zx_alf1 |
zx_alf2 = 1.0 - zx_alf1 |
361 |
u1lay(i) = u(i,1)*zx_alf1 + u(i,2)*zx_alf2 |
u1lay(i) = u(i,1)*zx_alf1 + u(i,2)*zx_alf2 |
657 |
call ustarhb(knon,yu,yv,y_cd_m, yustar) |
call ustarhb(knon,yu,yv,y_cd_m, yustar) |
658 |
|
|
659 |
if (prt_level > 9) THEN |
if (prt_level > 9) THEN |
660 |
WRITE(lunout,*)'USTAR = ',yustar |
print *,'USTAR = ',yustar |
661 |
ENDIF |
ENDIF |
662 |
|
|
663 |
c iflag_pbl peut etre utilise comme longuer de melange |
c iflag_pbl peut etre utilise comme longuer de melange |
911 |
enddo |
enddo |
912 |
enddo |
enddo |
913 |
cIM "slab" ocean |
cIM "slab" ocean |
|
IF(OCEAN.EQ.'slab '.OR.OCEAN.EQ.'force ') THEN |
|
914 |
IF (nsrf.EQ.is_oce) THEN |
IF (nsrf.EQ.is_oce) THEN |
915 |
DO j = 1, knon |
DO j = 1, knon |
916 |
c on projette sur la grille globale |
c on projette sur la grille globale |
934 |
ENDIF |
ENDIF |
935 |
ENDDO |
ENDDO |
936 |
ENDIF !nsrf.EQ.is_sic |
ENDIF !nsrf.EQ.is_sic |
|
ENDIF !OCEAN |
|
937 |
c |
c |
938 |
IF(OCEAN.EQ.'slab ') THEN |
IF(OCEAN.EQ.'slab ') THEN |
939 |
IF(nsrf.EQ.is_oce) then |
IF(nsrf.EQ.is_oce) then |