@@ -18,7 +18,7 @@ module GFS_suite_stateout_update
18
18
subroutine GFS_suite_stateout_update_run (im , levs , ntrac , dtp , tgrs , ugrs , vgrs , qgrs , &
19
19
dudt , dvdt , dtdt , dqdt , gt0 , gu0 , gv0 , gq0 , oz0 , ntiw , nqrimef , imp_physics , &
20
20
imp_physics_fer_hires , epsq , ozphys , oz_phys_2015 , oz_phys_2006 , con_1ovg , prsl , &
21
- dp , ozpl , do3_dt_prd , do3_dt_ozmx , do3_dt_temp , do3_dt_ohoz , errmsg , errflg )
21
+ dp , ozpl , qdiag3d , do3_dt_prd , do3_dt_ozmx , do3_dt_temp , do3_dt_ohoz , errmsg , errflg )
22
22
23
23
! Inputs
24
24
integer , intent (in ) :: im
@@ -31,12 +31,13 @@ subroutine GFS_suite_stateout_update_run (im, levs, ntrac, dtp, tgrs, ugrs, vgrs
31
31
real (kind= kind_phys), intent (in ), dimension (:,:,:) :: qgrs, ozpl
32
32
real (kind= kind_phys), intent (in ), dimension (:,:) :: dudt, dvdt, dtdt
33
33
real (kind= kind_phys), intent (in ), dimension (:,:,:) :: dqdt
34
+ logical , intent (in ) :: qdiag3d
34
35
logical , intent (in ) :: oz_phys_2015
35
36
logical , intent (in ) :: oz_phys_2006
36
37
type (ty_ozphys), intent (in ) :: ozphys
37
38
38
39
! Outputs (optional)
39
- real (kind= kind_phys), intent (inout ), dimension (:,:), pointer , optional :: &
40
+ real (kind= kind_phys), intent (inout ), dimension (:,:) :: &
40
41
do3_dt_prd, & ! Physics tendency: production and loss effect
41
42
do3_dt_ozmx, & ! Physics tendency: ozone mixing ratio effect
42
43
do3_dt_temp, & ! Physics tendency: temperature effect
@@ -50,7 +51,7 @@ subroutine GFS_suite_stateout_update_run (im, levs, ntrac, dtp, tgrs, ugrs, vgrs
50
51
51
52
! Locals
52
53
integer :: i, k
53
-
54
+
54
55
! Initialize CCPP error handling variables
55
56
errmsg = ' '
56
57
errflg = 0
@@ -65,12 +66,12 @@ subroutine GFS_suite_stateout_update_run (im, levs, ntrac, dtp, tgrs, ugrs, vgrs
65
66
! If using photolysis physics schemes, update (prognostic) gas concentrations using
66
67
! updated state.
67
68
if (oz_phys_2015) then
68
- call ozphys% run_o3prog_2015(con_1ovg, dtp, prsl, gt0, dp, ozpl, oz0, do3_dt_prd, &
69
- do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz)
69
+ call ozphys% run_o3prog_2015(con_1ovg, dtp, prsl, gt0, dp, ozpl, oz0, qdiag3d, &
70
+ do3_dt_prd, do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz)
70
71
endif
71
72
if (oz_phys_2006) then
72
- call ozphys% run_o3prog_2006(con_1ovg, dtp, prsl, gt0, dp, ozpl, oz0, do3_dt_prd, &
73
- do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz)
73
+ call ozphys% run_o3prog_2006(con_1ovg, dtp, prsl, gt0, dp, ozpl, oz0, qdiag3d, &
74
+ do3_dt_prd, do3_dt_ozmx, do3_dt_temp, do3_dt_ohoz)
74
75
endif
75
76
76
77
! If using Ferrier-Aligo microphysics, set bounds on the mass-weighted rime factor.
0 commit comments