Skip to content

Commit 76d994f

Browse files
committed
Merge branch 'MPAS-v8.0/ccpp_ntiedtke' into develop (PR #1055)
This merge adds the initial implementation of the CCPP-compliant version of the New Tiedtke (nTiedtke) convection parameterization. The initial version of module_cu_ntiedtke.F is split in two separate files: cu_ntiedtke.F in physics_mmm contains the actual parameterization of the nTiedtke convection scheme whereas the modified version of module_cu_ntiedtke.F reduces to a buffer between the parameterization and the MPAS physics driver.
2 parents 67fad02 + 83becc9 commit 76d994f

4 files changed

Lines changed: 4080 additions & 3828 deletions

File tree

src/core_atmosphere/physics/mpas_atmphys_driver_convection.F

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ module mpas_atmphys_driver_convection
1919
use module_cu_gf
2020
use module_cu_kfeta
2121
use module_cu_tiedtke
22-
use module_cu_ntiedtke
22+
use module_cu_ntiedtke,only: cu_ntiedtke_driver
2323

2424
implicit none
2525
private
@@ -435,10 +435,18 @@ subroutine driver_convection(itimestep,configs,mesh,sfc_input,diag_physics,tend_
435435
real(kind=RKIND):: cudt
436436
real(kind=RKIND):: cudtacttime
437437

438+
!CCPP-compliant flags:
439+
character(len=StrKIND):: errmsg
440+
integer:: errflg
441+
438442
!-----------------------------------------------------------------------------------------------------------------
439443
!call mpas_log_write('')
440444
!call mpas_log_write('--- enter subroutine driver_convection:')
441445

446+
!initialization of CCPP-compliant flags:
447+
errmsg = ' '
448+
errflg = 0
449+
442450
call mpas_pool_get_config(configs,'config_gfconv_closure_deep',gfconv_closure_deep)
443451
call mpas_pool_get_config(configs,'config_gfconv_closure_shallow',gfconv_closure_shallow)
444452
call mpas_pool_get_config(configs,'config_len_disp' ,len_disp )
@@ -569,8 +577,8 @@ subroutine driver_convection(itimestep,configs,mesh,sfc_input,diag_physics,tend_
569577
call mpas_timer_stop('Tiedtke')
570578

571579
case("cu_ntiedtke")
572-
call mpas_timer_start('New_Tiedtke')
573-
call cu_ntiedtke( &
580+
call mpas_timer_start('cu_ntiedtke')
581+
call cu_ntiedtke_driver( &
574582
pcps = pres_hyd_p , p8w = pres2_hyd_p , &
575583
t3d = t_p , dz8w = dz_p , &
576584
dt = dt_dyn , itimestep = initflag , &
@@ -588,12 +596,16 @@ subroutine driver_convection(itimestep,configs,mesh,sfc_input,diag_physics,tend_
588596
f_qs = f_qs , rthcuten = rthcuten_p , &
589597
rqvcuten = rqvcuten_p , rqccuten = rqccuten_p , &
590598
rqicuten = rqicuten_p , rucuten = rucuten_p , &
591-
rvcuten = rvcuten_p , &
599+
rvcuten = rvcuten_p , grav = gravity , &
600+
xlf = xlf , xls = xls , &
601+
xlv = xlv , rd = R_d , &
602+
rv = R_v , cp = cp , &
603+
errmsg = errmsg , errflg = errflg , &
592604
ids = ids , ide = ide , jds = jds , jde = jde , kds = kds , kde = kde , &
593605
ims = ims , ime = ime , jms = jms , jme = jme , kms = kds , kme = kme , &
594606
its = its , ite = ite , jts = jts , jte = jte , kts = kts , kte = kte &
595607
)
596-
call mpas_timer_stop('New_Tiedtke')
608+
call mpas_timer_stop('cu_ntiedtke')
597609

598610
case default
599611

src/core_atmosphere/physics/physics_mmm/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ dummy:
77

88
OBJS = \
99
bl_gwdo.o \
10-
bl_ysu.o
10+
bl_ysu.o \
11+
cu_ntiedtke.o
1112

1213
physics_mmm: $(OBJS)
1314
ar -ru ./../libphys.a $(OBJS)

0 commit comments

Comments
 (0)