NOAA-EMC / NCEPLIBS-ip

Fortran 90 subprograms to be used for interpolating between nearly all grids used at NCEP.
Other
5 stars 8 forks source link

The same two test failures on both linux_aarch64 and linux_ppc64le. #213

Open TimothyCera-NOAA opened 7 months ago

TimothyCera-NOAA commented 7 months ago

Building conda packages for linux_aarch64 and linux_ppc64le fail because of two test failures.

For both linux_aarch64 and linux_ppc64le platforms, both compiled natively and cross-compiled from linux64, tests 21 and 42 fail.

21 - test_polar_stereo_neighbor_budget_vector_grib2_4 (Failed) https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=860016&view=logs&j=6494c7a6-a019-59a3-6f3d-9bab8ca96717&t=18c91bca-a25a-5f89-34d4-93bbec4021bc&l=772 42 - test_polar_stereo_neighbor_budget_vector_grib1_4 (Failed) https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=860016&view=logs&j=6494c7a6-a019-59a3-6f3d-9bab8ca96717&t=18c91bca-a25a-5f89-34d4-93bbec4021bc&l=1498

The log that the links above point to may be deleted after a time, so I included the text from the error messages below:

Error message for test 21:

test 21
      Start 21: test_polar_stereo_neighbor_budget_vector_grib2_4

21: Test command: $SRC_DIR/build/tests/test_vector_grib2_4 "212" "6"
21: Working Directory: $SRC_DIR/build/tests
21: Test timeout computed to be: 1500
21:          360         181
21:  - CALL IPOLATEV FOR GRID: 212                             
21:  - USE INTERP OPTION: 6                               
21:  baseline_file = ./data/baseline_data/grib2/vector/4_byte_bin/grid212.opt6.bin_4                                     
21:  - MAX/MIN OF U-WIND DATA:    48.6149940      -51.2249756    
21:  - NUMBER OF PTS DIFFERENT:            6
21:  - PERCENT OF TOTAL:    2.28881836E-03
21:  - MAX DIFFERENCE:  -0.233551785    
21:  - AVG DIFFERENCE:   0.100232966    
21:  - MAX/MIN OF V-WIND DATA:    47.6461563      -50.0976067    
21:  - NUMBER OF PTS DIFFERENT:            8
21:  - PERCENT OF TOTAL:    3.05175781E-03
21:  - MAX DIFFERENCE:  -0.601867676    
21:  - AVG DIFFERENCE:   0.154039994    
21:  # DIFFERING POINTS:           14
21: ERROR STOP 
21: 
21: Error termination. Backtrace:
21: #0  0x40000103a39f in __interp_mod_grib2_MOD_interp_vector
21:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/interp_mod_grib2.F90:759
21: #1  0x7fee5fe74f57 in test_vector_grib2
21:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/test_vector_grib2.F90:22
21: #2  0x7fee5fe74d83 in main
21:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/test_vector_grib2.F90:5

Error message for test 42:

test 42
      Start 42: test_polar_stereo_neighbor_budget_vector_grib1_4

42: Test command: $SRC_DIR/build/tests/test_vector_grib1_4 "212" "6"
42: Working Directory: $SRC_DIR/build/tests
42: Test timeout computed to be: 1500
42:          360         181
42:  - CALL IPOLATES FOR GRID: 212    
42:  - USE INTERP OPTION: 6                               
42:  baseline_file = ./data/baseline_data/grib1/vector/4_byte_bin/grid212.opt6.bin_4                                     
42:  - MAX/MIN OF U-WIND DATA:    48.6150246      -51.2249680    
42:  - NUMBER OF PTS DIFFERENT:            6
42:  - PERCENT OF TOTAL:    2.28881836E-03
42:  - MAX DIFFERENCE:   0.209230423    
42:  - AVG DIFFERENCE:   0.116057396    
42:  - MAX/MIN OF V-WIND DATA:    47.6461563      -50.0975800    
42:  - NUMBER OF PTS DIFFERENT:            6
42:  - PERCENT OF TOTAL:    2.28881836E-03
42:  - MAX DIFFERENCE:   0.183568001    
42:  - AVG DIFFERENCE:   0.114267193    
42:  # DIFFERING POINTS:           12
42: ERROR STOP 
42: 
42: Error termination. Backtrace:
42: #0  0x400001039877 in __interp_mod_grib1_MOD_interp_vector
42:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/interp_mod_grib1.F90:590
42: #1  0x7f0db99a3f67 in test_vector
42:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/test_vector_grib1.F90:22
42: #2  0x7f0db99a3d93 in main
42:     at /usr/local/src/conda/nceplibs-ip-4.4.0/tests/test_vector_grib1.F90:5
AlexanderRichert-NOAA commented 7 months ago

Do you think you could modify the test code to print out a few sample values, especially the differing ones? It might just need an adjustment in the tolerance. Also, are you using any flags outside of those provided within the CMake config, especially anything that could affect floating point calculations (e.g., optimization settings, fp-model setting for intel compiler, etc.)?