14 swhtr, sfcalb1, sfcalb2, sfcalb3, sfcalb4, htswc, htsw0, &
15 nirbmdi, nirdfdi, visbmdi, visdfdi, nirbmui, nirdfui, visbmui,&
16 visdfui, sfcdsw, sfcnsw, htrsw, swhc, scmpsw, sfcfsw, topfsw, &
19 use machine,
only: kind_phys
25 integer,
intent(in) :: im, levr, levs, &
27 logical,
intent(in) :: lsswr, swhtr
28 real(kind=kind_phys),
dimension(:),
intent(in) :: sfcalb1, sfcalb2, &
30 real(kind=kind_phys),
dimension(:,:),
intent(in) :: htswc, htsw0
32 real(kind=kind_phys),
dimension(:),
intent(inout) :: nirbmdi, nirdfdi, &
37 real(kind=kind_phys),
dimension(:,:),
intent(inout) :: htrsw, swhc
39 type(
cmpfsw_type),
dimension(:),
intent(inout) :: scmpsw
40 type(
sfcfsw_type),
dimension(:),
intent(inout) :: sfcfsw
41 type(
topfsw_type),
dimension(:),
intent(inout) :: topfsw
43 character(len=*),
intent(out) :: errmsg
44 integer,
intent(out) :: errflg
56 htrsw(1:im,k) = htswc(1:im,k1)
62 htrsw(1:im,k) = htrsw(1:im,lm)
69 swhc(1:im,k) = htsw0(1:im,k1)
74 swhc(1:im,k) = swhc(1:im,lm)
84 nirbmdi(i) = scmpsw(i)%nirbm
85 nirdfdi(i) = scmpsw(i)%nirdf
86 visbmdi(i) = scmpsw(i)%visbm
87 visdfdi(i) = scmpsw(i)%visdf
89 nirbmui(i) = scmpsw(i)%nirbm * sfcalb1(i)
90 nirdfui(i) = scmpsw(i)%nirdf * sfcalb2(i)
91 visbmui(i) = scmpsw(i)%visbm * sfcalb3(i)
92 visdfui(i) = scmpsw(i)%visdf * sfcalb4(i)
101 scmpsw =
cmpfsw_type( 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 )
123 sfcnsw(i) = sfcfsw(i)%dnfxc - sfcfsw(i)%upfxc
124 sfcdsw(i) = sfcfsw(i)%dnfxc
subroutine rrtmg_sw_post_run(im, levr, levs, ltp, nday, lm, kd, lsswr, swhtr, sfcalb1, sfcalb2, sfcalb3, sfcalb4, htswc, htsw0, nirbmdi, nirdfdi, visbmdi, visdfdi, nirbmui, nirdfui, visbmui, visdfui, sfcdsw, sfcnsw, htrsw, swhc, scmpsw, sfcfsw, topfsw, errmsg, errflg)