Changeset 1046 for LMDZ4/trunk/libf/dyn3dpar/guide_p.F
- Timestamp:
- Nov 6, 2008, 5:39:24 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/dyn3dpar/guide_p.F
r985 r1046 79 79 real alpha_T(ip1jmp1),alpha_P(ip1jmp1) 80 80 real alpha_u(ip1jmp1),alpha_v(ip1jm) 81 real alpha_pcor(llm) 81 82 real dday_step,toto,reste,itau_test 82 83 INTEGER step_rea,count_no_rea … … 112 113 113 114 save alpha_T,alpha_q,alpha_u,alpha_v,alpha_P,itau_test 115 save alpha_pcor 114 116 save step_rea,count_no_rea 115 117 … … 159 161 160 162 if (mpi_rank==0) then 163 if (ok_gradsfile) then 161 164 call inigrads(igrads,iip1 162 165 s ,rlonv,180./pi,-180.,180.,jjp1,rlatu,-90.,90.,180./pi 163 166 s ,llm,presnivs,1. 164 167 s ,dtgrads,file,'dyn_zon ') 168 endif !ok_gradsfile 165 169 endif 166 170 … … 208 212 c physic=.false. 209 213 endif 210 214 c correction de rappel dans couche limite 215 c F.Codron 216 if (guide_BL) then 217 alpha_pcor(:)=1. 218 else 219 do l=1,llm 220 alpha_pcor(l)=(1.+tanh((0.85-presnivs(l)/preff)/0.05))/2. 221 enddo 222 endif 211 223 itau_test=1001 212 224 step_rea=1 … … 216 228 c lecture d'un fichier netcdf pour determiner le nombre de niveaux 217 229 IF (mpi_rank==0) THEN 218 230 if (guide_modele) then 231 if (ncidpl.eq.-99) ncidpl=NCOPN('apbp.nc',NCNOWRIT,rcod) 232 else 219 233 if (guide_u) then 220 234 if (ncidpl.eq.-99) ncidpl=NCOPN('u.nc',NCNOWRIT,rcod) … … 233 247 endif 234 248 c 249 endif 235 250 if (ncep) then 236 251 status=NF_INQ_DIMID(ncidpl,'LEVEL',rid) … … 239 254 endif 240 255 status=NF_INQ_DIMLEN(ncidpl,rid,nlev) 241 print *,'nlev', nlev 242 call ncclos(ncidpl,rcod) 243 244 ENDIF 245 256 print *,'nlev guide', nlev 257 call ncclos(ncidpl,rcod) 246 258 c Lecture du premier etat des reanalyses. 247 259 call Gather_Field(ps,ip1jmp1,1,0) … … 316 328 317 329 if (mpi_rank==0) then 330 if (ok_gradsfile) then 318 331 call wrgrads(igrads,1,aire ,'aire ','aire ' ) 319 332 call wrgrads(igrads,1,dxdys ,'dxdy ','dxdy ' ) … … 328 341 call wrgrads(igrads,llm,q,'Q ','Q ' ) 329 342 call wrgrads(igrads,llm,qsat,'QSAT ','QSAT ' ) 343 endif !(ok_gradsfile) then 330 344 endif 331 345 … … 357 371 do ij=ijb,ije 358 372 a=(1.-tau)*ucovrea1(ij,l)+tau*ucovrea2(ij,l) 359 ucov(ij,l)=(1.-alpha_u(ij))*ucov(ij,l)+alpha_u(ij)*a 373 ucov(ij,l)=(1.-alpha_u(ij))*ucov(ij,l)+alpha_u(ij) 374 $ *alpha_pcor(l)*a 360 375 if (first.and.ini_anal) ucov(ij,l)=a 361 376 enddo … … 368 383 do ij=ijb,ije 369 384 a=(1.-tau)*tetarea1(ij,l)+tau*tetarea2(ij,l) 370 teta(ij,l)=(1.-alpha_T(ij))*teta(ij,l)+alpha_T(ij)*a 385 teta(ij,l)=(1.-alpha_T(ij))*teta(ij,l)+alpha_T(ij) 386 $ *alpha_pcor(l)*a 371 387 if (first.and.ini_anal) teta(ij,l)=a 372 388 enddo … … 393 409 c hum relative en % -> hum specif 394 410 a=qsat(ij,l)*a*0.01 395 q(ij,l)=(1.-alpha_Q(ij))*q(ij,l)+alpha_Q(ij)*a 411 q(ij,l)=(1.-alpha_Q(ij))*q(ij,l)+alpha_Q(ij) 412 $ *alpha_pcor(l)*a 396 413 if (first.and.ini_anal) q(ij,l)=a 397 414 enddo … … 406 423 do ij=ijb,ije 407 424 a=(1.-tau)*vcovrea1(ij,l)+tau*vcovrea2(ij,l) 408 vcov(ij,l)=(1.-alpha_v(ij))*vcov(ij,l)+alpha_v(ij)*a 425 vcov(ij,l)=(1.-alpha_v(ij))*vcov(ij,l)+alpha_v(ij) 426 $ *alpha_pcor(l)*a 409 427 if (first.and.ini_anal) vcov(ij,l)=a 410 428 enddo … … 493 511 enddo 494 512 495 call dump2d(iip1,jjp1,dxdys,'DX2DY2 SCAL ')496 call dump2d(iip1,jjp1,dxdyu,'DX2DY2 U ')513 c call dump2d(iip1,jjp1,dxdys,'DX2DY2 SCAL ') 514 c call dump2d(iip1,jjp1,dxdyu,'DX2DY2 U ') 497 515 call dump2d(iip1,jjp1,dxdyv,'DX2DY2 v ') 498 516 … … 520 538 stop 521 539 endif 540 gamma=log(0.5)/log(gamma) 541 if (gamma4) then 542 gamma=min(gamma,4.) 543 endif 522 544 print*,'gamma=',gamma 523 gamma=log(0.5)/log(gamma)524 545 endif 525 546 endif
Note: See TracChangeset
for help on using the changeset viewer.