Skip to content

Commit 1ec32bb

Browse files
committed
Solve conflicts in merge from NOAA-EMC/WW3 develop
2 parents 3a687e4 + 68c550d commit 1ec32bb

69 files changed

Lines changed: 3042 additions & 891 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

model/bin/ww3_from_ftp.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ cp -r data_regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM regtests/ww
105105
cp -r data_regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM6
106106
cp -r data_regtests/ww3_tp2.14/input/toy/*.nc regtests/ww3_tp2.14/input/toy/
107107
cp -r data_regtests/ww3_tp2.17/input/* regtests/ww3_tp2.17/input/
108+
cp -r data_regtests/ww3_tp2.17/input_ice/* regtests/ww3_tp2.17/input_ice/
108109
cp -r data_regtests/ww3_tp2.19/input/* regtests/ww3_tp2.19/input/
109110
cp -r data_regtests/ww3_tp2.21/input/* regtests/ww3_tp2.21/input/
110111
cp -r data_regtests/mww3_test_09/input/* regtests/mww3_test_09/input/

model/src/PDLIB/yowelementpool.F90

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,14 @@ module yowElementpool
7171
!> conversione: If a element is connected to domain 1,2 and 3. It belongs to 1,2 and 3.
7272
!> @param[in] rank optional. If not given, datapool:myrank is used
7373
function belongTo(ele_in, rank)
74-
use yowDatapool, only: myrank, nTasks
74+
use yowDatapool, only: myrank
7575
use yowNodepool, only: t_Node, nodes_global
7676
implicit none
7777
integer, intent(in) :: ele_in(3)
7878
integer, intent(in), optional :: rank
7979
logical :: belongTo
8080

8181
integer :: myDomainID
82-
integer :: nodes(3)
8382
integer J
8483

8584
if(present(rank) .eqv. .true.) then

model/src/PDLIB/yowexchangeModule.F90

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ subroutine createMPIType(this)
151151
use yowerr
152152
use mpi_f08
153153
use yowNodepool, only: ghostgl, np, ipgl
154-
use yowDatapool, only: rtype, itype
154+
use yowDatapool, only: rtype
155155
implicit none
156156
class(t_neighborDomain), intent(inout) :: this
157157

@@ -249,7 +249,7 @@ end subroutine createMPITypes
249249
!> \note MPI send tag: 10000 + neighbor MPI rank
250250
subroutine PDLIB_exchange1Dreal(U)
251251
use yowDatapool, only: comm, myrank, rkind
252-
use yowNodepool, only: t_Node, nodes_global, np, ng, ghosts, npa
252+
use yowNodepool, only: t_Node, ghosts, npa
253253
use yowerr
254254
use mpi_f08
255255
implicit none
@@ -302,10 +302,12 @@ end subroutine PDLIB_exchange1Dreal
302302
!> \note MPI send tag: 30000 + neighbor MPI rank
303303
subroutine PDLIB_exchange2Dreal(U)
304304
use yowDatapool, only: comm, myrank, rkind
305-
use yowNodepool, only: t_Node, nodes_global, np, ng, ghosts, npa
305+
use yowNodepool, only: t_Node, ghosts
306306
use yowerr
307307
use mpi_f08
308+
#ifdef W3_DEBUGEXCH
308309
USE W3ODATMD, only : IAPROC
310+
#endif
309311
implicit none
310312
real(kind=rkind), intent(inout) :: U(:,:)
311313

@@ -417,7 +419,6 @@ subroutine PDLIB_exchange1Dreal_zero(U)
417419
integer :: i, ierr, tag
418420
type(MPI_REQUEST) :: sendRqst(nConnDomains), recvRqst(nConnDomains)
419421
type(MPI_STATUS) :: recvStat(nConnDomains), sendStat(nConnDomains)
420-
character(len=200) errstr
421422

422423
! It is impossible to add these range checks because assumed shape array start vom 1:npa+1 even if you allocate it from 0:npa
423424

@@ -487,7 +488,6 @@ subroutine PDLIB_exchange2Dreal_zero(U)
487488
integer :: i, ierr, tag
488489
type(MPI_REQUEST) :: sendRqst(nConnDomains), recvRqst(nConnDomains)
489490
type(MPI_STATUS) :: recvStat(nConnDomains), sendStat(nConnDomains)
490-
character(len=200) errstr
491491

492492
! It is impossible to add these range checks because assumed shape array start vom 1:npa+1 even if you allocate it from 0:npa
493493
! if(size(U,2) /= npa+1) then

model/src/PDLIB/yowfunction.F90

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,15 @@ END SUBROUTINE PDLIB_ABORT
5555
!* *
5656
!**********************************************************************
5757
SUBROUTINE ComputeListNP_ListNPA_ListIPLG_Kernel
58-
USE W3ODATMD, only : IAPROC, NAPROC, NTPROC
58+
USE W3ODATMD, only : IAPROC, NAPROC
5959
USE W3ADATMD, ONLY: MPI_COMM_WCMP
60-
USE yowDatapool, only: rtype, istatus
60+
USE yowDatapool, only: istatus
6161
USE yowNodepool, only: npa, np, iplg
6262
USE yowNodepool, only: ListNP, ListNPA, ListIPLG
6363
use mpi_f08
64+
#ifdef W3_DEBUGINIT
65+
USE W3ODATMD, only : NTPROC
66+
#endif
6467
IMPLICIT NONE
6568
integer IPROC, idx, IP, len, istat, sumNP, ierr
6669
integer, allocatable :: iVect(:)
@@ -195,8 +198,7 @@ END SUBROUTINE ComputeListNP_ListNPA_ListIPLG_Kernel
195198
SUBROUTINE ComputeListNP_ListNPA_ListIPLG
196199
USE W3ODATMD, only : IAPROC, NAPROC, NTPROC
197200
USE W3ADATMD, ONLY: MPI_COMM_WAVE
198-
USE yowDatapool, only: rtype, istatus
199-
USE yowNodepool, only: npa, np, iplg
201+
USE yowDatapool, only: istatus
200202
USE yowNodepool, only: ListNP, ListNPA, ListIPLG
201203
use mpi_f08
202204
IMPLICIT NONE
@@ -281,9 +283,9 @@ END SUBROUTINE ComputeListNP_ListNPA_ListIPLG
281283
!* *
282284
!**********************************************************************
283285
SUBROUTINE ComputeBoundaryInformation
284-
use yowNodepool, only: ListNP, ListNPA, ListIPLG
286+
use yowNodepool, only: ListNPA, ListIPLG
285287
USE W3GDATMD, ONLY: IOBP
286-
USE W3ODATMD, only : IAPROC, NAPROC
288+
USE W3ODATMD, only : NAPROC
287289
IMPLICIT NONE
288290
integer ListFirst(NAPROC), NbSend(NAPROC)
289291
integer IPROC, eSend, IP, IP_glob, NPAloc

model/src/PDLIB/yowpdlibmain.F90

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,17 @@ module yowpdlibMain
6565
subroutine initFromGridDim(MNP, MNE, INE_global, secDim, MPIcomm)
6666
use mpi_f08, only: MPI_COMM
6767
use yowDatapool, only: myrank, debugPrePartition, debugPostPartition
68-
use yowNodepool, only: np_global, np, np_perProcSum, ng, ipgl, iplg, npa
68+
use yowNodepool, only: np_global, np, np_perProcSum, ng
6969
use yowElementpool, only: ne_global,ne
7070
use yowSidepool, only: ns, ns_global
7171
use yowExchangeModule, only: nConnDomains, setDimSize
72-
use yowRankModule, only: initRankModule, ipgl_npa
72+
use yowRankModule, only: initRankModule
7373

7474
integer, intent(in) :: MNP, MNE
7575
integer, intent(in) :: INE_global(3,MNE)
7676
integer, intent(in) :: secDim
7777
type(MPI_COMM), intent(in) :: MPIcomm
78-
integer :: istat, memunit
78+
integer :: memunit
7979

8080
! note: myrank=0 until after initMPI is called, so only rank=0 file
8181
! contains the 'section 1' information
@@ -433,12 +433,16 @@ subroutine runParmetis(MNP)
433433
! Parmetis
434434
! Node neighbor information
435435
integer :: wgtflag, numflag, ndims, nparts, edgecut, ncon
436-
integer, allocatable :: xadj(:), part(:), vwgt(:), adjwgt(:), vtxdist(:), options(:), adjncy(:), iweights(:)
436+
integer, allocatable :: xadj(:), part(:), vwgt(:), adjwgt(:), vtxdist(:), options(:), adjncy(:)
437+
#ifdef WEIGHTS
438+
integer, allocatable :: iweights(:)
439+
integer :: itmp
440+
logical :: lexist = .false.
441+
#endif
437442
! parmetis need single precision
438443
real(4), allocatable :: xyz(:), tpwgts(:), ubvec(:)
439-
integer :: IP_glob, itmp
444+
integer :: IP_glob
440445
integer :: ref
441-
logical :: lexist = .false.
442446
! Node to domain mapping.
443447
! np_global long. give the domain number for die global node number
444448
integer, allocatable :: node2domain(:)
@@ -1018,7 +1022,7 @@ end subroutine findGhostNodes
10181022
subroutine findConnDomains
10191023
use yowerr, only: parallel_abort
10201024
use yowNodepool, only: ghosts, ng, t_Node
1021-
use yowDatapool, only: nTasks, myrank
1025+
use yowDatapool, only: nTasks
10221026
use yowExchangeModule, only: neighborDomains, initNbrDomains
10231027

10241028
integer :: i, stat, itemp
@@ -1102,7 +1106,7 @@ end subroutine findConnDomains
11021106
subroutine exchangeGhostIds
11031107
use yowerr
11041108
use yowNodepool, only: np, t_node, nodes
1105-
use yowDatapool, only: nTasks, myrank, comm
1109+
use yowDatapool, only: myrank, comm
11061110
use yowExchangeModule, only: neighborDomains, nConnDomains, createMPITypes
11071111
use mpi_f08
11081112

@@ -1232,7 +1236,7 @@ subroutine postPartition2(INE_global)
12321236
use yowElementpool, only: ne, ne_global, INE, belongto, ielg
12331237
use yowerr, only: parallel_abort
12341238
use yowDatapool, only: myrank
1235-
use yowNodepool, only: np_global, np, nodes_global, iplg, t_Node, ghostlg, ng, npa
1239+
use yowNodepool, only: np, nodes_global, iplg, t_Node, ghostlg, ng, npa
12361240
use yowNodepool, only: x, y, z
12371241
use w3gdatmd, only: xgrd, ygrd, zb
12381242

@@ -1352,12 +1356,11 @@ end subroutine postPartition2
13521356
!* *
13531357
!**********************************************************************
13541358
subroutine ComputeTRIA_IEN_SI_CCON
1355-
use yowElementpool, only: ne, ne_global, INE, ielg
1359+
use yowElementpool, only: ne, INE
13561360
use yowExchangeModule, only : PDLIB_exchange1Dreal
13571361
use yowerr, only: parallel_abort
1358-
use yowDatapool, only: myrank
1359-
use yowNodepool, only: np_global, np, iplg, t_Node, ghostlg, ng, npa
1360-
use yowNodepool, only: x, y, z, PDLIB_SI, PDLIB_IEN, PDLIB_TRIA, PDLIB_CCON, PDLIB_TRIA03
1362+
use yowNodepool, only: t_Node, npa
1363+
use yowNodepool, only: x, y, PDLIB_SI, PDLIB_IEN, PDLIB_TRIA, PDLIB_CCON, PDLIB_TRIA03
13611364

13621365
integer I1, I2, I3, stat, IE, NI(3)
13631366
real :: DXP1, DXP2, DXP3, DYP1, DYP2, DYP3, DBLTMP, TRIA03
@@ -1452,10 +1455,9 @@ end subroutine CORRECT_DX_GT180
14521455
!* *
14531456
!**********************************************************************
14541457
subroutine ComputeIA_JA_POSI_NNZ
1455-
use yowElementpool, only: ne, ne_global, INE, ielg
1458+
use yowElementpool, only: ne, INE
14561459
use yowerr, only: parallel_abort
1457-
use yowDatapool, only: myrank
1458-
use yowNodepool, only: np_global, np, nodes_global, iplg, t_Node, ghostlg, ng, npa
1460+
use yowNodepool, only: t_Node, npa
14591461
use yowNodepool, only: PDLIB_CCON, PDLIB_IA, PDLIB_JA, PDLIB_JA_IE, PDLIB_IA_P, PDLIB_JA_P
14601462
use yowNodepool, only: PDLIB_NNZ, PDLIB_POSI, PDLIB_IE_CELL, PDLIB_POS_CELL, PDLIB_IE_CELL2
14611463
use yowNodepool, only: PDLIB_POS_CELL2, PDLIB_I_DIAG

model/src/PDLIB/yowrankModule.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ module yowRankModule
7373

7474
!> allocate and exchange
7575
subroutine initRankModule()
76-
use yowDatapool, only: nTasks, myrank
76+
use yowDatapool, only: nTasks
7777
implicit none
7878
integer :: stat
7979

@@ -235,7 +235,7 @@ end subroutine exchangeIPLG
235235

236236
!> \internal
237237
subroutine calcISTART()
238-
use yowDatapool, only: nTasks, myrank
238+
use yowDatapool, only: nTasks
239239
implicit none
240240
integer :: ir
241241

model/src/pdlib_field_vec.F90

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -444,16 +444,15 @@ SUBROUTINE UNST_PDLIB_READ_FROM_FILE(NDREAD)
444444

445445
use yowDatapool, only: istatus
446446
USE W3GDATMD, only : NSEA, NSPEC
447-
USE W3ODATMD, only : NAPROC, NTPROC, IAPROC
447+
USE W3ODATMD, only : NAPROC, IAPROC
448448
USE W3ADATMD, only : MPI_COMM_WAVE
449449
USE W3PARALL, only : GET_JSEA_IBELONG
450450
USE W3WDATMD, ONLY : VA
451-
USE W3GDATMD, ONLY: NSEAL
452451
USE W3ADATMD, ONLY: NSEALM
453452
#ifdef W3_TIMINGS
454453
USE W3PARALL, ONLY: PRINT_MY_TIME
455454
#endif
456-
use yowNodepool, only: ListNP, ListNPA, ListIPLG
455+
use yowNodepool, only: ListNPA, ListIPLG
457456
use mpi_f08
458457
IMPLICIT NONE
459458
!/
@@ -472,17 +471,16 @@ SUBROUTINE UNST_PDLIB_READ_FROM_FILE(NDREAD)
472471
!
473472
INTEGER, intent(in) :: NDREAD
474473
INTEGER iBlock, iFirst, iEnd, len, i, IB, iProc
475-
INTEGER NREC, ISEA, JSEA, ierr
476-
INTEGER nbBlock, IBELONG
474+
INTEGER NREC, ISEA, ierr
475+
INTEGER nbBlock
477476
INTEGER :: BlockSize
478477
REAL, allocatable :: ArrSend(:,:)
479478
REAL, allocatable :: DataRead(:,:)
480479
integer(KIND=8) RPOS
481480
integer LRECL
482481
INTEGER, PARAMETER :: LRB = 4
483482
INTEGER NBLKRSloc, RSBLKSloc
484-
integer eArr(1)
485-
integer IERR_MPI, istat
483+
integer istat
486484
integer IPloc, IPglob, pos
487485
integer NbMatch, idx
488486
integer ListFirst(NAPROC)
@@ -654,14 +652,14 @@ SUBROUTINE UNST_PDLIB_WRITE_TO_FILE(NDWRITE)
654652
#endif
655653
!
656654
use yowDatapool, only: istatus
657-
USE yowNodepool, only: ListNP, ListNPA, ListIPLG
655+
USE yowNodepool, only: ListNPA, ListIPLG
658656
USE W3PARALL, ONLY: INIT_GET_ISEA
659657
USE W3GDATMD, only : NSEA, NSPEC
660-
USE W3ODATMD, only : NAPROC, NTPROC, NAPRST, IAPROC
658+
USE W3ODATMD, only : NAPROC, NAPRST, IAPROC
661659
USE W3ADATMD, only : MPI_COMM_WAVE
662660
USE W3PARALL, only : GET_JSEA_IBELONG
663661
USE W3WDATMD, ONLY : VA
664-
USE W3GDATMD, ONLY: NSEAL, NX, NY
662+
USE W3GDATMD, ONLY: NSEAL
665663
use mpi_f08
666664
IMPLICIT NONE
667665
!/
@@ -683,16 +681,15 @@ SUBROUTINE UNST_PDLIB_WRITE_TO_FILE(NDWRITE)
683681
REAL :: DATAwrite(NSPEC,BlockSize)
684682
REAL, allocatable :: DATArecv(:,:)
685683
integer ListFirst(NAPROC)
686-
integer idx, idxB
687-
integer len, i, IS
684+
integer idx
685+
integer len
688686
integer iBlock, iFirst, iEnd
689687
integer IPglob, IPloc, pos, ISEA, nbBlock, NPAloc
690688
integer ierr, istat, JSEA, NREC, iProc
691689
integer NbMatch
692690
INTEGER, PARAMETER :: LRB = 4
693691
INTEGER(KIND=8) RPOS
694692
INTEGER LRECL
695-
INTEGER IERR_MPI
696693
REAL(KIND=LRB) WRITEBUFF(NSPEC)
697694
REAL, allocatable :: DATAsend(:,:)
698695
#ifdef W3_S
@@ -809,12 +806,12 @@ SUBROUTINE DO_OUTPUT_EXCHANGES(IMOD)
809806
!
810807
USE W3ADATMD, ONLY: W3XDMA, W3SETA, W3XETA, WADATS
811808
USE W3GDATMD, ONLY: NSEA
812-
USE W3GDATMD, ONLY: NX, NSPEC, MAPFS, E3DF, P2MSF, US3DF
813-
USE W3WDATMD, ONLY: VA, UST, USTDIR, ASF, FPIS
814-
USE W3ADATMD, ONLY: MPI_COMM_WAVE, WW3_FIELD_VEC
809+
USE W3GDATMD, ONLY: NSPEC, E3DF, P2MSF
810+
USE W3WDATMD, ONLY: UST, USTDIR, ASF
811+
USE W3ADATMD, ONLY: MPI_COMM_WAVE
815812
USE W3ADATMD, ONLY: HS, WLM, T02
816813
USE W3ADATMD, ONLY: T0M1, THM, THS, FP0, THP0, &
817-
DTDYN, FCUT, SPPNT, ABA, ABD, UBA, UBD,&
814+
DTDYN, FCUT, ABA, ABD, UBA, UBD, &
818815
SXX, SYY, SXY, USERO, PHS, PTP, PLP, &
819816
PDIR, PSI, PWS, PWST, PNR, PHIAW, &
820817
PHIOC, TAUOCX, TAUOCY, WNMEAN, &
@@ -826,22 +823,14 @@ SUBROUTINE DO_OUTPUT_EXCHANGES(IMOD)
826823
BEDFORMS, PHIBBL, TAUBBL, T01, &
827824
P2SMS, US3D, EF, TH1M, STH1M, TH2M, &
828825
STH2M, HSIG, TAUICE, PHICE, PTHP0, PQP,&
829-
PPE, PGW, PSW, PTM1, PT1, PT2, PEP, &
826+
PPE, PGW, PSW, PTM1, PT1, PT2, PEP, &
830827
QP, MSSD, MSCD, STMAXE, STMAXD, HMAXE, &
831828
HCMAXE, HMAXD, HCMAXD, WBT, USSP
832829
USE W3GDATMD, ONLY: NK, NSEAL
833-
USE W3ODATMD, ONLY: NDST, IAPROC, NAPROC, NTPROC, FLOUT, &
834-
NAPFLD, NAPPNT, NAPRST, NAPBPT, NAPTRK,&
835-
NOGRP, NGRPP
836-
USE W3ODATMD, ONLY: OUTPTS, NRQGO, NRQGO2, IRQGO, IRQGO2, &
837-
FLOGRD, NRQPO, NRQPO2, IRQPO1, IRQPO2, &
838-
NOPTS, IPTINT, NRQRS, IRQRS, NBLKRS, &
839-
RSBLKS, IRQRSS, VAAUX, NRQBP, NRQBP2, &
840-
IRQBP1, IRQBP2, NFBPO, NBO2, ISBPO, &
841-
ABPOS, NRQTR, IRQTR, IT0PNT, IT0TRK, &
842-
IT0PRT, NOSWLL, NOEXTR, NDSE, IOSTYP, &
843-
FLOGR2
844-
USE W3ADATMD, ONLY: MPI_COMM_WCMP
830+
USE W3ODATMD, ONLY: NDST, IAPROC, NAPROC, FLOUT, &
831+
NAPFLD, NOGRP, NGRPP
832+
USE W3ODATMD, ONLY: NRQGO, NRQGO2, FLOGRD, &
833+
NOSWLL, NOEXTR, NDSE, FLOGR2
845834
USE W3PARALL, ONLY: INIT_GET_JSEA_ISPROC
846835
USE W3PARALL, ONLY: INIT_GET_ISEA
847836
use yowDatapool, only: istatus
@@ -858,12 +847,8 @@ SUBROUTINE DO_OUTPUT_EXCHANGES(IMOD)
858847
!/ ------------------------------------------------------------------- /
859848
!/ Local parameters
860849
!/
861-
INTEGER :: IK, IFJ
862-
INTEGER :: IH, IT0, IROOT, IT, IERR, I0, &
863-
IFROM, IX(4), IY(4), IS(4), &
864-
IP(4), I, J, JSEA, ITARG, IB, &
865-
JSEA0, JSEAN, NSEAB, IBOFF, &
866-
ISEA, ISPROC, K, NRQMAX
850+
INTEGER :: IK
851+
INTEGER :: IH, IT0, IROOT, IERR, I, J, JSEA, ISEA, K
867852
#ifdef W3_S
868853
INTEGER, SAVE :: IENT
869854
#endif

0 commit comments

Comments
 (0)