Changeset 1685 for trunk/LMDZ.MARS/libf/phymars/nucleaCO2.F
- Timestamp:
- Apr 3, 2017, 11:08:39 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/nucleaCO2.F
r1617 r1685 2 2 * * 3 3 subroutine nucleaCO2(pco2,temp,sat,n_ccn,nucrate, 4 & n_ccn_h2oice,rad_h2oice,nucrate_h2oice) 4 & n_ccn_h2oice,rad_h2oice,nucrate_h2oice, 5 & vo2co2) 5 6 USE comcstfi_h 6 7 … … 24 25 25 26 c Inputs 26 DOUBLE PRECISION pco2,sat 27 DOUBLE PRECISION pco2,sat,vo2co2 27 28 DOUBLE PRECISION n_ccn(nbinco2_cld), n_ccn_h2oice(nbinco2_cld) 28 29 REAL temp … … 49 50 c double precision xratio 50 51 51 double precision mtetalocal ! local mteta in double precision52 double precision mtetalocal,mtetalocalh ! local mteta in double precision 52 53 53 54 double precision fshapeco2simple,zefshapeco2 … … 63 64 64 65 mtetalocal = dble(mtetaco2) !! use mtetalocal for better performance 66 mtetalocalh=dble(mteta) 65 67 66 68 cccccccccccccccccccccccccccccccccccccccccccccccccc … … 99 101 100 102 nco2 = pco2 / kbz / temp 101 rstar = 2. * sigco2 * vo 1co2 / (kbz*temp*dlog(sat))102 gstar = 4. * pi * (rstar * rstar * rstar) / (3.*vo 1co2)103 rstar = 2. * sigco2 * vo2co2 / (kbz*temp*dlog(sat)) 104 gstar = 4. * pi * (rstar * rstar * rstar) / (3.*vo2co2) 103 105 104 106 fshapeco2simple = (2.+mtetalocal)*(1.-mtetalocal)*(1.-mtetalocal) … … 152 154 153 155 if (rad_h2oice(i).gt.3000.*rstar) then 154 zefshapeco2 = fshapeco2simple 155 else 156 zefshapeco2 = fshapeco2(mtetalocal,rad_h2oice(i)/rstar) ! same m for dust/h2o ice 156 zefshapeco2 = (2.+mtetalocalh)*(1.-mtetalocalh)* 157 & (1.-mtetalocalh) / 4. 158 else 159 zefshapeco2 = fshapeco2(mtetalocalh,rad_h2oice(i)/rstar) ! same m for dust/h2o ice 157 160 endif 158 161
Note: See TracChangeset
for help on using the changeset viewer.