From f5b37aff83b80d9d91a78d6d39369295d8fda206 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 25 May 2023 10:31:56 -0600 Subject: [PATCH 01/26] FV3 changes for refactored ozone physics scheme --- ccpp/config/ccpp_prebuild_config.py | 3 +- ccpp/data/CCPP_typedefs.F90 | 3 +- ccpp/data/CCPP_typedefs.meta | 6 +- ccpp/data/GFS_typedefs.F90 | 79 ++++++++++++++++++------ ccpp/data/GFS_typedefs.meta | 95 ++++++++++++++++++++++++++++- ccpp/physics | 2 +- 6 files changed, 157 insertions(+), 31 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index aaf540bcc..5f0a57598 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -20,7 +20,6 @@ 'physics/physics/radsw_param.f', 'physics/physics/radlw_param.f', 'physics/physics/h2o_def.f', - 'physics/physics/ozne_def.f', 'physics/physics/radiation_surface.f', 'data/CCPP_typedefs.F90', 'data/GFS_typedefs.F90', @@ -164,7 +163,7 @@ 'physics/physics/mp_thompson_post.F90', 'physics/physics/mp_nssl.F90' , 'physics/physics/ozphys.f', - 'physics/physics/ozphys_2015.f', + 'physics/physics/ozphys_2015.F90', 'physics/physics/zhaocarr_precpd.f', 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', diff --git a/ccpp/data/CCPP_typedefs.F90 b/ccpp/data/CCPP_typedefs.F90 index 9a6a387ba..577b589a9 100644 --- a/ccpp/data/CCPP_typedefs.F90 +++ b/ccpp/data/CCPP_typedefs.F90 @@ -8,7 +8,6 @@ module CCPP_typedefs use machine, only: kind_grid, kind_dyn, kind_phys ! Constants/dimensions needed for interstitial DDTs - use ozne_def, only: oz_coeff use GFS_typedefs, only: clear_val, LTP ! Physics type defininitions needed for interstitial DDTs @@ -881,7 +880,7 @@ subroutine gfs_interstitial_create (Interstitial, IM, Model) Interstitial%nf_albd = NF_ALBD Interstitial%nspc1 = NSPC1 if (Model%oz_phys .or. Model%oz_phys_2015) then - Interstitial%oz_coeffp5 = oz_coeff+5 + Interstitial%oz_coeffp5 = Model%oz_coeff+5 else Interstitial%oz_coeffp5 = 5 endif diff --git a/ccpp/data/CCPP_typedefs.meta b/ccpp/data/CCPP_typedefs.meta index 3fd32d7c9..91be00ceb 100644 --- a/ccpp/data/CCPP_typedefs.meta +++ b/ccpp/data/CCPP_typedefs.meta @@ -3187,11 +3187,7 @@ name = CCPP_typedefs type = module relative_path = ../physics/physics - dependencies = machine.F,ozne_def.f,radlw_param.f,radsw_param.f - dependencies = rte-rrtmgp/rrtmgp/mo_gas_optics_rrtmgp.F90,rte-rrtmgp/rte/mo_optical_props.F90 - dependencies = rte-rrtmgp/extensions/cloud_optics/mo_cloud_optics.F90 - dependencies = rte-rrtmgp/rrtmgp/mo_gas_concentrations.F90,rte-rrtmgp/rte/mo_rte_config.F90 - dependencies = rte-rrtmgp/rte/mo_source_functions.F90 + dependencies = machine.F,radlw_param.f,radsw_param.f [ccpp-arg-table] name = CCPP_typedefs diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index d831942f2..4f6dc515e 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -13,7 +13,6 @@ module GFS_typedefs use module_radsw_parameters, only: topfsw_type, sfcfsw_type use module_radlw_parameters, only: topflw_type, sfcflw_type - use ozne_def, only: levozp, oz_coeff use h2o_def, only: levh2o, h2o_coeff implicit none @@ -1561,6 +1560,21 @@ module GFS_typedefs !--- lightning threat and diagsnostics logical :: lightning_threat !< report lightning threat indices +!--- NRL Ozone physics + integer :: kozpl = 28 !< + integer :: kozc = 48 !< + integer :: latsozp !< + integer :: levozp !< number of vertical layers in ozone forcing data + integer :: timeoz !< + integer :: oz_coeff !< number of coefficients in ozone forcing data + real (kind=kind_phys) :: blatc !< + real (kind=kind_phys) :: dphiozc !< + real (kind=kind_phys), pointer :: oz_lat(:) => null() !< + real (kind=kind_phys), pointer :: oz_pres(:) => null() !< natural log of ozone forcing data pressure levels + real (kind=kind_phys), pointer :: po3(:) => null() !< + real (kind=kind_phys), pointer :: oz_time(:) => null() !< + real (kind=kind_phys), pointer :: ozplin(:,:,:,:) => null() !< + contains procedure :: init => control_initialize procedure :: init_chemistry => control_chemistry_initialize @@ -3996,6 +4010,10 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & character(len=20) :: namestr character(len=44) :: descstr +!--- ozone physics + integer :: i1, i2, i3 + real(kind=4), dimension(:), allocatable :: oz_lat4, oz_pres4, oz_time4, tempin + ! dtend selection: default is to match all variables: dtend_select(1)='*' do ipat=2,pat_count @@ -5370,28 +5388,51 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & ENDIF !} - ! To ensure that these values match what's in the physics, - ! array sizes are compared during model init in GFS_phys_time_vary_init() - ! - ! from module ozinterp - if (Model%ntoz>0) then - if (Model%oz_phys) then - levozp = 80 - oz_coeff = 4 - else if (Model%oz_phys_2015) then - levozp = 53 - oz_coeff = 6 - else - write(*,*) 'Logic error, ntoz>0 but no ozone physics selected' - stop - end if + !--- NRL ozone physics + if (Model%ntoz > 0) then + ! Get dimensions from data file + open(unit=Model%kozpl,file='global_o3prdlos.f77', form='unformatted', convert='big_endian') + read (Model%kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz + rewind(Model%kozpl) + if (Model%me == Model%master) then + write(*,*) 'Reading in o3data from global_o3prdlos.f77 ' + write(*,*) ' oz_coeff = ', Model%oz_coeff + write(*,*) ' latsozp = ', Model%latsozp + write(*,*) ' levozp = ', Model%levozp + write(*,*) ' timeoz = ', Model%timeoz + endif + ! Allocate space + allocate (Model%oz_lat(Model%latsozp)) + allocate (Model%oz_pres(Model%levozp)) + allocate (Model%po3(Model%levozp)) + allocate (Model%oz_time(Model%timeoz+1)) + allocate (Model%ozplin(Model%latsozp,Model%levozp,Model%oz_coeff,Model%timeoz)) + ! + allocate(oz_lat4(Model%latsozp), oz_pres4(Model%levozp), oz_time4(Model%timeoz+1), tempin(Model%latsozp)) + read (Model%kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz, oz_lat4, oz_pres4, oz_time4 + + ! Store + Model%oz_pres(:) = oz_pres4(:) + Model%po3(:) = log(100.0*Model%oz_pres(:)) ! from mb to ln(Pa) + Model%oz_lat(:) = oz_lat4(:) + Model%oz_time(:) = oz_time4(:) + ! + do i1=1,Model%timeoz + do i2=1,Model%oz_coeff + do i3=1,Model%levozp + READ(Model%kozpl) tempin + Model%ozplin(:,i3,i2,i1) = tempin(:) + enddo + enddo + enddo + close(Model%kozpl) else if (Model%oz_phys .or. Model%oz_phys_2015) then write(*,*) 'Logic error, ozone physics are selected, but ntoz<=0' stop else - levozp = 1 - oz_coeff = 1 + Model%levozp = 1 + Model%oz_coeff = 1 end if end if @@ -6881,7 +6922,7 @@ subroutine tbd_create (Tbd, IM, Model) endif !--- ozone and stratosphere h2o needs - allocate (Tbd%ozpl (IM,levozp,oz_coeff)) + allocate (Tbd%ozpl (IM,Model%levozp,Model%oz_coeff)) allocate (Tbd%h2opl (IM,levh2o,h2o_coeff)) Tbd%ozpl = clear_val Tbd%h2opl = clear_val diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 4ab11dd4c..038752e51 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6634,6 +6634,97 @@ units = flag dimensions = () type = logical +[levozp] + standard_name = number_of_levels_in_ozone_data + long_name = number of vertical layers in ozone forcing data + units = count + dimensions = () + type = integer + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[oz_coeff] + standard_name = number_of_coefficients_in_ozone_data + long_name = number of coefficients in ozone forcing data + units = count + dimensions = () + type = integer + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[dphiozc] + standard_name = ozone_data_parameter_1 + long_name = ozone data parameter 1 + units = none + dimensions = () + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[blatc] + standard_name = ozone_data_parameter_2 + long_name = ozone data parameter 2 + units = none + dimensions = () + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[kozpl] + standard_name = file_indicator_for_ozone_data + long_name = file indicator for ozone data + units = none + dimensions = () + type = integer + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[latsozp] + standard_name = number_of_latitudes_in_ozone_data + long_name = number of latitude in ozone data + units = count + dimensions = () + type = integer + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[timeoz] + standard_name = number_of_times_in_ozone_data + long_name = number of times in ozone data + units = count + dimensions = () + type = integer + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[oz_lat] + standard_name = ozone_data_latitude + long_name = ozone data latitude + units = deg + dimensions = (number_of_latitudes_in_ozone_data) + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[oz_pres] + standard_name = ozone_data_level_pressure + long_name = ozone data level pressure + units = Pa + dimensions = (number_of_levels_in_ozone_data) + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[po3] + standard_name = natural_log_of_ozone_data_pressure_levels + long_name = natural log of ozone forcing data pressure levels in Pa + units = 1 + dimensions = (number_of_levels_in_ozone_data) + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[oz_time] + standard_name = ozone_data_time + long_name = ozone data time + units = none + dimensions = (13) + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[ozplin] + standard_name = ozone_data + long_name = ozone data + units = 1 + dimensions = (number_of_latitudes_in_ozone_data,number_of_levels_in_ozone_data,number_of_coefficients_in_ozone_data,number_of_times_in_ozone_data) + type = real + kind = kind_phys + active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [ipt] standard_name = index_of_horizontal_gridpoint_for_debug_output long_name = horizontal index for point used for diagnostic printout @@ -7387,7 +7478,7 @@ standard_name = ozone_forcing long_name = ozone forcing data units = mixed - dimensions = (horizontal_loop_extent,vertical_dimension_of_ozone_forcing_data,number_of_coefficients_in_ozone_forcing_data) + dimensions = (horizontal_loop_extent,number_of_levels_in_ozone_data,number_of_coefficients_in_ozone_data) type = real kind = kind_phys [h2opl] @@ -9593,7 +9684,7 @@ type = module relative_path = ../physics/physics dependencies = machine.F,physcons.F90,radlw_param.f,radsw_param.f - dependencies = GFDL_parse_tracers.F90,h2o_def.f,ozne_def.f + dependencies = GFDL_parse_tracers.F90,h2o_def.f [ccpp-arg-table] name = GFS_typedefs diff --git a/ccpp/physics b/ccpp/physics index 3a306a493..70b9d7e5d 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 3a306a493a9a0b6c3c39c7b50d356f0ddb7c5c94 +Subproject commit 70b9d7e5ddaf8a4308415ea601a1f8366f62e9d1 From e25b1c78bfffe29ae9a776e90c8cb529bbfa1250 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Fri, 26 May 2023 11:17:09 -0600 Subject: [PATCH 02/26] Remove change to metadata (Not relevant for PR) --- ccpp/data/CCPP_typedefs.meta | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ccpp/data/CCPP_typedefs.meta b/ccpp/data/CCPP_typedefs.meta index 91be00ceb..3ecb69be7 100644 --- a/ccpp/data/CCPP_typedefs.meta +++ b/ccpp/data/CCPP_typedefs.meta @@ -3188,6 +3188,10 @@ type = module relative_path = ../physics/physics dependencies = machine.F,radlw_param.f,radsw_param.f + dependencies = rte-rrtmgp/rrtmgp/mo_gas_optics_rrtmgp.F90,rte-rrtmgp/rte/mo_optical_props.F90 + dependencies = rte-rrtmgp/extensions/cloud_optics/mo_cloud_optics.F90 + dependencies = rte-rrtmgp/rrtmgp/mo_gas_concentrations.F90,rte-rrtmgp/rte/mo_rte_config.F90 + dependencies = rte-rrtmgp/rte/mo_source_functions.F90 [ccpp-arg-table] name = CCPP_typedefs From 96542b2019a7231341f63347efe6d3709022cede Mon Sep 17 00:00:00 2001 From: dustinswales Date: Thu, 8 Jun 2023 14:04:42 -0600 Subject: [PATCH 03/26] Update physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 70b9d7e5d..32dfabe81 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 70b9d7e5ddaf8a4308415ea601a1f8366f62e9d1 +Subproject commit 32dfabe81ec90dfd7be48d56d26adb20585c45dd From 8a6eefe94e932cd82950277bdf3b127ebdd52b47 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Mon, 12 Jun 2023 14:32:36 -0600 Subject: [PATCH 04/26] Update physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 8cb164377..856baa6ab 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 8cb1643774b8c0ede7bd3f2f4e0881d4f32500b8 +Subproject commit 856baa6abe3db03ff98bd238e226107bb763988c From f066fd76988dae805020df4ce1fa7f65d3147ba5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 1 Aug 2023 16:03:59 -0600 Subject: [PATCH 05/26] Split ozone physics into time_vary and run components --- ccpp/config/ccpp_prebuild_config.py | 1 + ccpp/data/GFS_typedefs.F90 | 69 +++++++++++++++++++---------- ccpp/data/GFS_typedefs.meta | 37 +++++++++++----- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 1 + 5 files changed, 73 insertions(+), 37 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 5f0a57598..372c570a5 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -164,6 +164,7 @@ 'physics/physics/mp_nssl.F90' , 'physics/physics/ozphys.f', 'physics/physics/ozphys_2015.F90', + 'physics/physics/ozphys_time_vary.F90', 'physics/physics/zhaocarr_precpd.f', 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 4f6dc515e..3b2e2225e 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -1114,8 +1114,6 @@ module GFS_typedefs logical :: shocaftcnv !< flag for SHOC logical :: shoc_cld !< flag for clouds logical :: uni_cld !< flag for clouds in grrad - logical :: oz_phys !< flag for old (2006) ozone physics - logical :: oz_phys_2015 !< flag for new (2015) ozone physics logical :: h2o_phys !< flag for stratosphere h2o logical :: pdfcld !< flag for pdfcld logical :: shcnvcw !< flag for shallow convective cloud @@ -1561,19 +1559,24 @@ module GFS_typedefs logical :: lightning_threat !< report lightning threat indices !--- NRL Ozone physics - integer :: kozpl = 28 !< - integer :: kozc = 48 !< - integer :: latsozp !< - integer :: levozp !< number of vertical layers in ozone forcing data - integer :: timeoz !< - integer :: oz_coeff !< number of coefficients in ozone forcing data - real (kind=kind_phys) :: blatc !< - real (kind=kind_phys) :: dphiozc !< - real (kind=kind_phys), pointer :: oz_lat(:) => null() !< - real (kind=kind_phys), pointer :: oz_pres(:) => null() !< natural log of ozone forcing data pressure levels - real (kind=kind_phys), pointer :: po3(:) => null() !< - real (kind=kind_phys), pointer :: oz_time(:) => null() !< - real (kind=kind_phys), pointer :: ozplin(:,:,:,:) => null() !< + logical :: oz_phys !< Flag for old (2006) ozone physics + logical :: oz_phys_2015 !< Flag for new (2015) ozone physics + integer :: kozpl !< File identifier for ozone forcing data + integer :: latsozp !< Number of latitudes in ozone forcing data + integer :: levozp !< Number of vertical layers in ozone forcing data + integer :: timeoz !< Number of times in ozone forcing data + integer :: oz_coeff !< Number of coefficients in ozone forcing data + real (kind=kind_phys), allocatable :: oz_lat(:) !< Latitude for ozone forcing data + real (kind=kind_phys), allocatable :: oz_pres(:) !< Pressure levels for ozone forcing data + real (kind=kind_phys), allocatable :: po3(:) !< Natural log pressure levels for ozone forcing data + real (kind=kind_phys), allocatable :: oz_time(:) !< Time for ozone forcing data + real (kind=kind_phys), allocatable :: ozplin(:,:,:,:) !< Ozone forcing data + integer :: kozc !< File identifier for ozone climotology data + integer :: latsozc !< Number of latitudes in ozone climotology data + integer :: levozc !< Number of vertical layers in ozone climotology data + integer :: timeozc !< Number of times in ozone climotology data + real (kind=kind_phys) :: blatc !< Parameter for ozone climotology + real (kind=kind_phys) :: dphiozc !< Parameter for ozone climotology contains procedure :: init => control_initialize @@ -3564,8 +3567,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: do_shoc = .false. !< flag for SHOC logical :: shocaftcnv = .false. !< flag for SHOC logical :: shoc_cld = .false. !< flag for SHOC in grrad - logical :: oz_phys = .true. !< flag for old (2006) ozone physics - logical :: oz_phys_2015 = .false. !< flag for new (2015) ozone physics logical :: h2o_phys = .false. !< flag for stratosphere h2o logical :: pdfcld = .false. !< flag for pdfcld logical :: shcnvcw = .false. !< flag for shallow convective cloud @@ -3839,6 +3840,12 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !-- Lightning threat index logical :: lightning_threat = .false. +!--- NRL Ozone physics + logical :: oz_phys = .true. !< Flag for old (2006) ozone physics + logical :: oz_phys_2015 = .false. !< Flag for new (2015) ozone physics + integer :: kozpl = 28 !< File identifier for ozone forcing data + integer :: kozc = 48 !< File identifier for ozone climotology data + !--- aerosol scavenging factors integer, parameter :: max_scav_factors = 183 character(len=40) :: fscav_aero(max_scav_factors) @@ -4013,6 +4020,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- ozone physics integer :: i1, i2, i3 real(kind=4), dimension(:), allocatable :: oz_lat4, oz_pres4, oz_time4, tempin + real(kind=4) :: blatc4 ! dtend selection: default is to match all variables: dtend_select(1)='*' @@ -5408,7 +5416,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & allocate (Model%oz_time(Model%timeoz+1)) allocate (Model%ozplin(Model%latsozp,Model%levozp,Model%oz_coeff,Model%timeoz)) ! - allocate(oz_lat4(Model%latsozp), oz_pres4(Model%levozp), oz_time4(Model%timeoz+1), tempin(Model%latsozp)) + allocate(oz_lat4(Model%latsozp), oz_pres4(Model%levozp), oz_time4(Model%timeoz+1)) read (Model%kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz, oz_lat4, oz_pres4, oz_time4 ! Store @@ -5416,7 +5424,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%po3(:) = log(100.0*Model%oz_pres(:)) ! from mb to ln(Pa) Model%oz_lat(:) = oz_lat4(:) Model%oz_time(:) = oz_time4(:) + deallocate(oz_lat4, oz_pres4, oz_time4) ! + allocate(tempin(Model%latsozp)) do i1=1,Model%timeoz do i2=1,Model%oz_coeff do i3=1,Model%levozp @@ -5425,15 +5435,26 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & enddo enddo enddo + deallocate(tempin) close(Model%kozpl) else - if (Model%oz_phys .or. Model%oz_phys_2015) then - write(*,*) 'Logic error, ozone physics are selected, but ntoz<=0' - stop + !--- Diagnostic ozone + rewind (Model%kozc) + read (Model%kozc,end=101) Model%latsozc, Model%levozc, Model%timeozc, blatc4 +101 if (Model%levozc < 10 .or. Model%levozc > 100) then + rewind (Model%kozc) + Model%levozc = 17 + Model%latsozc = 18 + Model%blatc = -85.0 else - Model%levozp = 1 - Model%oz_coeff = 1 - end if + Model%blatc = blatc4 + endif + Model%latsozp = 2 + Model%levozp = 1 + Model%timeoz = 1 + Model%oz_coeff = 0 + Model%dphiozc = -(Model%blatc+Model%blatc)/(Model%latsozc-1) + return end if !--- quantities to be used to derive phy_f*d totals diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 038752e51..70ed7e0f8 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6640,14 +6640,12 @@ units = count dimensions = () type = integer - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [oz_coeff] standard_name = number_of_coefficients_in_ozone_data long_name = number of coefficients in ozone forcing data units = count dimensions = () type = integer - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [dphiozc] standard_name = ozone_data_parameter_1 long_name = ozone data parameter 1 @@ -6655,7 +6653,6 @@ dimensions = () type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [blatc] standard_name = ozone_data_parameter_2 long_name = ozone data parameter 2 @@ -6663,28 +6660,48 @@ dimensions = () type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) +[kozc] + standard_name = file_indicator_for_ozone_climotology_data + long_name = file indicator for ozone climotology data + units = none + dimensions = () + type = integer +[latsozc] + standard_name = number_of_latitudes_in_ozone_climotology_data + long_name = number of latitude in ozone climotology data + units = count + dimensions = () + type = integer +[timeozc] + standard_name = number_of_times_in_ozone_climotology_data + long_name = number of times in ozone climotology data + units = count + dimensions = () + type = integer +[levozc] + standard_name = number_of_levels_in_ozone_climotology_data + long_name = number of vertical layers in ozone climotology data + units = count + dimensions = () + type = integer [kozpl] standard_name = file_indicator_for_ozone_data long_name = file indicator for ozone data units = none dimensions = () type = integer - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [latsozp] standard_name = number_of_latitudes_in_ozone_data long_name = number of latitude in ozone data units = count dimensions = () type = integer - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [timeoz] standard_name = number_of_times_in_ozone_data long_name = number of times in ozone data units = count dimensions = () type = integer - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [oz_lat] standard_name = ozone_data_latitude long_name = ozone data latitude @@ -6692,7 +6709,6 @@ dimensions = (number_of_latitudes_in_ozone_data) type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [oz_pres] standard_name = ozone_data_level_pressure long_name = ozone data level pressure @@ -6700,7 +6716,6 @@ dimensions = (number_of_levels_in_ozone_data) type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [po3] standard_name = natural_log_of_ozone_data_pressure_levels long_name = natural log of ozone forcing data pressure levels in Pa @@ -6708,7 +6723,7 @@ dimensions = (number_of_levels_in_ozone_data) type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) + active = (index_of_ozone_mixing_ratio_in_tracer_concentration_array>0) [oz_time] standard_name = ozone_data_time long_name = ozone data time @@ -6716,7 +6731,6 @@ dimensions = (13) type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [ozplin] standard_name = ozone_data long_name = ozone data @@ -6724,7 +6738,6 @@ dimensions = (number_of_latitudes_in_ozone_data,number_of_levels_in_ozone_data,number_of_coefficients_in_ozone_data,number_of_times_in_ozone_data) type = real kind = kind_phys - active = (flag_for_nrl_2006_ozone_scheme .or. flag_for_nrl_2015_ozone_scheme) [ipt] standard_name = index_of_horizontal_gridpoint_for_debug_output long_name = horizontal index for point used for diagnostic printout diff --git a/ccpp/physics b/ccpp/physics index 856baa6ab..8188e2689 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 856baa6abe3db03ff98bd238e226107bb763988c +Subproject commit 8188e26897b91083b315a0c8f83e32f54209c96d diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index 122b937e1..d5c21c1a0 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -13,6 +13,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary From 2f78f32e405078ed5beea3cbc8f9db57d3fc57ac Mon Sep 17 00:00:00 2001 From: dustinswales Date: Tue, 1 Aug 2023 16:13:35 -0600 Subject: [PATCH 06/26] Change submodule --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 22c723ac1..3e82a8644 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + url = https://github.com/dustinswales/ccpp-physics + branch = feature_reorg_ozphys [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP From 3c6308c6003d6b529239e6d940884c69f53909ee Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 2 Aug 2023 14:36:49 +0000 Subject: [PATCH 07/26] Sync physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 8188e2689..a583b26d9 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 8188e26897b91083b315a0c8f83e32f54209c96d +Subproject commit a583b26d9e4bd011b99f2773be51ee250c234166 From 2d352b128bce9408aee23e652bfddafa92afe28c Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 2 Aug 2023 17:05:18 +0000 Subject: [PATCH 08/26] Some cleanup. Now working --- ccpp/data/GFS_typedefs.F90 | 1 - ccpp/physics | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index e339027ce..a3d869c84 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -5478,7 +5478,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%timeoz = 1 Model%oz_coeff = 0 Model%dphiozc = -(Model%blatc+Model%blatc)/(Model%latsozc-1) - return end if !--- quantities to be used to derive phy_f*d totals diff --git a/ccpp/physics b/ccpp/physics index a583b26d9..0bfac2ac5 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit a583b26d9e4bd011b99f2773be51ee250c234166 +Subproject commit 0bfac2ac51d8c460b84cc49fd5240407bcaea6ba From b0bd401c111947e0226ccdf9e05944183f4512c1 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 2 Aug 2023 20:15:56 +0000 Subject: [PATCH 09/26] Address reviewers comments --- ccpp/data/GFS_typedefs.F90 | 20 +++++++++----------- ccpp/data/GFS_typedefs.meta | 12 ------------ 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index a3d869c84..b3539816f 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -1568,7 +1568,6 @@ module GFS_typedefs !--- NRL Ozone physics logical :: oz_phys !< Flag for old (2006) ozone physics logical :: oz_phys_2015 !< Flag for new (2015) ozone physics - integer :: kozpl !< File identifier for ozone forcing data integer :: latsozp !< Number of latitudes in ozone forcing data integer :: levozp !< Number of vertical layers in ozone forcing data integer :: timeoz !< Number of times in ozone forcing data @@ -1578,7 +1577,6 @@ module GFS_typedefs real (kind=kind_phys), allocatable :: po3(:) !< Natural log pressure levels for ozone forcing data real (kind=kind_phys), allocatable :: oz_time(:) !< Time for ozone forcing data real (kind=kind_phys), allocatable :: ozplin(:,:,:,:) !< Ozone forcing data - integer :: kozc !< File identifier for ozone climotology data integer :: latsozc !< Number of latitudes in ozone climotology data integer :: levozc !< Number of vertical layers in ozone climotology data integer :: timeozc !< Number of times in ozone climotology data @@ -5423,9 +5421,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- NRL ozone physics if (Model%ntoz > 0) then ! Get dimensions from data file - open(unit=Model%kozpl,file='global_o3prdlos.f77', form='unformatted', convert='big_endian') - read (Model%kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz - rewind(Model%kozpl) + open(unit=kozpl,file='global_o3prdlos.f77', form='unformatted', convert='big_endian') + read (kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz + rewind(kozpl) if (Model%me == Model%master) then write(*,*) 'Reading in o3data from global_o3prdlos.f77 ' write(*,*) ' oz_coeff = ', Model%oz_coeff @@ -5441,7 +5439,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & allocate (Model%ozplin(Model%latsozp,Model%levozp,Model%oz_coeff,Model%timeoz)) ! allocate(oz_lat4(Model%latsozp), oz_pres4(Model%levozp), oz_time4(Model%timeoz+1)) - read (Model%kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz, oz_lat4, oz_pres4, oz_time4 + read (kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz, oz_lat4, oz_pres4, oz_time4 ! Store Model%oz_pres(:) = oz_pres4(:) @@ -5454,19 +5452,19 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & do i1=1,Model%timeoz do i2=1,Model%oz_coeff do i3=1,Model%levozp - READ(Model%kozpl) tempin + READ(kozpl) tempin Model%ozplin(:,i3,i2,i1) = tempin(:) enddo enddo enddo deallocate(tempin) - close(Model%kozpl) + close(kozpl) else !--- Diagnostic ozone - rewind (Model%kozc) - read (Model%kozc,end=101) Model%latsozc, Model%levozc, Model%timeozc, blatc4 + rewind (kozc) + read (kozc,end=101) Model%latsozc, Model%levozc, Model%timeozc, blatc4 101 if (Model%levozc < 10 .or. Model%levozc > 100) then - rewind (Model%kozc) + rewind (kozc) Model%levozc = 17 Model%latsozc = 18 Model%blatc = -85.0 diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index f85025ca4..03eeff0a2 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6696,12 +6696,6 @@ dimensions = () type = real kind = kind_phys -[kozc] - standard_name = file_indicator_for_ozone_climotology_data - long_name = file indicator for ozone climotology data - units = none - dimensions = () - type = integer [latsozc] standard_name = number_of_latitudes_in_ozone_climotology_data long_name = number of latitude in ozone climotology data @@ -6720,12 +6714,6 @@ units = count dimensions = () type = integer -[kozpl] - standard_name = file_indicator_for_ozone_data - long_name = file indicator for ozone data - units = none - dimensions = () - type = integer [latsozp] standard_name = number_of_latitudes_in_ozone_data long_name = number of latitude in ozone data From f3a58828407e85af30bf987ab28e46f33eed741f Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 10 Aug 2023 17:34:30 +0000 Subject: [PATCH 10/26] More reorganization. --- ccpp/config/ccpp_prebuild_config.py | 1 + ccpp/data/GFS_typedefs.F90 | 24 +++++++++++++++--- ccpp/data/GFS_typedefs.meta | 39 +++++++++++++++++++++++++++++ ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 1 + 5 files changed, 63 insertions(+), 4 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 91942dc05..ed0aab3d6 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -104,6 +104,7 @@ 'physics/physics/GFS_surface_loop_control_part1.F90', 'physics/physics/GFS_surface_loop_control_part2.F90', 'physics/physics/GFS_time_vary_pre.fv3.F90', + 'physics/physics/GFS_physics_diagnostics.F90', 'physics/physics/cires_ugwp.F90', 'physics/physics/cires_ugwp_post.F90', 'physics/physics/unified_ugwp.F90', diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index b3539816f..361ebe8a2 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -9,7 +9,7 @@ module GFS_typedefs con_csol, con_epsqs, con_rocp, con_rog, & con_omega, con_rerth, con_psat, karman, rainmin,& con_c, con_plnk, con_boltz, con_solr_2008, & - con_solr_2002, con_thgni + con_solr_2002, con_thgni, con_1ovg use module_radsw_parameters, only: topfsw_type, sfcfsw_type use module_radlw_parameters, only: topflw_type, sfcflw_type @@ -1806,7 +1806,7 @@ module GFS_typedefs !--- In/Out (???) (physics only) real (kind=kind_phys), pointer :: swhc (:,:) => null() !< clear sky sw heating rates ( k/s ) real (kind=kind_phys), pointer :: lwhc (:,:) => null() !< clear sky lw heating rates ( k/s ) - real (kind=kind_phys), pointer :: lwhd (:,:,:) => null() !< idea sky lw heating rates ( k/s ) + real (kind=kind_phys), pointer :: lwhd (:,:,:) => null() !< idea sky lw heating rates ( k/s ) !DJS2023 THIS IS NOT USED. IT IS REFERENCED, BUT NEVER SET? contains procedure :: create => radtend_create !< allocate array data @@ -2114,6 +2114,12 @@ module GFS_typedefs real (kind=kind_phys), pointer :: ltg2_max(:) => null() ! real (kind=kind_phys), pointer :: ltg3_max(:) => null() ! + !--- NRL Ozone physics diagnostics + real (kind=kind_phys), pointer :: do3_dt_prd(:,:) => null() + real (kind=kind_phys), pointer :: do3_dt_ozmx(:,:) => null() + real (kind=kind_phys), pointer :: do3_dt_temp(:,:) => null() + real (kind=kind_phys), pointer :: do3_dt_ohoz(:,:) => null() + contains procedure :: create => diag_create procedure :: rad_zero => diag_rad_zero @@ -5460,7 +5466,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & deallocate(tempin) close(kozpl) else - !--- Diagnostic ozone + !--- Climatological ozone rewind (kozc) read (kozc,end=101) Model%latsozc, Model%levozc, Model%timeozc, blatc4 101 if (Model%levozc < 10 .or. Model%levozc > 100) then @@ -7616,6 +7622,12 @@ subroutine diag_create (Diag, IM, Model) allocate (Diag%dwn_mf (IM,Model%levs)) allocate (Diag%det_mf (IM,Model%levs)) endif + if (Model%oz_phys_2015) then + allocate(Diag%do3_dt_prd( IM, Model%levs)) + allocate(Diag%do3_dt_ozmx(IM, Model%levs)) + allocate(Diag%do3_dt_temp(IM, Model%levs)) + allocate(Diag%do3_dt_ohoz(IM, Model%levs)) + endif endif ! UGWP @@ -7954,6 +7966,12 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center) Diag%dwn_mf = zero Diag%det_mf = zero endif + if (Model%oz_phys_2015) then + Diag%do3_dt_prd = zero + Diag%do3_dt_ozmx = zero + Diag%do3_dt_temp = zero + Diag%do3_dt_ohoz = zero + endif endif ! diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 03eeff0a2..618f8acf3 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -8961,6 +8961,38 @@ type = real kind = kind_phys active = (flag_for_tracer_diagnostics_3D) +[do3_dt_prd] + standard_name = ozone_tendency_due_to_production_and_loss_rate + long_name = ozone tendency due to production and loss rate + units = kg kg-1 s-1 + dimensions = (horizontal_loop_extent,vertical_layer_dimension) + type = real + kind = kind_phys + active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) +[do3_dt_ozmx] + standard_name = ozone_tendency_due_to_ozone_mixing_ratio + long_name = ozone tendency due to ozone mixing ratio + units = kg kg-1 s-1 + dimensions = (horizontal_loop_extent,vertical_layer_dimension) + type = real + kind = kind_phys + active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) +[do3_dt_temp] + standard_name = ozone_tendency_due_to_temperature + long_name = ozone tendency due to temperature + units = kg kg-1 s-1 + dimensions = (horizontal_loop_extent,vertical_layer_dimension) + type = real + kind = kind_phys + active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) +[do3_dt_ohoz] + standard_name = ozone_tendency_due_to_overhead_ozone_column + long_name = ozone tendency due to overhead ozone column + units = kg kg-1 s-1 + dimensions = (horizontal_loop_extent,vertical_layer_dimension) + type = real + kind = kind_phys + active = (flag_for_tracer_diagnostics_3D .and. flag_for_nrl_2015_ozone_scheme) [refl_10cm] standard_name = radar_reflectivity_10cm long_name = instantaneous refl_10cm @@ -9889,6 +9921,13 @@ dimensions = () type = real kind = kind_phys +[con_1ovg] + standard_name = one_divided_by_the_gravitational_acceleration + long_name = inverse of gravitational acceleration + units = s2 m-1 + dimensions = () + type = real + kind = kind_phys [con_hvap] standard_name = latent_heat_of_vaporization_of_water_at_0C long_name = latent heat of evaporation/sublimation diff --git a/ccpp/physics b/ccpp/physics index 0bfac2ac5..bea77c8dd 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 0bfac2ac51d8c460b84cc49fd5240407bcaea6ba +Subproject commit bea77c8dd21b60b8af7603e494aed45abcccec40 diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index d5c21c1a0..987b3ca96 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -82,6 +82,7 @@ GFS_MP_generic_pre gfdl_cloud_microphys GFS_MP_generic_post + GFS_physics_diagnostics maximum_hourly_diagnostics phys_tend From 9938c37d3c86c02ba1ff0ccbb8e8df2215825f3a Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 6 Sep 2023 09:57:34 -0600 Subject: [PATCH 11/26] Synced physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 8188e2689..2c10492aa 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 8188e26897b91083b315a0c8f83e32f54209c96d +Subproject commit 2c10492aab3b4a9e39b1070d74beb5465c4a14d4 From 05852bdabdca99e15ebab6d77c324ddc9464c6f5 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 6 Sep 2023 10:58:49 -0600 Subject: [PATCH 12/26] Renamed file. Update SDFs --- ccpp/config/ccpp_prebuild_config.py | 2 +- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_p8.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 4 ++++ ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 4 ++++ 10 files changed, 31 insertions(+), 3 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index ed0aab3d6..68635869e 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -104,7 +104,7 @@ 'physics/physics/GFS_surface_loop_control_part1.F90', 'physics/physics/GFS_surface_loop_control_part2.F90', 'physics/physics/GFS_time_vary_pre.fv3.F90', - 'physics/physics/GFS_physics_diagnostics.F90', + 'physics/physics/GFS_physics_post.F90', 'physics/physics/cires_ugwp.F90', 'physics/physics/cires_ugwp_post.F90', 'physics/physics/unified_ugwp.F90', diff --git a/ccpp/physics b/ccpp/physics index 2c10492aa..26ca9f9c3 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 2c10492aab3b4a9e39b1070d74beb5465c4a14d4 +Subproject commit 26ca9f9c3d08aa5ddc5cb414c1a0377d1fb5fae2 diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index 987b3ca96..a29d4cf78 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -82,9 +82,9 @@ GFS_MP_generic_pre gfdl_cloud_microphys GFS_MP_generic_post - GFS_physics_diagnostics maximum_hourly_diagnostics phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index 4a2cb64fc..0a306d731 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -85,6 +86,9 @@ GFS_MP_generic_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index f0a8d7d92..12fb47ea3 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -86,6 +87,9 @@ cu_c3_driver_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index b68abf3f2..0ff08d88b 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -83,6 +84,9 @@ GFS_MP_generic_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index c4b295a6d..d26b1fe86 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -84,6 +85,9 @@ GFS_MP_generic_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index a79f37f7f..b060243ee 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -85,6 +86,9 @@ cu_c3_driver_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index f77c71cc5..ee1695c8a 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -8,6 +8,7 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -87,6 +88,9 @@ GFS_MP_generic_post maximum_hourly_diagnostics + + GFS_physics_post + diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 3b3acef6d..2aadb7ae2 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -8,6 +8,7 @@ GFS_rrtmgp_setup GFS_rad_time_vary GFS_phys_time_vary + ozphys_time_vary @@ -84,6 +85,9 @@ GFS_MP_generic_post maximum_hourly_diagnostics + + GFS_physics_post + From 8e8f698ecf06ad139d5b017eee43f35ad3b55ed8 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 27 Sep 2023 14:08:56 -0600 Subject: [PATCH 13/26] Getting real close... --- ccpp/config/ccpp_prebuild_config.py | 6 +- ccpp/data/GFS_typedefs.F90 | 95 ++++--------------- ccpp/data/GFS_typedefs.meta | 88 ++--------------- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 1 - .../suite_FV3_GFS_v17_coupled_p8_c3.xml | 1 - .../suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 1 - 12 files changed, 34 insertions(+), 165 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 68635869e..25d805472 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -21,6 +21,7 @@ 'physics/physics/radlw_param.f', 'physics/physics/h2o_def.f', 'physics/physics/radiation_surface.f', + 'physics/physics/module_ozphys.F90', 'data/CCPP_typedefs.F90', 'data/GFS_typedefs.F90', 'data/CCPP_data.F90', @@ -40,6 +41,10 @@ 'module_radlw_parameters' : { 'module_radlw_parameters' : '', }, + 'module_ozphys' : { + 'module_ozphys' : '', + 'ty_ozphys' : '', + }, 'CCPP_typedefs' : { 'GFS_interstitial_type' : 'GFS_Interstitial(cdata%thrd_no)', 'GFDL_interstitial_type' : 'GFDL_interstitial', @@ -165,7 +170,6 @@ 'physics/physics/mp_nssl.F90' , 'physics/physics/ozphys.f', 'physics/physics/ozphys_2015.F90', - 'physics/physics/ozphys_time_vary.F90', 'physics/physics/zhaocarr_precpd.f', 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 201d0b479..271a959d4 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -14,6 +14,7 @@ module GFS_typedefs use module_radsw_parameters, only: topfsw_type, sfcfsw_type use module_radlw_parameters, only: topflw_type, sfcflw_type use h2o_def, only: levh2o, h2o_coeff + use module_ozphys, only: ty_ozphys implicit none @@ -1568,22 +1569,11 @@ module GFS_typedefs logical :: lightning_threat !< report lightning threat indices !--- NRL Ozone physics - logical :: oz_phys !< Flag for old (2006) ozone physics - logical :: oz_phys_2015 !< Flag for new (2015) ozone physics - integer :: latsozp !< Number of latitudes in ozone forcing data - integer :: levozp !< Number of vertical layers in ozone forcing data - integer :: timeoz !< Number of times in ozone forcing data - integer :: oz_coeff !< Number of coefficients in ozone forcing data - real (kind=kind_phys), allocatable :: oz_lat(:) !< Latitude for ozone forcing data - real (kind=kind_phys), allocatable :: oz_pres(:) !< Pressure levels for ozone forcing data - real (kind=kind_phys), allocatable :: po3(:) !< Natural log pressure levels for ozone forcing data - real (kind=kind_phys), allocatable :: oz_time(:) !< Time for ozone forcing data - real (kind=kind_phys), allocatable :: ozplin(:,:,:,:) !< Ozone forcing data - integer :: latsozc !< Number of latitudes in ozone climotology data - integer :: levozc !< Number of vertical layers in ozone climotology data - integer :: timeozc !< Number of times in ozone climotology data - real (kind=kind_phys) :: blatc !< Parameter for ozone climotology - real (kind=kind_phys) :: dphiozc !< Parameter for ozone climotology + logical :: oz_phys !< Flag for old (2006) ozone physics + logical :: oz_phys_2015 !< Flag for new (2015) ozone physics + type(ty_ozphys) :: ozphys !< DDT with data needed by ozone physics + integer :: levozp !< Number of vertical layers in ozone forcing data + integer :: oz_coeff !< Number of coefficients in ozone forcing data contains procedure :: init => control_initialize @@ -3866,8 +3856,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: lightning_threat = .false. !--- NRL Ozone physics - logical :: oz_phys = .true. !< Flag for old (2006) ozone physics - logical :: oz_phys_2015 = .false. !< Flag for new (2015) ozone physics + logical :: oz_phys = .false. !< Flag for old (2006) ozone physics + logical :: oz_phys_2015 = .true. !< Flag for new (2015) ozone physics integer :: kozpl = 28 !< File identifier for ozone forcing data integer :: kozc = 48 !< File identifier for ozone climotology data @@ -4044,10 +4034,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & character(len=20) :: namestr character(len=44) :: descstr -!--- ozone physics - integer :: i1, i2, i3 - real(kind=4), dimension(:), allocatable :: oz_lat4, oz_pres4, oz_time4, tempin - real(kind=4) :: blatc4 +!--- NRL ozone physics + character(len=128) :: err_message ! dtend selection: default is to match all variables: dtend_select(1)='*' @@ -5432,62 +5420,21 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- NRL ozone physics if (Model%ntoz > 0) then - ! Get dimensions from data file - open(unit=kozpl,file='global_o3prdlos.f77', form='unformatted', convert='big_endian') - read (kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz - rewind(kozpl) + ! Load data for ozone physics into DDT ozphys + err_message = Model%ozphys%load_forcing('global_o3prdlos.f77',kozpl) + Model%levozp = Model%ozphys%nlev + Model%oz_coeff = Model%ozphys%ncf + if (Model%me == Model%master) then write(*,*) 'Reading in o3data from global_o3prdlos.f77 ' - write(*,*) ' oz_coeff = ', Model%oz_coeff - write(*,*) ' latsozp = ', Model%latsozp - write(*,*) ' levozp = ', Model%levozp - write(*,*) ' timeoz = ', Model%timeoz + write(*,*) ' oz_coeff = ', Model%ozphys%ncf + write(*,*) ' latsozp = ', Model%ozphys%nlat + write(*,*) ' levozp = ', Model%ozphys%nlev + write(*,*) ' timeoz = ', Model%ozphys%ntime endif - ! Allocate space - allocate (Model%oz_lat(Model%latsozp)) - allocate (Model%oz_pres(Model%levozp)) - allocate (Model%po3(Model%levozp)) - allocate (Model%oz_time(Model%timeoz+1)) - allocate (Model%ozplin(Model%latsozp,Model%levozp,Model%oz_coeff,Model%timeoz)) - ! - allocate(oz_lat4(Model%latsozp), oz_pres4(Model%levozp), oz_time4(Model%timeoz+1)) - read (kozpl) Model%oz_coeff, Model%latsozp, Model%levozp, Model%timeoz, oz_lat4, oz_pres4, oz_time4 - - ! Store - Model%oz_pres(:) = oz_pres4(:) - Model%po3(:) = log(100.0*Model%oz_pres(:)) ! from mb to ln(Pa) - Model%oz_lat(:) = oz_lat4(:) - Model%oz_time(:) = oz_time4(:) - deallocate(oz_lat4, oz_pres4, oz_time4) - ! - allocate(tempin(Model%latsozp)) - do i1=1,Model%timeoz - do i2=1,Model%oz_coeff - do i3=1,Model%levozp - READ(kozpl) tempin - Model%ozplin(:,i3,i2,i1) = tempin(:) - enddo - enddo - enddo - deallocate(tempin) - close(kozpl) else !--- Climatological ozone - rewind (kozc) - read (kozc,end=101) Model%latsozc, Model%levozc, Model%timeozc, blatc4 -101 if (Model%levozc < 10 .or. Model%levozc > 100) then - rewind (kozc) - Model%levozc = 17 - Model%latsozc = 18 - Model%blatc = -85.0 - else - Model%blatc = blatc4 - endif - Model%latsozp = 2 - Model%levozp = 1 - Model%timeoz = 1 - Model%oz_coeff = 0 - Model%dphiozc = -(Model%blatc+Model%blatc)/(Model%latsozc-1) + err_message = Model%ozphys%load_clim('global_o3prdlos.f77',kozc) end if !--- quantities to be used to derive phy_f*d totals @@ -7014,8 +6961,8 @@ subroutine tbd_create (Tbd, IM, Model) !--- ozone and stratosphere h2o needs allocate (Tbd%ozpl (IM,Model%levozp,Model%oz_coeff)) allocate (Tbd%h2opl (IM,levh2o,h2o_coeff)) - Tbd%ozpl = clear_val Tbd%h2opl = clear_val + Tbd%ozpl = clear_val !--- ccn and in needs ! DH* allocate only for MG? *DH diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 27a9186ac..4aee085cf 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -5107,6 +5107,12 @@ units = flag dimensions = () type = logical +[ozphys] + standard_name = dataset_for_ozone_physics + long_name = dataset for NRL ozone physics + units = mixed + dimensions = () + type = ty_ozphys [h2o_phys] standard_name = flag_for_stratospheric_water_vapor_physics long_name = flag for stratospheric water vapor physics @@ -6688,86 +6694,6 @@ units = count dimensions = () type = integer -[dphiozc] - standard_name = ozone_data_parameter_1 - long_name = ozone data parameter 1 - units = none - dimensions = () - type = real - kind = kind_phys -[blatc] - standard_name = ozone_data_parameter_2 - long_name = ozone data parameter 2 - units = none - dimensions = () - type = real - kind = kind_phys -[latsozc] - standard_name = number_of_latitudes_in_ozone_climotology_data - long_name = number of latitude in ozone climotology data - units = count - dimensions = () - type = integer -[timeozc] - standard_name = number_of_times_in_ozone_climotology_data - long_name = number of times in ozone climotology data - units = count - dimensions = () - type = integer -[levozc] - standard_name = number_of_levels_in_ozone_climotology_data - long_name = number of vertical layers in ozone climotology data - units = count - dimensions = () - type = integer -[latsozp] - standard_name = number_of_latitudes_in_ozone_data - long_name = number of latitude in ozone data - units = count - dimensions = () - type = integer -[timeoz] - standard_name = number_of_times_in_ozone_data - long_name = number of times in ozone data - units = count - dimensions = () - type = integer -[oz_lat] - standard_name = ozone_data_latitude - long_name = ozone data latitude - units = deg - dimensions = (number_of_latitudes_in_ozone_data) - type = real - kind = kind_phys -[oz_pres] - standard_name = ozone_data_level_pressure - long_name = ozone data level pressure - units = Pa - dimensions = (number_of_levels_in_ozone_data) - type = real - kind = kind_phys -[po3] - standard_name = natural_log_of_ozone_data_pressure_levels - long_name = natural log of ozone forcing data pressure levels in Pa - units = 1 - dimensions = (number_of_levels_in_ozone_data) - type = real - kind = kind_phys - active = (index_of_ozone_mixing_ratio_in_tracer_concentration_array>0) -[oz_time] - standard_name = ozone_data_time - long_name = ozone data time - units = none - dimensions = (13) - type = real - kind = kind_phys -[ozplin] - standard_name = ozone_data - long_name = ozone data - units = 1 - dimensions = (number_of_latitudes_in_ozone_data,number_of_levels_in_ozone_data,number_of_coefficients_in_ozone_data,number_of_times_in_ozone_data) - type = real - kind = kind_phys [ipt] standard_name = index_of_horizontal_gridpoint_for_debug_output long_name = horizontal index for point used for diagnostic printout @@ -9765,7 +9691,7 @@ type = module relative_path = ../physics/physics dependencies = machine.F,physcons.F90,radlw_param.f,radsw_param.f - dependencies = GFDL_parse_tracers.F90,h2o_def.f + dependencies = GFDL_parse_tracers.F90,h2o_def.f,module_ozphys.F90 [ccpp-arg-table] name = GFS_typedefs diff --git a/ccpp/physics b/ccpp/physics index 26ca9f9c3..a110a5b93 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 26ca9f9c3d08aa5ddc5cb414c1a0377d1fb5fae2 +Subproject commit a110a5b93bce92bab083fdaa07bd21ba5cae8720 diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index a29d4cf78..a1011aab8 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -13,7 +13,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index 0a306d731..faa83b57f 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index 12fb47ea3..dc66c9a9d 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index 0ff08d88b..178a3f349 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index d26b1fe86..926680098 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index b060243ee..2a3e506bd 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index ee1695c8a..693d6e31f 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -8,7 +8,6 @@ GFS_rrtmg_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 2aadb7ae2..84899018f 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -8,7 +8,6 @@ GFS_rrtmgp_setup GFS_rad_time_vary GFS_phys_time_vary - ozphys_time_vary From 4ab16ee7c8be0a3dca353472a87d95308078c988 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 27 Sep 2023 16:06:58 -0600 Subject: [PATCH 14/26] SDF cleanup. physics updates --- ccpp/config/ccpp_prebuild_config.py | 1 - ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml | 1 - ccpp/suites/suite_FV3_GFS_v15p2.xml | 1 - ccpp/suites/suite_FV3_GFS_v16.xml | 1 - ccpp/suites/suite_FV3_GFS_v16_csawmg.xml | 1 - ccpp/suites/suite_FV3_GFS_v16_flake.xml | 1 - ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml | 1 - ccpp/suites/suite_FV3_GFS_v16_ras.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 1 - ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 1 - ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml | 1 - ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml | 1 - ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml | 1 - ccpp/suites/suite_FV3_HRRR.xml | 1 - ccpp/suites/suite_FV3_HRRR_c3.xml | 1 - ccpp/suites/suite_FV3_HRRR_gf.xml | 1 - ccpp/suites/suite_FV3_RAP.xml | 1 - ccpp/suites/suite_FV3_RAP_cires_ugwp.xml | 1 - ccpp/suites/suite_FV3_RAP_clm_lake.xml | 1 - ccpp/suites/suite_FV3_RAP_flake.xml | 1 - ccpp/suites/suite_FV3_RAP_noah.xml | 1 - ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml | 1 - ccpp/suites/suite_FV3_RAP_sfcdiff.xml | 1 - ccpp/suites/suite_FV3_RAP_unified_ugwp.xml | 1 - ccpp/suites/suite_FV3_RRFS_v1beta.xml | 1 - ccpp/suites/suite_FV3_RRFS_v1nssl.xml | 1 - ccpp/suites/suite_FV3_WoFS_v0.xml | 1 - 33 files changed, 1 insertion(+), 33 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 25d805472..5bde06d90 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -169,7 +169,6 @@ 'physics/physics/mp_thompson_post.F90', 'physics/physics/mp_nssl.F90' , 'physics/physics/ozphys.f', - 'physics/physics/ozphys_2015.F90', 'physics/physics/zhaocarr_precpd.f', 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', diff --git a/ccpp/physics b/ccpp/physics index a110a5b93..d0a4bfd63 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit a110a5b93bce92bab083fdaa07bd21ba5cae8720 +Subproject commit d0a4bfd63fae9f4e4a06cb5598049f1019aed945 diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml index 3bca27630..4e1873c79 100644 --- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml +++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml @@ -60,7 +60,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index e87305c66..84561725d 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -66,7 +66,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index a1011aab8..1d62ce4b0 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -66,7 +66,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml index 8c32e3d76..b52213cc3 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml @@ -61,7 +61,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v16_flake.xml b/ccpp/suites/suite_FV3_GFS_v16_flake.xml index 12c48225f..efe4cd68f 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_flake.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_flake.xml @@ -67,7 +67,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml index d8cafbbd0..5fa718373 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml @@ -59,7 +59,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v16_ras.xml b/ccpp/suites/suite_FV3_GFS_v16_ras.xml index be4aa4a13..517837c4f 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_ras.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_ras.xml @@ -66,7 +66,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index faa83b57f..e69699305 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -62,7 +62,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index dc66c9a9d..7247298e7 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -62,7 +62,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index 178a3f349..a8a939fd0 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -60,7 +60,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index 926680098..6b2a9c60f 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -61,7 +61,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index 2a3e506bd..caec15b15 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -61,7 +61,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index 693d6e31f..a017a0f1e 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -64,7 +64,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 84899018f..0fa0fc7c9 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -61,7 +61,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml index 3dc3c8d54..5563432f4 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml @@ -66,7 +66,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml index 254df77e0..3a7788e8e 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml @@ -64,7 +64,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml index a5db1110b..7468ed315 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml @@ -61,7 +61,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HRRR.xml b/ccpp/suites/suite_FV3_HRRR.xml index 6ac35db14..38368091c 100644 --- a/ccpp/suites/suite_FV3_HRRR.xml +++ b/ccpp/suites/suite_FV3_HRRR.xml @@ -59,7 +59,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HRRR_c3.xml b/ccpp/suites/suite_FV3_HRRR_c3.xml index fe4feedc7..b096920b5 100644 --- a/ccpp/suites/suite_FV3_HRRR_c3.xml +++ b/ccpp/suites/suite_FV3_HRRR_c3.xml @@ -59,7 +59,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_HRRR_gf.xml b/ccpp/suites/suite_FV3_HRRR_gf.xml index 7e594e621..ccfbfd3cc 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf.xml @@ -59,7 +59,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP.xml b/ccpp/suites/suite_FV3_RAP.xml index f03c1a1e8..4c93205af 100644 --- a/ccpp/suites/suite_FV3_RAP.xml +++ b/ccpp/suites/suite_FV3_RAP.xml @@ -59,7 +59,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml index 3530d16ef..3dbfc6bd4 100644 --- a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml @@ -60,7 +60,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_clm_lake.xml b/ccpp/suites/suite_FV3_RAP_clm_lake.xml index 9a28a6421..52b6d0e9b 100644 --- a/ccpp/suites/suite_FV3_RAP_clm_lake.xml +++ b/ccpp/suites/suite_FV3_RAP_clm_lake.xml @@ -60,7 +60,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_flake.xml b/ccpp/suites/suite_FV3_RAP_flake.xml index be66bbaa0..2e0d4110f 100644 --- a/ccpp/suites/suite_FV3_RAP_flake.xml +++ b/ccpp/suites/suite_FV3_RAP_flake.xml @@ -60,7 +60,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_noah.xml b/ccpp/suites/suite_FV3_RAP_noah.xml index f5ce01c87..aeff63da6 100644 --- a/ccpp/suites/suite_FV3_RAP_noah.xml +++ b/ccpp/suites/suite_FV3_RAP_noah.xml @@ -60,7 +60,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml index b0bf553bb..2c51a5fd2 100644 --- a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml @@ -61,7 +61,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml index 0793433c6..aeb81eea4 100644 --- a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml +++ b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml @@ -59,7 +59,6 @@ drag_suite GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml index 0b04d9622..1fbca6870 100644 --- a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml @@ -60,7 +60,6 @@ unified_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RRFS_v1beta.xml b/ccpp/suites/suite_FV3_RRFS_v1beta.xml index 97228c0a6..8052fa8d5 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1beta.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1beta.xml @@ -61,7 +61,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml index d2a2ae911..6ba2d4cf7 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml @@ -61,7 +61,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_MP_generic_pre diff --git a/ccpp/suites/suite_FV3_WoFS_v0.xml b/ccpp/suites/suite_FV3_WoFS_v0.xml index 1a34ba1a1..46d013a8d 100644 --- a/ccpp/suites/suite_FV3_WoFS_v0.xml +++ b/ccpp/suites/suite_FV3_WoFS_v0.xml @@ -61,7 +61,6 @@ cires_ugwp_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_MP_generic_pre From ff67b401392b91b86e208ee23c724b67ffd5b516 Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 27 Sep 2023 16:09:00 -0600 Subject: [PATCH 15/26] Omission from previous commit --- ccpp/data/GFS_typedefs.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 271a959d4..446996d37 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -5421,7 +5421,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- NRL ozone physics if (Model%ntoz > 0) then ! Load data for ozone physics into DDT ozphys - err_message = Model%ozphys%load_forcing('global_o3prdlos.f77',kozpl) + err_message = Model%ozphys%load_o3prog('global_o3prdlos.f77',kozpl) Model%levozp = Model%ozphys%nlev Model%oz_coeff = Model%ozphys%ncf @@ -5434,7 +5434,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & endif else !--- Climatological ozone - err_message = Model%ozphys%load_clim('global_o3prdlos.f77',kozc) + err_message = Model%ozphys%load_o3clim('global_o3prdlos.f77',kozc) end if !--- quantities to be used to derive phy_f*d totals From 8fd6b282f548f5e9319b8d5f3c578ff2d76e358e Mon Sep 17 00:00:00 2001 From: dustinswales Date: Wed, 27 Sep 2023 22:21:24 -0600 Subject: [PATCH 16/26] Some polishing. Merge 2006 ozone into module_ozphys --- ccpp/config/ccpp_prebuild_config.py | 3 +-- ccpp/physics | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 5bde06d90..657490e18 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -167,8 +167,7 @@ 'physics/physics/mp_thompson_pre.F90', 'physics/physics/mp_thompson.F90', 'physics/physics/mp_thompson_post.F90', - 'physics/physics/mp_nssl.F90' , - 'physics/physics/ozphys.f', + 'physics/physics/mp_nssl.F90', 'physics/physics/zhaocarr_precpd.f', 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', diff --git a/ccpp/physics b/ccpp/physics index d0a4bfd63..385ef4e28 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit d0a4bfd63fae9f4e4a06cb5598049f1019aed945 +Subproject commit 385ef4e2802a838fd3099b17ee479ebaae1a6402 From 5f84695a64c5bda665746ed6bef3cfe4279d09dc Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 28 Sep 2023 15:23:11 +0000 Subject: [PATCH 17/26] Update physics wiht ufs-community --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 385ef4e28..2e65765a6 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 385ef4e2802a838fd3099b17ee479ebaae1a6402 +Subproject commit 2e65765a6ef0b5c26577365aba87daa093b5adcd From 53ee700816a6c0ac3ef5a05815a8773791a3757e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 28 Sep 2023 17:20:48 +0000 Subject: [PATCH 18/26] Added documentation --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 2e65765a6..00d90608a 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 2e65765a6ef0b5c26577365aba87daa093b5adcd +Subproject commit 00d90608a08f13ac367f2c002b8ae18eea4e8f6b From fb821e6a779c46ed79c5193c3bdfbc2b9c88d529 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 12 Oct 2023 03:46:36 +0000 Subject: [PATCH 19/26] Some more cleanup --- ccpp/config/ccpp_prebuild_config.py | 1 - ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml | 2 +- ccpp/suites/suite_FV3_GFS_v15p2.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 1 - ccpp/suites/suite_FV3_GFS_v16_csawmg.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_flake.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_ras.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_p8.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 5 +---- ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 5 +---- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml | 2 +- ccpp/suites/suite_FV3_HRRR.xml | 2 +- ccpp/suites/suite_FV3_HRRR_c3.xml | 2 +- ccpp/suites/suite_FV3_HRRR_gf.xml | 2 +- ccpp/suites/suite_FV3_RAP.xml | 2 +- ccpp/suites/suite_FV3_RAP_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_clm_lake.xml | 2 +- ccpp/suites/suite_FV3_RAP_flake.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_sfcdiff.xml | 2 +- ccpp/suites/suite_FV3_RAP_unified_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1beta.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1nssl.xml | 2 +- ccpp/suites/suite_FV3_WoFS_v0.xml | 2 +- 33 files changed, 31 insertions(+), 54 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 657490e18..a96b067ac 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -169,7 +169,6 @@ 'physics/physics/mp_thompson_post.F90', 'physics/physics/mp_nssl.F90', 'physics/physics/zhaocarr_precpd.f', - 'physics/physics/phys_tend.F90', 'physics/physics/radlw_main.F90', 'physics/physics/radsw_main.F90', 'physics/physics/rascnv.F90', diff --git a/ccpp/physics b/ccpp/physics index 00d90608a..c65ee9e92 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 00d90608a08f13ac367f2c002b8ae18eea4e8f6b +Subproject commit c65ee9e92f92acd9f9cfa8e829d26299b391bfab diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml index 4e1873c79..7886743e3 100644 --- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml +++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml @@ -70,7 +70,7 @@ mp_thompson_post GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index 84561725d..7b2eaac1b 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -81,7 +81,7 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index 1d62ce4b0..e6ae5483f 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -81,7 +81,6 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml index b52213cc3..3c41ef08d 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml @@ -81,7 +81,7 @@ cs_conv_aw_adj GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_flake.xml b/ccpp/suites/suite_FV3_GFS_v16_flake.xml index efe4cd68f..a99756c30 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_flake.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_flake.xml @@ -82,7 +82,7 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml index 5fa718373..e540edc52 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml @@ -79,7 +79,7 @@ GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_ras.xml b/ccpp/suites/suite_FV3_GFS_v16_ras.xml index 517837c4f..31e1d29f3 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_ras.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_ras.xml @@ -81,7 +81,7 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index e69699305..00675097a 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -84,14 +84,11 @@ GFS_MP_generic_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index 7247298e7..7daa7495a 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -85,14 +85,11 @@ cu_c3_driver_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index a8a939fd0..b137ed9a8 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -82,14 +82,11 @@ GFS_MP_generic_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index 6b2a9c60f..37ce4d90c 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -83,14 +83,11 @@ GFS_MP_generic_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index caec15b15..ee37af42e 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -84,14 +84,11 @@ cu_c3_driver_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index a017a0f1e..a5b2b3291 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -86,14 +86,11 @@ GFS_MP_generic_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 0fa0fc7c9..57aa71179 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -83,14 +83,11 @@ GFS_MP_generic_post maximum_hourly_diagnostics - - GFS_physics_post - GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml index 5563432f4..e6673d7a6 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml @@ -81,7 +81,7 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml index 3a7788e8e..de25bd871 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml @@ -79,7 +79,7 @@ gfdl_cloud_microphys GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml index 7468ed315..7231ed9ac 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml @@ -78,7 +78,7 @@ mp_thompson_post GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HRRR.xml b/ccpp/suites/suite_FV3_HRRR.xml index 38368091c..56360ab5d 100644 --- a/ccpp/suites/suite_FV3_HRRR.xml +++ b/ccpp/suites/suite_FV3_HRRR.xml @@ -69,7 +69,7 @@ mp_thompson_post GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HRRR_c3.xml b/ccpp/suites/suite_FV3_HRRR_c3.xml index b096920b5..95a426de8 100644 --- a/ccpp/suites/suite_FV3_HRRR_c3.xml +++ b/ccpp/suites/suite_FV3_HRRR_c3.xml @@ -75,7 +75,7 @@ GFS_MP_generic_post cu_c3_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_HRRR_gf.xml b/ccpp/suites/suite_FV3_HRRR_gf.xml index ccfbfd3cc..8694976ac 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf.xml @@ -75,7 +75,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP.xml b/ccpp/suites/suite_FV3_RAP.xml index 4c93205af..a24476213 100644 --- a/ccpp/suites/suite_FV3_RAP.xml +++ b/ccpp/suites/suite_FV3_RAP.xml @@ -77,7 +77,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml index 3dbfc6bd4..6f16d0ea4 100644 --- a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml @@ -78,7 +78,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_clm_lake.xml b/ccpp/suites/suite_FV3_RAP_clm_lake.xml index 52b6d0e9b..2bc178eae 100644 --- a/ccpp/suites/suite_FV3_RAP_clm_lake.xml +++ b/ccpp/suites/suite_FV3_RAP_clm_lake.xml @@ -78,7 +78,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_flake.xml b/ccpp/suites/suite_FV3_RAP_flake.xml index 2e0d4110f..c60c4324b 100644 --- a/ccpp/suites/suite_FV3_RAP_flake.xml +++ b/ccpp/suites/suite_FV3_RAP_flake.xml @@ -78,7 +78,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_noah.xml b/ccpp/suites/suite_FV3_RAP_noah.xml index aeff63da6..6fd994f3c 100644 --- a/ccpp/suites/suite_FV3_RAP_noah.xml +++ b/ccpp/suites/suite_FV3_RAP_noah.xml @@ -78,7 +78,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml index 2c51a5fd2..a07dd850b 100644 --- a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml @@ -79,7 +79,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml index aeb81eea4..8a960e02e 100644 --- a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml +++ b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml @@ -77,7 +77,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml index 1fbca6870..efca314bb 100644 --- a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml @@ -78,7 +78,7 @@ GFS_MP_generic_post cu_gf_driver_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RRFS_v1beta.xml b/ccpp/suites/suite_FV3_RRFS_v1beta.xml index 8052fa8d5..42ee00565 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1beta.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1beta.xml @@ -71,7 +71,7 @@ mp_thompson_post GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml index 6ba2d4cf7..05b1edb79 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml @@ -67,7 +67,7 @@ mp_nssl GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_WoFS_v0.xml b/ccpp/suites/suite_FV3_WoFS_v0.xml index 46d013a8d..5641af472 100644 --- a/ccpp/suites/suite_FV3_WoFS_v0.xml +++ b/ccpp/suites/suite_FV3_WoFS_v0.xml @@ -67,7 +67,7 @@ mp_nssl GFS_MP_generic_post maximum_hourly_diagnostics - phys_tend + GFS_physics_post From 18206e7c3a6dc581e0f673d9b0c7ecd808d5fe3b Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 12 Oct 2023 15:21:01 +0000 Subject: [PATCH 20/26] Final cleanup --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index c65ee9e92..06bb2bcc9 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit c65ee9e92f92acd9f9cfa8e829d26299b391bfab +Subproject commit 06bb2bcc9ea2fa5dd52d8f0aa8be2f41b65ab8c0 From 5f14225703c559beb575cb2513403de5ea34ed38 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 12 Oct 2023 15:46:49 +0000 Subject: [PATCH 21/26] Omission from previous commit --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 06bb2bcc9..89af3d894 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 06bb2bcc9ea2fa5dd52d8f0aa8be2f41b65ab8c0 +Subproject commit 89af3d8946ab25737628a016fe89356a261155ac From 10ce057ccee86b9d49e723af98d738bf0f1a8e21 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 27 Oct 2023 16:50:25 +0000 Subject: [PATCH 22/26] Update ccpp-framework hash --- ccpp/framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/framework b/ccpp/framework index 1b6352fb2..219f2e9c8 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 1b6352fb24f053b738bde72eed0ddf0b60ec7c0f +Subproject commit 219f2e9c88b7b774becac2bd1453696e105af1c4 From dc30cf10df3f18e368e352e9b2a454c0d7e7a35d Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 27 Oct 2023 16:52:11 +0000 Subject: [PATCH 23/26] Update ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 89af3d894..72bd9bc3b 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 89af3d8946ab25737628a016fe89356a261155ac +Subproject commit 72bd9bc3bf310ac052b182a0d11e70ff9ed6f550 From e045e7ea4033118e2ec4343b7af25a38869e3b1a Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Fri, 27 Oct 2023 17:01:39 +0000 Subject: [PATCH 24/26] Reverted standard_name change --- ccpp/data/GFS_typedefs.meta | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 050b167b3..e31731735 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6658,7 +6658,7 @@ dimensions = () type = logical [levozp] - standard_name = number_of_levels_in_ozone_data + standard_name = vertical_dimension_of_ozone_forcing_data long_name = number of vertical layers in ozone forcing data units = count dimensions = () @@ -7428,7 +7428,7 @@ standard_name = ozone_forcing long_name = ozone forcing data units = mixed - dimensions = (horizontal_loop_extent,number_of_levels_in_ozone_data,number_of_coefficients_in_ozone_data) + dimensions = (horizontal_loop_extent,vertical_dimension_of_ozone_forcing_data,number_of_coefficients_in_ozone_data) type = real kind = kind_phys [h2opl] diff --git a/ccpp/physics b/ccpp/physics index 72bd9bc3b..32cf7ba54 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 72bd9bc3bf310ac052b182a0d11e70ff9ed6f550 +Subproject commit 32cf7ba5484db1387e33c7f9d25de87079e9014c From 1f2eafd8eb5c1eaf51f98e4f978461e9a6abcc4e Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Wed, 1 Nov 2023 16:27:43 +0000 Subject: [PATCH 25/26] Missed changes needed to SDF. --- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml | 3 +-- ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml index e9cdb1c40..5b316a735 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml @@ -62,7 +62,6 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 @@ -89,7 +88,7 @@ GFS_stochastics - phys_tend + GFS_physics_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml index fef14b176..0d001fc45 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml @@ -61,7 +61,6 @@ ugwpv1_gsldrag_post GFS_GWD_generic_post GFS_suite_stateout_update - ozphys_2015 h2ophys get_phi_fv3 GFS_suite_interstitial_3 @@ -88,7 +87,7 @@ GFS_stochastics - phys_tend + GFS_physics_post From af844cb4451b0200aad23692f9b05c2a07321ef0 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 2 Nov 2023 13:07:41 +0000 Subject: [PATCH 26/26] revert submodules --- .gitmodules | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 3e82a8644..22c723ac1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/dustinswales/ccpp-physics - branch = feature_reorg_ozphys + url = https://github.com/ufs-community/ccpp-physics + branch = ufs/dev [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/physics b/ccpp/physics index 32cf7ba54..3855dccfe 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 32cf7ba5484db1387e33c7f9d25de87079e9014c +Subproject commit 3855dccfe68750b7681adc32de2c6cf2abe689d9