From 46996609e3cfb9cab5f9455864d0b0ae9d76c613 Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Wed, 21 Jan 2026 20:00:59 +0000 Subject: [PATCH 1/5] remove compiler remarks in module w3tidemd --- model/src/w3tidemd.F90 | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/model/src/w3tidemd.F90 b/model/src/w3tidemd.F90 index 22bbdc4534..9939168996 100644 --- a/model/src/w3tidemd.F90 +++ b/model/src/w3tidemd.F90 @@ -289,8 +289,8 @@ SUBROUTINE TIDE_FIND_INDICES_PREDICTION(LIST,INDS,TIDE_PRMF) ! ! 10. Source code : ! - USE W3ODATMD, ONLY: IAPROC, NAPROC, NAPERR, NAPOUT - USE W3ODATMD, ONLY: NDSE, NDSO + USE W3ODATMD, ONLY: IAPROC, NAPOUT + USE W3ODATMD, ONLY: NDSO #ifdef W3_S USE W3SERVMD, ONLY: STRACE #endif @@ -387,8 +387,8 @@ SUBROUTINE TIDE_FIND_INDICES_ANALYSIS(LIST) ! ! 10. Source code : ! - USE W3ODATMD, ONLY: IAPROC, NAPROC, NAPERR, NAPOUT - USE W3ODATMD, ONLY: NDSE, NDSO + USE W3ODATMD, ONLY: IAPROC, NAPOUT + USE W3ODATMD, ONLY: NDSO #ifdef W3_S USE W3SERVMD, ONLY: STRACE #endif @@ -401,7 +401,6 @@ SUBROUTINE TIDE_FIND_INDICES_ANALYSIS(LIST) !/ CHARACTER(LEN=100), INTENT(IN) :: LIST(70) ! - INTEGER TIDE_MF_ALL CHARACTER(LEN=5) :: TIDECON_NAME_ALL(65) ! array of names of tidal constituents REAL :: TIDE_FREQC_ALL(65) ! array of freq. of tidal constituents INTEGER :: INDS(65), J, FOUND, NTIDES @@ -2137,8 +2136,8 @@ subroutine flex_tidana_webpage(IX,IY,XLON,XLAT,KD1,KD2,ndef, itrend, RES, SSQ, R FX, FXI, S, S2, S3, UX, VX, UXI, VXI, & WMIN, WMAX, XMID REAL :: TOLER - REAL(KIND=8) :: AV, SDEV, SUM2, hrm - DOUBLE PRECISION :: X(NR),Y(NR), TIME(NR) + REAL(KIND=8) :: AV, SDEV, hrm + DOUBLE PRECISION :: X(NR),TIME(NR) REAL :: Q(NMAXPM,NMAXP1),FREQ(MC),AMP(MC),PH(MC) DOUBLE PRECISION :: P(NMAXP1),CENHR,CUMHR DOUBLE PRECISION :: yy From ee87b3c55dc7d756fd64656c7dee83f000dad5a7 Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Wed, 21 Jan 2026 20:02:10 +0000 Subject: [PATCH 2/5] remove compiler remarks in module w3updtmd --- model/src/w3updtmd.F90 | 91 ++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 31 deletions(-) diff --git a/model/src/w3updtmd.F90 b/model/src/w3updtmd.F90 index ca6e03fe53..d426349808 100644 --- a/model/src/w3updtmd.F90 +++ b/model/src/w3updtmd.F90 @@ -244,7 +244,7 @@ SUBROUTINE W3UCUR ( FLFRST ) ! 10. Source code : ! !/ ------------------------------------------------------------------- / - USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSF + USE W3GDATMD, ONLY: NSEA, MAPSF #ifdef W3_SMC USE W3GDATMD, ONLY: NARC, NGLO, ANGARC USE W3GDATMD, ONLY: FSWND, ARCTC @@ -573,7 +573,7 @@ SUBROUTINE W3UWND ( FLFRST, VGX, VGY ) ! 10. Source code : ! !/ ------------------------------------------------------------------- / - USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSF + USE W3GDATMD, ONLY: NSEA, MAPSF #ifdef W3_WCOR USE W3GDATMD, ONLY: WWCOR #endif @@ -586,10 +586,13 @@ SUBROUTINE W3UWND ( FLFRST, VGX, VGY ) #ifdef W3_SMC USE W3GDATMD, ONLY: NARC, NGLO, ANGARC, ARCTC, FSWND #endif - USE W3WDATMD, ONLY: TIME, ASF - USE W3ADATMD, ONLY: DW, CX, CY, UA, UD, U10, U10D, AS, & + USE W3WDATMD, ONLY: TIME + USE W3ADATMD, ONLY: CX, CY, UA, UD, U10, U10D, AS, & UA0, UAI, UD0, UDI, AS0, ASI USE W3IDATMD, ONLY: TW0, WX0, WY0, DT0, TWN, WXN, WYN, DTN, FLCUR +#ifdef W3_STAB2 + USE W3WDATMD, ONLY: ASF +#endif !/ IMPLICIT NONE !/ @@ -605,15 +608,19 @@ SUBROUTINE W3UWND ( FLFRST, VGX, VGY ) #ifdef W3_S INTEGER, SAVE :: IENT = 0 #endif - REAL :: D0, DN, DD, DT0N, DT0T, RD, UI2, & - UXR, UYR + REAL :: D0, DN, DD, DT0N, DT0T, RD, UXR, UYR +#if defined(W3_OMPG) || defined(W3_WNT2) + REAL :: UI2 +#endif #ifdef W3_WNT2 REAL :: RD2 #endif #ifdef W3_STAB2 REAL :: STAB0, STAB, THARG1, THARG2, COR1, COR2 #endif +#if defined(W3_OMPG) || defined(W3_SMC) REAL :: UDARC +#endif !/ !/ ------------------------------------------------------------------- / !/ @@ -916,12 +923,19 @@ SUBROUTINE W3UTAU ( FLFRST ) #ifdef W3_S INTEGER, SAVE :: IENT = 0 #endif - REAL :: D0, DN, DD, DT0N, DT0T, RD, MI2, & - MXR, MYR + REAL :: D0, DN, DD, DT0N, DT0T, RD +#ifdef W3_OMPG + REAL :: MXR, MYR +#endif +#if defined(W3_OMPG) || defined(W3_WNT2) + REAL :: MI2 +#endif #ifdef W3_WNT2 REAL :: RD2 #endif +#if defined(W3_OMPG) || defined(W3_SMC) REAL :: MDARC +#endif !/ !/ ------------------------------------------------------------------- / !/ @@ -1120,8 +1134,8 @@ SUBROUTINE W3UINI ( A ) ! 10. Source code : ! !/ ------------------------------------------------------------------- / - USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, MAPSF, & - NK, NTH, TH, SIG, DTH, DSIP, UNGTYPE, & + USE W3GDATMD, ONLY : NSEAL, MAPSF, & + NK, NTH, TH, SIG, DTH, UNGTYPE, & RLGTYPE, CLGTYPE, GTYPE, FLAGLL, & HPFAC, HQFAC, FETCH USE W3ADATMD, ONLY: U10, U10D, CG @@ -1129,6 +1143,7 @@ SUBROUTINE W3UINI ( A ) USE W3PARALL, only : GET_JSEA_IBELONG #ifdef W3_T USE W3ARRYMD, ONLY : PRTBLK + USE W3GDATMD, ONLY : NX, NY, NSEA, DSIP #endif ! IMPLICIT NONE @@ -1141,23 +1156,21 @@ SUBROUTINE W3UINI ( A ) !/ ------------------------------------------------------------------- / !/ Local variables !/ - INTEGER :: IX, IY, ISEA, JSEA, IK, ITH, ISPROC + INTEGER :: IX, IY, ISEA, JSEA, IK, ITH #ifdef W3_S INTEGER, SAVE :: IENT = 0 -#endif -#ifdef W3_T - INTEGER :: IX0, IXN, MAPOUT(NX,NY) - INTEGER :: NXP = 60 #endif REAL :: ALFA(NSEAL), FP(NSEAL), YLN(NSEAL), & AA, BB, CC REAL :: XGR, U10C, U10DIR, XSTAR, FSTAR, & GAMMA, FR, D1(NTH), D1INT, F1, F2 - REAL :: ETOT, E1I REAL :: U10MIN = 1. REAL :: U10MAX = 20. #ifdef W3_T + INTEGER :: IX0, IXN, MAPOUT(NX,NY) + INTEGER :: NXP = 60 REAL :: HSIG(NX,NY) + REAL :: ETOT, E1I #endif !/ !/ ------------------------------------------------------------------- / @@ -1381,11 +1394,14 @@ SUBROUTINE W3UBPT ! 10. Source code : ! !/ ------------------------------------------------------------------- / - USE W3GDATMD, ONLY: NSPEC, MAPWN, SIG2, DDEN + USE W3GDATMD, ONLY: NSPEC, MAPWN, SIG2 #ifdef W3_RTD !! Use rotation angle and action conversion sub. JGLi12Jun2012 USE W3GDATMD, ONLY: NK, NTH, NSPEC, AnglD, PoLat USE W3SERVMD, ONLY: W3ACTURN +#endif +#ifdef W3_T0 + USE W3GDATMD, ONLY: DDEN #endif USE W3ADATMD, ONLY: CG USE W3ODATMD, ONLY: NBI, ABPI0, ABPIN, ISBPI, IPBPI, RDBPI, & @@ -1570,8 +1586,12 @@ SUBROUTINE W3UIC1( FLFRST ) ! !/ ------------------------------------------------------------------- / USE W3GDATMD, ONLY: NSEA, NSEA, MAPSF, IICEHMIN, IICEHFAC - USE W3WDATMD, ONLY: TIME, TIC1, ICEH - USE W3IDATMD, ONLY: TI1, ICEP1, FLIC1 + USE W3WDATMD, ONLY: TIC1, ICEH + USE W3IDATMD, ONLY: TI1, ICEP1 + +#ifdef W3_T + USE W3WDATMD, ONLY: TIME +#endif !/ IMPLICIT NONE !/ @@ -1683,7 +1703,11 @@ SUBROUTINE W3UIC5( FLFRST ) !/ ------------------------------------------------------------------- / USE W3IDATMD, ONLY: TI5, ICEP5 USE W3GDATMD, ONLY: NSEA, MAPSF - USE W3WDATMD, ONLY: TIME, TIC5, ICE, ICEH, ICEF, ICEDMAX + USE W3WDATMD, ONLY: TIC5, ICE, ICEH, ICEF, ICEDMAX + +#ifdef W3_T + USE W3WDATMD, ONLY: TIME +#endif !/ IMPLICIT NONE !/ @@ -1835,8 +1859,11 @@ SUBROUTINE W3UICE ( VA ) !/ ------------------------------------------------------------------- / USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSF, MAPSTA, MAPST2, & NSPEC, FICEN - USE W3WDATMD, ONLY: TIME, TICE, ICE, BERG, UST + USE W3WDATMD, ONLY: TICE, ICE, BERG, UST USE W3ADATMD, ONLY: NSEALM, CHARN +#ifdef W3_T + USE W3WDATMD, ONLY: TIME +#endif #if defined W3_ST3 || defined(W3_ST4) USE W3GDATMD, ONLY: AALPHA #endif @@ -2101,9 +2128,9 @@ SUBROUTINE W3ULEV ( A, VA ) !/ ------------------------------------------------------------------- / USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, MAPSF, MAPSTA, MAPST2, & ZB, DMIN, NK, NTH, NSPEC, SIG, DSIP, & - MAPWN, MAPTH, FACHFA, GTYPE, UNGTYPE, W3SETREF - USE W3WDATMD, ONLY: TIME, TLEV, WLV, UST - USE W3ADATMD, ONLY: CG, WN, DW, HS + MAPWN, FACHFA, GTYPE, UNGTYPE, W3SETREF + USE W3WDATMD, ONLY: TLEV, WLV, UST + USE W3ADATMD, ONLY: CG, WN, DW USE W3IDATMD, ONLY: TLN, WLEV USE W3SERVMD, ONLY: EXTCDE USE W3DISPMD, ONLY: WAVNU1 @@ -2127,6 +2154,11 @@ SUBROUTINE W3ULEV ( A, VA ) #ifdef W3_T3 USE W3ARRYMD, ONLY: PRT2DS + USE W3GDATMD, ONLY: MAPTH +#endif + +#if defined(W3_T) || defined(W3_TIDE) + USE W3WDATMD, ONLY: TIME #endif !/ IMPLICIT NONE @@ -2143,7 +2175,7 @@ SUBROUTINE W3ULEV ( A, VA ) #ifdef W3_S INTEGER, SAVE :: IENT = 0 #endif - INTEGER :: MAPDRY(NY,NX), ISPROC + INTEGER :: MAPDRY(NY,NX) REAL :: DWO(NSEA), KDCHCK, WNO(0:NK+1), & CGO(0:NK+1), DEPTH, & RDK, RD1, RD2, TA(NTH,NK), & @@ -2628,10 +2660,9 @@ SUBROUTINE W3URHO ( FLFRST ) #ifdef W3_SMC USE W3GDATMD, ONLY: FSWND #endif - USE W3WDATMD, ONLY: TIME, TRHO, RHOAIR + USE W3WDATMD, ONLY: TIME, RHOAIR USE W3IDATMD, ONLY: TR0, TRN, RH0, RHN USE W3ADATMD, ONLY: RA0, RAI - USE W3ODATMD, ONLY: IAPROC, NAPROC !/ IMPLICIT NONE !/ @@ -2808,8 +2839,7 @@ SUBROUTINE W3UTRN ( TRNX, TRNY ) ! !/ ------------------------------------------------------------------- / USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSTA, MAPSF, & - TRFLAG, FICE0, FICEN, FICEL, & - RLGTYPE, CLGTYPE, GTYPE, FLAGLL, & + TRFLAG, FICE0, FICEN, FICEL, RLGTYPE, CLGTYPE, FLAGLL, & HPFAC, HQFAC, FFACBERG USE W3WDATMD, ONLY: ICE, BERG USE W3ADATMD, ONLY: ATRNX, ATRNY @@ -3227,7 +3257,6 @@ SUBROUTINE W3DZXY( ZZ, ZUNIT, DZZDX, DZZDY ) USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSTA, MAPFS, MAPFS, & DPDX, DPDY, DQDX, DQDY, FLAGLL, ICLOSE, & ICLOSE_NONE, ICLOSE_SMPL, ICLOSE_TRPL - USE W3ODATMD, ONLY: NDSE, IAPROC, NAPERR, NAPROC USE W3SERVMD, ONLY: EXTCDE #ifdef W3_T USE W3ARRYMD, ONLY : PRTBLK @@ -3244,7 +3273,7 @@ SUBROUTINE W3DZXY( ZZ, ZUNIT, DZZDX, DZZDY ) REAL, INTENT(IN) :: ZZ(NSEA) CHARACTER, INTENT(IN) :: ZUNIT*(*) REAL, INTENT(OUT) :: DZZDX(NY,NX), DZZDY(NY,NX) - INTEGER :: ISEA, IX, IY, IXP, IXM, IYP, IYM + INTEGER :: IX, IY, IXP, IXM, IYP, IYM #ifdef W3_T INTEGER :: ISX, ISY, MAPOUT(NX,NY) #endif From 2efd7e58267a4ec97bb32b7908a9349c499874e6 Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Wed, 21 Jan 2026 20:02:40 +0000 Subject: [PATCH 3/5] remove compiler remarks in module w3wavemd --- model/src/w3wavemd.F90 | 75 +++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/model/src/w3wavemd.F90 b/model/src/w3wavemd.F90 index 6d1ba15cdf..1c321e594e 100644 --- a/model/src/w3wavemd.F90 +++ b/model/src/w3wavemd.F90 @@ -409,13 +409,13 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & USE CONSTANTS, ONLY : UNDEF, RADIUS, DERA, DAIR, SRCE_DIRECT, LPDLIB, & SRCE_IMP_POST, SRCE_IMP_PRE, TPIINV !/ - USE W3GDATMD, ONLY : IGRID, NSEAL, NSPEC, NX, NY, NK, NSEA, & - GTYPE, UNGTYPE, SMCTYPE, RSTYPE, FILEXT, & + USE W3GDATMD, ONLY : IGRID, NSEAL, NSPEC, NX, NY, NK, & + GTYPE, UNGTYPE, SMCTYPE, RSTYPE, & MAPSF, MAPFS, MAPSTA, IOBP, CTHG0S, & FLCTH, FSREFRACTION, FLCK, FSFREQSHIFT, FLAGLL, & FLDRY, FSTOTALIMP, FLCX, FLCY, FLSOU, FLAGST, & SIG, CLATS, TRNX, TRNY, DTMAX, DTCFLI, DTH, & - DMIN, W3SETG, MAPST2 + DMIN, W3SETG !/ USE W3WDATMD, ONLY : UST, IWDATA, TIME, TLEV, TICE, TIC1, VA, ASF, & RHOAIR, USTDIR, ICE, ICEH, ICEF, ICEDMAX, BERG, & @@ -431,8 +431,8 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & PHIOC, TWS, PHICE, CHARN, W3SETA, ITSTEP !/ USE W3IDATMD, ONLY : IIDATA, INFLAGS1, FLLEV, FLCUR, FLWIND, FLICE, & - FLTAUA, FLRHOA, FLIC1, FLIC2, FLIC3, FLIC4, & - FLIC5, TLN, TC0, TCN, TW0, TWN, TIN, TU0, TUN, & + FLTAUA, FLRHOA, FLIC1, & + TLN, TC0, TCN, TW0, TWN, TIN, TU0, TUN, & TI1, TGN, TG0, GA0, GAN, GD0, GDN, TDN, TRN, & TR0, W3SETI !/ @@ -440,7 +440,7 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & NDS, NOGE, NAPLOG, NAPOUT, NDSO, NDSE, NDST, & NAPROC, NAPERR, SCREEN, IAPROC, IOUTP, NOTYPE, & NAPBPT, TOFRST, TONEXT, TBPIN, TBPI0, TOLAST, & - DTOUT, NAPFLD, NAPPNT, W3SETO, FNMRST + DTOUT, NAPFLD, NAPPNT, W3SETO !/ USE W3UPDTMD, ONLY : W3DZXY, W3UWND, W3UINI, W3UTAU, W3URHO, W3UBPT, & W3UICE, W3ULEV, W3UCUR, W3UIC1, W3UTRN @@ -519,11 +519,11 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & #ifdef W3_IC3 USE W3SIC3MD, ONLY : CALLEDIC3TABLE, IC3TABLE_CHENG, W3IC3WNCG_V1, W3IC3WNCG_CHENG USE W3GDATMD, ONLY : IC3PARS - USE W3IDATMD, ONLY : ICEP1, ICEP2, ICEP3, ICEP4 + USE W3IDATMD, ONLY : ICEP1, ICEP2, ICEP3, ICEP4, FLIC2, FLIC3, FLIC4 #endif #ifdef W3_IS2 USE W3WDATMD, ONLY : TIC5 - USE W3IDATMD, ONLY : TI5 + USE W3IDATMD, ONLY : TI5, FLIC5 USE W3UPDTMD, ONLY : W3UIC5 #endif #ifdef W3_UOST @@ -555,6 +555,12 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & #endif #ifdef W3_TIMINGS USE W3PARALL, only : PRINT_MY_TIME +#endif +#if defined(W3_T) || defined(W3_REFRX) + USE W3GDATMD, ONLY : NSEA +#endif +#if defined(W3_T) || defined(W3_SBS) + USE W3GDATMD, ONLY : FILEXT #endif ! #ifdef W3_MPI @@ -580,15 +586,16 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & #ifdef W3_S INTEGER, SAVE :: IENT = 0 #endif - INTEGER :: IP INTEGER :: TCALC(2), IT, IT0, NT, ITEST, & - ITLOC, ITLOCH, NTLOC, ISEA, JSEA, & - IX, IY, ISPEC, J, TOUT(2), TLST(2), & - REFLED(6), IK, ITH, IS, NKCFL - INTEGER :: ISP, IP_glob + ITLOC, ITLOCH, NTLOC, ISEA, JSEA, & + IX, IY, ISPEC, J, TOUT(2), TLST(2), & + REFLED(6), IK, NKCFL INTEGER :: TTEST(2),DTTEST - REAL :: ICEDAVE ! +#ifdef W3_DEBUGRUN + INTEGER :: IS + LOGICAL :: FLAG0 = .FALSE. +#endif #ifdef W3_MPI LOGICAL :: SBSED #endif @@ -604,13 +611,15 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & #endif INTEGER :: IXrel REAL :: DTTST, DTTST1, DTTST2, DTTST3, & - DTL0, DTI0, DTR0, DTI10, DTI50, & - DTGA, DTG, DTGpre, DTRES, & - FAC, VGX, VGY, FACK, FACTH, & - FACX, XXX, REFLEC(4), & - DELX, DELY, DELA, DEPTH, D50, PSIC + DTL0, DTI0, DTI10, DTGA, DTG, DTRES, & + FAC, VGX, VGY, FACK, FACTH, & + FACX, XXX, REFLEC(4), & + DELX, DELY, DELA, DEPTH, D50, PSIC REAL :: VSioDummy(NSPEC), VDioDummy(NSPEC), VAoldDummy(NSPEC) LOGICAL :: SHAVETOTioDummy +#ifdef W3_IS2 + REAL :: DTI50 +#endif #ifdef W3_SEC1 REAL :: DTGTEMP #endif @@ -628,10 +637,9 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & ! REAL, ALLOCATABLE :: TAUWX(:), TAUWY(:) ! - LOGICAL :: FLACT, FLZERO, FLFRST, FLMAP, TSTAMP,& - SKIP_O, FLAG_O, FLDDIR, READBC, & - FLAG0 = .FALSE., FLOUTG, FLPFLD, & - FLPART, LOCAL, FLOUTG2 + LOGICAL :: FLACT, FLZERO, FLFRST, FLMAP, TSTAMP, & + SKIP_O, FLAG_O, FLDDIR, READBC, & + FLOUTG, FLPFLD, FLPART, LOCAL, FLOUTG2 ! #ifdef W3_MPI LOGICAL :: FLGMPI(0:8) @@ -645,11 +653,10 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & CHARACTER(LEN=21) :: IDACT CHARACTER(LEN=16) :: OUTID CHARACTER(LEN=23) :: IDTIME - INTEGER eIOBP - INTEGER ITH_F #ifdef W3_PDLIB - REAL :: VS_SPEC(NSPEC) - REAL :: VD_SPEC(NSPEC) + REAL :: VS_SPEC(NSPEC), VD_SPEC(NSPEC) + REAL :: DTGpre + INTEGER :: IP #endif ! #ifdef W3_SBS @@ -3091,13 +3098,14 @@ SUBROUTINE W3GATH ( ISPEC, FIELD ) USE W3SERVMD, ONLY: STRACE #endif !/ - USE W3GDATMD, ONLY: NSPEC, NX, NY, NSEA, NSEAL, MAPSF, DMIN + USE W3GDATMD, ONLY: NX, NY, NSEA, MAPSF USE W3PARALL, ONLY: INIT_GET_ISEA USE W3WDATMD, ONLY: A => VA #ifdef W3_MPI USE W3ADATMD, ONLY: MPIBUF, BSTAT, IBFLOC, ISPLOC, BISPL, & NSPLOC, NRQSG2, IRQSG2, GSTORE USE W3ODATMD, ONLY: NDST, IAPROC, NAPROC, NOTYPE + USE W3GDATMD, ONLY: NSEAL, NSPEC #endif !/ ! @@ -3399,7 +3407,7 @@ SUBROUTINE W3SCAT ( ISPEC, MAPSTA, FIELD ) ! 10. Source code : ! !/ ------------------------------------------------------------------- / - USE W3GDATMD, ONLY: NSEA, NSEAL, MAPSF, NSPEC, NX, NY + USE W3GDATMD, ONLY: NSEA, MAPSF, NX, NY #ifdef W3_S USE W3SERVMD, ONLY: STRACE #endif @@ -3408,12 +3416,14 @@ SUBROUTINE W3SCAT ( ISPEC, MAPSTA, FIELD ) #ifdef W3_MPI USE W3ADATMD, ONLY: MPIBUF, BSTAT, IBFLOC, ISPLOC, BISPL, & NSPLOC, NRQSG2, IRQSG2, SSTORE + USE W3GDATMD, ONLY: NSEAL, NSPEC #endif +#ifdef W3_MPIT USE W3ODATMD, ONLY: NDST +#endif #ifdef W3_MPI USE W3ODATMD, ONLY: IAPROC, NAPROC #endif - USE CONSTANTS, ONLY : LPDLIB USE W3PARALL, only: INIT_GET_ISEA !/ ! @@ -3699,8 +3709,11 @@ SUBROUTINE W3NMIN ( MAPSTA, FLAG0 ) #endif !/ USE W3GDATMD, ONLY: NSEA, MAPSF, NX, NY - USE W3ODATMD, ONLY: NDST, NAPROC + USE W3ODATMD, ONLY: NAPROC USE W3PARALL, ONLY: INIT_GET_JSEA_ISPROC +#ifdef W3_T + USE W3ODATMD, ONLY: NDST +#endif !/ !/ !/ ------------------------------------------------------------------- / From 3002d3a0a58484985aa5f7d313ea46624f34d495 Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Thu, 22 Jan 2026 17:42:08 +0000 Subject: [PATCH 4/5] remove compiler remarks in module w3srcemd --- model/src/w3srcemd.F90 | 72 ++++++++++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/model/src/w3srcemd.F90 b/model/src/w3srcemd.F90 index f76569cfa4..020786987a 100644 --- a/model/src/w3srcemd.F90 +++ b/model/src/w3srcemd.F90 @@ -498,12 +498,19 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & srce_direct, GRAV, TPI, TPIINV USE W3GDATMD, ONLY: NK, NTH, NSPEC, SIG, TH, DMIN, DTMAX, & DTMIN, FACTI1, FACTI2, FACSD, FACHFA, FACP, & - XFC, XFLT, XREL, XFT, FXFM, FXPM, DDEN, & - FTE, FTF, FHMAX, ECOS, ESIN, IICEDISP, & + XFLT, XREL, FXFM, FXPM, DDEN, & + FHMAX, ECOS, ESIN, IICEDISP, & ICESCALES, IICESMOOTH USE W3GDATMD, ONLY: IC_NUMERICS +#if defined(W3_NL5) || defined(W3_NNT) USE W3WDATMD, ONLY: TIME - USE W3ODATMD, ONLY: NDSE, NDST, IAPROC +#endif +#if defined(W3_T) || defined(W3_ST1) || defined(W3_ST2) || defined(W3_ST3) || defined(W3_ST6) + USE W3ODATMD, ONLY: NDST +#endif +#if defined(W3_NNT) || defined(W3_PDLIB) || defined(W3_DEBUGSRC) + USE W3ODATMD, ONLY: IAPROC +#endif USE W3IDATMD, ONLY: INFLAGS2 USE W3DISPMD #ifdef W3_T @@ -513,7 +520,7 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & USE W3GDATMD, ONLY: IOBP, IOBPD, GTYPE, UNGTYPE, REFPARS #endif #ifdef W3_NNT - USE W3ODATMD, ONLY: IAPROC, SCREEN, FNMPRE + USE W3ODATMD, ONLY: SCREEN, FNMPRE #endif #ifdef W3_FLD1 USE W3FLD1MD, ONLY: W3FLD1 @@ -549,7 +556,7 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #endif #ifdef W3_ST2 USE W3SRC2MD - USE W3GDATMD, ONLY : ZWIND + USE W3GDATMD, ONLY : ZWIND, XFC, XFT #endif #ifdef W3_ST3 USE W3SRC3MD @@ -638,6 +645,7 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #endif #ifdef W3_NNT USE W3SERVMD, ONLY: EXTOPN, EXTIOF + USE W3ODATMD, ONLY: NDSE #endif #ifdef W3_UOST USE W3UOSTMD, ONLY: UOST_SRCTRMCOMPUTE @@ -684,39 +692,42 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & !/ Local parameters !/ INTEGER :: IK, ITH, IS, IS0, NSTEPS, NKH, NKH1, & - IKS1, IS1, NSPECH, IDT, IERR, ISP + IKS1, IS1, NSPECH, IDT REAL :: DTTOT, FHIGH, DT, AFILT, DAMAX, AFAC, & - HDT, ZWND, FP, DEPTH, TAUSCX, TAUSCY, FHIGI + HDT, ZWND, DEPTH, TAUSCX, TAUSCY, FHIGI ! Scaling factor for SIN, SDS, SNL REAL :: ICESCALELN, ICESCALEIN, ICESCALENL, ICESCALEDS - REAL :: EMEAN, FMEAN, AMAX, CD, Z0, SCAT, & - SMOOTH_ICEDISP + REAL :: EMEAN, FMEAN, AMAX, CD, Z0 REAL :: WN_R(NK), CG_ICE(NK), ALPHA_LIU(NK), ICECOEF2, R(NK) - DOUBLE PRECISION :: ATT, ISO + DOUBLE PRECISION :: ATT REAL :: EBAND, DIFF, EFINISH, HSTOT, PHINL, & FMEAN1, FMEANWS, & FACTOR, FACTOR2, DRAT, TAUWAX, TAUWAY, & MWXFINISH, MWYFINISH, A1BAND, B1BAND, & COSI(2) - REAL :: SPECINIT(NSPEC), SPEC2(NSPEC), FRLOCAL, JAC2 - REAL :: DAM (NSPEC), DAM2(NSPEC), WN2(NSPEC), & + REAL :: SPECINIT(NSPEC), SPEC2(NSPEC) + REAL :: DAM (NSPEC), WN2(NSPEC), & VSLN(NSPEC), & VSIN(NSPEC), VDIN(NSPEC), & VSNL(NSPEC), VDNL(NSPEC), & VSDS(NSPEC), VDDS(NSPEC), & VSBT(NSPEC), VDBT(NSPEC) - REAL :: VS(NSPEC), VD(NSPEC), EB(NK) + REAL :: VS(NSPEC), VD(NSPEC) LOGICAL :: SHAVE LOGICAL :: LBREAK LOGICAL, SAVE :: FIRST = .TRUE. - LOGICAL :: PrintDeltaSmDA - REAL :: eInc1, eInc2, eVS, eVD, JAC - REAL :: DeltaSRC(NSPEC) + REAL :: eInc1, eInc2 - REAL :: FOUT(NK,NTH), SOUT(NK,NTH), DOUT(NK,NTH) REAL, SAVE :: TAUNUX, TAUNUY - LOGICAL, SAVE :: FLTEST = .FALSE., FLAGNN = .TRUE. + +#if defined(W3_OMPG) || defined(W3_T) || defined(W3_ST1) || defined(W3_ST2) || defined(W3_ST3) || defined(W3_ST6) + LOGICAL, SAVE :: FLTEST = .FALSE. +#endif + +#if defined(W3_OMPG) || defined(W3_NNT) + LOGICAL, SAVE :: FLAGNN = .TRUE. +#endif #ifdef W3_OMPG !$omp threadprivate( TAUNUX, TAUNUY) @@ -724,6 +735,13 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & !$omp threadprivate( FIRST ) #endif +#if defined(W3_PDLIB) || defined(W3_REF1) + INTEGER :: ISP +#endif + +#if defined(W3_ST0) || defined(W3_ST1) || defined(W3_ST2) || defined(W3_ST6) || defined(W3_FLX2) || defined(W3_FLX3) + REAL :: FP +#endif !/ !/ ------------------------------------------------------------------- / !/ Local parameters dependent on compile switch @@ -735,6 +753,9 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #ifdef W3_NNT INTEGER, SAVE :: NDSD = 89, NDSD2 = 88, J REAL :: QCERR = 0. !/XNL2 and !/NNT + INTEGER :: IERR + REAL :: FOUT(NK,NTH), SOUT(NK,NTH), DOUT(NK,NTH) + LOGICAL, SAVE :: FLAGNN = .TRUE. #endif #ifdef W3_NL5 @@ -786,7 +807,9 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #ifdef W3_IS2 REAL :: VDIR2(NSPEC) + REAL :: SCAT, SMOOTH_ICEDISP DOUBLE PRECISION :: SCATSPEC(NTH) + DOUBLE PRECISION :: ISO #endif #ifdef W3_UOST @@ -806,7 +829,7 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #endif #ifdef W3_ST4 - REAL :: FMEANS, FH1, FH2, FAGE, DLWMEAN + REAL :: FH1, FH2, FAGE, DLWMEAN REAL :: BRLAMBDA(NSPEC) #endif @@ -820,6 +843,9 @@ SUBROUTINE W3SRCE ( srce_call, IT, ISEA, JSEA, IX, IY, IMOD, & #ifdef W3_PDLIB REAL :: PreVS, DVS, SIDT, FAKS, MAXDAC + LOGICAL :: PrintDeltaSmDA + REAL :: DeltaSRC(NSPEC), DAM2(NSPEC) + REAL :: FRLOCAL, JAC, JAC2, eVS, eVD #endif #ifdef W3_NNT @@ -2578,7 +2604,7 @@ SUBROUTINE SIGN_VSD_SEMI_IMPLICIT_WW3(SPEC, VS, VD) USE W3SERVMD, ONLY: STRACE #endif ! - USE W3GDATMD, only : NTH, NK, NSPEC + USE W3GDATMD, only : NSPEC IMPLICIT NONE !/ !/ ------------------------------------------------------------------- / @@ -2594,7 +2620,7 @@ SUBROUTINE SIGN_VSD_SEMI_IMPLICIT_WW3(SPEC, VS, VD) !/ ------------------------------------------------------------------- / !/ - INTEGER :: ISP, ITH, IK, IS + INTEGER :: IS REAL, INTENT(IN) :: SPEC(NSPEC) REAL, INTENT(INOUT) :: VS(NSPEC), VD(NSPEC) #ifdef W3_S @@ -2667,7 +2693,7 @@ SUBROUTINE SIGN_VSD_PATANKAR_WW3(SPEC, VS, VD) #endif ! - USE W3GDATMD, only : NTH, NK, NSPEC + USE W3GDATMD, only : NSPEC IMPLICIT NONE !/ !/ ------------------------------------------------------------------- / @@ -2682,7 +2708,7 @@ SUBROUTINE SIGN_VSD_PATANKAR_WW3(SPEC, VS, VD) !/ !/ ------------------------------------------------------------------- / !/ - INTEGER :: ISP, ITH, IK, IS + INTEGER :: IS REAL, INTENT(IN) :: SPEC(NSPEC) REAL, INTENT(INOUT) :: VS(NSPEC), VD(NSPEC) #ifdef W3_S From fb63a676ff41184fceb5973d3db9bd9f0f2aa451 Mon Sep 17 00:00:00 2001 From: Ming Chen Date: Sat, 24 Jan 2026 03:49:44 +0000 Subject: [PATCH 5/5] fix error from w3wavemd for ufswm --- model/src/w3wavemd.F90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/model/src/w3wavemd.F90 b/model/src/w3wavemd.F90 index 1c321e594e..5dc6eb0733 100644 --- a/model/src/w3wavemd.F90 +++ b/model/src/w3wavemd.F90 @@ -556,6 +556,10 @@ SUBROUTINE W3WAVE ( IMOD, ODAT, TEND, STAMP, NO_OUT & #ifdef W3_TIMINGS USE W3PARALL, only : PRINT_MY_TIME #endif +#ifdef W3_PIO + USE W3ODATMD, ONLY : FNMRST + USE W3GDATMD, ONLY : MAPST2 +#endif #if defined(W3_T) || defined(W3_REFRX) USE W3GDATMD, ONLY : NSEA #endif