Skip to content

Commit

Permalink
Merge pull request #433 from grantfirl/ufs-dev-PR155
Browse files Browse the repository at this point in the history
UFS-dev PR#155
  • Loading branch information
grantfirl authored Mar 28, 2024
2 parents 1a8c988 + e161920 commit 3489c6a
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
branch = main
[submodule "ccpp-physics"]
path = ccpp/physics
url = https://github.com/NCAR/ccpp-physics
url = https://github.com/NCAR/ccpp-physics
branch = main
[submodule "CMakeModules"]
path = CMakeModules
Expand Down
17 changes: 16 additions & 1 deletion scm/src/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,8 @@ module GFS_typedefs
real (kind=kind_phys), pointer :: soiltype_frac(:,:) => null() !< fractions [0:1] of soil categories
!< [tsea in gbphys.f]
real (kind=kind_phys), pointer :: tsfco (:) => null() !< sst in K
real (kind=kind_phys), pointer :: usfco (:) => null() !< surface zonal current in m s-1
real (kind=kind_phys), pointer :: vsfco (:) => null() !< surface meridional current in m s-1
real (kind=kind_phys), pointer :: tsfcl (:) => null() !< surface land temperature in K
real (kind=kind_phys), pointer :: tisfc (:) => null() !< surface temperature over ice fraction
real (kind=kind_phys), pointer :: tiice(:,:) => null() !< internal ice temperature
Expand Down Expand Up @@ -1309,6 +1311,10 @@ module GFS_typedefs
!< 0=no change
!< 6=areodynamical roughness over water with input 10-m wind
!< 7=slightly decrease Cd for higher wind speed compare to 6
!--- air_sea_flux scheme
integer :: icplocn2atm !< air_sea flux options over ocean:
!< 0=no change
!< l=including ocean current in the computation of air_sea fluxes

!--- potential temperature definition in surface layer physics
logical :: thsfc_loc !< flag for local vs. standard potential temperature
Expand Down Expand Up @@ -2310,6 +2316,8 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
endif

allocate (Sfcprop%tsfc (IM))
allocate (Sfcprop%usfco (IM))
allocate (Sfcprop%vsfco (IM))
allocate (Sfcprop%tsfco (IM))
allocate (Sfcprop%tsfcl (IM))
allocate (Sfcprop%tisfc (IM))
Expand Down Expand Up @@ -2367,6 +2375,8 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
endif

Sfcprop%tsfc = clear_val
Sfcprop%usfco = clear_val
Sfcprop%vsfco = clear_val
Sfcprop%tsfco = clear_val
Sfcprop%tsfcl = clear_val
Sfcprop%tisfc = clear_val
Expand Down Expand Up @@ -3807,6 +3817,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
!< 6=areodynamical roughness over water with input 10-m wind
!< 7=slightly decrease Cd for higher wind speed compare to 6
!< negative when cplwav2atm=.true. - i.e. two way wave coupling
integer :: icplocn2atm = 0 !< air_sea_flux options over ocean
!< 0=ocean current is not used in the computation of air_sea fluxes
!< 1=including ocean current in the computation of air_sea fluxes

!--- potential temperature definition in surface layer physics
logical :: thsfc_loc = .true. !< flag for local vs. standard potential temperature
Expand Down Expand Up @@ -4079,7 +4092,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
frac_grid, min_lakeice, min_seaice, min_lake_height, &
ignore_lake, frac_ice, &
!--- surface layer
sfc_z0_type, &
sfc_z0_type, icplocn2atm, &
!--- switch beteeen local and standard potential temperature
thsfc_loc, &
!--- switches in 2-m diagnostics
Expand Down Expand Up @@ -5055,6 +5068,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
!--- surface layer
Model%sfc_z0_type = sfc_z0_type
if (Model%cplwav2atm) Model%sfc_z0_type = -1
Model%icplocn2atm = icplocn2atm

!--- potential temperature reference in sfc layer
Model%thsfc_loc = thsfc_loc
Expand Down Expand Up @@ -6880,6 +6894,7 @@ subroutine control_print(Model)
print *, ' '
print *, 'surface layer options'
print *, ' sfc_z0_type : ', Model%sfc_z0_type
print *, ' icplocn2atm : ', Model%icplocn2atm
print *, ' '
print *, 'vertical diffusion coefficients'
print *, ' xkzm_m : ', Model%xkzm_m
Expand Down
20 changes: 20 additions & 0 deletions scm/src/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -805,6 +805,20 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[usfco]
standard_name = x_ocean_current
long_name = zonal current at ocean surface
units = m s-1
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[vsfco]
standard_name = y_ocean_current
long_name = meridional current at ocean surface
units = m s-1
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[tsfcl]
standard_name = surface_skin_temperature_over_land
long_name = surface skin temperature over land
Expand Down Expand Up @@ -5869,6 +5883,12 @@
units = flag
dimensions = ()
type = integer
[icplocn2atm]
standard_name = control_for_air_sea_flux_computation_over_water
long_name = air-sea flux option
units = 1
dimensions = ()
type = integer
[xkzminv]
standard_name = max_atmosphere_heat_diffusivity_due_to_background
long_name = maximum background value of heat diffusivity
Expand Down

0 comments on commit 3489c6a

Please sign in to comment.