diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5f4e34e..348e210 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,29 +10,6 @@ jobs: steps: - - name: checkout-pfunit - uses: actions/checkout@v2 - with: - repository: Goddard-Fortran-Ecosystem/pFUnit - path: pfunit - - - name: cache-pfunit - id: cache-pfunit - uses: actions/cache@v2 - with: - path: ~/pfunit - key: pfunit-${{ runner.os }}-${{ hashFiles('pfunit/VERSION') }} - - - name: build-pfunit - if: steps.cache-pfunit.outputs.cache-hit != 'true' - run: | - cd pfunit - mkdir build - cd build - cmake .. -DSKIP_MPI=YES -DSKIP_ESMF=YES -DSKIP_FHAMCREST=YES -DCMAKE_INSTALL_PREFIX=~/pfunit - make -j2 - make install - - name: checkout-sp uses: actions/checkout@v2 with: @@ -60,7 +37,7 @@ jobs: cd ip2 mkdir build cd build - cmake .. -DENABLE_TESTS=ON -DOPENMP=ON -DCMAKE_PREFIX_PATH="~/pfunit;~/" + cmake .. -DOPENMP=ON -DCMAKE_PREFIX_PATH="~/" make -j2 - name: test diff --git a/CMakeLists.txt b/CMakeLists.txt index cb12bff..f1c40e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ file(STRINGS "VERSION" pVersion) project( ip2 VERSION ${pVersion} - LANGUAGES Fortran) + LANGUAGES C Fortran) option(OPENMP "use OpenMP threading" OFF) option(ENABLE_TESTS "Build pfunit tests?" OFF) @@ -28,8 +28,7 @@ find_package(sp REQUIRED) add_subdirectory(src) -if (ENABLE_TESTS) - find_package(PFUNIT REQUIRED) - enable_testing() - add_subdirectory(tests) +include(CTest) +if(BUILD_TESTING) + add_subdirectory(tests) endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b801bb9..2a948ff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,6 +19,7 @@ set(kinds "4" "8" "d") foreach(kind ${kinds}) set(lib_name ${PROJECT_NAME}_${kind}) set(module_dir "${CMAKE_CURRENT_BINARY_DIR}/include_${kind}") + configure_file(ip2lib_${kind}.h ${CMAKE_CURRENT_BINARY_DIR}/include_${kind}/ip2lib.h COPYONLY) # Compiled with preprocessor definition LSIZE=D, not d string(TOUPPER ${kind} kind_definition) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7b181a8..8b55c4e 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,12 +1,43 @@ #list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure") execute_process(COMMAND cmake -E create_symlink - "${CMAKE_SOURCE_DIR}/tests/data" - "${CMAKE_CURRENT_BINARY_DIR}/data" # New name - ) - - -add_pfunit_ctest (ip2_test - TEST_SOURCES test_mod.pf - LINK_LIBRARIES ip2::ip2_d sp::sp_d -) + "${CMAKE_CURRENT_SOURCE_DIR}/data" + "${CMAKE_CURRENT_BINARY_DIR}/data" # New name + ) + +if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$") + set(CMAKE_Fortran_FLAGS "-r8 -g -traceback -assume byterecl") + set(CMAKE_C_FLAGS "-std=c99") +elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") + set(CMAKE_Fortran_FLAGS "-fdefault-real-8 -fno-range-check -g -fbacktrace -fcheck=bounds") +endif() + +# Contains common routines used for testing such as reading and interpolating data +add_library(test_library input_data_mod.f90 interp_mod.f90) +target_link_libraries(test_library PUBLIC ip2::ip2_d) + +link_libraries(test_library) + +add_executable(test_gdswzd test_gdswzd.c) +add_executable(test_scalar test_scalar.f90) +add_executable(test_vector test_vector.f90) + +add_test(test_gdswzd_c test_gdswzd) + +# scalar tests +add_test(test_lambert_biliner_scalar test_scalar 218 0) +add_test(test_gaussian_neighbor_scalar test_scalar 127 2) +add_test(test_latlon_bilinear_scalar test_scalar 3 0) +add_test(test_mercator_bicubic_scalar test_scalar 8 1) +add_test(test_polar-stereo_neighbor-budget_scalar test_scalar 212 6) +add_test(test_rotatedB_spectral_scalar test_scalar 205 4) +add_test(test_rotatedE_budget_scalar test_scalar 203 3) + +# vector tests +add_test(test_lambert_biliner_vector test_vector 218 0) +add_test(test_gaussian_neighbor_vector test_vector 127 2) +add_test(test_latlon_bilinear_vector test_vector 3 0) +add_test(test_mercator_bicubic_vector test_vector 8 1) +add_test(test_polar-stereo_neighbor-budget_vector test_vector 212 6) +add_test(test_rotatedB_spectral_vector test_vector 205 4) +add_test(test_rotatedE_budget_vector test_vector 203 3) diff --git a/tests/README.md b/tests/README.md index a378816..61aa862 100644 --- a/tests/README.md +++ b/tests/README.md @@ -1,13 +1,7 @@ +## Description Unit test for the NCEP IPOLATES library (IPLIB). -Please refer to README.md in the main directory for how to run tests using PFUnit. - -This file is kept temporarily for historical purposes until all unit tests are converted to use pfunit. - -## ABSTRACT: ---------- - This test invokes IPOLATES to interpolate scalar and vector data to several grids of various map projections using all IPOLATES interpolation options. The output @@ -15,8 +9,7 @@ is compared to baseline data and a summary of differences is sent to standard output. -## HOW THE TEST WORKS: -------------------- +## How the Test Works There are two separate programs to test the scalar and vector interpolation. The scalar program calls routine 'ipolates' to interpolate a global field @@ -43,162 +36,42 @@ the baseline data are computed and sent to standard output. For this unit test to pass the differences should be "small". -## DIRECTORY LAYOUT: ------------------ - -./sorc - Contains the files and scripts needed to build the - unit test programs. And the programs themselves. - -./sorc/scalar - - Contains a Fortran program to call routine 'ipolates' - to interpolate a global field of albedo data to - several grids and using all interpolation options. - -./sorc/vector - - Contains a Fortran program to call routine 'ipolatev' - to interpolate a global field of u/v wind data to - several grids and using all interpolation options. - -./exec - Contains the unit test executables. There is one executable - for the single ("4"), double ("8") and mixed ("d") precision - versions of the IPOLATES library: - - scalar_4.exe scalar_8.exe scalar_d.exe - vector_4.exe vector_8.exe vector_d.exe - -./work - The working directory for program execution. +## Data -./lib - The location of the IPOLATES libraries and module files as - expected by the unit test programs. +### Input Data +Contains the input scalar and vector data. The +data are in binary little endian format: -./scripts - Contains scripts to run this unit test. + - data/scalar/global_snoalb.bin (global snow albedo) + - data/vector/global_uv_wind.bin (global 500mb u/v wind) -./input_data - Contains the input scalar and vector data. The - data are in binary little endian format: +### Baseline Data +Contains the baseline set of scalar and vector data +interpolated to each target grid. Binary, little endian +format. Output from each call to routine ipolates and +ipolatev is compared to its baseline counterpart. There +are sub-directories for the scalar and vector data. +And under these sub-directories, there are sub-directories +for the single (4_byte_bin) and mixed/double (8_byte_bin) +versions of the IPOLATES library. The file names +contain the grid number and IPOLATES interpolation +option (defined below); i.e.: - ./scalar/global_snoalb.bin (global snow albedo) - ./vector/global_uv_wind.bin (global 500mb u/v wind) +- grid${gridnum}.opt${ip_option}.bin_4/8 -./baseline_data - Contains the baseline set of scalar and vector data - interpolated to each target grid. Binary, little endian - format. Output from each call to routine ipolates and - ipolatev is compared to its baseline counterpart. There - are sub-directories for the scalar and vector data. - And under these sub-directories, there are sub-directories - for the single (4_byte_bin) and mixed/double (8_byte_bin) - versions of the IPOLATES library. The file names - contain the grid number and IPOLATES interpolation - option (defined below); i.e.: - - grid${gridnum}.opt${ip_option}.bin_4/8 - - Grads control files to view each file are located in the - ./grads subdirectory. These files do not account - for map projection. Rather, they display the data - as a 2-D field with no interpolation. So when - viewing, do a "set mproj off" during your grads session. +Grads control files to view each file are located in the +grads subdirectory. These files do not account +for map projection. Rather, they display the data +as a 2-D field with no interpolation. So when +viewing, do a "set mproj off" during your grads session. +## How to Run -## HOW TO RUN THE TEST: --------------------- - -1) Build the IPOLATES library. Go to $root and read the -README.build file for details. - - -2) Ensure the ./lib directory contains (or links to) the IPOLATES libraries and -its module files. The ./lib directory already contains links that point to the -libraries and module files as they would exist when using the "nco" install -option from step (1). I.e: - - module file directories: - incmod_4 -> $root/ip/vX.Y.Z/include/ip_vX.Y.Z_4 (single precision) - incmod_d -> $root/ip/vX.Y.Z/include/ip_vX.Y.Z_d (mixed precision) - incmod_8 -> $root/ip/vX.Y.Z/include/ip_vX.Y.Z_8 (double precistion) - - libraries: - libip_4.a -> $root/ip/vX.Y.Z/libip_vX.Y.Z_4.a (single precision) - libip_d.a -> $root/ip/vX.Y.Z/libip_vX.Y.Z_d.a (mixed precision) - libip_8.a -> $root/ip/vX.Y.Z/libip_vX.Y.Z_8.a (double precistion) - -So if that is how IPOLATES was built in step (1), there is -nothing more to do. - -However, if you want to build with another version of the library, -or if you built them in step (1) using the "gnu" or "nco_cray" install option, -you will need to adjust these links. Example: Suppose you want to -test with the OPS version of IPOLATES on WCOSS Phase 2. You would set the -links as follows: - - incmod_4 -> /nwprod2/lib/ip/vX.Y.Z/include/ip_vX.Y.Z_4 - incmod_d -> /nwprod2/lib/ip/vX.Y.Z/include/ip_vX.Y.Z_d - incmod_8 -> /nwprod2/lib/ip/vX.Y.Z/include/ip_vX.Y.Z_8 - - libip_4.a -> /nwprod2/lib/ip/vX.Y.Z/libip_vX.Y.Z_4.a - libip_d.a -> /nwprod2/lib/ip/vX.Y.Z/libip_vX.Y.Z_d.a - libip_8.a -> /nwprod2/lib/ip/vX.Y.Z/libip_vX.Y.Z_8.a - - -3) Build the "scalar" and "vector" unit test programs -by running the "make_unit_test.ksh" build script. (Use the -"make_unit_test_wcoss-cray.ksh" build script on WCOSS-Cray.) - -The IPOLATES library is dependant on the NCEP SP -(spectral) library (SPLIB). Intel compiled versions of SPLIB -exist on Theia and WCOSS Phase 1/2. When running "make_unit_test.ksh" -on these machines, these SP libraries are automatically located -by module loads and stored in these environment variables: - - SP_LIB4 (single precision) - SP_LIBd (mixed precision) - SP_LIB8 (double precistion) - -On WCOSS-Cray, Intel and Cray compiled versions of SPLIB exist. -And the "make_unit_test_wcoss-cray.ksh" script will locate -them by module loads. - -If you are testing on a machine other than WCOSS or Theia, -or you have compiled IPOLATES with a compiler other than Intel or Cray, -you will need to locate (or build) SPLIB and set these environment -varibles by editing the build script, or by exporting these -variables on the command line before invoking it. -Example (when using bash): - - $ export SP_LIB4=$directory/libsp_4.a - -Once the SP libraries have been located, run "make_unit_test.ksh" -(or make_unit_test_wcoss-cray.ksh) from the command line. The script -takes one argument: the "config-setup" file that was used to compile -IPOLATES. So, if you built IPOLATES with the Intel-optimized option, -you would invoke as follows: - - $ make_unit_test.ksh ifort.setup - -On WCOSS-Cray, you would do the following: - - $ make_unit_test_wcoss-cray.ksh ifort.setup - - -4) Run the unit test. Go to ./scripts. To run interactively, type: - - $ run_unit_test.ksh - -You may want to pipe the output to a log fle. Check output for any -"large" differences between the computed and baseline data. - -To run "run_unit_test.ksh" on the WCOSS or Theia compute nodes, -invoke these driver scripts as follows: - - $ run_wcoss.ksh (WCOSS Phase 1/2) - $ run_wcoss-cray.ksh (WCOSS-Cray) - $ run_wcoss-dell.ksh (WCOSS-Phase 3/Dell) - $ sbatch run_theia.ksh (Theia) +From the build directory simply run `make test` -In this case, output is sent to "unit_test.log". +Alternatively, to run all tests and show stdout run `ctest --verbose` +The individual test executables can be run from `/tests`. `test_scalar` and `test_vector` take two command-line arguments for the grid type and interpolation scheme. -## QUESTIONS: ----------- -Contact: george.gayno@noaa.gov diff --git a/tests/input_data_mod.f90 b/tests/input_data_mod.f90 new file mode 100644 index 0000000..a7741c3 --- /dev/null +++ b/tests/input_data_mod.f90 @@ -0,0 +1,136 @@ +module input_data_mod + implicit none + + !------------------------------------------------------------------------ + ! Read the data that will be interpolated. Data is a global one-degree + ! grid of albedo with no bitmap. + !------------------------------------------------------------------------ + + integer, public :: i_input + integer, public :: j_input + + integer, parameter, public :: input_gdtnum=0 + integer, parameter, public :: input_gdtlen=19 + integer, public :: input_gdtmpl(input_gdtlen) + integer, public :: vector_input_gdtmpl(input_gdtlen) + + integer, parameter :: missing=b'11111111111111111111111111111111' + + real, allocatable, public :: input_data(:,:) + logical*1, allocatable, public :: input_bitmap(:,:) + real, allocatable, public :: input_u_data(:,:) + real, allocatable, public :: input_v_data(:,:) + + data input_gdtmpl /6, 255, missing, 255, missing, 255, missing, & + 360, 180, 0, missing, -89500000, -180000000, & + 48, 89500000, 179000000, 1000000, 1000000, 64/ + + + data vector_input_gdtmpl /6, 255, missing, 255, missing, 255, missing, & + 360, 181, 0, missing, 90000000, 0, & + 48, -90000000, 359000000, 1000000, 1000000, 0/ + + +contains + + subroutine read_input_data + + implicit none + + character*100 :: input_file + + integer :: iret + integer, parameter :: iunit=9 + + real(kind=4), allocatable :: dummy(:,:) + + i_input = input_gdtmpl(8) + j_input = input_gdtmpl(9) + + allocate(input_data(i_input, j_input), dummy(i_input, j_input), input_bitmap(i_input, j_input)) + + input_file="data/input_data/scalar/global_snoalb.bin" + open(iunit, file=input_file, access='direct', recl=i_input*j_input*4, & + iostat=iret) + + if (iret /= 0) then + print*,'- BAD OPEN OF FILE, IRET IS ', iret + stop 2 + end if + + read(iunit, rec=1, iostat=iret) dummy + input_data=dummy + + if (iret /= 0) then + print*,"- BAD READ OF DATA. IRET IS ", iret + stop 4 + end if + + close (iunit) + + input_bitmap=.true. + + return + + end subroutine read_input_data + + subroutine read_vector_input_data() + implicit none + + character*100 :: input_file + + integer :: iret + integer, parameter :: iunit=9 + + real(kind=4), allocatable :: dummy(:,:) + + i_input = vector_input_gdtmpl(8) + j_input = vector_input_gdtmpl(9) + + print *, i_input, j_input + + input_file="data/input_data/vector/global_uv_wind.bin" + open(iunit, file=input_file, access='direct', recl=i_input*j_input*4, iostat=iret) + + if (iret /= 0) then + print*,'- BAD OPEN OF INPUT DATA FILE, IRET IS ', iret + stop 2 + end if + + allocate(dummy(i_input,j_input)) + + read(iunit, rec=1, iostat=iret) dummy + + if (iret /= 0) then + print*,"- BAD READ OF INPUT U-WIND DATA. IRET IS ", iret + stop 4 + endif + + allocate(input_u_data(i_input,j_input)) + input_u_data=dummy + + read(iunit, rec=2, iostat=iret) dummy + + if (iret /= 0) then + print*,"- BAD READ OF INPUT V-WIND DATA. IRET IS ", iret + stop 4 + end if + + allocate(input_v_data(i_input,j_input)) + input_v_data=dummy + + close (iunit) + + deallocate(dummy) + + allocate(input_bitmap(i_input,j_input)) + input_bitmap=.true. + + ! impose pure north wind + !input_u_data=0. + !input_v_data=-1. + + return + end subroutine read_vector_input_data + +end module input_data_mod diff --git a/tests/interp_mod.f90 b/tests/interp_mod.f90 new file mode 100644 index 0000000..c537e87 --- /dev/null +++ b/tests/interp_mod.f90 @@ -0,0 +1,634 @@ +module interp_mod + implicit none + +contains + + subroutine interp(grid, interp_opt) + !------------------------------------------------------------------------- + ! Call the scalar polates routines to interpolate the input data + ! using all available interpolation methods (neighbor, bilinear, etc.) + ! several output grids of various map projections are tested. + ! + ! The routine reads in two arguments from stnd input. The first is + ! the grid to which you want to interpolate the data. + ! The valid choices are: + ! + ! 3 - one-degree global lat/lon (ncep grid 3) + ! 8 - mercator (ncep grid 8) + ! 127 - t254 gaussian (ncep grid 127) + ! 203 - rotated lat/lon e-staggered (number refers to the old + ! grib 1 gds octet 6) + ! 205 - rotated lat/lon b-staggered (number refers to the old + ! gds octet 6) + ! 212 - nh polar stereographic, spherical earth (number meaningless) + ! 218 - lambert conformal (ncep grid 218) + ! + ! The second argument is the interpolation option. The valid choices: + ! + ! 0 - bilinear + ! 1 - bicubic + ! 2 - neighbor + ! 3 - budget + ! 4 - spectral + ! 6 - budget-neighbor + ! + ! The interpolated data is compared against a baseline binary + ! file. Any differences are written to standard output. + !------------------------------------------------------------------------- + + use input_data_mod, only : input_data, & + input_gdtnum, & + input_gdtlen, & + input_gdtmpl, & + input_bitmap, & + i_input, j_input + + implicit none + + character(*), intent(in) :: grid, interp_opt + + character*100 :: baseline_file + + integer(kind=4) :: i1 + integer, allocatable :: output_gdtmpl(:) + integer :: ip, ipopt(20), output_gdtlen, output_gdtnum + integer :: km, ibi, mi, iret, i, j + integer :: i_output, j_output, mo, no, ibo + integer :: num_pts_diff + integer , parameter :: missing=b'11111111111111111111111111111111' + + logical*1, allocatable :: output_bitmap(:,:) + + real, allocatable :: output_rlat(:,:), output_rlon(:,:) + real, allocatable :: output_data(:,:) + real(kind=4), allocatable :: baseline_data(:,:) + real :: avgdiff, maxdiff + real(kind=4) :: output_data4 + + integer, parameter :: gdtlen3 = 19 ! ncep grid3; one-degree lat/lon + integer :: gdtmpl3(gdtlen3) + data gdtmpl3 / 6, 255, missing, 255, missing, 255, missing, 360, 181, 0, missing, & + 90000000, 0, 56, -90000000, 359000000, 1000000, 1000000, 0 / + + integer, parameter :: gdtlen8 = 19 ! ncep grid8; mercator + integer :: gdtmpl8(gdtlen8) + data gdtmpl8 / 6, 255, missing, 255, missing, 255, missing, 116, 44, & + -48670000, 3104000, 56, 22500000, 61050000, 0, 64, 0, & + 318830000, 318830000/ + + integer, parameter :: gdtlen127=19 ! t254 gaussain + integer :: gdtmpl127(gdtlen127) + data gdtmpl127 /6, 255, missing, 255, missing, 255, missing, 768, 384, & + 0, missing, 89642000, 0, 48, -89642000, 359531000, & + 469000, 192, 0/ + + integer, parameter :: gdtlen203=22 ! 12km eta, h pts + integer :: gdtmpl203(gdtlen203) + data gdtmpl203/6, 255, missing, 255, missing, 255, missing, 669, 1165, & + 0, missing, -45000000, 300000000, 56, 45000000, 60000000, & + 179641, 77320, 68, -36000000, 254000000, 0 / + + integer, parameter :: gdtlen205=22 ! 12km nam, h pts + integer :: gdtmpl205(gdtlen205) + data gdtmpl205/6, 255, missing, 255, missing, 255, missing, 954, 835, & + 0, missing, -45036000, 299961000, 56, 45036000, 60039000, & + 126000, 108000, 64, -36000000, 254000000, 0 / + + integer, parameter :: gdtlen212=18 ! nh polar, spherical earth + integer :: gdtmpl212(gdtlen212) + data gdtmpl212 /6, 255, missing, 255, missing, 255, missing, 512, 512, & + -20826000, 145000000, 56, 60000000, 280000000, 47625000, 47625000, & + 0, 0/ + + integer, parameter :: gdtlen218 = 22 ! ncep grid 218; lambert conf + integer :: gdtmpl218(gdtlen218) + data gdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, & + 12190000, 226541000, 56, 25000000, 265000000, & + 12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/ + + select case (trim(grid)) + case ('3') + output_gdtnum = 0 + output_gdtlen = gdtlen3 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl3 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('8') + output_gdtnum = 10 + output_gdtlen = gdtlen8 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl8 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('127') + output_gdtnum = 40 + output_gdtlen = gdtlen127 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl127 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('203') + output_gdtnum = 1 + output_gdtlen = gdtlen203 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl203 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('205') + output_gdtnum = 1 + output_gdtlen = gdtlen205 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl205 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('212') + output_gdtnum = 20 + output_gdtlen = gdtlen212 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl212 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('218') + output_gdtnum = 30 + output_gdtlen = gdtlen218 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl218 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case default + print*,"ERROR: ENTER VALID GRID NUMBER." + stop 55 + end select + print*,"- CALL IPOLATES FOR GRID: ", grid + + select case (interp_opt) + ! bi-linear + case ('0') + ip = 0 + ipopt = 0 + ibi = 0 ! no bitmap + ! bi-cubic + case ('1') + ip = 1 + ipopt = 0 + ibi = 0 ! no bitmap + ! neighbor + case ('2') + ip = 2 + ipopt = 0 + ibi = 0 ! no bitmap + ! budget + case ('3') + ip = 3 + ipopt = -1 + ibi = 0 ! no bitmap + ! spectral + case ('4') + ip = 4 + ipopt(1) = 0 ! triangular + ipopt(2) = -1 ! code chooses wave number + ipopt(3:20)=0 + ibi = 0 ! can't use bitmap with spectral + ! neighbor-budget + case ('6') + ip = 6 + ipopt = -1 + ibi = 0 ! no bitmap + case default + print*,"ERROR: ENTER VALID INTERP OPTION." + stop 56 + end select + print*,"- USE INTERP OPTION: ", interp_opt + + km = 1 ! number of fields to interpolate + mi = i_input * j_input ! dimension of input grids + + mo = i_output * j_output + + allocate (output_rlat(i_output,j_output)) + allocate (output_rlon(i_output,j_output)) + allocate (output_data(i_output,j_output)) + allocate (output_bitmap(i_output,j_output)) + + call ipolates(ip, ipopt, input_gdtnum, input_gdtmpl, input_gdtlen, & + output_gdtnum, output_gdtmpl, output_gdtlen, & + mi, mo, km, ibi, input_bitmap, input_data, & + no, output_rlat, output_rlon, ibo, output_bitmap, output_data, iret) + + deallocate (output_gdtmpl) + + if (iret /= 0) then + print*,'- BAD STATUS FROM IPOLATES: ', iret + stop 6 + end if + + if (no /= mo) then + print*,'- ERROR: WRONG # OF POINTS RETURNED FROM IPOLATES' + stop 7 + end if + + !print*,'- SUCCESSFULL CALL TO IPOLATES' + + do j = 1, j_output + do i = 1, i_output + if (.not. output_bitmap(i,j)) then + output_data(i,j) = -9. + endif + enddo + enddo + + allocate (baseline_data(i_output,j_output)) + + if (kind(output_data) == 8) then + baseline_file = "./data/baseline_data/scalar/8_byte_bin/grid" // trim(grid) // ".opt" // trim(interp_opt) // ".bin_8" + else + baseline_file = "./data/baseline_data/scalar/4_byte_bin/grid" // trim(grid) // ".opt" // trim(interp_opt) // ".bin_4" + endif + + open (12, file=baseline_file, access="direct", err=38, recl=mo*4) + read (12, err=38, rec=1) baseline_data + close (12) + + avgdiff=0.0 + maxdiff=0.0 + num_pts_diff=0 + + do j = 1, j_output + do i = 1, i_output + output_data4 = real(output_data(i,j),4) + if ( abs(output_data4 - baseline_data(i,j)) > 0.0001) then + avgdiff = avgdiff + abs(output_data4-baseline_data(i,j)) + num_pts_diff = num_pts_diff + 1 + if (abs(output_data4-baseline_data(i,j)) > abs(maxdiff))then + maxdiff = output_data4-baseline_data(i,j) + endif + endif + enddo + enddo + + print*,'- MAX/MIN OF DATA: ', maxval(output_data),minval(output_data) + print*,'- NUMBER OF PTS DIFFERENT: ',num_pts_diff + print*,'- PERCENT OF TOTAL: ',(float(num_pts_diff)/float(i_output*j_output))*100. + print*,'- MAX DIFFERENCE: ', maxdiff + if (num_pts_diff > 0) then + avgdiff = avgdiff / float(num_pts_diff) + endif + print*,'- AVG DIFFERENCE: ', avgdiff + + if (num_pts_diff > 0) then + print *, "Expected 0 points > 0, found: ", num_pts_diff + error stop + endif + + deallocate (output_rlat, output_rlon, output_data, output_bitmap, baseline_data) + + return + +38 continue + + print*,'-ERROR READING BASELINE DATA FILE FILE.' + stop 77 + + end subroutine interp + + + + subroutine interp_vector(grid, interp_opt) + + !------------------------------------------------------------------------- + ! Call the vector polates routines to interpolate the input data + ! using all available interpolation methods (neighbor, bilinear, etc.) + ! several output grids of various map projections are tested. + ! + ! The routine reads in two arguments from stnd input. The first is + ! the grid to which you want to interpolate the data. + ! The valid choices are: + ! + ! 3 - one-degree global lat/lon (ncep grid 3) + ! 8 - mercator (ncep grid 8) + ! 127 - t254 gaussian (ncep grid 127) + ! 203 - rotated lat/lon e-staggered (number refers to the old + ! gds octet 6) + ! 205 - rotated lat/lon b-staggered (number refers to the old + ! gds octet 6) + ! 212 - nh polar stereographic, spherical earth (number meaningless) + ! 218 - lambert conformal (ncep grid 218) + ! + ! The second argument is the interpolation option. The valid choices: + ! + ! 0 - bilinear + ! 1 - bicubic + ! 2 - neighbor + ! 3 - budget + ! 4 - spectral + ! 6 - budget-neighbor + ! + ! The interpolated data is compared to a baseline set of data. + ! Differences are printed to standard output. + !------------------------------------------------------------------------- + + use input_data_mod, only : input_u_data, input_v_data, & + vector_input_gdtmpl, & + input_gdtlen, & + input_gdtnum, & + input_bitmap, & + i_input, j_input + + implicit none + + character(*), intent(in) :: grid, interp_opt + + character*100 :: baseline_file + + integer, allocatable :: output_gdtmpl(:) + integer(kind=4) :: i1 + integer :: ip, ipopt(20), output_gdtlen, output_gdtnum + integer :: km, ibi, mi, iret, i, j + integer :: i_output, j_output, mo, no, ibo + integer :: num_upts_diff, num_vpts_diff + integer , parameter :: missing=b'11111111111111111111111111111111' + + logical*1, allocatable :: output_bitmap(:,:) + + real, allocatable :: output_rlat(:,:), output_rlon(:,:) + real, allocatable :: output_crot(:,:), output_srot(:,:) + real, allocatable :: output_u_data(:,:), output_v_data(:,:) + real :: avg_u_diff, avg_v_diff + real :: max_u_diff, max_v_diff + real(kind=4) :: output_data4 + real(kind=4), allocatable :: baseline_u_data(:,:) + real(kind=4), allocatable :: baseline_v_data(:,:) + + integer, parameter :: gdtlen3 = 19 ! ncep grid3; one-degree lat/lon + integer :: gdtmpl3(gdtlen3) + data gdtmpl3 / 6, 255, missing, 255, missing, 255, missing, 360, 181, 0, missing, & + 90000000, 0, 56, -90000000, 359000000, 1000000, 1000000, 0 / + + integer, parameter :: gdtlen8 = 19 ! ncep grid8; mercator + integer :: gdtmpl8(gdtlen8) + data gdtmpl8 / 6, 255, missing, 255, missing, 255, missing, 116, 44, & + -48670000, 3104000, 56, 22500000, 61050000, 0, 64, 0, & + 318830000, 318830000/ + + integer, parameter :: gdtlen127=19 ! t254 gaussain + integer :: gdtmpl127(gdtlen127) + data gdtmpl127 /6, 255, missing, 255, missing, 255, missing, 768, 384, & + 0, missing, 89642000, 0, 48, -89642000, 359531000, & + 469000, 192, 0/ + + integer, parameter :: gdtlen203=22 ! 12km eta, v pts + integer :: gdtmpl203(gdtlen203) + data gdtmpl203/6, 255, missing, 255, missing, 255, missing, 669, 1165, & + 0, missing, -45000000, 300000000, 56, 45000000, 60000000, & + 179641, 77320, 72, -36000000, 254000000, 0 / + + integer, parameter :: gdtlen205=22 ! 12km nam, h pts + integer :: gdtmpl205(gdtlen205) + data gdtmpl205/6, 255, missing, 255, missing, 255, missing, 954, 835, & + 0, missing, -45036000, 299961000, 56, 45036000, 60039000, & + 126000, 108000, 64, -36000000, 254000000, 0 / + + integer, parameter :: gdtlen212=18 ! nh polar, spherical earth + integer :: gdtmpl212(gdtlen212) + data gdtmpl212 /6, 255, missing, 255, missing, 255, missing, 512, 512, & + -20826000, 145000000, 56, 60000000, 280000000, 47625000, 47625000, & + 0, 0/ + + integer, parameter :: gdtlen218 = 22 ! ncep grid 218; lambert conf + integer :: gdtmpl218(gdtlen218) + data gdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, & + 12190000, 226541000, 56, 25000000, 265000000, & + 12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/ + + select case (trim(grid)) + case ('3') + output_gdtnum = 0 + output_gdtlen = gdtlen3 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl3 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('8') + output_gdtnum = 10 + output_gdtlen = gdtlen8 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl8 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('127') + output_gdtnum = 40 + output_gdtlen = gdtlen127 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl127 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('203') + output_gdtnum = 1 + output_gdtlen = gdtlen203 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl203 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('205') + output_gdtnum = 1 + output_gdtlen = gdtlen205 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl205 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('212') + output_gdtnum = 20 + output_gdtlen = gdtlen212 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl212 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case ('218') + output_gdtnum = 30 + output_gdtlen = gdtlen218 + allocate(output_gdtmpl(output_gdtlen)) + output_gdtmpl=gdtmpl218 + i_output = output_gdtmpl(8) + j_output = output_gdtmpl(9) + case default + print*,"ERROR: ENTER VALID GRID NUMBER." + stop 55 + end select + print*,"- CALL IPOLATEV FOR GRID: ", grid + + select case (interp_opt) + ! bi-linear + case ('0') + ip = 0 + ipopt = 0 + ibi = 0 ! no bitmap + ! bi-cubic + case ('1') + ip = 1 + ipopt = 0 + ibi = 0 ! no bitmap + ! neighbor + case ('2') + ip = 2 + ipopt = 0 + ibi = 0 ! no bitmap + ! budget + case ('3') + ip = 3 + ipopt = -1 + ibi = 0 ! no bitmap + ! spectral + case ('4') + ip = 4 + ipopt(1) = 0 ! triangular + ipopt(2) = -1 ! code chooses wave number + ipopt(3:20)=0 + ibi = 0 ! no bitmap + ! neighbor-budget + case ('6') + ip = 6 + ipopt = -1 + ibi = 0 ! no bitmap + case default + print*,"ERROR: ENTER VALID INTERP OPTION." + stop 56 + end select + print*,"- USE INTERP OPTION: ", interp_opt + + km = 1 ! number of fields to interpolate + mi = i_input * j_input ! dimension of input grids + + mo = i_output * j_output + + allocate (output_rlat(i_output,j_output)) + allocate (output_rlon(i_output,j_output)) + allocate (output_u_data(i_output,j_output)) + allocate (output_v_data(i_output,j_output)) + allocate (output_bitmap(i_output,j_output)) + allocate (output_srot(i_output,j_output)) + allocate (output_crot(i_output,j_output)) + + call ipolatev(ip, ipopt, input_gdtnum, vector_input_gdtmpl, input_gdtlen, & + output_gdtnum, output_gdtmpl, output_gdtlen, mi, mo, & + km, ibi, input_bitmap, input_u_data, input_v_data, & + no, output_rlat, output_rlon, output_crot, output_srot, & + ibo, output_bitmap, output_u_data, output_v_data, iret) + + deallocate(input_bitmap, input_u_data, input_v_data, output_gdtmpl) + + if (iret /= 0) then + print*,'- BAD STATUS FROM IPOLATEV: ', iret + stop 6 + end if + + if (no /= mo) then + print*,'- ERROR: WRONG # OF POINTS RETURNED FROM IPOLATEV' + stop 7 + end if + + !print*,'- SUCCESSFULL CALL TO IPOLATEV' + + !------------------------------------------------------------------------- + ! polatev4 does not always initialize the ibo or output_bitmap variables, + ! so they can't be used. this should be fixed. + ! according to the comments, polatev4 only outputs a bitmap in areas + ! that extend outside the domain of the input grid. + !------------------------------------------------------------------------- + + if (ip /= 4) then + do j = 1, j_output + do i = 1, i_output + if (.not. output_bitmap(i,j)) then + output_u_data(i,j) = -9999. + output_v_data(i,j) = -9999. + endif + enddo + enddo + endif + + !------------------------------------------------------------------------- + ! Compared data from ipolatev to its corresponding baseline + ! data. + !------------------------------------------------------------------------- + + if (kind(output_u_data) == 8) then + baseline_file = "./data/baseline_data/vector/8_byte_bin/grid" // trim(grid) // ".opt" // trim(interp_opt) // ".bin_8" + else + baseline_file = "./data/baseline_data/vector/4_byte_bin/grid" // trim(grid) // ".opt" // trim(interp_opt) // ".bin_4" + endif + + allocate (baseline_u_data(i_output,j_output)) + allocate (baseline_v_data(i_output,j_output)) + + print *,"baseline_file = ", baseline_file + + open (12, file=baseline_file, access="direct", err=38, recl=mo*4) + read (12, err=38, rec=1) baseline_u_data + read (12, err=38, rec=2) baseline_v_data + close (12) + + avg_u_diff=0.0 + max_u_diff=0.0 + num_upts_diff=0 + avg_v_diff=0.0 + max_v_diff=0.0 + num_vpts_diff=0 + + do j = 1, j_output + do i = 1, i_output + output_data4 = real(output_u_data(i,j),4) + if (abs(output_data4 - baseline_u_data(i,j)) > 0.0001) then + avg_u_diff = avg_u_diff + abs(output_data4-baseline_u_data(i,j)) + num_upts_diff = num_upts_diff + 1 + if (abs(output_data4-baseline_u_data(i,j)) > abs(max_u_diff))then + max_u_diff = output_data4-baseline_u_data(i,j) + endif + endif + output_data4 = real(output_v_data(i,j),4) + if (abs(output_data4 - baseline_v_data(i,j)) > 0.0001) then + avg_v_diff = avg_v_diff + abs(output_data4-baseline_v_data(i,j)) + num_vpts_diff = num_vpts_diff + 1 + if (abs(output_data4-baseline_v_data(i,j)) > abs(max_v_diff))then + max_v_diff = output_data4-baseline_v_data(i,j) + endif + endif + enddo + enddo + + print*,'- MAX/MIN OF U-WIND DATA: ', maxval(output_u_data),minval(output_u_data) + print*,'- NUMBER OF PTS DIFFERENT: ',num_upts_diff + print*,'- PERCENT OF TOTAL: ',(float(num_upts_diff)/float(i_output*j_output))*100. + print*,'- MAX DIFFERENCE: ', max_u_diff + if (num_upts_diff > 0) then + avg_u_diff = avg_u_diff / float(num_upts_diff) + endif + print*,'- AVG DIFFERENCE: ', avg_u_diff + + print*,'- MAX/MIN OF V-WIND DATA: ', maxval(output_v_data),minval(output_v_data) + print*,'- NUMBER OF PTS DIFFERENT: ',num_vpts_diff + print*,'- PERCENT OF TOTAL: ',(float(num_vpts_diff)/float(i_output*j_output))*100. + print*,'- MAX DIFFERENCE: ', max_v_diff + if (num_vpts_diff > 0) then + avg_v_diff = avg_v_diff / float(num_vpts_diff) + endif + print*,'- AVG DIFFERENCE: ', avg_v_diff + + if (num_vpts_diff + num_upts_diff > 0) then + print *, "Expected 0 points > 0, found: ", num_upts_diff + num_vpts_diff + error stop + endif + + deallocate (baseline_u_data, baseline_v_data) + deallocate (output_rlat, output_rlon, output_u_data, output_bitmap) + deallocate (output_v_data, output_crot, output_srot) + + return + +38 continue + print*,'- ERROR READING BASELINE DATA FILE' + stop 7 + + end subroutine interp_vector + +end module interp_mod diff --git a/tests/unit_test_for_c/sorc/test_gdswzd_d.c b/tests/test_gdswzd.c similarity index 65% rename from tests/unit_test_for_c/sorc/test_gdswzd_d.c rename to tests/test_gdswzd.c index 99cef83..afa4de4 100644 --- a/tests/unit_test_for_c/sorc/test_gdswzd_d.c +++ b/tests/test_gdswzd.c @@ -1,19 +1,18 @@ #include #include -#include "iplib.h" +#include "ip2lib.h" /************************************************************** Unit test to ensure the 'c' wrapper routine for gdswzd is working. - Call gdswzd for a rotated lat/lon grid with "B" stagger and print out the corner point lat/lons and the number of valid grid points returned. - Tests the mixed precision version of gdswzd. **************************************************************/ + int main() { int *igdtmpl; @@ -83,15 +82,54 @@ int main() xpts, ypts, rlon, rlat, &nret, crot, srot, xlon, xlat, ylon, ylat, area); - printf(" Points returned from gdswzd = %d \n", nret); - printf(" Expected points returned = 50451 \n\n"); + int expextedPointsReturned = 50451; + + printf("Points returned from gdswzd = %d \n", nret); + printf(" Expected points returned = %d \n\n", expextedPointsReturned); + + if (nret != expextedPointsReturned) { + exit(1); + } + + double expectedLastCornerLat = 44.539; + double expectedLastCornerLon = 14.802; + + double actualFirstCornerLat = rlat[0]; + double actualFirstCornerLon = rlon[0] - 360.0; + + + double expectedFirstCornerLat = -7.491; + double expectedFirstCornerLon = -144.134; + + double actualLastCornerLat = rlat[nret-1]; + double actualLastCornerLon = rlon[nret-1]; + - printf(" First corner point lat/lon = %f %f \n", rlat[0], rlon[0]-360); + double MAX_RELATIVE_DIFF = 0.01; + + printf(" First corner point lat/lon = %f %f \n", actualFirstCornerLat, actualFirstCornerLon); printf(" Expected lat/lon = -7.491 -144.134 \n\n"); + + if ((abs(expectedFirstCornerLat - actualFirstCornerLat) / expectedFirstCornerLat > MAX_RELATIVE_DIFF)) { + exit(1); + } + + if (abs(expectedFirstCornerLon - actualFirstCornerLon) / expectedFirstCornerLon > MAX_RELATIVE_DIFF) { + exit(1); + } + - printf(" Last corner point lat/lon = %f %f \n", rlat[nret-1], rlon[nret-1]); + printf(" Last corner point lat/lon = %f %f \n", actualLastCornerLat, actualLastCornerLon); printf(" Expected lat/lon = 44.539 14.802 \n"); + if (abs(expectedLastCornerLat - actualLastCornerLat) / expectedLastCornerLat > MAX_RELATIVE_DIFF) { + exit(1); + } + + if (abs(expectedLastCornerLon - actualLastCornerLon) / expectedLastCornerLon > MAX_RELATIVE_DIFF) { + exit(1); + } + /* for (int n=0; n $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_4 (single precision) - incmod_d -> $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_d (mixed precision) - incmod_8 -> $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_8 (double precistion) - - libraries: - libip2_4.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_4.a (single precision) - libip2_d.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_d.a (mixed precision) - libip2_8.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_8.a (double precistion) - -So if that is how IPOLATES2 was built in step (1), there is -nothing more to do. - -However, if you want to build with another version of the library, -or if you built them in step (1) using the "gnu" or "nco_cray" install option, -you will need to adjust these links. - -3) Build the "scalar" and "vector" unit test programs -by running the "make_unit_test.ksh" build script. (Use the -"make_unit_test_wcoss-cray.ksh" build script on WCOSS-Cray.) - -The IPOLATES2 library is dependant on the NCEP SP -(spectral) library (SPLIB). Intel compiled versions of SPLIB -exist on Theia and WCOSS Phase 1/2/3. When running "make_unit_test.ksh" -on these machines, these SP libraries are automatically located -by module loads and stored in these environment variables: - - SP_LIB4 (single precision) - SP_LIBd (mixed precision) - SP_LIB8 (double precistion) - -On WCOSS-Cray, Intel and Cray compiled versions of SPLIB exist. -And the "make_unit_test_wcoss-cray.ksh" script will locate -them by module loads. - -If you are testing on a machine other than WCOSS or Theia, -or you have compiled IPOLATES2 with a compiler other than Intel or Cray, -you will need to locate (or build) SPLIB and set these environment -varibles by editing the build script, or by exporting these -variables on the command line before invoking it. -Example (when using bash): - - $ export SP_LIB4=$directory/libsp_4.a - -Once the SP libraries have been located, run "make_unit_test.ksh" -(or make_unit_test_wcoss-cray.ksh) from the command line. The script -takes one argument: the "config-setup" file that was used to compile -IPOLATES2. So, if you built IPOLATES2 with the Intel-optimized option, -you would invoke as follows: - - $ make_unit_test.ksh ifort.setup - -On WCOSS-Cray, you would do the following: - - $ make_unit_test_wcoss-cray.ksh ifort.setup - - -4) Run the unit test. Go to ./scripts. To run interactively, type: - - $ run_unit_test.ksh - -You may want to pipe the output to a log fle. Check output for any -"large" differences between the computed and baseline data. - -To run "run_unit_test.ksh" on the WCOSS or Theia compute nodes, -invoke these driver scripts as follows: - - $ cat run_wcoss.lsf | bsub (WCOSS Phase 1/2) - $ cat run_wcoss-cray.lsf | bsub (WCOSS-Cray) - $ run_wcoss-dell.sh (WCOSS Phase 3-Dell) - $ sbatch run_theia.ksh (Theia) - -In this case, output is sent to "unit_test.log". - - -QUESTIONS: ----------- - -Contact: george.gayno@noaa.gov diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid127.opt2.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid127.opt2.bin_4 deleted file mode 100644 index b540e65..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid127.opt2.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid203.opt3.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid203.opt3.bin_4 deleted file mode 100644 index 2efd597..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid203.opt3.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid205.opt4.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid205.opt4.bin_4 deleted file mode 100644 index 891515c..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid205.opt4.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid212.opt6.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid212.opt6.bin_4 deleted file mode 100644 index ef29efc..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid212.opt6.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid218.opt0.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid218.opt0.bin_4 deleted file mode 100644 index 3cd4f55..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid218.opt0.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid3.opt0.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid3.opt0.bin_4 deleted file mode 100644 index 8cf5668..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid3.opt0.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid8.opt1.bin_4 b/tests/unit_test/baseline_data/scalar/4_byte_bin/grid8.opt1.bin_4 deleted file mode 100644 index 65304e2..0000000 Binary files a/tests/unit_test/baseline_data/scalar/4_byte_bin/grid8.opt1.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid127.opt2.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid127.opt2.bin_8 deleted file mode 100644 index f4b2f9f..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid127.opt2.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid203.opt3.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid203.opt3.bin_8 deleted file mode 100644 index 84d106a..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid203.opt3.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid205.opt4.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid205.opt4.bin_8 deleted file mode 100644 index ed5353b..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid205.opt4.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid212.opt6.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid212.opt6.bin_8 deleted file mode 100644 index af4b654..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid212.opt6.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid218.opt0.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid218.opt0.bin_8 deleted file mode 100644 index 678447f..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid218.opt0.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid3.opt0.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid3.opt0.bin_8 deleted file mode 100644 index 8cf5668..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid3.opt0.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid8.opt1.bin_8 b/tests/unit_test/baseline_data/scalar/8_byte_bin/grid8.opt1.bin_8 deleted file mode 100644 index a9d2f9d..0000000 Binary files a/tests/unit_test/baseline_data/scalar/8_byte_bin/grid8.opt1.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/scalar/grads/grid003.ctl b/tests/unit_test/baseline_data/scalar/grads/grid003.ctl deleted file mode 100644 index 7737a1e..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid003.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid3.opt0.bin_4 -undef -9.E+0 -options yrev -options little_endian -xdef 360 linear 0.000000 1.0 -ydef 181 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid008.ctl b/tests/unit_test/baseline_data/scalar/grads/grid008.ctl deleted file mode 100644 index 21eb4d4..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid008.ctl +++ /dev/null @@ -1,10 +0,0 @@ -dset ^../4_byte_bin/grid8.opt1.bin_4 -undef -9.E+0 -options little_endian -xdef 116 linear 0.000000 1.0 -ydef 44 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid127.ctl b/tests/unit_test/baseline_data/scalar/grads/grid127.ctl deleted file mode 100644 index efe5ded..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid127.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid127.opt2.bin_4 -undef -9.E+0 -options yrev -options little_endian -xdef 768 linear 0.000000 1.0 -ydef 384 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid203.ctl b/tests/unit_test/baseline_data/scalar/grads/grid203.ctl deleted file mode 100644 index 7acc073..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid203.ctl +++ /dev/null @@ -1,10 +0,0 @@ -dset ^../4_byte_bin/grid203.opt3.bin_4 -undef -9.E+0 -options little_endian -xdef 669 linear 0.000000 1.0 -ydef 1165 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid205.ctl b/tests/unit_test/baseline_data/scalar/grads/grid205.ctl deleted file mode 100644 index a30dee9..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid205.ctl +++ /dev/null @@ -1,10 +0,0 @@ -dset ^../4_byte_bin/grid205.opt4.bin_4 -undef -9.E+0 -options little_endian -xdef 954 linear 0.000000 1.0 -ydef 835 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid212.ctl b/tests/unit_test/baseline_data/scalar/grads/grid212.ctl deleted file mode 100644 index cb1aea8..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid212.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid212.opt6.bin_4 -undef -9.E+0 -options yrev -options little_endian -xdef 512 linear 0.000000 1.0 -ydef 512 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/scalar/grads/grid218.ctl b/tests/unit_test/baseline_data/scalar/grads/grid218.ctl deleted file mode 100644 index a5cf687..0000000 --- a/tests/unit_test/baseline_data/scalar/grads/grid218.ctl +++ /dev/null @@ -1,10 +0,0 @@ -dset ^../4_byte_bin/grid218.opt0.bin_4 -undef -9.E+0 -options little_endian -xdef 614 linear 0.000000 1.0 -ydef 428 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 1 -alb 0 11,1,0 ** alb -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid127.opt2.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid127.opt2.bin_4 deleted file mode 100644 index d4e80e8..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid127.opt2.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid203.opt3.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid203.opt3.bin_4 deleted file mode 100644 index e99f703..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid203.opt3.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid205.opt4.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid205.opt4.bin_4 deleted file mode 100644 index 1faa1cb..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid205.opt4.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid212.opt6.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid212.opt6.bin_4 deleted file mode 100644 index b095776..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid212.opt6.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid218.opt0.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid218.opt0.bin_4 deleted file mode 100644 index f1474d6..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid218.opt0.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid3.opt0.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid3.opt0.bin_4 deleted file mode 100644 index 970e28f..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid3.opt0.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/4_byte_bin/grid8.opt1.bin_4 b/tests/unit_test/baseline_data/vector/4_byte_bin/grid8.opt1.bin_4 deleted file mode 100644 index c03bd12..0000000 Binary files a/tests/unit_test/baseline_data/vector/4_byte_bin/grid8.opt1.bin_4 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid127.opt2.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid127.opt2.bin_8 deleted file mode 100644 index 34e545f..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid127.opt2.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid203.opt3.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid203.opt3.bin_8 deleted file mode 100644 index bbdc557..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid203.opt3.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid205.opt4.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid205.opt4.bin_8 deleted file mode 100644 index 134ddbb..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid205.opt4.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid212.opt6.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid212.opt6.bin_8 deleted file mode 100644 index 8395ca8..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid212.opt6.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid218.opt0.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid218.opt0.bin_8 deleted file mode 100644 index 2564534..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid218.opt0.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid3.opt0.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid3.opt0.bin_8 deleted file mode 100644 index ce346b7..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid3.opt0.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/8_byte_bin/grid8.opt1.bin_8 b/tests/unit_test/baseline_data/vector/8_byte_bin/grid8.opt1.bin_8 deleted file mode 100644 index 38821e0..0000000 Binary files a/tests/unit_test/baseline_data/vector/8_byte_bin/grid8.opt1.bin_8 and /dev/null differ diff --git a/tests/unit_test/baseline_data/vector/grads/grid003.ctl b/tests/unit_test/baseline_data/vector/grads/grid003.ctl deleted file mode 100644 index 1407d93..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid003.ctl +++ /dev/null @@ -1,12 +0,0 @@ -dset ^../4_byte_bin/grid3.opt0.bin_4 -undef -9.999E+3 -options yrev -options little_endian -xdef 360 linear 0.000000 1.0 -ydef 181 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid008.ctl b/tests/unit_test/baseline_data/vector/grads/grid008.ctl deleted file mode 100644 index 08674d0..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid008.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid8.opt1.bin_4 -undef -9.999E+3 -options little_endian -xdef 116 linear 0.000000 1.0 -ydef 44 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid127.ctl b/tests/unit_test/baseline_data/vector/grads/grid127.ctl deleted file mode 100644 index 3c0e3e6..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid127.ctl +++ /dev/null @@ -1,12 +0,0 @@ -dset ^../4_byte_bin/grid127.opt2.bin_4 -undef -9.999E+3 -options yrev -options little_endian -xdef 768 linear 0.000000 1.0 -ydef 384 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid203.ctl b/tests/unit_test/baseline_data/vector/grads/grid203.ctl deleted file mode 100644 index 97a2773..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid203.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid203.opt3.bin_4 -undef -9.999E+3 -options little_endian -xdef 669 linear 0.000000 1.0 -ydef 1165 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid205.ctl b/tests/unit_test/baseline_data/vector/grads/grid205.ctl deleted file mode 100644 index a7d92f8..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid205.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid205.opt4.bin_4 -undef -9.999E+3 -options little_endian -xdef 954 linear 0.000000 1.0 -ydef 835 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid212.ctl b/tests/unit_test/baseline_data/vector/grads/grid212.ctl deleted file mode 100644 index 0efb847..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid212.ctl +++ /dev/null @@ -1,12 +0,0 @@ -dset ^../4_byte_bin/grid212.opt6.bin_4 -undef -9.999E+3 -options yrev -options little_endian -xdef 512 linear 0.000000 1.0 -ydef 512 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/baseline_data/vector/grads/grid218.ctl b/tests/unit_test/baseline_data/vector/grads/grid218.ctl deleted file mode 100644 index 419f1fd..0000000 --- a/tests/unit_test/baseline_data/vector/grads/grid218.ctl +++ /dev/null @@ -1,11 +0,0 @@ -dset ^../4_byte_bin/grid218.opt0.bin_4 -undef -9.999E+3 -options little_endian -xdef 614 linear 0.000000 1.0 -ydef 428 linear 0.000000 1.0 -tdef 1 linear 00z01jan1980 1dy -zdef 1 linear 1 1 -vars 2 -uwind 0 33,1,0 ** uwind -vwind 0 34,1,0 ** vwind -ENDVARS diff --git a/tests/unit_test/input_data/scalar/global_snoalb.bin b/tests/unit_test/input_data/scalar/global_snoalb.bin deleted file mode 100644 index 530c93b..0000000 Binary files a/tests/unit_test/input_data/scalar/global_snoalb.bin and /dev/null differ diff --git a/tests/unit_test/input_data/vector/global_uv_wind.bin b/tests/unit_test/input_data/vector/global_uv_wind.bin deleted file mode 100644 index f5604b9..0000000 Binary files a/tests/unit_test/input_data/vector/global_uv_wind.bin and /dev/null differ diff --git a/tests/unit_test/lib/incmod_4 b/tests/unit_test/lib/incmod_4 deleted file mode 120000 index ac8ac03..0000000 --- a/tests/unit_test/lib/incmod_4 +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_4 \ No newline at end of file diff --git a/tests/unit_test/lib/incmod_8 b/tests/unit_test/lib/incmod_8 deleted file mode 120000 index dc31638..0000000 --- a/tests/unit_test/lib/incmod_8 +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_8 \ No newline at end of file diff --git a/tests/unit_test/lib/incmod_d b/tests/unit_test/lib/incmod_d deleted file mode 120000 index d64c919..0000000 --- a/tests/unit_test/lib/incmod_d +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_d \ No newline at end of file diff --git a/tests/unit_test/scripts/run_theia.ksh b/tests/unit_test/scripts/run_theia.ksh deleted file mode 100755 index 1c52d49..0000000 --- a/tests/unit_test/scripts/run_theia.ksh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh --login - -#------------------------------------------------------------ -# Script to run the unit test on Theia compute nodes. -# -# To run, type: 'sbatch $script'. -# -# Output is put in "unit_test.log" -#------------------------------------------------------------ - -#SBATCH --ntasks=1 -#SBATCH --mem=5000M -#SBATCH -t 0:15:00 -#SBATCH -A fv3-cpu -#SBATCH -J ip2_unit_test -#SBATCH -q debug -#SBATCH -o unit_test.log -#SBATCH -e unit_test.log - -set -x - -module purge -module load intel/15.6.233 - -export OMP_NUM_THREADS=1 - -rundir=${SLURM_SUBMIT_DIR} -cd $rundir - -./run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test/scripts/run_unit_test.ksh b/tests/unit_test/scripts/run_unit_test.ksh deleted file mode 100755 index 8ec4fbf..0000000 --- a/tests/unit_test/scripts/run_unit_test.ksh +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/ksh - -#--------------------------------------------------------------------------------- -# Driver script to run the IPOLATES2 unit test. -# -# This script calls two programs to interpolate global datasets -# of scalar and vector data to several grids of various map projections -# using all ipolates2 interpolation options. The interpolated data is -# then compared to "baseline" data, with a summary of differences -# sent to standard output. -# -# To run this script interactively, type "./run_unit_test.ksh". -# On WCOSS Phase 1/2, this script may be submitted to the compute nodes -# using "./run_wcoss.lsf". On Theia, use "./run_theia.ksh" -# On WCOSS-Cray, use "./run_wcoss-cray.lsf". On WCOSS Phase 3-Dell, -# use "./run_wcoss-dell.sh". -# -# The program which tests the scalar interpolation is located in -# ../sorc/scalar. After compilation, there are three executables -# in ../exec, one for each precision version of ipolates2: -# - scalar_4.exe (uses single precision version) -# - scalar_8.exe (uses double precision version) -# - scalar_d.exe (uses mixed precision version) -# -# The program which tests the vector interpolation is located in -# ../sorc/vector. As with the scalar program, after compilation -# there are three executables in ../exec: -# - vector_4.exe (uses single precision version) -# - vector_8.exe (uses double precision version) -# - vector_d.exe (uses mixed precision version) -# -# The input data is located in the ../input_data directory. There are -# two files (binary, little endian format), one with scalar data and one -# with vector data: -# - ./scalar/global_snoalb.bin - global snow albedo -# - ./vector/global_uv_wind.bin - global 500mb u/v wind -# -# The input data are interpolated to the following grids with the following -# ipolates2 interpolation options: -# - grid 3 (global one-deg lat/lon) using bilinear (option "0") -# - grid 8 (mercator) using bicubic (option "1") -# - grid 127 (gaussian lat/lon) using neighbor (option "2") -# - grid 203 (rotated lat/lon "E") using budget (option "3") -# - grid 205 (rotated lat/lon "B") using spectral (option "4") -# - grid 212 (polar stereographic) using neighbor-budget (option "6") -# - grid 218 (lambert conformal) using bilinear (option "0") -# -# The "baseline" data are located in subdirectories under ./baseline_data. -# The files are identified with the grid number in the file name. -# Ipolates2 gives identical results for the double and mixed -# precision. These data are in binary little endian format. -# The subdirectories are: -# - ./scalar/4_byte_bin: single precision albedo (scalar) -# - ./scalar/8_byte_bin: double and mixed precision albedo (scalar) -# - ./vector/4_byte_bin: single precision u/v wind (vector) -# - ./vector/8_byte_bin: double and mixed precision u/v wind (vector) -# -# The output from this script is piped to the screen. -#--------------------------------------------------------------------------------- - -#set -x - -APRUN=${APRUN:-" "} - -if [[ ! -d ../work ]]; then - mkdir -p ../work -fi - -cd ../work - -ln -fs ../input_data/scalar/global_snoalb.bin ./fort.9 - -for precision in "4" "d" "8" # test all three precision versions of library -do - echo - echo "****************************************************************" - echo "*** TEST $precision BYTE VERSION OF IPOLATES2 LIBRARY FOR SCALAR DATA ***" - echo "****************************************************************" - - EXEC="../exec/scalar_${precision}.exe" - - for grid in 3 8 127 203 205 212 218 - do - case $grid in # the interpolation option (defined above) - "3") - option="0" ;; - "8") - option="1" ;; - "127") - option="2" ;; - "203") - option="3" ;; - "205") - option="4" ;; - "212") - option="6" ;; - *) - option="0" ;; - esac - - echo - $APRUN $EXEC $grid $option - - done -done - -rm -f ./fort.9 - -ln -fs ../input_data/vector/global_uv_wind.bin ./fort.9 - -for precision in "4" "d" "8" # test all three precision versions of library -do - echo - echo "****************************************************************" - echo "*** TEST $precision BYTE VERSION OF IPOLATES2 LIBRARY FOR VECTOR DATA ***" - echo "****************************************************************" - - EXEC="../exec/vector_${precision}.exe" - - for grid in 3 8 127 203 205 212 218 - do - - case $grid in # the interpolation option (defined above) - "3") - option="0" ;; - "8") - option="1" ;; - "127") - option="2" ;; - "203") - option="3" ;; - "205") - option="4" ;; - "212") - option="6" ;; - *) - option="0" ;; - esac - - echo - $APRUN $EXEC $grid $option - - done -done - -rm -f ./fort.9 - -exit 0 diff --git a/tests/unit_test/scripts/run_wcoss-cray.lsf b/tests/unit_test/scripts/run_wcoss-cray.lsf deleted file mode 100755 index 73a4a95..0000000 --- a/tests/unit_test/scripts/run_wcoss-cray.lsf +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/ksh - -#------------------------------------------------------- -# Script to run the unit test on WCOSS-Cray -# compute nodes. -# -# Invoke this script as follows: -# "cat run.wcoss-cray.lsf | bsub" -# -# Output is put in "unit_test.log" -#------------------------------------------------------- - -#BSUB -oo unit_test.log -#BSUB -eo unit_test.log -#BSUB -q debug -#BSUB -J ip2_unit_test -#BSUB -P GFS-T2O -#BSUB -M 500 -#BSUB -extsched 'CRAYLINUX[]' -#BSUB -W 0:05 - -set -x - -export NODES=1 -export OMP_NUM_THREADS=5 - -export APRUN="aprun -j 1 -n 1 -d ${OMP_NUM_THREADS} " - -run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test/scripts/run_wcoss-dell.sh b/tests/unit_test/scripts/run_wcoss-dell.sh deleted file mode 100755 index 2929df2..0000000 --- a/tests/unit_test/scripts/run_wcoss-dell.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -#------------------------------------------------------- -# Script to run the unit test on WCOSS Phase 3 (Dell) -# compute nodes. -# -# Simply invoke this script on the command line -# with no arguments. -# -# Output is put in "unit_test.log" -#------------------------------------------------------- - -set -x - -module purge -module load EnvVars/1.0.2 -module load ips/18.0.1.163 -module load lsf/10.1 - -bsub -oo unit_test.log -eo unit_test.log -q dev -J ip2_unit_test \ - -P GFS-T2O -W 0:15 -cwd $(pwd) \ - -n 1 -R span[ptile=1] "export OMP_NUM_THREADS=1; run_unit_test.ksh" - -exit 0 diff --git a/tests/unit_test/scripts/run_wcoss.lsf b/tests/unit_test/scripts/run_wcoss.lsf deleted file mode 100755 index 10eea30..0000000 --- a/tests/unit_test/scripts/run_wcoss.lsf +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/ksh - -#------------------------------------------------------- -# Script to run the unit test on WCOSS Phase 1/2 -# compute nodes. -# -# Invoke this script as follows: -# "cat run.wcoss.lsf | bsub" -# -# Output is put in "unit_test.log" -#------------------------------------------------------- - -#BSUB -oo unit_test.log -#BSUB -eo unit_test.log -#BSUB -q dev_shared -#BSUB -J ip2_unit_test -#BSUB -R affinity[core(1)] -#BSUB -R rusage[mem=500] -#BSUB -a openmp -#BSUB -n 1 -#BSUB -R span[ptile=1] -#BSUB -P GFS-T2O -#BSUB -W 0:15 - -set -x - -run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test/sorc/Makefile.in b/tests/unit_test/sorc/Makefile.in deleted file mode 100644 index 4a7bd87..0000000 --- a/tests/unit_test/sorc/Makefile.in +++ /dev/null @@ -1,23 +0,0 @@ -# @configure_input@ - -# Top level makefile template - -MAKE="gmake" - -# Target specification -all clean install uninstall: - cd scalar && $(MAKE) $@ - cd vector && $(MAKE) $@ - -distclean: - cd scalar && $(MAKE) $@ - cd vector && $(MAKE) $@ - -rm Makefile config*.log config.status - -Makefile: Makefile.in config.status - ./config.status $@ - -config.status: configure - ./config.status --recheck - -.PHONY: all clean distclean check install uninstall diff --git a/tests/unit_test/sorc/configure b/tests/unit_test/sorc/configure deleted file mode 100755 index fb13b28..0000000 --- a/tests/unit_test/sorc/configure +++ /dev/null @@ -1,3592 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ip2_unit_test 1.0.0. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: ncep.list.emc.nceplibs.support@noaa.gov about your -$0: system, including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='ip2_unit_test' -PACKAGE_TARNAME='ip2_unit_test' -PACKAGE_VERSION='1.0.0' -PACKAGE_STRING='ip2_unit_test 1.0.0' -PACKAGE_BUGREPORT='ncep.list.emc.nceplibs.support@noaa.gov' -PACKAGE_URL='' - -ac_unique_file="scalar/interp.f90" -ac_subst_vars='LTLIBOBJS -LIBOBJS -SUFFIX -FCFLAGS_f90 -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -OBJEXT -EXEEXT -ac_ct_FC -LDFLAGS -FCFLAGS -FC -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_promote -' - ac_precious_vars='build_alias -host_alias -target_alias -FC -FCFLAGS -LDFLAGS -LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures ip2_unit_test 1.0.0 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/ip2_unit_test] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of ip2_unit_test 1.0.0:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-promote Promote defaults to 4,8,d. [default: 4] - -Some influential environment variables: - FC Fortran compiler command - FCFLAGS Fortran compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -ip2_unit_test configure 1.0.0 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_fc_try_compile LINENO -# --------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_fc_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_fc_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_fc_try_compile -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by ip2_unit_test $as_me 1.0.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -# Output info for user -{ $as_echo "$as_me:${as_lineno-$LINENO}: ip2 1.0.0" >&5 -$as_echo "$as_me: ip2 1.0.0" >&6;} - -# Check for existence of unique file before proceeding -# Can only check for one file. Not a file in each -# subdirectory. - - -# Define the configuration files -ac_config_files="$ac_config_files Makefile" - -ac_config_files="$ac_config_files scalar/Makefile" - -ac_config_files="$ac_config_files vector/Makefile" - - -# Check for programs -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in ifort - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$FC"; then - ac_cv_prog_FC="$FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_FC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -FC=$ac_cv_prog_FC -if test -n "$FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FC" >&5 -$as_echo "$FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$FC" && break - done -fi -if test -z "$FC"; then - ac_ct_FC=$FC - for ac_prog in ifort -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_FC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_FC"; then - ac_cv_prog_ac_ct_FC="$ac_ct_FC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_FC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_FC=$ac_cv_prog_ac_ct_FC -if test -n "$ac_ct_FC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FC" >&5 -$as_echo "$ac_ct_FC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_FC" && break -done - - if test "x$ac_ct_FC" = x; then - FC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - FC=$ac_ct_FC - fi -fi - - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done -rm -f a.out - -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Fortran compiler works" >&5 -$as_echo_n "checking whether the Fortran compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "Fortran compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran compiler default output file name" >&5 -$as_echo_n "checking for Fortran compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat > conftest.$ac_ext <<_ACEOF - program main - open(unit=9,file='conftest.out') - close(unit=9) - - end -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run Fortran compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran compiler" >&5 -$as_echo_n "checking whether we are using the GNU Fortran compiler... " >&6; } -if ${ac_cv_fc_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_fc_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_compiler_gnu" >&5 -$as_echo "$ac_cv_fc_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FCFLAGS=${FCFLAGS+set} -ac_save_FCFLAGS=$FCFLAGS -FCFLAGS= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $FC accepts -g" >&5 -$as_echo_n "checking whether $FC accepts -g... " >&6; } -if ${ac_cv_prog_fc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - FCFLAGS=-g -cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_cv_prog_fc_g=yes -else - ac_cv_prog_fc_g=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_fc_g" >&5 -$as_echo "$ac_cv_prog_fc_g" >&6; } -if test "$ac_test_FCFLAGS" = set; then - FCFLAGS=$ac_save_FCFLAGS -elif test $ac_cv_prog_fc_g = yes; then - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-g -O2" - else - FCFLAGS="-g" - fi -else - if test "x$ac_cv_fc_compiler_gnu" = xyes; then - FCFLAGS="-O2" - else - FCFLAGS= - fi -fi - -if test $ac_compiler_gnu = yes; then - GFC=yes -else - GFC= -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -# Set the programming language -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran flag to compile .f90 files" >&5 -$as_echo_n "checking for Fortran flag to compile .f90 files... " >&6; } -if ${ac_cv_fc_srcext_f90+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=f90 -ac_fcflags_srcext_save=$ac_fcflags_srcext -ac_fcflags_srcext= -ac_cv_fc_srcext_f90=unknown -case $ac_ext in #( - [fF]77) ac_try=f77;; #( - *) ac_try=f95;; -esac -for ac_flag in none -qsuffix=f=f90 -Tf "-x $ac_try"; do - test "x$ac_flag" != xnone && ac_fcflags_srcext="$ac_flag" - cat > conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -if ac_fn_fc_try_compile "$LINENO"; then : - ac_cv_fc_srcext_f90=$ac_flag; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest.$ac_objext conftest.f90 -ac_fcflags_srcext=$ac_fcflags_srcext_save - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_fc_srcext_f90" >&5 -$as_echo "$ac_cv_fc_srcext_f90" >&6; } -if test "x$ac_cv_fc_srcext_f90" = xunknown; then - as_fn_error $? "Fortran could not compile .f90 files" "$LINENO" 5 -else - ac_fc_srcext=f90 - if test "x$ac_cv_fc_srcext_f90" = xnone; then - ac_fcflags_srcext="" - FCFLAGS_f90="" - else - ac_fcflags_srcext=$ac_cv_fc_srcext_f90 - FCFLAGS_f90=$ac_cv_fc_srcext_f90 - fi - - -fi -ac_ext=${ac_fc_srcext-f} -ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' -ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_fc_compiler_gnu - - -# Establish the default type promotion for naming -# Check whether --enable-promote was given. -if test "${enable_promote+set}" = set; then : - enableval=$enable_promote; promote=${enableval} -else - promote=4 -fi - -case ${promote} in - 8|d) precision=${promote};; - *) precision=4;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: Building precision ${precision} version." >&5 -$as_echo "$as_me: Building precision ${precision} version." >&6;} - -SUFFIX=_${precision} - - -# Set the default type promotion compiler flags -case $FC in - ifort|pgf95) - case ${precision} in - 4) ;; - 8) FCFLAGS="-r8 -i8 $FCFLAGS";; - d) FCFLAGS="-r8 $FCFLAGS";; - esac - ;; - gfortran) - case ${precision} in - 4) ;; - 8) FCFLAGS="-fdefault-real-8 -fdefault-integer-8 $FCFLAGS";; - d) FCFLAGS="-fdefault-real-8 $FCFLAGS";; - esac - ;; - xlf*) - case ${precision} in - 4) ;; - 8) FCFLAGS="-qrealsize=8 -qintsize=8 $FCFLAGS";; - d) FCFLAGS="-qrealsize=8 $FCFLAGS";; - esac - ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Precision promotion flags for $FC unknown and not set" >&5 -$as_echo "$as_me: WARNING: Precision promotion flags for $FC unknown and not set" >&2;};; -esac - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by ip2_unit_test $as_me 1.0.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -ip2_unit_test config.status 1.0.0 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "scalar/Makefile") CONFIG_FILES="$CONFIG_FILES scalar/Makefile" ;; - "vector/Makefile") CONFIG_FILES="$CONFIG_FILES vector/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/tests/unit_test/sorc/configure.ac b/tests/unit_test/sorc/configure.ac deleted file mode 100644 index ff86f88..0000000 --- a/tests/unit_test/sorc/configure.ac +++ /dev/null @@ -1,63 +0,0 @@ -## Initialise autoconf -AC_INIT([ip2_unit_test], [1.0.0], [ncep.list.emc.nceplibs.support@noaa.gov]) - -# Output info for user -AC_MSG_NOTICE([ip2 AC_PACKAGE_VERSION]) - -# Check for existence of unique file before proceeding -# Can only check for one file. Not a file in each -# subdirectory. -AC_CONFIG_SRCDIR([scalar/interp.f90]) - -# Define the configuration files -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_FILES([scalar/Makefile]) -AC_CONFIG_FILES([vector/Makefile]) - -# Check for programs -AC_PROG_FC(ifort) -AC_PROG_INSTALL - -# Set the programming language -AC_LANG(Fortran) -AC_FC_SRCEXT(f90) - -# Establish the default type promotion for naming -AC_ARG_ENABLE([promote], - [AS_HELP_STRING([--enable-promote],[Promote defaults to 4,8,d. @<:@default: 4@:>@])], - [promote=${enableval}],[promote=4]) -case ${promote} in - 8|d) precision=${promote};; - *) precision=4;; -esac -AC_MSG_NOTICE([Building precision ${precision} version.]) - -AC_SUBST(SUFFIX,[_${precision}]) - -# Set the default type promotion compiler flags -case $FC in - ifort|pgf95) - case ${precision} in - 4) ;; - 8) FCFLAGS="-r8 -i8 $FCFLAGS";; - d) FCFLAGS="-r8 $FCFLAGS";; - esac - ;; - gfortran) - case ${precision} in - 4) ;; - 8) FCFLAGS="-fdefault-real-8 -fdefault-integer-8 $FCFLAGS";; - d) FCFLAGS="-fdefault-real-8 $FCFLAGS";; - esac - ;; - xlf*) - case ${precision} in - 4) ;; - 8) FCFLAGS="-qrealsize=8 -qintsize=8 $FCFLAGS";; - d) FCFLAGS="-qrealsize=8 $FCFLAGS";; - esac - ;; - *) AC_MSG_WARN([Precision promotion flags for $FC unknown and not set]);; -esac - -AC_OUTPUT diff --git a/tests/unit_test/sorc/make_unit_test.ksh b/tests/unit_test/sorc/make_unit_test.ksh deleted file mode 100755 index f9b75d0..0000000 --- a/tests/unit_test/sorc/make_unit_test.ksh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/ksh --login - -#----------------------------------------------------------------------------- -# This script compiles the ip2lib unit test programs. -# -# PLEASE READ THE "README" FILE IN THIS DIRECTORY FOR DETAILS ON HOW -# TO RUN THIS SCRIPT. -#----------------------------------------------------------------------------- - -usage() -{ - echo; echo "Usage: $0 setup-file" >&2 - echo; echo "Dont use this script on WCOSS-Cray." - echo; echo "Currently available setup files are:" - echo - for file in `ls ../../config-setup/`; do - echo "`basename ${file}`" >&2 - done - echo -} - -#set -x - -#----------------------------------------------------------------------------- -# Script requires one argument - the name of the build setup file. -#----------------------------------------------------------------------------- - -if [ $# -lt 1 ]; then - echo; echo "$0: ERROR - Missing build setup file argument" >&2 - usage - exit 19 -fi - -#----------------------------------------------------------------------------- -# Source the build setup -#----------------------------------------------------------------------------- - -SETUP_FILE="../../config-setup/$1" -if [ ! -f ${SETUP_FILE} ]; then - echo; echo "$0: ERROR - Cannot find specified setup file ${SETUP_FILE}" >&2 - usage - exit 9 -fi -. ${SETUP_FILE} - -#----------------------------------------------------------------------------- -# The unit tests depend on the NCEP SP library. Its path/name is set thru -# environment variables. On Theia and WCOSS-Phase 1/2/3, the Intel -# version of SP is found thru modules. On other machines, or when using -# a compiler other than Intel, the environment variables must be set -# manually. -#----------------------------------------------------------------------------- - -if [[ "$(hostname -f)" == tfe?? ]]; then # Theia - case $FC in - ifort) - module purge - module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles - module load intel/15.6.233 - module load sp ;; - esac -elif [[ "$(hostname -f)" == g????.ncep.noaa.gov || \ - "$(hostname -f)" == t????.ncep.noaa.gov ]]; then #WCOSS Phase 1/2 - case $FC in - ifort) - module purge - module load ics/15.0.6 - module load sp ;; - esac -elif [[ "$(hostname -f)" == v????.ncep.noaa.gov || \ - "$(hostname -f)" == m????.ncep.noaa.gov ]]; then #WCOSS Phase 3/Dell - case $FC in - ifort) - module purge - module load EnvVars/1.0.2 - module load ips/18.0.1.163 - module load sp/2.0.2 ;; - esac -elif [[ "$(hostname -f)" == slogin? || \ - "$(hostname -f)" == llogin? ]]; then #WCOSS-Cray. - echo; echo "$0: ERROR - Cant use this script on WCOSS-Cray." >&2 - usage - exit 17 -fi - -#----------------------------------------------------------------------------- -# Stop scripts if library environment variables are undefined. -#----------------------------------------------------------------------------- - -SP_LIB4=${SP_LIB4:?} -SP_LIB8=${SP_LIB8:?} -SP_LIBd=${SP_LIBd:?} # Mixed precision libraries - -#----------------------------------------------------------------------------- -# Set some parameters. -#----------------------------------------------------------------------------- - -MAKE="gmake" - -root="$PWD/.." - -#----------------------------------------------------------------------------- -# Make unit test executables for all three precision versions of IP2LIB. -#----------------------------------------------------------------------------- - -for PRECISION in 4 8 d; do # single ("4"), double ("8") or mixed ("d") precison IP2LIB - - case $PRECISION in - 4) SP_LIB=$SP_LIB4 ;; - 8) SP_LIB=$SP_LIB8 ;; - d) SP_LIB=$SP_LIBd ;; - esac - - ./configure --prefix=${root} --enable-promote=${PRECISION} \ - FC="${FC}" FCFLAGS="${FCFLAGS} -I${root}/lib/incmod_${PRECISION}" \ - LIBS="${root}/lib/libip2_${PRECISION}.a ${SP_LIB}" - if [ $? -ne 0 ]; then - set +x - echo "$0: Error configuring for ${PRECISION}-byte build." >&2 - exit 2 - fi - - $MAKE clean - $MAKE all - if [ $? -ne 0 ]; then - set +x - echo "$0: Error building ${PRECISION}-byte." >&2 - exit 3 - fi - - $MAKE install - if [ $? -ne 0 ]; then - set +x - echo "$0: Error installing ${PRECISION}-byte." >&2 - exit 4 - fi - - mv config.log config_${PRECISION}.log - -done # library precision - -echo DONE diff --git a/tests/unit_test/sorc/make_unit_test_wcoss-cray.ksh b/tests/unit_test/sorc/make_unit_test_wcoss-cray.ksh deleted file mode 100755 index 99676b2..0000000 --- a/tests/unit_test/sorc/make_unit_test_wcoss-cray.ksh +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/ksh - -#----------------------------------------------------------------------------- -# This script compiles the ip2lib unit test programs on the WCOSS-Cray -# system ONLY. On all other machines, use "make_unit_test.ksh". -# -# PLEASE READ THE "README" FILE IN THIS DIRECTORY FOR DETAILS ON HOW -# TO RUN THIS SCRIPT. -#----------------------------------------------------------------------------- - -usage() -{ - echo; echo "Usage: $0 setup-file" >&2 - echo; echo "Use this script on WCOSS-Cray only." - echo; echo "Currently available setup files are:" - echo - for file in `ls ../../config-setup/crayftn* ` `ls ../../config-setup/ifort* ` \ - `ls ../../config-setup/gfortran* ` ; do - echo "`basename ${file}`" >&2 - done - echo -} - -#set -x - -#----------------------------------------------------------------------------- -# Script requires one argument - the name of the build setup file. -#----------------------------------------------------------------------------- - -if [ $# -lt 1 ]; then - echo; echo "$0: ERROR - Missing build setup file argument" >&2 - usage - exit 19 -fi - -#----------------------------------------------------------------------------- -# Source the build setup -#----------------------------------------------------------------------------- - -SETUP_FILE="../../config-setup/$1" -if [ ! -f ${SETUP_FILE} ]; then - echo; echo "$0: ERROR - Cannot find specified setup file ${SETUP_FILE}" >&2 - usage - exit 9 -fi -. ${SETUP_FILE} - -#----------------------------------------------------------------------------- -# The unit tests depend on the NCEP SP library. The Intel and Cray -# compiled versions of SP are found via modules. Otherwise, these -# environment variables must be set manually. -#----------------------------------------------------------------------------- - -if [[ "$(hostname)" == slogin? || "$(hostname)" == llogin? ]]; then # WCOSS Cray ]] - . /opt/modules/3.2.6.7/init/ksh - module purge - case $FC in - ifort) - FC="ftn" - R8FLAG="-r8" - I8FLAG="-i8" - FCFLAGS="${FCFLAGS} -axCore-AVX2" # add for haswell. - module load PrgEnv-intel - module load craype-sandybridge - module load sp-intel/2.0.2 ;; - crayftn) - FC="ftn" - R8FLAG="-s real64" - I8FLAG="-s integer64" - module load PrgEnv-cray - module load craype-haswell - module load sp-cray-haswell/2.0.2 ;; - gfortran) - FC="ftn" - R8FLAG="-fdefault-real-8" - I8FLAG="-fdefault-integer-8" - module load PrgEnv-gnu - module load craype-haswell ;; - esac -else - echo; echo "$0: ERROR - Script can only be used on WCOSS-Cray" >&2 - usage - exit 13 -fi - -#----------------------------------------------------------------------------- -# Stop scripts if library environment variables are undefined. -#----------------------------------------------------------------------------- - -SP_LIB4=${SP_LIB4:?} -SP_LIB8=${SP_LIB8:?} -SP_LIBd=${SP_LIBd:?} # Mixed precision libraries - -#----------------------------------------------------------------------------- -# Set some parameters. -#----------------------------------------------------------------------------- - -MAKE="gmake" - -root="$PWD/.." - -#----------------------------------------------------------------------------- -# Make unit test executables for all three precision versions of IP2LIB. -#----------------------------------------------------------------------------- - -for PRECISION in 4 8 d; do # single ("4"), double ("8") or mixed ("d") precison IP2LIB - - case $PRECISION in - 4) SP_LIB=$SP_LIB4 - FCFLAGS_ALL="${FCFLAGS}" ;; - 8) SP_LIB=$SP_LIB8 - FCFLAGS_ALL="${FCFLAGS} ${R8FLAG} ${I8FLAG}" ;; - d) SP_LIB=$SP_LIBd - FCFLAGS_ALL="${FCFLAGS} ${R8FLAG}" ;; - esac - - ./configure --prefix=${root} --enable-promote=${PRECISION} \ - FC="${FC}" FCFLAGS="${FCFLAGS_ALL} -I${root}/lib/incmod_${PRECISION}" \ - LIBS="${root}/lib/libip2_${PRECISION}.a ${SP_LIB}" - if [ $? -ne 0 ]; then - set +x - echo "$0: Error configuring for ${PRECISION}-byte build." >&2 - exit 2 - fi - - $MAKE clean - $MAKE all - if [ $? -ne 0 ]; then - set +x - echo "$0: Error building ${PRECISION}-byte." >&2 - exit 3 - fi - - $MAKE install - if [ $? -ne 0 ]; then - set +x - echo "$0: Error installing ${PRECISION}-byte." >&2 - exit 4 - fi - - mv config.log config_${PRECISION}.log - -done # library precision - -echo DONE diff --git a/tests/unit_test/sorc/scalar/Makefile.in b/tests/unit_test/sorc/scalar/Makefile.in deleted file mode 100644 index 0421b0f..0000000 --- a/tests/unit_test/sorc/scalar/Makefile.in +++ /dev/null @@ -1,59 +0,0 @@ -# @configure_input@ - -# sorc/ level makefile template - -# Package-specific substitution variables -package = @PACKAGE_NAME@ -version = @PACKAGE_VERSION@ -suffix = @SUFFIX@ - -# Prefix-specific substitution variables -prefix = @prefix@ - -# Mixed package and prefix substitution variables -installdir = $(prefix)/exec - -# Compiler substitution variables -FC = @FC@ -FCFLAGS = @FCFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ - -# The file definitions. This include must occur before targets. -include make.filelist - -# The targets -all: exec - -exec: $(OBJ_FILES) - $(FC) $(EXTRA_FCFLAGS) $(FCFLAGS) -o scalar.exe $(OBJ_FILES) $(LDFLAGS) $(LIBS) - -clean: - -rm -f *.o *.mod *.exe - -uninstall: - -rm -f $(DESTDIR)$(installdir)/scalar*.exe - -distclean: clean uninstall - -rm -f Makefile config*log - -install: - $(INSTALL) -d $(DESTDIR)$(installdir) - $(INSTALL_PROGRAM) scalar.exe $(DESTDIR)$(installdir)/scalar$(suffix).exe - -Makefile: Makefile.in ../config.status - cd .. && ./config.status scalar/$@ - -../config.status: ../configure - cd .. && ./config.status --recheck - -# Specify targets that do not generate filesystem objects -.PHONY: all clean distclean install uninstall - -# File dependency and suffix rule include files -include make.dependencies -include make.rules diff --git a/tests/unit_test/sorc/scalar/driver.f90 b/tests/unit_test/sorc/scalar/driver.f90 deleted file mode 100644 index f1ad298..0000000 --- a/tests/unit_test/sorc/scalar/driver.f90 +++ /dev/null @@ -1,31 +0,0 @@ - program driver - -!----------------------------------------------------------------- -! Interpolate a global lat/lon grid of scalars to several -! grids of various projections using all ipolates -! interpolation options. -!----------------------------------------------------------------- - - use omp_lib - use get_input_data - - implicit none - - integer :: nthreads, myid - -!$omp parallel private (nthreads, myid) - myid = omp_get_thread_num() - if (myid == 0) then - nthreads = omp_get_num_threads() - print*,"- RUNNING WITH ", nthreads, " THREADS." - endif -!$omp end parallel - - call read_input_data - - call interp - -!print*,"- NORMAL TERMINATION" - - stop - end program driver diff --git a/tests/unit_test/sorc/scalar/get_input_data.f90 b/tests/unit_test/sorc/scalar/get_input_data.f90 deleted file mode 100644 index abb9430..0000000 --- a/tests/unit_test/sorc/scalar/get_input_data.f90 +++ /dev/null @@ -1,64 +0,0 @@ - module get_input_data - -!------------------------------------------------------------------------ -! Read the data that will be interpolated. Data is a global one-degree -! grid of albedo with no bitmap. -!------------------------------------------------------------------------ - - integer, parameter, public :: i_input = 360 - integer, parameter, public :: j_input = 180 - - integer, parameter, public :: input_gdtnum=0 - integer, parameter, public :: input_gdtlen=19 - integer, public :: input_gdtmpl(input_gdtlen) - - logical*1, public :: input_bitmap(i_input,j_input) - - real, public :: input_data(i_input,j_input) - - integer, parameter :: missing=b'11111111111111111111111111111111' - - data input_gdtmpl /6, 255, missing, 255, missing, 255, missing, & - 360, 180, 0, missing, -89500000, -180000000, & - 48, 89500000, 179000000, 1000000, 1000000, 64/ - - contains - - subroutine read_input_data - - implicit none - - character*100 :: input_file - - integer :: iret - integer, parameter :: iunit=9 - - real(kind=4) :: dummy(i_input,j_input) - - input_file="./fort.9" -!print*,"- OPEN AND READ FILE ", trim(input_file) - open(iunit, file=input_file, access='direct', recl=i_input*j_input*4, & - iostat=iret) - - if (iret /= 0) then - print*,'- BAD OPEN OF FILE, IRET IS ', iret - stop 2 - end if - - read(iunit, rec=1, iostat=iret) dummy - input_data=dummy - - if (iret /= 0) then - print*,"- BAD READ OF DATA. IRET IS ", iret - stop 4 - end if - - close (iunit) - - input_bitmap=.true. - - return - - end subroutine read_input_data - - end module get_input_data diff --git a/tests/unit_test/sorc/scalar/interp.f90 b/tests/unit_test/sorc/scalar/interp.f90 deleted file mode 100644 index d779d07..0000000 --- a/tests/unit_test/sorc/scalar/interp.f90 +++ /dev/null @@ -1,289 +0,0 @@ - subroutine interp - -!------------------------------------------------------------------------- -! Call the scalar polates routines to interpolate the input data -! using all available interpolation methods (neighbor, bilinear, etc.) -! several output grids of various map projections are tested. -! -! The routine reads in two arguments from stnd input. The first is -! the grid to which you want to interpolate the data. -! The valid choices are: -! -! 3 - one-degree global lat/lon (ncep grid 3) -! 8 - mercator (ncep grid 8) -! 127 - t254 gaussian (ncep grid 127) -! 203 - rotated lat/lon e-staggered (number refers to the old -! grib 1 gds octet 6) -! 205 - rotated lat/lon b-staggered (number refers to the old -! gds octet 6) -! 212 - nh polar stereographic, spherical earth (number meaningless) -! 218 - lambert conformal (ncep grid 218) -! -! The second argument is the interpolation option. The valid choices: -! -! 0 - bilinear -! 1 - bicubic -! 2 - neighbor -! 3 - budget -! 4 - spectral -! 6 - budget-neighbor -! -! The interpolated data is compared against a baseline binary -! file. Any differences are written to standard output. -!------------------------------------------------------------------------- - - use get_input_data, only : input_data, & - input_gdtnum, & - input_gdtlen, & - input_gdtmpl, & - input_bitmap, & - i_input, j_input - - implicit none - - character*1 :: interp_opt - character*3 :: grid - character*100 :: baseline_file - - integer(kind=4) :: i1 - integer, allocatable :: output_gdtmpl(:) - integer :: ip, ipopt(20), output_gdtlen, output_gdtnum - integer :: km, ibi, mi, iret, i, j - integer :: i_output, j_output, mo, no, ibo - integer :: num_pts_diff - integer , parameter :: missing=b'11111111111111111111111111111111' - - logical*1, allocatable :: output_bitmap(:,:) - - real, allocatable :: output_rlat(:,:), output_rlon(:,:) - real, allocatable :: output_data(:,:) - real(kind=4), allocatable :: baseline_data(:,:) - real :: avgdiff, maxdiff - real(kind=4) :: output_data4 - - integer, parameter :: gdtlen3 = 19 ! ncep grid3; one-degree lat/lon - integer :: gdtmpl3(gdtlen3) - data gdtmpl3 / 6, 255, missing, 255, missing, 255, missing, 360, 181, 0, missing, & - 90000000, 0, 56, -90000000, 359000000, 1000000, 1000000, 0 / - - integer, parameter :: gdtlen8 = 19 ! ncep grid8; mercator - integer :: gdtmpl8(gdtlen8) - data gdtmpl8 / 6, 255, missing, 255, missing, 255, missing, 116, 44, & - -48670000, 3104000, 56, 22500000, 61050000, 0, 64, 0, & - 318830000, 318830000/ - - integer, parameter :: gdtlen127=19 ! t254 gaussain - integer :: gdtmpl127(gdtlen127) - data gdtmpl127 /6, 255, missing, 255, missing, 255, missing, 768, 384, & - 0, missing, 89642000, 0, 48, -89642000, 359531000, & - 469000, 192, 0/ - - integer, parameter :: gdtlen203=22 ! 12km eta, h pts - integer :: gdtmpl203(gdtlen203) - data gdtmpl203/6, 255, missing, 255, missing, 255, missing, 669, 1165, & - 0, missing, -45000000, 300000000, 56, 45000000, 60000000, & - 179641, 77320, 68, -36000000, 254000000, 0 / - - integer, parameter :: gdtlen205=22 ! 12km nam, h pts - integer :: gdtmpl205(gdtlen205) - data gdtmpl205/6, 255, missing, 255, missing, 255, missing, 954, 835, & - 0, missing, -45036000, 299961000, 56, 45036000, 60039000, & - 126000, 108000, 64, -36000000, 254000000, 0 / - - integer, parameter :: gdtlen212=18 ! nh polar, spherical earth - integer :: gdtmpl212(gdtlen212) - data gdtmpl212 /6, 255, missing, 255, missing, 255, missing, 512, 512, & - -20826000, 145000000, 56, 60000000, 280000000, 47625000, 47625000, & - 0, 0/ - - integer, parameter :: gdtlen218 = 22 ! ncep grid 218; lambert conf - integer :: gdtmpl218(gdtlen218) - data gdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, & - 12190000, 226541000, 56, 25000000, 265000000, & - 12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/ - - i1=1 - call getarg(i1, grid) - i1=2 - call getarg(i1, interp_opt) - - select case (trim(grid)) - case ('3') - output_gdtnum = 0 - output_gdtlen = gdtlen3 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl3 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('8') - output_gdtnum = 10 - output_gdtlen = gdtlen8 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl8 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('127') - output_gdtnum = 40 - output_gdtlen = gdtlen127 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl127 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('203') - output_gdtnum = 1 - output_gdtlen = gdtlen203 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl203 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('205') - output_gdtnum = 1 - output_gdtlen = gdtlen205 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl205 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('212') - output_gdtnum = 20 - output_gdtlen = gdtlen212 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl212 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('218') - output_gdtnum = 30 - output_gdtlen = gdtlen218 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl218 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case default - print*,"ERROR: ENTER VALID GRID NUMBER." - stop 55 - end select - print*,"- CALL IPOLATES FOR GRID: ", grid - - select case (interp_opt) -! bi-linear - case ('0') - ip = 0 - ipopt = 0 - ibi = 0 ! no bitmap -! bi-cubic - case ('1') - ip = 1 - ipopt = 0 - ibi = 0 ! no bitmap -! neighbor - case ('2') - ip = 2 - ipopt = 0 - ibi = 0 ! no bitmap -! budget - case ('3') - ip = 3 - ipopt = -1 - ibi = 0 ! no bitmap -! spectral - case ('4') - ip = 4 - ipopt(1) = 0 ! triangular - ipopt(2) = -1 ! code chooses wave number - ipopt(3:20)=0 - ibi = 0 ! can't use bitmap with spectral -! neighbor-budget - case ('6') - ip = 6 - ipopt = -1 - ibi = 0 ! no bitmap - case default - print*,"ERROR: ENTER VALID INTERP OPTION." - stop 56 - end select - print*,"- USE INTERP OPTION: ", interp_opt - - km = 1 ! number of fields to interpolate - mi = i_input * j_input ! dimension of input grids - - mo = i_output * j_output - - allocate (output_rlat(i_output,j_output)) - allocate (output_rlon(i_output,j_output)) - allocate (output_data(i_output,j_output)) - allocate (output_bitmap(i_output,j_output)) - - call ipolates(ip, ipopt, input_gdtnum, input_gdtmpl, input_gdtlen, & - output_gdtnum, output_gdtmpl, output_gdtlen, & - mi, mo, km, ibi, input_bitmap, input_data, & - no, output_rlat, output_rlon, ibo, output_bitmap, output_data, iret) - - deallocate (output_gdtmpl) - - if (iret /= 0) then - print*,'- BAD STATUS FROM IPOLATES: ', iret - stop 6 - end if - - if (no /= mo) then - print*,'- ERROR: WRONG # OF POINTS RETURNED FROM IPOLATES' - stop 7 - end if - -!print*,'- SUCCESSFULL CALL TO IPOLATES' - - do j = 1, j_output - do i = 1, i_output - if (.not. output_bitmap(i,j)) then - output_data(i,j) = -9. - endif - enddo - enddo - - allocate (baseline_data(i_output,j_output)) - - if (kind(output_data) == 8) then - baseline_file = "../baseline_data/scalar/8_byte_bin/grid" // trim(grid) // ".opt" // interp_opt // ".bin_8" - else - baseline_file = "../baseline_data/scalar/4_byte_bin/grid" // trim(grid) // ".opt" // interp_opt // ".bin_4" - endif - - open (12, file=baseline_file, access="direct", err=38, recl=mo*4) - read (12, err=38, rec=1) baseline_data - close (12) - - avgdiff=0.0 - maxdiff=0.0 - num_pts_diff=0 - - do j = 1, j_output - do i = 1, i_output - output_data4 = real(output_data(i,j),4) - if ( abs(output_data4 - baseline_data(i,j)) > 0.0001) then - avgdiff = avgdiff + abs(output_data4-baseline_data(i,j)) - num_pts_diff = num_pts_diff + 1 - if (abs(output_data4-baseline_data(i,j)) > abs(maxdiff))then - maxdiff = output_data4-baseline_data(i,j) - endif - endif - enddo - enddo - - print*,'- MAX/MIN OF DATA: ', maxval(output_data),minval(output_data) - print*,'- NUMBER OF PTS DIFFERENT: ',num_pts_diff - print*,'- PERCENT OF TOTAL: ',(float(num_pts_diff)/float(i_output*j_output))*100. - print*,'- MAX DIFFERENCE: ', maxdiff - if (num_pts_diff > 0) then - avgdiff = avgdiff / float(num_pts_diff) - endif - print*,'- AVG DIFFERENCE: ', avgdiff - - deallocate (output_rlat, output_rlon, output_data, output_bitmap, baseline_data) - - return - - 38 continue - - print*,'-ERROR READING BASELINE DATA FILE FILE.' - stop 77 - - end subroutine interp diff --git a/tests/unit_test/sorc/scalar/make.dependencies b/tests/unit_test/sorc/scalar/make.dependencies deleted file mode 100644 index 9c287d5..0000000 --- a/tests/unit_test/sorc/scalar/make.dependencies +++ /dev/null @@ -1,3 +0,0 @@ - interp.o : get_input_data.o interp.f90 - driver.o : get_input_data.o interp.o driver.f90 - get_input_data.o : get_input_data.f90 diff --git a/tests/unit_test/sorc/scalar/make.filelist b/tests/unit_test/sorc/scalar/make.filelist deleted file mode 100644 index 1ab5e67..0000000 --- a/tests/unit_test/sorc/scalar/make.filelist +++ /dev/null @@ -1,13 +0,0 @@ -# The list of files that need preprocessing -FPP_FILES = - -# The list of regular source files -FSRC_FILES = get_input_data.f90 driver.f90 interp.f90 - -# The complete list of source files -SRC_FILES = $(FSRC_FILES) \ - $(FPP_FILES) - -# The list of object files -OBJ_FILES = ${FSRC_FILES:.f90=.o} \ - ${FPP_FILES:.F90=.o} diff --git a/tests/unit_test/sorc/scalar/make.rules b/tests/unit_test/sorc/scalar/make.rules deleted file mode 100644 index 59d6949..0000000 --- a/tests/unit_test/sorc/scalar/make.rules +++ /dev/null @@ -1,5 +0,0 @@ -# Suffix rules -.SUFFIXES: -.SUFFIXES: .f90 .o -.f90.o: - $(FC) $(EXTRA_FCFLAGS) $(FCFLAGS) -c $< diff --git a/tests/unit_test/sorc/vector/Makefile.in b/tests/unit_test/sorc/vector/Makefile.in deleted file mode 100644 index a12c7b9..0000000 --- a/tests/unit_test/sorc/vector/Makefile.in +++ /dev/null @@ -1,59 +0,0 @@ -# @configure_input@ - -# sorc/ level makefile template - -# Package-specific substitution variables -package = @PACKAGE_NAME@ -version = @PACKAGE_VERSION@ -suffix = @SUFFIX@ - -# Prefix-specific substitution variables -prefix = @prefix@ - -# Mixed package and prefix substitution variables -installdir = $(prefix)/exec - -# Compiler substitution variables -FC = @FC@ -FCFLAGS = @FCFLAGS@ -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ - -# The file definitions. This include must occur before targets. -include make.filelist - -# The targets -all: exec - -exec: $(OBJ_FILES) - $(FC) $(EXTRA_FCFLAGS) $(FCFLAGS) -o vector.exe $(OBJ_FILES) $(LDFLAGS) $(LIBS) - -clean: - -rm -f *.o *.mod *.exe - -uninstall: - -rm -f $(DESTDIR)$(installdir)/vector*.exe - -distclean: clean uninstall - -rm -f Makefile config*log - -install: - $(INSTALL) -d $(DESTDIR)$(installdir) - $(INSTALL_PROGRAM) vector.exe $(DESTDIR)$(installdir)/vector$(suffix).exe - -Makefile: Makefile.in ../config.status - cd .. && ./config.status vector/$@ - -../config.status: ../configure - cd .. && ./config.status --recheck - -# Specify targets that do not generate filesystem objects -.PHONY: all clean distclean install uninstall - -# File dependency and suffix rule include files -include make.dependencies -include make.rules diff --git a/tests/unit_test/sorc/vector/driver.f90 b/tests/unit_test/sorc/vector/driver.f90 deleted file mode 100644 index b26d1c4..0000000 --- a/tests/unit_test/sorc/vector/driver.f90 +++ /dev/null @@ -1,31 +0,0 @@ - program driver - -!----------------------------------------------------------------------- -! Interpolate a global lat/lon grid of vector wind to several -! grids of various projections using all ipolatev -! interpolation options. -!----------------------------------------------------------------------- - - use omp_lib - use get_input_data - - implicit none - - integer :: nthreads, myid - -!$omp parallel private (nthreads, myid) - myid = omp_get_thread_num() - if (myid == 0) then - nthreads = omp_get_num_threads() - print*,"- RUNNING WITH ", nthreads, " THREADS." - endif -!$omp end parallel - - call input_data - - call interp - -!print*,"- NORMAL TERMINATION" - - stop - end program driver diff --git a/tests/unit_test/sorc/vector/get_input_data.f90 b/tests/unit_test/sorc/vector/get_input_data.f90 deleted file mode 100644 index 575b7aa..0000000 --- a/tests/unit_test/sorc/vector/get_input_data.f90 +++ /dev/null @@ -1,88 +0,0 @@ - module get_input_data - -!------------------------------------------------------------------------ -! Read the data that will be interpolated. Data is a global one-degree -! grid of 500 mb u and v-component winds. There is no bitmap. -! The data file is flat binary (little endian). -!------------------------------------------------------------------------ - - integer, parameter, public :: input_gdtnum=0 - integer, parameter, public :: input_gdtlen=19 - integer, public :: input_gdtmpl(input_gdtlen) - - integer, public :: i_input, j_input - - logical*1, allocatable, public :: input_bitmap(:,:) - - real, allocatable, public :: input_u_data(:,:) - real, allocatable, public :: input_v_data(:,:) - - integer, parameter :: missing=b'11111111111111111111111111111111' - - data input_gdtmpl /6, 255, missing, 255, missing, 255, missing, & - 360, 181, 0, missing, 90000000, 0, & - 48, -90000000, 359000000, 1000000, 1000000, 0/ - - contains - - subroutine input_data - - implicit none - - character*100 :: input_file - - integer :: iret - integer, parameter :: iunit=9 - - real(kind=4), allocatable :: dummy(:,:) - - i_input = input_gdtmpl(8) - j_input = input_gdtmpl(9) - - input_file="./fort.9" -!print*,"- OPEN AND READ FILE ", trim(input_file) - open(iunit, file=input_file, access='direct', recl=i_input*j_input*4, iostat=iret) - - if (iret /= 0) then - print*,'- BAD OPEN OF INPUT DATA FILE, IRET IS ', iret - stop 2 - end if - - allocate(dummy(i_input,j_input)) - - read(iunit, rec=1, iostat=iret) dummy - - if (iret /= 0) then - print*,"- BAD READ OF INPUT U-WIND DATA. IRET IS ", iret - stop 4 - endif - - allocate(input_u_data(i_input,j_input)) - input_u_data=dummy - - read(iunit, rec=2, iostat=iret) dummy - - if (iret /= 0) then - print*,"- BAD READ OF INPUT V-WIND DATA. IRET IS ", iret - stop 4 - end if - - allocate(input_v_data(i_input,j_input)) - input_v_data=dummy - - close (iunit) - - deallocate(dummy) - - allocate(input_bitmap(i_input,j_input)) - input_bitmap=.true. - -! impose pure north wind -!input_u_data=0. -!input_v_data=-1. - - return - - end subroutine input_data - - end module get_input_data diff --git a/tests/unit_test/sorc/vector/interp.f90 b/tests/unit_test/sorc/vector/interp.f90 deleted file mode 100644 index 7578bdc..0000000 --- a/tests/unit_test/sorc/vector/interp.f90 +++ /dev/null @@ -1,334 +0,0 @@ - subroutine interp - -!------------------------------------------------------------------------- -! Call the vector polates routines to interpolate the input data -! using all available interpolation methods (neighbor, bilinear, etc.) -! several output grids of various map projections are tested. -! -! The routine reads in two arguments from stnd input. The first is -! the grid to which you want to interpolate the data. -! The valid choices are: -! -! 3 - one-degree global lat/lon (ncep grid 3) -! 8 - mercator (ncep grid 8) -! 127 - t254 gaussian (ncep grid 127) -! 203 - rotated lat/lon e-staggered (number refers to the old -! gds octet 6) -! 205 - rotated lat/lon b-staggered (number refers to the old -! gds octet 6) -! 212 - nh polar stereographic, spherical earth (number meaningless) -! 218 - lambert conformal (ncep grid 218) -! -! The second argument is the interpolation option. The valid choices: -! -! 0 - bilinear -! 1 - bicubic -! 2 - neighbor -! 3 - budget -! 4 - spectral -! 6 - budget-neighbor -! -! The interpolated data is compared to a baseline set of data. -! Differences are printed to standard output. -!------------------------------------------------------------------------- - - use get_input_data, only : input_u_data, input_v_data, & - input_gdtmpl, & - input_gdtlen, & - input_gdtnum, & - input_bitmap, & - i_input, j_input - - implicit none - - character*100 :: baseline_file - character*1 :: interp_opt - character*3 :: grid - - integer, allocatable :: output_gdtmpl(:) - integer(kind=4) :: i1 - integer :: ip, ipopt(20), output_gdtlen, output_gdtnum - integer :: km, ibi, mi, iret, i, j - integer :: i_output, j_output, mo, no, ibo - integer :: num_upts_diff, num_vpts_diff - integer , parameter :: missing=b'11111111111111111111111111111111' - - logical*1, allocatable :: output_bitmap(:,:) - - real, allocatable :: output_rlat(:,:), output_rlon(:,:) - real, allocatable :: output_crot(:,:), output_srot(:,:) - real, allocatable :: output_u_data(:,:), output_v_data(:,:) - real :: avg_u_diff, avg_v_diff - real :: max_u_diff, max_v_diff - real(kind=4) :: output_data4 - real(kind=4), allocatable :: baseline_u_data(:,:) - real(kind=4), allocatable :: baseline_v_data(:,:) - - integer, parameter :: gdtlen3 = 19 ! ncep grid3; one-degree lat/lon - integer :: gdtmpl3(gdtlen3) - data gdtmpl3 / 6, 255, missing, 255, missing, 255, missing, 360, 181, 0, missing, & - 90000000, 0, 56, -90000000, 359000000, 1000000, 1000000, 0 / - - integer, parameter :: gdtlen8 = 19 ! ncep grid8; mercator - integer :: gdtmpl8(gdtlen8) - data gdtmpl8 / 6, 255, missing, 255, missing, 255, missing, 116, 44, & - -48670000, 3104000, 56, 22500000, 61050000, 0, 64, 0, & - 318830000, 318830000/ - - integer, parameter :: gdtlen127=19 ! t254 gaussain - integer :: gdtmpl127(gdtlen127) - data gdtmpl127 /6, 255, missing, 255, missing, 255, missing, 768, 384, & - 0, missing, 89642000, 0, 48, -89642000, 359531000, & - 469000, 192, 0/ - - integer, parameter :: gdtlen203=22 ! 12km eta, v pts - integer :: gdtmpl203(gdtlen203) - data gdtmpl203/6, 255, missing, 255, missing, 255, missing, 669, 1165, & - 0, missing, -45000000, 300000000, 56, 45000000, 60000000, & - 179641, 77320, 72, -36000000, 254000000, 0 / - - integer, parameter :: gdtlen205=22 ! 12km nam, h pts - integer :: gdtmpl205(gdtlen205) - data gdtmpl205/6, 255, missing, 255, missing, 255, missing, 954, 835, & - 0, missing, -45036000, 299961000, 56, 45036000, 60039000, & - 126000, 108000, 64, -36000000, 254000000, 0 / - - integer, parameter :: gdtlen212=18 ! nh polar, spherical earth - integer :: gdtmpl212(gdtlen212) - data gdtmpl212 /6, 255, missing, 255, missing, 255, missing, 512, 512, & - -20826000, 145000000, 56, 60000000, 280000000, 47625000, 47625000, & - 0, 0/ - - integer, parameter :: gdtlen218 = 22 ! ncep grid 218; lambert conf - integer :: gdtmpl218(gdtlen218) - data gdtmpl218 / 6, 255, missing, 255, missing, 255, missing, 614, 428, & - 12190000, 226541000, 56, 25000000, 265000000, & - 12191000, 12191000, 0, 64, 25000000, 25000000, -90000000, 0/ - - i1=1 - call getarg(i1, grid) - i1=2 - call getarg(i1, interp_opt) - - select case (trim(grid)) - case ('3') - output_gdtnum = 0 - output_gdtlen = gdtlen3 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl3 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('8') - output_gdtnum = 10 - output_gdtlen = gdtlen8 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl8 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('127') - output_gdtnum = 40 - output_gdtlen = gdtlen127 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl127 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('203') - output_gdtnum = 1 - output_gdtlen = gdtlen203 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl203 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('205') - output_gdtnum = 1 - output_gdtlen = gdtlen205 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl205 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('212') - output_gdtnum = 20 - output_gdtlen = gdtlen212 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl212 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case ('218') - output_gdtnum = 30 - output_gdtlen = gdtlen218 - allocate(output_gdtmpl(output_gdtlen)) - output_gdtmpl=gdtmpl218 - i_output = output_gdtmpl(8) - j_output = output_gdtmpl(9) - case default - print*,"ERROR: ENTER VALID GRID NUMBER." - stop 55 - end select - print*,"- CALL IPOLATEV FOR GRID: ", grid - - select case (interp_opt) -! bi-linear - case ('0') - ip = 0 - ipopt = 0 - ibi = 0 ! no bitmap -! bi-cubic - case ('1') - ip = 1 - ipopt = 0 - ibi = 0 ! no bitmap -! neighbor - case ('2') - ip = 2 - ipopt = 0 - ibi = 0 ! no bitmap -! budget - case ('3') - ip = 3 - ipopt = -1 - ibi = 0 ! no bitmap -! spectral - case ('4') - ip = 4 - ipopt(1) = 0 ! triangular - ipopt(2) = -1 ! code chooses wave number - ipopt(3:20)=0 - ibi = 0 ! no bitmap -! neighbor-budget - case ('6') - ip = 6 - ipopt = -1 - ibi = 0 ! no bitmap - case default - print*,"ERROR: ENTER VALID INTERP OPTION." - stop 56 - end select - print*,"- USE INTERP OPTION: ", interp_opt - - km = 1 ! number of fields to interpolate - mi = i_input * j_input ! dimension of input grids - - mo = i_output * j_output - - allocate (output_rlat(i_output,j_output)) - allocate (output_rlon(i_output,j_output)) - allocate (output_u_data(i_output,j_output)) - allocate (output_v_data(i_output,j_output)) - allocate (output_bitmap(i_output,j_output)) - allocate (output_srot(i_output,j_output)) - allocate (output_crot(i_output,j_output)) - - call ipolatev(ip, ipopt, input_gdtnum, input_gdtmpl, input_gdtlen, & - output_gdtnum, output_gdtmpl, output_gdtlen, mi, mo, & - km, ibi, input_bitmap, input_u_data, input_v_data, & - no, output_rlat, output_rlon, output_crot, output_srot, & - ibo, output_bitmap, output_u_data, output_v_data, iret) - - deallocate(input_bitmap, input_u_data, input_v_data, output_gdtmpl) - - if (iret /= 0) then - print*,'- BAD STATUS FROM IPOLATEV: ', iret - stop 6 - end if - - if (no /= mo) then - print*,'- ERROR: WRONG # OF POINTS RETURNED FROM IPOLATEV' - stop 7 - end if - -!print*,'- SUCCESSFULL CALL TO IPOLATEV' - -!------------------------------------------------------------------------- -! polatev4 does not always initialize the ibo or output_bitmap variables, -! so they can't be used. this should be fixed. -! according to the comments, polatev4 only outputs a bitmap in areas -! that extend outside the domain of the input grid. -!------------------------------------------------------------------------- - - if (ip /= 4) then - do j = 1, j_output - do i = 1, i_output - if (.not. output_bitmap(i,j)) then - output_u_data(i,j) = -9999. - output_v_data(i,j) = -9999. - endif - enddo - enddo - endif - -!------------------------------------------------------------------------- -! Compared data from ipolatev to its corresponding baseline -! data. -!------------------------------------------------------------------------- - - if (kind(output_u_data) == 8) then - baseline_file = "../baseline_data/vector/8_byte_bin/grid" // trim(grid) // ".opt" // interp_opt // ".bin_8" - else - baseline_file = "../baseline_data/vector/4_byte_bin/grid" // trim(grid) // ".opt" // interp_opt // ".bin_4" - endif - - allocate (baseline_u_data(i_output,j_output)) - allocate (baseline_v_data(i_output,j_output)) - - open (12, file=baseline_file, access="direct", err=38, recl=mo*4) - read (12, err=38, rec=1) baseline_u_data - read (12, err=38, rec=2) baseline_v_data - close (12) - - avg_u_diff=0.0 - max_u_diff=0.0 - num_upts_diff=0 - avg_v_diff=0.0 - max_v_diff=0.0 - num_vpts_diff=0 - - do j = 1, j_output - do i = 1, i_output - output_data4 = real(output_u_data(i,j),4) - if (abs(output_data4 - baseline_u_data(i,j)) > 0.0001) then - avg_u_diff = avg_u_diff + abs(output_data4-baseline_u_data(i,j)) - num_upts_diff = num_upts_diff + 1 - if (abs(output_data4-baseline_u_data(i,j)) > abs(max_u_diff))then - max_u_diff = output_data4-baseline_u_data(i,j) - endif - endif - output_data4 = real(output_v_data(i,j),4) - if (abs(output_data4 - baseline_v_data(i,j)) > 0.0001) then - avg_v_diff = avg_v_diff + abs(output_data4-baseline_v_data(i,j)) - num_vpts_diff = num_vpts_diff + 1 - if (abs(output_data4-baseline_v_data(i,j)) > abs(max_v_diff))then - max_v_diff = output_data4-baseline_v_data(i,j) - endif - endif - enddo - enddo - - print*,'- MAX/MIN OF U-WIND DATA: ', maxval(output_u_data),minval(output_u_data) - print*,'- NUMBER OF PTS DIFFERENT: ',num_upts_diff - print*,'- PERCENT OF TOTAL: ',(float(num_upts_diff)/float(i_output*j_output))*100. - print*,'- MAX DIFFERENCE: ', max_u_diff - if (num_upts_diff > 0) then - avg_u_diff = avg_u_diff / float(num_upts_diff) - endif - print*,'- AVG DIFFERENCE: ', avg_u_diff - - print*,'- MAX/MIN OF V-WIND DATA: ', maxval(output_v_data),minval(output_v_data) - print*,'- NUMBER OF PTS DIFFERENT: ',num_vpts_diff - print*,'- PERCENT OF TOTAL: ',(float(num_vpts_diff)/float(i_output*j_output))*100. - print*,'- MAX DIFFERENCE: ', max_v_diff - if (num_vpts_diff > 0) then - avg_v_diff = avg_v_diff / float(num_vpts_diff) - endif - print*,'- AVG DIFFERENCE: ', avg_v_diff - - deallocate (baseline_u_data, baseline_v_data) - deallocate (output_rlat, output_rlon, output_u_data, output_bitmap) - deallocate (output_v_data, output_crot, output_srot) - - return - - 38 continue - print*,'- ERROR READING BASELINE DATA FILE' - stop 7 - - end subroutine interp diff --git a/tests/unit_test/sorc/vector/make.dependencies b/tests/unit_test/sorc/vector/make.dependencies deleted file mode 100644 index 9c287d5..0000000 --- a/tests/unit_test/sorc/vector/make.dependencies +++ /dev/null @@ -1,3 +0,0 @@ - interp.o : get_input_data.o interp.f90 - driver.o : get_input_data.o interp.o driver.f90 - get_input_data.o : get_input_data.f90 diff --git a/tests/unit_test/sorc/vector/make.filelist b/tests/unit_test/sorc/vector/make.filelist deleted file mode 100644 index 1ab5e67..0000000 --- a/tests/unit_test/sorc/vector/make.filelist +++ /dev/null @@ -1,13 +0,0 @@ -# The list of files that need preprocessing -FPP_FILES = - -# The list of regular source files -FSRC_FILES = get_input_data.f90 driver.f90 interp.f90 - -# The complete list of source files -SRC_FILES = $(FSRC_FILES) \ - $(FPP_FILES) - -# The list of object files -OBJ_FILES = ${FSRC_FILES:.f90=.o} \ - ${FPP_FILES:.F90=.o} diff --git a/tests/unit_test/sorc/vector/make.rules b/tests/unit_test/sorc/vector/make.rules deleted file mode 100644 index 59d6949..0000000 --- a/tests/unit_test/sorc/vector/make.rules +++ /dev/null @@ -1,5 +0,0 @@ -# Suffix rules -.SUFFIXES: -.SUFFIXES: .f90 .o -.f90.o: - $(FC) $(EXTRA_FCFLAGS) $(FCFLAGS) -c $< diff --git a/tests/unit_test_for_c/README b/tests/unit_test_for_c/README deleted file mode 100644 index 5d8654d..0000000 --- a/tests/unit_test_for_c/README +++ /dev/null @@ -1,118 +0,0 @@ -Unit test for the NCEP IPOLATES2 library (IP2LIB) gdswzd -'c' language wrapper. - -HOW THE TEST WORKS: -------------------- - -The test is a 'c' program that calls the gdswzd -routine for a rotated lat/lon "B" grid. The number of -valid grid points and the corner point lat/lons are -printed to standard output (along with the expected values). - -The gdswzd 'c' wrapper was created because gdswzd was -converted to a Fortran module, which cannot be called -directly from 'c'. - - -DIRECTORY LAYOUT: ------------------ - -./sorc - Contains the unit test source code and the build script. - There is one program for each precision version of the - library - "4" single "8" double; "d" mixed. - -./scripts - Contains scripts to run the test. - -./exec - Contains the executables after program build - one - for each precsion version of ip2lib. - -./lib - Contains links to the ip2lib library and include files. - - -HOW TO RUN THE TEST: --------------------- - -1) Build the IPOLATES2 library. Go to $root and read the -README.build file for details. - -2) Ensure the ./lib directory contains (or links to) the IPOLATES2 libraries and -its module files. The ./lib directory already contains links that point to the -libraries and module files as they would exist when using the "nco" install -option from step (1). I.e: - - module file directories: - incmod_4 -> $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_4 (single precision) - incmod_d -> $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_d (mixed precision) - incmod_8 -> $root/ip2/vX.Y.Z/include/ip2_vX.Y.Z_8 (double precistion) - - libraries: - libip2_4.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_4.a (single precision) - libip2_d.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_d.a (mixed precision) - libip2_8.a -> $root/ip2/vX.Y.Z/libip2_vX.Y.Z_8.a (double precistion) - -So if that is how IPOLATES2 was built in step (1), there is -nothing more to do. - -However, if you want to build with another version of the library, -or if you built them in step (1) using the "gnu" or "nco_cray" install option, -you will need to adjust these links. - -3) Build the programs - -The programs are built with the "make_unit_test.ksh" script in -the ./scripts directory. On WCOSS and Theia, the script -loads the proper compiler modules and locates the required -NCEP SP libraries. By default, the program is built with the -Intel compiler. - -So to build with the Intel compiler on WCOSS Phase 1/2/3, WCOSS-Cray -and Theia, you would do: - - $ make_unit_test.ksh - -To build with the Gnu compiler on Phase 1/2 or Theia, you would do: - - $ export compiler=gnu (if your environment is bash) - $ make_unit_test.ksh - -To build with the Cray compiler on WCOSS-Cray, you would do: - - $ export compiler=cray - $ make_unit_test.ksh - -To build on other machines you will need to: - - - Locate or build the NCEP SP library. Then set these - environment variables on the command line or by editing - the script: - - SP_LIB4=$path/libsp_4.a (single precsion sp library) - SP_LIBd=$path/libsp_d.a (mixed precsion sp library) - SP_LIB8=$path/libsp_8.a (double precsion sp library) - - - Set the 'c' compiler (CCOMP env variable), compiler flags - (CFLAGS env variable) and any required runtime libraries - (LIBS env variable). - - - Invoke the "make_unit_test.ksh" script. - -4) Run the unit test. Go to ./scripts. To run interactively, type: - - $ run_unit_test.ksh - -You may want to pipe the output to a log fle. - -To run "run_unit_test.ksh" on the WCOSS or Theia compute nodes, -invoke these driver scripts as follows: - - $ cat run_wcoss.lsf | bsub (WCOSS Phase 1/2) - $ cat run_wcoss-cray.lsf | bsub (WCOSS-Cray) - $ run_wcoss-dell.sh (WCOSS-Phase 3-Dell) - $ sbatch run_theia.ksh (Theia) - -In this case, output is sent to "unit_test.log". - -QUESTIONS: ----------- - -Contact: george.gayno@noaa.gov diff --git a/tests/unit_test_for_c/exec/.gitignore b/tests/unit_test_for_c/exec/.gitignore deleted file mode 100644 index b883f1f..0000000 --- a/tests/unit_test_for_c/exec/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.exe diff --git a/tests/unit_test_for_c/lib/incmod_4 b/tests/unit_test_for_c/lib/incmod_4 deleted file mode 120000 index ac8ac03..0000000 --- a/tests/unit_test_for_c/lib/incmod_4 +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_4 \ No newline at end of file diff --git a/tests/unit_test_for_c/lib/incmod_8 b/tests/unit_test_for_c/lib/incmod_8 deleted file mode 120000 index dc31638..0000000 --- a/tests/unit_test_for_c/lib/incmod_8 +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_8 \ No newline at end of file diff --git a/tests/unit_test_for_c/lib/incmod_d b/tests/unit_test_for_c/lib/incmod_d deleted file mode 120000 index d64c919..0000000 --- a/tests/unit_test_for_c/lib/incmod_d +++ /dev/null @@ -1 +0,0 @@ -../../ip2/v1.0.0/include/ip2_v1.0.0_d \ No newline at end of file diff --git a/tests/unit_test_for_c/scripts/run_theia.ksh b/tests/unit_test_for_c/scripts/run_theia.ksh deleted file mode 100755 index 09f2088..0000000 --- a/tests/unit_test_for_c/scripts/run_theia.ksh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh --login - -#------------------------------------------------------------ -# Script to run the 'c' unit test on Theia compute nodes. -# -# To run, type: 'sbatch $script' -# -# Output is put in "unit_test.log" -#------------------------------------------------------------ - -#SBATCH --ntasks=1 -#SBATCH --mem=100M -#SBATCH -t 0:01:00 -#SBATCH -A fv3-cpu -#SBATCH -q debug -#SBATCH -J ip2_unit_test_c -#SBATCH -o unit_test.log -#SBATCH -e unit_test.log - -set -x - -module purge -module load intel/15.6.233 - -export OMP_NUM_THREADS=1 - -rundir=${SLURM_SUBMIT_DIR} -cd $rundir - -./run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test_for_c/scripts/run_unit_test.ksh b/tests/unit_test_for_c/scripts/run_unit_test.ksh deleted file mode 100755 index f416483..0000000 --- a/tests/unit_test_for_c/scripts/run_unit_test.ksh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/ksh - -#--------------------------------------------------------------------------------- -# Driver script to run the IPOLATES2 (ip2lib) 'C' wrapper unit test. -# -# This script calls a 'C' program which calls routine 'gdswzd' to -# compute the grid specs for a rotated lat/lon 'B'-grid. The output is -# sent to standard output. -# -# To run this script interactively, type "run_unit_test.sh". -# On WCOSS Phase 1/2, this script may be submitted to the compute nodes -# using "run_wcoss.lsf". On Theia, use "run_theia.ksh" -# On WCOSS-Cray, use "run_wcoss-cray.lsf". On WCOSS-Dell (phase 3), -# use "run_wcoss-dell.sh". -# -# The source code for the 'C' program is located in ../sorc. -# There are separate versions for the single ("4"), mixed ("d"), and -# double ("8") versions of ip2lib. After compilation, the executables -# are in ../exec. -# -# For more details, please see the ../README file. -#--------------------------------------------------------------------------------- - -#set -x - -APRUN=${APRUN:-" "} - -for precision in "4" "d" "8" # test all three precision versions of library -do - - echo - echo "********************************************************" - echo "*** TEST $precision BYTE VERSION OF LIBRARY ***" - echo "********************************************************" - echo - - EXEC="../exec/test_gdswzd_${precision}.exe" - - $APRUN $EXEC - -done - -echo -echo "**************" -echo "**** DONE ****" -echo "**************" - -exit 0 diff --git a/tests/unit_test_for_c/scripts/run_wcoss-cray.lsf b/tests/unit_test_for_c/scripts/run_wcoss-cray.lsf deleted file mode 100755 index fc898d4..0000000 --- a/tests/unit_test_for_c/scripts/run_wcoss-cray.lsf +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/ksh - -#------------------------------------------------------- -# Script to run the 'c' unit test on WCOSS-Cray -# compute nodes. -# -# Invoke this script as follows: -# "cat run.wcoss-cray.lsf | bsub" -# -# Output is put in "unit_test.log" -#------------------------------------------------------- - -#BSUB -oo unit_test.log -#BSUB -eo unit_test.log -#BSUB -q debug -#BSUB -J ip2_c_unit_test -#BSUB -P GFS-T2O -#BSUB -M 500 -#BSUB -extsched 'CRAYLINUX[]' -#BSUB -W 0:01 - -set -x - -export NODES=1 -export OMP_NUM_THREADS=1 - -export APRUN="aprun -j 1 -n 1 -d ${OMP_NUM_THREADS} " - -run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test_for_c/scripts/run_wcoss-dell.sh b/tests/unit_test_for_c/scripts/run_wcoss-dell.sh deleted file mode 100755 index ed1a97a..0000000 --- a/tests/unit_test_for_c/scripts/run_wcoss-dell.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -#------------------------------------------------------- -# Script to run the 'c' unit test on WCOSS Phase 3 -# Dell compute nodes. -# -# Simply invoke this script on the command line -# with no arguments. -# -# Output is piped to "unit_test.log" -#------------------------------------------------------- - -#set -x - -module purge -module load EnvVars/1.0.2 -module load ips/18.0.1.163 -module load lsf/10.1 - -bsub -oo unit_test.log -eo unit_test.log -q dev -J ip_unit_test \ - -n 1 -R span[ptile=1] \ - -P GFS-T2O -W 0:01 -cwd $(pwd) "export OMP_NUM_THREADS=1; run_unit_test.ksh" - -exit 0 diff --git a/tests/unit_test_for_c/scripts/run_wcoss.lsf b/tests/unit_test_for_c/scripts/run_wcoss.lsf deleted file mode 100755 index 6f94d64..0000000 --- a/tests/unit_test_for_c/scripts/run_wcoss.lsf +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/ksh - -#------------------------------------------------------- -# Script to run the 'c' unit test on WCOSS Phase 1/2 -# compute nodes. -# -# Invoke this script as follows: -# "cat run.wcoss.lsf | bsub" -# -# Output is piped to "unit_test.log" -#------------------------------------------------------- - -#BSUB -oo unit_test.log -#BSUB -eo unit_test.log -#BSUB -q dev_shared -#BSUB -J ip2_c_unit_test -#BSUB -R affinity[core(1)] -#BSUB -R rusage[mem=100] -#BSUB -a openmp -#BSUB -n 1 -#BSUB -R span[ptile=1] -#BSUB -P GFS-T2O -#BSUB -W 0:01 - -set -x - -run_unit_test.ksh - -exit 0 diff --git a/tests/unit_test_for_c/sorc/make_unit_test.ksh b/tests/unit_test_for_c/sorc/make_unit_test.ksh deleted file mode 100755 index afcea65..0000000 --- a/tests/unit_test_for_c/sorc/make_unit_test.ksh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/ksh --login - -#----------------------------------------------------------------------- -# Script to build the 'c' unit test. -# -# After compilation, the executables reside in ../exec. There is -# one executable for each precision version of ip2lib. -# -# For details on how to use, please see the ../README.build file. -#----------------------------------------------------------------------- - -#set -x - -#----------------------------------------------------------------------- -# This section loads the required compiler modules for WCOSS and -# Theia and sets the compiler and compiler flags. It also locates -# the required SP libraries. -#----------------------------------------------------------------------- - -compiler=${compiler:-intel} - -if [[ "$(hostname -f)" == g????.ncep.noaa.gov || \ - "$(hostname -f)" == t????.ncep.noaa.gov ]]; then #WCOSS Phase 1/2 - case $compiler in - intel) - module purge - module load ics/15.0.6 - module load sp ;; - gnu) - module purge - CCOMP="gcc" - CFLAGS="-fopenmp -std=c99" - LIBS="-fopenmp -lgfortran -lm" - SP_LIB4="/global/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_4.a" - SP_LIB8="/global/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_8.a" - SP_LIBd="/global/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_d.a" ;; - esac -elif [[ "$(hostname -f)" == v????.ncep.noaa.gov || \ - "$(hostname -f)" == m????.ncep.noaa.gov ]]; then #WCOSS Phase 3 Dell - case $compiler in - intel) - module purge - module load EnvVars/1.0.2 - module load ips/18.0.1.163 - module load sp/2.0.2 - CFLAGS="-qopenmp -std=c99" - LIBS="-qopenmp -lifcore" ;; - esac -elif [[ "$(hostname)" == slogin? || "$(hostname)" == llogin? ]]; then # WCOSS Cray ]] - . /opt/modules/3.2.6.7/init/ksh - case $compiler in - intel) module purge - module load PrgEnv-intel - module load craype-sandybridge - module load sp-intel/2.0.2 - CCOMP="cc" ;; - cray) module purge - module load PrgEnv-cray - module load craype-haswell - module load sp-cray-haswell/2.0.2 - CCOMP="cc" - CFLAGS=" " - LIBS=" " ;; - esac -elif [[ "$(hostname -f)" == tfe?? ]]; then # Theia - case $compiler in - intel) - module purge - module use -a /scratch3/NCEPDEV/nwprod/lib/modulefiles - module load intel - module load sp ;; - gnu) - module purge - CCOMP="gcc" - CFLAGS="-fopenmp -std=c99" - LIBS="-fopenmp -lgfortran -lm" - SP_LIB4="/scratch4/NCEPDEV/da/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_4.a" - SP_LIB8="/scratch4/NCEPDEV/da/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_8.a" - SP_LIBd="/scratch4/NCEPDEV/da/noscrub/George.Gayno/sp_v2.0.2/gfortran/libsp_v2.0.2_d.a" ;; - esac -fi - -CCOMP=${CCOMP:-icc} -CFLAGS=${CFLAGS:-"-openmp -std=c99"} -LIBS=${LIBS:-"-openmp -lifcore"} - -SP_LIB4=${SP_LIB4:?} # Single precsion sp library -SP_LIB8=${SP_LIB8:?} # Double precision sp library -SP_LIBd=${SP_LIBd:?} # Mixed precision sp library - -if [[ ! -d ../exec ]];then - mkdir ../exec -fi - -rm -f *.exe *.o -rm -f ../exec/*.exe - -#----------------------------------------------------------------------- -# Build the executables and place them in ../exec. -#----------------------------------------------------------------------- - -for precision in "4" "d" "8" -do - echo - echo "Building precision ${precision} version" >&2 - case $precision in - 4) SP_LIB=$SP_LIB4 ;; - 8) SP_LIB=$SP_LIB8 ;; - d) SP_LIB=$SP_LIBd ;; - esac - $CCOMP $CFLAGS -c -I../lib/incmod_${precision} test_gdswzd_${precision}.c - $CCOMP test_gdswzd_${precision}.o ../lib/libip2_${precision}.a ${SP_LIB} ${LIBS} -o test_gdswzd_${precision}.exe - if [ $? -ne 0 ]; then - echo - echo "** ERROR building precision ${precision} version. EXIT." >&2 - exit - fi - mv test_gdswzd_${precision}.exe ../exec - rm -f *.o -done - -echo; echo DONE diff --git a/tests/unit_test_for_c/sorc/test_gdswzd_4.c b/tests/unit_test_for_c/sorc/test_gdswzd_4.c deleted file mode 100644 index 4b1d15a..0000000 --- a/tests/unit_test_for_c/sorc/test_gdswzd_4.c +++ /dev/null @@ -1,115 +0,0 @@ -#include -#include - -#include "iplib.h" - -/************************************************************** - Unit test to ensure the 'c' wrapper routine for gdswzd - is working. - - Call gdswzd for a rotated lat/lon grid with "B" stagger - and print out the corner point lat/lons and the number - of valid grid points returned. - - Tests the single precision version of gdswzd. -**************************************************************/ - -int main() -{ - int *igdtmpl; - int igdtnum, igdtlen, iopt, npts, nret; - float fill; - float *xpts, *ypts, *rlon, *rlat; - float *crot, *srot, *xlon, *xlat, *ylon, *ylat, *area; - - int im = 251; - int jm = 201; - - igdtnum = 1; - - igdtlen = 22; - igdtmpl = (int *) malloc(igdtlen * sizeof(int)); - - igdtmpl[0] = 6; - igdtmpl[1] = 255; - igdtmpl[2] = -1; - igdtmpl[3] = 255; - igdtmpl[4] = -1; - igdtmpl[5] = 255; - igdtmpl[6] = -1; - igdtmpl[7] = im; - igdtmpl[8] = jm; - igdtmpl[9] = 0; - igdtmpl[10] = -1; - igdtmpl[11] = -45036000; - igdtmpl[12] = 299961000; - igdtmpl[13] = 56; - igdtmpl[14] = 45036000; - igdtmpl[15] = 60039000; - igdtmpl[16] = 0; - igdtmpl[17] = 0; - igdtmpl[18] = 64; - igdtmpl[19] = -36000000; - igdtmpl[20] = 254000000; - igdtmpl[21] = 0; - - iopt = 1; - npts = im * jm; - fill = -9999.0; - - xpts = (float *) malloc(npts * sizeof(float)); - ypts = (float *) malloc(npts * sizeof(float)); - rlon = (float *) malloc(npts * sizeof(float)); - rlat = (float *) malloc(npts * sizeof(float)); - crot = (float *) malloc(npts * sizeof(float)); - srot = (float *) malloc(npts * sizeof(float)); - xlon = (float *) malloc(npts * sizeof(float)); - xlat = (float *) malloc(npts * sizeof(float)); - ylon = (float *) malloc(npts * sizeof(float)); - ylat = (float *) malloc(npts * sizeof(float)); - area = (float *) malloc(npts * sizeof(float)); - - for (int j=0; j -#include - -#include "iplib.h" - -/************************************************************** - Unit test to ensure the 'c' wrapper routine for gdswzd - is working. - - Call gdswzd for a rotated lat/lon grid with "B" stagger - and print out the corner point lat/lons and the number - of valid grid points returned. - - Tests the double precision version of gdswzd. -**************************************************************/ - -int main() -{ - long *igdtmpl; - long igdtnum, igdtlen, iopt, npts, nret; - double fill; - double *xpts, *ypts, *rlon, *rlat; - double *crot, *srot, *xlon, *xlat, *ylon, *ylat, *area; - - long im = 251; - long jm = 201; - - igdtnum = 1; - - igdtlen = 22; - igdtmpl = (long *) malloc(igdtlen * sizeof(long)); - - igdtmpl[0] = 6; - igdtmpl[1] = 255; - igdtmpl[2] = -1; - igdtmpl[3] = 255; - igdtmpl[4] = -1; - igdtmpl[5] = 255; - igdtmpl[6] = -1; - igdtmpl[7] = im; - igdtmpl[8] = jm; - igdtmpl[9] = 0; - igdtmpl[10] = -1; - igdtmpl[11] = -45036000; - igdtmpl[12] = 299961000; - igdtmpl[13] = 56; - igdtmpl[14] = 45036000; - igdtmpl[15] = 60039000; - igdtmpl[16] = 0; - igdtmpl[17] = 0; - igdtmpl[18] = 64; - igdtmpl[19] = -36000000; - igdtmpl[20] = 254000000; - igdtmpl[21] = 0; - - iopt = 1; - npts = im * jm; - fill = -9999.0; - - xpts = (double *) malloc(npts * sizeof(double)); - ypts = (double *) malloc(npts * sizeof(double)); - rlon = (double *) malloc(npts * sizeof(double)); - rlat = (double *) malloc(npts * sizeof(double)); - crot = (double *) malloc(npts * sizeof(double)); - srot = (double *) malloc(npts * sizeof(double)); - xlon = (double *) malloc(npts * sizeof(double)); - xlat = (double *) malloc(npts * sizeof(double)); - ylon = (double *) malloc(npts * sizeof(double)); - ylat = (double *) malloc(npts * sizeof(double)); - area = (double *) malloc(npts * sizeof(double)); - - - for (int j=0; j