Changeset 1518 for LMDZ5/trunk/libf/phylmd/cv3p1_closure.F
- Timestamp:
- May 12, 2011, 3:32:22 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cv3p1_closure.F
r1516 r1518 7 7 o ,sig,w0,ptop2,cape,cin,m,iflag,coef 8 8 : ,Plim1,Plim2,asupmax,supmax0 9 : ,asupmaxmin,cbmf )9 : ,asupmaxmin,cbmf,plfc,wbeff) 10 10 11 11 * … … 49 49 real asupmax(nloc,nd),supmax0(nloc) 50 50 real asupmaxmin(nloc) 51 real cbmf(nloc),plfc(nloc) 52 real wbeff(nloc) 51 53 integer iflag(nloc) 52 54 c … … 63 65 integer nsupmax(nloc) 64 66 real supcrit,temp(nloc,nd) 65 real P1(nloc),Pmin(nloc) ,plfc(nloc)67 real P1(nloc),Pmin(nloc) 66 68 real asupmax0(nloc) 67 69 logical ok(nloc) 68 70 real siglim(nloc,nd),wlim(nloc,nd),mlim(nloc,nd) 69 71 real wb2(nloc) 70 real cbmflim(nloc),cbmf1(nloc),cbmfmax(nloc) ,cbmf(nloc)72 real cbmflim(nloc),cbmf1(nloc),cbmfmax(nloc) 71 73 real cbmflast(nloc) 72 real wbeff(nloc)73 74 74 real coef(nloc) 75 75 real xp(nloc),xq(nloc),xr(nloc),discr(nloc),b3(nloc),b4(nloc) … … 203 203 nsupmax(il)=i 204 204 ok(il)=.false. 205 ENDIF ! end IF (P(i) ... 205 ENDIF ! end IF (P(i) ... ) 206 206 ENDIF ! end IF (icb+1 le i le inb) 207 207 ENDDO … … 308 308 $ /(P(il,i)-P(il,i-1)) 309 309 GO TO 425 310 ENDIF ! end IF (P(i) ... 310 ENDIF ! end IF (P(i) ... ) 311 311 ENDIF ! end IF (icb+1 le i le inb) 312 312 ENDDO … … 517 517 ENDDO 518 518 c 519 if (flag_wb==0) then 520 wbeff(:)=wbmax 521 else if (flag_wb==1) then 522 wbeff(1:ncum)=wbmax/(1.+500./(ph(1:ncum,1)-plfc(1:ncum))) 523 else 524 stop'cas non prevu iflag_wb' 525 ! ligne a suprimer un jour ... 526 endif 527 ! if (ncum==1) print*,'WB ',plfc,wbeff,alp2,cin 528 519 IF (flag_wb==0) THEN 520 wbeff(:) = wbmax 521 ELSE IF (flag_wb==1) THEN 522 wbeff(1:ncum) = wbmax/(1.+500./(ph(1:ncum,1)-plfc(1:ncum))) 523 ELSE IF (flag_wb==2) THEN 524 wbeff(1:ncum) = wbmax*(0.01*(ph(1:ncum,1)-plfc(1:ncum)))**2 525 ENDIF 526 c 529 527 DO il = 1,ncum 530 531 !jyg Modification du coef de wb*wb pour conformite avec papier Wake 532 ! cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 533 ! A partir de mai 2011 on revient au 2 wb^2, conformement au papier. 534 ! les versions d'avant (NPv2 et al) tournaient avec 0.5 wb^2 et wb=1m/s 535 ! equivalent a wb=1 m/s pour la nouvelle formulation 536 ! Puis passage de wb constant a wbeff variable suivant flag_wb 537 528 cjyg Modification du coef de wb*wb pour conformite avec papier Wake 529 cc cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il)) 538 530 cbmf1(il) = alp2(il)/(2.*wbeff(il)*wbeff(il)-Cin(il)) 539 540 531 if(cbmf1(il).EQ.0.AND.alp2(il).NE.0.) THEN 541 532 write(lunout,*)
Note: See TracChangeset
for help on using the changeset viewer.