Changeset 624 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Apr 17, 2012, 4:41:54 PM (13 years ago)
Author:
acolaitis
Message:

Thermals: corrected the problem with advection of momentum.

Location:
trunk/LMDZ.MARS/libf/phymars
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/calltherm_interface.F90

    r623 r624  
    256256
    257257            d_t_the(:,:)=d_t_the(:,:)*ptimestep*fact
    258 !            d_u_the(:,:)=d_u_the(:,:)*fact
    259 !            d_v_the(:,:)=d_v_the(:,:)*fact
     258            d_u_the(:,:)=d_u_the(:,:)*ptimestep*fact
     259            d_v_the(:,:)=d_v_the(:,:)*ptimestep*fact
    260260!            dq2_the(:,:)=dq2_the(:,:)*fact
    261261            if (ico2 .ne. 0) then
    262                d_q_the(:,:,ico2)=d_q_the(:,:,ico2)*fact
     262               d_q_the(:,:,ico2)=d_q_the(:,:,ico2)*ptimestep*fact
    263263            endif
    264264
     
    287287!  accumulation de la tendance
    288288
    289             d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_the(:,:)
    290 !           d_u_ajs(:,:)=d_u_ajs(:,:)+d_u_the(:,:)
    291 !           d_v_ajs(:,:)=d_v_ajs(:,:)+d_v_the(:,:)
     289           d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_the(:,:)
     290           d_u_ajs(:,:)=d_u_ajs(:,:)+d_u_the(:,:)
     291           d_v_ajs(:,:)=d_v_ajs(:,:)+d_v_the(:,:)
    292292            if (ico2 .ne. 0) then
    293293               d_q_ajs(:,:,ico2)=d_q_ajs(:,:,ico2)+d_q_the(:,:,ico2)
     
    297297
    298298            zt(:,:) = zt(:,:) + d_t_the(:,:)
    299 !            zu(:,:) = zu(:,:) + d_u_the(:,:)
    300 !            zv(:,:) = zv(:,:) + d_v_the(:,:)
     299            zu(:,:) = zu(:,:) + d_u_the(:,:)
     300            zv(:,:) = zv(:,:) + d_v_the(:,:)
    301301            if (ico2 .ne. 0) then
    302302             pq_therm(:,:,ico2) = &
    303      &          pq_therm(:,:,ico2) + d_q_the(:,:,ico2)*ptimestep
     303     &          pq_therm(:,:,ico2) + d_q_the(:,:,ico2)
    304304            endif
    305305!            q2_therm(:,:) = q2_therm(:,:) + dq2_therm(:,:)
     
    363363! **********************************************************************
    364364
    365 ! Winds and tracers PDU, PDV, and PDQ are DERIVATIVES
    366 
    367            pdu_th(:,:)=d_u_ajs(:,:)
    368            pdv_th(:,:)=d_v_ajs(:,:)
     365           pdu_th(:,:)=d_u_ajs(:,:)/ptimestep
     366           pdv_th(:,:)=d_v_ajs(:,:)/ptimestep
    369367
    370368           if(qtransport_thermals) then
    371369              if(tracer) then
    372                   pdq_th(:,:,:)=d_q_ajs(:,:,:)
     370                  pdq_th(:,:,:)=d_q_ajs(:,:,:)/ptimestep
    373371              endif
    374372           endif
     
    383381           ENDIF
    384382
    385 
    386 ! Temperature PDT is a TENDANCY
    387383           pdt_th(:,:)=d_t_ajs(:,:)/ptimestep
    388384
     
    453449        call WRITEDIAGFI(ngridmx,'zmax',  &
    454450     &         'pbl height','m',0,zmaxth)
     451        call WRITEDIAGFI(ngridmx,'d_u_th',  &
     452     &         'tendance moment','m/s',1,pdu_th)
    455453      else
    456454
  • trunk/LMDZ.MARS/libf/phymars/thermcell_main_mars.F90

    r621 r624  
    186186      detr(:,:)=0.
    187187      fm(:,:)=0.
    188 !      zu(:,:)=pu(:,:)
    189 !      zv(:,:)=pv(:,:)
     188      zu(:,:)=pu(:,:)
     189      zv(:,:)=pv(:,:)
    190190      zhc(:,:)=pt(:,:)/zpopsk(:,:)
    191191
     
    15211521      else
    15221522
    1523 !      modname='momentum'
    1524 !      call thermcell_dqupdown(ngridmx,nlayermx,ptimestep,fm,entr,detr,  &
    1525 !     &     masse,zu,pduadj,ztvd,fm_down,ztv,modname,lmax)
    1526 !
    1527 !      call thermcell_dqupdown(ngridmx,nlayermx,ptimestep,fm,entr,detr,  &
    1528 !     &     masse,zv,pdvadj,ztvd,fm_down,ztv,modname,lmax)
     1523      call thermcell_dqup(ngridmx,nlayermx,ptimestep                &
     1524     &      ,fm,entr,  &
     1525     &     masse,zu,pduadj)
     1526
     1527      call thermcell_dqup(ngridmx,nlayermx,ptimestep    &
     1528     &       ,fm,entr,  &
     1529     &     masse,zv,pdvadj)
    15291530
    15301531      endif
Note: See TracChangeset for help on using the changeset viewer.