--- trunk/libf/phylmd/clmain.f 2008/02/27 13:16:39 3 +++ trunk/libf/phylmd/clmain.f 2008/07/28 14:48:09 14 @@ -116,14 +116,14 @@ c====================================================================== c$$$ PB ajout pour soil c - REAL dtime + REAL, intent(in):: dtime real date0 - integer itap + integer, intent(in):: itap REAL t(klon,klev), q(klon,klev) REAL u(klon,klev), v(klon,klev) cIM 230604 BAD REAL radsol(klon) ??? REAL, intent(in):: paprs(klon,klev+1) - real pplay(klon,klev) + real, intent(in):: pplay(klon,klev) REAL, intent(in):: rlon(klon), rlat(klon) real cufi(klon), cvfi(klon) REAL d_t(klon, klev), d_q(klon, klev) @@ -141,7 +141,8 @@ REAL run_off_lic_0(klon), y_run_off_lic_0(klon) REAL flux_u(klon,klev, nbsrf), flux_v(klon,klev, nbsrf) - REAL rugmer(klon), agesno(klon,nbsrf),rugoro(klon) + REAL rugmer(klon), agesno(klon,nbsrf) + real, intent(in):: rugoro(klon) REAL cdragh(klon), cdragm(klon) integer jour ! jour de l'annee en cours real rmu0(klon) ! cosinus de l'angle solaire zenithal @@ -149,7 +150,7 @@ LOGICAL, intent(in):: debut logical, intent(in):: lafin logical ok_veget - character*6 ocean + character(len=*), intent(IN):: ocean integer npas, nexca c REAL pctsrf(klon,nbsrf) @@ -176,7 +177,7 @@ REAL zv1(klon) cAA c$$$ PB ajout pour soil - LOGICAL soil_model + LOGICAL, intent(in):: soil_model cIM ajout seuils cdrm, cdrh REAL cdmmax, cdhmax cIM: 261103 @@ -253,9 +254,7 @@ LOGICAL first_appel SAVE first_appel DATA first_appel/.true./ - LOGICAL debugindex - SAVE debugindex - DATA debugindex/.false./ + LOGICAL:: debugindex = .false. integer idayref REAL t2m(klon,nbsrf), q2m(klon,nbsrf) REAL u10m(klon,nbsrf), v10m(klon,nbsrf) @@ -356,7 +355,6 @@ ENDDO ENDDO DO i = 1, klon ! vent de la premiere couche -ccc zx_alf1 = (paprs(i,1)-pplay(i,2))/(pplay(i,1)-pplay(i,2)) zx_alf1 = 1.0 zx_alf2 = 1.0 - zx_alf1 u1lay(i) = u(i,1)*zx_alf1 + u(i,2)*zx_alf2 @@ -457,7 +455,7 @@ pctsrf_pot(:,is_oce) = 1. - zmasq(:) pctsrf_pot(:,is_sic) = 1. - zmasq(:) - DO 99999 nsrf = 1, nbsrf + DO nsrf = 1, nbsrf c chercher les indices: DO j = 1, klon @@ -493,7 +491,7 @@ CALL histwrite(nidbg,cl_surf(nsrf),itap,debugtab,iim*(jjm+1) $ ,ndexbg) ENDIF - IF (knon.EQ.0) GOTO 99999 + IF (knon.EQ.0) cycle DO j = 1, knon i = ni(j) ypct(j) = pctsrf(i,nsrf) @@ -658,7 +656,7 @@ call ustarhb(knon,yu,yv,y_cd_m, yustar) if (prt_level > 9) THEN - WRITE(lunout,*)'USTAR = ',yustar + print *,'USTAR = ',yustar ENDIF c iflag_pbl peut etre utilise comme longuer de melange @@ -912,7 +910,6 @@ enddo enddo cIM "slab" ocean - IF(OCEAN.EQ.'slab '.OR.OCEAN.EQ.'force ') THEN IF (nsrf.EQ.is_oce) THEN DO j = 1, knon c on projette sur la grille globale @@ -936,7 +933,6 @@ ENDIF ENDDO ENDIF !nsrf.EQ.is_sic - ENDIF !OCEAN c IF(OCEAN.EQ.'slab ') THEN IF(nsrf.EQ.is_oce) then @@ -944,7 +940,7 @@ seaice(1:klon) = y_seaice(1:klon) ENDIF !nsrf ENDIF !OCEAN -99999 CONTINUE + end do C C On utilise les nouvelles surfaces C A rajouter: conservation de l'albedo