Changeset 276 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Sep 1, 2011, 3:11:19 PM (13 years ago)
Author:
acolaitis
Message:

Minor modification in vdif_cd.F. Important modification to thermals scheme : added specific set of parameter values for use in mesoscale model. Thermals will be usable in Mesoscale after an other verification is made about subrgrid gustiness.

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

Legend:

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

    r268 r276  
    8787!  ===================
    8888 
    89          r_aspect_thermals=2.   ! ultimately conrols the amount of mass going through the thermals
     89!         r_aspect_thermals     ! ultimately conrols the amount of mass going through the thermals
    9090                                ! decreasing it increases the thermals effect. Tests at gcm resolution
    9191                                ! shows that too low values destabilize the model
    9292                                ! when changing this value, one should check that the surface layer model
    9393                                ! outputs the correct Cd*u and Ch*u through changing the gustiness coefficient beta
     94
     95
     96#ifdef MESOSCALE
     97         nsplit_thermals=2
     98         r_aspect_thermals=0.7
     99#else
    94100         nsplit_thermals=40
     101         r_aspect_thermals=2.
     102#endif
     103
    95104         call getin("nsplit_thermals",nsplit_thermals)
    96105
  • trunk/LMDZ.MARS/libf/phymars/vdif_cd.F

    r268 r276  
    6161c    Local(2):
    6262c    ---------
     63      REAL z1,zcd0
    6364
    6465      REAL rib(ngrid)  ! Bulk Richardson number
     
    8182      REAL ite
    8283      REAL residual
    83       REAL zu2
     84      REAL zu2(ngrid)
    8485c-----------------------------------------------------------------------
    8586c   couche de surface:
     
    9091c Original formulation :
    9192
    92 !      DO ig=1,ngrid
    93 !         z1=1.E+0 + pz(ig,1)/pz0(ig)
    94 !         zcd0=karman/log(z1)
    95 !         zcd0=zcd0*zcd0
    96 !         pcdv(ig)=zcd0
    97 !         pcdh(ig)=zcd0
    98 !      ENDDO
    99 
     93c      DO ig=1,ngrid
     94c         z1=1.E+0 + pz(ig,1)/pz0(ig)
     95c         zcd0=karman/log(z1)
     96c         zcd0=zcd0*zcd0
     97c         pcdv(ig)=zcd0
     98c         pcdh(ig)=zcd0
     99c      ENDDO
     100     
    100101!      print*,'old : cd,ch; ',pcdv,pcdh
    101102
     
    109110      pz0tcomp(:) = 0.1*pz0(:)
    110111      rib(:)=0.
     112
    111113      pcdv(:)=0.
    112114      pcdh(:)=0.
     
    143145!         zu2=pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1)
    144146!         zu2=MAX(pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1),wmax(ig)**2)
    145          zu2= pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1) + (1.*wmax(ig))**2
     147       zu2(ig)= pu(ig,1)*pu(ig,1) + pv(ig,1)*pv(ig,1) + (1.*wmax(ig))**2
    146148
    147149               ! we add the wmax to simulate
     
    157159     &      *(((log(pz(ig,1)/pz0(ig)))**2)/(log(pz(ig,1)/pz0t)))
    158160     &      *(ph(ig,1)-pts(ig))
    159      &  /zu2
     161     &  /zu2(ig)
    160162
    161163         else
     
    195197      endif
    196198
    197        reynolds(ig)=karman*sqrt(fm(ig))*sqrt(pu(ig,1)**2 + pv(ig,1)**2)
     199       reynolds(ig)=karman*sqrt(fm(ig))
     200     &      *sqrt(zu2(ig))
     201c     &      *sqrt(pu(ig,1)**2 + pv(ig,1)**2)
    198202     &       *pz0(ig)/(log(z1z0)*nu)
    199203       pz0tcomp(ig)=pz0(ig)*exp(-karman*7.3*
     
    229233!     &              'Prandtl nb','no units',
    230234!     &                         0,prandtl)
    231 !        call WRITEDIAGFI(ngrid,'Re',
     235!       call WRITEDIAGFI(ngrid,'Re',
    232236!     &              'Reynolds nb','no units',
    233237!     &                         0,reynolds)
     
    236240!     &                         2,pz0tcomp)
    237241
     242
    238243      RETURN
    239244      END
Note: See TracChangeset for help on using the changeset viewer.