Skip to content

Commit 5ff0004

Browse files
committed
fix diagnostic temp tendency in GFS_MP_generic.F90 for when radar is/isn't available
1 parent 6d6bab2 commit 5ff0004

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

physics/Interstitials/UFS_SCM_NEPTUNE/GFS_MP_generic_post.F90

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ subroutine GFS_MP_generic_post_run(
415415
idtend_mp = dtidx(index_of_temperature,index_of_process_mp)
416416
if(idtend_radar>0 .or. idtend_mp>0) then
417417
if(idtend_mp>0) then
418-
dtend(:,1:2,idtend_mp) = dtend(:,1:2,idtend_mp) + (gt0(:,1:2)-save_t(:,1:2))*frain
418+
dtend(:,1:2,idtend_mp) = dtend(:,1:2,idtend_mp) + ten_t(:,1:2)*dtp*frain
419419
endif
420420
do k=3,levs-2 ! Avoid model top and bottom in case DA forgets to
421421
do i=1,im
@@ -425,12 +425,12 @@ subroutine GFS_MP_generic_post_run(
425425
dtend(i,k,idtend_radar) = dtend(i,k,idtend_radar) + (gt0(i,k)-save_t(i,k)) * frain
426426
endif
427427
else if(idtend_mp>0) then
428-
dtend(i,k,idtend_mp) = dtend(i,k,idtend_mp) + (gt0(i,k)-save_t(i,k)) * frain
428+
dtend(i,k,idtend_mp) = dtend(i,k,idtend_mp) + ten_t(i,k)*dtp*frain
429429
endif
430430
enddo
431431
enddo
432432
if(idtend_mp>0) then
433-
dtend(:,levs-1:levs,idtend_mp) = dtend(:,levs-1:levs,idtend_mp) + (gt0(:,levs-1:levs)-save_t(:,levs-1:levs))*frain
433+
dtend(:,levs-1:levs,idtend_mp) = dtend(:,levs-1:levs,idtend_mp) + ten_t(:,levs-1:levs)*dtp*frain
434434
endif
435435
endif
436436
endif
@@ -539,11 +539,14 @@ subroutine GFS_MP_generic_post_run(
539539
if_tendency_diagnostics: if (ldiag3d) then
540540
idtend = dtidx(index_of_temperature,index_of_process_mp)
541541
if(idtend>=1) then
542-
do k=1,levs
543-
do i=1,im
544-
dtend(i,k,idtend) = dtend(i,k,idtend) + (gt0(i,k)-save_t(i,k)) * frain
545-
enddo
546-
enddo
542+
!don't overwrite radar tendencies calculated above when radar temperature tendencies are active
543+
if(itime>num_dfi_radar) then
544+
do k=1,levs
545+
do i=1,im
546+
dtend(i,k,idtend) = dtend(i,k,idtend) + ten_t(i,k)*dtp*frain
547+
enddo
548+
enddo
549+
endif
547550
endif
548551
if_tracer_diagnostics: if (qdiag3d) then
549552
dtend_q: do itrac=1,ntrac

0 commit comments

Comments
 (0)