Skip to content

Commit

Permalink
Revert "FV3: this commits #56264: support fractional landmask on FV3 …
Browse files Browse the repository at this point in the history
…grid. No changes in results if current default non-frac landmask is used."

This reverts commit 1f45136.
  • Loading branch information
junwang-noaa committed May 15, 2019
1 parent 1f45136 commit 50685ca
Show file tree
Hide file tree
Showing 16 changed files with 1,625 additions and 1,127 deletions.
54 changes: 29 additions & 25 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1474,9 +1474,9 @@ subroutine assign_importdata(rc)
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
!if it is ocean or ice get sst from mediator
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%tseain_cpl(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%tsfco(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%tsfc(ix) = datar8(i,j)
endif
enddo
enddo
Expand All @@ -1496,11 +1496,13 @@ subroutine assign_importdata(rc)
ix = Atm_block%ixp(i,j)
IPD_Data(nb)%Coupling%ficein_cpl(ix) = 0.
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = 0.
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > 0. .and. &
datar8(i,j) > 0.15*IPD_Data(nb)%Sfcprop%oceanfrac(ix)) then
IPD_Data(nb)%Coupling%ficein_cpl(ix) = datar8(i,j)
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) == 1.) IPD_Data(nb)%Sfcprop%slmsk(ix) = 2. !slmsk=2 crashes in gcycle on partial land points
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = 4.
!if it is ocean or ice get sst from mediator
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
if( datar8(i,j) > 0.15 .and. IPD_Data(nb)%Sfcprop%lakemsk(ix) /= 1 ) then
IPD_Data(nb)%Coupling%ficein_cpl(ix) = datar8(i,j)
IPD_Data(nb)%Sfcprop%slmsk(ix) = 2.0
IPD_Data(nb)%Coupling%slimskin_cpl(ix) = 4.
endif
endif
enddo
enddo
Expand All @@ -1517,7 +1519,7 @@ 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) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%ulwsfcin_cpl(ix) = -datar8(i,j)
endif
enddo
Expand All @@ -1535,7 +1537,7 @@ 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) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%dqsfcin_cpl(ix) = -datar8(i,j)
endif
enddo
Expand All @@ -1553,7 +1555,7 @@ 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) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%dtsfcin_cpl(ix) = -datar8(i,j)
endif
enddo
Expand All @@ -1571,7 +1573,7 @@ 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) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%dusfcin_cpl(ix) = -datar8(i,j)
endif
enddo
Expand All @@ -1589,7 +1591,7 @@ 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) > 0.) then
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Coupling%dvsfcin_cpl(ix) = -datar8(i,j)
endif
enddo
Expand Down Expand Up @@ -1642,18 +1644,20 @@ subroutine assign_importdata(rc)
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
!if it is ocean or ice get sst from mediator
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) > 0.) then
if( IPD_Data(nb)%Coupling%ficein_cpl(ix) > 0.15*IPD_Data(nb)%Sfcprop%oceanfrac(ix)) 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)
else
IPD_Data(nb)%Sfcprop%fice(ix) = 0.
IPD_Data(nb)%Sfcprop%hice(ix) = 0.
IPD_Data(nb)%Sfcprop%snowd(ix) = 0.
if (IPD_Data(nb)%Sfcprop%oceanfrac(ix) == 1.) IPD_Data(nb)%Sfcprop%slmsk(ix) = 0. ! 100% open water
endif
if (IPD_Data(nb)%Sfcprop%slmsk(ix) < 0.1 .or. IPD_Data(nb)%Sfcprop%slmsk(ix) > 1.9) then
IPD_Data(nb)%Sfcprop%tisfc(ix) = IPD_Data(nb)%Coupling%tisfcin_cpl(ix)
if( IPD_Data(nb)%Sfcprop%lakemsk(ix) /= 1 ) then
if( IPD_Data(nb)%Coupling%ficein_cpl(ix) > 0.15 ) then
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)
else
IPD_Data(nb)%Sfcprop%fice(ix) = 0.
IPD_Data(nb)%Sfcprop%hice(ix) = 0.
IPD_Data(nb)%Sfcprop%snowd(ix) = 0.
IPD_Data(nb)%Sfcprop%slmsk(ix) = 0.
endif
endif
endif
enddo
enddo
Expand Down Expand Up @@ -2375,7 +2379,7 @@ subroutine addLsmask2grid(fcstgrid, rc)
nb = Atm_block%blkno(i,j)
ix = Atm_block%ixp(i,j)
! use land sea mask: land:1, ocean:0
lsmask(i,j) = floor(IPD_Data(nb)%SfcProp%landfrac(ix))
lsmask(i,j) = IPD_Data(nb)%SfcProp%slmsk(ix)
enddo
enddo
!
Expand Down
Loading

0 comments on commit 50685ca

Please sign in to comment.