Changeset 740 for trunk/LMDZ.MARS/libf/phymars/simpleclouds.F
- Timestamp:
- Jul 25, 2012, 1:03:19 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/simpleclouds.F
r645 r740 3 3 & pq,pdq,pdqcloud,pdtcloud, 4 4 & nq,tau,rice) 5 USE updaterad 5 6 implicit none 6 7 c------------------------------------------------------------------ … … 41 42 integer nq ! nombre de traceurs 42 43 REAL ptimestep ! pas de temps physique (s) 43 ! REAL pplev(ngrid,nlay+1) ! pression aux inter-couches (Pa)44 44 REAL pplay(ngrid,nlay) ! pression au milieu des couches (Pa) 45 45 REAL pzlay(ngrid,nlay) ! altitude at the middle of the layers … … 68 68 SAVE firstcall 69 69 70 REAL CBRT71 EXTERNAL CBRT70 71 REAL rhocloud(ngridmx,nlayermx) ! Cloud density (kg.m-3) 72 72 73 73 INTEGER ig,l … … 86 86 c REAL, PARAMETER :: ccn_factor = 4.5 !! comme TESTS_JB // 1. avant 87 87 88 REAL Mcon_out(ngridmx,nlayermx) ! mass to be condensed (not dMice !!)89 88 90 89 c----------------------------------------------------------------------- … … 110 109 enddo 111 110 112 do l=1,nlay113 do ig=1,ngrid114 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. 2004120 c (N0=2e6 m-3 has been converted into N0=1.3e8 kg-1, otherwise121 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 nuclei129 ! TEMPORAIRE : decrease the number of CCNs FF 04/200130 ! reduction facteur 3131 ! ccntyp(ig,l) = ccntyp(ig,l) / 27.132 ! reduction facteur 2133 ! ccntyp(ig,l) = ccntyp(ig,l) / 8.134 c -----------------------------------------------------------------135 ccntyp(ig,l) = ccntyp(ig,l) / ccn_factor136 137 enddo ! of do ig=1,ngrid138 enddo ! of do l=1,nlay139 111 140 112 pdqcloud(1:ngrid,1:nlay,1:nq)=0 … … 167 139 zq(ig,l,igcm_h2o_vap)=zq(ig,l,igcm_h2o_vap)-dzq 168 140 169 Mcon_out(ig,l) = dzq170 171 c Calcul du rayon moyen des particules de glace.172 c Hypothese : Dans une couche, la glace presente se173 c repartit uniformement autour du nbre de poussieres174 c dont le rayon moyen est prescrit par rdusttyp.175 c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~176 rice(ig,l)=max( CBRT ( (zq(ig,l,igcm_h2o_ice)/rho_ice177 & +ccntyp(ig,l)*(4./3.)*pi*rdusttyp(ig,l)**3.)178 & /(ccntyp(ig,l)*4./3.*pi) ), rdusttyp(ig,l))179 180 141 181 142 enddo ! of do ig=1,ngrid … … 195 156 end do 196 157 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 158 c 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 207 166 c------------------------------------------------------------------ 208 167 return
Note: See TracChangeset
for help on using the changeset viewer.