@@ -97,59 +97,59 @@ subroutine GFS_DCNV_generic_post_run (im, levs, tracers_total, otsptflag, &
9797 ! endif ! end if_ntcw
9898 !
9999 !
100- ! case_DCNV_ten: select case (tend_opt_dcnv)
101- ! case (1) !immediately apply tendencies
102- ! !Current state = current state + dt*current tendency
103- ! !Accumulated tendency unchanged
104- ! do k=1,levs
105- ! do i=1,im
106- ! gt0(i,k) = gt0(i,k) + delt*ten_t(i,k)
107- ! gu0(i,k) = gu0(i,k) + delt*ten_u(i,k)
108- ! gv0(i,k) = gv0(i,k) + delt*ten_v(i,k)
109- ! do n = 1, ntrac
110- ! gq0(i,k,n) = gq0(i,k,n) + delt*ten_q(i,k,n)
111- ! end do
112- ! end do
113- ! end do
114- ! case (2) !add tendencies to sum
115- ! !Accumulated tendency = accumulated tendency + current tendency
116- ! !Current state unchanged
117- ! do k=1,levs
118- ! do i=1,im
119- ! dtdt(i,k) = dtdt(i,k) + ten_t(i,k)
120- ! dudt(i,k) = dudt(i,k) + ten_u(i,k)
121- ! dvdt(i,k) = dvdt(i,k) + ten_v(i,k)
122- ! do n = 1, ntrac
123- ! dqdt(i,k,n) = dqdt(i,k,n) + ten_q(i,k,n)
124- ! end do
125- ! end do
126- ! end do
127- ! case (3) !add tendencies to sum and apply
128- ! !Current state = current state + dt*(accumulated tendency + current tendency)
129- ! !Accumulated tendency = 0
130- ! do k=1,levs
131- ! do i=1,im
132- ! gt0(i,k) = gt0(i,k) + delt*(dtdt(i,k) + ten_t(i,k))
133- ! dtdt(i,k) = 0.0
134- ! gu0(i,k) = gu0(i,k) + delt*(dudt(i,k) + ten_u(i,k))
135- ! dudt(i,k) = 0.0
136- ! gv0(i,k) = gv0(i,k) + delt*(dvdt(i,k) + ten_v(i,k))
137- ! dvdt(i,k) = 0.0
138- ! do n = 1, ntrac
139- ! gq0(i,k,n) = gq0(i,k,n) + delt*(dqdt(i,k,n) + ten_q(i,k,n))
140- ! dqdt(i,k,n) = 0.0
141- ! end do
142- ! end do
143- ! end do
144- ! case (4) !Current state unchanged
145- ! !Accumulated tendency unchanged
146- ! !Current tendency unchanged (but will be overwritten during next primary scheme)
147- ! exit case_DCNV_ten
148- ! case default
149- ! errflg = 1
150- ! errmsg = 'A tendency application control was outside of the acceptable range (1-4)'
151- ! return
152- ! end select case_DCNV_ten
100+ case_DCNV_ten: select case (tend_opt_dcnv)
101+ case (1 ) ! immediately apply tendencies
102+ ! Current state = current state + dt*current tendency
103+ ! Accumulated tendency unchanged
104+ do k= 1 ,levs
105+ do i= 1 ,im
106+ gt0(i,k) = gt0(i,k) + delt* ten_t(i,k)
107+ gu0(i,k) = gu0(i,k) + delt* ten_u(i,k)
108+ gv0(i,k) = gv0(i,k) + delt* ten_v(i,k)
109+ do n = 1 , ntrac
110+ gq0(i,k,n) = gq0(i,k,n) + delt* ten_q(i,k,n)
111+ end do
112+ end do
113+ end do
114+ case (2 ) ! add tendencies to sum
115+ ! Accumulated tendency = accumulated tendency + current tendency
116+ ! Current state unchanged
117+ do k= 1 ,levs
118+ do i= 1 ,im
119+ dtdt(i,k) = dtdt(i,k) + ten_t(i,k)
120+ dudt(i,k) = dudt(i,k) + ten_u(i,k)
121+ dvdt(i,k) = dvdt(i,k) + ten_v(i,k)
122+ do n = 1 , ntrac
123+ dqdt(i,k,n) = dqdt(i,k,n) + ten_q(i,k,n)
124+ end do
125+ end do
126+ end do
127+ case (3 ) ! add tendencies to sum and apply
128+ ! Current state = current state + dt*(accumulated tendency + current tendency)
129+ ! Accumulated tendency = 0
130+ do k= 1 ,levs
131+ do i= 1 ,im
132+ gt0(i,k) = gt0(i,k) + delt* (dtdt(i,k) + ten_t(i,k))
133+ dtdt(i,k) = 0.0
134+ gu0(i,k) = gu0(i,k) + delt* (dudt(i,k) + ten_u(i,k))
135+ dudt(i,k) = 0.0
136+ gv0(i,k) = gv0(i,k) + delt* (dvdt(i,k) + ten_v(i,k))
137+ dvdt(i,k) = 0.0
138+ do n = 1 , ntrac
139+ gq0(i,k,n) = gq0(i,k,n) + delt* (dqdt(i,k,n) + ten_q(i,k,n))
140+ dqdt(i,k,n) = 0.0
141+ end do
142+ end do
143+ end do
144+ case (4 ) ! Current state unchanged
145+ ! Accumulated tendency unchanged
146+ ! Current tendency unchanged (but will be overwritten during next primary scheme)
147+ exit case_DCNV_ten
148+ case default
149+ errflg = 1
150+ errmsg = ' A tendency application control was outside of the acceptable range (1-4)'
151+ return
152+ end select case_DCNV_ten
153153
154154! if (cscnv .or. satmedmf .or. trans_trac .or. ras) then
155155! tracers = 2
0 commit comments