Changeset 1763 for LMDZ5/trunk/libf/phy1d/lmdz1d.F
- Timestamp:
- Jun 4, 2013, 12:47:19 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phy1d/lmdz1d.F
r1739 r1763 137 137 integer :: iq 138 138 real :: phi(llm) 139 real :: rlat_rad(1),rlon_rad(1) 139 140 real :: teta(llm),temp(llm),u(llm),v(llm) 140 141 real :: omega(llm+1),omega2(llm),rho(llm+1) 141 142 real :: ug(llm),vg(llm),fcoriolis 143 real :: sfdt, cfdt 142 144 real :: du_phys(llm),dv_phys(llm),dt_phys(llm) 143 145 real :: du_dyn(llm),dv_dyn(llm),dt_dyn(llm) … … 418 420 !! preff= 1.01325e5 419 421 preff = psurf 420 call disvert(pa,preff,ap,bp,dpres,presnivs,nivsigs,nivsig) 422 IF (ok_old_disvert) THEN 423 call disvert0(pa,preff,ap,bp,dpres,presnivs,nivsigs,nivsig) 424 print *,'On utilise disvert0' 425 ELSE 426 call disvert(pa,preff,ap,bp,dpres,presnivs,nivsigs,nivsig, 427 : scaleheight) 428 print *,'On utilise disvert' 429 c Nouvelle version disvert permettant d imposer ap,bp (modif L.Guez) MPL 18092012 430 c Dans ce cas, on lit ap,bp dans le fichier hybrid.txt 431 ENDIF 421 432 sig_s=presnivs/preff 422 433 plev =ap+bp*psurf … … 460 471 ! rday: defini dans suphel.F (86400.) 461 472 ! day_ini: lu dans run.def (dayref) 462 ! rlat ,rlon lus dans lmdz1d.def473 ! rlat_rad,rlon-rad: transformes en radian de rlat,rlon lus dans lmdz1d.def (en degres) 463 474 ! airefi,zcufi,zcvfi initialises au debut de ce programme 464 475 ! rday,ra,rg,rd,rcpd declares dans YOMCST.h et calcules dans suphel.F … … 470 481 zcufi=airefi 471 482 zcvfi=airefi 483 ! 484 rlat_rad(:)=rlat(:)*rpi/180. 485 rlon_rad(:)=rlon(:)*rpi/180. 472 486 473 487 call iniphysiq(ngrid,llm,rday,day_ini,timestep, 474 . rlat ,rlon,airefi,zcufi,zcvfi,ra,rg,rd,rcpd,1)488 . rlat_rad,rlon_rad,airefi,zcufi,zcvfi,ra,rg,rd,rcpd,(/1/)) 475 489 print*,'apres iniphysiq' 476 490 … … 748 762 : -fcoriolis*(u(1:mxcalc)-ug(1:mxcalc)) 749 763 764 !!!!!!!!!!!!!!!!!!!!!!!! 765 ! Geostrophic wind 766 !!!!!!!!!!!!!!!!!!!!!!!! 767 sfdt = sin(0.5*fcoriolis*timestep) 768 cfdt = cos(0.5*fcoriolis*timestep) 769 ! 770 du_age(1:mxcalc)= -2.*sfdt/timestep* 771 : (sfdt*(u(1:mxcalc)-ug(1:mxcalc)) - 772 : cfdt*(v(1:mxcalc)-vg(1:mxcalc)) ) 773 !! : fcoriolis*(v(1:mxcalc)-vg(1:mxcalc)) 774 ! 775 dv_age(1:mxcalc)= -2.*sfdt/timestep* 776 : (cfdt*(u(1:mxcalc)-ug(1:mxcalc)) + 777 : sfdt*(v(1:mxcalc)-vg(1:mxcalc)) ) 778 !! : -fcoriolis*(u(1:mxcalc)-ug(1:mxcalc)) 779 ! 780 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 781 ! call writefield_phy('dv_age' ,dv_age,llm) 782 ! call writefield_phy('du_age' ,du_age,llm) 783 ! call writefield_phy('du_phys' ,du_phys,llm) 784 ! call writefield_phy('u_tend' ,u,llm) 785 ! call writefield_phy('u_g' ,ug,llm) 786 ! 787 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 788 !! Increment state variables 789 !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 750 790 u(1:mxcalc)=u(1:mxcalc) + timestep*( 751 791 : du_phys(1:mxcalc)
Note: See TracChangeset
for help on using the changeset viewer.