/[MITgcm]/MITgcm/doc/devel_HOWTO.sgml
ViewVC logotype

Diff of /MITgcm/doc/devel_HOWTO.sgml

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.14 by jmc, Fri May 28 01:47:32 2010 UTC revision 1.15 by jmc, Tue Mar 1 01:33:19 2011 UTC
# Line 699  checkpoint50d_pre Line 699  checkpoint50d_pre
699        <title>The Verification Suite</title>        <title>The Verification Suite</title>
700    
701        <para>The MITgcm CVS tree (within the <filename>$ROOTDIR/verification/</>        <para>The MITgcm CVS tree (within the <filename>$ROOTDIR/verification/</>
702          directory) includes more than a dozen examples intended for regression          directory) includes many (> 90) examples intended for regression
703          testing.  Each one of these example directories contains "known-good"          testing.  Each one of these example directories contains "known-good"
704          output files along with all the input (including both code and data          output files along with all the input (including both code and data
705          files) required for their re-calculation.  These example directories are          files) required for their re-calculation.  These example directories are
# Line 711  checkpoint50d_pre Line 711  checkpoint50d_pre
711          <title>The <filename>testreport</> Utility</title>          <title>The <filename>testreport</> Utility</title>
712    
713          <para>Also included in <filename>$ROOTDIR/verification/</> are shell          <para>Also included in <filename>$ROOTDIR/verification/</> are shell
714            scripts for automated testing.  The newest script (which was written            scripts for automated testing.  The script (which was written
715            to work with <filename>genmake2</>) is called <filename>testreport</>.            to work with <filename>genmake2</>) is called <filename>testreport</>.
716            This script can be used to build different versions of the MITgcm            This script can be used to build different versions of the MITgcm
717            code, run the various examples, compare the output, and (if specified)            code, run the various examples, compare the output, and (if specified)
# Line 723  checkpoint50d_pre Line 723  checkpoint50d_pre
723    
724  <screen>  <screen>
725    $ cd verification    $ cd verification
726    $ ./testreport -ieee    $ ./testreport
727  </screen>  </screen>
728    
729          <para>However, some systems (those lacking or wiht a broken "/bin/sh")          <para>However, some systems (those lacking or wiht a broken "/bin/sh")
730            may require an explicit shell invocation such as:</para>            may require an explicit shell invocation such as:</para>
731    
732  <screen>  <screen>
733    $ sh ./testreport -ieee -t 'exp0 exp4'    $ sh ./testreport -t 'exp2 exp4'
734    $ /some/path/to/bash ./testreport -ieee -t 'ideal_2D_oce lab_sea natl_box'    $ /some/path/to/bash ./testreport -t 'ideal_2D_oce lab_sea natl_box'
735  </screen>  </screen>
736    
737          <para>The <filename>testreport</> script accepts a number of          <para>The <filename>testreport</> script accepts a number of
# Line 741  checkpoint50d_pre Line 741  checkpoint50d_pre
741          <variablelist>          <variablelist>
742    
743            <varlistentry>            <varlistentry>
744              <term><filename>-ieee</></term>              <term><filename>-ieee</> (default) / <filename>-noieee</></term>
745              <listitem>              <listitem>
746                <para>If allowed by the compiler (as defined in the "optfile"),                <para>If allowed by the compiler (as defined in the "optfile"),
747                  use IEEE arithmetic.  This option, along with the GCC compiler,                  use IEEE arithmetic (<filename>genmake2 -ieee</>).
748                  is how the standard results were produced.</para>                  This option, along with the gfortran / gcc compiler,
749                    is how the standard results are produced.</para>
750                </listitem>
751              </varlistentry>
752    
753              <varlistentry>
754                <term><filename>-optfile=/PATH/FILENAME</></term>
755                <term><filename>-optfile '/PATH/F1 [/PATH/F2 ...]'</></term>
756                <listitem>
757                  <para>This specifies a list of "options files" that will be passed
758                    to <filename>genmake2</>.  If multiple options files are used
759                    (say, to test different compilers or different sets of options
760                    for the same compiler), then each options file will be used with
761                    each of the test directories.</para>
762              </listitem>              </listitem>
763            </varlistentry>            </varlistentry>
764    
# Line 756  checkpoint50d_pre Line 769  checkpoint50d_pre
769                <para>This option specifies the test directory or list of test                <para>This option specifies the test directory or list of test
770                  directories that should be used.  Each of these entries should                  directories that should be used.  Each of these entries should
771                  exactly (note: they are case sensitive!) match the names of                  exactly (note: they are case sensitive!) match the names of
772                  directries in <filename>$ROOTDIR/verification/</>.  If this                  directories in <filename>$ROOTDIR/verification/</>.  If this
773                  option is omitted, then all directories that are properly                  option is omitted, then all directories that are properly
774                  formatted (that is, containing an <filename>input</>                  formatted (that is, containing an <filename>input</>
775                  sub-directory and a <filename>results/output.txt</> file) will                  sub-directory and a <filename>results/output.txt</> file) will
# Line 765  checkpoint50d_pre Line 778  checkpoint50d_pre
778            </varlistentry>            </varlistentry>
779    
780            <varlistentry>            <varlistentry>
             <term><filename>-optfile=/PATH/FILENAME</></term>  
             <term><filename>-optfile '/PATH/F1 [/PATH/F2 ...]'</></term>  
             <listitem>  
               <para>This specifies a list of "options files" that will be passed  
                 to <filename>genmake2</>.  If multiple options files are used  
                 (say, to test different compilers or different sets of options  
                 for the same compiler), then each options file will be used with  
                 each of the test directories.</para>  
             </listitem>  
           </varlistentry>  
   
           <varlistentry>  
781              <term><filename>-addr EMAIL</></term>              <term><filename>-addr EMAIL</></term>
782              <term><filename>-addr 'EMAIL1 EMAIL2 [...]'</></term>              <term><filename>-addr 'EMAIL1 EMAIL2 [...]'</></term>
783              <listitem>              <listitem>
# Line 790  checkpoint50d_pre Line 791  checkpoint50d_pre
791            </varlistentry>            </varlistentry>
792    
793            <varlistentry>            <varlistentry>
794                <term><filename>-MPI NUMBER_OF_PROCS</></term>
795              <term><filename>-mpi</></term>              <term><filename>-mpi</></term>
796              <listitem>              <listitem>
797                <para>If the necessary files                <para>If the necessary file (<filename>TESTDIR/code/SIZE.h_mpi</>)
798                (<filename>TESTDIR/code/CPP_EEOPTIONS.h_mpi</> and                exists, then use it (and all <filename>TESTDIR/code/*_mpi</> files)
799                <filename>TESTDIR/code/SIZE.h_mpi</>) exist, then use them for an                for an MPI--enabled run.  The new option (<filename>-MPI</> followed
800                MPI--enabled run.  Note that the use of MPI typically requires a                by the maximum number of processors) enable to build and run each
801                  test-experiment using variable number of MPI processors (multiple
802                  of <filename>nPx*nPy</> from <filename>TESTDIR/code/SIZE.h_mpi</>
803                  and not larger than <filename>NUMBER_OF_PROCS</>).
804                  The short option ("-mpi") can only be used to build and run on 2 MPI
805                  processors (equivalent to "<filename>-MPI 2</>").</para>
806                  <para>Note that the use of MPI typically requires a
807                special command option (see "-command" below) to invoke the MPI                special command option (see "-command" below) to invoke the MPI
808                executable.  Examples of PBS scripts using MPI with testreport can be                executable.  Examples of PBS scripts using testreport with MPI can be
809                found in the <ulink                found in the <ulink
810                url="http://mitgcm.org/viewvc/MITgcm/MITgcm_contrib/test_scripts/">                url="http://mitgcm.org/viewvc/MITgcm/MITgcm/tools/example_scripts/">
811                MITgcm-contrib area</ulink></para>                tools/example_scripts directory</ulink>.</para>
812              </listitem>              </listitem>
813            </varlistentry>            </varlistentry>
814    
815            <varlistentry>            <varlistentry>
816              <term><filename>-command='some command to run'</></term>              <term><filename>-command='some command to run'</></term>
817              <listitem>              <listitem>
818                <para>For some tests, particularly MPI runs, the default "make                <para>For some tests, particularly MPI runs, a specific command
819                output.txt" is not sufficient.  This option allows a more general                might be needed to run the executable. This option allows a more general
820                command (or shell script) to be invoked.  Examples of PBS scripts                command (or shell script) to be invoked.  Examples of PBS scripts
821                using MPI with testreport can be found in the <ulink                using testreport with MPI can be found in the <ulink
822                url="http://mitgcm.org/viewvc/MITgcm/MITgcm_contrib/test_scripts/">                url="http://mitgcm.org/viewvc/MITgcm/MITgcm/tools/example_scripts/">
823                MITgcm-contrib area</ulink></para>                tools/example_scripts directory</ulink>.</para>
824              </listitem>              </listitem>
825            </varlistentry>            </varlistentry>
826    

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22