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

Update dtc/develop from master 2020/06/06 #458

Merged
Changes from 2 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
5ca808e
initialize HWRF sasas scheme using preprocessor directives controlled
mzhangw Dec 13, 2019
bff2547
add preprocessor directives for HWRF in samfshalcnv
mzhangw Dec 14, 2019
a4ac852
fix bugs to pass compilation
mzhangw Dec 18, 2019
beb3a33
delete HWRF ensemble capability
mzhangw Dec 18, 2019
c825f5f
remove if outside of loop per Doms suggestion
mzhangw Dec 20, 2019
029f448
bug fix
mzhangw Dec 26, 2019
178ce50
Merge branch 'man_hafs_sas_without_updates_of_dtc_develop_029f4489d4f…
climbfuji Apr 1, 2020
bccf301
physics/samfdeepcnv.f: bugfix, ca_deep only allocated when do_ca is .…
climbfuji Apr 1, 2020
71eace1
physics/samfshalcnv.f: bugfix, move assignment inside if block as in …
climbfuji Apr 3, 2020
b61ea19
physics/GFS_debug.F90: add capability to debug 1-d logical arrays
climbfuji Apr 6, 2020
5b5b663
Initializing ice fluxes by PBL calculated values when fluxes from CIC…
ShanSunNOAA Apr 8, 2020
c7c922f
Merge pull request #436 from climbfuji/update_master_from_dtc_develop…
climbfuji Apr 17, 2020
0472bef
add chsp changes from Jongil Han
junwang-noaa Apr 18, 2020
0e0c20e
fix ustar
junwang-noaa Apr 20, 2020
69d3298
fix syntax error in ccpp
junwang-noaa Apr 20, 2020
a66d980
Remove CCPP dynamic build from physics
climbfuji Apr 20, 2020
fc840f4
update sflx.f
junwang-noaa Apr 21, 2020
8c47bbf
Add missing code updates from IPD GFS_physics_driver.F90 to CCPP
climbfuji Apr 21, 2020
a757ef7
Merge pull request #2 from climbfuji/chsp_latlon_post_dom_ccpp_mods
junwang-noaa Apr 22, 2020
20d7e9d
Merge pull request #439 from climbfuji/remove_ccpp_dynamic_build
climbfuji Apr 23, 2020
a6e95db
Changing "_ocn"to "_wat" so the variable can be used for lake as well.
ShanSunNOAA Apr 23, 2020
424d7b6
Introducing tiice(:,;,2) as the 2-layer internal ice temperature
ShanSunNOAA Apr 24, 2020
8acb0a7
Merge remote-tracking branch 'upstream/master' into chsp_latlon_post
junwang-noaa Apr 24, 2020
f08797d
Introduce internal ice temperature. It is output only in the fracrtio…
ShanSunNOAA Apr 24, 2020
f57b5c3
add tsfcl change for CCPP
junwang-noaa Apr 24, 2020
366404d
fix synrax error
junwang-noaa Apr 25, 2020
f22b39c
Updating tiice in gcycle.F90
ShanSunNOAA Apr 26, 2020
4944892
Merge pull request #440 from junwang-noaa/chsp_latlon_post
climbfuji Apr 28, 2020
25a72ec
Ca develop (#418)
lisa-bengtsson May 4, 2020
379c2f3
scientific documentation update for UFS public release, add two addit…
mzhangw Feb 27, 2020
f48b283
add two new suites: GFSv15p2_no_nsst and GFSv16beta_no_nsst and GFS o…
mzhangw Mar 2, 2020
e63c34f
CCPP V4.0 scidoc update (#402)
mzhangw Mar 2, 2020
ab540e5
add no_nsst suites in all_schemes page per ligia email
mzhangw Mar 9, 2020
01a91cb
update ocean scheme description per Ligias request
mzhangw Mar 27, 2020
5a254ff
fix doxygen compile warnings
mzhangw Mar 27, 2020
e990919
fix m_micro prebuild error
mzhangw Mar 27, 2020
cec1ad9
fix doc of m_micro
mzhangw Mar 27, 2020
540035a
Update physics/docs/pdftxt/mainpage.txt
mzhangw Mar 30, 2020
7dea01c
minor fix
mzhangw Mar 30, 2020
c494cc7
Update version from 3.0.0 to 4.0.0
climbfuji May 6, 2020
5229075
Fix merge conflicts and apply missing updates for scientific document…
climbfuji May 6, 2020
6c1eec4
Remove dcyc2t3_post from physics/dcyc2.meta and scientific documentation
climbfuji May 6, 2020
e340e62
physics/m_micro.F90: correct syntax for \htmlinclude statement
climbfuji May 11, 2020
7b1e66c
Merge pull request #448 from climbfuji/bugfixes_from_public_release
climbfuji May 11, 2020
8f1169b
physics/gfdl_fv_sat_adj.F90: add compatibility check for six water sp…
climbfuji May 11, 2020
dd70b55
Add GitHub workflow for basic checks, add tool to check for ASCII enc…
climbfuji May 11, 2020
91a0dd9
Fix non-ascii encoding in a bunch of files (all comments)
climbfuji May 11, 2020
2fb92e8
Remove comments from .github/workflows/basic_checks.yml
climbfuji May 12, 2020
4f73869
Remove debug print statements from tools/check_encoding.py
climbfuji May 12, 2020
66376d5
Merge pull request #451 from climbfuji/travis-encoding-check_and_satu…
climbfuji May 12, 2020
9c6350f
Merge commit '5b5b663d2bd59942a711551f34e3c9c28c475909' into iceflx_t…
ShanSunNOAA May 20, 2020
df9053b
Merge commit 'f22b39c7dcfd582c9b610857a88942a4627e1d92' into iceflx_t…
ShanSunNOAA May 20, 2020
c2fbbbe
Adding tiice to RUC LSM.
ShanSunNOAA May 22, 2020
e913eed
Merge pull request #454 from shansun6/iceflx_ttice_20200520
climbfuji May 27, 2020
388999d
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into ma…
climbfuji Jun 3, 2020
ba106f7
fix unitialized parameters in samfdeepcnv
mzhangw Apr 30, 2020
42aa6e4
Bugfixes, and formatting changes in physics/samfdeepcnv.f
climbfuji Jun 3, 2020
4fcdf2f
Update of samfdeepcnv.f based on code review
climbfuji Jun 3, 2020
6a6dd2c
Merge pull request #423 from climbfuji/man_hafs_sas_for_master
climbfuji Jun 4, 2020
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
66 changes: 57 additions & 9 deletions physics/GFS_PBL_generic.F90
Original file line number Diff line number Diff line change
@@ -84,7 +84,8 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef, trans_aero, ntchs, ntchm, &
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, &
imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires, cplchm, ltaerosol, &
hybedmf, do_shoc, satmedmf, qgrs, vdftra, errmsg, errflg)
hybedmf, do_shoc, satmedmf, qgrs, vdftra, lheatstrg, z0fac, e0fac, zorl, &
u10m, v10m, hflx, evap, hflxq, evapq, hffac, hefac, errmsg, errflg)

use machine, only : kind_phys
use GFS_PBL_generic_common, only : set_aerosol_tracer_index
@@ -102,11 +103,25 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
real(kind=kind_phys), dimension(im, levs, ntrac), intent(in) :: qgrs
real(kind=kind_phys), dimension(im, levs, nvdiff), intent(inout) :: vdftra

! For canopy heat storage
logical, intent(in) :: lheatstrg
real(kind=kind_phys), intent(in) :: z0fac, e0fac
real(kind=kind_phys), dimension(im), intent(in) :: zorl, u10m, v10m
real(kind=kind_phys), dimension(im), intent(in) :: hflx, evap
real(kind=kind_phys), dimension(im), intent(out) :: hflxq, evapq
real(kind=kind_phys), dimension(im), intent(out) :: hffac, hefac

! CCPP error handling variables
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

!local variables
! Parameters for canopy heat storage parametrization
real (kind=kind_phys), parameter :: z0min=0.2, z0max=1.0
real (kind=kind_phys), parameter :: u10min=2.5, u10max=7.5

! Local variables
integer :: i, k, kk, k1, n
real(kind=kind_phys) :: tem, tem1, tem2

! Initialize CCPP error handling variables
errmsg = ''
@@ -258,6 +273,35 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
!
endif

! --- ... Boundary Layer and Free atmospheic turbulence parameterization
!
! in order to achieve heat storage within canopy layer, in the canopy heat
! storage parameterization the kinematic sensible and latent heat fluxes
! (hflx & evap) as surface boundary forcings to the pbl scheme are
! reduced as a function of surface roughness
!
do i=1,im
hflxq(i) = hflx(i)
evapq(i) = evap(i)
hffac(i) = 1.0
hefac(i) = 1.0
enddo
if (lheatstrg) then
do i=1,im
tem = 0.01 * zorl(i) ! change unit from cm to m
tem1 = (tem - z0min) / (z0max - z0min)
hffac(i) = z0fac * min(max(tem1, 0.0), 1.0)
tem = sqrt(u10m(i)**2+v10m(i)**2)
tem1 = (tem - u10min) / (u10max - u10min)
tem2 = 1.0 - min(max(tem1, 0.0), 1.0)
hffac(i) = tem2 * hffac(i)
hefac(i) = 1. + e0fac * hffac(i)
hffac(i) = 1. + hffac(i)
hflxq(i) = hflx(i) / hffac(i)
evapq(i) = evap(i) / hefac(i)
enddo
endif

end subroutine GFS_PBL_generic_pre_run

end module GFS_PBL_generic_pre
@@ -287,7 +331,8 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
dqsfc_cpl, dusfci_cpl, dvsfci_cpl, dtsfci_cpl, dqsfci_cpl, dusfc_diag, dvsfc_diag, dtsfc_diag, dqsfc_diag, &
dusfci_diag, dvsfci_diag, dtsfci_diag, dqsfci_diag, dt3dt, du3dt_PBL, du3dt_OGWD, dv3dt_PBL, dv3dt_OGWD, dq3dt, &
dq3dt_ozone, rd, cp,fvirt, hvap, t1, q1, prsl, hflx, ushfsfci, oceanfrac, fice, dusfc_cice, dvsfc_cice, dtsfc_cice, &
dqsfc_cice, wet, dry, icy, wind, stress_ocn, hflx_ocn, evap_ocn, ugrs1, vgrs1, dkt_cpl, dkt, errmsg, errflg)
dqsfc_cice, wet, dry, icy, wind, stress_ocn, hflx_ocn, evap_ocn, ugrs1, vgrs1, dkt_cpl, dkt, hffac, hefac, &
errmsg, errflg)

use machine, only : kind_phys
use GFS_PBL_generic_common, only : set_aerosol_tracer_index
@@ -328,6 +373,9 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
real(kind=kind_phys), dimension(:,:), intent(inout) :: dkt_cpl
real(kind=kind_phys), dimension(:,:), intent(in) :: dkt

! From canopy heat storage - reduction factors in latent/sensible heat flux due to surface roughness
real(kind=kind_phys), dimension(im), intent(in) :: hffac, hefac

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

@@ -523,8 +571,8 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
else ! use results from PBL scheme for 100% open ocean
dusfci_cpl(i) = dusfc1(i)
dvsfci_cpl(i) = dvsfc1(i)
dtsfci_cpl(i) = dtsfc1(i)
dqsfci_cpl(i) = dqsfc1(i)
dtsfci_cpl(i) = dtsfc1(i)*hffac(i)
dqsfci_cpl(i) = dqsfc1(i)*hefac(i)
endif
!
dusfc_cpl (i) = dusfc_cpl(i) + dusfci_cpl(i) * dtf
@@ -547,12 +595,12 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
do i=1,im
dusfc_diag (i) = dusfc_diag(i) + dusfc1(i)*dtf
dvsfc_diag (i) = dvsfc_diag(i) + dvsfc1(i)*dtf
dtsfc_diag (i) = dtsfc_diag(i) + dtsfc1(i)*dtf
dqsfc_diag (i) = dqsfc_diag(i) + dqsfc1(i)*dtf
dtsfc_diag (i) = dtsfc_diag(i) + dtsfc1(i)*hffac(i)*dtf
dqsfc_diag (i) = dqsfc_diag(i) + dqsfc1(i)*hefac(i)*dtf
dusfci_diag(i) = dusfc1(i)
dvsfci_diag(i) = dvsfc1(i)
dtsfci_diag(i) = dtsfc1(i)
dqsfci_diag(i) = dqsfc1(i)
dtsfci_diag(i) = dtsfc1(i)*hffac(i)
dqsfci_diag(i) = dqsfc1(i)*hefac(i)
enddo

if (ldiag3d) then
125 changes: 125 additions & 0 deletions physics/GFS_PBL_generic.meta
Original file line number Diff line number Diff line change
@@ -307,6 +307,113 @@
kind = kind_phys
intent = inout
optional = F
[lheatstrg]
standard_name = flag_for_canopy_heat_storage
long_name = flag for canopy heat storage parameterization
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[z0fac]
standard_name = surface_roughness_fraction_factor
long_name = surface roughness fraction factor for canopy heat storage parameterization
units = none
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[e0fac]
standard_name = latent_heat_flux_fraction_factor_relative_to_sensible_heat_flux
long_name = latent heat flux fraction factor relative to sensible heat flux for canopy heat storage parameterization
units = none
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[zorl]
standard_name = surface_roughness_length
long_name = surface roughness length
units = cm
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[u10m]
standard_name = x_wind_at_10m
long_name = 10 meter u wind speed
units = m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[v10m]
standard_name = y_wind_at_10m
long_name = 10 meter v wind speed
units = m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[hflx]
standard_name = kinematic_surface_upward_sensible_heat_flux
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[hflxq]
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux reduced by surface roughness
units = K m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = out
optional = F
[evapq]
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux reduced by surface roughness
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = out
optional = F
[hefac]
standard_name = surface_upward_latent_heat_flux_reduction_factor
long_name = surface upward latent heat flux reduction factor from canopy heat storage
units = none
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = out
optional = F
[hffac]
standard_name = surface_upward_sensible_heat_flux_reduction_factor
long_name = surface upward sensible heat flux reduction factor from canopy heat storage
units = none
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = out
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
@@ -1220,6 +1327,24 @@
kind = kind_phys
intent = in
optional = F
[hefac]
standard_name = surface_upward_latent_heat_flux_reduction_factor
long_name = surface upward latent heat flux reduction factor from canopy heat storage
units = none
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[hffac]
standard_name = surface_upward_sensible_heat_flux_reduction_factor
long_name = surface upward sensible heat flux reduction factor from canopy heat storage
units = none
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
4 changes: 2 additions & 2 deletions physics/gcm_shoc.meta
Original file line number Diff line number Diff line change
@@ -251,7 +251,7 @@
intent = in
optional = F
[hflx]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -260,7 +260,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/module_MYJPBL_wrapper.meta
Original file line number Diff line number Diff line change
@@ -446,7 +446,7 @@
intent = inout
optional = F
[hflx]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -455,7 +455,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/module_MYNNPBL_wrapper.meta
Original file line number Diff line number Diff line change
@@ -291,7 +291,7 @@
intent = out
optional = F
[hflx]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -300,7 +300,7 @@
intent = in
optional = F
[qflx]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/moninedmf.meta
Original file line number Diff line number Diff line change
@@ -244,7 +244,7 @@
intent = in
optional = F
[heat]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -253,7 +253,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/moninedmf_hafs.meta
Original file line number Diff line number Diff line change
@@ -244,7 +244,7 @@
intent = in
optional = F
[heat]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -253,7 +253,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/moninshoc.meta
Original file line number Diff line number Diff line change
@@ -220,7 +220,7 @@
intent = in
optional = F
[heat]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -229,7 +229,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
4 changes: 2 additions & 2 deletions physics/satmedmfvdif.meta
Original file line number Diff line number Diff line change
@@ -357,7 +357,7 @@
intent = in
optional = F
[heat]
standard_name = kinematic_surface_upward_sensible_heat_flux
standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_dimension)
@@ -366,7 +366,7 @@
intent = in
optional = F
[evap]
standard_name = kinematic_surface_upward_latent_heat_flux
standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
long_name = kinematic surface upward latent heat flux
units = kg kg-1 m s-1
dimensions = (horizontal_dimension)
Loading