diff --git a/.gitignore b/.gitignore index b43cb68a2b..0c3df2c138 100644 --- a/.gitignore +++ b/.gitignore @@ -52,8 +52,8 @@ regtests/*/input*/*/*.nc regtests/*/input*/partition.ww3 regtests/*/*.png regtests/ww3_tp2.14/input/oasis3-mct/doc -regtests/ww3_tp2.14/input*/*.nc.OAS*CM -regtests/ww3_tp2.14/input*/*/*.nc.OAS*CM +regtests/ww3_tp2.14/input*/*.nc.OAS*CM* +regtests/ww3_tp2.14/input*/*/*.nc.OAS*CM* regtests/ww3_tp2.17/input/inlet.msh *.nc */*.nc diff --git a/model/bin/cmplr.env b/model/bin/cmplr.env index e9b8ffc698..8fddea5696 100644 --- a/model/bin/cmplr.env +++ b/model/bin/cmplr.env @@ -109,8 +109,9 @@ fi if [ "$cmplr" == "intel" ] || [ "$cmplr" == "intel_debug" ] || [ "$cmplr" == "intel_prof" ] || \ [ "$cmplr" == "so_intel" ] || [ "$cmplr" == "so_intel_debug" ] || [ "$cmplr" == "so_intel_prof" ] || \ [ "$cmplr" == "datarmor_intel" ] || [ "$cmplr" == "datarmor_intel_debug" ] || [ "$cmplr" == "datarmor_intel_prof" ] || \ - [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || [ "$cmplr" == "cheyenne" ] || \ - [ "$cmplr" == "hera" ] || [ "$cmplr" == "orion" ] || [ "$cmplr" == "stampede" ] ; then + [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || [ "$cmplr" == "cheyenne.intel" ] || \ + [ "$cmplr" == "gaea.intel" ] || [ "$cmplr" == "jet.intel" ] || \ + [ "$cmplr" == "hera.intel" ] || [ "$cmplr" == "orion.intel" ] || [ "$cmplr" == "stampede.intel" ] ; then # COMPILER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -120,11 +121,11 @@ if [ "$cmplr" == "intel" ] || [ "$cmplr" == "intel_debug" ] || [ "$c comp_mpi='mpiifort' # cray compiler - if [ ! -z "$(echo $cmplr | grep wcoss_cray)" ] ; then + if [ ! -z "$(echo $cmplr | grep wcoss_cray)" ] || [ "$cmplr" == "gaea.intel" ]; then comp_seq='ftn' comp_mpi='ftn' fi - + if [ ! -z "$(echo $cmplr | grep cheyenne)" ] ; then comp_seq='ifort' comp_mpi='mpif90' @@ -156,9 +157,10 @@ if [ "$cmplr" == "intel" ] || [ "$cmplr" == "intel_debug" ] || [ "$c if [ "$list" == 'yes' ] ; then optc="$optc -list"; fi # omp options - if [ ! -z "$(echo $cmplr | grep datarmor)" ] || [ "$cmplr" == "hera" ] || [ "$cmplr" == "orion" ] || \ - [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || [ "$cmplr" == "cheyenne" ] || \ - [ "$cmplr" == "stampede" ]; then + if [ ! -z "$(echo $cmplr | grep datarmor)" ] || [ "$cmplr" == "hera.intel" ] || [ "$cmplr" == "orion.intel" ] || \ + [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || [ "$cmplr" == "cheyenne.intel" ] || \ + [ "$cmplr" == "gaea.intel" ] || [ "$cmplr" == "jet.intel" ] || \ + [ "$cmplr" == "stampede.intel" ]; then optomp="-qopenmp" else optomp="-openmp" @@ -205,6 +207,7 @@ fi if [ "$cmplr" == "gnu" ] || [ "$cmplr" == "gnu_debug" ] || [ "$cmplr" == "gnu_prof" ] || \ [ "$cmplr" == "so_gnu" ] || [ "$cmplr" == "so_gnu_debug" ] || [ "$cmplr" == "so_gnu_prof" ] || \ + [ "$cmplr" == "hera.gnu" ] || [ "$cmplr" == "cheyenne.gnu" ] || \ [ "$cmplr" == "datarmor_gnu" ] || [ "$cmplr" == "datarmor_gnu_debug" ] || [ "$cmplr" == "datarmor_gnu_prof" ] || \ [ "$cmplr" == "ukmo_cray_gnu" ] || [ "$cmplr" == "ukmo_cray_gnu_debug" ] || [ "$cmplr" == "ukmo_cray_gnu_prof" ] ; then diff --git a/model/bin/w3_setup b/model/bin/w3_setup index 89f2e531f2..d8e0d4b62a 100755 --- a/model/bin/w3_setup +++ b/model/bin/w3_setup @@ -414,9 +414,10 @@ then [ "$cmplr" == "so_intel" ] || [ "$cmplr" == "so_intel_debug" ] || \ [ "$cmplr" == "datarmor_intel" ] || [ "$cmplr" == "datarmor_intel_debug" ] || \ [ "$cmplr" == "gnu" ] || [ "$cmplr" == "gnu_debug" ] || \ - [ "$cmplr" == "hera" ] || [ "$cmplr" == "orion" ] || \ - [ "$cmplr" == "stampede" ] || \ - [ "$cmplr" == "cheyenne" ] || \ + [ "$cmplr" == "hera.intel" ] || [ "$cmplr" == "orion.intel" ] || \ + [ "$cmplr" == "hera.gnu" ] || [ "$cmplr" == "jet.intel" ] || \ + [ "$cmplr" == "stampede.intel" ] || [ "$cmplr" == "gaea.intel" ] || \ + [ "$cmplr" == "cheyenne.intel" ] || [ "$cmplr" == "cheyenne.gnu" ] || \ [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || \ [ "$cmplr" == "datarmor_gnu" ] || [ "$cmplr" == "datarmor_gnu_debug" ] || \ [ "$cmplr" == "pgi" ] || [ "$cmplr" == "pgi_debug" ] || \ @@ -441,9 +442,10 @@ then [ "$cmplr" == "so_intel" ] || [ "$cmplr" == "so_intel_debug" ] || \ [ "$cmplr" == "datarmor_intel" ] || [ "$cmplr" == "datarmor_intel_debug" ] || \ [ "$cmplr" == "gnu" ] || [ "$cmplr" == "gnu_debug" ] || \ - [ "$cmplr" == "hera" ] || [ "$cmplr" == "orion" ] || \ - [ "$cmplr" == "stampede" ] || \ - [ "$cmplr" == "cheyenne" ] || \ + [ "$cmplr" == "hera.intel" ] || [ "$cmplr" == "orion.intel" ] || \ + [ "$cmplr" == "hera.gnu" ] || [ "$cmplr" == "jet.intel" ] || \ + [ "$cmplr" == "stampede.intel" ] || [ "$cmplr" == "gaea.intel" ] || \ + [ "$cmplr" == "cheyenne.intel" ] || [ "$cmplr" == "cheyenne.gnu" ] || \ [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || \ [ "$cmplr" == "datarmor_gnu" ] || [ "$cmplr" == "datarmor_gnu_debug" ] || \ [ "$cmplr" == "pgi" ] || [ "$cmplr" == "pgi_debug" ] || \ diff --git a/model/esmf/Makefile b/model/esmf/Makefile index 9a09d7b34f..f17026be9a 100644 --- a/model/esmf/Makefile +++ b/model/esmf/Makefile @@ -35,9 +35,11 @@ ifeq ($(WW3_COMP),Portland) else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","pgi" "datarmor_pgi" "datarmor_pgi_debug")) ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -byteswapio # intel -else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","Intel" "hera" "orion" "cheyenne" "stampede")) +else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","Intel" "hera.intel" "orion.intel" "jet.intel")) ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -convert big_endian -else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","wcoss_cray" "wcoss_dell_p3")) +else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)", "cheyenne.intel" "stampede.intel")) + ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -convert big_endian +else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","wcoss_cray" "wcoss_dell_p3" "gaea.intel")) ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -convert big_endian else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","intel" "datarmor_intel" "datarmor_intel_debug")) ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -convert big_endian @@ -47,6 +49,8 @@ else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","mpt" "datarmor_mpt" "datarmor_m # gnu else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","gnu" "datarmor_gnu" "datarmor_gnu_debug")) ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -fconvert=big-endian +else ifeq ("$(WW3_COMP)",$(filter "$(WW3_COMP)","hera.gnu" "cheyenne.gnu")) + ESMF_F90COMPILEOPTS := $(ESMF_F90COMPILEOPTS) -fconvert=big-endian # error else $(error Unsupported WW3_COMP: $(WW3_COMP)) diff --git a/model/ftn/w3canomd.ftn b/model/ftn/w3canomd.ftn index ef441b9dcb..2f2b9a1c16 100644 --- a/model/ftn/w3canomd.ftn +++ b/model/ftn/w3canomd.ftn @@ -93,12 +93,16 @@ INTEGER :: NDEPTH REAL :: DEPTHA ! first depth in table REAL, SAVE , PRIVATE, ALLOCATABLE :: OMEGA(:) +!/OMPG/!$omp threadprivate( OMEGA ) INTEGER, SAVE , PRIVATE :: COUNTER = 0 +!/OMPG/!$omp threadprivate( COUNTER ) ! Tables for non-linear coefficients ... REAL, SAVE , PRIVATE, ALLOCATABLE :: TA(:,:,:,:),TB(:,:,:,:),TC_QL(:,:,:,:),& TT_4M(:,:,:,:),TT_4P(:,:,:,:),TFAKH(:,:), & TFAK(:,:) +!/OMPG/!$omp threadprivate( TA, TB, TC_QL, TT_4M, TT_4P, TFAKH, TFAK ) INTEGER, SAVE, PRIVATE, ALLOCATABLE :: IM_P(:,:),IM_M(:,:) +!/OMPG/!$omp threadprivate( IM_P, IM_M ) ! @@ -202,10 +206,13 @@ REAL :: CO1, ATOE, DPTH !/S INTEGER, SAVE :: IENT = 0 LOGICAL, SAVE :: FIRST = .TRUE. +!/OMPG/!$omp threadprivate( FIRST ) REAL, ALLOCATABLE, SAVE :: FR(:), DFIM(:) REAL, ALLOCATABLE, SAVE :: F1(:,:), F3(:,:) +!/OMPG/!$omp threadprivate( FR, DFIM, F1, F3 ) INTEGER, SAVE :: NFRE, NANG INTEGER, SAVE :: NFREH, NANGH +!/OMPG/!$omp threadprivate( NFRE, NANG, NFREH, NANGH ) !/ !/ ------------------------------------------------------------------- / !/ @@ -342,11 +349,12 @@ INTEGER MDW,M,K, K0,M0,MP,KP,MM,KM,KL,KLL,ML,JD INTEGER, SAVE :: MR, MA,NMAX - +!/OMPG/!$omp threadprivate( MR, MA, NMAX ) ! PARAMETER (NFREH=32,NANGH=36) INTEGER, SAVE :: INDEP +!/OMPG/!$omp threadprivate( INDEP ) REAL,ALLOCATABLE :: PF1(:,:),PF3(:,:) @@ -357,7 +365,7 @@ C2,XM,XK REAL, SAVE :: OMSTART REAL, SAVE :: XMR,XMA, DELTHH, CO1 - +!/OMPG/!$omp threadprivate( OMSTART, XMR,XMA, DELTHH, CO1 ) REAL :: F13(NFREH,NANGH) REAL :: SUM0,AKMEAN REAL :: DELOM(NFREH),THH(NANGH),DFDTH(NFREH) diff --git a/model/ftn/w3fld1md.ftn b/model/ftn/w3fld1md.ftn index 2c202b029e..436f0a8278 100644 --- a/model/ftn/w3fld1md.ftn +++ b/model/ftn/w3fld1md.ftn @@ -74,11 +74,14 @@ PUBLIC ! Tail_Choice: Chose the method to determine the level of the tail INTEGER, SAVE :: Tail_Choice +!/OMPG/!$omp threadprivate(Tail_Choice) REAL, SAVE :: Tail_Level !if Tail_Choice=0, tail is constant REAL, SAVE :: Tail_transition_ratio1! freq/fpi where tail ! adjustment begins REAL, SAVE :: Tail_transition_ratio2! freq/fpi where tail ! adjustment ends +!/OMPG/!$omp threadprivate(Tail_Level) +!/OMPG/!$omp threadprivate(Tail_transition_ratio1,Tail_transition_ratio2) !/ CONTAINS !/ ------------------------------------------------------------------- / @@ -228,6 +231,7 @@ LOGICAL :: FSFL1,FSFL2, CRIT1, CRIT2 LOGICAL :: IT_FLAG1, IT_FLAG2 LOGICAL, SAVE :: FIRST = .TRUE. +!/OMPG/!$omp threadprivate( FIRST) !/ !/ ------------------------------------------------------------------- / !/ diff --git a/model/ftn/w3fld2md.ftn b/model/ftn/w3fld2md.ftn index d9aecbb331..bae17012ea 100644 --- a/model/ftn/w3fld2md.ftn +++ b/model/ftn/w3fld2md.ftn @@ -206,6 +206,7 @@ INTEGER :: COUNT !/S INTEGER, SAVE :: IENT = 0 LOGICAL, SAVE :: FIRST = .TRUE. +!/OMPG/!$omp threadprivate( FIRST ) !/ !/ ------------------------------------------------------------------- / !/ diff --git a/model/ftn/w3flxxmd.ftn b/model/ftn/w3flxxmd.ftn index ee081026ef..b31817f969 100644 --- a/model/ftn/w3flxxmd.ftn +++ b/model/ftn/w3flxxmd.ftn @@ -180,6 +180,7 @@ !/ !/S INTEGER, SAVE :: IENT = 0 LOGICAL, SAVE :: FIRST = .TRUE. +!/OMPG/!$omp threadprivate( FIRST ) !/ !/ ------------------------------------------------------------------- / !/ diff --git a/model/ftn/w3srcemd.ftn b/model/ftn/w3srcemd.ftn index 159d2b4c70..63e6be2017 100644 --- a/model/ftn/w3srcemd.ftn +++ b/model/ftn/w3srcemd.ftn @@ -511,12 +511,14 @@ !/ST4 REAL :: BRLAMBDA(NSPEC) !/IS2 DOUBLE PRECISION :: SCATSPEC(NTH) REAL :: FOUT(NK,NTH), SOUT(NK,NTH), DOUT(NK,NTH) -!/FLD1 REAL, SAVE :: TAUNUX, TAUNUY -!/FLD2 REAL, SAVE :: TAUNUX, TAUNUY + REAL, SAVE :: TAUNUX, TAUNUY +!/OMPG/!$omp threadprivate( TAUNUX, TAUNUY) LOGICAL, SAVE :: FLTEST = .FALSE., FLAGNN = .TRUE. +!/OMPG/!$omp threadprivate( FLTEST, FLAGNN ) LOGICAL :: SHAVE LOGICAL :: LBREAK LOGICAL, SAVE :: FIRST = .TRUE. +!/OMPG/!$omp threadprivate( FIRST ) LOGICAL :: PrintDeltaSmDA REAL :: eInc1, eInc2 REAL :: DeltaSRC(NSPEC), MAXDAC(NSPEC) diff --git a/regtests/bin/matrix.base.v1 b/regtests/bin/matrix.base.v1 deleted file mode 100755 index 4c162ccbe6..0000000000 --- a/regtests/bin/matrix.base.v1 +++ /dev/null @@ -1,1006 +0,0 @@ -#!/bin/bash -# --------------------------------------------------------------------------- # -# matrix.base : Core of setting up matrix of regression test. # -# # -# Remarks: # -# - This code uses three temporary files, # -# matrix.head: This file can pre-exist with batch queue data etc. to be # -# set in matrix.go. If not, the head will start as a bash # -# script. # -# matrix.body: All options, separated out to allow for switch filtering. # -# matrix.tail: Ending identification. # -# - This script generates the file "matrix" that can then be executed # -# interactively and/or in batch, and can be edited by hand as needed. # -# # -# Hendrik L. Tolman # -# August 2013 # -# # -# Copyright 2013 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. # -# # -# --------------------------------------------------------------------------- # -# 1. Set up -# 1.a Check environment parameters needed to be set up in calling script. - - for par in mpi np rtst ww3 testtest shrd dist omp \ - prop1D prop2D time fetch hur1mg \ - multi01 multi02 multi03 multi04 multi05 - do - eval " value=\$$par" -# echo "$par = $value" - if [ -z "$value" ] - then - echo "error matrix.base: parameter $par not set ..." - exit 1 - fi - done - -# 1.b Check on existence of matrix.head - - - - - - - - - - - - - - - - - - - - - if [ ! -f matrix.head ] - then - echo "#!/bin/sh" > matrix.head - fi - - rm -f matrix.body - rm -f matrix.tail - -# 1.c Output to ID script - - - - - - - - - - - - - - - - - - - - - - - - - - - - echo " echo ' '" >> matrix.head - echo " echo ' **********************************************'" >> matrix.head - echo " echo ' *** WAVEWATCH III matrix of regression tests ***'">> matrix.head - echo " echo ' **********************************************'" >> matrix.head - echo " echo ' '" >> matrix.head - - if [ "$testtest" = 'y' ] - then - echo " echo ' Run one of each test only ....'" >> matrix.head - echo " echo ' Tests for single CPU codes : $shrd'" >> matrix.head - echo " echo ' Tests for multiple CPU codes (MPI) : $dist'" >> matrix.head - else - echo " echo ' Tests for single CPU codes : $shrd'" >> matrix.head - echo " echo ' Tests for multiple CPU codes (MPI) : $dist'" >> matrix.head - # echo " echo ' Tests for multiple CPU codes (OMP) : $omp'" >> matrix.head - echo " echo ' '" >> matrix.head - - echo " echo ' 1D pure propagation tests : $prop1D'" >> matrix.head - echo " echo ' 2D pure propagation tests : $prop2D'" >> matrix.head - echo " echo ' Growth curves (time) : $time'" >> matrix.head - echo " echo ' Growth curves (fetch) : $fetch'" >> matrix.head - echo " echo ' Shallow water tests : $shwtr'" >> matrix.head - echo " echo ' Unstructured grid tests : $unstr'" >> matrix.head - echo " echo ' SMC / Rotated grid tests : $smcgr'" >> matrix.head - echo " echo ' Hurricane with one moving grid : $hur1mg'" >> matrix.head - echo " echo ' Mud/Ice and wave interaction tests : $mudice'" >> matrix.head - echo " echo ' Multi 01 (wet and dry) : $multi01'" >> matrix.head - echo " echo ' Multi 02 (basic nesting) : $multi02'" >> matrix.head - echo " echo ' Multi 03 (nesting and overlap) : $multi03'" >> matrix.head - echo " echo ' Multi 04 (swell on mount/current) : $multi04'" >> matrix.head - echo " echo ' Multi 05 (hurricane 3 moving grds) : $multi05'" >> matrix.head - echo " echo ' Multi 06 (curv. + reg. grds) : $multi06'" >> matrix.head - echo " echo ' '" >> matrix.head - if [ -n "$filter" ] - then - echo " echo ' Filter for tests : $filter'" >> matrix.head - echo " echo ' '" >> matrix.head - fi - fi - -# --------------------------------------------------------------------------- # -# 2. Pure propagation tests # -# --------------------------------------------------------------------------- # - -if [ "$testtest" != 'y' ] -then - - echo " echo ' '" > matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** pure propapgation tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$prop1D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp1.6" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_curv -g curv $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR1 -w work_PR1 $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR1 -w work_REF_PR1 -i input_REF $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_a -g a $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_b -g b $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_curv_MPI -g curv -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR1_MPI -w work_REF_PR1_MPI -i input_REF -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_a_MPI -g a -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_b_MPI -g b -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop1D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp1.6" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_curv -g curv $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UQ -w work_REF_PR2_UQ -i input_REF $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_a -g a $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_b -g b $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_curv_MPI -g curv -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_REF_PR2_UQ_MPI -i input_REF -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_a_MPI -g a -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_b_MPI -g b -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop1D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp1.6" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_curv -g curv $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UNO -w work_REF_PR2_UNO -i input_REF $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_a -g a $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_b -g b $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_curv_MPI -g curv -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_REF_PR2_UNO_MPI -i input_REF -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_a_MPI -g a -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_b_MPI -g b -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop1D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp1.6" >> matrix.body - echo "$rtst -w work_PR3_UQ $ww3 ww3_tp1.7" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_curv -g curv $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UQ -w work_REF_PR3_UQ -i input_REF $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_a -g a $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_b -g b $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_curv_MPI -g curv -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_REF_PR2_UQ_MPI -i input_REF -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_a_MPI -g a -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_b_MPI -g b -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop1D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp1.6" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_curv -g curv $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UNO -w work_REF_PR3_UNO -i input_REF $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_a -g a $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_b -g b $ww3 ww3_tp2.9" >> matrix.body - fi - - if [ "$prop2D" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_curv_MPI -g curv -f -p $mpi -n $np $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_REF_PR3_UNO_MPI -i input_REF -f -p $mpi -n $np $ww3 ww3_tp2.5" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_a_MPI -g a -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_b_MPI -g b -f -p $mpi -n $np $ww3 ww3_tp2.9" >> matrix.body - fi - -# -------------------------------------------------------------------------- # -# 3. Source term tests # -# -------------------------------------------------------------------------- # - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** source term tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$time" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s ST1 -w work_ST1 $ww3 ww3_ts1" >> matrix.body - echo "$rtst -s ST1_RWND -w work_ST1_RWND $ww3 ww3_ts1" >> matrix.body - echo "$rtst -s ST2 -w work_ST2 $ww3 ww3_ts1" >> matrix.body - echo "$rtst -s ST3 -w work_ST3 $ww3 ww3_ts1" >> matrix.body - echo "$rtst -s ST4 -w work_ST4 $ww3 ww3_ts1" >> matrix.body - echo "$rtst -s ST6 -w work_ST6 $ww3 ww3_ts1" >> matrix.body - fi - - if [ "$fetch" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s ST1_PR1 -w work_ST1_PR1 $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST1_PR2_UQ -w work_ST1_PR2_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST1_PR2_UNO -w work_ST1_PR2_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST1_PR3_UQ -w work_ST1_PR3_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST1_PR3_UNO -w work_ST1_PR3_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST2_PR1 -w work_ST2_PR1 $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST2_PR2_UQ -w work_ST2_PR2_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST2_PR2_UNO -w work_ST2_PR2_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST2_PR3_UQ -w work_ST2_PR3_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST2_PR3_UNO -w work_ST2_PR3_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST3_PR1 -w work_ST3_PR1 $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST3_PR2_UQ -w work_ST3_PR2_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST3_PR2_UNO -w work_ST3_PR2_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST3_PR3_UQ -w work_ST3_PR3_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST3_PR3_UNO -w work_ST3_PR3_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST4_PR1 -w work_ST4_PR1 $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST4_PR2_UQ -w work_ST4_PR2_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST4_PR2_UNO -w work_ST4_PR2_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST4_PR3_UQ -w work_ST4_PR3_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST4_PR3_UNO -w work_ST4_PR3_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST6_PR1 -w work_ST6_PR1 $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST6_PR2_UQ -w work_ST6_PR2_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST6_PR2_UNO -w work_ST6_PR2_UNO $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST6_PR3_UQ -w work_ST6_PR3_UQ $ww3 ww3_ts2" >> matrix.body - echo "$rtst -s ST6_PR3_UNO -w work_ST6_PR3_UNO $ww3 ww3_ts2" >> matrix.body - fi - - if [ "$hur1mg" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s ST1_PR1 -w work_ST1_PR1 $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR2_UQ -w work_ST1_PR2_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR2_UNO -w work_ST1_PR2_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR3_UQ -w work_ST1_PR3_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR3_UNO -w work_ST1_PR3_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR1 -w work_ST2_PR1 $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR2_UQ -w work_ST2_PR2_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR2_UNO -w work_ST2_PR2_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR3_UQ -w work_ST2_PR3_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR3_UNO -w work_ST2_PR3_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR1 -w work_ST3_PR1 $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR2_UQ -w work_ST3_PR2_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR2_UNO -w work_ST3_PR2_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR3_UQ -w work_ST3_PR3_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR3_UNO -w work_ST3_PR3_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR1 -w work_ST4_PR1 $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR2_UQ -w work_ST4_PR2_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR2_UNO -w work_ST4_PR2_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR3_UQ -w work_ST4_PR3_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR3_UNO -w work_ST4_PR3_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR1 -w work_ST6_PR1 $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR2_UQ -w work_ST6_PR2_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR2_UNO -w work_ST6_PR2_UNO $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR3_UQ -w work_ST6_PR3_UQ $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR3_UNO -w work_ST6_PR3_UNO $ww3 ww3_ts3" >> matrix.body - fi - - if [ "$hur1mg" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s ST1_PR1_MPI -w work_ST1_PR1_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR2_UQ_MPI -w work_ST1_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR2_UNO_MPI -w work_ST1_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR3_UQ_MPI -w work_ST1_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST1_PR3_UNO_MPI -w work_ST1_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR1_MPI -w work_ST2_PR1_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR2_UQ_MPI -w work_ST2_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR2_UNO_MPI -w work_ST2_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR3_UQ_MPI -w work_ST2_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST2_PR3_UNO_MPI -w work_ST2_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR1_MPI -w work_ST3_PR1_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR2_UQ_MPI -w work_ST3_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR2_UNO_MPI -w work_ST3_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR3_UQ_MPI -w work_ST3_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST3_PR3_UNO_MPI -w work_ST3_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR1_MPI -w work_ST4_PR1_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR2_UQ_MPI -w work_ST4_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR2_UNO_MPI -w work_ST4_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR3_UQ_MPI -w work_ST4_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST4_PR3_UNO_MPI -w work_ST4_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR1_MPI -w work_ST6_PR1_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR2_UQ_MPI -w work_ST6_PR2_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR2_UNO_MPI -w work_ST6_PR2_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR3_UQ_MPI -w work_ST6_PR3_UQ_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - echo "$rtst -s ST6_PR3_UNO_MPI -w work_ST6_PR3_UNO_MPI -f -p $mpi -n $np $ww3 ww3_ts3" >> matrix.body - fi - -# --------------------------------------------------------------------------- # -# 4. Unstructured grid tests # -# --------------------------------------------------------------------------- # - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** Unstructured grid tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$unstr" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s ST0 -w work_ST0 $ww3 ww3_tp2.6" >> matrix.body - echo "$rtst -s ST0 -w work_ST0 $ww3 ww3_tp2.7" >> matrix.body - echo "$rtst -s ST4 -w work_ST4 $ww3 ww3_tp2.6" >> matrix.body - fi - -# --------------------------------------------------------------------------- # -# 5. SMC & Rotated grid tests # -# --------------------------------------------------------------------------- # - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** SMC and Rotated grid tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$smcgr" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst $ww3 ww3_tp2.10" >> matrix.body - echo "$rtst $ww3 ww3_tp2.11" >> matrix.body - fi - - if [ "$smcgr" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s MPI -w work_MPI -f -p $mpi -n $np $ww3 ww3_tp2.10" >> matrix.body - echo "$rtst -s MPI -w work_MPI -f -p $mpi -n $np $ww3 ww3_tp2.11" >> matrix.body - fi - -# --------------------------------------------------------------------------- # -# 6. Mud/Ice wave interaction tests # -# --------------------------------------------------------------------------- # - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** mud/ice tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$mudice" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s BT8 -w work_BT8 $ww3 ww3_tbt1.1" >> matrix.body - echo "$rtst -s BT9 -w work_BT9 $ww3 ww3_tbt1.1" >> matrix.body - echo "$rtst -s BT8 -w work_BT8 $ww3 ww3_tbt2.1" >> matrix.body - echo "$rtst -s BT9 -w work_BT9 $ww3 ww3_tbt2.1" >> matrix.body - echo "$rtst -g 100m -w work_100m_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 350m -w work_350m_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 1000m -w work_1000m_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 2500m -w work_2500m_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 5km -w work_5km_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 10km -w work_10km_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 20km -w work_20km_IC1 -i input_IC1 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 1000m -w work_1000m_IC2 -i input_IC2 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 350m -w work_350m_IC3 -i input_IC3 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 1000m -w work_1000m_IC3 -i input_IC3 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -g 2500m -w work_2500m_IC3 -i input_IC3 $ww3 ww3_tic1.1" >> matrix.body - echo "$rtst -w work_IC3_A0.5k -i input_IC3_A0.5k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -w work_IC3_A1.0k -i input_IC3_A1.0k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -w work_IC3_A2.5k -i input_IC3_A2.5k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -w work_IC3_B0.5k -i input_IC3_B0.5k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -w work_IC3_B1.0k -i input_IC3_B1.0k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -w work_IC3_B2.5k -i input_IC3_B2.5k $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s PR1_REFRX -w work_IC3_0.5k_PR1 -i input_IC3_0.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR1_REFRX -w work_IC3_2.5k_PR1 -i input_IC3_2.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR2_UQ_REFRX -w work_IC3_0.5k_PR2_UQ -i input_IC3_0.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR2_UQ_REFRX -w work_IC3_2.5k_PR2_UQ -i input_IC3_2.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR2_UNO_REFRX -w work_IC3_0.5k_PR2_UNO -i input_IC3_0.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR2_UNO_REFRX -w work_IC3_2.5k_PR2_UNO -i input_IC3_2.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR3_UQ_REFRX -w work_IC3_0.5k_PR3_UQ -i input_IC3_0.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR3_UQ_REFRX -w work_IC3_2.5k_PR3_UQ -i input_IC3_2.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR3_UNO_REFRX -w work_IC3_0.5k_PR3_UNO -i input_IC3_0.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -s PR3_UNO_REFRX -w work_IC3_2.5k_PR3_UNO -i input_IC3_2.5k $ww3 ww3_tic1.3" >> matrix.body - echo "$rtst -w work_IC1 -i input_IC1 $ww3 ww3_tic2.1" >> matrix.body - fi - - if [ "$mudice" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s BT8_MPI -w work_BT8_MPI -f -p $mpi -n $np $ww3 ww3_tbt1.1" >> matrix.body - echo "$rtst -s BT9_MPI -w work_BT9_MPI -f -p $mpi -n $np $ww3 ww3_tbt1.1" >> matrix.body - echo "$rtst -s BT8_MPI -w work_BT8_MPI -f -p $mpi -n $np $ww3 ww3_tbt2.1" >> matrix.body - echo "$rtst -s BT9_MPI -w work_BT9_MPI -f -p $mpi -n $np $ww3 ww3_tbt2.1" >> matrix.body - echo "$rtst -s MPI -w work_IC3_A0.5k_MPI -i input_IC3_A0.5k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s MPI -w work_IC3_A1.0k_MPI -i input_IC3_A1.0k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s MPI -w work_IC3_A2.5k_MPI -i input_IC3_A2.5k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s MPI -w work_IC3_B0.5k_MPI -i input_IC3_B0.5k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s MPI -w work_IC3_B1.0k_MPI -i input_IC3_B1.0k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - echo "$rtst -s MPI -w work_IC3_B2.5k_MPI -i input_IC3_B2.5k -f -p $mpi -n $np $ww3 ww3_tic1.2" >> matrix.body - fi - -# --------------------------------------------------------------------------- # -# 7. Multigrid tests # -# --------------------------------------------------------------------------- # -# Note that test 03 has separate grid sets for MPI and non-MPI tests. -# Note that test 04 has separate grid sets for MPI and non-MPI tests. -# Note that test 06 has separate grid sets for MPI and non-MPI tests. - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** multi grid tests ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - - if [ "$multi01" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1 $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1_a -m grdset_a $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_b -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_c -m grdset_c $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_d -m grdset_d $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1_a -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_b -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_d -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_e -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR1 -w work_PR1_a -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_b -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_f -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1 -w work_PR1_g -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ_a -m grdset_a $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_b -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_c -m grdset_c $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_d -m grdset_d $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ_a -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_b -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_d -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_e -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UQ -w work_PR2_UQ_a -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_b -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_f -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ -w work_PR2_UQ_g -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO_a -m grdset_a $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_b -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_c -m grdset_c $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_d -m grdset_d $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO_a -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_b -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_d -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_e -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR2_UNO -w work_PR2_UNO_a -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_b -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_f -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO -w work_PR2_UNO_g -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ_a -m grdset_a $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_b -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_c -m grdset_c $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_d -m grdset_d $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ_a -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_b -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_d -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_e -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ -w work_PR3_UQ_a -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_b -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_f -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ -w work_PR3_UQ_g -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_a_c -m grdset_a -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_b_c -m grdset_b -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_c_c -m grdset_c -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_d_c -m grdset_d -g curv $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_a_c -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_b_c -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_c_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_d_c -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_e_c -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_a_c -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_b_c -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_f_c -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_g_c -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - if [ "$multi06" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UQ_SCRIP -w work_PR3_UQ_d -m grdset_d $ww3 mww3_test_06" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO_a -m grdset_a $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_b -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_c -m grdset_c $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_d -m grdset_d $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO_a -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_b -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_d -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_e -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO -w work_PR3_UNO_a -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_b -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_f -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO -w work_PR3_UNO_g -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi02" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_a_c -m grdset_a -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_b_c -m grdset_b -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_c_c -m grdset_c -g curv $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_d_c -m grdset_d -g curv $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_a_c -m grdset_a $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_b_c -m grdset_b $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_c_c -m grdset_c $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_d_c -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_e_c -m grdset_e $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_a_c -m grdset_a $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_b_c -m grdset_b $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_f_c -m grdset_f $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_g_c -m grdset_g $ww3 mww3_test_04" >> matrix.body - fi - if [ "$multi06" = 'y' ] && [ "$shrd" = 'y' ] - then - echo "$rtst -s PR3_UNO_SCRIP -w work_PR3_UNO_d -m grdset_d $ww3 mww3_test_06" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR1_MPI -w work_PR1_MPI -f -p $mpi -n $np $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR1_MPI -w work_PR1_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR1_MPI -w work_PR1_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_d2 -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR1_MPI -w work_PR1_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR1_MPI -w work_PR1_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI -f -p $mpi -n $np $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_b -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_d -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_d2 -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UQ_MPI -w work_PR2_UQ_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI -f -p $mpi -n $np $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_b -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_d -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_d2 -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR2_UNO_MPI -w work_PR2_UNO_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI -f -p $mpi -n $np $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_b -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_d -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_d2 -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI -w work_PR3_UQ_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_a_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_b_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_c_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_d_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_a_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_b_c -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_c_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_d_c -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_d2_c -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_e_c -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_b_c -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_c_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_d_c -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UQ_MPI_SCRIP -w work_PR3_UQ_MPI_e_c -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi01" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI -f -p $mpi -n $np $ww3 mww3_test_01" >> matrix.body - fi - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_b -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_d -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_a -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_d2 -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_b -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_d -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI -w work_PR3_UNO_MPI_e -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi02" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_a_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_b_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_c_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_d_c -m grdset_a -g curv -f -p $mpi -n $np $ww3 mww3_test_02" >> matrix.body - fi - if [ "$multi03" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_a_c -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_b_c -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_c_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_d_c -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_d2_c -m grdset_d2 -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_e_c -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_03" >> matrix.body - fi - if [ "$multi04" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_b_c -m grdset_b -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_c_c -m grdset_c -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_d_c -m grdset_d -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - echo "$rtst -s PR3_UNO_MPI_SCRIP -w work_PR3_UNO_MPI_e_c -m grdset_e -f -p $mpi -n $np $ww3 mww3_test_04" >> matrix.body - fi - - if [ "$multi05" = 'y' ] && [ "$dist" = 'y' ] - then - echo "$rtst -s ST1_PR1_MPI -w work_ST1_PR1_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST1_PR2_UQ_MPI -w work_ST1_PR2_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST1_PR2_UNO_MPI -w work_ST1_PR2_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST1_PR3_UQ_MPI -w work_ST1_PR3_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST1_PR3_UNO_MPI -w work_ST1_PR3_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST2_PR1_MPI -w work_ST2_PR1_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST2_PR2_UQ_MPI -w work_ST2_PR2_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST2_PR2_UNO_MPI -w work_ST2_PR2_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST2_PR3_UQ_MPI -w work_ST2_PR3_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST2_PR3_UNO_MPI -w work_ST2_PR3_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST3_PR1_MPI -w work_ST3_PR1_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST3_PR2_UQ_MPI -w work_ST3_PR2_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST3_PR2_UNO_MPI -w work_ST3_PR2_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST3_PR3_UQ_MPI -w work_ST3_PR3_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST3_PR3_UNO_MPI -w work_ST3_PR3_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST4_PR1_MPI -w work_ST4_PR1_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST4_PR2_UQ_MPI -w work_ST4_PR2_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST4_PR2_UNO_MPI -w work_ST4_PR2_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST4_PR3_UQ_MPI -w work_ST4_PR3_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST4_PR3_UNO_MPI -w work_ST4_PR3_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST6_PR1_MPI -w work_ST6_PR1_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST6_PR2_UQ_MPI -w work_ST6_PR2_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST6_PR2_UNO_MPI -w work_ST6_PR2_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST6_PR3_UQ_MPI -w work_ST6_PR3_UQ_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - echo "$rtst -s ST6_PR3_UNO_MPI -w work_ST6_PR3_UNO_MPI -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - fi - - -# --------------------------------------------------------------------------- # -# 6. Other .......... unknown or still to be done ......... # -# --------------------------------------------------------------------------- # - -# $rtst $ww3 ww3_tp2.6 -## $rtst $ww3 ww3_tp2.7 -## $rtst $ww3 ww3_tp2.8 -## $rtst $ww3 ww3_tps4 -## $rtst $ww3 ww3_systrk_test_01 -## $rtst $ww3 mww3_test_06 -## $rtst $ww3 mww3_test_07 - -# --------------------------------------------------------------------------- # -# 7. Default test setup, for testing of run_test only # -# --------------------------------------------------------------------------- # - -else - - echo " echo ' '" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo '*** One of each test ***'" >> matrix.body - echo " echo '**********************************************************'" >> matrix.body - echo " echo ' '" >> matrix.body - echo ' ' - - if [ "$shrd" = 'y' ] - then - echo "$rtst $ww3 ww3_tp1.1" >> matrix.body - echo "$rtst $ww3 ww3_tp1.2" >> matrix.body - echo "$rtst $ww3 ww3_tp1.3" >> matrix.body - echo "$rtst $ww3 ww3_tp1.4" >> matrix.body - echo "$rtst $ww3 ww3_tp1.5" >> matrix.body - echo "$rtst $ww3 ww3_tp1.6" >> matrix.body - - echo "$rtst $ww3 ww3_tp2.1" >> matrix.body - echo "$rtst $ww3 ww3_tp2.2" >> matrix.body - echo "$rtst $ww3 ww3_tp2.3" >> matrix.body - echo "$rtst $ww3 ww3_tp2.4" >> matrix.body - echo "$rtst $ww3 ww3_tp2.5" >> matrix.body - - echo "$rtst $ww3 ww3_ts1" >> matrix.body - echo "$rtst $ww3 ww3_ts2" >> matrix.body - echo "$rtst $ww3 ww3_ts3" >> matrix.body - - echo "$rtst $ww3 mww3_test_01" >> matrix.body - echo "$rtst -m grdset_b $ww3 mww3_test_02" >> matrix.body - echo "$rtst -m grdset_d $ww3 mww3_test_03" >> matrix.body - echo "$rtst -m grdset_f $ww3 mww3_test_04" >> matrix.body - fi - if [ "$dist" = 'y' ] - then - echo "$rtst -m grdset_a -f -p $mpi -n $np $ww3 mww3_test_05" >> matrix.body - fi - -fi - -# --------------------------------------------------------------------------- # -# 8. End of script output # -# --------------------------------------------------------------------------- # - - echo " echo ' '" > matrix.tail - echo " echo ' *****************************************************'" >> matrix.tail - echo " echo ' *** end of WAVEWATCH III matrix of regression tests ***'" >> matrix.tail - echo " echo ' *****************************************************'" >> matrix.tail - echo " echo ' '" >> matrix.tail - -# --------------------------------------------------------------------------- # -# 9. Put it together and clean up # -# --------------------------------------------------------------------------- # - - mv matrix.head matrix - - if [ -z "$filter" ] - then - cat matrix.body >> matrix - rm -f matrix.body - else - for filt in $filter - do - mv matrix.body matrix.head - grep $filt matrix.head > matrix.body - rm -f matrix.head - done - cat matrix.body >> matrix - rm -f matrix.body - fi - - cat matrix.tail >> matrix - rm -f matrix.tail - - echo "file matrix prepared ...." - -# --------------------------------------------------------------------------- # -# End to matrix.base # -# --------------------------------------------------------------------------- # diff --git a/regtests/bin/matrix_ncep b/regtests/bin/matrix_ncep index b121f8e107..6e3b993358 100755 --- a/regtests/bin/matrix_ncep +++ b/regtests/bin/matrix_ncep @@ -44,7 +44,7 @@ isorion=`hostname | grep Orion` if [ $ishera ] then # If no other h, assuming Hera - cmplr=hera + cmplr='hera.intel' batchq="slurm" modcomp='intel/18.0.5.274' modmpi='impi/2018.0.4' @@ -52,7 +52,7 @@ then metispath='/scratch2/COASTAL/coastal/save/Ali.Abdolali/parmetis-4.0.3' elif [ $isorion ] then - cmplr=orion + cmplr='orion.intel' batchq="slurm" modcomp='intel/2018.4' modmpi='impi/2018.4' diff --git a/regtests/bin/matrix_zeus_HLT b/regtests/bin/matrix_zeus_HLT deleted file mode 100755 index a0da496cda..0000000000 --- a/regtests/bin/matrix_zeus_HLT +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/bash -# --------------------------------------------------------------------------- # -# matrix.go: Run matrix of regression tests on target machine. # -# # -# Remarks: # -# - This version is set up for automatic w3_setenv script and for the # -# NOAA RDHPC 'zeus' system. When using this for your own setup and # -# computer, please copy rather than modify. # -# # -# Hendrik L. Tolman # -# August 2013 # -# December 2013 # -# April 2018 # -# # -# Copyright 2013 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. # -# # -# --------------------------------------------------------------------------- # -# 0. Environment file - - source $(dirname $0)/../../model/bin/w3_setenv - main_dir=$WWATCH3_DIR - temp_dir=$WWATCH3_TMP - source=$WWATCH3_SOURCE - list=$WWATCH3_LIST - - echo "Main directory : $main_dir" - echo "Scratch directory : $temp_dir" - echo "Save source codes : $source" - echo "Save listings : $list" - - -# 1. Set up -# 1.a Computer/ user dependent set up - - echo '#!/bin/sh --login' > matrix.head - echo ' ' >> matrix.head - echo '#PBS -l procs=24' >> matrix.head - echo '#PBS -q batch' >> matrix.head - echo '#PBS -l walltime=08:00:00' >> matrix.head - echo '#PBS -A marine-cpu' >> matrix.head - echo '#PBS -N ww3_regtest' >> matrix.head - echo '#PBS -j oe' >> matrix.head - echo '#PBS -o matrix.out' >> matrix.head - echo ' ' >> matrix.head - - echo " cd $(dirname $main_dir)/regtests" >> matrix.head - echo ' ' >> matrix.head - -# Netcdf and Parmetis modules & variables - - echo " module load netcdf/4.3.0" >> matrix.head - echo " export WWATCH3_NETCDF=NC4" >> matrix.head - echo " export NETCDF_CONFIG=`which nc-config`" >> matrix.head - echo " export METIS_PATH=/scratch3/NCEPDEV/stmp2/Jessica.Meixner/parmetis-4.0.3" >> matrix.head - echo " export WW3_PARCOMPN=4" >> matrix.head - echo ' ' - -# Compiler option. Choose appropriate compiler and set cmplOption to -# y if using for the first time or using a different compiler - - cmplr=Intel - export cmplOption='y' - - export mpi='mpirun' - export np='24' - export nr='4' - export nth='6' - - if [ "$cmplOption" = 'y' ] - then - export rtst="./bin/run_test -c $cmplr -S" - else - export rtst="./bin/run_test -S" - fi - - export ww3='../model' - -# 1.b Flags to do course selection - - - - - - - - - - - - - - - - - - - - - - -# Addition selection by commenting out lines as below - - export shrd='y' # Do shared architecture tests - export dist='y' # Do distributed architecture (MPI) tests - export omp='y' # Threaded (OpenMP) tests - export hybd='n' # Hybrid options - - export prop1D='y' # 1-D propagation tests (ww3_tp1.X) - export prop2D='y' # 2-D propagation tests (ww3_tp2.X) - export time='y' # time linmited growth - export fetch='y' # fetch linmited growth - export hur1mg='y' # Hurricane with one moving grid - export shwtr='y' # shallow water tests - export unstr='y' # unstructured grid tests - export pdlib='y' # unstr with pdlib for domain decomposition and implicit solver - export smcgr='y' # SMC grid test - export rtd='y' # Rotated pole test - export mudice='y' # Mud/Ice and wave interaction tests - export infgrv='y' # Second harmonic generation tests - export uost='y' # ww3_ts4 Unresolved Obstacles Source Term (UOST) - export assim='y' # Restart spectra update - export oasis='y' # Atmosphere, ocean, and ice coupling using oasis - export calendar='y' # Calendar type - export confignc='y' # Configurable netCDF meta data (ww3_ounf) - - export multi01='y' # mww3_test_01 (wetting and drying) - export multi02='y' # mww3_test_02 (basic two-way nesting test)) - export multi03='y' # mww3_test_03 (three high and three low res grids). - export multi04='y' # mww3_test_04 (swell on sea mount and/or current) - export multi05='y' # mww3_test_05 (three-grid moving hurricane) - export multi06='y' # mww3_test_06 (curvilinear grid tests) - export multi07='y' # mww3_test_07 (unstructured grid tests) - export multi08='y' # mww3_test_08 (wind and ice tests) - -# export filter='PR3 ST2 UQ' - # The filter does a set of consecutinve greps on the - # command lines generated by filter.base with the above - # selected options. - -# --------------------------------------------------------------------------- # -# 2. Execute matrix.base ... # -# --------------------------------------------------------------------------- # - - $main_dir/../regtests/bin/matrix.base - -# --------------------------------------------------------------------------- # -# End to the matrix # -# --------------------------------------------------------------------------- # diff --git a/regtests/ww3_tp2.14/input/prep_env.sh b/regtests/ww3_tp2.14/input/prep_env.sh index bba5df1925..fa926c706b 100755 --- a/regtests/ww3_tp2.14/input/prep_env.sh +++ b/regtests/ww3_tp2.14/input/prep_env.sh @@ -27,20 +27,21 @@ then echo ' ' echo ' Setup cmplr file' if [ "$cmplr" == "mpt" ] || [ "$cmplr" == "mpt_debug" ] || \ - [ "$cmplr" == "zeus_mpt" ] || [ "$cmplr" == "zeus_mpt_debug" ] || \ [ "$cmplr" == "datarmor_mpt" ] || [ "$cmplr" == "datarmor_mpt_debug" ] || \ [ "$cmplr" == "intel" ] || [ "$cmplr" == "intel_debug" ] || \ - [ "$cmplr" == "zeus_intel" ] || [ "$cmplr" == "zeus_intel_debug" ] || \ + [ "$cmplr" == "so_intel" ] || [ "$cmplr" == "so_intel_debug" ] || \ [ "$cmplr" == "datarmor_intel" ] || [ "$cmplr" == "datarmor_intel_debug" ] || \ [ "$cmplr" == "gnu" ] || [ "$cmplr" == "gnu_debug" ] || \ - [ "$cmplr" == "zeus_gnu" ] || [ "$cmplr" == "zeus_gnu_debug" ] || \ + [ "$cmplr" == "hera.intel" ] || [ "$cmplr" == "orion.intel" ] || \ + [ "$cmplr" == "hera.gnu" ] || [ "$cmplr" == "jet.intel" ] || \ + [ "$cmplr" == "stampede.intel" ] || [ "$cmplr" == "gaea.intel" ] || \ + [ "$cmplr" == "cheyenne.intel" ] || [ "$cmplr" == "cheyenne.gnu" ] || \ + [ "$cmplr" == "wcoss_cray" ] || [ "$cmplr" == "wcoss_dell_p3" ] || \ [ "$cmplr" == "datarmor_gnu" ] || [ "$cmplr" == "datarmor_gnu_debug" ] || \ [ "$cmplr" == "pgi" ] || [ "$cmplr" == "pgi_debug" ] || \ - [ "$cmplr" == "zeus_pgi" ] || [ "$cmplr" == "zeus_pgi_debug" ] || \ [ "$cmplr" == "datarmor_pgi" ] || [ "$cmplr" == "datarmor_pgi_debug" ] || \ [ "$cmplr" == "ukmo_cray" ] || [ "$cmplr" == "ukmo_cray_debug" ] || \ - [ "$cmplr" == "ukmo_cray_gnu" ] || [ "$cmplr" == "ukmo_cray_gnu_debug" ] || \ - [ "$cmplr" == "hera" ] ; then + [ "$cmplr" == "ukmo_cray_gnu" ] || [ "$cmplr" == "ukmo_cray_gnu_debug" ]; then source $WWATCH3_DIR/bin/cmplr.env # shortlist optl alloptl=( $optl )