- Timestamp:
- Dec 3, 2017, 4:08:33 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/StratAer/micphy_tstep.F90
r3094 r3098 25 25 ! local variables in coagulation routine 26 26 INTEGER, PARAMETER :: nbtstep=4 ! Max number of time steps in microphysics per time step in physics 27 INTEGER :: it,ilon,ilev, IK,count_tstep27 INTEGER :: it,ilon,ilev,count_tstep 28 28 REAL :: rhoa !H2SO4 number density [molecules/cm3] 29 29 REAL :: ntot !total number of molecules in the critical cluster (ntot>4) … … 43 43 REAL H2SO4_sat(nbtr_bin) 44 44 45 DO IK=1,nbtr_bin46 Vbin( IK)=4.0*RPI*((mdw(IK)/2.)**3)/3.045 DO it=1,nbtr_bin 46 Vbin(it)=4.0*RPI*((mdw(it)/2.)**3)/3.0 47 47 ENDDO 48 48 … … 95 95 & RRSI,Vbin,FL,ASO4,DNDR) 96 96 ! consider only condensation (positive FL) 97 DO IK=1,nbtr_bin98 FL( IK)=MAX(FL(IK),0.)97 DO it=1,nbtr_bin 98 FL(it)=MAX(FL(it),0.) 99 99 ENDDO 100 100 ! compute total H2SO4 cond flux for all particles 101 101 cond_evap_rate=0.0 102 DO IK=1, nbtr_bin103 cond_evap_rate=cond_evap_rate+tr_seri(ilon,ilev, IK+nbtr_sulgas)*FL(IK)*mH2SO4mol102 DO it=1, nbtr_bin 103 cond_evap_rate=cond_evap_rate+tr_seri(ilon,ilev,it+nbtr_sulgas)*FL(it)*mH2SO4mol 104 104 ENDDO 105 105 ! determine appropriate time step … … 131 131 & RRSI,Vbin,FL,ASO4,DNDR) 132 132 ! limit evaporation (negative FL) over one physics time step to H2SO4 content of the droplet 133 DO IK=1,nbtr_bin134 FL( IK)=MAX(FL(IK)*pdtphys,0.-ASO4(IK))/pdtphys133 DO it=1,nbtr_bin 134 FL(it)=MAX(FL(it)*pdtphys,0.-ASO4(it))/pdtphys 135 135 ! consider only evap (negative FL) 136 FL( IK)=MIN(FL(IK),0.)136 FL(it)=MIN(FL(it),0.) 137 137 ENDDO 138 138 ! compute total H2SO4 evap flux for all particles 139 139 evap_rate=0.0 140 DO IK=1, nbtr_bin141 evap_rate=evap_rate+tr_seri(ilon,ilev, IK+nbtr_sulgas)*FL(IK)*mH2SO4mol140 DO it=1, nbtr_bin 141 evap_rate=evap_rate+tr_seri(ilon,ilev,it+nbtr_sulgas)*FL(it)*mH2SO4mol 142 142 ENDDO 143 143 ! update H2SO4 concentration after evap … … 158 158 DO ilon=1, klon 159 159 DO ilev=1, klev 160 DO IK=1, nbtr161 IF (tr_seri(ilon,ilev, IK).LT.0.0) THEN162 PRINT *, 'micphy_tstep: negative concentration', tr_seri(ilon,ilev, IK), ilon, ilev, IK160 DO it=1, nbtr 161 IF (tr_seri(ilon,ilev,it).LT.0.0) THEN 162 PRINT *, 'micphy_tstep: negative concentration', tr_seri(ilon,ilev,it), ilon, ilev, it 163 163 ENDIF 164 164 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.