module yomaer_h ! Radiative characteristics of the aerosols implicit none ! Shortwave ! ~~~~~~~~~ ! ! tauvis: dust optical depth at reference wavelength ("longrefvis" set ! in dimradmars_mod : typically longrefvis = 0.67E-6 m, as measured by Viking ) ! For the "naerkind" kind of aerosol radiative properties : ! QVISsQREF : Qext / Qext("longrefvis") <--- For both solar bands ! omegavis : sinle scattering albedo <--- For both solar bands ! gvis : assymetry factor <--- For both solar bands ! ! Longwave ! ~~~~~~~~ ! ! For the "naerkind" kind of aerosol radiative properties : ! QIRsQREF : Qext / Qext("longrefvis") <--- For the nir bandes IR ! omegaIR : mean single scattering albedo <--- For the nir bandes IR ! gIR : mean assymetry factor <--- For the nir bandes IR ! real,save :: tauvis real,save,allocatable :: QVISsQREF(:,:,:) real,save,allocatable :: omegavis(:,:,:) real,save,allocatable :: gvis(:,:,:) real,save,allocatable :: QIRsQREF(:,:,:) real,save,allocatable :: omegaIR(:,:,:) real,save,allocatable :: gIR(:,:,:) ! Actual number of grain size classes in each domain for a ! given aerosol: integer,save,allocatable :: nsize(:,:) ! Particle size axis (depend on the kind of aerosol and the ! radiation domain) real,save,allocatable :: radiustab(:,:,:) ! Extinction coefficient at reference wavelengths; ! These wavelengths are defined in dimradmars_mod, and called ! longrefvis and longrefir. real,save,allocatable :: QREFvis(:,:) real,save,allocatable :: QREFir(:,:) real,save,allocatable :: omegaREFvis(:,:) real,save,allocatable :: omegaREFir(:,:) contains subroutine ini_yomaer_h use dimradmars_mod, only: nsun, nir, nsizemax implicit none ! naerkind is set in scatterers.h (built when compiling with makegcm -s #) #include"scatterers.h" allocate(QVISsQREF(nsun,naerkind,nsizemax)) allocate(omegavis(nsun,naerkind,nsizemax)) allocate(gvis(nsun,naerkind,nsizemax)) allocate(QIRsQREF(nir,naerkind,nsizemax)) allocate(omegaIR(nir,naerkind,nsizemax)) allocate(gIR(nir,naerkind,nsizemax)) allocate(nsize(naerkind,2)) allocate(radiustab(naerkind,2,nsizemax)) allocate(QREFvis(naerkind,nsizemax)) allocate(QREFir(naerkind,nsizemax)) allocate(omegaREFvis(naerkind,nsizemax)) allocate(omegaREFir(naerkind,nsizemax)) end subroutine ini_yomaer_h end module yomaer_h