Skip to content
Merged
Show file tree
Hide file tree
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 37 additions & 4 deletions src/chemistry/aerosol/aerosol_properties_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ module aerosol_properties_mod
procedure(aero_resuspension_resize), deferred :: resuspension_resize
procedure(aero_rebin_bulk_fluxes), deferred :: rebin_bulk_fluxes
procedure(aero_hydrophilic), deferred :: hydrophilic
procedure :: is_bulk
Comment thread
gold2718 marked this conversation as resolved.
Outdated

procedure :: final=>aero_props_final
end type aerosol_properties
Expand Down Expand Up @@ -101,7 +102,7 @@ end function aero_number_transported
! species morphology
!------------------------------------------------------------------------
subroutine aero_props_get(self, bin_ndx, species_ndx, list_ndx, density, hygro, &
spectype, specname, specmorph, refindex_sw, refindex_lw)
spectype, specname, specmorph, refindex_sw, refindex_lw)
Comment thread
gold2718 marked this conversation as resolved.
import :: aerosol_properties, r8
class(aerosol_properties), intent(in) :: self
integer, intent(in) :: bin_ndx ! bin index
Expand All @@ -124,7 +125,10 @@ subroutine aero_optics_params(self, list_ndx, bin_ndx, opticstype, extpsw, absps
refrtabsw, refitabsw, refrtablw, refitablw, ncoef, prefr, prefi, sw_hygro_ext_wtp, &
sw_hygro_ssa_wtp, sw_hygro_asm_wtp, lw_hygro_ext_wtp, wgtpct, nwtp, &
sw_hygro_coreshell_ext, sw_hygro_coreshell_ssa, sw_hygro_coreshell_asm, lw_hygro_coreshell_ext, &
corefrac, bcdust, kap, relh, nfrac, nbcdust, nkap, nrelh )
corefrac, bcdust, kap, relh, nfrac, nbcdust, nkap, nrelh, &
sw_hygroscopic_ext, sw_hygroscopic_ssa, sw_hygroscopic_asm, lw_hygroscopic_ext, &
sw_insoluble_ext, sw_insoluble_ssa, sw_insoluble_asm, lw_insoluble_ext, &
r_sw_ext, r_sw_scat, r_sw_ascat, r_mu, r_lw_abs )

import :: aerosol_properties, r8

Expand Down Expand Up @@ -169,6 +173,25 @@ subroutine aero_optics_params(self, list_ndx, bin_ndx, opticstype, extpsw, absps
integer, optional, intent(out) :: nkap ! hygroscopicity dimension size
integer, optional, intent(out) :: nrelh ! relative humidity dimension size

! hygroscopic
real(r8), optional, pointer :: sw_hygroscopic_ext(:,:) ! short wave extinction table
real(r8), optional, pointer :: sw_hygroscopic_ssa(:,:) ! short wave single-scatter albedo table
real(r8), optional, pointer :: sw_hygroscopic_asm(:,:) ! short wave asymmetry table
real(r8), optional, pointer :: lw_hygroscopic_ext(:,:) ! long wave absorption table

! non-hygroscopic (insoluble)
real(r8), optional, pointer :: sw_insoluble_ext(:) ! short wave extinction table
real(r8), optional, pointer :: sw_insoluble_ssa(:) ! short wave single-scatter albedo table
real(r8), optional, pointer :: sw_insoluble_asm(:) ! short wave asymmetry table
real(r8), optional, pointer :: lw_insoluble_ext(:) ! long wave absorption table

! volcanic radius
real(r8), optional, pointer :: r_sw_ext(:,:)
real(r8), optional, pointer :: r_sw_scat (:,:)
real(r8), optional, pointer :: r_sw_ascat(:,:)
real(r8), optional, pointer :: r_mu(:)
real(r8), optional, pointer :: r_lw_abs(:,:)

end subroutine aero_optics_params

!------------------------------------------------------------------------
Expand Down Expand Up @@ -375,12 +398,12 @@ end function aero_alogsig_rlist
! returns name for a given radiation list number and aerosol bin
!------------------------------------------------------------------------------
function aero_bin_name(self, list_ndx, bin_ndx) result(name)
import :: aerosol_properties, r8
import :: aerosol_properties, r8, aero_name_len
class(aerosol_properties), intent(in) :: self
integer, intent(in) :: list_ndx ! radiation list number
integer, intent(in) :: bin_ndx ! bin number

character(len=32) name
character(len=aero_name_len) :: name

end function aero_bin_name

Expand Down Expand Up @@ -710,4 +733,14 @@ pure real(r8) function pom_equivso4_factor(self)

end function pom_equivso4_factor

!------------------------------------------------------------------------------
! returns TRUE if bulk aerosol representation
!------------------------------------------------------------------------------
pure logical function is_bulk(self)
class(aerosol_properties), intent(in) :: self

is_bulk = .false.

end function is_bulk

end module aerosol_properties_mod
Loading