22 subroutine rrtmgp_aerosol_optics_run(doSWrad, doLWrad, nCol, nLev, nDay, idxday, p_lev, &
23 p_lay, p_lk, tv_lay, relhum, lsmask, tracer, aerfld, lon, lat, iaermdl, iaerflg, &
24 top_at_1, con_pi, con_rd, con_g, aerodp, aerlw_tau, aerlw_ssa, aerlw_g, aersw_tau, &
25 aersw_ssa, aersw_g, ext550, errmsg, errflg )
28 logical,
intent(in) :: &
32 integer,
intent(in) :: &
38 integer,
intent(in),
dimension(:) :: &
40 real(kind_phys),
intent(in) :: &
44 real(kind_phys),
dimension(:),
intent(in) :: &
48 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
52 real(kind_phys),
dimension(:,:),
intent(in) :: &
54 real(kind_phys),
dimension(:, :,:),
intent(in) :: &
56 real(kind_phys),
dimension(:, :,:),
intent(in) :: &
58 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
60 real (kind=kind_phys),
dimension(:,:),
intent(out) :: &
64 real(kind_phys),
dimension(:,:),
intent(out) :: &
66 real(kind_phys),
dimension(:,:,:),
intent(out) :: &
73 integer,
intent(out) :: &
75 character(len=*),
intent(out) :: &
79 real(kind_phys),
dimension(nCol, nLev, lw_gas_props%get_nband(), 3) :: &
81 real(kind_phys),
dimension(nCol, nLev, sw_gas_props%get_nband(), 3) :: &
82 aerosolssw, aerosolssw2
89 if (.not. (doswrad .or. dolwrad))
return
92 call setaer(p_lev*0.01, p_lay*0.01, p_lk, tv_lay, relhum, lsmask, tracer, aerfld, lon, lat, ncol, nlev, &
93 nlev+1, .true., .true., iaermdl, iaerflg, top_at_1, con_pi, con_rd, con_g, aerosolssw2, aerosolslw, &
94 aerodp, ext550, errflg, errmsg)
97 if (doswrad .and. (nday .gt. 0))
then
102 aerosolssw(1:ncol,:,1,1) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),1)
103 aerosolssw(1:ncol,:,1,2) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),2)
104 aerosolssw(1:ncol,:,1,3) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),3)
105 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),1) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,1)
106 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),2) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,2)
107 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),3) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,3)
110 aersw_tau = aerosolssw(:,:,:,1)
111 aersw_ssa = aerosolssw(:,:,:,2)
112 aersw_g = aerosolssw(:,:,:,3)
117 aerlw_tau = aerosolslw(:,:,:,1)
118 aerlw_ssa = aerosolslw(:,:,:,2)
119 aerlw_g = aerosolslw(:,:,:,3)