Changeset 607
- Timestamp:
- Mar 30, 2012, 3:45:49 PM (13 years ago)
- Location:
- trunk/LMDZ.MARS
- Files:
-
- 1 added
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/README
r606 r607 1578 1578 >> Update vertical grid resolution for diffusion. 1579 1579 1580 == 30/03/12 == EM 1581 >> Updated model so that 1) reference pressure for opacity is now 610 Pa (and 1582 not 700 Pa anymore) and 2) the new MY24-MY30 dust scenarios (input files 1583 dust_MY24.nc, dust_MY25.nc, ..., dust_MY30.nc) can be used 1584 (when setting iaervar=24,25,...,30 in callphys.def): changed 1585 "readtesassim.F90" into "read_dust_scenario.F90" and apadpted aeropacity.F. 1586 one can still use the "old" MY24-MY25-MY26 (input files dust_tes_MY24.nc, 1587 dust_tes_MY25.nc and dust_tes_MY26.nc) scenarios by setting 1588 iaervar=124, 125 or 126 in callphys.def. 1589 -
trunk/LMDZ.MARS/libf/phymars/aeropacity.F
r520 r607 19 19 c - dustopacity transferred from physiq.F to callradite.F, 20 20 c and renamed into aeropacity.F; 21 c update E. Millour, march 2012: 22 c - reference pressure is now set to 610Pa (not 700Pa) 21 23 c 22 24 c input: … … 37 39 c output: 38 40 c ------- 39 c tauref Prescribed mean column optical depth at 700 Pa41 c tauref Prescribed mean column optical depth at 610 Pa 40 42 c tau Column total visible dust optical depth at each point 41 43 c aerosol aerosol(ig,l,1) is the dust optical … … 114 116 INTEGER, PARAMETER :: cstdustlevel = 7 115 117 116 LOGICAL firstcall 117 DATA firstcall/.true./ 118 SAVE firstcall 118 LOGICAL,SAVE :: firstcall=.true. 119 119 120 120 ! indexes of water ice and dust tracers: 121 121 INTEGER,SAVE :: nqdust(nqmx) ! to store the indexes of dust tracers 122 122 INTEGER,SAVE :: i_ice=0 ! water ice 123 real,parameter :: odpref=610. ! DOD reference pressure (Pa) 123 124 CHARACTER(LEN=20) :: txt ! to temporarly store text 124 125 CHARACTER(LEN=1) :: txt2 ! to temporarly store text … … 192 193 END IF 193 194 194 c Vertical column optical depth at 700.Pa195 c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 195 c Vertical column optical depth at "odpref" Pa 196 c ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 196 197 IF(iaervar.eq.1) THEN 197 198 do ig=1, ngridmx … … 224 225 & (taueq-tauS)*0.5*(1+tanh((45+lati(ig)*180./pi)*6/60)) 225 226 end do 226 ELSE IF ((iaervar.eq.4).or.227 & ((iaervar.ge.24).and.(iaervar.le.26)))228 & THEN ! << "TES assimilated dust scenarios >>229 call readtesassim(ngrid,nlayer,zday,pplev,tauref)230 231 227 ELSE IF (iaervar.eq.5) THEN ! << Escalier Scenario>> 232 228 c tauref(1) = 0.2 … … 240 236 tauref(ig) = tauref(1) 241 237 end do 238 ELSE IF ((iaervar.ge.24).and.(iaervar.le.30)) 239 & THEN ! << MY... dust scenarios >> 240 call read_dust_scenario(ngrid,nlayer,zday,pplev,tauref) 241 ELSE IF ((iaervar.eq.4).or. 242 & ((iaervar.ge.124).and.(iaervar.le.126))) THEN 243 ! "old" TES assimation dust scenario (values at 700Pa in files!) 244 call read_dust_scenario(ngrid,nlayer,zday,pplev,tauref) 242 245 ELSE 243 246 stop 'problem with iaervar in aeropacity.F' … … 284 287 DO ig=1,ngrid 285 288 c Typical mixing ratio profile 286 if(pplay(ig,l).gt. 700.289 if(pplay(ig,l).gt.odpref 287 290 $ /(988.**(topdust(ig)/70.))) then 288 zp=( 700./pplay(ig,l))**(70./topdust(ig))291 zp=(odpref/pplay(ig,l))**(70./topdust(ig)) 289 292 expfactor=max(exp(0.007*(1.-max(zp,1.))),1.e-3) 290 293 else … … 302 305 DO l=1,nlayer 303 306 DO ig=1,ngrid 304 zp= 700./pplay(ig,l)305 aerosol(ig,l,1)= tauref(ig)/ 700.*307 zp=odpref/pplay(ig,l) 308 aerosol(ig,l,1)= tauref(ig)/odpref * 306 309 s (pplev(ig,l)-pplev(ig,l+1)) 307 310 s *max( exp(.03*(1.-max(zp,1.))) , 1.E-3 ) … … 409 412 c Rescaling each layer to reproduce the choosen (or assimilated) 410 413 c dust extinction opacity at visible reference wavelength, which 411 c is originally scaled to an equivalent 700Pa pressure surface.414 c is originally scaled to an equivalent odpref Pa pressure surface. 412 415 c ----------------------------------------------------------------- 413 416 … … 427 430 DO ig=1,ngrid 428 431 tauscaling(ig) = tauref(ig) * 429 & pplev(ig,1) / 700.E0/ taudusttmp(ig)432 & pplev(ig,1) / odpref / taudusttmp(ig) 430 433 c tauscaling(ig) = 1.e-4 431 434 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.