Skip to content

Commit

Permalink
Temporary commit: conditionally set zorlx variables to huge in GFS_su…
Browse files Browse the repository at this point in the history
…rface_composites_pre_run
  • Loading branch information
climbfuji committed Apr 2, 2021
1 parent f4cf862 commit edc9194
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 3 deletions.
24 changes: 21 additions & 3 deletions physics/GFS_surface_composites.F90
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ module GFS_surface_composites_pre

real(kind=kind_phys), parameter :: zero = 0.0_kind_phys, one = 1.0_kind_phys, epsln = 1.0e-10_kind_phys

real(kind=kind_phys), parameter :: huge = 9.9692099683868690E36 ! NetCDF float FillValue

contains

subroutine GFS_surface_composites_pre_init ()
Expand All @@ -32,7 +34,9 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
tsfc_lnd, tsfc_ice, tisfc, tice, tsurf, tsurf_wat, tsurf_lnd, tsurf_ice, &
gflx_ice, tgice, islmsk, islmsk_cice, slmsk, semis_rad, semis_wat, semis_lnd, semis_ice, &
qss, qss_wat, qss_lnd, qss_ice, hflx, hflx_wat, hflx_lnd, hflx_ice, &
min_lakeice, min_seaice, errmsg, errflg)
min_lakeice, min_seaice, &
zorlo, zorll, zorli, &
errmsg, errflg)

implicit none

Expand All @@ -57,7 +61,9 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
real(kind=kind_phys), dimension(im), intent(in ) :: semis_rad
real(kind=kind_phys), dimension(im), intent(inout) :: semis_wat, semis_lnd, semis_ice, slmsk
real(kind=kind_phys), intent(in ) :: min_lakeice, min_seaice

!
real(kind=kind_phys), dimension(im), intent(inout) :: zorlo, zorll, zorli
!
real(kind=kind_phys), parameter :: timin = 173.0_kind_phys ! minimum temperature allowed for snow/ice

! CCPP error handling
Expand Down Expand Up @@ -183,6 +189,10 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
semis_wat(i) = 0.984_kind_phys
qss_wat(i) = qss(i)
hflx_wat(i) = hflx(i)
! DH*
else
zorlo(i) = huge
! *DH
endif
if (dry(i)) then ! Land
uustar_lnd(i) = uustar(i)
Expand All @@ -193,6 +203,10 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
semis_lnd(i) = semis_rad(i)
qss_lnd(i) = qss(i)
hflx_lnd(i) = hflx(i)
! DH*
else
zorll(i) = huge
! *DH
end if
if (icy(i)) then ! Ice
uustar_ice(i) = uustar(i)
Expand All @@ -205,7 +219,11 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
semis_ice(i) = 0.95_kind_phys
qss_ice(i) = qss(i)
hflx_ice(i) = hflx(i)
endif
! DH*
else
zorli(i) = huge
! *DH
end if
if (nint(slmsk(i)) /= 1) slmsk(i) = islmsk(i)
enddo

Expand Down
27 changes: 27 additions & 0 deletions physics/GFS_surface_composites.meta
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,33 @@
kind = kind_phys
intent = in
optional = F
[zorlo]
standard_name = surface_roughness_length_over_ocean
long_name = surface roughness length over ocean
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[zorll]
standard_name = surface_roughness_length_over_land
long_name = surface roughness length over land
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[zorli]
standard_name = surface_roughness_length_over_ice
long_name = surface roughness length over ice
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down

0 comments on commit edc9194

Please sign in to comment.