Ignore:
Timestamp:
Jan 11, 2012, 2:21:08 PM (13 years ago)
Author:
acolaitis
Message:

M 489 libf/phymars/thermcell_main_mars.F90
--------------------> New parameters for thermals, following latest version of the relevant article

M 489 libf/phymars/physiq.F
--------------------> Minor modifications

D 489 libf/phymars/surflayer_interpol.F
A 0 libf/phymars/pbl_parameters.F
--------------------> Replaced surflayer_interpol.F by a cleaner and richer version called pbl_parameters.F

This routine is the base of what will later be implemented in the MCD and as a tool to
compute surface properties from output fields (so that it will ultimately disappear from libf
and might become an utility)

M 489 libf/phymars/vdif_cd.F
--------------------> Minor modification to the Richardson computation

M 489 libf/phymars/vdifc.F
--------------------> Minor modification to the aerodynamic conductances computation, replacing wmax by hfmax, which

is a better proxy for convective activity. Might be replaced by w_star later.

File:
1 edited

Legend:

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

    r356 r496  
    111111      REAL zdz,zbuoy(ngridmx,nlayermx),zw2m
    112112      LOGICAL active(ngridmx),activetmp(ngridmx)
    113       REAL a1,b1,ae,be,ad,bd
     113      REAL a1,b1,ae,be,ad,bd,fdfu
    114114      INTEGER tic
    115115
     
    304304      linter(:)=1.
    305305
     306! --------------------------------------------------------------------------
     307! -------------- MAIN PARAMETERS FOR THERMALS MODEL ------------------------
     308! --------------  see thermiques.pro and getfit.py -------------------------
     309
    306310!      a1=2.5 ; b1=0.0015 ; ae=0.045 ; be = 0.6  ! svn baseline
    307311
    308       a1=1.60226 ; b1=0.0006 ; ae=0.0454 ; be = 0.57 !improved fits
    309       ad = 0.0005114  ; bd = -0.662
     312! Using broad downdraft selection
     313!      a1=1.60226 ; b1=0.0006 ; ae=0.0454 ; be = 0.57
     314!      ad = 0.0005114  ; bd = -0.662
     315!      fdfu = -1.9
     316
     317! Using conditional sampling downdraft selection
     318      a1=1.4716 ; b1=0.0005698 ; ae=0.03683 ; be = 0.57421
     319      ad = 0.00048088  ; bd = -0.6697
     320      fdfu = -1.3
     321
     322! --------------------------------------------------------------------------
     323! --------------------------------------------------------------------------
     324! --------------------------------------------------------------------------
    310325
    311326! Initialisation des variables entieres
     
    513528!---------------------------------------------------------------------------
    514529
    515       DO tic=0,6  ! internal convergence loop
     530      DO tic=0,1  ! internal convergence loop
    516531      activetmp(:)=active(:) .and. f_star(:,l+1)>1.e-10
    517532      do ig=1,ngridmx
     
    640655! ================= FIN PLUME ===============================================
    641656! ===========================================================================
    642 
    643657
    644658! ===========================================================================
     
    10891103         do l=1,lmax(ig)
    10901104              if(zlay(ig,l) .le. 0.7*zmax(ig)) then
    1091               fm_down(ig,l) =-1.9*fm(ig,l)
     1105              fm_down(ig,l) =fm(ig,l)* &
     1106     &      max(fdfu,-3*max(0.,(zlay(ig,l)/zmax(ig)))-0.9)
    10921107              endif
    10931108
     
    11021117            endif
    11031118
    1104 !             if(zlay(ig,l) .le. 0.06*zmax(ig)) then
    1105 !          ztvd(ig,l)=ztv(ig,l)*max(0.,(zlay(ig,l)/zmax(ig))/19.231 + 0.9938)
    1106 !             elseif(zlay(ig,l) .le. 0.6*zmax(ig)) then
    1107 !          ztvd(ig,l)=ztv(ig,l)*max(0.,(zlay(ig,l)/zmax(ig)-0.075)/187.931 + 0.9982)
    1108 !             else
    1109 !!             elseif(zlay(ig,l) .le. 0.7*zmax(ig)) then
    1110 !          ztvd(ig,l)=ztv(ig,l)*max(0.,(zlay(ig,l)/zmax(ig) -0.60)/(-1333) + 1.00025)
    1111 !!             else
    1112 !!          ztvd(ig,l)=ztv(ig,l)
    1113 !            endif
    11141119
    11151120         enddo
     
    11261131         if(lmax(ig) .gt. 1) then
    11271132! No downdraft in the very-near surface layer, we begin at k=3
    1128          do k=2,lmax(ig)
     1133 
     1134         do k=3,lmax(ig)
    11291135            zdthladj_down(ig,k)=(1./masse(ig,k))*(fm_down(ig,k+1)*ztv(ig,k+1)- &
    11301136     & fm_down(ig,k)*ztv(ig,k)+fm_down(ig,k)*ztvd(ig,k)-fm_down(ig,k+1)*ztvd(ig,k+1))
     
    13321338         do ig=1,ngridmx
    13331339           pdtadj(ig,l)=(zdthladj(ig,l)+zdthladj_down(ig,l))*zpopsk(ig,l)
     1340!           pdtadj(ig,l)=zdthladj(ig,l)*zpopsk(ig,l)
    13341341         enddo
    13351342      enddo
Note: See TracChangeset for help on using the changeset viewer.