Skip to content

Commit

Permalink
Only use RHOAIR, and TAU* variables in source term calculations when
Browse files Browse the repository at this point in the history
FLX5 switch set
  • Loading branch information
ukmo-ccbunney committed Sep 28, 2021
1 parent f2aea81 commit 1669d94
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 97 deletions.
56 changes: 30 additions & 26 deletions model/ftn/w3iopomd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -621,11 +621,13 @@
!/RTD USE W3GDATMD, ONLY: NSPEC, AnglD, FLAGUNR
!/RTD USE W3SERVMD, ONLY: W3ACTURN
USE W3WDATMD, ONLY: ICE, ICEH, ICEF, RHOAIR
USE W3ADATMD, ONLY: CG, DW, UA, UD, AS, CX, CY, TAUA, TAUADIR, &
USE W3ADATMD, ONLY: CG, DW, UA, UD, AS, CX, CY, &
SP => SPPNT
!/FLX5 USE W3ADATMD, ONLY: TAUA, TAUADIR
USE W3ODATMD, ONLY: NDST, NOPTS, IPTINT, PTIFAC, IL, IW, II, &
DPO, WAO, WDO, ASO, CAO, CDO, ICEO, ICEHO, &
ICEFO, SPCO, NAPROC, TAUAO, TAUDO, DAIRO
ICEFO, SPCO, NAPROC
!/FLX5 USE W3ODATMD, ONLY: TAUAO, TAUDO, DAIRO
!/SETUP USE W3WDATMD, ONLY: ZETA_SETUP
!/SETUP USE W3ODATMD, ONLY: ZET_SETO
!/MPI USE W3ODATMD, ONLY: IRQPO2
Expand All @@ -651,8 +653,9 @@
!/MPI INTEGER :: STAT(MPI_STATUS_SIZE,4*NOPTS)
!/S INTEGER, SAVE :: IENT = 0
REAL :: RD(4), RDS, RDI, FACRD, &
WNDX, WNDY, TAUX, TAUY, CURX, CURY, &
FAC1(NK), FAC2(NK), FAC3(NK), FAC4(NK)
WNDX, WNDY, CURX, CURY, FAC1(NK), &
FAC2(NK), FAC3(NK), FAC4(NK)
!/FLX5 REAL :: TAUX, TAUY
INTEGER :: JSEA, ISEA
!/T REAL :: SPTEST(NK,NTH)
!/RTD REAL :: Spectr(NSPEC), AnglDIS
Expand Down Expand Up @@ -743,8 +746,8 @@
!/SETUP RD(3)*ZETA_SETUP(IS(3)) + &
!/SETUP RD(4)*ZETA_SETUP(IS(4))
!
DAIRO(I) = RD(1)*RHOAIR(IS(1)) + RD(2)*RHOAIR(IS(2)) + &
RD(3)*RHOAIR(IS(3)) + RD(4)*RHOAIR(IS(4))
!/FLX5 DAIRO(I) = RD(1)*RHOAIR(IS(1)) + RD(2)*RHOAIR(IS(2)) + &
!/FLX5 RD(3)*RHOAIR(IS(3)) + RD(4)*RHOAIR(IS(4))
!
WNDX = RD(1) * UA(IS(1)) * COS(UD(IS(1))) + &
RD(2) * UA(IS(2)) * COS(UD(IS(2))) + &
Expand All @@ -763,23 +766,23 @@
WDO(I) = 0.
END IF
!
TAUX = RD(1) * TAUA(IS(1)) * COS(TAUADIR(IS(1))) + &
RD(2) * TAUA(IS(2)) * COS(TAUADIR(IS(2))) + &
RD(3) * TAUA(IS(3)) * COS(TAUADIR(IS(3))) + &
RD(4) * TAUA(IS(4)) * COS(TAUADIR(IS(4)))
TAUY = RD(1) * TAUA(IS(1)) * SIN(TAUADIR(IS(1))) + &
RD(2) * TAUA(IS(2)) * SIN(TAUADIR(IS(2))) + &
RD(3) * TAUA(IS(3)) * SIN(TAUADIR(IS(3))) + &
RD(4) * TAUA(IS(4)) * SIN(TAUADIR(IS(4)))
!
TAUAO(I) = SQRT ( TAUX**2 + TAUY**2 )
IF ( TAUAO(I).GT.1.E-7 ) THEN
TAUDO(I) = ATAN2(TAUY,TAUX)
!/RTD IF ( FLAGUNR ) TAUDO(I) = TAUDO(I) - AnglD(IS(1))*DERA
ELSE
TAUDO(I) = 0.
END IF
!
!/FLX5 TAUX = RD(1) * TAUA(IS(1)) * COS(TAUADIR(IS(1))) + &
!/FLX5 RD(2) * TAUA(IS(2)) * COS(TAUADIR(IS(2))) + &
!/FLX5 RD(3) * TAUA(IS(3)) * COS(TAUADIR(IS(3))) + &
!/FLX5 RD(4) * TAUA(IS(4)) * COS(TAUADIR(IS(4)))
!/FLX5 TAUY = RD(1) * TAUA(IS(1)) * SIN(TAUADIR(IS(1))) + &
!/FLX5 RD(2) * TAUA(IS(2)) * SIN(TAUADIR(IS(2))) + &
!/FLX5 RD(3) * TAUA(IS(3)) * SIN(TAUADIR(IS(3))) + &
!/FLX5 RD(4) * TAUA(IS(4)) * SIN(TAUADIR(IS(4)))
!/FLX5!
!/FLX5 TAUAO(I) = SQRT ( TAUX**2 + TAUY**2 )
!/FLX5 IF ( TAUAO(I).GT.1.E-7 ) THEN
!/FLX5 TAUDO(I) = ATAN2(TAUY,TAUX)
!/FLX5!/RTD IF ( FLAGUNR ) TAUDO(I) = TAUDO(I) - AnglD(IS(1))*DERA
!/FLX5 ELSE
!/FLX5 TAUDO(I) = 0.
!/FLX5 END IF
!/FLX5!
ASO(I) = RD(1)*AS(IS(1)) + RD(2)*AS(IS(2)) + &
RD(3)*AS(IS(3)) + RD(4)*AS(IS(4))
!
Expand Down Expand Up @@ -962,7 +965,8 @@
USE W3ODATMD, ONLY: NDST, NDSE, IPASS => IPASS2, NOPTS, IPTINT, &
IL, IW, II, PTLOC, PTIFAC, DPO, WAO, WDO, &
ASO, CAO, CDO, SPCO, PTNME, O2INIT, FNMPRE, &
GRDID, ICEO, ICEHO, ICEFO, TAUAO, TAUDO, DAIRO
GRDID, ICEO, ICEHO, ICEFO
!/FLX5 USE W3ODATMD, ONLY: TAUAO, TAUDO, DAIRO
USE W3ODATMD, ONLY : OFILES
!/
!/SETUP USE W3ODATMD, ONLY: ZET_SETO
Expand Down Expand Up @@ -1188,14 +1192,14 @@
IL(I) = 0
WRITE (NDSOP) &
IW(I), II(I), IL(I), DPO(I), WAO(I), WDO(I), &
TAUAO(I), TAUDO(I), DAIRO(I), &
!/FLX5 TAUAO(I), TAUDO(I), DAIRO(I), &
!/SETUP ZET_SETO(I), &
ASO(I), CAO(I), CDO(I), ICEO(I), ICEHO(I), &
ICEFO(I), GRDID(I), (SPCO(J,I),J=1,NSPEC)
ELSE
READ (NDSOP,END=801,ERR=802,IOSTAT=IERR) &
IW(I), II(I), IL(I), DPO(I), WAO(I), WDO(I), &
TAUAO(I), TAUDO(I), DAIRO(I), &
!/FLX5 TAUAO(I), TAUDO(I), DAIRO(I), &
!/SETUP ZET_SETO(I), &
ASO(I), CAO(I), CDO(I), ICEO(I), ICEHO(I), &
ICEFO(I), GRDID(I), (SPCO(J,I),J=1,NSPEC)
Expand Down
16 changes: 8 additions & 8 deletions model/ftn/w3odatmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@
!/MPI INTEGER, POINTER :: IRQPO1(:), IRQPO2(:)
REAL, POINTER :: PTLOC(:,:), PTIFAC(:,:), &
DPO(:), WAO(:), WDO(:), ASO(:), &
TAUAO(:), TAUDO(:), DAIRO(:), &
!/FLX5 TAUAO(:), TAUDO(:), DAIRO(:), &
CAO(:), CDO(:), ICEO(:), ICEHO(:), &
ICEFO(:), SPCO(:,:)
REAL, POINTER :: ZET_SETO(:) ! For the wave setup.
Expand Down Expand Up @@ -463,7 +463,7 @@
!/MPI INTEGER, POINTER :: IRQPO1(:), IRQPO2(:)
REAL, POINTER :: PTLOC(:,:), PTIFAC(:,:), &
DPO(:), WAO(:), WDO(:), ASO(:), &
TAUAO(:), TAUDO(:), DAIRO(:), &
!/FLX5 TAUAO(:), TAUDO(:), DAIRO(:), &
CAO(:), CDO(:), ICEO(:), ICEHO(:), &
ICEFO(:), SPCO(:,:)
REAL, POINTER :: ZET_SETO(:)
Expand Down Expand Up @@ -998,9 +998,9 @@
OUTPTS(IMOD)%OUT2%ZET_SETO(NPT) , &
OUTPTS(IMOD)%OUT2%WDO(NPT) , &
OUTPTS(IMOD)%OUT2%ASO(NPT) , &
OUTPTS(IMOD)%OUT2%TAUAO(NPT) , &
OUTPTS(IMOD)%OUT2%TAUDO(NPT) , &
OUTPTS(IMOD)%OUT2%DAIRO(NPT) , &
!/FLX5 OUTPTS(IMOD)%OUT2%TAUAO(NPT) , &
!/FLX5 OUTPTS(IMOD)%OUT2%TAUDO(NPT) , &
!/FLX5 OUTPTS(IMOD)%OUT2%DAIRO(NPT) , &
OUTPTS(IMOD)%OUT2%CAO(NPT) , &
OUTPTS(IMOD)%OUT2%CDO(NPT) , &
OUTPTS(IMOD)%OUT2%ICEO(NPT) , &
Expand Down Expand Up @@ -1577,9 +1577,9 @@
ZET_SETO => OUTPTS(IMOD)%OUT2%ZET_SETO
WDO => OUTPTS(IMOD)%OUT2%WDO
ASO => OUTPTS(IMOD)%OUT2%ASO
TAUAO => OUTPTS(IMOD)%OUT2%TAUAO
TAUDO => OUTPTS(IMOD)%OUT2%TAUDO
DAIRO => OUTPTS(IMOD)%OUT2%DAIRO
!/FLX5 TAUAO => OUTPTS(IMOD)%OUT2%TAUAO
!/FLX5 TAUDO => OUTPTS(IMOD)%OUT2%TAUDO
!/FLX5 DAIRO => OUTPTS(IMOD)%OUT2%DAIRO
CAO => OUTPTS(IMOD)%OUT2%CAO
CDO => OUTPTS(IMOD)%OUT2%CDO
ICEO => OUTPTS(IMOD)%OUT2%ICEO
Expand Down
4 changes: 3 additions & 1 deletion model/ftn/w3src4md.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,9 @@
CONTAINS
!/ ------------------------------------------------------------------- /
SUBROUTINE W3SPR4 (A, CG, WN, EMEAN, FMEAN, FMEAN1, WNMEAN, &
AMAX, U, UDIR, TAUA, TAUADIR, DAIR, USTAR, USDIR, &
AMAX, U, UDIR, &
!/FLX5 TAUA, TAUADIR, DAIR, &
USTAR, USDIR, &
TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS, DLWMEAN)
!/
!/ +-----------------------------------+
Expand Down
31 changes: 17 additions & 14 deletions model/ftn/w3srcemd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@
SUBROUTINE W3SRCE ( srce_call, IT, JSEA, IX, IY, IMOD, &
SPECOLD, SPEC, VSIO, VDIO, SHAVEIO, &
ALPHA, WN1, CG1, &
D_INP, U10ABS, U10DIR, TAUA, TAUADIR, &
AS, USTAR, USTDIR, &
D_INP, U10ABS, U10DIR, AS, USTAR, USTDIR, &
!/FLX5 TAUA, TAUADIR, &
CX, CY, ICE, ICEH, ICEF, ICEDMAX, &
REFLEC, REFLED, DELX, DELY, DELA, TRNX, &
TRNY, BERG, FPI, DTDYN, FCUT, DTG, TAUWX, &
Expand Down Expand Up @@ -430,10 +430,10 @@
REAL, intent(in) :: SPECOLD(NSPEC)
REAL, INTENT(OUT) :: VSIO(NSPEC), VDIO(NSPEC)
LOGICAL, INTENT(OUT) :: SHAVEIO
REAL, INTENT(IN) :: D_INP, U10ABS, &
U10DIR, TAUA, TAUADIR, AS, CX, &
CY, DTG, D50,PSIC, &
REAL, INTENT(IN) :: D_INP, U10ABS, &
U10DIR, AS, CX, CY, DTG, D50,PSIC, &
ICE, ICEH
!/FLX5 REAL, INTENT(IN) :: TAUA, TAUADIR
INTEGER, INTENT(IN) :: REFLED(6)
REAL, INTENT(IN) :: REFLEC(4), DELX, DELY, DELA, &
TRNX, TRNY, BERG, ICEDMAX, DAIR
Expand Down Expand Up @@ -691,8 +691,10 @@
!/ST4 USTAR=0.
!/ST4 USTDIR=0.
!/ST4 ELSE
!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, &
!/ST4 AMAX, U10ABS, U10DIR, TAUA, TAUADIR, DAIR, USTAR, USTDIR, &
!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, &
!/ST4 AMAX, U10ABS, U10DIR, &
!/ST4!/FLX5 TAUA, TAUADIR, DAIR, &
!/ST4 USTAR, USTDIR, &
!/ST4 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS, DLWMEAN)

!/DEBUGSRC!/ST4 IF (IX == DEBUG_NODE) THEN
Expand All @@ -718,13 +720,12 @@
!/DEBUGSRC!/ST4 WRITE(740+IAPROC,*) '1: W3SIN4(min/max/sum)VDIN=', minval(VDIN), maxval(VDIN), sum(VDIN)
!/DEBUGSRC!/ST4 END IF

!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, &
!/ST4 AMAX, U10ABS, U10DIR, TAUA, TAUADIR, DAIR, USTAR, USTDIR, &
!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, &
!/ST4 AMAX, U10ABS, U10DIR, &
!/ST4!/FLX5 TAUA, TAUADIR, DAIR, &
!/ST4 USTAR, USTDIR, &
!/ST4 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS, DLWMEAN)

!/ST4 TWS = 1./FMEANWS


!/ST6 CALL W3SPR6 (SPEC, CG1, WN1, EMEAN, FMEAN, WNMEAN, AMAX, FP)
!
! 1.c2 Stores the initial data
Expand Down Expand Up @@ -1154,8 +1155,10 @@
!/ST3 CALL W3SPR3 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEANS, &
!/ST3 WNMEAN, AMAX, U10ABS, U10DIR, USTAR, USTDIR, &
!/ST3 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS)
!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, &
!/ST4 AMAX, U10ABS, U10DIR, TAUA, TAUADIR, DAIR, USTAR, USTDIR, &
!/ST4 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN,&
!/ST4 AMAX, U10ABS, U10DIR, &
!/ST4!/FLX5 TAUA, TAUADIR, DAIR, &
!/ST4 USTAR, USTDIR, &
!/ST4 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS, DLWMEAN)
!/ST6 CALL W3SPR6 (SPEC, CG1, WN1, EMEAN, FMEAN, WNMEAN, AMAX, FP)
!
Expand Down
3 changes: 2 additions & 1 deletion model/ftn/w3wavemd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -2075,7 +2075,8 @@
VSioDummy, VDioDummy, SHAVETOTioDummy, &
ALPHA(1:NK,JSEA), WN(1:NK,ISEA), &
CG(1:NK,ISEA), DW(ISEA), U10(ISEA), &
U10D(ISEA), TAUA(ISEA), TAUADIR(ISEA), &
U10D(ISEA), &
!/FLX5 TAUA(ISEA), TAUADIR(ISEA), &
AS(ISEA), UST(ISEA), &
USTDIR(ISEA), CX(ISEA), CY(ISEA), &
ICE(ISEA), ICEH(ISEA), ICEF(ISEA), &
Expand Down
Loading

0 comments on commit 1669d94

Please sign in to comment.