Changeset 1529 for trunk/LMDZ.GENERIC/libf/phystd/radii_mod.F90
- Timestamp:
- Apr 5, 2016, 10:51:51 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/radii_mod.F90
r1521 r1529 8 8 ! water cloud optical properties 9 9 10 use callkeys_mod, only: radfixed,Nmix_co2, 11 pres_bottom_tropo,pres_top_tropo,size_tropo,&12 10 use callkeys_mod, only: radfixed,Nmix_co2, & 11 pres_bottom_tropo,pres_top_tropo,size_tropo, & 12 pres_bottom_strato,size_strato 13 13 14 14 real, save :: rad_h2o … … 21 21 22 22 23 23 contains 24 24 25 25 … … 38 38 use ioipsl_getin_p_mod, only: getin_p 39 39 use radinc_h, only: naerkind 40 use aerosol_mod 41 ! USE tracer_h 42 Implicit none 43 44 ! include "dimensions.h" 45 ! include "dimphys.h" 40 use aerosol_mod, only: iaero_back2lay, iaero_co2, iaero_dust, & 41 iaero_h2o, iaero_h2so4 42 Implicit none 46 43 47 44 integer,intent(in) :: ngrid … … 81 78 nueffrad(1:ngrid,1:nlayer,iaer) = 0.1 82 79 endif 83 84 80 81 if(iaer.eq.iaero_back2lay)then ! Two-layer aerosols 85 82 reffrad(1:ngrid,1:nlayer,iaer) = 2.e-6 86 83 nueffrad(1:ngrid,1:nlayer,iaer) = 0.1 … … 101 98 if (radfixed) then 102 99 103 100 write(*,*)"radius of H2O water particles:" 104 101 rad_h2o=13. ! default value 105 102 call getin_p("rad_h2o",rad_h2o) 106 103 write(*,*)" rad_h2o = ",rad_h2o 107 104 108 105 write(*,*)"radius of H2O ice particles:" 109 106 rad_h2o_ice=35. ! default value 110 107 call getin_p("rad_h2o_ice",rad_h2o_ice) 111 108 write(*,*)" rad_h2o_ice = ",rad_h2o_ice 112 109 113 110 else 114 111 115 112 write(*,*)"Number mixing ratio of H2O water particles:" … … 122 119 call getin_p("Nmix_h2o_ice",Nmix_h2o_ice) 123 120 write(*,*)" Nmix_h2o_ice = ",Nmix_h2o_ice 124 121 endif 125 122 126 123 print*,'exit su_aer_radii' … … 173 170 zfice = 1.0 - (pt(ig,l)-T_h2O_ice_clouds) / (T_h2O_ice_liq-T_h2O_ice_clouds) 174 171 zfice = MIN(MAX(zfice,0.0),1.0) 175 176 172 zrad_liq = CBRT( 3*pq(ig,l)/(4*Nmix_h2o*pi*rhowater) ) 173 zrad_ice = CBRT( 3*pq(ig,l)/(4*Nmix_h2o_ice*pi*rhowaterice) ) 177 174 nueffrad(ig,l) = coef_chaud * (1.-zfice) + coef_froid * zfice 178 175 zrad = zrad_liq * (1.-zfice) + zrad_ice * zfice 179 176 180 177 reffrad(ig,l) = min(max(zrad,1.e-6),1000.e-6) 181 178 enddo 182 179 enddo … … 213 210 214 211 if (radfixed) then 215 216 212 reffliq(1:ngrid,1:nlayer)= rad_h2o 213 reffice(1:ngrid,1:nlayer)= rad_h2o_ice 217 214 else 218 219 220 221 222 223 224 225 226 215 do k=1,nlayer 216 do i=1,ngrid 217 reffliq(i,k) = CBRT(3*pql(i,k)/(4*Nmix_h2o*pi*rhowater)) 218 reffliq(i,k) = min(max(reffliq(i,k),1.e-6),1000.e-6) 219 220 reffice(i,k) = CBRT(3*pql(i,k)/(4*Nmix_h2o_ice*pi*rhowaterice)) 221 reffice(i,k) = min(max(reffice(i,k),1.e-6),1000.e-6) 222 enddo 223 enddo 227 224 endif 228 225
Note: See TracChangeset
for help on using the changeset viewer.