diff -rupN WW3_314_10/aux/w3adc.f WW3_314_14/aux/w3adc.f --- WW3_314_10/aux/w3adc.f 2012-10-02 21:43:12.000000000 -0400 +++ WW3_314_14/aux/w3adc.f 2012-10-02 21:17:13.000000000 -0400 @@ -132,7 +132,7 @@ C & QUOTES * CHARACTER*20 TEST0, TSTSTR - CHARACTER*60 FNAMEI, FNAMEO, FNAMER + CHARACTER*120 FNAMEI, FNAMEO, FNAMER CHARACTER*72 INSTR CHARACTER*140 NEWLNE, OLDLNE CHARACTER*200 SWTCHS diff -rupN WW3_314_10/bin/comp.Intel WW3_314_14/bin/comp.Intel --- WW3_314_10/bin/comp.Intel 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/comp.Intel 2012-10-02 21:17:12.000000000 -0400 @@ -31,11 +31,10 @@ # sec. 3.a : Provide correct error capturing. # # sec. 3.d : Remove unnecessary files. # # # -# - This version is made for the Intel ifort version 8.1 on a Pentium 4 # -# processor. # +# - This version is made for the Intel ifort version 12 on Xeon Westmere # # # # Hendrik L. Tolman # -# February 2005 # +# February 2012 # # --------------------------------------------------------------------------- # # 1. Preparations # # --------------------------------------------------------------------------- # @@ -79,8 +78,8 @@ # 2.b.1 Build options and determine compiler name # Note that all but GrADS output is forced to big endian data -# opt="-c -list -O3 -unroll -tpp7 -Zp8 -module $path_m" - opt="-c -g CB -list -O3 -module $path_m" + opt="-c -list -O3 -xSSE4.2 -ip -module $path_m" +# opt="-c -list -O0 -g -traceback -check all -fpe0 -ftrapuv -module $path_m" if [ "$name" != 'gx_outp' ] && [ "$name" != 'gx_outf' ] then @@ -89,7 +88,7 @@ if [ "$mpi_mod" = 'yes' ] then - comp=mpif90 + comp=ifort else comp=ifort fi @@ -106,10 +105,10 @@ # 2.b.2 Process listing -# if [ -s $name.lst ] -# then -# mv $name.lst $name.l -# fi + if [ -s $name.lst ] + then + mv $name.lst $name.l + fi # 2.b.3 Add test output to listing for later viewing @@ -133,8 +132,8 @@ if [ -s $name.err ] then - nr_err=`grep 'fortcom: Error:' $name.err | wc -l | awk '{ print $1 }'` - nr_war=`grep 'fortcom: Warning:' $name.err | wc -l | awk '{ print $1 }'` + nr_err=`grep 'error' $name.err | wc -l | awk '{ print $1 }'` + nr_war=`grep 'warning' $name.err | wc -l | awk '{ print $1 }'` else if [ "$OK" != '0' ] then diff -rupN WW3_314_10/bin/comp.Portland WW3_314_14/bin/comp.Portland --- WW3_314_10/bin/comp.Portland 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/comp.Portland 2012-10-02 21:17:12.000000000 -0400 @@ -31,11 +31,10 @@ # sec. 3.a : Provide correct error capturing. # # sec. 3.d : Remove unnecessary files. # # # -# - This version is made for the Portland pgf90 compiler version 5.0-2 # -# on a Pentium 4 processor. # +# - This version is made for the Portland pgf90 compiler versions 6 and up. # # # # Hendrik L. Tolman # -# February 2005 # +# February 2012 # # --------------------------------------------------------------------------- # # 1. Preparations # # --------------------------------------------------------------------------- # @@ -79,16 +78,9 @@ # 2.b.1 Build options and determine compiler name # Note that all but GrADS output is forced to big endian data - ver=`pgf90 -V | grep 'pgf90 ' | awk '{print $2}' | cut -c1-2` + opt="-c -Mlist -fast -module $path_m" - if [ "$ver" = '5.' ] - then - opt="-c -Mlist -fast -fastsse -module $path_m" - else - opt="-c -Mlist -fast -module $path_m" - fi - -# opt="-c -C -g -Mlist -module $path_m" +# opt="-c -O0 -g -traceback -Mbounds -Mchkfpstk -Mchkptr -Mchkstk -Mlist -module $path_m" if [ "$name" != 'gx_outp' ] && [ "$name" != 'gx_outf' ] then diff -rupN WW3_314_10/bin/install_ww3_svn WW3_314_14/bin/install_ww3_svn --- WW3_314_10/bin/install_ww3_svn 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/install_ww3_svn 2012-10-02 21:17:12.000000000 -0400 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh --login # --------------------------------------------------------------------------- # # install_ww3_svn : install WAVEWATCH III in the present directory. # # Working from svn server. # @@ -11,9 +11,9 @@ # for this script to work. # # # # Hendrik L. Tolman # -# July 2010 # +# February 2012 # # # -# Copyright 2009-2010 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # @@ -46,8 +46,7 @@ then set `grep WWATCH3_DIR $ww3_env` ; shift ; main_dir="$*" else - echo 'No install directory defined yet. The install directory has' - echo 'to be an existing directory containing the tar files.' ; echo ' ' + echo 'No install directory defined yet.' ; echo ' ' main_dir=nodir.$$ until [ -d $main_dir ] do diff -rupN WW3_314_10/bin/install_wwatch3 WW3_314_14/bin/install_wwatch3 --- WW3_314_10/bin/install_wwatch3 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/install_wwatch3 2012-10-02 21:17:12.000000000 -0400 @@ -1,13 +1,13 @@ -#!/bin/sh +#!/bin/sh --login # --------------------------------------------------------------------------- # # install_wwatch3 : install WAVEWATCH III in the present directory. # # Working from tar files (and wwatch3_arc). # # # # Hendrik L. Tolman # # December 2006 # -# July 2010 # +# February 2012 # # # -# Copyright 2009-2010 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # diff -rupN WW3_314_10/bin/link.Intel WW3_314_14/bin/link.Intel --- WW3_314_10/bin/link.Intel 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/link.Intel 2012-10-02 21:17:12.000000000 -0400 @@ -16,11 +16,11 @@ # following parts of this scripts : # # sec. 3 : Provide correct link command # # # -# - This version is made for the Intel ifort version 8.1 on a Pentium 4 # +# - This version is made for the Intel ifort version 12 on nehalem. # # processor. # # # # Hendrik L. Tolman # -# February 2005 # +# February 2012 # # --------------------------------------------------------------------------- # # 1. Preparations # # --------------------------------------------------------------------------- # @@ -100,11 +100,12 @@ # 3.a Build options and determine compiler name # No GRIB libraries for this one - opt="-O3 -Zp8 -tpp7 -o $prog" + opt="-O3 -xSSE4.2 -ip -o $prog" +# opt="-O0 -g -traceback -check all -fpe0 -ftrapuv -o $prog" if [ "$mpi_mod" = 'yes' ] then - comp=mpif90 + comp='ifort -lmpi' else comp=ifort fi diff -rupN WW3_314_10/bin/ln3 WW3_314_14/bin/ln3 --- WW3_314_10/bin/ln3 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/ln3 2012-10-02 21:17:12.000000000 -0400 @@ -4,9 +4,9 @@ # directory. Now also looks in bin directory. # # # # Hendrik L. Tolman # -# May 2009 # +# February 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # @@ -68,11 +68,11 @@ ln -s ../bin/$file . found=`expr $found + 1` fi - if test -f ../doc90/$file + if test -f ../test/$file then rm -f $file - echo "make link to $file in doc90 dir." - ln -s ../doc90/$file . + echo "make link to $file in test dir." + ln -s ../test/$file . found=`expr $found + 1` fi done diff -rupN WW3_314_10/bin/make_MPI WW3_314_14/bin/make_MPI --- WW3_314_10/bin/make_MPI 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/make_MPI 2012-10-02 21:17:12.000000000 -0400 @@ -6,9 +6,9 @@ # # # Hendrik L. Tolman # # April 2010 # -# Aug. 2010 # +# Feb. 2012 # # # -# Copyright 2010 National Weather Service (NWS), # +# Copyright 2010-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # @@ -60,11 +60,6 @@ exit fi - if test ! -d arc - then - mkdir arc - fi - # --------------------------------------------------------------------------- # # 2. Process switch files # # --------------------------------------------------------------------------- # @@ -80,21 +75,21 @@ cp switch.shrd switch w3_make ww3_grid ww3_strt ww3_prep ww3_outf ww3_outp ww3_trck ww3_grib \ - gx_outf gx_outp + ww3_gint gx_outf gx_outp # --------------------------------------------------------------------------- # # 3. Compile MPI codes # # --------------------------------------------------------------------------- # cp switch.MPI switch - w3_make ww3_shel ww3_multi ww3_sbs1 + w3_make ww3_shel ww3_multi # ww3_sbs1 # --------------------------------------------------------------------------- # # 4. Reset switch file # # --------------------------------------------------------------------------- # # cp switch.shrd switch -# cp switch.hold switch + cp switch.hold switch # --------------------------------------------------------------------------- # # 5. Clean up # diff -rupN WW3_314_10/bin/w3_clean WW3_314_14/bin/w3_clean --- WW3_314_10/bin/w3_clean 2012-10-02 21:43:11.000000000 -0400 +++ WW3_314_14/bin/w3_clean 2012-10-02 21:17:12.000000000 -0400 @@ -5,9 +5,9 @@ # # # use : w3_clean # # Hendrik L. Tolman # -# May 2009 # +# Feb. 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # @@ -40,6 +40,7 @@ cd $temp_dir rm -f core + rm -f core.* rm -fr coredir.* rm -f *.f rm -f *.f90 @@ -70,6 +71,7 @@ rm -f buoy.data rm -f fort.* rm -f times.* + rm -f xref.db # --------------------------------------------------------------------------- # # 3. Work and test directories # @@ -79,6 +81,7 @@ do cd $dir rm -f core + rm -f core.* rm -fr coredir.* rm -f mod_def.ww3 rm -f restart*.ww3 @@ -125,6 +128,7 @@ rm -f ww3.* rm -f *.gs_tmpl rm -f times.* + rm -f map.gs done # End of w3_clean ----------------------------------------------------------- # diff -rupN WW3_314_10/ftn/w3iosfmd.ftn WW3_314_14/ftn/w3iosfmd.ftn --- WW3_314_10/ftn/w3iosfmd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/w3iosfmd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 06-Mar-2012 | !/ +-----------------------------------+ !/ !/ 27-Jun-2006 : Origination. ( version 3.09 ) @@ -13,8 +13,9 @@ !/ 24-Mar-2007 : Add pars for entire spectrum. ( version 3.11 ) !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 06-Mar-2012 : Reparing test output under MPI. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -460,7 +461,7 @@ !/MPI MPI_COMM_WAVE, IERR_MPI ) !/MPI DTSIZ = ICPRT(NSEAL+1,2) - 1 ! -!/T WRITE (NDST,9021) IAPROC, NAPPRT, DTSIZ +!/MPIT WRITE (NDST,9021) IAPROC, NAPPRT, DTSIZ ! !/MPI IT = IT0PRT + NAPROC + IAPROC - 1 !/MPI IF ( DTSIZ .GT. 0 ) CALL MPI_SEND & @@ -499,7 +500,7 @@ !/MPI JSLM = 1 + (NSEA-JAPROC)/NAPROC !/MPI DTSIZ = ICP(JSLM+1,2) - 1 ! -!/T WRITE (NDST,9031) JAPROC, DTSIZ +!/MPIT WRITE (NDST,9031) JAPROC, DTSIZ ! !/MPI ALLOCATE ( PROC(JAPROC)%DTPRT(6,MAX(1,DTSIZ)) ) !/MPI DTP => PROC(JAPROC)%DTPRT @@ -616,12 +617,12 @@ !/T 9010 FORMAT (' TEST W3IOSF : OPENING NEW FILE [',A,']') !/T 9020 FORMAT (' TEST W3IOSF : SENDING ICPRT FROM',I3,' TO',I3, & !/T ' WITH SIZE :',I6) -!/T 9021 FORMAT (' TEST W3IOSF : SENDING DTPRT FROM',I3,' TO',I3, & -!/T ' WITH SIZE :',I6) +!/MPIT 9021 FORMAT (' TEST W3IOSF : SENDING DTPRT FROM',I3,' TO',I3, & +!/MPIT ' WITH SIZE :',I6) !/T 9030 FORMAT (' TEST W3IOSF : RECEIVING ICPRT FROM',I3, & !/T ' WITH SIZE :',I6) -!/T 9031 FORMAT (' TEST W3IOSF : RECEIVING DTPRT FROM',I3, & -!/T ' WITH SIZE :',I6) +!/MPIT 9031 FORMAT (' TEST W3IOSF : RECEIVING DTPRT FROM',I3, & +!/MPIT ' WITH SIZE :',I6) !/ !/ End of W3IOSF ----------------------------------------------------- / !/ diff -rupN WW3_314_10/ftn/w3updtmd.ftn WW3_314_14/ftn/w3updtmd.ftn --- WW3_314_10/ftn/w3updtmd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/w3updtmd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 17-Aug-2010 | +!/ | Last update : 13-Mar-2012 | !/ +-----------------------------------+ !/ !/ 21-Jan-2000 : Origination. ( version 2.00 ) @@ -23,9 +23,11 @@ !/ 11-Jan-2007 : Clean-up W3UTRN boundary points. ( version 3.10 ) !/ 11-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) -!/ 17-Aug-2010 : ABPI0-N(:,0) init. bug fix. ( version 3.14.5 ) +!/ 17-Aug-2010 : ABPI0-N(:,0) init. bug fix. ( version 3.14 ) +!/ 13-Mar-2012 : Add initialization of UST on re- ( version 3.14 ) +!/ activation of grid point. !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -872,7 +874,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 11-May-2007 | +!/ | Last update : 13-Mar-2012 | !/ +-----------------------------------+ !/ !/ 19-Oct-1998 : Final FORTRAN 77 ( version 1.18 ) @@ -882,6 +884,8 @@ !/ 28-Jun-2005 : Adding MAPST2. ( version 3.07 ) !/ Taking out initilization. !/ 11-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) +!/ 13-Mar-2012 : Add initialization of UST on re- ( version 3.14 ) +!/ activation of grid point. !/ ! 1. Purpose : ! @@ -938,7 +942,7 @@ !/ ------------------------------------------------------------------- / USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, MAPSF, MAPSTA, MAPST2, & NTH, NK, NSPEC, SIG, TH, DTH, FICEN - USE W3WDATMD, ONLY: TIME, TICE, ICE + USE W3WDATMD, ONLY: TIME, TICE, ICE, UST !! USE W3ADATMD, ONLY: U10, U10D, CG USE W3ADATMD, ONLY: CG USE W3IDATMD, ONLY: TIN, ICEI @@ -1013,6 +1017,7 @@ IF ( ICEI(IX,IY).LT.FICEN .AND. MAPICE(IY,IX).EQ.1 ) THEN ! MAPICE(IY,IX) = 0 + UST(ISEA) = 0.05 ! IF ( MAPST2(IY,IX) .EQ. 0 ) THEN MAPSTA(IY,IX) = ABS(MAPSTA(IY,IX)) @@ -1069,7 +1074,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 11-May-2007 | +!/ | Last update : 13-Mar-2012 | !/ +-----------------------------------+ !/ !/ 15-Jan-1998 : Final FORTRAN 77 ( version 1.18 ) @@ -1078,6 +1083,8 @@ !/ 15-Dec-2004 : Multiple grid version. ( version 3.06 ) !/ 15-Jul-2005 : Adding drying out of points. ( version 3.07 ) !/ 11-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) +!/ 13-Mar-2012 : Add initialization of UST on re- ( version 3.14 ) +!/ activation of grid point. !/ ! 1. Purpose : ! @@ -1147,7 +1154,7 @@ USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, MAPSF, MAPSTA, MAPST2, & ZB, DMIN, NK, NTH, NSPEC, SIG, DSIP, & MAPWN, MAPTH, FACHFA - USE W3WDATMD, ONLY: TIME, TLEV, WLV + USE W3WDATMD, ONLY: TIME, TLEV, WLV, UST USE W3ADATMD, ONLY: CG, WN, DW USE W3IDATMD, ONLY: TLN, WLEV USE W3SERVMD, ONLY: EXTCDE @@ -1282,6 +1289,7 @@ ! IF (WLV(ISEA)-ZB(ISEA).GT.0. .AND. MAPDRY(IY,IX).EQ.1) THEN MAPDRY(IY,IX) = 0 + UST(ISEA) = 0.05 IF ( MAPST2(IY,IX) .EQ. 0 ) THEN MAPSTA(IY,IX) = ABS(MAPSTA(IY,IX)) !/T2 WRITE (NDST,9021) ISEA, WLV(ISEA)-ZB(ISEA), & diff -rupN WW3_314_10/ftn/w3wavemd.ftn WW3_314_14/ftn/w3wavemd.ftn --- WW3_314_10/ftn/w3wavemd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/w3wavemd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 06-Mar-2012 | !/ +-----------------------------------+ !/ !/ 04-Feb-2000 : Origination. ( version 2.00 ) @@ -50,8 +50,9 @@ !/ 22-Feb-2008 : Initialize VGX-Y properly. ( version 3.13 ) !/ 10-Apr-2008 : Bug fix writing log file (MPI). ( version 3.13 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 06-Mar-2012 : Initializing ITEST as needed. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -599,6 +600,8 @@ CALL W3IOBC ( 'READ', NDS(9), TBPI0, TBPIN, & ITEST, IMOD ) IF ( ITEST .NE. 1 ) CALL W3UBPT + ELSE + ITEST = 0 END IF IF ( ITEST .LT. 0 ) IDACT(1:1) = 'L' IF ( ITEST .GT. 0 ) IDACT(1:1) = ' ' diff -rupN WW3_314_10/ftn/wmgridmd.ftn WW3_314_14/ftn/wmgridmd.ftn --- WW3_314_10/ftn/wmgridmd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/wmgridmd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 12-Mar-2012 | !/ +-----------------------------------+ !/ !/ 28-Dec-2005 : Origination WMGLOW, WMGHGH, WMRSPC. ( version 3.08 ) @@ -24,8 +24,9 @@ !/ 20-May-2009 : Linking FLAGST and FLGHG1. ( version 3.14 ) !/ 26-May-2009 : Fix erroneous cyclic upd in WMGHGH. ( version 3.14 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 12-Mar-2012 : Use MPI_COMM_NULL in checks. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -98,12 +99,13 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 26-Mar-2009 | +!/ | Last update : 12-MAr-2012 | !/ +-----------------------------------+ !/ !/ 06-Oct-2005 : Origination. ( version 3.08 ) !/ 10-Feb-2006 : Add test on grid resolution. ( version 3.09 ) !/ 26-Mar-2009 : Adding test output !/T9. ( version 3.14 ) +!/ 12-Mar-2012 : Use MPI_COMM_NULL in checks. ( version 3.14 ) !/ ! 1. Purpose : ! @@ -222,7 +224,7 @@ ! !/MPI FLBARR = FLBARR .OR. MDATAS(I)%FBCAST !/MPI IF ( MDATAS(I)%FBCAST .AND. & -!/MPI MDATAS(I)%MPI_COMM_BCT.NE.-1 ) THEN +!/MPI MDATAS(I)%MPI_COMM_BCT.NE.MPI_COMM_NULL ) THEN !/MPI NXYG = GRIDS(I)%NX * GRIDS(I)%NY !/MPI CALL MPI_BCAST ( GRIDS(I)%MAPSTA(1,1), NXYG, & !/MPI MPI_INTEGER, 0, & diff -rupN WW3_314_10/ftn/wminitmd.ftn WW3_314_14/ftn/wminitmd.ftn --- WW3_314_10/ftn/wminitmd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/wminitmd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,15 +5,19 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 16-Aug-2010 | +!/ | Last update : 07-Mar-2012 | !/ +-----------------------------------+ !/ !/ 13-Jun-2005 : Origination. ( version 3.07 ) !/ See subroutine for update log. !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) -!/ 16-Aug-2010 : Adding NTRMAX to unify NTRACE. ( version 3.14.5 ) +!/ 16-Aug-2010 : Adding NTRMAX to unify NTRACE. ( version 3.14 ) +!/ 07-Mar-2012 : Adding TNAMES to avoid read warn. ( version 3.14 ) +!/ Adjust allocation INPMAP and IDINP. +!/ 12-Mar-2012 : Fixing format 9061. ( version 3.14 ) +!/ Use MPI_COMM_NULL for checks instead of fixed '-1'. !/ -!/ Copyright 2009-2010 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -348,7 +352,7 @@ CHARACTER(LEN=6) :: ACTION(9), YESXX, XXXNO CHARACTER(LEN=8) :: LFILE, STTIME !/SHRD CHARACTER(LEN=9) :: TFILE - CHARACTER(LEN=10) :: STDATE, PN, MN + CHARACTER(LEN=10) :: STDATE, PN, MN, TNAMES(7) CHARACTER(LEN=10), & ALLOCATABLE :: INAMES(:,:), MNAMES(:), PNAMES(:) !/DIST CHARACTER(LEN=12) :: TFILE @@ -647,8 +651,9 @@ ! DO I=NRGRD+1, 2*NRGRD CALL NEXTLN ( COMSTR , MDSI , MDSE2 ) - READ (MDSI,*,END=2001,ERR=2002) MNAMES(I), INAMES(I,:), & + READ (MDSI,*,END=2001,ERR=2002) MNAMES(I), TNAMES(:), & TMPRNK(I), TMPGRP(I), RP1(I), RPN(I), BCDTMP(I) + INAMES(I,:) = TNAMES(:) RP1(I) = MAX ( 0. , MIN ( 1. , RP1(I) ) ) RPN(I) = MAX ( RP1(I) , MIN ( 1. , RPN(I) ) ) END DO @@ -683,7 +688,7 @@ ! ! 3.a.5 Set input flags ! - ALLOCATE ( INPMAP(NRGRD,7), IDINP(-NRINP:NRGRD,7) ) + ALLOCATE ( INPMAP(NRGRD,8), IDINP(-NRINP:NRGRD,8) ) INPMAP = 0 IDINP = '---' ! @@ -1839,7 +1844,7 @@ ! CALL WMSETM ( I, MDSE, MDST ) !/MPI MPI_COMM_LOC = MPI_COMM_GRD -!/MPI IF ( MPI_COMM_LOC .EQ. -1 ) CYCLE +!/MPI IF ( MPI_COMM_LOC .EQ. MPI_COMM_NULL ) CYCLE ! CALL WMUGET ( MDSE, MDST, NDSFND, 'OUT' ) CALL WMUSET ( MDSE, MDST, NDSFND, .TRUE., DESC='Log file' ) @@ -2069,7 +2074,7 @@ !/MPI CALL WMSETM ( I, MDSE, MDST ) !/MPI CALL W3SETG ( I, MDSE, MDST ) !/MPI CALL W3SETO ( I, MDSE, MDST ) -!/MPI IF ( FBCAST .AND. MPI_COMM_BCT.NE.-1 ) THEN +!/MPI IF ( FBCAST .AND. MPI_COMM_BCT.NE.MPI_COMM_NULL ) THEN !/MPI CALL MPI_BCAST ( TOUTP(1,I), 2, MPI_INTEGER, 0, & !/MPI MPI_COMM_BCT, IERR_MPI ) !/MPI CALL MPI_BCAST ( TSYNC(1,I), 2, MPI_INTEGER, 0, & @@ -2103,7 +2108,7 @@ !/MPI MPI_COMM_BCT, IERR_MPI ) !/MPI CALL MPI_BCAST ( FILEXT, 10, MPI_CHARACTER, 0, & !/MPI MPI_COMM_BCT, IERR_MPI ) -!/MPI IF ( MPI_COMM_GRD .EQ. -1 ) & +!/MPI IF ( MPI_COMM_GRD .EQ. MPI_COMM_NULL ) & !/MPI CALL W3DIMX ( I, NX, NY, NSEA, MDSE, MDST ) ! !/MPI CALL MPI_BCAST ( NK , 1, MPI_INTEGER, 0, & @@ -2114,7 +2119,7 @@ !/MPI MPI_COMM_BCT, IERR_MPI ) !/MPI CALL MPI_BCAST ( FR1 , 1, MPI_REAL , 0, & !/MPI MPI_COMM_BCT, IERR_MPI ) -!/MPI IF ( MPI_COMM_GRD .EQ. -1 ) & +!/MPI IF ( MPI_COMM_GRD .EQ. MPI_COMM_NULL ) & !/MPI CALL W3DIMS ( I, NK, NTH, MDSE, MDST ) !/MPI CALL MPI_BCAST ( TH , NTH, MPI_REAL , 0, & !/MPI MPI_COMM_BCT, IERR_MPI ) @@ -2252,7 +2257,7 @@ ! !/SHRD IF ( .NOT. FLRBPI(I) .AND. FLBPI ) THEN !/MPI IF ( .NOT. FLRBPI(I) .AND. FLBPI .AND. & -!/MPI MPI_COMM_GRD .NE. -1) THEN +!/MPI MPI_COMM_GRD .NE. MPI_COMM_NULL) THEN CALL WMUSET ( MDSE, MDST, NDS(9), .FALSE. ) IF ( BCDUMP(I) .AND. IAPROC.EQ.NAPBPT ) THEN J = LEN_TRIM(FILEXT) @@ -2276,19 +2281,19 @@ ! DO I=1, NRGRD !/MPI CALL WMSETM ( I, MDSE, MDST ) -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) CALL WMIOBS ( I ) +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) CALL WMIOBS ( I ) !/SHRD CALL WMIOBS ( I ) END DO ! DO I=1, NRGRD !/MPI CALL WMSETM ( I, MDSE, MDST ) -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) CALL WMIOBG ( I ) +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) CALL WMIOBG ( I ) !/SHRD CALL WMIOBG ( I ) END DO ! !/MPI DO I=1, NRGRD !/MPI CALL WMSETM ( I, MDSE, MDST ) -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) CALL WMIOBF ( I ) +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) CALL WMIOBF ( I ) !/MPI END DO ! ! 8.d.3 Relation to same ranked grids @@ -2335,7 +2340,7 @@ !/MPI CALL WMSETM ( I, MDSE, MDST ) !/MPI CALL W3SETG ( I, MDSE, MDST ) !/MPI CALL W3SETO ( I, MDSE, MDST ) -!/MPI IF ( FBCAST .AND. MPI_COMM_BCT.NE.-1 ) THEN +!/MPI IF ( FBCAST .AND. MPI_COMM_BCT.NE.MPI_COMM_NULL ) THEN !/MPI CALL MPI_BCAST ( NOPTS, 1, MPI_INTEGER, 0, & !/MPI MPI_COMM_BCT, IERR_MPI ) !/MPI END IF @@ -2748,7 +2753,7 @@ !/T 9052 FORMAT ( ' TEST WMINIT : FLGRD : ',5(5L2,1X)/24X,5(5L2,1X)) ! !/T 9060 FORMAT ( ' TEST WMINIT : GRID MOVEMENT DATA') -!/T 9061 FORMAT ( ' ',I8.8,I7.1X,2F8.2) +!/T 9061 FORMAT ( ' ',I8.8,I7,1X,2F8.2) ! !/T 9070 FORMAT ( ' TEST WMINIT : ALLPRC ') !/T 9071 FORMAT ( ' ',I3,' : ',250I3) diff -rupN WW3_314_10/ftn/wmiopomd.ftn WW3_314_14/ftn/wmiopomd.ftn --- WW3_314_10/ftn/wmiopomd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/wmiopomd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,15 +5,16 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 16-Mar-2012 | !/ +-----------------------------------+ !/ !/ 09-Aug-2006 : Origination. ( version 3.10 ) !/ 01-May-2007 : Addd diagnostic output O7a/b. ( version 3.11 ) !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 16-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -83,11 +84,12 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 01-May-2007 ! +!/ | Last update : 16-Mar-2012 ! !/ +-----------------------------------+ !/ !/ 09-Aug-2006 : Origination. ( version 3.10 ) !/ 01-May-2007 : Addd diagnostic output O7a,b ( version 3.11 ) +!/ 16-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 3.14 ) !/ ! 1. Purpose : ! @@ -187,6 +189,8 @@ !/MPI USE WMMDATMD, ONLY: MPI_COMM_GRD, MPI_COMM_MWAVE ! IMPLICIT NONE +! +!/MPI INCLUDE "mpif.h" !/ !/ ------------------------------------------------------------------- / !/ Parameter list @@ -440,7 +444,7 @@ ! !/MPI CALL WMSETM ( J, MDSE, MDST ) ! -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) THEN +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN ! !/MPI CALL W3SETO ( J, MDSE, MDST ) !/MPI CALL W3SETG ( J, MDSE, MDST ) @@ -532,11 +536,12 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 21-Jun-2007 ! +!/ | Last update : 16-Mar-2012 ! !/ +-----------------------------------+ !/ !/ 09-Aug-2006 : Origination. ( version 3.10 ) !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) +!/ 16-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 3.14 ) !/ ! 1. Purpose : ! @@ -629,6 +634,7 @@ !/ INTEGER :: J, I, II, IT0, IT, ITARG, IFROM !/SHRD INTEGER :: MPI_COMM_GRD = 1, CROOT = 1 +!/SHRD INTEGER, PARAMETER :: MPI_COMM_NULL = -1 !/MPI INTEGER :: IERR_MPI, NMPPNT !/MPI INTEGER, ALLOCATABLE :: STATUS(:,:) !/S INTEGER, SAVE :: IENT = 0 @@ -668,7 +674,7 @@ ! ! 1.b Determine if action ! - IF ( MPI_COMM_GRD .EQ. -1 ) THEN + IF ( MPI_COMM_GRD .EQ. MPI_COMM_NULL ) THEN !/T WRITE (MDST,9011) CYCLE END IF diff -rupN WW3_314_10/ftn/wmwavemd.ftn WW3_314_14/ftn/wmwavemd.ftn --- WW3_314_10/ftn/wmwavemd.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/wmwavemd.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 20-Aug-2010 | +!/ | Last update : 12-Mar-2012 | !/ +-----------------------------------+ !/ !/ 13-Jun-2005 : Origination. ( version 3.07 ) @@ -21,6 +21,7 @@ !/ 20-Sep-2007 : Fix reset of GRSTAT in 0.b ( version 3.13 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) !/ 20-Aug-2010 : Fix MAPSTA/MAPST2 bug. ( version 3.14.6 ) +!/ 12-Mar-2012 : Use MPI_COMM_NULL for checks. ( version 3.14 ) !/ !/ Copyright 2009-2010 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights @@ -71,7 +72,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 20-Aug-2010 | +!/ | Last update : 12-Mar-2012 | !/ +-----------------------------------+ !/ !/ 13-Jun-2005 : Origination. ( version 3.07 ) @@ -86,6 +87,7 @@ !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) !/ 20-Sep-2007 : Fix reset of GRSTAT in 0.b ( version 3.13 ) !/ 20-Aug-2010 : Fix MAPSTA/MAPST2 bug sec. 9.a. ( version 3.14.6 ) +!/ 12-Mar-2012 : Use MPI_COMM_NULL for checks. ( version 3.14 ) !/ ! 1. Purpose : ! @@ -414,7 +416,7 @@ ! !/SHRD IF ( GRSTAT(I) .EQ. 0 ) THEN !/MPI IF ( GRSTAT(I).EQ.0 .AND. .NOT.FLSYNC(I) .AND. & -!/MPI MPI_COMM_GRD .NE. -1 ) THEN +!/MPI MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN ! !/MPRF CALL PRTIME ( PRFT0 ) IF ( DTTST .LE. 0 ) THEN @@ -508,13 +510,15 @@ ! 3.b.1 Get the data ! !/MPI IF ( .NOT.FLAGOK .AND. .NOT.PREGTB(I) ) THEN -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) CALL WMIOBG (I,FLAG) +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & +!/MPI CALL WMIOBG (I,FLAG) !/MPI PREGTB(I) = .TRUE. !/MPI END IF ! IF ( FLAGOK ) THEN !/SHRD CALL WMIOBG ( I, FLAGOK ) -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) CALL WMIOBG ( I ) +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & +!/MPI CALL WMIOBG ( I ) !/MPI PREGTB(I) = .FALSE. GRSTAT(I) = 2 DONE = .TRUE. @@ -583,7 +587,8 @@ DO II=1, NRGRD CALL W3SETW ( II, MDSE, MDST ) !/SHRD IF ( TIME(1) .NE. -1 ) THEN -!/MPI IF ( TIME(1).NE.-1 .AND. MPI_COMM_GRD.NE.-1 ) THEN +!/MPI IF ( TIME(1).NE.-1 .AND. & +!/MPI MPI_COMM_GRD.NE.MPI_COMM_NULL ) THEN IF ( DSEC21(TIME,TSYNC(:,0)) .NE. 0 ) THEN FLAGOK = .FALSE. EXIT @@ -724,13 +729,14 @@ ! !/SHRD IF ( GRSTAT(I) .EQ. 3 ) THEN ! -!/MPI IF ( GRSTAT(I).EQ.3 .AND. MPI_COMM_GRD .EQ. -1 ) THEN +!/MPI IF ( GRSTAT(I).EQ.3 .AND. & +!/MPI MPI_COMM_GRD .EQ. MPI_COMM_NULL ) THEN !/MPI CALL W3SETW ( I, MDSE, MDST ) !/MPI TIME = TSYNC(:,I) !/MPI GRSTAT(I) = 4 !/MPI DONE = .TRUE. !/MPI ELSE IF ( GRSTAT(I).EQ.3 .AND. & -!/MPI MPI_COMM_GRD .NE. -1 ) THEN +!/MPI MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN ! !/T WRITE (MDST,9002) I, GRSTAT(I), 'RUNNING MODEL' !/MPRF CALL PRTIME ( PRFT0 ) @@ -807,13 +813,15 @@ ! 6.b Call gathering routine, reset FLEQOK and cycle ! !/MPI IF ( .NOT.FLEQOK(I) .AND. .NOT.PREGTE(I) ) THEN -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) CALL WMIOEG (I,FLAG) +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & +!/MPI CALL WMIOEG (I,FLAG) !/MPI PREGTE(I) = .TRUE. !/MPI END IF ! IF ( FLEQOK(I) ) THEN !/SHRD CALL WMIOEG ( I ) -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) CALL WMIOEG ( I ) +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & +!/MPI CALL WMIOEG ( I ) !/MPI PREGTE(I) = .FALSE. GRSTAT(I) = 5 FLEQOK(I) = .FALSE. @@ -828,7 +836,7 @@ ! !/SHRD CALL WMIOBS ( I ) ! -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) THEN +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN !/MPI CALL WMIOBF ( I ) !/MPI CALL WMIOBS ( I ) !/MPI END IF @@ -880,14 +888,15 @@ ! 7.b Call gathering routine ! !/MPI IF ( .NOT.FLAGOK .AND. .NOT.PREGTH(I) ) THEN -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) & +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & !/MPI CALL WMIOHG ( I, FLAG ) !/MPI PREGTH(I) = .TRUE. !/MPI END IF ! IF ( FLAGOK ) THEN !/SHRD CALL WMIOHG ( I, FLAGOK ) -!/MPI IF ( MPI_COMM_GRD.NE.-1 ) CALL WMIOHG ( I ) +!/MPI IF ( MPI_COMM_GRD.NE.MPI_COMM_NULL ) & +!/MPI CALL WMIOHG ( I ) !/MPI PREGTH(I) = .FALSE. GRSTAT(I) = 6 DONE = .TRUE. @@ -900,7 +909,7 @@ !/SHRD IF ( GRSTAT(I) .EQ. 6 ) CALL WMIOHS ( I ) ! !/MPI IF ( GRSTAT(I) .EQ. 6 .AND. & -!/MPI MPI_COMM_GRD .NE. -1 ) THEN +!/MPI MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN !/MPI CALL WMIOHF ( I ) !/MPI CALL WMIOHS ( I ) !/MPI END IF @@ -961,7 +970,7 @@ ! 9.b Perform output ! IF ( GRSTAT(I) .EQ. 7 ) THEN -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) THEN +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN ! !!/MPRF CALL PRTIME ( PRFT0 ) !!/MPRF CALL WMWOUT ( I, NRGRD, 3 ) @@ -1216,7 +1225,7 @@ ! !/MPI DO I=1, NRGRD !/MPI CALL WMSETM ( I, MDSE, MDST ) -!/MPI IF ( MPI_COMM_GRD .NE. -1 ) THEN +!/MPI IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN !/MPI CALL WMIOBF ( I ) !/MPI CALL WMIOHF ( I ) !/MPI CALL WMIOEF ( I ) diff -rupN WW3_314_10/ftn/ww3_shel.ftn WW3_314_14/ftn/ww3_shel.ftn --- WW3_314_10/ftn/ww3_shel.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/ww3_shel.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 06-Mar-2012 | !/ +-----------------------------------+ !/ !/ 19-Jan-1999 : Final FORTRAN 77 ( version 1.18 ) @@ -26,8 +26,9 @@ !/ 28-Oct-2006 : Adding partitioning options. ( version 3.10 ) !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 06-Mar-2012 : Repairing test output. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -267,6 +268,8 @@ !/LLG FACTOR = 1. !/XYG FACTOR = 1.E-3 ! +!/T PRTFRM = .TRUE. +! !/F90 CALL SYSTEM_CLOCK ( CLKT0, CLKINC, CLKMAX ) ! !--- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -rupN WW3_314_10/ftn/ww3_strt.ftn WW3_314_14/ftn/ww3_strt.ftn --- WW3_314_10/ftn/ww3_strt.ftn 2012-10-02 21:43:10.000000000 -0400 +++ WW3_314_14/ftn/ww3_strt.ftn 2012-10-02 21:17:11.000000000 -0400 @@ -5,7 +5,7 @@ !/ | WAVEWATCH III NOAA/NCEP | !/ | H. L. Tolman | !/ | FORTRAN 90 | -!/ | Last update : 29-May-2009 | +!/ | Last update : 06-Mar-2012 | !/ +-----------------------------------+ !/ !/ 15-Jan-1999 : Final FORTRAN 77 ( version 1.18 ) @@ -18,8 +18,9 @@ !/ 28-Jun-2006 : Adding file name preamble. ( version 3.09 ) !/ 08-May-2007 : Starting from calm as an option. ( version 3.11 ) !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) +!/ 06-Mar-2012 : Hardening output. ( version 3.14 ) !/ -!/ Copyright 2009 National Weather Service (NWS), +!/ Copyright 2009-2012 National Weather Service (NWS), !/ National Oceanic and Atmospheric Administration. All rights !/ reserved. WAVEWATCH III is a trademark of the NWS. !/ No unauthorized use without permission. @@ -316,8 +317,9 @@ !/LLG FACTOR = 1. !/XYG FACTOR = 1.E-3 IF ( IAPROC .EQ. NAPOUT ) WRITE (NDSO,940) & - FP, SIP, THM, NCOS, FACTOR*XM, FACTOR*SIX, & - FACTOR*YM, FACTOR*SIY, HMAX + FP, SIP, THM, NCOS, FACTOR*XM, MIN(9999.99,FACTOR*SIX),& + FACTOR*YM, MIN(9999.99,FACTOR*SIY),& + HMAX ! FP = FP * TPI SIP = SIP * TPI diff -rupN WW3_314_10/inp/ww3_outp.inp WW3_314_14/inp/ww3_outp.inp --- WW3_314_10/inp/ww3_outp.inp 2012-10-02 21:43:07.000000000 -0400 +++ WW3_314_14/inp/ww3_outp.inp 2012-10-02 21:17:08.000000000 -0400 @@ -35,7 +35,7 @@ $ - Unit number for transfer fi $ name. $ - Flag for unformatted transfer file. $ - 3 0. 0. 33 F + 1 0. 0. 33 F $ $ The transfer file contains records with the following contents. $ diff -rupN WW3_314_10/test/mww3_test_01 WW3_314_14/test/mww3_test_01 --- WW3_314_10/test/mww3_test_01 2012-10-02 21:43:06.000000000 -0400 +++ WW3_314_14/test/mww3_test_01 2012-10-02 21:17:07.000000000 -0400 @@ -6,7 +6,7 @@ # Model should be compiled with the switches : # # # # !/XYG Cartesian grid. # -# !/FLX1 !/LN0 !/ST0 !/NL0 !/BT0 !/DB1 !/TR0 !/BS0 !/XX0 # +# !/FLX0 !/LN0 !/ST0 !/NL0 !/BT0 !/DB1 !/TR0 !/BS0 !/XX0 # # Only depth breaking relevant here. # # !/PRn Selecting one of the propagation schemes. # # !/O0 !/O1 !/O2 !/O3 !/O4 !/O5 !/O6 !/O7 !/O10 !/O11 # @@ -15,37 +15,51 @@ # No other optional switches should be used. # # # # Remarks : # -# - Grads scripts do not display but prodice .eps files. # +# - Grads scripts do not display but produce .eps files. # # - Script set up for parallel running : # # a) For cluster with mpirun activate mpirun command lines and set # # environment with valiables MPI and proc in section 0. # # b) For IBM with poe, activale poe command lines and set environment # # variables in poe jobcards at the top of the scripts. # +# c) For SGI with MPIT several environment setting are needed in the # +# head of the script, as well as job cards and using the mpiexec_mpt # +# to start the code to run in the parallel environment. # +# d) In present form, IBM qsub directives disabled to avoid unwanted # +# translation by msub on zeus. # # # # Hendrik Tolman, Jun 2002 # -# Last Mod : Nov 2007 # +# Last Mod : March 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # # # ############################################################################# -#@ shell=/bin/sh -#@ job_name=mww3_test_01 -#@ output=mww3_test_01.out -#@ error=mww3_test_01.out -#@ notification=never -#@ class=dev -#@ network.MPI=csss,shared,us -#@ total_tasks=4 -#@ node=1 -#@ job_type=parallel -#@ wall_clock_limit=00:01:00 -#@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) -#@ account_no=WAV-T2O -#@ queue +# #@ shell=/bin/sh +# #@ job_name=mww3_test_01 +# #@ output=mww3_test_01.out +# #@ error=mww3_test_01.out +# #@ notification=never +# #@ class=dev +# #@ network.MPI=csss,shared,us +# #@ total_tasks=4 +# #@ node=1 +# #@ job_type=parallel +# #@ wall_clock_limit=00:01:00 +# #@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) +# #@ account_no=WAV-T2O +# #@ queue + +#PBS -l procs=4 +# #PBS -l mem=1G +#PBS -q batch +#PBS -l walltime=15:00 +#PBS -A omd +#PBS -N mww3_test_01 +#PBS -j oe +#PBS -o mww3_test_01.out # 0. Preparations ----------------------------------------------------------- @@ -54,8 +68,14 @@ ww3_env='.wwatch3.env' # setup file grads='yes' # run grads scripts - MPI='no' # run ww3_shel in MPI mode - proc=4 + MPI='yes' # run ww3_shel in MPI mode + proc=4 # only used for mpirun + +# zeus MPIT settings + + MPI_BUFS_PER_PROC=128 + MPI_BUFS_PER_HOST=128 + MPI_GROUP_MAX=128 # 0.a Set-up variables @@ -75,7 +95,7 @@ path_e="$main_dir/exe" # path for executables path_a="$main_dir/aux" # path for aux files and scripts path_o="$main_dir/test" # path for output files -# path_o="$main_dir/work" + path_o="$main_dir/work" # 0.b Clean-up @@ -339,8 +359,10 @@ $ 1 $ 19680606 000000 450 19680607 000000 - T T T T T T T T T T T T T T T T T T T T T T T T T - T T T T T T + T T T T T T T T T T T T F F F F F F F F F F F F F + F F F F F F +$ T T T T T T T T T T T T T T T T T T T T T T T T T +$ T T T T T T 19680606 000000 450 19680607 000000 EOF cat buoy.data >> ww3_shel.inp @@ -368,7 +390,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_shel + mpiexec_mpt -np $PBS_NP $path_e/ww3_shel +# mpirun -np $proc $path_e/ww3_shel # poe $path_e/ww3_shel else $path_e/ww3_shel @@ -803,7 +826,7 @@ EOF echo ' ' ; echo "Files in $path_o :" ; echo ' ' cd $path_o ls -l ww3_????.out gx_????.out - ls -l *.ww3 ww3.* *.eps + ls -l *.ww3 ww3.* *.eps *.gs echo ' ' ; echo ' ' echo ' ======> END OF WAVEWATCH III <====== ' diff -rupN WW3_314_10/test/mww3_test_02 WW3_314_14/test/mww3_test_02 --- WW3_314_10/test/mww3_test_02 2012-10-02 21:43:06.000000000 -0400 +++ WW3_314_14/test/mww3_test_02 2012-10-02 21:17:07.000000000 -0400 @@ -32,31 +32,45 @@ # environment with valiables MPI and proc in section 0. # # b) For IBM with poe, activale poe command lines and set environment # # variables in poe jobcards at the top of the scripts. # +# c) For SGI with MPIT several environment setting are needed in the # +# head of the script, as well as job cards and using the mpiexec_mpt # +# to start the code to run in the parallel environment. # +# d) In present form, IBM qsub directives are disabled to avoid unwanted # +# translation by msub on zeus. # # # # Hendrik Tolman, Sep 2005 # -# Last Mod : Jul 2007 # +# Last Mod : March 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # # # ############################################################################# -#@ shell=/bin/sh -#@ job_name=mww3_test_02 -#@ output=mww3_test_02.out -#@ error=mww3_test_02.out -#@ notification=never -#@ class=dev -#@ network.MPI=csss,shared,us -#@ total_tasks=6 -#@ node=1 -#@ job_type=parallel -#@ wall_clock_limit=00:01:00 -#@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) -#@ account_no=WAV-T2O -#@ queue +# #@ shell=/bin/sh +# #@ job_name=mww3_test_02 +# #@ output=mww3_test_02.out +# #@ error=mww3_test_02.out +# #@ notification=never +# #@ class=dev +# #@ network.MPI=csss,shared,us +# #@ total_tasks=6 +# #@ node=1 +# #@ job_type=parallel +# #@ wall_clock_limit=00:01:00 +# #@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) +# #@ account_no=WAV-T2O +# #@ queue + +#PBS -l procs=6 +# #PBS -l mem=1G +#PBS -q batch +#PBS -l walltime=05:00 +#PBS -A omd +#PBS -N mww3_test_02 +#PBS -j oe +#PBS -o mww3_test_02.out # 0. Preparations ----------------------------------------------------------- @@ -87,7 +101,13 @@ t_end='19680608 000000' ; tn='49' MPI='yes' # run ww3_multi in MPI mode - proc=6 + proc=6 # used for mpirun only + +# zeus MPIT settings + + MPI_BUFS_PER_PROC=128 + MPI_BUFS_PER_HOST=128 + MPI_GROUP_MAX=128 # 0.a Set-up variables @@ -107,7 +127,7 @@ path_e="$main_dir/exe" # path for executables path_a="$main_dir/aux" # path for aux files and scripts path_o="$main_dir/test" # path for output files -# path_o="$main_dir/work" + path_o="$main_dir/work" # 0.b Clean-up @@ -415,7 +435,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out +# mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out # poe $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out else $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out @@ -440,7 +461,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_multi # > $path_o/ww3_multi.out +# mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out # poe $path_e/ww3_multi # > $path_o/ww3_multi.out else $path_e/ww3_multi # > $path_o/ww3_multi.out @@ -465,7 +487,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod2.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_shel # > $path_o/ww3_shel.$mod2.out +# mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod2.out # poe $path_e/ww3_shel # > $path_o/ww3_shel.$mod2.out else $path_e/ww3_shel # > $path_o/ww3_shel.$mod2.out diff -rupN WW3_314_10/test/mww3_test_03 WW3_314_14/test/mww3_test_03 --- WW3_314_10/test/mww3_test_03 2012-10-02 21:43:06.000000000 -0400 +++ WW3_314_14/test/mww3_test_03 2012-10-02 21:17:07.000000000 -0400 @@ -30,31 +30,45 @@ # environment with valiables MPI and proc in section 0. # # b) For IBM with poe, activale poe command lines and set environment # # variables in poe jobcards at the top of the scripts. # +# c) For SGI with MPIT several environment setting are needed in the # +# head of the script, as well as job cards and using the mpiexec_mpt # +# to start the code to run in the parallel environment. # +# d) In present form, IBM qsub directives disabled to avoid unwanted # +# translation by msub on zeus. # # # -# Hendrik Tolman, Feb 2006 # -# Last Mod : Jul 2006 # +# Hendrik Tolman, Jun 2002 # +# Last Mod : March 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # # # ############################################################################# -#@ shell=/bin/sh -#@ job_name=mww3_test_03 -#@ output=mww3_test_03.out -#@ error=mww3_test_03.out -#@ notification=never -#@ class=dev -#@ network.MPI=csss,shared,us -#@ total_tasks=6 -#@ node=1 -#@ job_type=parallel -#@ wall_clock_limit=00:01:00 -#@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) -#@ account_no=WAV-T2O -#@ queue +# #@ shell=/bin/sh +# #@ job_name=mww3_test_03 +# #@ output=mww3_test_03.out +# #@ error=mww3_test_03.out +# #@ notification=never +# #@ class=dev +# #@ network.MPI=csss,shared,us +# #@ total_tasks=6 +# #@ node=1 +# #@ job_type=parallel +# #@ wall_clock_limit=00:01:00 +# #@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) +# #@ account_no=WAV-T2O +# #@ queue + +#PBS -l procs=6 +# #PBS -l mem=1G +#PBS -q batch +#PBS -l walltime=05:00 +#PBS -A omd +#PBS -N mww3_test_03 +#PBS -j oe +#PBS -o mww3_test_03.out # 0. Preparations ----------------------------------------------------------- @@ -62,6 +76,10 @@ ww3_env='.wwatch3.env' # setup file +# f77=f77 +# f77=pgf90 + f77=ifort + lowm='no' # master low-res map instead of three high='yes' # Add high resolution grids @@ -145,11 +163,17 @@ # t_end='19680606 120000' ; tn='13' MPI='yes' # run ww3_multi in MPI mode - proc=6 + proc=6 # used for mpirun only PROP2="$ \&PRO2 DTIME = 21600. \/" PROP3="$ \&PRO3 WDTHCG = 0., WDTHTH = 0. \/" +# zeus MPIT settings + + MPI_BUFS_PER_PROC=128 + MPI_BUFS_PER_HOST=128 + MPI_GROUP_MAX=128 + # 0.a Set-up variables cd @@ -168,7 +192,7 @@ path_e="$main_dir/exe" # path for executables path_a="$main_dir/aux" # path for aux files and scripts path_o="$main_dir/test" # path for output files -# path_o="$main_dir/work" + path_o="$main_dir/work" if [ "$lowm" = 'yes' ] then @@ -382,8 +406,8 @@ $LBY if ( mask(ix,iy) .eq. 1 ) t end EOF - f77 grid1.f -o grid1.x 2> /dev/null - f77 grid2.f -o grid2.x 2> /dev/null + $f77 grid1.f -o grid1.x # 2> /dev/null + $f77 grid2.f -o grid2.x # 2> /dev/null rm -f grid1.f grid2.f @@ -475,19 +499,19 @@ EOF do case $mod in 'low0') echo " 'low0' $flags 1 1 0.00 1.00 F" >> $inp ;; - 'low1') echo " 'low1' $flags 1 1 0.00 0.33 F" >> $inp ;; - 'low2') echo " 'low2' $flags 1 1 0.33 0.67 F" >> $inp ;; - 'low3') echo " 'low3' $flags 1 1 0.67 1.00 F" >> $inp ;; -# 'low1') echo " 'low1' $flags 1 1 0.00 1.00 F" >> $inp ;; -# 'low2') echo " 'low2' $flags 1 1 0.00 1.00 F" >> $inp ;; -# 'low3') echo " 'low3' $flags 1 1 0.00 1.00 F" >> $inp ;; +# 'low1') echo " 'low1' $flags 1 1 0.00 0.33 F" >> $inp ;; +# 'low2') echo " 'low2' $flags 1 1 0.33 0.67 F" >> $inp ;; +# 'low3') echo " 'low3' $flags 1 1 0.67 1.00 F" >> $inp ;; + 'low1') echo " 'low1' $flags 1 1 0.00 1.00 F" >> $inp ;; + 'low2') echo " 'low2' $flags 1 1 0.00 1.00 F" >> $inp ;; + 'low3') echo " 'low3' $flags 1 1 0.00 1.00 F" >> $inp ;; 'hgh0') echo " 'hgh0' $flags 2 1 0.00 1.00 F" >> $inp ;; - 'hgh1') echo " 'hgh1' $flags 2 1 0.00 0.33 F" >> $inp ;; - 'hgh2') echo " 'hgh2' $flags 2 1 0.33 0.67 F" >> $inp ;; - 'hgh3') echo " 'hgh3' $flags 2 1 0.67 1.00 F" >> $inp ;; -# 'hgh1') echo " 'hgh1' $flags 2 1 0.00 1.00 F" >> $inp ;; -# 'hgh2') echo " 'hgh2' $flags 2 1 0.00 1.00 F" >> $inp ;; -# 'hgh3') echo " 'hgh3' $flags 2 1 0.00 1.00 F" >> $inp ;; +# 'hgh1') echo " 'hgh1' $flags 2 1 0.00 0.33 F" >> $inp ;; +# 'hgh2') echo " 'hgh2' $flags 2 1 0.33 0.67 F" >> $inp ;; +# 'hgh3') echo " 'hgh3' $flags 2 1 0.67 1.00 F" >> $inp ;; + 'hgh1') echo " 'hgh1' $flags 2 1 0.00 1.00 F" >> $inp ;; + 'hgh2') echo " 'hgh2' $flags 2 1 0.00 1.00 F" >> $inp ;; + 'hgh3') echo " 'hgh3' $flags 2 1 0.00 1.00 F" >> $inp ;; esac done @@ -520,7 +544,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_multi # > $path_o/ww3_multi.out +# mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out # poe $path_e/ww3_multi # > $path_o/ww3_multi.out else $path_e/ww3_multi # > $path_o/ww3_multi.out diff -rupN WW3_314_10/test/mww3_test_04 WW3_314_14/test/mww3_test_04 --- WW3_314_10/test/mww3_test_04 2012-10-02 21:43:06.000000000 -0400 +++ WW3_314_14/test/mww3_test_04 2012-10-02 21:17:07.000000000 -0400 @@ -38,31 +38,45 @@ # environment with valiables MPI and proc in section 0. # # b) For IBM with poe, activale poe command lines and set environment # # variables in poe jobcards at the top of the scripts. # +# c) For SGI with MPIT several environment setting are needed in the # +# head of the script, as well as job cards and using the mpiexec_mpt # +# to start the code to run in the parallel environment. # +# d) In present form, IBM qsub directives disabled to avoid unwanted # +# translation by msub on zeus. # # # -# Hendrik Tolman, Nov 2005 # -# Last Mod : Nov 2007 # +# Hendrik Tolman, Jun 2002 # +# Last Mod : March 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # # # ############################################################################# -#@ shell=/bin/sh -#@ job_name=mww3_test_04 -#@ output=mww3_test_04.out -#@ error=mww3_test_04.out -#@ notification=never -#@ class=dev -#@ network.MPI=csss,shared,us -#@ total_tasks=6 -#@ node=1 -#@ job_type=parallel -#@ wall_clock_limit=00:03:00 -#@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) -#@ account_no=WAV-T2O -#@ queue +# #@ shell=/bin/sh +# #@ job_name=mww3_test_04 +# #@ output=mww3_test_04.out +# #@ error=mww3_test_04.out +# #@ notification=never +# #@ class=dev +# #@ network.MPI=csss,shared,us +# #@ total_tasks=6 +# #@ node=1 +# #@ job_type=parallel +# #@ wall_clock_limit=00:03:00 +# #@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) +# #@ account_no=WAV-T2O +# #@ queue + +#PBS -l procs=6 +# #PBS -l mem=1G +#PBS -q batch +#PBS -l walltime=05:00 +#PBS -A omd +#PBS -N mww3_test_04 +#PBS -j oe +#PBS -o mww3_test_04.out # 0. Preparations ----------------------------------------------------------- @@ -70,6 +84,10 @@ ww3_env='.wwatch3.env' # setup file +# f77=f77 +# f77=pgf90 + f77=ifort + shoal='no ' # Use shoal in grid (otherwise deep) dmin=' 15.' # Minimum depth, if <0, there be a shoal. @@ -92,12 +110,12 @@ # t_end='19680606 060000' ; tn='7' # t_end='19680606 120000' ; tn='13' # t_end='19680607 000000' ; tn='25' - t_end='19680607 120000' ; tn='37' - t_end='19680607 120000' ; tn='109' +# t_end='19680607 120000' ; tn='37' # t_end='19680608 000000' ; tn='49' + t_end='19680607 120000' ; tn='109' - MPI='no' # run ww3_shel and ww3_multi in MPI mode - proc=4 + MPI='yes' # run ww3_shel and ww3_multi in MPI mode + proc=4 # used for mpirun only PRO2=' &PRO2 DTIME = 7200. /' PRO3=' &PRO3 WDTHCG = 1.50, WDTHTH = 1.50 /' @@ -149,7 +167,7 @@ EOF if [ "$mode" = 'single' ] then - uni_pts='on' + uni_pts='no' fi if [ "$uni_pt" = 'yes' ] @@ -163,6 +181,12 @@ EOF points= fi +# zeus MPIT settings + + MPI_BUFS_PER_PROC=128 + MPI_BUFS_PER_HOST=128 + MPI_GROUP_MAX=128 + # 0.a Set-up variables path_h=`pwd` @@ -312,7 +336,7 @@ c end EOF - f77 grid.f + $f77 grid.f ./a.out @@ -561,7 +585,7 @@ c end EOF - f77 current.f + $f77 current.f ./a.out @@ -683,7 +707,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_multi # > $path_o/ww3_multi.out +# mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out # poe $path_e/ww3_multi # > $path_o/ww3_multi.out else $path_e/ww3_multi # > $path_o/ww3_multi.out @@ -847,7 +872,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_shel > $path_o/ww3_shel.$mod.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_shel > $path_o/ww3_shel.$mod.out +# mpirun -np $proc $path_e/ww3_shel > $path_o/ww3_shel.$mod.out # poe $path_e/ww3_shel > $path_o/ww3_shel.$mod.out else $path_e/ww3_shel > $path_o/ww3_shel.$mod.out diff -rupN WW3_314_10/test/mww3_test_05 WW3_314_14/test/mww3_test_05 --- WW3_314_10/test/mww3_test_05 2012-10-02 21:43:06.000000000 -0400 +++ WW3_314_14/test/mww3_test_05 2012-10-02 21:17:07.000000000 -0400 @@ -34,31 +34,45 @@ # environment with valiables MPI and proc in section 0. # # b) For IBM with poe, activale poe command lines and set environment # # variables in poe jobcards at the top of the scripts. # +# c) For SGI with MPIT several environment setting are needed in the # +# head of the script, as well as job cards and using the mpiexec_mpt # +# to start the code to run in the parallel environment. # +# d) In present form, IBM qsub directives disabled to avoid unwanted # +# translation by msub on zeus. # # # -# Hendrik Tolman, Nov 2005 # -# Last Mod : Nov 2007 # +# Hendrik Tolman, Jun 2002 # +# Last Mod : March 2012 # # # -# Copyright 2009 National Weather Service (NWS), # +# Copyright 2009-2012 National Weather Service (NWS), # # National Oceanic and Atmospheric Administration. All rights # # reserved. WAVEWATCH III is a trademark of the NWS. # # No unauthorized use without permission. # # # ############################################################################# -#@ shell=/bin/sh -#@ job_name=mww3_test_05 -#@ output=mww3_test_05.out -#@ error=mww3_test_05.out -#@ notification=never -#@ class=dev -#@ network.MPI=csss,shared,us -#@ total_tasks=16 -#@ node=1 -#@ job_type=parallel -#@ wall_clock_limit=00:30:00 -#@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) -#@ account_no=WAV-T2O -#@ queue +# #@ shell=/bin/sh +# #@ job_name=mww3_test_05 +# #@ output=mww3_test_05.out +# #@ error=mww3_test_05.out +# #@ notification=never +# #@ class=dev +# #@ network.MPI=csss,shared,us +# #@ total_tasks=16 +# #@ node=1 +# #@ job_type=parallel +# #@ wall_clock_limit=00:30:00 +# #@ resources=ConsumableCpus(1) ConsumableMemory(500 MB) +# #@ account_no=WAV-T2O +# #@ queue + +#PBS -l procs=6 +# #PBS -l mem=1G +#PBS -q batch +#PBS -l walltime=05:00 +#PBS -A omd +#PBS -N mww3_test_05 +#PBS -j oe +#PBS -o mww3_test_05.out # 0. Preparations ----------------------------------------------------------- @@ -66,6 +80,10 @@ ww3_env='.wwatch3.env' # setup file +# f77=f77 +# f77=pgf90 + f77=ifort + input='input' grids='grd1 grd2 grd3' @@ -91,16 +109,16 @@ # t_end='19680606 000000' ; tn=' 1' # t_end='19680606 010000' ; tn=' 2' # t_end='19680606 030000' ; tn=' 4' -# t_end='19680606 060000' ; tn=' 7' + t_end='19680606 060000' ; tn=' 7' # t_end='19680606 120000' ; tn='13' # t_end='19680606 180000' ; tn='19' - t_end='19680607 000000' ; tn='25' +# t_end='19680607 000000' ; tn='25' # t_end='19680607 120000' ; tn='37' # t_end='19680608 000000' ; tn='49' # t_end='19680610 000000' ; tn='97' MPI='yes' # run ww3_shel and ww3_multi in MPI mode - proc=20 + proc=20 # used for mpirun only PRO2=' &PRO2 DTIME = 7200. /' PRO3='$ &PRO3 WDTHCG = 0., WDTHTH = 0. /' @@ -206,7 +224,13 @@ EOF path_e="$main_dir/exe" # path for executables path_a="$main_dir/aux" # path for aux files and scripts path_o="$main_dir/test" # path for output files -# path_o="$main_dir/work" + path_o="$main_dir/work" + +# zeus MPIT settings + + MPI_BUFS_PER_PROC=128 + MPI_BUFS_PER_HOST=128 + MPI_GROUP_MAX=128 # 0.b Clean-up @@ -299,7 +323,7 @@ cat > grid.f << EOF end EOF - f77 grid.f + $f77 grid.f rm -f grid.f @@ -438,7 +462,7 @@ c end EOF - f77 wind.f + $f77 wind.f rm -f wind.f @@ -594,7 +618,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_multi # > $path_o/ww3_multi.out +# mpirun -np $proc $path_e/ww3_multi # > $path_o/ww3_multi.out # poe $path_e/ww3_multi # > $path_o/ww3_multi.out else $path_e/ww3_multi # > $path_o/ww3_multi.out @@ -728,7 +753,8 @@ EOF if [ "$MPI" = 'yes' ] then - mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out + mpiexec_mpt -np $PBS_NP $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out +# mpirun -np $proc $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out # poe $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out else $path_e/ww3_shel # > $path_o/ww3_shel.$mod.out