18 subroutine cu_c3_driver_post_run (im, km, t, q, prevst, prevsq, cactiv, cactiv_m, conv_act, conv_act_m, dt, garea, raincv, maxupmf, refl_10cm, errmsg, errflg)
25 integer,
intent(in) :: im, km
26 real(kind_phys),
intent(in) :: t(:,:)
27 real(kind_phys),
intent(in) :: q(:,:)
28 real(kind_phys),
dimension(:),
intent(in) :: garea
29 real(kind_phys),
intent(out),
optional :: prevst(:,:)
30 real(kind_phys),
intent(out),
optional :: prevsq(:,:)
31 integer,
intent(in),
optional :: cactiv(:)
32 integer,
intent(in),
optional :: cactiv_m(:)
33 real(kind_phys),
intent(out),
optional :: conv_act(:)
34 real(kind_phys),
intent(out),
optional :: conv_act_m(:)
36 real(kind_phys),
intent(in) :: dt
37 real(kind_phys),
intent(in) :: raincv(:)
38 real(kind_phys),
intent(in),
optional :: maxupmf(:)
39 real(kind_phys),
intent(inout) :: refl_10cm(:,:)
40 character(len=*),
intent(out) :: errmsg
42 integer,
intent(out) :: errflg
45 real(kind_phys),
parameter :: dbzmin=-10.0
46 real(kind_phys) :: cuprate
47 real(kind_phys) :: ze, ze_conv, dbz_sum
59 if (cactiv(i).gt.0)
then
60 conv_act(i) = conv_act(i)+1.0
64 if (cactiv_m(i).gt.0)
then
65 conv_act_m(i) = conv_act_m(i)+1.0
73 cuprate = 1.e3*raincv(i) * 3600.0 / dt
74 if(cuprate .lt. 0.05) cuprate=0.
75 ze_conv = 300.0 * cuprate**1.5
76 if (maxupmf(i).gt.0.1 .and. cuprate.gt.0.)
then
78 ze = 10._kind_phys ** (0.1 * refl_10cm(i,k))
79 dbz_sum = max(dbzmin, 10.0 * log10(ze + ze_conv))
80 refl_10cm(i,k) = dbz_sum
subroutine, public cu_c3_driver_post_run(im, km, t, q, prevst, prevsq, cactiv, cactiv_m, conv_act, conv_act_m, dt, garea, raincv, maxupmf, refl_10cm, errmsg, errflg)