Skip to content
24 changes: 8 additions & 16 deletions model/src/ww3_gint.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1302,19 +1302,11 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
!
IX = MAPSF(ISEA,1)
IY = MAPSF(ISEA,2)
MAPICE = MOD(MAPST2(IY,IX),2)
MAPDRY = MOD(MAPST2(IY,IX)/2,2)
MAPLND = MOD(MAPST2(IY,IX)/4,2)
MAPMSK = MOD(MAPST2(IY,IX)/8,2)
MAPINT = MOD(MAPST2(IY,IX)/16,2)
MAPST2(IY,IX) = MAPST2(IY,IX) - MAPICE - 2*MAPDRY - 4*MAPLND &
- 8*MAPMSK
ACTIVE = (MAPICE .NE. 1 .AND. MAPDRY .NE. 1)
!
IF ( MAPINT .EQ. 0 ) THEN
!
! Initial loop to determine status map
! Initialize by setting it to be ice free and wet
!
MAPICE = 0
MAPDRY = 0
Expand Down Expand Up @@ -1361,8 +1353,8 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
IF ( NMAPDRY .GT. 50 ) MAPDRYT = 1
IF ( NMAPLND .GT. 50 ) MAPLNDT = 1
IF ( NMAPMSK .GT. 50 ) MAPMSKT = 1
ACTIVE = (MAPICET .NE. 1 .AND. MAPDRYT .NE. 1 .AND. &
MAPLNDT .NE. 1 .AND. MAPMSKT .NE. 1)
! Allow use of grid with ice or dry point. Allow merge of group 1 output
ACTIVE = (MAPLNDT .NE. 1 .AND. MAPMSKT .NE. 1)
IF ( ACTIVE ) THEN
USEGRID(IG) = .TRUE.
SUMGRD = SUMGRD+1
Expand Down Expand Up @@ -1572,7 +1564,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
!
! Group 1 variables
!
IF ( FLOGRD(1,1) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,1) ) THEN
IF ( WADATS(IGRID)%DW(GSEA) .NE. UNDEF ) THEN
SUMWT1(1) = SUMWT1(1) + WT
IF ( DWAUX .EQ. UNDEF ) THEN
Expand All @@ -1583,7 +1575,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
END IF
END IF
!
IF ( FLOGRD(1,2) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,2) ) THEN
IF ( WADATS(IGRID)%CX(GSEA) .NE. UNDEF ) THEN
SUMWT1(2) = SUMWT1(2) + WT
IF ( CXAUX .EQ. UNDEF ) THEN
Expand All @@ -1609,7 +1601,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
END IF
END IF
!
IF ( FLOGRD(1,4) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,4) ) THEN
IF ( WADATS(IGRID)%AS(GSEA) .NE. UNDEF ) THEN
SUMWT1(4) = SUMWT1(4) + WT
IF ( ASAUX .EQ. UNDEF ) THEN
Expand All @@ -1620,7 +1612,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
END IF
END IF
!
IF ( FLOGRD(1,5) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,5) ) THEN
IF ( WDATAS(IGRID)%WLV(GSEA) .NE. UNDEF ) THEN
SUMWT1(5) = SUMWT1(5) + WT
IF ( WLVAUX .EQ. UNDEF ) THEN
Expand All @@ -1642,7 +1634,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
END IF
END IF
!
IF ( FLOGRD(1,7) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,7) ) THEN
IF ( WDATAS(IGRID)%BERG(GSEA) .NE. UNDEF ) THEN
SUMWT1(7) = SUMWT1(7) + WT
IF ( BERGAUX .EQ. UNDEF ) THEN
Expand All @@ -1666,7 +1658,7 @@ SUBROUTINE W3EXGI ( NGRD, NSEA, NOSWLL_MIN, INTMETHOD, OUTorRESTflag, &
END IF
END IF
!
IF ( FLOGRD(1,9) .AND. ACTIVE ) THEN
IF ( FLOGRD(1,9) ) THEN
IF ( WDATAS(IGRID)%RHOAIR(GSEA) .NE. UNDEF ) THEN
SUMWT1(9) = SUMWT1(9) + WT
IF ( RHOAIRAUX .EQ. UNDEF ) THEN
Expand Down
Loading