Ignore:
Timestamp:
Jul 25, 2012, 1:03:19 PM (12 years ago)
Author:
tnavarro
Message:

module for ice and radius radius computation

File:
1 edited

Legend:

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

    r645 r740  
    33     &             pq,pdq,pdqcloud,pdtcloud,
    44     &             nq,tau,rice)
     5      USE updaterad
    56      implicit none
    67c------------------------------------------------------------------
     
    4142      integer nq                 ! nombre de traceurs
    4243      REAL ptimestep             ! pas de temps physique (s)
    43 !      REAL pplev(ngrid,nlay+1)   ! pression aux inter-couches (Pa)
    4444      REAL pplay(ngrid,nlay)     ! pression au milieu des couches (Pa)
    4545      REAL pzlay(ngrid,nlay)     ! altitude at the middle of the layers
     
    6868      SAVE firstcall
    6969
    70       REAL CBRT
    71       EXTERNAL CBRT
     70           
     71      REAL rhocloud(ngridmx,nlayermx)  ! Cloud density (kg.m-3)
    7272
    7373      INTEGER ig,l
     
    8686c      REAL, PARAMETER :: ccn_factor = 4.5  !! comme TESTS_JB // 1. avant
    8787     
    88       REAL Mcon_out(ngridmx,nlayermx) ! mass to be condensed (not dMice !!)
    8988
    9089c-----------------------------------------------------------------------
     
    110109      enddo
    111110
    112       do l=1,nlay
    113         do ig=1,ngrid
    114 
    115 c         Typical dust radius profile:
    116           rdusttyp(ig,l)= max(.8e-6*exp(-pzlay(ig,l)/18000.),1.e-9)
    117 
    118 c         Typical CCN profile:
    119 c         Corrected equation, following Montmessin et al. 2004
    120 c           (N0=2e6 m-3 has been converted into N0=1.3e8 kg-1, otherwise
    121 c            the equation for rice is not homogeneous...)
    122           ccntyp(ig,l)=
    123      &       1.3e+8*max(tau(ig,1),0.001)/0.1*exp(-pzlay(ig,l)/10000.)
    124 c         The previously used profile was not correct:
    125 c         ccntyp(ig,l)=( epaisseur(ig,l)/masse(ig,l) ) *
    126 c    &       2.e+6/0.1*max(tau(ig,1),0.001)*exp(-pzlay(ig,l)/10000.)
    127 
    128 c         Reduce number of nuclei
    129 !         TEMPORAIRE : decrease the number of CCNs FF 04/200
    130 !         reduction facteur 3
    131 !         ccntyp(ig,l) = ccntyp(ig,l) / 27.
    132 !         reduction facteur 2
    133 !         ccntyp(ig,l) = ccntyp(ig,l) / 8.
    134 c -----------------------------------------------------------------
    135           ccntyp(ig,l) = ccntyp(ig,l) / ccn_factor
    136 
    137         enddo ! of do ig=1,ngrid
    138       enddo ! of do l=1,nlay
    139111
    140112      pdqcloud(1:ngrid,1:nlay,1:nq)=0
     
    167139          zq(ig,l,igcm_h2o_vap)=zq(ig,l,igcm_h2o_vap)-dzq
    168140         
    169           Mcon_out(ig,l) = dzq
    170 
    171 c         Calcul du rayon moyen des particules de glace.
    172 c         Hypothese : Dans une couche, la glace presente se
    173 c         repartit uniformement autour du nbre de poussieres
    174 c         dont le rayon moyen est prescrit par rdusttyp.
    175 c         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    176           rice(ig,l)=max( CBRT ( (zq(ig,l,igcm_h2o_ice)/rho_ice
    177      &      +ccntyp(ig,l)*(4./3.)*pi*rdusttyp(ig,l)**3.)
    178      &      /(ccntyp(ig,l)*4./3.*pi) ), rdusttyp(ig,l))
    179 
    180141
    181142        enddo ! of do ig=1,ngrid
     
    195156      end do
    196157
    197 c------------------------------------------------------------------
    198 c     TEST_JBM
    199 !      IF (ngrid.eq.1) THEN
    200 !         call WRITEDIAGFI(ngrid,"mcond","h2o condensed mass","kg",1,
    201 !     &                    Mcon_out)
    202 !         call WRITEDIAGFI(ngrid,"rdusttyp","rdusttyp","m",1,
    203 !     &                    rdusttyp)
    204 !         call WRITEDIAGFI(ngrid,"ccntyp","ccntyp","kg-1",1,
    205 !     &                    ccntyp)
    206 !      ENDIF
     158c     ice crystal radius
     159      do l=1, nlay
     160        do ig=1,ngridmx
     161          call updaterice_typ(zq(ig,l,igcm_h2o_ice),
     162     &       tau(ig,1),pzlay(ig,l),rice(ig,l))
     163        end do
     164      end do
     165
    207166c------------------------------------------------------------------
    208167      return
Note: See TracChangeset for help on using the changeset viewer.