Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The OpenIFS tarfile distribution includes a simple low resolution (T21) test job that can be used to verify the model is working correctly in the directory: oifs/t21test. It is strongly recommended that after compiling the model successfully, these short tests are run.

...

Test directory

The directory t21test contains a number of files:

...

  • cd oifs/make and build the model using the 'opt' build configuration.

  • cp oifs/t21test and edit the file 'job' to change the line beginning:
    export GRIB_SAMPLES_PATH=...
    to match the location of your grib_api installation.  The model will fail with an error if it cannot find the 'ifs_samples' directory in the grib_api installation.

    Code Block
    signal_drhook(SIGSYS=31): New handler installed at 0x4d06cf; old preserved at 0x0
    MPL_BUFFER_METHOD:  2           0
    GRIB_API ERROR   :  Unable to locate sample file gg_sfc_grib1.tmpl
                        in /home/rd/openifs/software/grib_api/1.9.18/grib_api-gcc-4.5.0/ifs_samples/grib1_mlgrib2
     GRIB_NEW_FROM_TEMPLATE gg_sfc_grib1 FAILED          -2



  • cp namelists fort.4
    The model will look for a file 'fort.4' to read its fortran namelists from.

  • Run the model with a single task and single thread by executing the job script:

    ./job

    If the run works you will see output like this:

    Code Block
    signal_drhook(SIGSYS=31): New handler installed at 0x4d06cf; old
    preserved at 0x0
    MPL_BUFFER_METHOD:  2           0
       16:03:46 STEP    0 H=   0:00 +CPU=  3.598
       16:03:46 STEP    1 H=   0:10 +CPU=  0.535
       16:03:47 STEP    2 H=   0:20 +CPU=  0.537
       16:03:48 STEP    3 H=   0:30 +CPU=  0.537
       16:03:48 STEP    4 H=   0:40 +CPU=  0.527
       16:03:49 STEP    5 H=   0:50 +CPU=  0.526
       16:03:49 STEP    6 H=   1:00 +CPU=  0.530

    This model test runs only run 6 model steps.timesteps. The model writes its output to a several files. The NODE_00

    If you see an error like this:

    Code Block
    mpirun noticed that job rank 0 with PID 7429 on node elvira exited on
    signal 11 (Segmentation fault).

    or

    Code Block
    MEMORY FAULT

    it is most likely because OpenIFS requries more 'stack' memory than your default setting. Sometimes, this can happen when increasing the number of OpenMP threads.

    To solve the problem add the line:

    Code Block
    ulimit -s unlimited

    to the file job just before the mpirun line. This will increase the per-process stack memory limit to the maximum the operating system allows.

    If the model still fails, contact openifs-support@ecmwf.int for assistance.

 

Parallel: 2 threads and 2 tasks

These next short tests verify the model works correctly with either OpenMP parallel threading, MPI tasks and both and follow on from the serial tests above.

Acceptance testing