Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove zorl interstitial variables #596

Merged
merged 8 commits into from
Apr 15, 2021
2 changes: 1 addition & 1 deletion physics/GFS_cloud_diagnostics.meta
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,4 @@
dimensions = ()
type = integer
intent = out
optional = F
optional = F
5 changes: 2 additions & 3 deletions physics/GFS_debug.F90
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,8 @@ subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling,
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorl' , Sfcprop%zorl)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorlo' , Sfcprop%zorlo)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorll' , Sfcprop%zorll)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorli' , Sfcprop%zorli)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zorlw' , Sfcprop%zorlw)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%fice' , Sfcprop%fice)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%hprime' , Sfcprop%hprime)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sncovr' , Sfcprop%sncovr)
Expand Down Expand Up @@ -1254,9 +1256,6 @@ subroutine GFS_interstitialtoscreen_run (Model, Statein, Stateout, Sfcprop, Coup
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%xlai1d ', Interstitial%xlai1d )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%xmu ', Interstitial%xmu )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%z01d ', Interstitial%z01d )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zorl_ice ', Interstitial%zorl_ice )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zorl_land ', Interstitial%zorl_land )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zorl_ocean ', Interstitial%zorl_ocean )
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%zt1d ', Interstitial%zt1d )
! UGWP
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Interstitial%tau_mtb ', Interstitial%tau_mtb )
Expand Down
2 changes: 1 addition & 1 deletion physics/GFS_rrtmgp_thompsonmp_pre.meta
Original file line number Diff line number Diff line change
Expand Up @@ -439,4 +439,4 @@
dimensions = ()
type = integer
intent = out
optional = F
optional = F
57 changes: 15 additions & 42 deletions physics/GFS_surface_composites.F90
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,8 @@ end subroutine GFS_surface_composites_pre_finalize
!! \htmlinclude GFS_surface_composites_pre_run.html
!!
subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx, cplwav2atm, &
landfrac, lakefrac, lakedepth, oceanfrac, frland, &
dry, icy, lake, ocean, wet, hice, cice, zorl, zorlo, zorll, zorli, zorl_wat, &
zorl_lnd, zorl_ice, snowd, snowd_wat, snowd_lnd, snowd_ice, tprcp, tprcp_wat, &
landfrac, lakefrac, lakedepth, oceanfrac, frland, dry, icy, lake, ocean, wet, &
hice, cice, snowd, snowd_wat, snowd_lnd, snowd_ice, tprcp, tprcp_wat, &
tprcp_lnd, tprcp_ice, uustar, uustar_wat, uustar_lnd, uustar_ice, &
weasd, weasd_wat, weasd_lnd, weasd_ice, ep1d_ice, tsfc, tsfco, tsfcl, tsfc_wat, &
tsfc_lnd, tsfc_ice, tisfc, tice, tsurf, tsurf_wat, tsurf_lnd, tsurf_ice, &
Expand All @@ -45,12 +44,12 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
real(kind=kind_phys), dimension(im), intent(in ) :: landfrac, lakefrac, lakedepth, oceanfrac
real(kind=kind_phys), dimension(im), intent(inout) :: cice, hice
real(kind=kind_phys), dimension(im), intent( out) :: frland
real(kind=kind_phys), dimension(im), intent(in ) :: zorl, snowd, tprcp, uustar, weasd, qss, hflx
real(kind=kind_phys), dimension(im), intent(in ) :: snowd, tprcp, uustar, weasd, qss, hflx

real(kind=kind_phys), dimension(im), intent(inout) :: zorlo, zorll, zorli, tsfc, tsfco, tsfcl, tisfc, tsurf
real(kind=kind_phys), dimension(im), intent(inout) :: tsfc, tsfco, tsfcl, tisfc, tsurf
real(kind=kind_phys), dimension(im), intent(inout) :: snowd_wat, snowd_lnd, snowd_ice, tprcp_wat, &
tprcp_lnd, tprcp_ice, zorl_wat, zorl_lnd, zorl_ice, tsfc_wat, tsfc_lnd, tsfc_ice, tsurf_wat, &
tsurf_lnd, tsurf_ice, uustar_wat, uustar_lnd, uustar_ice, weasd_wat, weasd_lnd, weasd_ice, &
tprcp_lnd, tprcp_ice, tsfc_wat, tsfc_lnd, tsfc_ice, tsurf_wat,tsurf_lnd, tsurf_ice, &
uustar_wat, uustar_lnd, uustar_ice, weasd_wat, weasd_lnd, weasd_ice, &
qss_wat, qss_lnd, qss_ice, hflx_wat, hflx_lnd, hflx_ice, ep1d_ice, gflx_ice
real(kind=kind_phys), dimension(im), intent( out) :: tice
real(kind=kind_phys), intent(in ) :: tgice
Expand Down Expand Up @@ -169,26 +168,12 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
enddo
endif

! if (.not. cplflx .or. .not. frac_grid) then
! if (cplwav2atm) then
! do i=1,im
! zorll(i) = zorl(i)
! enddo
! else
! do i=1,im
! zorll(i) = zorl(i)
! zorlo(i) = zorl(i)
! enddo
! endif
! endif

do i=1,im
tprcp_wat(i) = tprcp(i)
tprcp_lnd(i) = tprcp(i)
tprcp_ice(i) = tprcp(i)
if (wet(i)) then ! Water
uustar_wat(i) = uustar(i)
zorl_wat(i) = zorlo(i)
tsfc_wat(i) = tsfco(i)
tsurf_wat(i) = tsfco(i)
! weasd_wat(i) = weasd(i)
Expand All @@ -202,7 +187,6 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
if (dry(i)) then ! Land
uustar_lnd(i) = uustar(i)
weasd_lnd(i) = weasd(i)
zorl_lnd(i) = zorll(i)
tsfc_lnd(i) = tsfcl(i)
tsurf_lnd(i) = tsfcl(i)
snowd_lnd(i) = snowd(i)
Expand All @@ -213,7 +197,6 @@ subroutine GFS_surface_composites_pre_run (im, lkm, frac_grid, flag_cice, cplflx
if (icy(i)) then ! Ice
uustar_ice(i) = uustar(i)
weasd_ice(i) = weasd(i)
zorl_ice(i) = zorli(i)
tsfc_ice(i) = tisfc(i)
tsurf_ice(i) = tisfc(i)
snowd_ice(i) = snowd(i)
Expand Down Expand Up @@ -345,14 +328,12 @@ end subroutine GFS_surface_composites_post_init
subroutine GFS_surface_composites_post_finalize()
end subroutine GFS_surface_composites_post_finalize

#if 0
!> \section arg_table_GFS_surface_composites_post_run Argument Table
!! \htmlinclude GFS_surface_composites_post_run.html
!!
#endif
subroutine GFS_surface_composites_post_run ( &
im, kice, km, cplflx, cplwav2atm, frac_grid, flag_cice, islmsk, dry, wet, icy, landfrac, lakefrac, oceanfrac, &
zorl, zorlo, zorll, zorli, zorl_wat, zorl_lnd, zorl_ice, &
zorl, zorlo, zorll, zorli, &
cd, cd_wat, cd_lnd, cd_ice, cdq, cdq_wat, cdq_lnd, cdq_ice, rb, rb_wat, rb_lnd, rb_ice, stress, stress_wat, stress_lnd, &
stress_ice, ffmm, ffmm_wat, ffmm_lnd, ffmm_ice, ffhh, ffhh_wat, ffhh_lnd, ffhh_ice, uustar, uustar_wat, uustar_lnd, &
uustar_ice, fm10, fm10_wat, fm10_lnd, fm10_ice, fh2, fh2_wat, fh2_lnd, fh2_ice, tsurf, tsurf_wat, tsurf_lnd, tsurf_ice, &
Expand All @@ -368,7 +349,7 @@ subroutine GFS_surface_composites_post_run (
logical, dimension(im), intent(in) :: flag_cice, dry, wet, icy
integer, dimension(im), intent(in) :: islmsk
real(kind=kind_phys), dimension(im), intent(in) :: landfrac, lakefrac, oceanfrac, &
zorl_wat, zorl_lnd, zorl_ice, cd_wat, cd_lnd, cd_ice, cdq_wat, cdq_lnd, cdq_ice, rb_wat, rb_lnd, rb_ice, stress_wat, &
cd_wat, cd_lnd, cd_ice, cdq_wat, cdq_lnd, cdq_ice, rb_wat, rb_lnd, rb_ice, stress_wat, &
stress_lnd, stress_ice, ffmm_wat, ffmm_lnd, ffmm_ice, ffhh_wat, ffhh_lnd, ffhh_ice, uustar_wat, uustar_lnd, uustar_ice, &
fm10_wat, fm10_lnd, fm10_ice, fh2_wat, fh2_lnd, fh2_ice, tsurf_wat, tsurf_lnd, tsurf_ice, cmm_wat, cmm_lnd, cmm_ice, &
chh_wat, chh_lnd, chh_ice, gflx_wat, gflx_lnd, gflx_ice, ep1d_wat, ep1d_lnd, ep1d_ice, weasd_wat, weasd_lnd, weasd_ice, &
Expand Down Expand Up @@ -408,7 +389,7 @@ subroutine GFS_surface_composites_post_run (
txi = cice(i) * wfrac ! txi = ice fraction wrt whole cell
txo = max(zero, wfrac-txi) ! txo = open water fraction

zorl(i) = txl*zorl_lnd(i) + txi*zorl_ice(i) + txo*zorl_wat(i)
zorl(i) = txl*zorll(i) + txi*zorli(i) + txo*zorlo(i)
cd(i) = txl*cd_lnd(i) + txi*cd_ice(i) + txo*cd_wat(i)
cdq(i) = txl*cdq_lnd(i) + txi*cdq_ice(i) + txo*cdq_wat(i)
rb(i) = txl*rb_lnd(i) + txi*rb_ice(i) + txo*rb_wat(i)
Expand Down Expand Up @@ -443,10 +424,6 @@ subroutine GFS_surface_composites_post_run (
endif
tsfc(i) = txl*tsfc_lnd(i) + txi*tice(i) + txo*tsfc_wat(i)

zorll(i) = zorl_lnd(i)
zorli(i) = zorl_ice(i)
zorlo(i) = zorl_wat(i)

if (dry(i)) then
tsfcl(i) = tsfc_lnd(i) ! over land
elseif (wet(i)) then
Expand Down Expand Up @@ -496,7 +473,7 @@ subroutine GFS_surface_composites_post_run (

do i=1,im
if (islmsk(i) == 1) then
zorl(i) = zorl_lnd(i)
zorl(i) = zorll(i)
cd(i) = cd_lnd(i)
cdq(i) = cdq_lnd(i)
rb(i) = rb_lnd(i)
Expand Down Expand Up @@ -524,7 +501,7 @@ subroutine GFS_surface_composites_post_run (
hice(i) = zero
cice(i) = zero
elseif (islmsk(i) == 0) then
zorl(i) = zorl_wat(i)
zorl(i) = zorlo(i)
cd(i) = cd_wat(i)
cdq(i) = cdq_wat(i)
rb(i) = rb_wat(i)
Expand Down Expand Up @@ -552,7 +529,7 @@ subroutine GFS_surface_composites_post_run (
hice(i) = zero
cice(i) = zero
else ! islmsk(i) == 2
zorl(i) = zorl_ice(i)
zorl(i) = zorli(i)
cd(i) = cd_ice(i)
cdq(i) = cdq_ice(i)
rb(i) = rb_ice(i)
Expand All @@ -578,7 +555,7 @@ subroutine GFS_surface_composites_post_run (
tisfc(i) = tice(i)
if (.not. flag_cice(i)) then
! tisfc(i) = tice(i) ! over lake ice (and sea ice when uncoupled)
zorl(i) = cice(i) * zorl_ice(i) + (one - cice(i)) * zorl_wat(i)
zorl(i) = cice(i) * zorli(i) + (one - cice(i)) * zorlo(i)
tsfc(i) = tsfc_ice(i) ! over lake (and ocean when uncoupled)
elseif (wet(i)) then
if (cice(i) >= min_seaice) then ! this was already done for lake ice in sfc_sice
Expand All @@ -590,15 +567,15 @@ subroutine GFS_surface_composites_post_run (
stress(i) = txi * stress_ice(i) + txo * stress_wat(i)
qss(i) = txi * qss_ice(i) + txo * qss_wat(i)
ep1d(i) = txi * ep1d_ice(i) + txo * ep1d_wat(i)
zorl(i) = txi * zorl_ice(i) + txo * zorl_wat(i)
zorl(i) = txi * zorli(i) + txo * zorlo(i)
else
evap(i) = evap_wat(i)
hflx(i) = hflx_wat(i)
tsfc(i) = tsfc_wat(i)
stress(i) = stress_wat(i)
qss(i) = qss_wat(i)
ep1d(i) = ep1d_wat(i)
zorl(i) = zorl_wat(i)
zorl(i) = zorlo(i)
endif
endif
if (wet(i)) then
Expand All @@ -612,10 +589,6 @@ subroutine GFS_surface_composites_post_run (
end do
endif

zorll(i) = zorl_lnd(i)
zorlo(i) = zorl_wat(i)
zorli(i) = zorl_ice(i)

enddo

endif ! if (frac_grid)
Expand Down
90 changes: 0 additions & 90 deletions physics/GFS_surface_composites.meta
Original file line number Diff line number Diff line change
Expand Up @@ -158,69 +158,6 @@
kind = kind_phys
intent = inout
optional = F
[zorl]
standard_name = surface_roughness_length
long_name = surface roughness length
units = cm
dimensions = (horizontal_loop_extent)
type = real
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
[zorl_wat]
standard_name = surface_roughness_length_over_ocean_interstitial
long_name = surface roughness length over ocean (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[zorl_lnd]
standard_name = surface_roughness_length_over_land_interstitial
long_name = surface roughness length over land (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[zorl_ice]
standard_name = surface_roughness_length_over_ice_interstitial
long_name = surface roughness length over ice (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = inout
optional = F
[snowd]
standard_name = surface_snow_thickness_water_equivalent
long_name = water equivalent snow depth
Expand Down Expand Up @@ -980,33 +917,6 @@
kind = kind_phys
intent = inout
optional = F
[zorl_wat]
standard_name = surface_roughness_length_over_ocean_interstitial
long_name = surface roughness length over ocean (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = in
optional = F
[zorl_lnd]
standard_name = surface_roughness_length_over_land_interstitial
long_name = surface roughness length over land (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = in
optional = F
[zorl_ice]
standard_name = surface_roughness_length_over_ice_interstitial
long_name = surface roughness length over ice (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
intent = in
optional = F
[cd]
standard_name = surface_drag_coefficient_for_momentum_in_air
long_name = surface exchange coeff for momentum
Expand Down
6 changes: 3 additions & 3 deletions physics/gfdl_sfc_layer.meta
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@
intent = inout
optional = F
[znt_ocn]
standard_name = surface_roughness_length_over_ocean_interstitial
standard_name = surface_roughness_length_over_ocean
long_name = surface roughness length over ocean (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand All @@ -543,7 +543,7 @@
intent = inout
optional = F
[znt_lnd]
standard_name = surface_roughness_length_over_land_interstitial
standard_name = surface_roughness_length_over_land
long_name = surface roughness length over land (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand All @@ -552,7 +552,7 @@
intent = inout
optional = F
[znt_ice]
standard_name = surface_roughness_length_over_ice_interstitial
standard_name = surface_roughness_length_over_ice
long_name = surface roughness length over ice (temporary use as interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand Down
2 changes: 1 addition & 1 deletion physics/h2o_def.meta
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
dimensions = (vertical_dimension_of_h2o_forcing_data)
type = real
kind = kind_phys
active = (flag_for_stratospheric_water_vapor_physics)
active = (flag_for_stratospheric_water_vapor_physics)
6 changes: 3 additions & 3 deletions physics/module_MYJSFC_wrapper.meta
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@
intent = inout
optional = F
[z0rl_wat]
standard_name = surface_roughness_length_over_ocean_interstitial
standard_name = surface_roughness_length_over_ocean
long_name = surface roughness length over ocean (interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand All @@ -481,7 +481,7 @@
intent = inout
optional = F
[z0rl_lnd]
standard_name = surface_roughness_length_over_land_interstitial
standard_name = surface_roughness_length_over_land
long_name = surface roughness length over land (interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand All @@ -490,7 +490,7 @@
intent = inout
optional = F
[z0rl_ice]
standard_name = surface_roughness_length_over_ice_interstitial
standard_name = surface_roughness_length_over_ice
long_name = surface roughness length over ice (interstitial)
units = cm
dimensions = (horizontal_loop_extent)
Expand Down
Loading