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 jul302020 #155

Merged
merged 102 commits into from
Aug 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 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
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
38ab602
pointing gitmodule to cppp-physics master
SMoorthi-emc Aug 13, 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
139 changes: 86 additions & 53 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,10 @@ module atmos_model_mod
logical,parameter :: flip_vc = .true.
#endif

real(kind=IPD_kind_phys), parameter :: zero = 0.0_IPD_kind_phys, &
one = 1.0_IPD_kind_phys, &
epsln = 1.0e-10_IPD_kind_phys
real(kind=IPD_kind_phys), parameter :: zero = 0.0_IPD_kind_phys, &
one = 1.0_IPD_kind_phys, &
epsln = 1.0e-10_IPD_kind_phys, &
zorlmin = 1.0e-7_IPD_kind_phys

contains

Expand Down Expand Up @@ -299,13 +300,18 @@ subroutine update_atmos_radiation_physics (Atmos)
call stochastic_physics_wrapper(IPD_Control, IPD_Data, Atm_block)

!--- if coupled, assign coupled fields

if( IPD_Control%cplflx .or. IPD_Control%cplwav ) then
! print *,'in atmos_model,nblks=',Atm_block%nblks
! print *,'in atmos_model,IPD_Data size=',size(IPD_Data)
! print *,'in atmos_model,tsfc(1)=',IPD_Data(1)%sfcprop%tsfc(1)
! print *,'in atmos_model, tsfc size=',size(IPD_Data(1)%sfcprop%tsfc)

! if (mpp_pe() == mpp_root_pe() .and. debug) then
! print *,'in atmos_model,nblks=',Atm_block%nblks
! print *,'in atmos_model,IPD_Data size=',size(IPD_Data)
! print *,'in atmos_model,tsfc(1)=',IPD_Data(1)%sfcprop%tsfc(1)
! print *,'in atmos_model, tsfc size=',size(IPD_Data(1)%sfcprop%tsfc)
! endif

call assign_importdata(rc)
! print *,'in atmos_model, after assign_importdata, rc=',rc

endif

! Calculate total non-physics tendencies by substracting old IPD Stateout
Expand Down Expand Up @@ -881,7 +887,7 @@ subroutine update_atmos_model_state (Atmos)
if (mpp_pe() == mpp_root_pe()) write(6,*) ' gfs diags time since last bucket empty: ',time_int/3600.,'hrs'
call atmosphere_nggps_diag(Atmos%Time)
call FV3GFS_diag_output(Atmos%Time, IPD_DIag, Atm_block, IPD_Control%nx, IPD_Control%ny, &
IPD_Control%levs, 1, 1, 1.d0, time_int, time_intfull, &
IPD_Control%levs, 1, 1, 1.0_IPD_kind_phys, time_int, time_intfull, &
IPD_Control%fhswr, IPD_Control%fhlwr)
if (nint(IPD_Control%fhzero) > 0) then
if (mod(isec,3600*nint(IPD_Control%fhzero)) == 0) diag_time = Atmos%Time
Expand Down Expand Up @@ -1177,6 +1183,9 @@ subroutine update_atmos_chemistry(state, rc)
ntb = size(IPD_Data(1)%IntDiag%duem, dim=2)
nte = size(qu, dim=3)
do it = 1, min(ntb, nte)
!$OMP parallel do default (none) &
!$OMP shared (it, nj, ni, Atm_block, IPD_Data, qu) &
!$OMP private (j, jb, i, ib, nb, ix)
do j = 1, nj
jb = j + Atm_block%jsc - 1
do i = 1, ni
Expand All @@ -1189,17 +1198,22 @@ subroutine update_atmos_chemistry(state, rc)
enddo

nte = nte - ntb
do it = 1, min(size(IPD_Data(1)%IntDiag%ssem, dim=2), nte)
do j = 1, nj
jb = j + Atm_block%jsc - 1
do i = 1, ni
ib = i + Atm_block%isc - 1
nb = Atm_block%blkno(ib,jb)
ix = Atm_block%ixp(ib,jb)
IPD_Data(nb)%IntDiag%ssem(ix,it) = qu(i,j,it+ntb)
if (nte > 0) then
do it = 1, min(size(IPD_Data(1)%IntDiag%ssem, dim=2), nte)
!$OMP parallel do default (none) &
!$OMP shared (it, nj, ni, ntb, Atm_block, IPD_Data, qu) &
!$OMP private (j, jb, i, ib, nb, ix)
do j = 1, nj
jb = j + Atm_block%jsc - 1
do i = 1, ni
ib = i + Atm_block%isc - 1
nb = Atm_block%blkno(ib,jb)
ix = Atm_block%ixp(ib,jb)
IPD_Data(nb)%IntDiag%ssem(ix,it) = qu(i,j,it+ntb)
enddo
enddo
enddo
enddo
endif

!--- (c) sedimentation and dry/wet deposition
do it = 1, size(qd, dim=3)
Expand Down Expand Up @@ -1583,8 +1597,9 @@ subroutine assign_importdata(rc)
real(kind=ESMF_KIND_R4), dimension(:,:), pointer :: datar42d
real(kind=ESMF_KIND_R8), dimension(:,:), pointer :: datar82d
real(kind=IPD_kind_phys), dimension(:,:), pointer :: datar8
real(kind=IPD_kind_phys) :: tem
real(kind=IPD_kind_phys) :: tem, ofrac
logical found, isFieldCreated, lcpl_fice
real (kind=IPD_kind_phys), parameter :: z0ice=1.1 ! (in cm)
!
!------------------------------------------------------------------------------
!
Expand All @@ -1607,6 +1622,7 @@ subroutine assign_importdata(rc)

found = .false.


isFieldCreated = ESMF_FieldIsCreated(importFields(n), rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

Expand Down Expand Up @@ -1663,10 +1679,13 @@ subroutine assign_importdata(rc)
do i=isc,iec
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
tem = 100.0 * max(zero, min(0.1, datar8(i,j)))
IPD_Data(nb)%Coupling%zorlwav_cpl(ix) = tem
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero .and. datar8(i,j) > zorlmin) then
tem = 100.0_IPD_kind_phys * min(0.1_IPD_kind_phys, datar8(i,j))
! IPD_Data(nb)%Coupling%zorlwav_cpl(ix) = tem
IPD_Data(nb)%Sfcprop%zorlo(ix) = tem
IPD_Data(nb)%Sfcprop%zorlw(ix) = tem
else
IPD_Data(nb)%Sfcprop%zorlw(ix) = -999.0_IPD_kind_phys

endif
enddo
Expand All @@ -1685,8 +1704,9 @@ subroutine assign_importdata(rc)
do i=isc,iec
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
IPD_Data(nb)%Coupling%tisfcin_cpl(ix) = datar8(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero .and. datar8(i,j) > 150.0) then
! IPD_Data(nb)%Coupling%tisfcin_cpl(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%tisfc(ix) = datar8(i,j)
endif
enddo
enddo
Expand All @@ -1698,17 +1718,14 @@ subroutine assign_importdata(rc)
fldname = 'sea_surface_temperature'
if (trim(impfield_name) == trim(fldname)) then
findex = QueryFieldList(ImportFieldsList,fldname)
! if (mpp_pe() == mpp_root_pe() .and. debug) print *,' for sst', &
! ' fldname=',fldname,' findex=',findex,' importFieldsValid=',importFieldsValid(findex)

if (importFieldsValid(findex)) then
!$omp parallel do default(shared) private(i,j,nb,ix)
do j=jsc,jec
do i=isc,iec
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
IPD_Data(nb)%Coupling%tseain_cpl(ix) = datar8(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero .and. datar8(i,j) > 150.0) then
! IPD_Data(nb)%Coupling%tseain_cpl(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%tsfco(ix) = datar8(i,j)
endif
enddo
Expand All @@ -1723,23 +1740,26 @@ subroutine assign_importdata(rc)
if (trim(impfield_name) == trim(fldname)) then
findex = QueryFieldList(ImportFieldsList,fldname)
if (importFieldsValid(findex)) then
lcpl_fice = .true.
!$omp parallel do default(shared) private(i,j,nb,ix)
lcpl_fice = .true.
!$omp parallel do default(shared) private(i,j,nb,ix,ofrac)
do j=jsc,jec
do i=isc,iec
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
IPD_Data(nb)%Coupling%ficein_cpl(ix) = zero

IPD_Data(nb)%Sfcprop%fice(ix) = zero
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = IPD_Data(nb)%Sfcprop%slmsk(ix)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
IPD_Data(nb)%Coupling%ficein_cpl(ix) = max(zero, min(one, datar8(i,j)/IPD_Data(nb)%Sfcprop%oceanfrac(ix))) !LHS: ice frac wrt water area
if (IPD_Data(nb)%Coupling%ficein_cpl(ix) > one-epsln) IPD_Data(nb)%Coupling%ficein_cpl(ix)=one
if (IPD_Data(nb)%Coupling%ficein_cpl(ix) >= IPD_control%min_seaice) then
if (abs(one-IPD_Data(nb)%Sfcprop%oceanfrac(ix)) < epsln) IPD_Data(nb)%Sfcprop%slmsk(ix) = 2. !slmsk=2 crashes in gcycle on partial land points
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = 4.
ofrac = IPD_Data(nb)%Sfcprop%oceanfrac(ix)
if (ofrac > zero) then
IPD_Data(nb)%Sfcprop%fice(ix) = max(zero, min(one, datar8(i,j)/ofrac)) !LHS: ice frac wrt water area
if (IPD_Data(nb)%Sfcprop%fice(ix) >= IPD_control%min_seaice) then
if (IPD_Data(nb)%Sfcprop%fice(ix) > one-epsln) IPD_Data(nb)%Sfcprop%fice(ix) = one
if (abs(one-ofrac) < epsln) IPD_Data(nb)%Sfcprop%slmsk(ix) = 2.0_IPD_kind_phys !slmsk=2 crashes in gcycle on partial land points
! IPD_Data(nb)%Sfcprop%slmsk(ix) = 2.0_IPD_kind_phys
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = 4.0_IPD_kind_phys
else
IPD_Data(nb)%Coupling%ficein_cpl(ix) = zero
if (abs(one-IPD_Data(nb)%Sfcprop%oceanfrac(ix)) < epsln) then
IPD_Data(nb)%Sfcprop%fice(ix) = zero
if (abs(one-ofrac) < epsln) then
IPD_Data(nb)%Sfcprop%slmsk(ix) = zero
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = zero
end if
Expand Down Expand Up @@ -1870,7 +1890,8 @@ subroutine assign_importdata(rc)
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
IPD_Data(nb)%Coupling%hicein_cpl(ix) = datar8(i,j)
! IPD_Data(nb)%Coupling%hicein_cpl(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%hice(ix) = datar8(i,j)
endif
enddo
enddo
Expand Down Expand Up @@ -1913,25 +1934,36 @@ subroutine assign_importdata(rc)
ix = Atm_block%ixp(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > zero) then
!if it is ocean or ice get surface temperature from mediator
if(IPD_Data(nb)%Coupling%ficein_cpl(ix) >= IPD_control%min_seaice) then
IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Coupling%tisfcin_cpl(ix)
IPD_Data(nb)%Sfcprop%fice(ix) = IPD_Data(nb)%Coupling%ficein_cpl(ix)
IPD_Data(nb)%Sfcprop%hice(ix) = IPD_Data(nb)%Coupling%hicein_cpl(ix)
IPD_Data(nb)%Sfcprop%snowd(ix) = IPD_Data(nb)%Coupling%hsnoin_cpl(ix)
if (IPD_Data(nb)%Sfcprop%fice(ix) >= IPD_control%min_seaice) then

! if(IPD_Data(nb)%Coupling%ficein_cpl(ix) >= IPD_control%min_seaice) then
! IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Coupling%tisfcin_cpl(ix)
! IPD_Data(nb)%Sfcprop%fice(ix) = IPD_Data(nb)%Coupling%ficein_cpl(ix)
! IPD_Data(nb)%Sfcprop%hice(ix) = IPD_Data(nb)%Coupling%hicein_cpl(ix)
! IPD_Data(nb)%Sfcprop%snowd(ix) = IPD_Data(nb)%Coupling%hsnoin_cpl(ix)

IPD_Data(nb)%Coupling%hsnoin_cpl(ix) = IPD_Data(nb)%Coupling%hsnoin_cpl(ix) &
/ max(0.01_IPD_kind_phys, IPD_Data(nb)%Sfcprop%fice(ix))
! / max(0.01_IPD_kind_phys, IPD_Data(nb)%Coupling%ficein_cpl(ix))
IPD_Data(nb)%Sfcprop%zorli(ix) = z0ice
else
IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Coupling%tseain_cpl(ix)
IPD_Data(nb)%Sfcprop%fice(ix) = zero
IPD_Data(nb)%Sfcprop%hice(ix) = zero
IPD_Data(nb)%Sfcprop%snowd(ix) = zero
! IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Coupling%tseain_cpl(ix)
IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Sfcprop%tsfco(ix)
IPD_Data(nb)%Sfcprop%fice(ix) = zero
IPD_Data(nb)%Sfcprop%hice(ix) = zero
! IPD_Data(nb)%Sfcprop%snowd(ix) = zero
IPD_Data(nb)%Coupling%hsnoin_cpl(ix) = zero
!
IPD_Data(nb)%Coupling%dtsfcin_cpl(ix) = -99999.0 ! over open water - should not be used in ATM
IPD_Data(nb)%Coupling%dqsfcin_cpl(ix) = -99999.0 ! ,,
IPD_Data(nb)%Coupling%dusfcin_cpl(ix) = -99999.0 ! ,,
IPD_Data(nb)%Coupling%dvsfcin_cpl(ix) = -99999.0 ! ,,
IPD_Data(nb)%Coupling%dtsfcin_cpl(ix) = -99999.0 ! ,,
IPD_Data(nb)%Coupling%ulwsfcin_cpl(ix) = -99999.0 ! ,,
if (abs(one-IPD_Data(nb)%Sfcprop%oceanfrac(ix)) < epsln) &
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = zero ! 100% open water
if (abs(one-IPD_Data(nb)%Sfcprop%oceanfrac(ix)) < epsln) then ! 100% open water
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = zero
IPD_Data(nb)%Sfcprop%slmsk(ix) = zero
endif
endif
endif
enddo
Expand All @@ -1947,7 +1979,8 @@ subroutine assign_importdata(rc)
! abs(IPD_Data(nb)%Grid%xlat_d(ix)+58.99) < 0.1) then
! write(0,*)' in assign tisfc=',IPD_Data(nb)%Sfcprop%tisfc(ix), &
! ' oceanfrac=',IPD_Data(nb)%Sfcprop%oceanfrac(ix),' i=',i,' j=',j,&
! ' tisfcin=',IPD_Data(nb)%Coupling%tisfcin_cpl(ix), &
!! ' tisfcin=',IPD_Data(nb)%Coupling%tisfcin_cpl(ix), &
! ' tisfcin=',IPD_Data(nb)%Sfcprop%tisfc(ix), &
! ' fice=',IPD_Data(nb)%Sfcprop%fice(ix)
! endif
! enddo
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
90 changes: 90 additions & 0 deletions ccpp/suites/suite_FV3_GFS_cpld_rasmgshocnsst.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_GFS_cpld_rasmgshocnsst" lib="ccppphys" ver="3">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this must be 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>moninshoc</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_2015</scheme>
<scheme>h2ophys</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
<scheme>shoc</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>GFS_suite_interstitial_5</scheme>
<scheme>rascnv</scheme>
<scheme>GFS_DCNV_generic_post</scheme>
<scheme>GFS_suite_interstitial_4</scheme>
<scheme>cnvc90</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>m_micro_pre</scheme>
<scheme>m_micro</scheme>
<scheme>m_micro_post</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>
Loading