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

Sm sep252020 old postgfs #176

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
a0fb86d
github version of latest branch
SMoorthi-emc Oct 17, 2019
7ff4793
some fixes to physics driver
SMoorthi-emc Oct 22, 2019
b9af9ee
adding import field of z0 surface roughness length and
JessicaMeixner-NOAA Oct 23, 2019
b65485f
removing 271.2 near line 1884
SMoorthi-emc Oct 23, 2019
183e925
Merge branch 'SM_oct172019' of https://github.com/SMoorthi-emc/fv3atm…
SMoorthi-emc Oct 23, 2019
73e71f6
minor update of atmos_model.F90
SMoorthi-emc Oct 24, 2019
b8bb844
updating GFS_typedef for includeing ras in ccpp, plus minor mod in ph…
SMoorthi-emc Oct 28, 2019
c7f8579
Merge remote-tracking branch 'JDM/feature/cplwav2atm' into SM_oct172019
SMoorthi-emc Oct 28, 2019
c8840e9
after merging with Jessica's wave update in fv3
SMoorthi-emc Oct 28, 2019
6f86c4b
coupling with ww3
SMoorthi-emc Nov 2, 2019
271bff5
after merging with fv3atm develop branch and updating .gitmodules
SMoorthi-emc Nov 4, 2019
ac9195c
after merging with fv3atm develop branch and updating for ras
SMoorthi-emc Nov 6, 2019
393bc62
FV3 updates for RAS MG3 SHOC so that IPD and CCPP reproduce in REPRO …
SMoorthi-emc Dec 29, 2019
3037555
updating mg driver, physics driver and typedef
SMoorthi-emc Dec 30, 2019
8680138
updating gcm_shoc.f90 to turn on commented code in assumed pdf
SMoorthi-emc Dec 30, 2019
ccfd741
after merging with latest FV3 develop branch update
SMoorthi-emc Jan 1, 2020
4cd482f
constraing imported ice fraction in atmos_model.F90
SMoorthi-emc Jan 8, 2020
3fe1183
after merging with NOAA-EMC/fv3atm/develop
SMoorthi-emc Jan 10, 2020
826bba9
minor fix to atmos_model.F90 and IPD physics driver
SMoorthi-emc Jan 11, 2020
50b5eb4
after merging with updated NCAR repository and removing dcyc2t3_post …
SMoorthi-emc Jan 13, 2020
2425771
updating .gitmodules
SMoorthi-emc Jan 13, 2020
e2fea18
adding two couplrd suites
SMoorthi-emc Jan 14, 2020
15e0c25
a bug fix in atmos_model.F90, added a logical frac_grid_off to enable…
SMoorthi-emc Jan 16, 2020
efe2053
adding con_csol to GFS_typedefs.F90 and GFS_typedefs.meta for CCPP
SMoorthi-emc Jan 28, 2020
6a4acdc
Update long names of hydrometeors to match the ccpp-physics change
climbfuji Jan 31, 2020
097743f
Merge pull request #1 from climbfuji/update_longnames_dom
SMoorthi-emc Jan 31, 2020
9cf6732
reverting white space changes in .gitmodules
SMoorthi-emc Feb 1, 2020
84c738e
adding ignore_lake flag to GFS_typedefs.F90 andFV3GFS_io.F90 to prese…
SMoorthi-emc Feb 4, 2020
4eee184
settng the momentum, sensible and latent heat fluxes over land export…
SMoorthi-emc Feb 10, 2020
28a55c1
changing variable puny to epsln in atmos_model.F90 on Denise's recomm…
SMoorthi-emc Feb 10, 2020
62bff40
Merge remote-tracking branch 'upstream/develop' into develop
SMoorthi-emc Feb 11, 2020
aaf3180
after merging with fv3atm/develop branch on feb10, 2020
SMoorthi-emc Feb 11, 2020
66e8622
added a new namelist parameter, min_lake_height, with default value o…
SMoorthi-emc Feb 11, 2020
7440f69
update gcycle
SMoorthi-emc Feb 19, 2020
eb36b5e
committing develop branch after merging with NOAA-EMC/fv3atm/develop …
SMoorthi-emc Feb 19, 2020
fdc15cf
after merging with fv3atm with iau drymass fix
SMoorthi-emc Feb 19, 2020
d587ec1
point atmos_cubed_sphere to NOAA-EMC repo and ccpp/physics to SMoorth…
junwang-noaa Feb 24, 2020
302acd7
reverting definition of do_cnvgwd in GFS_typedefs.F90
SMoorthi-emc Feb 26, 2020
635053c
removed 3 lines from gcycle.F90, which I previously forgot to delete
SMoorthi-emc Feb 26, 2020
bd8282e
fixing a bug in gcycle update
SMoorthi-emc Feb 26, 2020
e28c52f
removing updating tsfco in gcycle when nsstr is on
SMoorthi-emc Feb 27, 2020
fdf4c9b
updated gcycle and sfcsub on the ipd side
SMoorthi-emc Mar 5, 2020
aef8791
fixing an openmp error pointed out by Jun wrt z0
SMoorthi-emc Mar 5, 2020
cfa5e6b
renaming DumpFileds in fv3 cap
SMoorthi-emc Mar 9, 2020
b54b90e
after merging with NOAA-EMC/develop
SMoorthi-emc Mar 9, 2020
944116a
minor code change plus bug fix in ccpp
SMoorthi-emc Mar 10, 2020
ca0df2f
updted gitmodules
SMoorthi-emc Mar 24, 2020
279fa90
after merging with emc develop and some physics updates
SMoorthi-emc Apr 10, 2020
f3c9323
updating constants to real 8 and a bug fix in MG driver
SMoorthi-emc Apr 15, 2020
a2b883b
some bug fix in ras and mg3 and make constants douple precision
SMoorthi-emc Apr 18, 2020
6f1a6f6
after merging with EMC fv3atm/develop and some fixes in ipd physics d…
SMoorthi-emc Apr 20, 2020
a729847
adding OMP directives to some loops plus using _kind_phys in atmos_mo…
SMoorthi-emc Apr 22, 2020
dd97848
changing _kind_phys to ipd_kind_phys
SMoorthi-emc Apr 23, 2020
6a30d2c
after merging with fv3atm after ccn update and some bug fix
SMoorthi-emc Apr 27, 2020
9c9cc04
fixing some comment lines
SMoorthi-emc Apr 27, 2020
2892c92
fixing some comment lines
SMoorthi-emc Apr 27, 2020
0c2bf16
minor update to ipd phys driver
SMoorthi-emc Apr 27, 2020
71f3143
some additional updates - not necessarily completely correct
SMoorthi-emc Apr 28, 2020
3210409
after merging with v3tm/develop branch on apr28
SMoorthi-emc Apr 28, 2020
7414be8
Merge remote-tracking branch 'origin/develop' into SM_Apr282020
SMoorthi-emc Apr 28, 2020
3e8150a
testing an alternate option
SMoorthi-emc Apr 29, 2020
a4fd1ad
some additional update to ipd driver
SMoorthi-emc Apr 30, 2020
83b6c40
some fix and some updates to atmos_model and ipd driver
SMoorthi-emc May 2, 2020
a4d78c2
Merge remote-tracking branch 'origin/SM_Apr182020' into SM_Apr282020
SMoorthi-emc May 2, 2020
ff3ae59
after merging with fv3atm/develop branch as of May02
SMoorthi-emc May 4, 2020
638bda2
removed tisfcin_cpl and tseain_cpl as they are not needed
SMoorthi-emc May 4, 2020
56a4111
merged with fv3atm develop, tested the coupled model with nsst model …
SMoorthi-emc May 10, 2020
29a1329
Adding a new suite suite_FV3_GFS_cpld_rasmgshocnsst.xml
SMoorthi-emc May 10, 2020
0441236
updating submodules
SMoorthi-emc May 11, 2020
2e9d571
updating nst model when coupled with ocean for IPD
SMoorthi-emc May 19, 2020
45ac655
after merging with fv3atm-develop on May21
SMoorthi-emc May 24, 2020
8f62194
updating gitmodules
SMoorthi-emc May 26, 2020
f79ebe2
some fix related to ice in surface cycling in IPD
SMoorthi-emc May 28, 2020
4ace2ed
some update to fv3_io and updte to ipd side of sfc_diff for when coup…
SMoorthi-emc Jun 14, 2020
78df2be
after merging with fv3atm/develop on Jun14, 2020
SMoorthi-emc Jun 15, 2020
8e977b4
reverting in atmos_model.F90 mytile instead of mygrid to use with old…
SMoorthi-emc Jun 17, 2020
2d2deae
updating sfc_diff.f to recompute z0 over ocean when coupled to ww3 an…
SMoorthi-emc Jun 29, 2020
b37e5f1
minor change in physics driver to turn on huge
SMoorthi-emc Jun 30, 2020
20fbd40
fixing errors/logic with fractional grid option to reproduce a contin…
SMoorthi-emc Jul 8, 2020
acd71f4
after submodule sync
SMoorthi-emc Jul 10, 2020
0c5f9bf
after merging with fv3atm/develop containg GSD physics updates
SMoorthi-emc Jul 14, 2020
39cb436
change in gitmodules and some fixes in physics
SMoorthi-emc Jul 20, 2020
9ed3e52
after syncing .gitmodules
SMoorthi-emc Jul 20, 2020
5cba2c3
after merging with develop
SMoorthi-emc Jul 20, 2020
a992494
Merge remote-tracking branch 'origin' into SM_Jul202020
SMoorthi-emc Jul 20, 2020
a4a306e
after merging with fv3/develop with flake and adding a z0 update for …
SMoorthi-emc Jul 21, 2020
3406802
updating fix for wave coupling issue and some other fixes related to …
SMoorthi-emc Jul 22, 2020
908b8f2
updating gitmodules
SMoorthi-emc Jul 22, 2020
f658696
merging with fv3atm/develop
SMoorthi-emc Jul 23, 2020
dcd3532
Merge remote-tracking branch 'origin/develop' into SM_Jul232020
SMoorthi-emc Jul 23, 2020
03004a9
After merging with fv3atm/develop and updating to latest dynamics
SMoorthi-emc Jul 24, 2020
a7a306c
replacing post_gfs.F90 with develop version - note that this will NOT…
SMoorthi-emc Jul 27, 2020
69f4033
syncing submodule ccpp-physics
SMoorthi-emc Jul 28, 2020
6fb21f1
fixing issues related to z0 and restart reproducibility
SMoorthi-emc Aug 3, 2020
51cce85
after submodule sync
SMoorthi-emc Aug 3, 2020
5ed5b09
Merge remote-tracking branch 'upstream/develop' into SM_Jul302020
SMoorthi-emc Aug 3, 2020
7cb03c4
changing post_gfs back to the version that works with double moment m…
SMoorthi-emc Aug 4, 2020
7c258bd
changing z0ice to cm
SMoorthi-emc Aug 4, 2020
a77396a
changing z0ice to cm
SMoorthi-emc Aug 4, 2020
1f35918
after merging with fv3atm/develop updated with rrtmgp
SMoorthi-emc Aug 9, 2020
0e66037
after updating sfcsub.F in ccpp-physics
SMoorthi-emc Aug 10, 2020
e0b7e37
a fix in wv_saturation.F - impact on resuls
SMoorthi-emc Aug 10, 2020
956d06b
moving definition of kp inside ifdef in wv_saturation.F
SMoorthi-emc Aug 10, 2020
ee2a35f
updating gitmodules
SMoorthi-emc Aug 11, 2020
bef4b5e
Merge remote-tracking branch 'origin/SM_Jul302020' into SM_Aug032020
SMoorthi-emc Aug 11, 2020
515308e
changing ver=3 to ver=4 in suite_FV3_GFS_cpld_rasmgshocnsst.xml
SMoorthi-emc Aug 24, 2020
824b634
updatin gitmodules
SMoorthi-emc Aug 26, 2020
14922da
after merging with fv3atm/develop
SMoorthi-emc Aug 26, 2020
697ad6b
updating .gitmodules
SMoorthi-emc Aug 31, 2020
e9ef747
fix some tsfc related issues
SMoorthi-emc Sep 1, 2020
70dc9b8
creating a new brnach for restart fix PR
SMoorthi-emc Sep 3, 2020
635dc96
after merging with fv3atm/develop
SMoorthi-emc Sep 3, 2020
445e5d3
fixing a compilation bug
SMoorthi-emc Sep 4, 2020
26887d6
replacing post_gfs.F90 by fv3atm/develop version
SMoorthi-emc Sep 4, 2020
9c98799
updating FV3GFS_io.F90 to retain original code for cold start
SMoorthi-emc Sep 5, 2020
5a48385
copy of branch SM_Sep022020 with my version of post_gfs.F90
SMoorthi-emc Sep 6, 2020
8622044
adding a new suite
SMoorthi-emc Sep 9, 2020
5402739
updating .gitmodules and some fix in FV3GFS_io
SMoorthi-emc Sep 11, 2020
299db51
Merge remote-tracking branch 'upstream/develop' into SM_Sep162020
SMoorthi-emc Sep 16, 2020
7e2cfe8
after gitmoduel sync
SMoorthi-emc Sep 22, 2020
6390ec7
after syncing submodules
SMoorthi-emc Sep 25, 2020
96ff0b5
Merge branch 'SM_Sep162020' of https://github.com/SMoorthi-emc/fv3atm…
SMoorthi-emc Sep 25, 2020
8e47927
creating a new branch for PR
SMoorthi-emc Sep 25, 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
21 changes: 11 additions & 10 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ module atmos_model_mod
IPD_interstitial => GFS_interstitial
use IPD_driver, only: IPD_initialize, IPD_initialize_rst
use CCPP_driver, only: CCPP_step, non_uniform_blocks

use stochastic_physics_wrapper_mod, only: stochastic_physics_wrapper
#else
use IPD_driver, only: IPD_initialize, IPD_initialize_rst, IPD_step
use physics_abstraction_layer, only: time_vary_step, radiation_step1, physics_step1, physics_step2
#endif

use stochastic_physics_wrapper_mod, only: stochastic_physics_wrapper

use FV3GFS_io_mod, only: FV3GFS_restart_read, FV3GFS_restart_write, &
FV3GFS_IPD_checksum, &
FV3GFS_diag_register, FV3GFS_diag_output, &
Expand Down Expand Up @@ -291,16 +291,16 @@ subroutine update_atmos_radiation_physics (Atmos)
#ifdef CCPP
call CCPP_step (step="time_vary", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP time_vary step failed')

!--- call stochastic physics pattern generation / cellular automata
call stochastic_physics_wrapper(IPD_Control, IPD_Data, Atm_block, ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to stochastic_physics_wrapper failed')

#else
Func1d => time_vary_step
call IPD_step (IPD_Control, IPD_Data(:), IPD_Diag, IPD_Restart, IPD_func1d=Func1d)
#endif

!--- call stochastic physics pattern generation / cellular automata
call stochastic_physics_wrapper(IPD_Control, IPD_Data, Atm_block, ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to stochastic_physics_wrapper failed')


!--- if coupled, assign coupled fields

if( IPD_Control%cplflx .or. IPD_Control%cplwav ) then
Expand Down Expand Up @@ -625,14 +625,15 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step)
#ifdef CCPP
call IPD_initialize (IPD_Control, IPD_Data, IPD_Diag, IPD_Restart, &
IPD_Interstitial, commglobal, mpp_npes(), Init_parm)
#else
call IPD_initialize (IPD_Control, IPD_Data, IPD_Diag, IPD_Restart, Init_parm)
#endif

!--- Initialize stochastic physics pattern generation / cellular automata for first time step
call stochastic_physics_wrapper(IPD_Control, IPD_Data, Atm_block, ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to stochastic_physics_wrapper failed')

#else
call IPD_initialize (IPD_Control, IPD_Data, IPD_Diag, IPD_Restart, Init_parm)
#endif

Atmos%Diag => IPD_Diag

Atm(mygrid)%flagstruct%do_skeb = IPD_Control%do_skeb
Expand Down
12 changes: 6 additions & 6 deletions ccpp/driver/CCPP_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ subroutine CCPP_step (step, nblks, ierr)
end do
end do

else if (trim(step)=="physics_init") then
else if (trim(step)=="physics_init") then

! Since the physics init steps are independent of the blocking structure,
! we can use cdata_domain here. Since we don't use threading on the outside,
Expand All @@ -107,7 +107,7 @@ subroutine CCPP_step (step, nblks, ierr)
return
end if

else if (trim(step)=="time_vary") then
else if (trim(step)=="time_vary") then

! Since the time_vary steps only use data structures for all blocks (except the
! CCPP-internal variables ccpp_error_flag and ccpp_error_message, which are defined
Expand All @@ -123,8 +123,8 @@ subroutine CCPP_step (step, nblks, ierr)
return
end if

! Radiation and stochastic physics
else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics") then
! Radiation and stochastic physics
else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics") then

! Set number of threads available to physics schemes to one,
! because threads are used on the outside for blocking
Expand Down Expand Up @@ -162,8 +162,8 @@ subroutine CCPP_step (step, nblks, ierr)
!$OMP end parallel
if (ierr/=0) return

! Finalize
else if (trim(step)=="finalize") then
! Finalize
else if (trim(step)=="finalize") then

! Loop over blocks, don't use threading on the outside but allowing threading
! inside the finalization, similar to what is done for the initialization
Expand Down
89 changes: 89 additions & 0 deletions ccpp/suites/suite_FV3_GFS_2017_couplednsst.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_GFS_2017_couplednsst" lib="ccppphys" ver="4">
<!-- <init></init> -->
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_rrtmg_setup</scheme>
<scheme>GFS_rad_time_vary</scheme>
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw_pre</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
</group>
<group name="physics">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_phys_reset</scheme>
<scheme>GFS_suite_stateout_reset</scheme>
<scheme>get_prs_fv3</scheme>
<scheme>GFS_suite_interstitial_1</scheme>
<scheme>GFS_surface_generic_pre</scheme>
<scheme>GFS_surface_composites_pre</scheme>
<scheme>dcyc2t3</scheme>
<scheme>GFS_surface_composites_inter</scheme>
<scheme>GFS_suite_interstitial_2</scheme>
</subcycle>
<!-- Surface iteration loop -->
<subcycle loop="2">
<scheme>sfc_diff</scheme>
<scheme>GFS_surface_loop_control_part1</scheme>
<scheme>lsm_noah</scheme>
<scheme>sfc_nst_pre</scheme>
<scheme>sfc_nst</scheme>
<scheme>sfc_nst_post</scheme>
<scheme>sfc_cice</scheme>
<scheme>sfc_sice</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
</subcycle>
<!-- End of surface iteration loop -->
<subcycle loop="1">
<scheme>GFS_surface_composites_post</scheme>
<scheme>sfc_diag</scheme>
<scheme>sfc_diag_post</scheme>
<scheme>GFS_surface_generic_post</scheme>
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>hedmf</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>cires_ugwp</scheme>
<scheme>cires_ugwp_post</scheme>
<scheme>GFS_GWD_generic_post</scheme>
<scheme>rayleigh_damp</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>ozphys</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>samfdeepcnv</scheme>
<scheme>GFS_DCNV_generic_post</scheme>
<scheme>GFS_SCNV_generic_pre</scheme>
<scheme>samfshalcnv</scheme>
<scheme>GFS_SCNV_generic_post</scheme>
<scheme>GFS_suite_interstitial_4</scheme>
<scheme>cnvc90</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>zhaocarr_gscond</scheme>
<scheme>zhaocarr_precpd</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
</subcycle>
</group>
<group name="stochastics">
<subcycle loop="1">
<scheme>GFS_stochastics</scheme>
</subcycle>
</group>
<!-- <finalize></finalize> -->
</suite>
2 changes: 1 addition & 1 deletion ccpp/suites/suite_FV3_GFS_cpld_rasmgshocnsst.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_GFS_cpld_rasmgshocnsst" lib="ccppphys" ver="3">
<suite name="FV3_GFS_cpld_rasmgshocnsst" lib="ccppphys" ver="4">
<!-- <init></init> -->
<group name="time_vary">
<subcycle loop="1">
Expand Down
76 changes: 43 additions & 33 deletions gfsphysics/GFS_layer/GFS_physics_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -814,8 +814,8 @@ subroutine GFS_physics_driver &
! do i=1,im
! lprnt = Model%me == 23 .and. i == 25
! lprnt = Model%me == 127 .and. i == 11
! lprnt = kdt >= 20 .and. abs(grid%xlon(i)*rad2dg-102.65) < 0.101 &
! .and. abs(grid%xlat(i)*rad2dg-0.12) < 0.201
! lprnt = kdt >= 20 .and. abs(grid%xlon(i)*rad2dg-295.40) < 0.101 &
! .and. abs(grid%xlat(i)*rad2dg-47.0) < 0.101
! lprnt = kdt >= 20 .and. abs(grid%xlon(i)*rad2dg-184.00) < 0.301 &
! .and. abs(grid%xlat(i)*rad2dg-83.23) < 0.301
! lprnt = kdt >= 7 .and. abs(grid%xlon(i)*rad2dg-216.20) < 0.101 &
Expand Down Expand Up @@ -2183,22 +2183,25 @@ subroutine GFS_physics_driver &
endif
if (islmsk(i) == 1) then
k = 1
Sfcprop%tsfcl(i) = tsfc3(i,1) ! over land
stress(i) = stress3(i,1)
! Sfcprop%tprcp(i) = tprcp3(i,1)
Sfcprop%tsfcl(i) = tsfc3(i,1) ! over land
Sfcprop%tsfco(i) = tsfc3(i,1)
Sfcprop%tisfc(i) = tsfc3(i,1)
Sfcprop%tsfc(i) = tsfc3(i,1)
elseif (islmsk(i) == 0) then
k = 3
Sfcprop%tsfco(i) = tsfc3(i,3) ! over lake (and ocean when uncoupled)
stress(i) = stress3(i,3)
! Sfcprop%tprcp(i) = tprcp3(i,3)
Sfcprop%tsfco(i) = tsfc3(i,3) ! over lake (and ocean when uncoupled)
Sfcprop%tisfc(i) = tsfc3(i,3)
Sfcprop%tsfcl(i) = tsfc3(i,3)
Sfcprop%tsfc(i) = tsfc3(i,3)
else
k = 2
stress(i) = stress3(i,2)
! Sfcprop%tprcp(i) = fice(i)*tprcp3(i,2) + (one-fice(i))*tprcp3(i,3)
Sfcprop%tsfc(i) = tsfc3(i,2)
endif
Sfcprop%zorl(i) = zorl3(i,k)
cd(i) = cd3(i,k)
Expand All @@ -2219,43 +2222,49 @@ subroutine GFS_physics_driver &
evap(i) = evap3(i,k)
hflx(i) = hflx3(i,k)
qss(i) = qss3(i,k)
Sfcprop%tsfc(i) = tsfc3(i,k)
! Sfcprop%tsfc(i) = tsfc3(i,k)

Sfcprop%zorll(i) = zorl3(i,1)
Sfcprop%zorli(i) = zorl3(i,2)
Sfcprop%zorlo(i) = zorl3(i,3)

if (flag_cice(i)) then
if (wet(i) .and. fice(i) > Model%min_seaice) then ! this was already done for lake ice in sfc_sice
txi = fice(i)
txo = one - txi
evap(i) = txi * evap3(i,2) + txo * evap3(i,3)
hflx(i) = txi * hflx3(i,2) + txo * hflx3(i,3)
Sfcprop%tsfc(i) = txi * tsfc3(i,2) + txo * tsfc3(i,3)
stress(i) = txi *stress3(i,2) + txo * stress3(i,3)
qss(i) = txi * qss3(i,2) + txo * qss3(i,3)
ep1d(i) = txi * ep1d3(i,2) + txo * ep1d3(i,3)
Sfcprop%zorl(i) = txi*zorl3(i,2) + txo*zorl3(i,3)
if (k == 2) then
if (wet(i)) then
Sfcprop%tsfco(i) = tsfc3(i,3)
endif
if (flag_cice(i)) then
if (wet(i) .and. fice(i) > Model%min_seaice) then ! this was already done for lake ice in sfc_sice
txi = fice(i)
txo = one - txi
evap(i) = txi * evap3(i,2) + txo * evap3(i,3)
hflx(i) = txi * hflx3(i,2) + txo * hflx3(i,3)
Sfcprop%tsfc(i) = txi * tsfc3(i,2) + txo * tsfc3(i,3)
stress(i) = txi *stress3(i,2) + txo * stress3(i,3)
qss(i) = txi * qss3(i,2) + txo * qss3(i,3)
ep1d(i) = txi * ep1d3(i,2) + txo * ep1d3(i,3)
Sfcprop%zorl(i) = txi * zorl3(i,2) + txo * zorl3(i,3)
endif
elseif (islmsk(i) == 2) then ! return updated lake ice thickness & concentration to global array
Sfcprop%tisfc(i) = tice(i) ! over lake ice (and sea ice when uncoupled)
Sfcprop%tsfc(i) = tsfc3(i,2)
Sfcprop%hice(i) = zice(i)
Sfcprop%fice(i) = fice(i) ! fice is fraction of lake area that is frozen
Sfcprop%zorl(i) = fice(i)*zorl3(i,2) + (one-fice(i))*zorl3(i,3)
else ! this would be over open ocean or land (no ice fraction)
Sfcprop%hice(i) = zero
Sfcprop%fice(i) = zero
Sfcprop%tsfc(i) = Sfcprop%tsfco(i)
Sfcprop%tisfc(i) = Sfcprop%tsfc(i)
icy(i) = .false.
endif
Sfcprop%tsfcl(i) = Sfcprop%tsfc(i)
if (.not. wet(i)) then
Sfcprop%tsfco(i) =Sfcprop%tsfc(i)
endif
elseif (islmsk(i) == 2) then ! return updated lake ice thickness & concentration to global array
Sfcprop%tisfc(i) = tice(i) ! over lake ice (and sea ice when uncoupled)
Sfcprop%hice(i) = zice(i)
Sfcprop%fice(i) = fice(i) ! fice is fraction of lake area that is frozen
Sfcprop%zorl(i) = fice(i)*zorl3(i,2) + (one-fice(i))*zorl3(i,3)
else ! this would be over open ocean or land (no ice fraction)
Sfcprop%hice(i) = zero
Sfcprop%fice(i) = zero
Sfcprop%tisfc(i) = Sfcprop%tsfc(i)
icy(i) = .false.
endif
Sfcprop%tsfcl(i) = Sfcprop%tsfc(i)
if (wet(i)) then
Sfcprop%tsfco(i) = tsfc3(i,3)
else
Sfcprop%tsfco(i) =Sfcprop%tsfc(i)
endif
do k=1,Model%kice ! store tiice in stc to reduce output in the nonfrac grid case
Sfcprop%stc(i,k) = Sfcprop%tiice(i,k)
! Sfcprop%stc(i,k) = Sfcprop%tiice(i,k)
Sfcprop%stc(i,k) = stsoil(i,k)
enddo
enddo
endif ! if (Model%frac_grid)
Expand Down Expand Up @@ -5806,6 +5815,7 @@ subroutine GFS_physics_driver &
! if (lprnt) write(0,*)' end driver sfcprop%tsfcl=',Sfcprop%tsfcl(ipr),' kdt=',kdt
! if (lprnt) write(0,*)' end driver sfcprop%tsfco=',Sfcprop%tsfco(ipr),' kdt=',kdt
! if (lprnt) write(0,*)' end driver sfcprop%tisfc=',Sfcprop%tisfc(ipr),' kdt=',kdt
! if (lprnt) write(0,*)' end driver sfcprop%tsfc=',Sfcprop%tsfc(ipr),' kdt=',kdt,wet(ipr),icy(ipr),dry(ipr)
! endif

return
Expand Down
4 changes: 2 additions & 2 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1550,9 +1550,9 @@ module GFS_typedefs
#ifdef CCPP
real (kind=kind_phys), pointer :: TRAIN (:,:) => null() !< accumulated stratiform T tendency (K s-1)
#endif
#ifdef CCPP
!#ifdef CCPP
real (kind=kind_phys), pointer :: cldfra (:,:) => null() !< instantaneous 3D cloud fraction
#endif
!#endif
!--- MP quantities for 3D diagnositics
real (kind=kind_phys), pointer :: refl_10cm(:,:) => null() !< instantaneous refl_10cm
!
Expand Down
Loading