Changeset 486 for LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F
- Timestamp:
- Dec 15, 2003, 6:50:41 PM (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F
r475 r486 7 7 . jour, rmu0, co2_ppm, 8 8 . ok_veget, ocean, npas, nexca, ts, 9 . soil_model,cdmmax, cdhmax, ftsoil,qsol, 9 . soil_model,cdmmax, cdhmax, 10 . ksta, ksta_ter, ok_kzmin, ftsoil,qsol, 10 11 . paprs,pplay,radsol,snow,qsurf,evap,albe,alblw, 11 12 . fluxlat, … … 143 144 cIM ajout seuils cdrm, cdrh 144 145 REAL cdmmax, cdhmax 146 cIM: 261103 147 REAL ksta, ksta_ter 148 LOGICAL ok_kzmin 149 cIM: 261103 145 150 REAL ftsoil(klon,nsoilmx,nbsrf) 146 151 REAL ytsoil(klon,nsoilmx) … … 472 477 c calculer Cdrag et les coefficients d'echange 473 478 CALL coefkz(nsrf, knon, ypaprs, ypplay, 479 cIM 261103 480 . ksta, ksta_ter, 481 cIM 261103 474 482 . yts, yrugos, yu, yv, yt, yq, 475 483 . yqsurf, … … 494 502 endif 495 503 504 c 505 cIM: 261103 506 if (ok_kzmin) THEN 507 cIM cf FH: 201103 BEG 508 c Calcul d'une diffusion minimale pour les conditions tres stables. 509 call coefkzmin(knon,ypaprs,ypplay,yu,yv,yt,yq,ycoefm 510 . ,ycoefm0,ycoefh0) 511 c call dump2d(iim,jjm-1,ycoefm(2:klon-1,2), 'KZ ') 512 c call dump2d(iim,jjm-1,ycoefm0(2:klon-1,2),'KZMIN ') 513 514 if ( 1.eq.1 ) then 515 DO k = 1, klev 516 DO i = 1, knon 517 ycoefm(i,k) = MAX(ycoefm(i,k),ycoefm0(i,k)) 518 ycoefh(i,k) = MAX(ycoefh(i,k),ycoefh0(i,k)) 519 ENDDO 520 ENDDO 521 endif 522 cIM cf FH: 201103 END 523 endif !ok_kzmin 524 cIM: 261103 525 526 c 496 527 c calculer la diffusion des vitesses "u" et "v" 497 528 CALL clvent(knon,dtime,yu1,yv1,ycoefm,yt,yu,ypaprs,ypplay,ydelp, … … 503 534 ytaux = y_flux_u(:,1) 504 535 ytauy = y_flux_v(:,1) 505 506 if (nsrf.eq.is_oce) then507 do j=1,knon508 ycoefm(j,1)=1.e-3509 c ycoefh(j,1)=0.8*ycoefm(j,1)510 enddo511 endif512 536 513 537 c FH modif sur le cdrag temperature … … 737 761 #else 738 762 DO j=1, knon 763 i = ni(j) 739 764 t2m(i,nsrf)=0. 740 765 q2m(i,nsrf)=0. … … 1219 1244 END 1220 1245 SUBROUTINE coefkz(nsrf, knon, paprs, pplay, 1246 cIM 261103 1247 . ksta, ksta_ter, 1248 cIM 261103 1221 1249 . ts, rugos, 1222 1250 . u,v,t,q, … … 1279 1307 PARAMETER (prandtl=0.4) 1280 1308 REAL kstable ! diffusion minimale (situation stable) 1281 PARAMETER (kstable=1.0e-10) 1309 ! GKtest 1310 ! PARAMETER (kstable=1.0e-10) 1311 REAL ksta, ksta_ter 1312 cIM: 261103 REAL kstable_ter, kstable_sinon 1313 cIM: 211003 cf GK PARAMETER (kstable_ter = 1.0e-6) 1314 cIM: 261103 PARAMETER (kstable_ter = 1.0e-8) 1315 cIM: 261103 PARAMETER (kstable_ter = 1.0e-10) 1316 cIM: 261103 PARAMETER (kstable_sinon = 1.0e-10) 1317 ! fin GKtest 1282 1318 REAL mixlen ! constante controlant longueur de melange 1283 1319 PARAMETER (mixlen=35.0) … … 1371 1407 gamt(2) = -2.5E-03 1372 1408 ENDIF 1409 cIM cf JLD/ GKtest 1410 IF ( nsrf .EQ. is_ter ) THEN 1411 cIM 261103 kstable = kstable_ter 1412 kstable = ksta_ter 1413 ELSE 1414 cIM 261103 kstable = kstable_sinon 1415 kstable = ksta 1416 ENDIF 1417 cIM cf JLD/ GKtest fin 1373 1418 c 1374 1419 c Calculer les geopotentiels de chaque couche … … 1614 1659 DO k = 2, klev 1615 1660 DO i = 1, knon 1616 IF ( (nsrf.NE.is_oce) .OR. ! si ce n'est pas sur l'ocean 1617 . (invb(i).EQ.klev) .OR. ! s'il n'y a pas d'inversion 1618 . (zdthmin(i).GT.seuil) )THEN ! si l'inversion est trop faible 1661 cIM cf FH/GK IF ( (nsrf.NE.is_oce) .OR. ! si ce n'est pas sur l'ocean 1662 cIM cf FH/GK . (invb(i).EQ.klev) .OR. ! s'il n'y a pas d'inversion 1663 !IM cf JLD/ GKtest TERkz2 1664 ! IF ( (nsrf.EQ.is_ter) .OR. ! si on est sur la terre 1665 ! fin GKtest 1666 IF ( (nsrf.EQ.is_oce) .AND. ! si on est sur ocean et si 1667 . ( (invb(i).EQ.klev) .OR. ! s'il n'y a pas d'inversion 1668 . (zdthmin(i).GT.seuil) ) )THEN ! si l'inversion est trop faible 1619 1669 zl2(i)=(mixlen*MAX(0.0,(paprs(i,k)-paprs(i,klev+1)) 1620 1670 . /(paprs(i,2)-paprs(i,klev+1)) ))**2
Note: See TracChangeset
for help on using the changeset viewer.