Changeset 173
- Timestamp:
- Jun 22, 2011, 10:39:16 AM (14 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r172 r173 754 754 - minor correction to callradite.F (to enable compilation in debug mode 755 755 with ifort when there is only one tracer). 756 757 == 17/06/2011 == AC 758 - Added maximum vertical velocity and heat flux output from thermals 759 - Added buoyancy diagnostics 760 - Minor modifications in thermals routines -
trunk/LMDZ.MARS/libf/phymars/calltherm_interface.F90
r165 r173 6 6 & ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2, & 7 7 & pplay,pplev,pphi,nq,zpopsk, & 8 & pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,pbl_dtke )8 & pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,pbl_dtke,hfmax,wmax) 9 9 10 10 USE ioipsl_getincom … … 67 67 REAL buoyancyOut(ngrid,nlayer) 68 68 REAL buoyancyEst(ngrid,nlayer) 69 REAL hfmax(ngrid),wmax(ngrid) 69 70 70 71 !--------------------------------------------------------- … … 137 138 & ,zw2,fraca & 138 139 & ,zpopsk,ztla,heatFlux,heatFlux_down & 139 & ,buoyancyOut,buoyancyEst )140 & ,buoyancyOut,buoyancyEst,hfmax,wmax) 140 141 141 142 … … 185 186 call WRITEDIAGFI(ngrid,'d_t_th', & 186 187 & 'tendance temp TH','K',1,d_t_ajs) 187 call WRITEDIAGFI(ngrid,'d_q_ajs', &188 & 'tendance q updraft','kg/kg',1,d_q_ajs(:,:,nq))189 call WRITEDIAGFI(ngrid,'d_q_tke', &190 & 'tendance q updraft','q2/q2',1,pbl_dtke*ptimestep)191 188 else 192 189 -
trunk/LMDZ.MARS/libf/phymars/calltherm_mars.F90
r161 r173 8 8 & ,fm_therm,entr_therm,detr_therm,lmax,& 9 9 & zw2,fraca,zpopsk,ztla,heatFlux,heatFlux_down,& 10 & buoyancyOut,buoyancyEst )10 & buoyancyOut,buoyancyEst,hfmax,wmax) 11 11 12 12 USE thermcell, only : nsplit_thermals,r_aspect_thermals … … 43 43 !******************************************************** 44 44 ! declarations 45 LOGICAL flag_bidouille_stratocu46 real fmc_therm(ngrid,nlayer+1)47 real zqla(ngrid,nlayer)48 real zqta(ngrid,nlayer)49 45 real zpopsk(ngrid,nlayer) 50 46 real ztla(ngrid,nlayer) 51 real wmax_sec(ngrid) 52 real zmax_sec(ngrid) 53 real f_sec(ngrid) 54 real detrc_therm(ngrid,nlayer) 55 real zw_sec(ngrid,nlayer+1) 56 integer lmix_sec(ngrid) 47 real wmax(ngrid) 48 real hfmax(ngrid) 57 49 integer lmax(ngrid) 58 50 … … 160 152 & +zheatFlux(:,:)*fact 161 153 heatFlux_down(:,:)=heatFlux_down(:,:) & 162 154 & +zheatFlux_down(:,:)*fact 163 155 buoyancyOut(:,:)=buoyancyOut(:,:) & 164 156 & +zbuoyancyOut(:,:)*fact 165 157 buoyancyEst(:,:)=buoyancyEst(:,:) & 166 158 & +zbuoyancyEst(:,:)*fact 167 159 168 160 zw2(:,:)=zw2(:,:) + zzw2(:,:)*fact … … 194 186 ! enddo 195 187 ! enddo 196 188 189 DO i=1,ngrid 190 hfmax(i)=MAXVAL(heatFlux(i,:)+heatFlux_down(i,:)) 191 wmax(i)=MAXVAL(zw2(i,:)) 192 ENDDO 193 197 194 return 198 195 -
trunk/LMDZ.MARS/libf/phymars/meso_physiq.F
r162 r173 366 366 INTEGER lmax_th(ngrid) 367 367 REAL dtke_th(ngrid,nlayer+1) 368 REAL dummycol(ngrid)368 REAL wmax_th(ngrid),hfmax_th(ngrid) 369 369 c======================================================================= 370 370 #ifdef MESOSCALE … … 1013 1013 $ ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2, 1014 1014 $ pplay,pplev,pphi,nq,zpopsk, 1015 $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th )1015 $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th,hfmax_th,wmax_th) 1016 1016 1017 1017 DO l=1,nlayer -
trunk/LMDZ.MARS/libf/phymars/physiq.F
r164 r173 303 303 304 304 REAL lmax_th_out(ngrid) 305 REAL wmax_th(ngrid),hfmax_th(ngrid) 305 306 REAL pdu_th(ngrid,nlayer),pdv_th(ngrid,nlayer) 306 307 REAL pdt_th(ngrid,nlayer),pdq_th(ngrid,nlayer,nq) … … 308 309 REAL dtke_th(ngrid,nlayer+1) 309 310 REAL dummycol(ngrid) 311 REAL hfx(ngrid) 312 310 313 c======================================================================= 311 314 … … 631 634 & zdqdif,zdqsdif) 632 635 636 hfx(:) = zflubid(:)-capcal(:)*zdtsdif(:) 633 637 634 638 DO l=1,nlayer … … 680 684 $ ptimestep,pu,pv,pt,pq,pdu,pdv,pdt,pdq,q2, 681 685 $ pplay,pplev,pphi,nq,zpopsk, 682 $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th )686 $ pdu_th,pdv_th,pdt_th,pdq_th,lmax_th,dtke_th,hfmax_th,wmax_th) 683 687 684 688 DO l=1,nlayer … … 1457 1461 c Outputs of thermals 1458 1462 c ---------------------------------------------------------- 1459 1463 if (calltherm) then 1460 1464 1461 1465 ! call WRITEDIAGFI(ngrid,'dtke', … … 1476 1480 ! endif 1477 1481 1482 lmax_th_out(:)=real(lmax_th(:)) 1483 1484 call WRITEDIAGFI(ngridmx,'hfx', 1485 & 'sensible heat flux','W.m-2', 1486 & 2,hfx) 1487 1488 call WRITEDIAGFI(ngridmx,'lmax_th', 1489 & 'hauteur du thermique','K', 1490 & 2,lmax_th_out) 1491 call WRITEDIAGFI(ngridmx,'hfmax_th', 1492 & 'maximum TH heat flux','K.m/s', 1493 & 2,hfmax_th) 1494 call WRITEDIAGFI(ngridmx,'wmax_th', 1495 & 'maximum TH vertical velocity','m/s', 1496 & 2,wmax_th) 1497 1498 endif 1478 1499 1479 1500 c ---------------------------------------------------------- … … 1512 1533 1513 1534 ! THERMALS STUFF 1D 1535 1536 call WRITEDIAGFI(ngridmx,'hfx', 1537 & 'sensible heat flux','W.m-2', 1538 & 0,hfx) 1514 1539 if(calltherm) then 1515 1540 1516 1541 lmax_th_out(:)=real(lmax_th(:)) 1517 1542 1518 if (ngridmx .eq. 1) then1519 1543 call WRITEDIAGFI(ngridmx,'lmax_th', 1520 & 'hauteur du thermique',' K',1544 & 'hauteur du thermique','point', 1521 1545 & 0,lmax_th_out) 1522 1523 else1524 call WRITEDIAGFI(ngridmx,'lmax_th',1525 & 'hauteur du thermique','K',1526 & 2,lmax_th_out)1527 1528 endif 1546 call WRITEDIAGFI(ngridmx,'hfmax_th', 1547 & 'maximum TH heat flux','K.m/s', 1548 & 0,hfmax_th) 1549 call WRITEDIAGFI(ngridmx,'wmax_th', 1550 & 'maximum TH vertical velocity','m/s', 1551 & 0,wmax_th) 1552 1529 1553 1530 1554 co2col(:)=0. -
trunk/LMDZ.MARS/libf/phymars/thermcell_main_mars.F90
r165 r173 303 303 ztva_est(:,:)=ztva(:,:) 304 304 ztla(:,:)=0. 305 305 zdz=0. 306 306 zbuoy(:,:)=0. 307 307 w_est(:,:)=0. … … 332 332 do l=2,nlay-1 333 333 do ig=1,ngrid 334 if (ztv(ig,l)>(ztv(ig,l+1)+0.5) .and. ztv(ig,1)>=ztv(ig,l) .and. ztv(ig,l-1)>(ztv(ig,l))) then334 if (ztv(ig,l)>(ztv(ig,l+1)+0.5) .and. ztv(ig,1)>=ztv(ig,l) .and. (alim_star(ig,l-1) .ne. 0.)) then 335 335 alim_star(ig,l)=MAX((ztv(ig,l)-ztv(ig,l+1)),0.) & 336 336 & *sqrt(zlev(ig,l+1))
Note: See TracChangeset
for help on using the changeset viewer.