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 gsl/develop from main 2021/05/31 #93

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
756f2cf
Consistent use of emissivity and albedo between RUC LSM and the
tanyasmirnova Mar 26, 2021
67ddbbd
Merged Moorthi's changes for fractional grid in setemis.
tanyasmirnova Mar 26, 2021
25611d7
Step forward towards fractional albedo and emissivity in the LSM option.
tanyasmirnova Mar 30, 2021
ed7db4d
Added initialization of 4 albedo components over land and ice to
tanyasmirnova Apr 5, 2021
ad1ad67
Change intent from out to inout for albedo.
tanyasmirnova Apr 5, 2021
ea0c6f0
Fixed problems with the initialization of albedo and emissivity.
tanyasmirnova Apr 8, 2021
b7cbcce
Merge branch 'gsl/develop' of https://github.com/NOAA-GSL/ccpp-physic…
tanyasmirnova Apr 8, 2021
d4531cd
Added the code to compute land, water and ice fractions when
tanyasmirnova Apr 9, 2021
e140651
Adding composite changes on top of Tanya's changes
Apr 12, 2021
efcc07c
Merge branch 'bwg_frac_emiss_albedo' of https://github.com/benwgreen/…
climbfuji Apr 13, 2021
e871573
Move calculation of surface albedo/emissivity out of rrtmg(p) pre sch…
climbfuji Apr 15, 2021
c4e0873
Add initialization of water vapor mixing ratio at the surface to
tanyasmirnova Apr 16, 2021
cbbafc5
Bug fix in the composite for ialb=2 option.
tanyasmirnova Apr 16, 2021
8367123
Move call to 'stability' for composites from sfc_diff to GFS_surface_…
climbfuji Apr 19, 2021
823f6ed
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into mo…
climbfuji Apr 19, 2021
ff766e5
Fix merge conflicts
climbfuji Apr 19, 2021
1a2d365
Bugfix in physics/GFS_phys_time_vary.fv3.F90: remove old variables fr…
climbfuji Apr 19, 2021
a6ade33
physics/GFS_surface_composites.F90: move computation of cmm and chh a…
climbfuji Apr 19, 2021
d83c1a1
Add fractional code to ialb=1 option used with the Noah LSM.
tanyasmirnova Apr 19, 2021
21c87c4
Address reviewer comments
climbfuji Apr 19, 2021
7525515
Merge branch 'move_sfc_emis_alb_calculation_to_its_own_scheme_and_z0_…
climbfuji Apr 19, 2021
4f4be0e
Fix bugs in latest ialbflg==1 code, provide CPP option to switch betw…
climbfuji Apr 19, 2021
0119e95
Small bug fixes and changes in comments in setalb for ialb=1 or 2.
tanyasmirnova Apr 21, 2021
11daddb
Removed t1 from lsm_ruc_init. Some clean-up.
tanyasmirnova Apr 21, 2021
0fc7b40
Merge pull request #9 from tanyasmirnova/move_sfc_emis_alb_calculatio…
climbfuji Apr 22, 2021
2ed6a7c
Add missing dependency to physics/GFS_surface_composites.meta
climbfuji Apr 26, 2021
b51c5b3
Removing GSD_SURFACE_FLUXES_BUGFIX and replacing with flag thsfc_loc
Apr 26, 2021
b6d0ede
Bugfix
Apr 26, 2021
986211f
Merge pull request #10 from benwgreen/thsfc_loc2
climbfuji Apr 26, 2021
d2100a4
Add missing variables to physics/GFS_surface_composites.*
climbfuji Apr 26, 2021
c14375b
add imp_physics consistency check for Zhao-Carr under physics dir
XiaSun-Atmos Apr 27, 2021
45849a9
Only do 4th call to stability if multiple surface types exist
Apr 28, 2021
1477edd
Merge pull request #11 from benwgreen/composite_bugfix
climbfuji Apr 28, 2021
5be81f1
Merge branch 'move_sfc_emis_alb_calculation_to_its_own_scheme_and_z0_…
tanyasmirnova Apr 28, 2021
5da36fc
Removed interstitial variable from lsm_ruc_init.
tanyasmirnova Apr 28, 2021
a46ae1a
Merge pull request #12 from tanyasmirnova/move_sfc_emis_alb_calculati…
climbfuji Apr 28, 2021
d39a04d
Consistency check for RRTMG scheme
XiaSun-Atmos May 10, 2021
e2b8974
Consistency check for RRTMGP scheme
XiaSun-Atmos May 10, 2021
0c7022d
Consistency check for G-F convection
XiaSun-Atmos May 10, 2021
5d70274
Consistency check for ntiedke convection schemes
XiaSun-Atmos May 10, 2021
a30acf7
Consistency check for GSL drag suite
XiaSun-Atmos May 10, 2021
15f0002
Consistency check for H2O physics
XiaSun-Atmos May 10, 2021
0cde3fb
Consistency check for SAMF deep convection
XiaSun-Atmos May 10, 2021
9b0a91a
Add consistency check for SAMF shallow convection
XiaSun-Atmos May 10, 2021
68b7b20
Consistency check for Noah LSM
XiaSun-Atmos May 10, 2021
cb3567e
Consistency check for RUC LSM
XiaSun-Atmos May 10, 2021
caa28fd
Consistency check for Noah-MP LSM
XiaSun-Atmos May 10, 2021
f0e023a
Consistency check for unified_ugwp
XiaSun-Atmos May 10, 2021
fe70d7b
Consistency check for SHOC PBL scheme
XiaSun-Atmos May 10, 2021
3da5e49
Consistency check for MYJ PBL scheme
XiaSun-Atmos May 10, 2021
ad1e4c8
Consistency check for MYMM PBL scheme
XiaSun-Atmos May 10, 2021
b8e3591
Consistency check for HEDMF PBL scheme
XiaSun-Atmos May 10, 2021
ab814f8
Consistency check for SHOC PBL scheme
XiaSun-Atmos May 10, 2021
a81e22f
Consistency check for TKE-Based EDMF PBL scheme
XiaSun-Atmos May 10, 2021
4956129
Consistency check for Shinhong PBL scheme
XiaSun-Atmos May 10, 2021
317e311
Consistency check for YSU PBL scheme
XiaSun-Atmos May 10, 2021
fd48665
Consistency check for MYJ sfclay scheme
XiaSun-Atmos May 10, 2021
39e21ea
Consistency check for MYNN sfclay scheme
XiaSun-Atmos May 10, 2021
88387d5
Merge remote-tracking branch 'origin/mp_consistency' into consistency…
XiaSun-Atmos May 10, 2021
c88f128
typo fixes
XiaSun-Atmos May 11, 2021
59452cb
Consistency check for cires_ugwp
XiaSun-Atmos May 11, 2021
55b4733
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into mo…
climbfuji May 12, 2021
1d8fa1b
fix some err msg and if statements
XiaSun-Atmos May 12, 2021
50e46a1
minor msg fix
XiaSun-Atmos May 12, 2021
d224b13
Added option for ice on lakes.
tanyasmirnova May 13, 2021
c31b1ba
Merge pull request #13 from tanyasmirnova/move_sfc_emis_alb_calculati…
climbfuji May 14, 2021
e457e01
Update ysuvdif.F90
XiaSun-Atmos May 14, 2021
e0b1eb6
Return earlier from physics/GFS_radiation_surface.F90 if sw/lw radiat…
climbfuji May 14, 2021
0918b56
physics/GFS_radiation_surface.*: do not reset alb/emis to zero when l…
climbfuji May 14, 2021
b80fe70
fix
XiaSun-Atmos May 14, 2021
a8500a8
add end if in module_MYJSFC_wrapper
XiaSun-Atmos May 14, 2021
79739c7
physics/GFS_phys_time_vary.fv3.*: bug fix, do not initialize sfcalb/s…
climbfuji May 15, 2021
ec07fc0
Updates and bugfixes in physics/GFS_debug.F90
climbfuji May 17, 2021
f1e2db9
Bug fix in physics/sfc_drv_ruc.* to get b4b reproducible results in r…
climbfuji May 17, 2021
1a8a1bf
Remove option to revert to old iemis=1/ialb=1 calculation in physics/…
climbfuji May 18, 2021
c661a57
Bug fix in physics/GFS_phys_time_vary.fv3.meta: use correct horizonta…
climbfuji May 18, 2021
60b873f
Merge branch 'main' of https://github.com/NCAR/ccpp-physics into move…
climbfuji May 18, 2021
329364b
copy GFS_phys_time_vary.fv3.F90/meta changes over to SCM versions
grantfirl May 18, 2021
7468bf8
Merge branch 'move_sfc_emis_alb_calculation_to_its_own_scheme_and_z0_…
grantfirl May 18, 2021
a20fc32
Merge pull request #14 from grantfirl/move_sfc_emis_alb_calculation_t…
climbfuji May 18, 2021
38f28a2
Update metadata for ztmax variables
climbfuji May 18, 2021
b179486
Update cu_gf_driver.F90
XiaSun-Atmos May 19, 2021
37c6b2e
Merge branch 'main' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji May 19, 2021
1fd62ea
Merge pull request #661 from climbfuji/consistency_redo_dom_mods
climbfuji May 19, 2021
c3375bb
Removed SNET. Net sloar radiation is computed from the incoming SW and
tanyasmirnova May 25, 2021
01bb2d5
Merge pull request #15 from tanyasmirnova/move_sfc_emis_alb_calculati…
climbfuji May 25, 2021
0a8aa3a
Add timestep_init andd timestep_final versions of GFS_diagtoscreen an…
climbfuji May 25, 2021
a6df017
Merge branch 'main' of https://github.com/NCAR/ccpp-physics into move…
climbfuji May 25, 2021
0350697
Bug fixes in several metadata files: use horizontal_dimension in _ini…
climbfuji May 26, 2021
24cc09e
Merge pull request #627 from climbfuji/move_sfc_emis_alb_calculation_…
climbfuji May 27, 2021
462a870
Merge branch 'main' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji May 31, 2021
09494e6
Several bug fixes to UGWP v1 and GSL drag suite related to updated te…
climbfuji Jun 1, 2021
df632d8
Add missing variables to physics/GFS_debug.F90, comment out erroneous…
climbfuji Jun 2, 2021
10ab813
Fix b4b issue for restart runs with RUC LSM
climbfuji Jun 2, 2021
ef5db31
More bug fixes related to tendencies in physics/unified_ugwp.F90
climbfuji Jun 3, 2021
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
151 changes: 130 additions & 21 deletions physics/GFS_debug.F90

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions physics/GFS_debug.meta
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,52 @@
intent = out
optional = F

########################################################################
[ccpp-arg-table]
name = GFS_diagtoscreen_timestep_init
type = scheme
[Model]
standard_name = GFS_control_type_instance
long_name = instance of derived type GFS_control_type in FV3
units = DDT
dimensions = ()
type = GFS_control_type
intent = in
optional = F
[Data]
standard_name = GFS_data_type_instance_all_blocks
long_name = instance of derived type GFS_data_type
units = DDT
dimensions = (ccpp_block_count)
type = GFS_data_type
intent = in
optional = F
[Interstitial]
standard_name = GFS_interstitial_type_instance_all_threads
long_name = instance of derived type GFS_interstitial_type
units = DDT
dimensions = (omp_threads)
type = GFS_interstitial_type
intent = in
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
optional = F
[errflg]
standard_name = ccpp_error_flag
long_name = error flag for error handling in CCPP
units = flag
dimensions = ()
type = integer
intent = out
optional = F

########################################################################
[ccpp-arg-table]
name = GFS_diagtoscreen_run
Expand Down Expand Up @@ -227,6 +273,52 @@
intent = out
optional = F

########################################################################
[ccpp-arg-table]
name = GFS_interstitialtoscreen_timestep_init
type = scheme
[Model]
standard_name = GFS_control_type_instance
long_name = instance of derived type GFS_control_type in FV3
units = DDT
dimensions = ()
type = GFS_control_type
intent = in
optional = F
[Data]
standard_name = GFS_data_type_instance_all_blocks
long_name = instance of derived type GFS_data_type
units = DDT
dimensions = (ccpp_block_count)
type = GFS_data_type
intent = in
optional = F
[Interstitial]
standard_name = GFS_interstitial_type_instance_all_threads
long_name = instance of derived type GFS_interstitial_type
units = DDT
dimensions = (omp_threads)
type = GFS_interstitial_type
intent = in
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
optional = F
[errflg]
standard_name = ccpp_error_flag
long_name = error flag for error handling in CCPP
units = flag
dimensions = ()
type = integer
intent = out
optional = F

########################################################################
[ccpp-arg-table]
name = GFS_interstitialtoscreen_run
Expand Down
64 changes: 41 additions & 23 deletions physics/GFS_phys_time_vary.fv3.F90
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,18 @@ subroutine GFS_phys_time_vary_init (
isot, ivegsrc, nlunit, sncovr, sncovr_ice, lsm, lsm_noahmp, lsm_ruc, min_seaice, &
fice, landfrac, vtype, weasd, lsoil, zs, dzs, lsnow_lsm_lbound, lsnow_lsm_ubound, &
tvxy, tgxy, tahxy, canicexy, canliqxy, eahxy, cmxy, chxy, fwetxy, sneqvoxy, alboldxy,&
qsnowxy, wslakexy, albdvis, albdnir, albivis, albinir, emiss, taussxy, waxy, wtxy, &
qsnowxy, wslakexy, albdvis_lnd, albdnir_lnd, albivis_lnd, albinir_lnd, albdvis_ice, &
albdnir_ice, albivis_ice, albinir_ice, emiss_lnd, emiss_ice, taussxy, waxy, wtxy, &
zwtxy, xlaixy, xsaixy, lfmassxy, stmassxy, rtmassxy, woodxy, stblcpxy, fastcpxy, &
smcwtdxy, deeprechxy, rechxy, snowxy, snicexy, snliqxy, tsnoxy , smoiseq, zsnsoxy, &
slc, smc, stc, tsfcl, snowd, canopy, tg3, stype, con_t0c, nthrds, errmsg, errflg)
slc, smc, stc, tsfcl, snowd, canopy, tg3, stype, con_t0c, flag_restart, nthrds, &
errmsg, errflg)

implicit none

! Interface variables
integer, intent(in) :: me, master, ntoz, iccn, iflip, im, nx, ny
logical, intent(in) :: h2o_phys, iaerclm
logical, intent(in) :: h2o_phys, iaerclm, flag_restart
integer, intent(in) :: idate(:)
real(kind_phys), intent(in) :: xlat_d(:), xlon_d(:)

Expand Down Expand Up @@ -125,11 +127,16 @@ subroutine GFS_phys_time_vary_init (
real(kind_phys), intent(inout) :: alboldxy(:)
real(kind_phys), intent(inout) :: qsnowxy(:)
real(kind_phys), intent(inout) :: wslakexy(:)
real(kind_phys), intent(inout) :: albdvis(:)
real(kind_phys), intent(inout) :: albdnir(:)
real(kind_phys), intent(inout) :: albivis(:)
real(kind_phys), intent(inout) :: albinir(:)
real(kind_phys), intent(inout) :: emiss(:)
real(kind_phys), intent(inout) :: albdvis_lnd(:)
real(kind_phys), intent(inout) :: albdnir_lnd(:)
real(kind_phys), intent(inout) :: albivis_lnd(:)
real(kind_phys), intent(inout) :: albinir_lnd(:)
real(kind_phys), intent(inout) :: albdvis_ice(:)
real(kind_phys), intent(inout) :: albdnir_ice(:)
real(kind_phys), intent(inout) :: albivis_ice(:)
real(kind_phys), intent(inout) :: albinir_ice(:)
real(kind_phys), intent(inout) :: emiss_lnd(:)
real(kind_phys), intent(inout) :: emiss_ice(:)
real(kind_phys), intent(inout) :: taussxy(:)
real(kind_phys), intent(inout) :: waxy(:)
real(kind_phys), intent(inout) :: wtxy(:)
Expand Down Expand Up @@ -385,9 +392,30 @@ subroutine GFS_phys_time_vary_init (
if (errflg/=0) return
end if

if (lsm == lsm_noahmp) then
if (all(tvxy < zero)) then
!--- For Noah MP or RUC LSMs: initialize four components of albedo for
!--- land and ice - not for restart runs
lsm_init: if (.not.flag_restart) then
if (lsm == lsm_noahmp .or. lsm == lsm_ruc) then
if (me == master ) write(0,'(a)') 'GFS_phys_time_vary_init: initialize albedo for land and ice'
do ix=1,im
albdvis_lnd(ix) = 0.2_kind_phys
albdnir_lnd(ix) = 0.2_kind_phys
albivis_lnd(ix) = 0.2_kind_phys
albinir_lnd(ix) = 0.2_kind_phys
emiss_lnd(ix) = 0.95_kind_phys
enddo
endif
if (lsm == lsm_ruc) then
do ix=1,im
albdvis_ice(ix) = 0.6_kind_phys
albdnir_ice(ix) = 0.6_kind_phys
albivis_ice(ix) = 0.6_kind_phys
albinir_ice(ix) = 0.6_kind_phys
emiss_ice(ix) = 0.97_kind_phys
enddo
endif

noahmp_init: if (lsm == lsm_noahmp) then
allocate(dzsno (lsnow_lsm_lbound:lsnow_lsm_ubound))
allocate(dzsnso(lsnow_lsm_lbound:lsoil) )
dzsno(:) = missing_value
Expand All @@ -406,11 +434,6 @@ subroutine GFS_phys_time_vary_init (
alboldxy(:) = missing_value
qsnowxy(:) = missing_value
wslakexy(:) = missing_value
albdvis(:) = missing_value
albdnir(:) = missing_value
albivis(:) = missing_value
albinir(:) = missing_value
emiss(:) = missing_value
taussxy(:) = missing_value
waxy(:) = missing_value
wtxy(:) = missing_value
Expand Down Expand Up @@ -441,7 +464,7 @@ subroutine GFS_phys_time_vary_init (
!$OMP shared(im,lsoil,con_t0c,landfrac,tsfcl,tvxy,tgxy,tahxy) &
!$OMP shared(snowd,canicexy,canliqxy,canopy,eahxy,cmxy,chxy) &
!$OMP shared(fwetxy,sneqvoxy,weasd,alboldxy,qsnowxy,wslakexy) &
!$OMP shared(taussxy,albdvis,albdnir,albivis,albinir,emiss) &
!$OMP shared(taussxy) &
!$OMP shared(waxy,wtxy,zwtxy,imn,vtype,xlaixy,xsaixy,lfmassxy) &
!$OMP shared(stmassxy,rtmassxy,woodxy,stblcpxy,fastcpxy) &
!$OMP shared(isbarren_table,isice_table,isurban_table) &
Expand Down Expand Up @@ -480,11 +503,6 @@ subroutine GFS_phys_time_vary_init (
! already set to 0.0
wslakexy(ix) = zero
taussxy(ix) = zero
albdvis(ix) = 0.2_kind_phys
albdnir(ix) = 0.2_kind_phys
albivis(ix) = 0.2_kind_phys
albinir(ix) = 0.2_kind_phys
emiss(ix) = 0.95_kind_phys

waxy(ix) = 4900.0_kind_phys
wtxy(ix) = waxy(ix)
Expand Down Expand Up @@ -655,8 +673,8 @@ subroutine GFS_phys_time_vary_init (
deallocate(dzsno)
deallocate(dzsnso)

endif
endif !if Noah MP cold start ends
endif noahmp_init
endif lsm_init

is_initialized = .true.

Expand Down
83 changes: 68 additions & 15 deletions physics/GFS_phys_time_vary.fv3.meta
Original file line number Diff line number Diff line change
Expand Up @@ -755,45 +755,90 @@
kind = kind_phys
intent = inout
optional = F
[albdvis]
standard_name = surface_albedo_direct_visible
long_name = direct surface albedo visible band
[albdvis_lnd]
standard_name = surface_albedo_direct_visible_over_land
long_name = direct surface albedo visible band over land
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albdnir]
standard_name = surface_albedo_direct_NIR
long_name = direct surface albedo NIR band
[albdnir_lnd]
standard_name = surface_albedo_direct_NIR_over_land
long_name = direct surface albedo NIR band over land
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albivis]
standard_name = surface_albedo_diffuse_visible
long_name = diffuse surface albedo visible band
[albivis_lnd]
standard_name = surface_albedo_diffuse_visible_over_land
long_name = diffuse surface albedo visible band over land
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albinir]
standard_name = surface_albedo_diffuse_NIR
long_name = diffuse surface albedo NIR band
[albinir_lnd]
standard_name = surface_albedo_diffuse_NIR_over_land
long_name = diffuse surface albedo NIR band over land
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[emiss]
standard_name = surface_emissivity_lsm
long_name = surface emissivity from lsm
[albdvis_ice]
standard_name = surface_albedo_direct_visible_over_ice
long_name = direct surface albedo visible band over ice
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albdnir_ice]
standard_name = surface_albedo_direct_NIR_over_ice
long_name = direct surface albedo NIR band over ice
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albivis_ice]
standard_name = surface_albedo_diffuse_visible_over_ice
long_name = diffuse surface albedo visible band over ice
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[albinir_ice]
standard_name = surface_albedo_diffuse_NIR_over_ice
long_name = diffuse surface albedo NIR band over ice
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[emiss_lnd]
standard_name = surface_longwave_emissivity_over_land
long_name = surface lw emissivity in fraction over land
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[emiss_ice]
standard_name = surface_longwave_emissivity_over_ice
long_name = surface lw emissivity in fraction over ice
units = frac
dimensions = (horizontal_dimension)
type = real
Expand Down Expand Up @@ -935,6 +980,14 @@
kind = kind_phys
intent = in
optional = F
[flag_restart]
standard_name = flag_for_restart
long_name = flag for restart (warmstart) or coldstart
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[nthrds]
standard_name = omp_threads
long_name = number of OpenMP threads available for physics schemes
Expand Down
Loading