Ignore:
Timestamp:
Feb 15, 2012, 5:55:59 PM (13 years ago)
Author:
acolaitis
Message:

Most up-to-date thermals parameters. Optimized for high resolution runs.

File:
1 edited

Legend:

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

    r513 r532  
    113113      REAL zdz,zbuoy(ngridmx,nlayermx),zw2m
    114114      LOGICAL activecell(ngridmx),activetmp(ngridmx)
    115       REAL a1,b1,ae,be,ad,bd,fdfu,b1inv,a1inv
     115      REAL a1,b1,ae,be,ad,bd,fdfu,b1inv,a1inv,omega
    116116      INTEGER tic
    117117
     
    378378      ad = 0.00048088  ; bd = -0.6697
    379379      fdfu = -1.3
     380      a1inv=a1
     381      b1inv=b1
     382      omega=0.
     383
     384! One good config for 34/35 levels
     385!      a1inv=a1
     386!      b1inv=b1
     387!      be=1.1*be
    380388
    381389! Best configuration for 222 levels:
     390
     391      omega=0.06
    382392      b1=0.
    383       a1=0.7*a1
     393      a1=1.
    384394      a1inv=0.25*a1
    385395      b1inv=0.0002
    386396
     397! Best config for norad 222 levels:
     398
     399!       omega=0.06
     400!       a1=1.
     401!       b1=0.
     402!       a1inv=a1
     403!       be=1.1*be
     404!       ad = 0.0004
     405!       b1inv=0.00035
     406
     407! Trying stuff :
     408
     409!       omega=0.06
     410!       a1=1.
     411!       b1=0.
     412!       be=be
     413!       a1inv=0.25*a1
     414!       b1inv=0.0002   
     415!       ad=1.1*ad
     416!       ae=1.*ae
    387417! --------------------------------------------------------------------------
    388418! --------------------------------------------------------------------------
     
    503533                if (((a1*zbuoy(ig,l)/w_est(ig,l)-b1) .gt. 0.) .and. (w_est(ig,l) .ne. 0.)) then
    504534                w_est(ig,l+1)=Max(0.0001,w_est(ig,l)+2.*zdz*a1*zbuoy(ig,l)-2.*zdz*w_est(ig,l)*b1 &
    505      & -2.*zdz*w_est(ig,l)*ae*(a1*zbuoy(ig,l)/w_est(ig,l)-b1)**be)
     535     & -2.*(1.-omega)*zdz*w_est(ig,l)*ae*(a1*zbuoy(ig,l)/w_est(ig,l)-b1)**be)
    506536                else
    507537                w_est(ig,l+1)=Max(0.0001,w_est(ig,l)+2.*zdz*a1inv*zbuoy(ig,l)-2.*zdz*w_est(ig,l)*b1inv)
     
    598628!---------------------------------------------------------------------------
    599629
    600       DO tic=0,5  ! internal convergence loop
     630      DO tic=0,0  ! internal convergence loop
    601631      activetmp(:)=activecell(:) .and. f_star(:,l+1)>1.e-10
    602632      do ig=1,ngridmx
     
    619649           if (((a1*zbuoy(ig,l)/zw2(ig,l)-b1) .gt. 0.) .and. (zw2(ig,l) .ne. 0.) ) then
    620650           zw2(ig,l+1)=Max(0.,zw2(ig,l)+2.*zdz*a1*zbuoy(ig,l)-         &
    621      & 2.*zdz*zw2(ig,l)*b1-2.*zdz*zw2(ig,l)*ae*(a1*zbuoy(ig,l)/zw2(ig,l)-b1)**be)
     651     & 2.*zdz*zw2(ig,l)*b1-2.*(1.-omega)*zdz*zw2(ig,l)*ae*(a1*zbuoy(ig,l)/zw2(ig,l)-b1)**be)
    622652           else
    623653           zw2(ig,l+1)=Max(0.,zw2(ig,l)+2.*zdz*a1inv*zbuoy(ig,l)-2.*zdz*zw2(ig,l)*b1inv)
Note: See TracChangeset for help on using the changeset viewer.