Skip to content

Commit

Permalink
Update C3 codebase to improve temperature bias and radiation
Browse files Browse the repository at this point in the history
 * added cu_c3_deep.F90 and cu_c3_sh.F90 to ufs_model.fd_gsl directory until files get updated in Joe's fork
 * updated INFO file to reflect change in UFS effective 00Z 09Sep2023
  • Loading branch information
jkhender committed Sep 8, 2023
1 parent 2661240 commit 9f116af
Show file tree
Hide file tree
Showing 3 changed files with 1,135 additions and 8 deletions.
4 changes: 4 additions & 0 deletions INFO
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
08Sep2023
- c3 changes to improve temperature bias and radiation
effective 00Z 09 Sep 2023

01sep2023
- modify constant for c3
effective 00Z 02 Sep 2023
Expand Down
16 changes: 8 additions & 8 deletions sorc/ufs_model.fd_gsl/FV3/ccpp/physics/physics/cu_c3_deep.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2078,9 +2078,9 @@ subroutine cu_c3_deep_run( &

!> - Call rain_evap_below_cloudbase() to calculate evaporation below cloud base

call rain_evap_below_cloudbase(itf,ktf,its,ite, &
kts,kte,ierr,kbcon,xmb,psur,xland,qo_cup, &
po_cup,qes_cup,pwavo,edto,pwevo,pre,outt,outq) !,outbuoy)
! call rain_evap_below_cloudbase(itf,ktf,its,ite, &
! kts,kte,ierr,kbcon,xmb,psur,xland,qo_cup, &
! po_cup,qes_cup,pwavo,edto,pwevo,pre,outt,outq) !,outbuoy)

k=1
!$acc kernels
Expand Down Expand Up @@ -2137,7 +2137,7 @@ subroutine cu_c3_deep_run( &
do k = ktop(i), 1, -1
rain = pwo(i,k) + edto(i) * pwdo(i,k)
rn(i) = rn(i) + rain * xmb(i) * .001 * dtime
!if(po(i,k).gt.400.)then
if(k.gt.jmin(i))then
if(flg(i))then
q1=qo(i,k)+(outq(i,k))*dtime
t1=tn(i,k)+(outt(i,k))*dtime
Expand All @@ -2162,7 +2162,7 @@ subroutine cu_c3_deep_run( &
pre(i)=max(pre(i),0.)
delqev(i) = delqev(i) + .001*dp*qevap(i)/g
endif
!endif ! 400mb
endif
endif
enddo
! pre(i)=1000.*rn(i)/dtime
Expand Down Expand Up @@ -4429,7 +4429,7 @@ subroutine cup_up_moisture(name,ierr,z_cup,qc,qrc,pw,pwav, &
!
!now do the rest
!
kklev(i)=maxloc(zu(i,:),1)
kklev(i)=maxloc(zu(i,2:ktop(i)),1)
!$acc loop seq
do k=kbcon(i)+1,ktop(i)
if(t(i,k) > 273.16) then
Expand Down Expand Up @@ -4489,10 +4489,10 @@ subroutine cup_up_moisture(name,ierr,z_cup,qc,qrc,pw,pwav, &
endif
if(k.gt.kbcon(i)+1)c1d(i,k)=clwdet*up_massdetr(i,k-1)
if(k.gt.kbcon(i)+1)c1d_b(i,k)=clwdet*up_massdetr(i,k-1)
if(is_deep.and.p_cup(i,k).lt.800.)then
!if(is_deep.and.k.gt.kklev(i))then
c1d(i,k)=0.005
c1d_b(i,k)=0.005
endif
!endif

if(autoconv.eq.2) then
!
Expand Down
Loading

0 comments on commit 9f116af

Please sign in to comment.