21 subroutine rrtmgp_aerosol_optics_run(doSWrad, doLWrad, nCol, nLev, nDay, idxday, p_lev, &
22 p_lay, p_lk, tv_lay, relhum, lsmask, tracer, aerfld, lon, lat, iaermdl, iaerflg, &
23 top_at_1, con_pi, con_rd, con_g, aerodp, aerlw_tau, aerlw_ssa, aerlw_g, aersw_tau, &
24 aersw_ssa, aersw_g, ext550, errmsg, errflg )
27 logical,
intent(in) :: &
31 integer,
intent(in) :: &
37 integer,
intent(in),
dimension(:) :: &
39 real(kind_phys),
intent(in) :: &
43 real(kind_phys),
dimension(:),
intent(in) :: &
47 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
51 real(kind_phys),
dimension(:,:),
intent(in) :: &
53 real(kind_phys),
dimension(:, :,:),
intent(in) :: &
55 real(kind_phys),
dimension(:, :,:),
intent(in) :: &
57 real(kind_phys),
dimension(:,:),
intent(in),
optional :: &
59 real (kind=kind_phys),
dimension(:,:),
intent(out) :: &
63 real(kind_phys),
dimension(:,:),
intent(out) :: &
65 real(kind_phys),
dimension(:,:,:),
intent(out) :: &
72 integer,
intent(out) :: &
74 character(len=*),
intent(out) :: &
78 real(kind_phys),
dimension(nCol, nLev, lw_gas_props%get_nband(), 3) :: &
80 real(kind_phys),
dimension(nCol, nLev, sw_gas_props%get_nband(), 3) :: &
81 aerosolssw, aerosolssw2
88 if (.not. (doswrad .or. dolwrad))
return
91 call setaer(p_lev*0.01, p_lay*0.01, p_lk, tv_lay, relhum, lsmask, tracer, aerfld, lon, lat, ncol, nlev, &
92 nlev+1, .true., .true., iaermdl, iaerflg, top_at_1, con_pi, con_rd, con_g, aerosolssw2, aerosolslw, &
93 aerodp, ext550, errflg, errmsg)
96 if (doswrad .and. (nday .gt. 0))
then
101 aerosolssw(1:ncol,:,1,1) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),1)
102 aerosolssw(1:ncol,:,1,2) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),2)
103 aerosolssw(1:ncol,:,1,3) = aerosolssw2(1:ncol,:,sw_gas_props%get_nband(),3)
104 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),1) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,1)
105 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),2) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,2)
106 aerosolssw(1:ncol,:,2:sw_gas_props%get_nband(),3) = aerosolssw2(1:ncol,:,1:sw_gas_props%get_nband()-1,3)
109 aersw_tau = aerosolssw(:,:,:,1)
110 aersw_ssa = aerosolssw(:,:,:,2)
111 aersw_g = aerosolssw(:,:,:,3)
116 aerlw_tau = aerosolslw(:,:,:,1)
117 aerlw_ssa = aerosolslw(:,:,:,2)
118 aerlw_g = aerosolslw(:,:,:,3)