From 2765a1f15e8298ed52c01a0355552f9057580616 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Sun, 12 Jan 2020 07:12:48 -0700 Subject: [PATCH] ufs_public_release: update version number for CCPP, bugfix for samfdeepcnv.f (#33) * Update version number for CCPP * Update submodule pointers and .gitmodules for code review * gfsphysics/physics/samfdeepcnv.f: bugfix to prevent using uninitialized variables, leads to crashes in debug mode * Update submodule pointer for ccpp-physics after pulling in scientific documentation updates --- ccpp/framework | 2 +- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v15p2.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16beta.xml | 2 +- gfsphysics/physics/samfdeepcnv.f | 28 +++++++++++++-------------- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ccpp/framework b/ccpp/framework index 009f9055d..d8b1f0123 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 009f9055d5340285b885a63c27fbcc12c8392ad3 +Subproject commit d8b1f0123111082792d0a3d205ad337f80a2a2ac diff --git a/ccpp/physics b/ccpp/physics index 122de710c..8c7c1f627 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 122de710cba47bc36de68cd2512444116c309b55 +Subproject commit 8c7c1f627b2c0877cb91a8e5d48ce213c347cdd2 diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index b4907bb1b..3cf74a6ae 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -1,6 +1,6 @@ - + diff --git a/ccpp/suites/suite_FV3_GFS_v16beta.xml b/ccpp/suites/suite_FV3_GFS_v16beta.xml index 7f53d7f6f..6f3bef79b 100644 --- a/ccpp/suites/suite_FV3_GFS_v16beta.xml +++ b/ccpp/suites/suite_FV3_GFS_v16beta.xml @@ -1,6 +1,6 @@ - + diff --git a/gfsphysics/physics/samfdeepcnv.f b/gfsphysics/physics/samfdeepcnv.f index 76204ebb4..d29410d2f 100644 --- a/gfsphysics/physics/samfdeepcnv.f +++ b/gfsphysics/physics/samfdeepcnv.f @@ -1547,22 +1547,22 @@ subroutine samfdeepcnv(im,ix,km,delt,itc,ntc,ntk,ntr,delp, enddo enddo do i = 1, im - betamn = betas - if(islimsk(i) == 1) betamn = betal - if(ntk > 0) then - betamx = betamn + dbeta - if(tkemean(i) > tkemx) then - beta = betamn - else if(tkemean(i) < tkemn) then - beta = betamx + if(cnvflg(i)) then + betamn = betas + if(islimsk(i) == 1) betamn = betal + if(ntk > 0) then + betamx = betamn + dbeta + if(tkemean(i) > tkemx) then + beta = betamn + else if(tkemean(i) < tkemn) then + beta = betamx + else + tem = (betamx - betamn) * (tkemean(i) - tkemn) + beta = betamx - tem / dtke + endif else - tem = (betamx - betamn) * (tkemean(i) - tkemn) - beta = betamx - tem / dtke + beta = betamn endif - else - beta = betamn - endif - if(cnvflg(i)) then dz = (sumx(i)+zi(i,1))/float(kbcon(i)) tem = 1./float(kbcon(i)) xlamd(i) = (1.-beta**tem)/dz