From c124d52cfa97202dc48fe7f6737d9ae91a26b5d1 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Fri, 21 May 2021 00:50:40 +0000 Subject: [PATCH 1/5] remove C90 switch issue #357 --- model/ftn/w3iogomd.ftn | 10 ---------- model/ftn/w3pro1md.ftn | 7 ------- model/ftn/w3pro2md.ftn | 6 ------ model/ftn/w3pro3md.ftn | 7 ------- model/ftn/w3profsmd.ftn | 2 -- model/ftn/w3profsmd_pdlib.ftn | 2 -- model/ftn/w3uno2md.ftn | 21 --------------------- model/ftn/w3uqckmd.ftn | 21 --------------------- 8 files changed, 76 deletions(-) diff --git a/model/ftn/w3iogomd.ftn b/model/ftn/w3iogomd.ftn index 6a8689ccf0..8201430421 100644 --- a/model/ftn/w3iogomd.ftn +++ b/model/ftn/w3iogomd.ftn @@ -113,8 +113,6 @@ ! !/DIST Id. ! ! !/OMPG OpenMP compiler directive for loop splitting. -! !/C90 Cray FORTRAN 90 compiler directive. -! !/NEC NEC SXF90 compiler directives. ! ! !/O8 Filter for low wave heights ( HSMIN ) ! !/O9 Negative wave height alowed, other mean parameters will @@ -1145,8 +1143,6 @@ ! !/SHRD Switch for shared / distributed memory architecture. ! !/DIST Id. ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. ! !/OMPG OpenMP compiler directive for loop splitting. ! ! !/O8 Filter for low wave heights ( HSMIN ) @@ -2068,8 +2064,6 @@ ! DO ITH=1, NTH ! -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP !/OMPG/!$OMP PARALLEL DO PRIVATE(JSEA,ISEA) ! DO JSEA=1, NSEAL @@ -2100,8 +2094,6 @@ ! DO ITH=1, NTH ! -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP !/OMPG/!$OMP PARALLEL DO PRIVATE(JSEA,ISEA) ! DO JSEA=1, NSEAL @@ -3652,8 +3644,6 @@ ! !/SHRD Switch for shared / distributed memory architecture. ! !/DIST Id. ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. ! !/OMPG OpenMP compiler directive for loop splitting. ! ! !/S Enable subroutine tracing. diff --git a/model/ftn/w3pro1md.ftn b/model/ftn/w3pro1md.ftn index 0365be5f20..323ae6c519 100644 --- a/model/ftn/w3pro1md.ftn +++ b/model/ftn/w3pro1md.ftn @@ -68,9 +68,6 @@ ! ! 6. Switches : ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. -! ! !/S Enable subroutine tracing. ! !/Tn Enable test output. ! @@ -558,8 +555,6 @@ ! in FIELD/FLD2D, VCX IF ( ICLOSE.NE.ICLOSE_NONE ) THEN !/T1 WRITE (NDST,9024) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLD2D(IY,NX+1)=FLD2D(IY,1) VCX2D(IY,NX+1)=VCX2D(IY,1) @@ -643,8 +638,6 @@ ! 4. Propagate ------------------------------------------------------ * ! !/T3 WRITE (NDST,9040) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP ! !/OMPH/!$OMP PARALLEL DO PRIVATE (ISEA, IXY, JXN, JXP, JYN, JYP, IX, IY) ! diff --git a/model/ftn/w3pro2md.ftn b/model/ftn/w3pro2md.ftn index cecb1a3668..7314a6dfc7 100644 --- a/model/ftn/w3pro2md.ftn +++ b/model/ftn/w3pro2md.ftn @@ -85,9 +85,6 @@ ! ! !/OMPH Hybrid OpenMP directives. ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. -! ! !/TDYN, !/DSS0, !/XW0, !/XW1 ! Diffusion options in W3XYP2 ! @@ -1063,9 +1060,6 @@ ! !/T WRITE (NDST,9040) NSEA ! -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP -! !/OMPH/!$OMP PARALLEL DO PRIVATE (ISEA, IXY ) ! DO ISEA=1, NSEA diff --git a/model/ftn/w3pro3md.ftn b/model/ftn/w3pro3md.ftn index 943ce7f36d..67725c47d5 100644 --- a/model/ftn/w3pro3md.ftn +++ b/model/ftn/w3pro3md.ftn @@ -88,9 +88,6 @@ ! !/UQ 3rd order UQ propagation scheme. ! !/UNO 2nd order UNO propagation scheme. ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. -! ! !/MGP Moving grid corrections. ! !/MGG Moving grid corrections. ! @@ -675,8 +672,6 @@ ! ! 9. Switches : ! -! !/NEC Enable NEC SXF90 compiler directives. -! ! !/S Enable subroutine tracing. ! ! !/OMPH Hybrid OpenMP directives. @@ -1249,8 +1244,6 @@ ! !/T WRITE (NDST,9040) NSEA ! -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP !/OMPH/!$OMP PARALLEL DO PRIVATE (ISEA, IXY) ! DO ISEA=1, NSEA diff --git a/model/ftn/w3profsmd.ftn b/model/ftn/w3profsmd.ftn index bc2b6fe428..d2f3010ab8 100644 --- a/model/ftn/w3profsmd.ftn +++ b/model/ftn/w3profsmd.ftn @@ -251,8 +251,6 @@ ENDDO ! 6. Store results in VQ in proper format --------------------------- * -! -!/C90/!DIR$ IVDEP ! DO ISEA=1, NSEA IXY = MAPSF(ISEA,3) diff --git a/model/ftn/w3profsmd_pdlib.ftn b/model/ftn/w3profsmd_pdlib.ftn index f9a03865e8..3aa4e8d44d 100644 --- a/model/ftn/w3profsmd_pdlib.ftn +++ b/model/ftn/w3profsmd_pdlib.ftn @@ -757,8 +757,6 @@ !/DEBUGSOLVER FLUSH(740+IAPROC) ! 6. Store results in VQ in proper format --------------------------- * -! -!/C90/!DIR$ IVDEP ! DO JSEA=1, NSEAL IP = JSEA diff --git a/model/ftn/w3uno2md.ftn b/model/ftn/w3uno2md.ftn index 32d4e9c5ec..351973a8fe 100644 --- a/model/ftn/w3uno2md.ftn +++ b/model/ftn/w3uno2md.ftn @@ -49,9 +49,6 @@ ! ! 6. Switches : ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. -! ! !/OMPH Ading OMP directves for hybrid paralellization. ! ! !/S Enable subroutine tracing. @@ -195,8 +192,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY Q (IY+IAD00) = Q (IY+IADN0) Q (IY+IADN1) = Q ( IY ) @@ -303,8 +298,6 @@ ! IF ( BCLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -313,8 +306,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IP=1, NACT IXY = MAPACT(IP) !/T2 QOLD = Q(IXY) @@ -502,8 +493,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY Q (IY+IAD00) = Q (IY+IADN0) Q (IY+IADN1) = Q ( IY ) @@ -595,8 +584,6 @@ ! IF ( BCLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -605,8 +592,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IP=1, NACT IXY = MAPACT(IP) !/T2 QOLD = Q(IXY) @@ -793,8 +778,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP ! !/OMPH/!$OMP PARALLEL DO PRIVATE (IY) ! @@ -899,8 +882,6 @@ ! IF ( BCLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -909,8 +890,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP ! !/OMPH/!$OMP PARALLEL DO & !/OMPH/!/T2/!$OMP PRIVATE(QOLD), & diff --git a/model/ftn/w3uqckmd.ftn b/model/ftn/w3uqckmd.ftn index 2512e3ba93..7d2910be6b 100644 --- a/model/ftn/w3uqckmd.ftn +++ b/model/ftn/w3uqckmd.ftn @@ -57,9 +57,6 @@ ! ! 6. Switches : ! -! !/C90 Cray FORTRAN 90 compiler directives. -! !/NEC NEC SXF90 compiler directives. -! ! !/OMPH Ading OMP directves for hybrid paralellization. ! ! !/S Enable subroutine tracing. @@ -224,8 +221,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY Q (IY+IAD00) = Q (IY+IADN0) Q (IY+IADN1) = Q ( IY ) @@ -328,8 +323,6 @@ ! IF ( CLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -338,8 +331,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IP=1, NACT IXY = MAPACT(IP) !/T2 QOLD = Q(IXY) @@ -535,8 +526,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY Q (IY+IAD00) = Q (IY+IADN0) Q (IY+IADN1) = Q ( IY ) @@ -648,8 +637,6 @@ ! IF ( CLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -658,8 +645,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IP=1, NACT IXY = MAPACT(IP) !/T2 QOLD = Q(IXY) @@ -855,8 +840,6 @@ IADN0 = IAD00 + MY*NX IADN1 = MY*NX IADN2 = IAD02 + MY*NX -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP ! !/OMPH/!$OMP PARALLEL DO PRIVATE (IY) ! @@ -979,8 +962,6 @@ ! IF ( CLOSE ) THEN !/T WRITE (NDST,9015) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP DO IY=1, NY FLA (IY+IAD00) = FLA (IY+IADN0) END DO @@ -989,8 +970,6 @@ ! 6. Propagation -------------------------------------------------- * ! !/T2 WRITE (NDST,9020) -!/C90/!DIR$ IVDEP -!/NEC/!CDIR NODEP !/OMPH/!$OMP PARALLEL DO PRIVATE (IP, IXY, JN, JP ) ! DO IP=1, NACT From 4d0e13504f8e19b6e3f41a077a2f8fbd0d077bf4 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Fri, 21 May 2021 00:51:40 +0000 Subject: [PATCH 2/5] remove NEC switch --- model/ftn/w3initmd.ftn | 2 -- 1 file changed, 2 deletions(-) diff --git a/model/ftn/w3initmd.ftn b/model/ftn/w3initmd.ftn index 7f154ecc3d..bad6005449 100644 --- a/model/ftn/w3initmd.ftn +++ b/model/ftn/w3initmd.ftn @@ -1256,7 +1256,6 @@ ! !/DEBUGINIT WRITE(740+IAPROC,*) 'W3INIT, aft BLOCK_SOLVER_INIT, step 9.5' !/DEBUGINIT FLUSH(740+IAPROC) -!/NEC/!CDIR LOOPCNT=100000 DO IS=0, NSEA !/DEBUGINIT WRITE(740+IAPROC,*) 'IS=', IS !/DEBUGINIT FLUSH(740+IAPROC) @@ -1268,7 +1267,6 @@ ! !/T1 WRITE (NDST,9051) IS, DEPTH ! -!/NEC/!CDIR LOOPCNT=100000 DO IK=0, NK+1 ! ! Calculate wavenumbers and group velocities. From 587c666507a248613a21f574b725d02c4ccac7fa Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Fri, 21 May 2021 00:53:56 +0000 Subject: [PATCH 3/5] remove C90 and NEC from makefile --- model/bin/make_makefile.sh | 12 +----------- model/bin/w3_new | 15 --------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/model/bin/make_makefile.sh b/model/bin/make_makefile.sh index 3bd83cc3a1..fdc24cf16f 100755 --- a/model/bin/make_makefile.sh +++ b/model/bin/make_makefile.sh @@ -93,7 +93,7 @@ # NOTE: comment line with '#sort:key:" used by sort_switches, including ':' - for type in mach nco grib mcp c90 nec netcdf scrip scripnc \ + for type in mach nco grib mcp netcdf scrip scripnc \ shared mpp mpiexp thread GSE prop \ stress s_ln source stab s_nl snls s_bot s_db miche s_tr s_bs \ dstress s_ice s_is reflection s_xx \ @@ -120,16 +120,6 @@ ID='model coupling protocol' TS='NCC' OK='NCC' ;; -#sort:c90: - c90 ) TY='upto1' - ID='Cray C90 compiler directives' - TS='C90' - OK='C90' ;; -#sort:nec: - nec ) TY='upto1' - ID='NEC compiler directives' - TS='NEC' - OK='NEC' ;; #sort:netcdf: netcdf ) TY='upto1' ID='netcdf api type' diff --git a/model/bin/w3_new b/model/bin/w3_new index d538e71f5f..32f3978fc9 100755 --- a/model/bin/w3_new +++ b/model/bin/w3_new @@ -88,21 +88,6 @@ 'mcp' ) cd $main_dir/ftn ; touch w3wavemd.ftn touch ww3_shel.ftn touch ww3_grid.ftn ;; - 'c90' ) cd $main_dir/ftn ; touch w3iogomd.ftn - touch w3pro1md.ftn - touch w3pro2md.ftn - touch w3pro3md.ftn - touch w3profsmd.ftn - touch w3profsmd_pdlib.ftn - touch w3uno2md.ftn - touch w3uqckmd.ftn ;; - 'nec' ) cd $main_dir/ftn ; touch w3initmd.ftn - touch w3iogomd.ftn - touch w3pro1md.ftn - touch w3pro2md.ftn - touch w3pro3md.ftn - touch w3uno2md.ftn - touch w3uqckmd.ftn ;; 'netcdf' ) cd $main_dir/ftn ; touch ww3_ounf.ftn touch ww3_ounp.ftn touch ww3_bounc.ftn From 649d8df8e4936ab0f2de2e66af5fcc6dd164d5c6 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Fri, 21 May 2021 00:57:44 +0000 Subject: [PATCH 4/5] remove c90/nec from manual --- manual/impl/switch.tex | 8 -------- manual/sys/optim.tex | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/manual/impl/switch.tex b/manual/impl/switch.tex index 964190f26d..a2ca2085fa 100644 --- a/manual/impl/switch.tex +++ b/manual/impl/switch.tex @@ -310,14 +310,6 @@ \subsubsection{~Optional switches} \label{sub:opt_switch} Eq.~(\ref{eq:move_GSE_avg2}).} \end{slist} -\noindent -The following compiler dependent switches are available. They may not have -been maintained for recent compiler versions. -\begin{slist} -\sit{c90} {Compiler directives for Cray C90 (vectorization).} -\sit{nec} {Compiler directives for NEC SX6/SX8 (vectorization).} -\end{slist} - \noindent Furthermore the following miscellaneous switches are available: \begin{slist} diff --git a/manual/sys/optim.tex b/manual/sys/optim.tex index a159999435..dcd2e9b5d2 100644 --- a/manual/sys/optim.tex +++ b/manual/sys/optim.tex @@ -12,8 +12,7 @@ \subsection{~Optimization} \label{sec:optim} the Cray YMP and C90. Note that some compiler directives for vectorization have been used. Note also that the vector optimization has not been updated since about 1997, and therefore needs to be revisited if the model is -implemented on a vector machine. Vectorization directives are activated by the -corresponding preprocessor switch ({\F c90}). +implemented on a vector machine. Parallelization for shared memory machines using threading has been implemented using standard OpenMP directives. Such parallelization takes place From e164b06dbee574ffe2152aff128acc2b8ab84993 Mon Sep 17 00:00:00 2001 From: Jessica Meixner Date: Thu, 10 Jun 2021 17:36:26 +0000 Subject: [PATCH 5/5] updated from review --- model/ftn/w3pro1md.ftn | 2 -- model/ftn/w3pro2md.ftn | 2 -- 2 files changed, 4 deletions(-) diff --git a/model/ftn/w3pro1md.ftn b/model/ftn/w3pro1md.ftn index 323ae6c519..2039bfd4fd 100644 --- a/model/ftn/w3pro1md.ftn +++ b/model/ftn/w3pro1md.ftn @@ -365,8 +365,6 @@ ! ! 9. Switches : ! -! !/NEC Enable NEC SXF90 compiler directives. -! ! !/S Enable subroutine tracing. ! ! !/OMPH Hybrid OpenMP directives. diff --git a/model/ftn/w3pro2md.ftn b/model/ftn/w3pro2md.ftn index 7314a6dfc7..75c7abf541 100644 --- a/model/ftn/w3pro2md.ftn +++ b/model/ftn/w3pro2md.ftn @@ -578,8 +578,6 @@ ! ! !/OMPH Hybrid OpenMP directives. ! -! !/NEC Enable NEC SXF90 compiler directives. -! ! !/S Enable subroutine tracing. ! ! !/T Enable general test output.