source: trunk/WRF.COMMON/WRFV3/tools/all_reg.csh @ 3431

Last change on this file since 3431 was 2759, checked in by aslmd, 2 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

  • Property svn:executable set to *
File size: 19.8 KB
Line 
1#!/bin/csh
2unalias rm
3unalias cp
4unalias mv
5
6#       This script runs a large number of WRF regression tests.  On the
7#       IBM machines (which at NCAR allow queueing), the jobs are sent to
8#       the queue system via load leveler commands.  On all other machines,
9#       the jobs are sent in sequentially as soon as the process returns
10#       from completing the previous task.
11
12#       HOW TO RUN
13#       ----------
14
15#       Linux
16#       joshua1 or joshua3
17#       mkdir /data3/mp/$USER/`hostname`
18#       put all_reg.csh, regtest.csh, and wrf.tar in dir
19#       execute all_reg.csh
20#       takes about 36-48 h
21#       flex lm errors show up as fails to compile
22
23#       AIX
24#       bluevista or blueice
25#       put all_reg.csh, regtest.csh, and wrf.tar in ~
26#       execute all_reg.csh
27#       takes about 8-10 h
28
29#       Unless you are editing the script, no changes are required below
30
31
32#=======================================================================
33#=======================================================================
34
35#       The only really important thing.
36
37if ( ! -e wrf.tar ) then
38        echo " "
39        echo "Whoa there pardner, where is that wrf.tar file"
40        echo " "
41        exit ( 1 )
42endif
43
44#       What these tests do, must be a single string.
45
46set NAME     = ( "Standard"             "NESTED=FALSE"        "NESTED=FALSE"        "NONE"      1       \
47                 "Moving_Nest"          "NESTED=FALSE"        "NESTED=TRUE"         "NONE"      2       \
48                 "Full_Optimization"    "REG_TYPE=BIT4BIT"    "REG_TYPE=OPTIMIZED"  "NONE"      3       \
49                 "Chemistry"            "CHEM=FALSE"          "CHEM=TRUE"           "NONE"      4       \
50                 "Chemistry2"           "KPP=FALSE"           "KPP=TRUE"            "NONE"      5       \
51                 "Quilting"             "QUILT=FALSE"         "QUILT=TRUE"          "NONE"      6       \
52                 "Binary_IO"            "IO_FORM=2"           "IO_FORM=1"           "NONE"      7       \
53                 "GriB1_Output"         "IO_FORM=2"           "IO_FORM=5"           "NONE"      8       \
54                 "REAL8_Floats"         "REAL8=FALSE"         "REAL8=TRUE"          "NONE"      9       \
55                 "FDDA"                 "FDDA=FALSE"          "FDDA=TRUE"           "NONE"      10      \
56                 "FDDA2"                "FDDA2=FALSE"         "FDDA2=TRUE"          "NONE"      11      \
57                 "ESMF_Library"         "ESMF_LIB=FALSE"      "ESMF_LIB=TRUE"       "ONLY_AIX"  12      \
58                 "Global"               "GLOBAL=FALSE"        "GLOBAL=TRUE"         "NONE"      13      \
59                 "Adaptive"             "ADAPTIVE=FALSE"      "ADAPTIVE=TRUE"       "NONE"      14      \
60               )
61
62#       Where are we located.
63
64set starting_dir = `pwd`
65
66#       Get the tag manually.  This is for the auto-report that gets
67#       sent to the WRF web page on the history of the regression tests.
68
69set current_year4  = `date -u +"%Y"`
70set current_month  = `date -u +"%m"`
71set current_day    = `date -u +"%d"`
72set current_hour   = `date -u +"%H"`
73set current_minute = `date -u +"%M"`
74set current_second = `date -u +"%S"`
75set datehms        = ${current_year4}-${current_month}-${current_day}_${current_hour}:${current_minute}:${current_second}_UTC
76set dateh          = ${current_year4}${current_month}${current_day}${current_hour}
77set date           = ${current_year4}${current_month}${current_day}
78if ( ! $?TAG ) then
79        if      ( $user == michalak ) then
80                set initials = jm
81        else if ( $user == hender   ) then
82                set initials = th
83        else if ( $user == gill     ) then
84                set initials = dg
85        else if ( $user == dudhia   ) then
86                set initials = jd
87        else if ( $user == weiwang  ) then
88                set initials = ww
89        else
90                set initials = XX
91        endif
92        echo the TAG is NOT defined
93        echo Please define an environment variable that is the WRFV2 tag
94        echo Something such as: setenv TAG trunk_${date}_${initials}
95        echo " " 
96        exit ( 1 )
97endif
98
99#       Are we only interested in the PASS/FAIL report?
100
101if ( $#argv == 1 ) then
102        if ( $argv[1] == PASSFAIL ) then
103                goto PASSFAIL
104        endif
105endif
106
107#       If there are any command line args, they are processed, else
108#       we run all of the regression tests without a generate or
109#       compare flag being set.
110
111if ( $#argv == 0 ) then
112
113        set BASELINE = RUN_ONLY
114
115        set OLD_TEXT
116        set NEW_TEXT
117        set TOAST
118        set tests
119        set TEST_NUM
120        set count_test = 1
121        while ( $count_test < $#NAME )
122                set tests =  ( $tests "$NAME[$count_test]" )
123                @ count_test ++
124                set OLD_TEXT = ( $OLD_TEXT "$NAME[$count_test]" ) 
125                @ count_test ++
126                set NEW_TEXT = ( $NEW_TEXT "$NAME[$count_test]" ) 
127                @ count_test ++
128                set TOAST    = ( $TOAST "$NAME[$count_test]" ) 
129                @ count_test ++
130                set TEST_NUM = ( $TEST_NUM "$NAME[$count_test]" ) 
131                @ count_test ++
132        end
133
134#       We have some command line args.  They are either a request to run
135#       the test with a generate/compare flag, or a list of tests to perform.
136
137else
138
139        set INIT_OPTS = ( $* )
140
141        #       First, find the baseline type.  This is going to be one of three
142        #       possibilities: GENERATE, COMPARE, or a RUN_ONLY option.  The
143        #       default is RUN_ONLY.  Only the first baseline option found is
144        #       used.
145
146        set count = 0
147        while ( $count < $#INIT_OPTS )
148                @ count ++
149                set arg = $INIT_OPTS[$count]
150                if ( ( $arg == GENERATE ) || \
151                     ( $arg == COMPARE  ) || \
152                     ( $arg == RUN_ONLY ) ) then
153                        set BASELINE = $arg
154                        goto FINISHED_BASELINE_TYPE
155                endif
156        end
157        set BASELINE = RUN_ONLY
158FINISHED_BASELINE_TYPE:
159
160        #       If there was only one input, and it was telling us to do which type of baseline
161        #       option (GENERATE, COMPARE, RUN_ONLY), we assume they want all of the tests
162        #       conducted.
163
164        if ( $#INIT_OPTS == 1 ) then
165                if ( ( $INIT_OPTS == GENERATE ) || ( $INIT_OPTS == COMPARE  ) || ( $INIT_OPTS == RUN_ONLY ) ) then
166                        set OLD_TEXT
167                        set NEW_TEXT
168                        set TOAST
169                        set tests
170                        set TEST_NUM
171                        set count_test = 1
172                        while ( $count_test < $#NAME )
173                                set tests =  ( $tests "$NAME[$count_test]" )
174                                @ count_test ++
175                                set OLD_TEXT = ( $OLD_TEXT "$NAME[$count_test]" ) 
176                                @ count_test ++
177                                set NEW_TEXT = ( $NEW_TEXT "$NAME[$count_test]" ) 
178                                @ count_test ++
179                                set TOAST    = ( $TOAST "$NAME[$count_test]" ) 
180                                @ count_test ++
181                                set TEST_NUM = ( $TEST_NUM "$NAME[$count_test]" ) 
182                                @ count_test ++
183                        end
184                        goto FINISHED_TEST_LIST
185                endif
186        endif
187
188        #       Find which tests are to be conducted.  Loop over all of the
189        #       input, and compare each of the input fields with the list
190        #       of available test names.  When a match occurs, increment the
191        #       test found counter, and save the test name.
192
193        set count = 0
194        set OLD_TEXT
195        set NEW_TEXT
196        set TOAST
197        set tests
198        set TEST_NUM
199        while ( $count < $#INIT_OPTS ) 
200                @ count ++
201                set count_test = 1
202                while ( $count_test < $#NAME )
203                        if ( $INIT_OPTS[$count] == $NAME[$count_test] ) then
204                                set tests =  ( $tests "$NAME[$count_test]" )
205                                @ count_test ++
206                                set OLD_TEXT = ( $OLD_TEXT "$NAME[$count_test]" )
207                                @ count_test ++
208                                set NEW_TEXT = ( $NEW_TEXT "$NAME[$count_test]" )
209                                @ count_test ++
210                                set TOAST    = ( $TOAST "$NAME[$count_test]" )
211                                @ count_test ++
212                                set TEST_NUM = ( $TEST_NUM "$NAME[$count_test]" ) 
213                                @ count_test ++
214                        else
215                                @ count_test += 5
216                        endif
217                end
218        end
219
220        #       If there are no recognizable tests requested, let them know our concern.
221       
222        if ( $#tests == 0 ) then
223                echo No valid test requested in argument list
224                exit ( 4 ) 
225        endif
226endif
227FINISHED_TEST_LIST:
228
229#       A friendly check for the baseline directory existence, and locations for known
230#       NCAR machines.
231
232if ( ( $BASELINE == GENERATE ) || ( $BASELINE == COMPARE ) ) then
233        if ( ( `uname` == AIX ) && ( ( `hostname | cut -c 1-2` != bs ) && \
234                                     ( `hostname | cut -c 1-2` != bv ) && ( `hostname | cut -c 1-2` != bl ) ) ) then
235                set SAVE_DIR = /ptmp/${USER}/BASELINE/`uname`
236        else if   ( `uname` == AIX ) then
237                set SAVE_DIR = /ptmp/${USER}/BASELINE/`uname`
238        else if ( ( `uname` == Darwin  ) && ( `hostname` == stink ) ) then
239                set SAVE_DIR = /stink/${user}/Regression_Tests/BASELINE/`uname`
240        else if ( ( `uname` == Linux ) && ( `hostname` == bay-mmm ) ) then
241                set SAVE_DIR = /data3/mp/${USER}/BASELINE/`uname`
242        else
243                echo Hmm, no idea where to put/get this baseline data, stopping
244                exit ( 10 )
245        endif
246
247        if      ( (   -d $SAVE_DIR ) && ( $BASELINE == GENERATE ) ) then
248                echo "Troubles with SAVE_DIR logic."
249                echo "$SAVE_DIR should not exist for a $BASELINE run."
250#       exit ( 2 )
251        else if ( ( ! -d $SAVE_DIR ) && ( $BASELINE == COMPARE  ) ) then
252                echo "Troubles with SAVE_DIR logic."
253                echo "$SAVE_DIR should exist for a $BASELINE run."
254                exit ( 3 )
255        endif
256endif
257
258#       We need the regtest.csh file, badly.
259
260if ( ! -e regtest.csh ) then
261        echo we need regtest.csh in this dir
262        echo "supply-ez vous, s'il vous plait"
263        exit ( 1 )
264endif
265
266#       The regtest.csh file is treated as a template.  The following
267#       strings (first occurrence) is sought (OLD_TEXT) and replaced
268#       with the modified string (NEW_TEXT).  This edited regression
269#       script is then processed.
270
271#       Any exceptions to where they can run?  NONE means no
272#       exceptions, should run on all machines.  AIX/Linux
273#       means it will NOT run on that single machine.  The
274#       option ONLY_AIX/ONLY_Linux means that the option
275#       ONLY works on that specific architecture.
276
277
278#       Loop over all selected tests.
279
280set count_test = 0
281while ( $count_test < $#tests )
282
283        @ count_test ++
284
285        set count = 1
286        while ( $count < $#NAME )
287
288            if ( "$tests[$count_test]" == "$NAME[$count]" ) then
289                    goto FOUND_SELECTED_TEST
290            endif
291            @ count += 5
292        end
293        echo "Hmmm, no valid test found"
294        exit ( 11 )
295
296FOUND_SELECTED_TEST:
297
298        #       Specifically skip this test on this architecture.
299
300        if      ( `uname` == $TOAST[$count_test] ) then
301                echo skipping test $tests[$count_test] for `uname` specifically
302
303        #       Skip this test on this architecture because it ONLY runs
304        #       on a different architecture.
305
306        else if ( ( `echo $TOAST[$count_test] | cut -c 1-5` == ONLY_ ) && ( ONLY_`uname` != $TOAST[$count_test] ) ) then
307                echo skipping test $tests[$count_test] for `uname`, works on $TOAST[$count_test]
308
309        #       OK, we are allowed to run this test on this architecture.
310
311        else if ( ( $TOAST[$count_test] == NONE ) || \
312                  ( $TOAST[$count_test] != `uname` ) || \
313                  ( ONLY_`uname` ==  $TOAST[$count_test] ) ) then
314                echo doing test $tests[$count_test] for `uname`
315
316                #       If this is the generate or compare baseline test, where do we
317                #       save the data to/read the data from.
318
319                if ( ( $BASELINE == GENERATE ) || ( $BASELINE == COMPARE ) ) then
320                        if ( ( `uname` == AIX ) && ( ( `hostname | cut -c 1-2` != bs ) && \
321                                                     ( `hostname | cut -c 1-2` != bv ) && ( `hostname | cut -c 1-2` != bl ) ) ) then
322                                set SAVE_DIR = /ptmp/${USER}/BASELINE/`uname`/$tests[$count_test]
323                        else if   ( `uname` == AIX ) then
324                                set SAVE_DIR = /ptmp/${USER}/BASELINE/`uname`/$tests[$count_test]
325                        else if ( ( `uname` == Darwin ) && ( `hostname` == stink ) ) then
326                                set SAVE_DIR = /stink/${USER}/Regression_Tests/BASELINE/`uname`/$tests[$count_test]
327                        else if ( ( `uname` == Linux ) && ( `hostname` == bay-mmm ) ) then
328                                set SAVE_DIR = /data3/mp/${USER}/BASELINE/`uname`/$tests[$count_test]
329                        else
330                                echo No idea where to put the data, stopping
331                                exit ( 2 )
332                        endif
333
334                        #       Either zap existing stuff (GENERATE), or make sure it is there (COMPARE)
335
336                        if        ( $BASELINE == GENERATE ) then
337                                /bin/rm -rf $SAVE_DIR
338                        else if ( ( $BASELINE == COMPARE  )  && ( $tests[$count_test] != Full_Optimization ) ) then
339                                if ( ! -d $SAVE_DIR ) then
340                                        echo $SAVE_DIR does not exist for BASELINE comparison, stopping
341                                        exit ( 3 )
342                                endif
343                        else if ( ( $BASELINE == COMPARE  )  && ( $tests[$count_test] == Full_Optimization ) ) then
344                                echo No comparison done with baseline since this is an optimized run
345                        endif
346                endif
347
348                #       Build the short edit input script for ed and edit the regtest.csh file.
349
350                set OLDT = `echo $OLD_TEXT[$count_test] | sed 's/=/ = /'`
351                set NEWT = `echo $NEW_TEXT[$count_test] | sed 's/=/ = /'`
352
353                if      ( ( $BASELINE == RUN_ONLY ) || ( $tests[$count_test] == Full_Optimization ) ) then
354                        if ( -e ed.in ) rm ed.in
355                        cat >! ed_in << EOF
356,s/$OLDT/$NEWT/
357w reg.foo.$TEST_NUM[$count_test].$tests[$count_test]
358q
359EOF
360                else if ( $BASELINE == GENERATE ) then
361                        if ( -e ed.in ) rm ed.in
362                        cat >! ed_in << EOF
363,s/$OLDT/$NEWT/
364,s?GENERATE_BASELINE = FALSE?GENERATE_BASELINE = $SAVE_DIR?
365w reg.foo.$TEST_NUM[$count_test].$tests[$count_test]
366q
367EOF
368                else if ( $BASELINE == COMPARE  ) then
369                        if ( -e ed.in ) rm ed.in
370                        cat >! ed_in << EOF
371,s/$OLDT/$NEWT/
372,s?COMPARE_BASELINE = FALSE?COMPARE_BASELINE = $SAVE_DIR?
373w reg.foo.$TEST_NUM[$count_test].$tests[$count_test]
374q
375EOF
376                endif
377                ed regtest.csh < ed_in >& /dev/null
378                chmod +x reg.foo.$TEST_NUM[$count_test].$tests[$count_test]
379
380                #       On AIX, we submit jobs to the load leveler queue for bluesky and to the LSF queue for
381                #       bluevista.  After submission, we wait around until it completes, and then we send in
382                #       the next one.
383
384                if      ( ( `uname` == AIX ) && ( `hostname | cut -c 1-2` == bs   ) ) then
385                        llsubmit reg.foo.$TEST_NUM[$count_test].$tests[$count_test] >&! llsub.out
386                        set ok = 0
387                        set in_already = 0
388                        while ( $ok == 0 )
389                                sleep 10 ; llq -u $USER >&! llq.report
390                                grep `cat llsub.out | grep '"bs1' | cut -d\" -f2` llq.report >& /dev/null
391                                set ok = $status
392                                if ( ( $ok == 0 ) && ( $in_already == 0 ) ) then
393                                        set in_already = 1
394                                        set joe_id = `cat llsub.out | grep '"bs1' | cut -d\" -f2 | cut -d. -f2`
395                                endif
396                        end
397                        cp /ptmp/$USER/wrf_regression.$joe_id/wrftest.output wrftest.output.$TEST_NUM[$count_test].$tests[$count_test]
398                        rm llsub.out llq.report
399                else if ( ( `uname` == AIX ) && ( ( `hostname | cut -c 1-2` == bv ) || ( `hostname | cut -c 1-2` == bl ) ) ) then
400                        bsub < reg.foo.$TEST_NUM[$count_test].$tests[$count_test] >&! bsub.out
401                        set ok = 0
402                        set in_already = 0
403                        while ( $ok == 0 )
404                                sleep 10 ; bjobs >&! bjobs.report
405                                grep `cat bsub.out | grep Job | cut -d"<" -f2 | cut -d">" -f1` bjobs.report >& /dev/null
406                                set ok = $status
407                                if ( ( $ok == 0 ) && ( $in_already == 0 ) ) then
408                                        set in_already = 1
409                                        set joe_id = `cat bsub.out | grep Job | cut -d"<" -f2 | cut -d">" -f1`
410                                endif
411                        end
412                        cp /ptmp/$USER/wrf_regression.$joe_id/wrftest.output wrftest.output.$TEST_NUM[$count_test].$tests[$count_test]
413                        rm bsub.out bjobs.report
414                else if ( ( `uname` == AIX ) && ( ( `hostname | cut -c 1-2` != bs ) && \
415                                                  ( `hostname | cut -c 1-2` != bv ) && ( `hostname | cut -c 1-2` != bl ) ) ) then
416                        llsubmit reg.foo.$TEST_NUM[$count_test].$tests[$count_test] >&! llsub.out
417                        set ok = 0
418                        set in_already = 0
419                        while ( $ok == 0 )
420                                sleep 10 ; llq -u $USER >&! llq.report
421                                set llsubmit_name_all   = `cat llsub.out  | grep '"b'  | cut -d\" -f2`
422                                set llsubmit_name_front = `echo $llsubmit_name_all | cut -d\. -f1`
423                                set llsubmit_name_end   = `echo $llsubmit_name_all | cut -d\. -f5`
424                                grep $llsubmit_name_front llq.report | grep $llsubmit_name_end >& /dev/null
425                                set ok = $status
426                                if ( ( $ok == 0 ) && ( $in_already == 0 ) ) then
427                                        set in_already = 1
428                                        set joe_id = `cat llsub.out | grep '"b'  | cut -d\" -f2 | cut -d. -f5`
429                                endif
430                        end
431                        cp /ptmp/$USER/wrf_regression.$joe_id/wrftest.output wrftest.output.$TEST_NUM[$count_test].$tests[$count_test]
432                        rm llsub.out llq.report
433
434                #       On the "other" non-queued machines, we just execute the script and wait until
435                #       we get the process returning control, then we move on.
436
437                else
438                        reg.foo.$TEST_NUM[$count_test].$tests[$count_test] -f wrf.tar >&! output.$TEST_NUM[$count_test].$tests[$count_test]
439                        mv wrf_regression/wrftest.output wrftest.output.$TEST_NUM[$count_test].$tests[$count_test]
440                        if ( -d wrf_regression ) then
441                                mv wrf_regression wrf_regression.$TEST_NUM[$count_test].$tests[$count_test]
442                        endif
443                endif
444        endif
445end
446
447if ( ( `uname` == AIX ) && ( ( `hostname | cut -c 1-2` != bs ) && \
448                             ( `hostname | cut -c 1-2` != bv ) && ( `hostname | cut -c 1-2` != bl ) ) ) then
449        echo no web page building, stopping
450        exit
451endif
452
453PASSFAIL:
454
455#       Build the html page.  We only need the middle portion.  It's
456#       a table with 5 columns: Date of test, WRFV2 tag, Developer
457#       who conducted the test, machine the test was run on, and the
458#       pass/fail status of the all_reg.csh script when compared
459#       to the benchmark results (usually a released code).
460
461cat >! history_middle_OK.html << EOF
462<tr>
463<td> XDATEX </td>
464<td> XTAGX </td>
465<td> XTESTERX </td>
466<td> XARCHITECTUREX </td>
467<td BGCOLOR="#00FF00"><a href="ARCHITECTURE/wrftest.all_${datehms}">PASS</a>
468                      <a href="ARCHITECTURE/message_${datehms}">DIFFS</a></td>
469<td>
470<!--
471<a href="other_docs/${date}_notes">Descriptions</a>
472<a href="other_docs/${date}_minutes">Minutes</a>
473-->
474</td>
475</tr>
476EOF
477
478cat >! history_middle_OOPS.html << EOF
479<tr>
480<td> XDATEX </td>
481<td> XTAGX </td>
482<td> XTESTERX </td>
483<td> XARCHITECTUREX </td>
484<td BGCOLOR="#FF0000"><a href="ARCHITECTURE/wrftest.all_${datehms}">FAIL</a>
485                      <a href="ARCHITECTURE/message_${datehms}">DIFFS</a></td>
486<td>
487<!--
488<a href="other_docs/${date}_notes">Descriptions</a>
489<a href="other_docs/${date}_minutes">Minutes</a>
490-->
491</td>
492</tr>
493EOF
494
495set name = `uname`
496cat >! ed2.in << EOF
497,s/ARCHITECTURE/${name}/g
498w history_middle.html
499q
500EOF
501
502#       Get all of the wrftest.output.* files in one BIG file.
503
504if ( -e wrftest.all_$datehms ) rm wrftest.all_$datehms
505cat wrftest.output.?.* wrftest.output.??.* >>! wrftest.all_$datehms
506if ( -d `uname` ) rm -rf `uname`
507mkdir `uname`
508mv wrftest.all_$datehms `uname`
509
510#       Compare regression PASS/FAILs with previous runs.
511
512pushd ~gill/RESULTS/`uname`
513grep FAIL wrftest.output.* >! ${starting_dir}/PREV.FAILS
514popd
515grep FAIL wrftest.output.* >! CURR.FAILS
516echo Comparison of regression results on `hostname` for `date` >! message
517echo "==================================================================" >> message
518echo "     " >> message
519echo "Previous FAILs" >> message
520echo "==================" >> message
521echo "     " >> message
522cat PREV.FAILS >> message
523echo "     " >> message
524echo "Current FAILs" >> message
525echo "==================" >> message
526echo "     " >> message
527cat CURR.FAILS >> message
528echo "     " >> message
529echo "Difference of FAILs" >> message
530echo "==================" >> message
531echo "     " >> message
532cat CURR.FAILS | grep -vi baseline >! CURR2.FAILS
533diff PREV.FAILS CURR2.FAILS >! diffs
534set ok = $status
535cat diffs >> message
536echo "     " >> message
537cp message message_$datehms
538mv message_$datehms `uname`
539
540#       Send out status info on the regression test.
541
542set OS = `uname`
543set NUMARGS = $#argv
544if ( $#argv != 0 ) then
545        set ARG1 = $argv[1]
546else
547        set ARG1 = BLANK
548endif
549
550if ( ( $NUMARGS == 0 ) || ( $ARG1 == PASSFAIL ) || \
551     ( ( $ARG1 == COMPARE  ) && ( $NUMARGS == 1 ) ) || \
552     ( ( $ARG1 == GENERATE ) && ( $NUMARGS == 1 ) ) ) then
553        if ( $ok != 0 ) then
554                Mail -s "REG DIFFS $OS" ${user}@ucar.edu < message
555                echo "   "
556                echo "Different FAILS from before for $OS - repository may have been broken"
557                echo "   "
558                m4 -DXDATEX=${dateh} -DXTAGX=${TAG} -DXTESTERX=${user} -DXARCHITECTUREX=`uname` \
559                        history_middle_OOPS.html >! history_middle_1.html
560        else if ( $ok == 0 ) then
561                Mail -s "REG OK $OS" ${user}@ucar.edu < message
562                echo "   "
563                echo "Same FAILS as before for $OS - repository OK"
564                echo "   "
565                m4 -DXDATEX=${dateh} -DXTAGX=${TAG} -DXTESTERX=${user} -DXARCHITECTUREX=`uname` \
566                        history_middle_OK.html >! history_middle_1.html
567        endif
568       
569        #       Store on the NCAR MSS system to circumvent security.
570       
571        ed history_middle_1.html < ed2.in >& /dev/null
572        tar -cf `uname`_hist.tar history_middle.html `uname`
573        echo Storing info on NCAR MSS
574        msrcp `uname`_hist.tar mss:/GILL/ALLREG/`uname`_hist.tar
575        if ( -e `uname`_NEW ) rm `uname`_NEW
576        echo "`uname` `date`" >! `uname`_NEW
577        msrcp `uname`_NEW mss:/GILL/ALLREG/`uname`_NEW
578endif
579
580rm ed_in >& /dev/null
581rm io_format >& /dev/null
582rm PREV.FAILS CURR.FAILS CURR2.FAILS message diffs >& /dev/null
583rm history_middle_OOPS.html history_middle_OK.html history_middle_1.html history_middle.html >& /dev/null
584rm `uname`_hist.tar `uname`_NEW ed2.in >& /dev/null
585rm -rf `uname` >& /dev/null
Note: See TracBrowser for help on using the repository browser.