Ignore:
Timestamp:
Jul 9, 2014, 7:26:01 PM (11 years ago)
Author:
tnavarro
Message:

Changed two microphysics thresholds for timesteps used in Mesoscale and LES

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

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/improvedclouds.F

    r1266 r1307  
    149149
    150150c       Volume ratio between two adjacent bins
    151    !     vrat_cld = log(rmax_cld/rmin_cld) / float(nbin_cld-1) *3.
    152    !     vrat_cld = exp(vrat_cld)
     151!        vrat_cld = log(rmax_cld/rmin_cld) / float(nbin_cld-1) *3.
     152!        vrat_cld = exp(vrat_cld)
    153153        vrat_cld = dlog(rmax_cld/rmin_cld) / float(nbin_cld-1) *3.
    154154        vrat_cld = dexp(vrat_cld)
     
    158158        rad_cld(1) = rmin_cld
    159159        vol_cld(1) = 4./3. * dble(pi) * rmin_cld*rmin_cld*rmin_cld
    160    !     vol_cld(1) = 4./3. * pi * rmin_cld*rmin_cld*rmin_cld
     160!        vol_cld(1) = 4./3. * pi * rmin_cld*rmin_cld*rmin_cld
    161161
    162162        do i=1,nbin_cld-1
     
    224224      pdtcloud(1:ngrid,1:nlay)=0
    225225   
    226 c     Initialize the tendencies
    227       pdqcloud(1:ngrid,1:nlay,1:nq)=0
    228       pdtcloud(1:ngrid,1:nlay)=0
    229      
    230 c     Initialize the tendencies
    231       pdqcloud(1:ngrid,1:nlay,1:nq)=0
    232       pdtcloud(1:ngrid,1:nlay)=0
    233      
    234226     
    235227      zt(1:ngrid,1:nlay) =
     
    403395c         If all the ice particles sublimate, all the condensation
    404396c         nuclei are released:
    405           if (zq(ig,l,igcm_h2o_ice).le.1.e-8) then
     397          if (zq(ig,l,igcm_h2o_ice).le.1.e-28) then
    406398         
    407399c           Water
  • trunk/LMDZ.MARS/libf/phymars/updaterad.F90

    r1266 r1307  
    2323real, parameter :: r3icemax = 125.e-12 ! ie ricemax  = 500 microns
    2424real, parameter :: ricemax  = 500.e-6
    25 
    26 real, parameter :: qice_threshold  = 1.e-15 ! 1.e-10
    27 
    2825
    2926
     
    7976!! Indeed, one can obtain ricemin for small but non negligible qice values, and therefore hugely opaque clouds.
    8077 
    81 if (qice .ge. qice_threshold) then
    82 
    83   rhocloud = (qice*rho_ice + qccn_true*rho_dust) / (qice + qccn_true)
    84   rhocloud = min(max(rhocloud,rho_ice),rho_dust)
    85 
    86   rice = (qice + qccn_true) * 0.75 / pi / rhocloud / nccn_true
     78
     79rhocloud = (qice*rho_ice + qccn_true*rho_dust) / (qice + qccn_true)
     80rhocloud = min(max(rhocloud,rho_ice),rho_dust)
     81
     82rice = (qice + qccn_true) * 0.75 / pi / rhocloud / nccn_true
    8783 
    88   if (rice .le. r3icemin) then
    89     rice = ricemin
    90   else if (rice .ge. r3icemax) then
    91     rice = ricemax
    92   else
    93     rice = rice**(1./3.) ! here rice is always positive
    94   endif
    95 
    96 else
    97 
     84if (rice .le. r3icemin) then
    9885  rice = ricemin
    99   rhocloud = rho_dust
    100 
    101 endif
     86else if (rice .ge. r3icemax) then
     87  rice = ricemax
     88else
     89  rice = rice**(1./3.) ! here rice is always positive
     90endif
     91
    10292
    10393end subroutine updaterice_micro
Note: See TracChangeset for help on using the changeset viewer.