Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
b7b0611
Removing phys_con module, qamin variable transfered
scrasmussen Apr 7, 2025
da437a1
Removing phys_con module
scrasmussen Apr 7, 2025
e5c4f42
Remove reference to phys_cons module
scrasmussen Apr 7, 2025
69fbb16
Chikira_Sugiyama: removing physcons module, variables transferred: co…
scrasmussen Apr 7, 2025
fec6062
removing physcons module, adding con_t0c variable to meta
scrasmussen Apr 11, 2025
9cbad0c
Removing physcon module from lsm ruc: rhowater, con_t0c, con_hfus, co…
scrasmussen Apr 22, 2025
97d8697
Removing physcon module from MP GFDL: con_rd, con_rv, con_g, con_hvap…
scrasmussen Apr 23, 2025
00f4af1
Removing physcon module from SFC_Layer/MYNN: con_cp, con_g, con_rd, c…
scrasmussen Apr 23, 2025
28770e1
Removing physcon module from MP/Morrison_Gettelman: con_g, con_rd, co…
scrasmussen Apr 23, 2025
8d72262
Removing physcon module from CONF/nTiedtke: con_rd, con_rv, con_g, co…
scrasmussen May 7, 2025
dd1a40c
Removing physcons.F90 from dependency list
scrasmussen May 7, 2025
0b97a9a
Removing physcon module from PBL/HEDMF: con_g, con_cp, con_hvap, con_…
scrasmussen May 7, 2025
75ef042
Removing physcon module from SFC_Layer/UFS: con_t0c variable transferred
scrasmussen May 7, 2025
f0096ea
Removing physcon module from SFC_Layer/MYNN: con_g, con_cp variables …
scrasmussen May 7, 2025
faa2a82
Changes to build without physcon module
scrasmussen May 7, 2025
6f4a7c6
Removing physcons, compilation fix
scrasmussen May 7, 2025
1abe05e
Removing physcons
scrasmussen May 7, 2025
b2703e6
Removing physcons, compilation fix
scrasmussen May 7, 2025
364f0fa
Radiation/RRTMG physcon removal fixes
scrasmussen May 8, 2025
e595f87
Passing in constants by CCPP name to be clearer when compiler fail to…
scrasmussen May 8, 2025
ac6ba56
PBL/SATMEDMF physcons removal fixes
scrasmussen May 8, 2025
a1df591
PBL physcon removal build fixes
scrasmussen May 8, 2025
bd3d1ab
PBL/SATMEDMF physcon removal build fix
scrasmussen May 8, 2025
4d3d16d
SFC_Layer/UFS removing physcons
scrasmussen May 8, 2025
235edc3
SFC_Models/Land/Noah removing physcons module
scrasmussen May 8, 2025
4ff574c
PBL removing physcons module
scrasmussen May 8, 2025
0efd09d
PBL/HEDMF removing physcons module, compilation fix
scrasmussen May 8, 2025
0a5ddf2
PBL/SATMEDMF removing physcons module
scrasmussen May 8, 2025
d893d10
Removing physcons cleanup
scrasmussen May 8, 2025
50f7297
MP physics module removal
scrasmussen May 8, 2025
c462c20
MP/GFDL physcons module cleanup
scrasmussen May 8, 2025
3fcecdd
Interstitials/UFS_SCM_NEPTUNE physcons module removal
scrasmussen May 8, 2025
55f5d0a
physcons module cleanup
scrasmussen May 8, 2025
28a9d57
Adding calls to funcphys_init to make sure constants/variables are in…
scrasmussen Jun 17, 2025
c2d74cd
Need to initialize the ugwp_common_v0 variables before they get used
scrasmussen Jun 17, 2025
ac5235a
cleanup
scrasmussen Jun 18, 2025
0db56a2
Getting pi as an argument
scrasmussen Jun 18, 2025
5cc73ab
physcons removal fix, bringing cpair in as an argument
scrasmussen Jun 18, 2025
eed89c4
Removing physcons.F90 to better follow CCPP rules
scrasmussen Jun 18, 2025
6f6869a
Physcons module removalin Radiation/RRTMG
scrasmussen Jun 18, 2025
2e7ed84
Physcons removal, documentation and comments cleanup
scrasmussen Jun 18, 2025
42d7574
compilation fix
scrasmussen Jun 18, 2025
6bc69f6
Fix from bugfix/arm_WoFS branch
scrasmussen Aug 7, 2025
86a48e8
bugfix: fixing order of routine arguments
scrasmussen Aug 7, 2025
37cd4f1
bugfix: undefined variable
scrasmussen Aug 21, 2025
8c4001a
rebase fix
scrasmussen Jan 13, 2026
0568313
Physcons removal in MP/GFDL/v3_2022
scrasmussen Jan 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ physics/SFC_Models/Ocean/UFS/sfc_ocean.* @He
physics/SFC_Models/SeaIce/CICE/sfc_cice.* @wd20xw @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/SFC_Models/SeaIce/CICE/sfc_sice.* @wd20xw @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/hooks/machine.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/hooks/physcons.F90 @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/photochem/module_h2ophys.* @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/photochem/module_ozphys.* @dustinswales @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/smoke_dust/* @haiqinli @grantfirl @rhaesung @Qingfu-Liu @dustinswales
Expand All @@ -149,7 +148,7 @@ physics/Interstitials/UFS_SCM_NEPTUNE/GFS_PBL_generic_pre.*
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_phys_time_vary.scm.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_physics_post.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.* @grantfirl @rhaesung @Qingfu-Liu @dustinswales
physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.* @dustinswales @Qingfu-Liu @grantfirl @rhaesung @Qingfu-Liu @dustinswales
Expand Down
1 change: 0 additions & 1 deletion physics/CONV/C3/cu_c3_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
module cu_c3_driver

! DH* TODO: replace constants with arguments to cu_c3_driver_run
!use physcons , g => con_g, cp => con_cp, xlv => con_hvap, r_v => con_rv
use machine , only: kind_phys
use cu_c3_deep, only: cu_c3_deep_run,neg_check,fct1d3
use cu_c3_sh , only: cu_c3_sh_run
Expand Down
317 changes: 193 additions & 124 deletions physics/CONV/Chikira_Sugiyama/cs_conv.F90

Large diffs are not rendered by default.

98 changes: 97 additions & 1 deletion physics/CONV/Chikira_Sugiyama/cs_conv.meta
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
[ccpp-table-properties]
name = cs_conv
type = scheme
dependencies = ../../tools/funcphys.f90,../../hooks/machine.F,../../hooks/physcons.F90
dependencies = ../../tools/funcphys.f90,../../hooks/machine.F

########################################################################
[ccpp-arg-table]
Expand Down Expand Up @@ -401,6 +401,102 @@
dimensions = ()
type = integer
intent = in
[cp]
standard_name = specific_heat_of_dry_air_at_constant_pressure
long_name = specific heat of dry air at constant pressure
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[grav]
standard_name = gravitational_acceleration
long_name = gravitational acceleration
units = m s-2
dimensions = ()
type = real
kind = kind_phys
intent = in
[rair]
standard_name = gas_constant_of_dry_air
long_name = ideal gas constant for dry air
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[rvap]
standard_name = gas_constant_water_vapor
long_name = ideal gas constant for water vapor
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[cliq]
standard_name = specific_heat_of_liquid_water_at_constant_pressure
long_name = specific heat of liquid water at constant pressure
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[cvap]
standard_name = specific_heat_of_water_vapor_at_constant_pressure
long_name = specific heat of water vapor at constant pressure
units = J kg-1 K-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[epsv]
standard_name = ratio_of_dry_air_to_water_vapor_gas_constants
long_name = rd/rv
units = none
dimensions = ()
type = real
kind = kind_phys
intent = in
[epsvm1]
standard_name = ratio_of_dry_air_to_water_vapor_gas_constants_minus_one
long_name = (rd/rv) - 1
units = none
dimensions = ()
type = real
kind = kind_phys
intent = in
[epsvt]
standard_name = ratio_of_vapor_to_dry_air_gas_constants_minus_one
long_name = (rv/rd) - 1 (rv = ideal gas constant for water vapor)
units = none
dimensions = ()
type = real
kind = kind_phys
intent = in
[el]
standard_name = latent_heat_of_vaporization_of_water_at_0C
long_name = latent heat of evaporation/sublimation
units = J kg-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[emelt]
standard_name = latent_heat_of_fusion_of_water_at_0C
long_name = latent heat of fusion
units = J kg-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[t0c]
standard_name = temperature_at_zero_celsius
long_name = temperature at 0 degrees Celsius
units = K
dimensions = ()
type = real
kind = kind_phys
intent = in
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down
5 changes: 3 additions & 2 deletions physics/CONV/Grell_Freitas/cu_gf_deep.F90
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
!> This module contains the Grell_Freitas deep convection scheme
module cu_gf_deep
use machine , only : kind_phys
use physcons, only : qamin
real(kind=kind_phys), parameter::g=9.81
real(kind=kind_phys), parameter:: cp=1004.
real(kind=kind_phys), parameter:: xlv=2.5e6
Expand Down Expand Up @@ -143,7 +142,8 @@ subroutine cu_gf_deep_run( &
!! betwee -1 and +1
,do_capsuppress,cap_suppress_j & !
,k22 & !
,jmin,kdt,mc_thresh) !
,jmin,kdt,mc_thresh &
,qamin)

implicit none

Expand Down Expand Up @@ -192,6 +192,7 @@ subroutine cu_gf_deep_run( &
,intent (in ) :: &
kpbl
!$acc declare copyin(kpbl)
real(kind_phys), intent(in) :: qamin
!
! basic environmental input includes moisture convergence (mconv)
! omega (omeg), windspeed (us,vs), and a flag (ierr) to turn off
Expand Down
21 changes: 12 additions & 9 deletions physics/CONV/Grell_Freitas/cu_gf_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
module cu_gf_driver

! DH* TODO: replace constants with arguments to cu_gf_driver_run
!use physcons , g => con_g, cp => con_cp, xlv => con_hvap, r_v => con_rv
use machine , only: kind_phys
use cu_gf_deep, only: cu_gf_deep_run,neg_check,fct1d3
use cu_gf_sh , only: cu_gf_sh_run
Expand Down Expand Up @@ -68,7 +67,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
dfi_radar_max_intervals,ldiag3d,qci_conv,do_cap_suppress, &
maxupmf,maxMF,do_mynnedmf,ichoice_in,ichoicem_in,ichoice_s_in, &
spp_cu_deep,spp_wts_cu_deep,nchem,chem3d,fscav,wetdpc_deep, &
do_smoke_transport,kdt,errmsg,errflg)
do_smoke_transport,kdt,qamin,errmsg,errflg)
!-------------------------------------------------------------
implicit none
integer, parameter :: maxiens=1
Expand Down Expand Up @@ -164,6 +163,8 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
real(kind_phys), dimension(:,:), intent(inout), optional :: wetdpc_deep
!$acc declare copy(cactiv,cactiv_m,chem3d,wetdpc_deep)

real(kind_phys), intent(in) :: qamin

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

Expand Down Expand Up @@ -331,11 +332,11 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
rand_mom(:) = 0.
rand_vmas(:) = 0.
rand_clos(:,:) = 0.
else
else
do i=1,im
spp_wts_cu_deep_tmp=min(max(-1.0_kind_phys, spp_wts_cu_deep(i,1)),1.0_kind_phys)
rand_mom(i) = spp_wts_cu_deep_tmp
rand_vmas(i) = spp_wts_cu_deep_tmp
rand_mom(i) = spp_wts_cu_deep_tmp
rand_vmas(i) = spp_wts_cu_deep_tmp
rand_clos(i,:) = spp_wts_cu_deep_tmp
end do
end if
Expand All @@ -351,7 +352,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
kte=km
ktf=kte-1
!$acc kernels
!
!
tropics(:)=0
!
!> - Set tuning constants for radiation coupling
Expand Down Expand Up @@ -494,7 +495,7 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
!$acc end kernels
ierrc(:)=" "
!$acc kernels


kbcon(:)=0
kbcons(:)=0
Expand Down Expand Up @@ -771,7 +772,8 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
! betwee -1 and +1
,do_cap_suppress_here,cap_suppress_j &
,k22m &
,jminm,kdt,mc_thresh)
,jminm,kdt,mc_thresh &
,qamin)
!$acc kernels
do i=its,itf
do k=kts,ktf
Expand Down Expand Up @@ -857,7 +859,8 @@ subroutine cu_gf_driver_run(ntracer,garea,im,km,dt,flag_init,flag_restart, gf_co
! betwee -1 and +1
,do_cap_suppress_here,cap_suppress_j &
,k22 &
,jmin,kdt,mc_thresh)
,jmin,kdt,mc_thresh &
,qamin)
jpr=0
ipr=0
!$acc kernels
Expand Down
8 changes: 8 additions & 0 deletions physics/CONV/Grell_Freitas/cu_gf_driver.meta
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,14 @@
dimensions = ()
type = integer
intent = in
[qamin]
standard_name = minimum_aerosol_concentration
long_name = Minimum aerosol mass mixing ratio
units = kg kg-1
dimensions = ()
type = real
kind = kind_phys
intent = in
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down
13 changes: 8 additions & 5 deletions physics/CONV/SAMF/samfaerosols.F
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ module samfcnv_aerosols
subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt,
& xlamde, xlamdd, cnvflg, jmin, kb, kmax, kd94, ktcon, fscav,
& edto, xlamd, xmb, c0t, eta, etad, zi, xlamue, xlamud, delp,
& qtr, qaero)
& qtr, qaero, g, qamin)

use machine , only : kind_phys
use physcons, only : g => con_g, qamin

implicit none

Expand All @@ -35,6 +34,8 @@ subroutine samfdeepcnv_aerosols(im, ix, km, itc, ntc, ntr, delt,
& eta, etad, zi, xlamue, xlamud
real(kind=kind_phys), dimension(ix,km), intent(in) :: delp
real(kind=kind_phys), dimension(ix,km,ntr+2), intent(in) :: qtr
real(kind=kind_phys), intent(in) :: g
real(kind=kind_phys), intent(in) :: qamin
c -- output arguments
real(kind=kind_phys), dimension(im,km,ntc), intent(out) :: qaero

Expand Down Expand Up @@ -412,10 +413,9 @@ end subroutine samfdeepcnv_aerosols
subroutine samfshalcnv_aerosols(im, ix, km, itc, ntc, ntr, delt,
& cnvflg, kb, kmax, kbcon, ktcon, fscav,
& xmb, c0t, eta, zi, xlamue, xlamud, delp,
& qtr, qaero)
& qtr, qaero, con_g, qamin)

use machine , only : kind_phys
use physcons, only : g => con_g, qamin

implicit none

Expand All @@ -435,6 +435,8 @@ subroutine samfshalcnv_aerosols(im, ix, km, itc, ntc, ntr, delt,
& eta, zi, xlamue !, xlamud
real(kind=kind_phys), dimension(ix,km), intent(in) :: delp
real(kind=kind_phys), dimension(ix,km,ntr+2), intent(in) :: qtr
real(kind=kind_phys), intent(in) :: con_g
real(kind=kind_phys), intent(in) :: qamin
c -- output arguments
real(kind=kind_phys), dimension(im,km,ntc), intent(out) :: qaero

Expand Down Expand Up @@ -463,9 +465,10 @@ subroutine samfshalcnv_aerosols(im, ix, km, itc, ntc, ntr, delt,
real(kind=kind_phys), parameter :: zero = 0.0_kind_phys
real(kind=kind_phys), parameter :: epsil = 1.e-22_kind_phys ! prevent division by zero
real(kind=kind_phys), parameter :: escav = 0.8_kind_phys ! wet scavenging efficiency
real(kind=kind_phys) :: g

c -- begin

g = con_g
c -- check if aerosols are present
if ( ntc <= 0 .or. itc <= 0 .or. ntr <= 0 ) return
if ( ntr < itc + ntc - 3 ) return
Expand Down
Loading