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

Fractional Landmask changes #231

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
fe9de5f
(temporarily?) change land area fraction used in the microphysics sch…
grantfirl Apr 3, 2019
1e0afe5
added calculation of idry, iice, ilak, iocn, iwet to GFS_surface_gene…
grantfirl Apr 3, 2019
fa676e6
set several *_lnd, *_ocn, *_ice variables in GFS_surface_generic_pre_run
grantfirl Apr 4, 2019
4561669
sfc_diff.f was completely rewritten/reorganized as part of fractional…
grantfirl Apr 4, 2019
5cd58e6
udpate sfc_nst_pre_run in sfc_nst.f to work with fractional landmask …
grantfirl Apr 4, 2019
5176d92
update sfc_nst_run to use code from fractional landmask branch; pass …
grantfirl Apr 4, 2019
af134cf
fix typos in sfc_nst_run
grantfirl Apr 4, 2019
d821ba8
update sfc_nst_post_run and module_nst_water_prop.f90 to work with fr…
grantfirl Apr 9, 2019
0cc0e0e
update sfc_ocean_run to work with fractional landmask; pass physical …
grantfirl Apr 9, 2019
753efdd
update lsm_noah_run to work with fractional landmask; pass physical c…
grantfirl Apr 9, 2019
1b12ce4
update sfc_sice_run to work with fractional landmask; pass physical c…
grantfirl Apr 10, 2019
9460451
update GFS_surface_loop_control_part2_run to work with fractional lan…
grantfirl Apr 10, 2019
32f2515
update GFS_surface_generic_post_run and sfc_sice_post_run to work wit…
grantfirl Apr 10, 2019
9beb44b
Merge branch 'master' into fractional_landmask
grantfirl Apr 10, 2019
d167143
changed metadata for qsurf in sfc_ocean.F, remove islmsk from GFS_sur…
grantfirl Apr 12, 2019
83b3bd6
debugging: remove islmsk from sfc_sice_run
grantfirl Apr 15, 2019
a6f4e6b
debugging; fixed compilation errors in 3 files
grantfirl Apr 16, 2019
23db4aa
debugging; removed islmsk from GFS_surface_generic_post_run metadata …
grantfirl Apr 16, 2019
1b2140c
debugging; fixed compilation errors in sfc_diff.f and GFS_debug.F90
grantfirl Apr 16, 2019
2a0b7cf
debugging: pass grav into stability subroutine in sfc_diff.f
grantfirl Apr 16, 2019
255ee7b
put cimin in physcons.F90 so that it can be used outside of sfc_sice.f
grantfirl Apr 16, 2019
c682efe
pass in cimin to sfc_sice.f rather than have it be a module-level con…
grantfirl Apr 16, 2019
c3dc39e
Merge branch 'master' into fractional_landmask
grantfirl Apr 22, 2019
e50d3a1
updated three files to bring in changes to the fractional landmask co…
grantfirl Apr 22, 2019
4259387
changes to CCPP-compliant physics schemes from the NEMSfv3gfs_GSD_fra…
grantfirl Apr 25, 2019
2678e2b
debugging: fixed compilation errors
grantfirl Apr 25, 2019
26005ba
updates to several CCPP-compliant schemes to be in sync with commit 6…
grantfirl Apr 29, 2019
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
49 changes: 37 additions & 12 deletions physics/GFS_PBL_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -372,18 +372,43 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,

! --- ... coupling insertion

if (cplflx) then
do i=1,im
dusfc_cpl (i) = dusfc_cpl(i) + dusfc1(i)*dtf
dvsfc_cpl (i) = dvsfc_cpl(i) + dvsfc1(i)*dtf
dtsfc_cpl (i) = dtsfc_cpl(i) + dtsfc1(i)*dtf
dqsfc_cpl (i) = dqsfc_cpl(i) + dqsfc1(i)*dtf
dusfci_cpl(i) = dusfc1(i)
dvsfci_cpl(i) = dvsfc1(i)
dtsfci_cpl(i) = dtsfc1(i)
dqsfci_cpl(i) = dqsfc1(i)
enddo
endif
! ### GJF ### the following section needs to be made CCPP-compliant when cplflx = T
! if (cplflx) then
! do i=1,im
! if (ocean(i)) then ! Ocean only, NO LAKES
! if (flag_cice(i)) cice(i) = fice_cice(i)
! if (cice(i) == 1.) then ! use results from CICE
! Coupling%dusfci_cpl(i) = dusfc_cice(i)
! Coupling%dvsfci_cpl(i) = dvsfc_cice(i)
! Coupling%dtsfci_cpl(i) = dtsfc_cice(i)
! Coupling%dqsfci_cpl(i) = dqsfc_cice(i)
! elseif (dry(i) .or. icy(i)) then ! use stress_ocean from sfc_diff for opw component at mixed point
! tem1 = max(Diag%q1(i), 1.e-8)
! rho = Statein%prsl(i,1) / (con_rd*Diag%t1(i)*(1.0+con_fvirt*tem1))
! if (wind(i) > 0.) then
! Coupling%dusfci_cpl(i) = -rho * stress_ocean(i) * Statein%ugrs(i,1) / wind(i) ! U-momentum flux
! Coupling%dvsfci_cpl(i) = -rho * stress_ocean(i) * Statein%vgrs(i,1) / wind(i) ! V-momentum flux
! else
! Coupling%dusfci_cpl(i) = 0.
! Coupling%dvsfci_cpl(i) = 0.
! end if
! Coupling%dtsfci_cpl(i) = con_cp * rho * hflx_ocean(i) !sensible heat flux over open ocean
! Coupling%dqsfci_cpl(i) = con_hvap * rho * evap_ocean(i) ! latent heat flux over open ocean
! else ! use results from PBL scheme for 100% open ocean
! Coupling%dusfci_cpl(i) = dusfc1(i)
! Coupling%dvsfci_cpl(i) = dvsfc1(i)
! Coupling%dtsfci_cpl(i) = dtsfc1(i)
! Coupling%dqsfci_cpl(i) = dqsfc1(i)
! endif
!
! Coupling%dusfc_cpl (i) = Coupling%dusfc_cpl(i) + Coupling%dusfci_cpl(i) * dtf
! Coupling%dvsfc_cpl (i) = Coupling%dvsfc_cpl(i) + Coupling%dvsfci_cpl(i) * dtf
! Coupling%dtsfc_cpl (i) = Coupling%dtsfc_cpl(i) + Coupling%dtsfci_cpl(i) * dtf
! Coupling%dqsfc_cpl (i) = Coupling%dqsfc_cpl(i) + Coupling%dqsfci_cpl(i) * dtf
! !
! endif ! Ocean only, NO LAKES
! enddo
! endif
!-------------------------------------------------------lssav if loop ----------
if (lssav) then
do i=1,im
Expand Down
1 change: 0 additions & 1 deletion physics/GFS_debug.F90
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,6 @@ subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling,
if (mpirank==impi .and. omprank==iomp) then
! Sfcprop
call print_var(mpirank,omprank, blkno, 'Sfcprop%slmsk' , Sfcprop%slmsk)
call print_var(mpirank,omprank, blkno, 'Sfcprop%lakemsk' , Sfcprop%lakemsk)
call print_var(mpirank,omprank, blkno, 'Sfcprop%tsfc' , Sfcprop%tsfc)
call print_var(mpirank,omprank, blkno, 'Sfcprop%tisfc' , Sfcprop%tisfc)
call print_var(mpirank,omprank, blkno, 'Sfcprop%snowd' , Sfcprop%snowd)
Expand Down
2 changes: 1 addition & 1 deletion physics/GFS_suite_interstitial.F90
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ end subroutine GFS_suite_interstitial_1_finalize
!! | rhbtop | critical_relative_humidity_at_top_of_atmosphere | critical relative humidity at the top of atmosphere | frac | 0 | real | kind_phys | out | F |
!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | out | F |
!! | islmsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | out | F |
!! | frland | land_area_fraction | land area fraction | frac | 1 | real | kind_phys | out | F |
!! | frland | land_area_fraction_for_microphysics | land area fraction used in microphysics schemes | frac | 1 | real | kind_phys | out | F |
!! | work1 | grid_size_related_coefficient_used_in_scale-sensitive_schemes | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | out | F |
!! | work2 | grid_size_related_coefficient_used_in_scale-sensitive_schemes_complement | complement to work1 | none | 1 | real | kind_phys | out | F |
!! | psurf | surface_air_pressure_diag | surface air pressure diagnostic | Pa | 1 | real | kind_phys | out | F |
Expand Down
Loading