Changeset 3353 for trunk/LMDZ.PLUTO.old
- Timestamp:
- May 31, 2024, 10:03:40 PM (6 months ago)
- Location:
- trunk/LMDZ.PLUTO.old/libf/phypluto
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO.old/libf/phypluto/aeroptproperties.F90
r3175 r3353 32 32 ! ============================================================== 33 33 34 ! Local variables 34 ! Local variables 35 35 ! --------------- 36 36 … … 247 247 if(nuefftabsize.eq.1)then ! addded by RDW 248 248 !print*,'Warning: no variance range in aeroptproperties' 249 nuefftab(1)=nueffrad(1,1,1) ! 249 nuefftab(1)=nueffrad(1,1,1) ! 250 250 else 251 251 do i = 0, nuefftabsize-1 … … 253 253 enddo 254 254 endif 255 255 256 256 ! check that radiustab (table.dat) cover the reffrad used for haze : iaer=1 257 257 minrad=min(MINVAL(radiustab(1,1,1:nsize(1,1))),MINVAL(radiustab(1,2,1:nsize(1,2)))) 258 258 maxrad=min(MAXVAL(radiustab(1,1,1:nsize(1,1))),MAXVAL(radiustab(1,2,1:nsize(1,2)))) 259 IF ((MINVAL(reffrad).L E.minrad).OR.(MAXVAL(reffrad).GE.maxrad)) then259 IF ((MINVAL(reffrad).LT.minrad).OR.(MAXVAL(reffrad).GT.maxrad)) then 260 260 WRITE(*,*) 'Warning: particle size in grid box #' 261 WRITE(*,*) ig,' is too large to be used by the ' 262 WRITE(*,*) 'radiative transfer; please extend the ' 263 WRITE(*,*) 'interpolation grid to larger grain sizes.' 261 WRITE(*,*) ig,' is larger than optical properties. ' 262 WRITE(*,*) 'reffrad=',MINVAL(reffrad),'-',MAXVAL(reffrad) 264 263 WRITE(*,*) 'radiustab=',minrad,'-',maxrad 265 WRITE(*,*) 'reffrad=',MINVAL(reffrad),'-',MAXVAL(reffrad) 266 stop 264 265 ! ensure reffrad is within bounds of radiustab 266 ! WHERE(reffrad.LT.minrad) 267 ! reffrad=minrad 268 ! ENDWHERE 269 ! WHERE(reffrad.GT.maxrad) 270 ! reffrad=maxrad 271 ! ENDWHERE 272 ! WRITE(*,*) 'Truncated reffrad within radiustab bounds:' 273 ! WRITE(*,*) 'New reffrad=',MINVAL(reffrad),'-',MAXVAL(reffrad) 267 274 ENDIF 268 275 … … 283 290 DO gausind=1,ngau 284 291 drad=radiusr*radgaus(gausind) 285 radGAUSa(gausind,iaer,idomain)=radiusm-drad 292 radGAUSa(gausind,iaer,idomain)=radiusm-drad 286 293 287 294 ! formule 2.33 dans these JB … … 370 377 qsqrefVISb(m,gausind,iaer)= & 371 378 (1-kint)*QVISsQREF(m,iaer,radius_id) + & 372 kint*QVISsQREF(m,iaer,radius_id+1) 379 kint*QVISsQREF(m,iaer,radius_id+1) 373 380 omegVISb(m,gausind,iaer)= & 374 381 (1-kint)*omegaVIS(m,iaer,radius_id) + & … … 420 427 grid_i=floor(var_tmp) 421 428 ! grid_i: get index of reffrad in refftab 422 429 423 430 IF (grid_i.GE.refftabsize) THEN 424 431 WRITE(*,*) 'Warning: particle size in grid box #' … … 428 435 grid_i=refftabsize-1 429 436 kx = 1. 430 stop 437 stop 431 438 ELSEIF (grid_i.LE.1) THEN 432 439 WRITE(*,*) 'Warning: particle size in grid box #' … … 461 468 EXP(-dista(j,1,iaer,idomain,gausind) * & 462 469 dista(j,1,iaer,idomain,gausind) * & 463 0.5e0/sizedistk2)/(radiusm-drad) 470 0.5e0/sizedistk2)/(radiusm-drad) 464 471 dista(j,1,iaer,idomain,gausind) = & 465 472 dista(j,1,iaer,idomain,gausind) / & … … 502 509 ! Convolution: 503 510 qextVISgrid(j,1,m,iaer) = & 504 qextVISgrid(j,1,m,iaer) + & 511 qextVISgrid(j,1,m,iaer) + & 505 512 weightgaus(gausind) * & 506 513 ( & … … 571 578 ( & 572 579 omegrefVISb(gausind,iaer) * & 573 qrefVISb(gausind,iaer) * & 580 qrefVISb(gausind,iaer) * & 574 581 pi*radGAUSb(gausind,iaer,idomain) * & 575 582 radGAUSb(gausind,iaer,idomain) * & … … 584 591 585 592 qrefVISgrid(j,1,iaer)=qrefVISgrid(j,1,iaer) / & 586 normd(j,1,iaer,idomain) 593 normd(j,1,iaer,idomain) 587 594 qscatrefVISgrid(j,1,iaer)=qscatrefVISgrid(j,1,iaer) / & 588 595 normd(j,1,iaer,idomain) … … 699 706 ) 700 707 ENDDO 701 708 702 709 qrefIRgrid(j,1,iaer)=qrefIRgrid(j,1,iaer) / & 703 710 normd(j,1,iaer,idomain) … … 752 759 omegaIR3d(ig,lg,m,iaer) = & 753 760 k1*omegIRgrid(grid_i,1,m,iaer) + & 754 k2*omegIRgrid(grid_i+1,1,m,iaer) 755 gIR3d(ig,lg,m,iaer) = & 761 k2*omegIRgrid(grid_i+1,1,m,iaer) 762 gIR3d(ig,lg,m,iaer) = & 756 763 k1*gIRgrid(grid_i,1,m,iaer) + & 757 764 k2*gIRgrid(grid_i+1,1,m,iaer) … … 782 789 783 790 784 791 -
trunk/LMDZ.PLUTO.old/libf/phypluto/aerosol_mod.F90
r3175 r3353 62 62 IF (firstcall) then 63 63 firstcall=.false. 64 file_path=trim(datadir)//'/haze_prop/hazemmr.txt' 64 ! file_path=trim(datadir)//'/haze_prop/hazemmr.txt' 65 file_path=trim(datadir)//'/haze_prop/dens_haze.txt' 65 66 open(224,file=file_path,form='formatted') 66 67 do ifine=1,Nfine … … 68 69 enddo 69 70 close(224) 70 print*, ' TB22 read Haze MMR profile'71 print*, 'AF24 read Haze MMR profile ',file_path 71 72 ENDIF 72 73 … … 79 80 ! --> kg m-3 --> kg/kg 80 81 do iaer=1,naerkind 81 if(iaer.eq.iaero_haze.and.1.eq. 2) then !TB22 activate/deactivate mmr or part density82 if(iaer.eq.iaero_haze.and.1.eq.1) then !TB22 activate/deactivate mmr or part density 82 83 !print*, 'Haze profile is fixed' 83 84 do ig=1,ngrid -
trunk/LMDZ.PLUTO.old/libf/phypluto/datafile_mod.F90
r3175 r3353 14 14 15 15 ! aerdir stores aerosol properties files (optprop_*dat files) 16 character(LEN= 7),parameter :: aerdir="optprop"16 character(LEN=18),parameter :: aerdir="aerosol_properties" 17 17 18 18 ! Data haze properties -
trunk/LMDZ.PLUTO.old/libf/phypluto/radii_mod.F90
r3175 r3353 91 91 IF (firstcall) then 92 92 firstcall=.false. 93 file_path=trim(datadir)//'/haze_prop/hazerad.txt' 93 file_path=trim(datadir)//'/haze_prop/rad_haze.txt' 94 ! file_path=trim(datadir)//'/haze_prop/hazerad.txt' 94 95 open(223,file=file_path,form='formatted') 95 96 do ifine=1,Nfine … … 97 98 enddo 98 99 close(223) 99 print*, ' TB22 READ HAZERAD'100 print*, 'AF24 READ HAZERAD ', file_path 100 101 ENDIF 101 102
Note: See TracChangeset
for help on using the changeset viewer.