4 | | Regression test package provides a '''''test framework for Community sediment transport model'''''. User can automate model runs as well as various tests on |
5 | | model output. The package is written in '''''Perl'''''. It has been tested to run on Linux (2.6.15) and Windows under 'Cygwin'. |
6 | | Supported version of '''''ROMS: 3.0.''''' (Successfully tested SVN version 843). |
| 4 | |
| 5 | |
| 6 | |
| 7 | Regression test package provides a '''''test framework for Community sediment transport model'''''. User can automate model runs as well as various tests on[[BR]] |
| 8 | model output. The package is written in '''''Perl''''' and '''''XML'''''. XML serves as a tool to automate the ROMS run as well as NCO tools tests on output.[[BR]] |
| 9 | It has been tested to run on Linux (2.6.15) and Windows under 'Cygwin'. Supported version of '''''ROMS: 3.2.'''''.[[BR]] |
| 10 | (Successfully tested with Revision: 1553 of URL: https://www.myroms.org/svn/cstm/trunk). |
| 11 | |
59 | | * '''/data/regression.tests:''' List of applications defined for regression test. New applications needs to be added to this file before running the test. See example file below: |
60 | | {{{ |
61 | | #List applications for regression test. |
62 | | #Use '-coupled' with application name, to enable SWAN coupling. |
| 64 | * '''/data/Master:''' Master {{{NetCDF}}} output data files for various model applications (e.g. {{{SED_TOY, SHOREFACE}}} etc.). These datasets are used in [http://nco.sourceforge.net/ NCO-tools] (e.g. ncdiff) tests.[[BR]] |
| 65 | Here, the master file refers to a ''true'' data file against which a user would compare the model output. User must populate this directory with their master data files before proceeding[[BR]]to run any tests. 'ncdiff' would result in error without these files. The files could be of type 'history','averages','diagnostics' or 'restart'. This directory needs to be populated only[[BR]]in case you are running any nco-tools tests. |
| 66 | * '''/data/metadata:''' Contains XML files for environment setup. Use 'regressionCSTM.xml' as a guide to create new xml configuration files. |
| 67 | * '''/data/metadata/schema:''' Schema for XML document validation. Please do not edit files in this directory. |
| 68 | * '''/data/metadata/example:''' Example XML files to be used for environment setup. User should edit these files before running the regression application. |
| 69 | * '''/test-run:''' Test results. Each time test is run, it creates a time-stamped directory in '/test-run' where it stores all test results for each model application. User can have the test[[BR]] |
| 70 | results be saved to another location by modifying the ''$TEST_RUN'' variable in [wiki:RegressionProps regression.props] file. The 'STDERR' and 'STDOUT' from model compilation are also saved in this directory. |
64 | | BENCHMARK |
65 | | ESTUARY_TEST |
66 | | GRAV_ADJ |
67 | | LAKE_SIGNELL |
68 | | MIXED_LAYER |
69 | | SED_TEST |
70 | | SED_TOY |
71 | | SHOREFACE |
72 | | TEST_CHAN |
73 | | TEST_HEAD |
74 | | UPWELLING |
75 | | INLET_TEST -coupled |
76 | | BEVANO -coupled |
77 | | }}} |
78 | | |
79 | | * '''/data/Master:''' Master {{{NetCDF}}} output data files for various model applications (e.g. {{{SED_TOY, SHOREFACE}}} etc.). These datasets are used in [http://nco.sourceforge.net/ NCO-tools] (e.g. ncdiff) tests. Here, the master file refers to a ''true'' data file against which a user would compare the model output. User must populate this directory with their master data files before proceeding to run any tests. 'ncdiff' would result in error without these files. The files could be of type 'history','averages','diagnostics' or 'restart'. This directory needs to be populated only in case you are running any nco-tools tests. |
80 | | * '''/data/inputList:''' Contains list of input files associated with each model application. If there is an application listed in '/data/regression.tests' file, then user must include the application name and associated input file name in 'inputList' file. List file names without any directory path. Example file: |
81 | | {{{ |
82 | | ESTUARY_TEST = ocean_estuary_test.in |
83 | | INLET_TEST = ocean_inlet_test.in |
84 | | UPWELLING = ocean_upwelling.in |
85 | | }}} |
86 | | |
87 | | * '''/test-run:''' Test results. Each time test is run, it creates a time-stamped directory in '/test-run' where it stores all test results for each model application. User can have the test results be saved to another location by modifying the ''$TEST_RUN'' variable in [wiki:RegressionProps regression.props] file. The 'STDERR' and 'STDOUT' from model compilation are also saved in this directory. |
116 | | [SUCCESS][Fri Jul 13 12:28:50 2007][Compiled ROMS successfully.] |
117 | | [SUCCESS][Fri Jul 13 12:28:50 2007][Starting ROMS-SED in serial mode...] |
118 | | [SUCCESS][Fri Jul 13 12:28:57 2007][ROMS run successful. History or Restart file created.] |
| 101 | Application: UPWELLING:upwelling_1:ifort. |
| 102 | |
| 103 | [SUCCESS][Tue Jul 15 16:18:55 2008][Project directory does not exist: . Setting MY_PROJECT_DIR to ROMS ROOT DIR.] |
| 104 | [SUCCESS][Tue Jul 15 16:27:17 2008][Compiled application instance UPWELLING:upwelling_1:ifort successfully.] |
| 105 | [SUCCESS][Tue Jul 15 16:27:17 2008][Created PBS script: /home/skbhate/cstm/current_roms/roms3.2_070808/roms_pbs.sh] |
| 106 | [SUCCESS][Tue Jul 15 16:27:17 2008][Starting ROMS-SED MPI version using PBS script /home/skbhate/cstm/current_roms/roms3.2_070808/roms_pbs.sh] |
| 107 | [SUCCESS][Tue Jul 15 16:27:17 2008][PBS JOB ID: 14467.pikmin.cl.whoi.edu] |
| 108 | [SUCCESS][Tue Jul 15 16:39:17 2008][PBS job 14467.pikmin.cl.whoi.edu finished. Check output.] |
| 109 | [SUCCESS][Tue Jul 15 16:39:17 2008][ROMS run successful. History or Restart file created.] |
135 | | * Update the variables ''$ROMS_BUILD_FILE'' and ''$MY_CPUS'' in [wiki:RegressionProps regression.props] file. |
136 | | * The environmental variable ''$MY_PROJECT_DIR'' in build.sh should always be relative to variable ''$MY_ROOT_DIR''. |
137 | | * The project space for each model application should be declared with ''$MY_PROJECT_DIR'' following this convention. |
138 | | $MY_PROJECT_DIR=${MY_ROOT_DIR}/Projects/<application_name> (e.g. application_name can be 'upwelling', 'benchmark' etc.) |
139 | | |
140 | | * If $MY_PROJECT_DIR is defined, then HEADER_DIR and ANALYTICAL DIR will be defined to MY_PROJECT_DIR unless these variables are commented out. |
141 | | * Define model applications in file ''regression.tests'', which is located in /data directory. |
142 | | * Define input file associated with each model application in file ''inputList'', which is located in /data directory. |
143 | | * Using option '-pbs' it will generate a pbs script and will start the job as '$ qsub <pbs_script>'. You have to supply 'ppn' and 'node' values for generating the script. |
144 | | * Without option '-pbs' user can still run the job in MPI mode without generating a PBS script as long as '-mpi' option is used. If you do not supply 'ppn' and 'node' values, the NtileI and NtileJ is used to calculate the number of processors (NtileI * NtileJ). |
145 | | * If you use option '-mpi' then make sure the 'USE_MPI'/'USE_OPENMP' is set to 'on' otherwise the run will default to serial mode. |
| 122 | * Customize the variables ''$ROMS_BUILD_FILE'' and ''$MY_CPUS'' in [wiki:RegressionProps regression.props] file. |
| 123 | * Make sure you run 'validation tool' on your xml document frequently while editing the xml document. |