mirror of https://github.com/ecmwf/eccodes.git
CMake tests
This commit is contained in:
parent
1aff33cec2
commit
31f0e88a45
|
@ -36,6 +36,10 @@ option( ENABLE_SZIP "try to add support for SZip encoding" ON )
|
||||||
option( ENABLE_PYTHON "try to build the GRIB_API Python interface" ON )
|
option( ENABLE_PYTHON "try to build the GRIB_API Python interface" ON )
|
||||||
option( ENABLE_FORTRAN "try to build the GRIB_API Fortran interface" ON )
|
option( ENABLE_FORTRAN "try to build the GRIB_API Fortran interface" ON )
|
||||||
|
|
||||||
|
if( ENABLE_FORTRAN )
|
||||||
|
ecbuild_enable_fortran( REQUIRED MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/fortran/modules )
|
||||||
|
endif()
|
||||||
|
|
||||||
option( ENABLE_MEMORY_MANAGEMENT "enable memory management" OFF )
|
option( ENABLE_MEMORY_MANAGEMENT "enable memory management" OFF )
|
||||||
option( ENABLE_ALIGN_MEMORY "enable memory alignment" OFF )
|
option( ENABLE_ALIGN_MEMORY "enable memory alignment" OFF )
|
||||||
|
|
||||||
|
@ -192,7 +196,7 @@ endif()
|
||||||
############################################################################################
|
############################################################################################
|
||||||
# contents
|
# contents
|
||||||
|
|
||||||
### define dependencies
|
### export package to other ecbuild packages
|
||||||
|
|
||||||
set( GRIB_API_TPLS SZip PNG NetCDF Jasper OpenJPEG CMath )
|
set( GRIB_API_TPLS SZip PNG NetCDF Jasper OpenJPEG CMath )
|
||||||
set( GRIB_API_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src )
|
set( GRIB_API_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src )
|
||||||
|
@ -201,15 +205,17 @@ set( GRIB_API_LIBRARIES grib_api )
|
||||||
get_directory_property( COMPILE_DEFINITIONS GRIB_API_DEFINITIONS )
|
get_directory_property( COMPILE_DEFINITIONS GRIB_API_DEFINITIONS )
|
||||||
|
|
||||||
foreach( _tpl ${GRIB_API_TPLS} )
|
foreach( _tpl ${GRIB_API_TPLS} )
|
||||||
string( TOUPPER ${_tpl} TPL )
|
string( TOUPPER ${_tpl} TPL )
|
||||||
list( APPEND GRIB_API_EXTRA_DEFINITIONS ${${TPL}_DEFINITIONS} )
|
if( ${TPL}_FOUND )
|
||||||
list( APPEND GRIB_API_EXTRA_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} )
|
list( APPEND GRIB_API_EXTRA_DEFINITIONS ${${TPL}_DEFINITIONS} )
|
||||||
list( APPEND GRIB_API_EXTRA_LIBRARIES ${${TPL}_LIBRARIES} )
|
list( APPEND GRIB_API_EXTRA_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} )
|
||||||
|
list( APPEND GRIB_API_EXTRA_LIBRARIES ${${TPL}_LIBRARIES} )
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
### include directories
|
### include directories
|
||||||
|
|
||||||
include_directories( ${GRIB_API_INCLUDE_DIRS} )
|
include_directories( ${GRIB_API_INCLUDE_DIRS} ${GRIB_API_EXTRA_INCLUDE_DIRS} )
|
||||||
|
|
||||||
add_subdirectory( src )
|
add_subdirectory( src )
|
||||||
add_subdirectory( tools )
|
add_subdirectory( tools )
|
||||||
|
@ -219,6 +225,7 @@ add_subdirectory( definitions )
|
||||||
add_subdirectory( tests )
|
add_subdirectory( tests )
|
||||||
add_subdirectory( tigge )
|
add_subdirectory( tigge )
|
||||||
add_subdirectory( examples )
|
add_subdirectory( examples )
|
||||||
|
add_subdirectory( data )
|
||||||
|
|
||||||
add_subdirectory( samples )
|
add_subdirectory( samples )
|
||||||
add_subdirectory( ifs_samples ) # must come after samples
|
add_subdirectory( ifs_samples ) # must come after samples
|
||||||
|
@ -241,6 +248,6 @@ endif()
|
||||||
############################################################################################
|
############################################################################################
|
||||||
# finalize
|
# finalize
|
||||||
|
|
||||||
ecbuild_install_project( NAME grib_api )
|
ecbuild_install_project( NAME ${CMAKE_PROJECT_NAME} )
|
||||||
|
|
||||||
ecbuild_print_summary()
|
ecbuild_print_summary()
|
||||||
|
|
|
@ -0,0 +1,158 @@
|
||||||
|
# data/CMakeLists.txt
|
||||||
|
add_subdirectory(tigge)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Download all the binary grib data from website
|
||||||
|
#
|
||||||
|
set(files_to_download
|
||||||
|
bad.grib
|
||||||
|
budg
|
||||||
|
constant_field.grib1
|
||||||
|
constant_width_bitmap.grib
|
||||||
|
constant_width_boust_bitmap.grib
|
||||||
|
gen.grib
|
||||||
|
gen_bitmap.grib
|
||||||
|
gen_ext_bitmap.grib
|
||||||
|
gen_ext_boust_bitmap.grib
|
||||||
|
gen_ext_boust.grib
|
||||||
|
gen_ext.grib
|
||||||
|
gen_ext_spd_2_bitmap.grib
|
||||||
|
gen_ext_spd_2_boust_bitmap.grib
|
||||||
|
gen_ext_spd_2.grib
|
||||||
|
gen_ext_spd_3_boust_bitmap.grib
|
||||||
|
gen_ext_spd_3.grib
|
||||||
|
gep10.t12z.pgrb2af78.grib2
|
||||||
|
gfs.c255.grib2
|
||||||
|
gts.grib
|
||||||
|
index.grib
|
||||||
|
jpeg.grib2
|
||||||
|
lfpw.grib1
|
||||||
|
lfpw.grib2
|
||||||
|
missing_field.grib1
|
||||||
|
missing.grib2
|
||||||
|
mixed.grib
|
||||||
|
multi_created.grib2
|
||||||
|
multi.grib2
|
||||||
|
pad.grib
|
||||||
|
reduced_gaussian_lsm.grib1
|
||||||
|
reduced_gaussian_model_level.grib1
|
||||||
|
reduced_gaussian_model_level.grib2
|
||||||
|
reduced_gaussian_pressure_level_constant.grib1
|
||||||
|
reduced_gaussian_pressure_level_constant.grib2
|
||||||
|
reduced_gaussian_pressure_level.grib1
|
||||||
|
reduced_gaussian_pressure_level.grib2
|
||||||
|
reduced_gaussian_sub_area.grib1
|
||||||
|
reduced_gaussian_sub_area.grib2
|
||||||
|
reduced_gaussian_surface.grib1
|
||||||
|
reduced_gaussian_surface.grib2
|
||||||
|
reduced_gaussian_surface_jpeg.grib2
|
||||||
|
reduced_latlon_surface_constant.grib1
|
||||||
|
reduced_latlon_surface_constant.grib2
|
||||||
|
reduced_latlon_surface.grib1
|
||||||
|
reduced_latlon_surface.grib2
|
||||||
|
reference_ensemble_mean.grib1
|
||||||
|
reference_stdev.grib1
|
||||||
|
regular_gaussian_model_level.grib1
|
||||||
|
regular_gaussian_model_level.grib2
|
||||||
|
regular_gaussian_pressure_level_constant.grib1
|
||||||
|
regular_gaussian_pressure_level_constant.grib2
|
||||||
|
regular_gaussian_pressure_level.grib1
|
||||||
|
regular_gaussian_pressure_level.grib2
|
||||||
|
regular_gaussian_surface.grib1
|
||||||
|
regular_gaussian_surface.grib2
|
||||||
|
regular_latlon_surface_constant.grib1
|
||||||
|
regular_latlon_surface_constant.grib2
|
||||||
|
regular_latlon_surface.grib1
|
||||||
|
regular_latlon_surface.grib2
|
||||||
|
row.grib
|
||||||
|
sample.grib2
|
||||||
|
satellite.grib
|
||||||
|
second_ord_rbr.grib1
|
||||||
|
simple_bitmap.grib
|
||||||
|
simple.grib
|
||||||
|
small_ensemble.grib1
|
||||||
|
spectral_compex.grib1
|
||||||
|
spectral_complex.grib1
|
||||||
|
spherical_model_level.grib1
|
||||||
|
spherical_pressure_level.grib1
|
||||||
|
sst_globus0083.grib
|
||||||
|
test.grib1
|
||||||
|
test_uuid.grib2
|
||||||
|
tigge
|
||||||
|
tigge_af_ecmwf.grib2
|
||||||
|
tigge_cf_ecmwf.grib2
|
||||||
|
tigge_ecmwf.grib2
|
||||||
|
tigge_pf_ecmwf.grib2
|
||||||
|
timeRangeIndicator_0.grib
|
||||||
|
timeRangeIndicator_10.grib
|
||||||
|
timeRangeIndicator_5.grib
|
||||||
|
tp_ecmwf.grib
|
||||||
|
v.grib2
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach (f ${files_to_download})
|
||||||
|
set(tgt data_${f})
|
||||||
|
# Download the file and create a dummy target for it
|
||||||
|
ecbuild_get_test_data(TARGET "${tgt}" NAME "${f}" DIRNAME ${PROJECT_NAME}/data NOCHECK)
|
||||||
|
|
||||||
|
# Add to list of targets
|
||||||
|
LIST(APPEND tgts "${tgt}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Copy other files - e.g. reference data, text files etc from the source data dir
|
||||||
|
LIST(APPEND other_files
|
||||||
|
60_model_levels
|
||||||
|
bitmap.diff
|
||||||
|
filter_rules
|
||||||
|
ieee_test.good
|
||||||
|
index.ok
|
||||||
|
index_f90.ok
|
||||||
|
julian.out.good
|
||||||
|
list_points
|
||||||
|
local.good.log
|
||||||
|
ls.log
|
||||||
|
mf.rules
|
||||||
|
multi.ok
|
||||||
|
multi_level.txt
|
||||||
|
multi_step.txt
|
||||||
|
no_bitmap.diff
|
||||||
|
perf.ksh
|
||||||
|
read_any.ok
|
||||||
|
ret.sh
|
||||||
|
sample_grib.txt
|
||||||
|
scan_x_regular_gg_5_7_good.dump
|
||||||
|
scan_x_regular_ll_5_4_good.dump
|
||||||
|
scan_x_regular_ll_5_7_good.dump
|
||||||
|
scan_x_regular_ll_8_4_good.dump
|
||||||
|
scan_x_regular_ll_8_7_good.dump
|
||||||
|
scan_x_rotated_ll_5_4_good.dump
|
||||||
|
scan_x_rotated_ll_5_7_good.dump
|
||||||
|
scan_x_rotated_ll_8_4_good.dump
|
||||||
|
scan_x_rotated_ll_8_7_good.dump
|
||||||
|
scan_y_regular_ll_5_4_good.dump
|
||||||
|
scan_y_regular_ll_5_7_good.dump
|
||||||
|
scan_y_regular_ll_8_4_good.dump
|
||||||
|
scan_y_regular_ll_8_7_good.dump
|
||||||
|
scan_y_rotated_ll_5_4_good.dump
|
||||||
|
scan_y_rotated_ll_5_7_good.dump
|
||||||
|
scan_y_rotated_ll_8_4_good.dump
|
||||||
|
scan_y_rotated_ll_8_7_good.dump
|
||||||
|
spherical_model_level.grib1.good
|
||||||
|
spherical_model_level.grib1_32.good
|
||||||
|
statistics.out.good
|
||||||
|
step.log
|
||||||
|
step_grib1.filter
|
||||||
|
step_grib1.log
|
||||||
|
typeOfProcessedData.ok
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach( file ${other_files} )
|
||||||
|
execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${file} ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# debug_var(tgts)
|
||||||
|
# Another dummy target which depends on all previous targets
|
||||||
|
#add_custom_target( getdata ALL DEPENDS ${tgts} )
|
||||||
|
add_custom_target( getdata DEPENDS ${tgts} )
|
||||||
|
add_dependencies( check getdata )
|
|
@ -10,7 +10,7 @@
|
||||||
7 gridDefinition = 255
|
7 gridDefinition = 255
|
||||||
8 section1Flags = 192 [11000000]
|
8 section1Flags = 192 [11000000]
|
||||||
9 indicatorOfParameter = 130 [Temperature (K) (grib1/2.98.128.table) ]
|
9 indicatorOfParameter = 130 [Temperature (K) (grib1/2.98.128.table) ]
|
||||||
10 indicatorOfTypeOfLevel = 109 [Hybrid level level number (2 octets) (grib1/3.table) ]
|
10 indicatorOfTypeOfLevel = 109 [Hybrid level level number (2 octets) (grib1/3.table , grib1/local/ecmf/3.table) ]
|
||||||
11-12 level = 1
|
11-12 level = 1
|
||||||
13 yearOfCentury = 8
|
13 yearOfCentury = 8
|
||||||
14 month = 2
|
14 month = 2
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
7 gridDefinition = 255
|
7 gridDefinition = 255
|
||||||
8 section1Flags = 128 [10000000]
|
8 section1Flags = 128 [10000000]
|
||||||
9 indicatorOfParameter = 130 [Temperature (K) (grib1/2.98.128.table) ]
|
9 indicatorOfParameter = 130 [Temperature (K) (grib1/2.98.128.table) ]
|
||||||
10 indicatorOfTypeOfLevel = 109 [Hybrid level level number (2 octets) (grib1/3.table) ]
|
10 indicatorOfTypeOfLevel = 109 [Hybrid level level number (2 octets) (grib1/3.table , grib1/local/ecmf/3.table) ]
|
||||||
11-12 level = 1
|
11-12 level = 1
|
||||||
13 yearOfCentury = 8
|
13 yearOfCentury = 8
|
||||||
14 month = 2
|
14 month = 2
|
||||||
|
|
|
@ -0,0 +1,263 @@
|
||||||
|
# Download all the TIGGE grib data from website
|
||||||
|
#
|
||||||
|
set(tigge_files_to_download
|
||||||
|
tigge_ammc_pl_gh.grib
|
||||||
|
tigge_ammc_pl_q.grib
|
||||||
|
tigge_ammc_pl_t.grib
|
||||||
|
tigge_ammc_pl_u.grib
|
||||||
|
tigge_ammc_pl_v.grib
|
||||||
|
tigge_ammc_sfc_10u.grib
|
||||||
|
tigge_ammc_sfc_10v.grib
|
||||||
|
tigge_ammc_sfc_2t.grib
|
||||||
|
tigge_ammc_sfc_lsm.grib
|
||||||
|
tigge_ammc_sfc_mn2t6.grib
|
||||||
|
tigge_ammc_sfc_msl.grib
|
||||||
|
tigge_ammc_sfc_mx2t6.grib
|
||||||
|
tigge_ammc_sfc_orog.grib
|
||||||
|
tigge_ammc_sfc_sf.grib
|
||||||
|
tigge_ammc_sfc_sp.grib
|
||||||
|
tigge_ammc_sfc_st.grib
|
||||||
|
tigge_ammc_sfc_tcc.grib
|
||||||
|
tigge_ammc_sfc_tcw.grib
|
||||||
|
tigge_ammc_sfc_tp.grib
|
||||||
|
tigge_babj_pl_gh.grib
|
||||||
|
tigge_babj_pl_q.grib
|
||||||
|
tigge_babj_pl_t.grib
|
||||||
|
tigge_babj_pl_u.grib
|
||||||
|
tigge_babj_pl_v.grib
|
||||||
|
tigge_babj_sfc_10u.grib
|
||||||
|
tigge_babj_sfc_10v.grib
|
||||||
|
tigge_babj_sfc_2d.grib
|
||||||
|
tigge_babj_sfc_2t.grib
|
||||||
|
tigge_babj_sfc_lsm.grib
|
||||||
|
tigge_babj_sfc_mn2t6.grib
|
||||||
|
tigge_babj_sfc_msl.grib
|
||||||
|
tigge_babj_sfc_mx2t6.grib
|
||||||
|
tigge_babj_sfc_orog.grib
|
||||||
|
tigge_babj_sfc_sd.grib
|
||||||
|
tigge_babj_sfc_sf.grib
|
||||||
|
tigge_babj_sfc_slhf.grib
|
||||||
|
tigge_babj_sfc_sp.grib
|
||||||
|
tigge_babj_sfc_sshf.grib
|
||||||
|
tigge_babj_sfc_ssr.grib
|
||||||
|
tigge_babj_sfc_str.grib
|
||||||
|
tigge_babj_sfc_tcc.grib
|
||||||
|
tigge_babj_sfc_tcw.grib
|
||||||
|
tigge_babj_sfc_tp.grib
|
||||||
|
tigge_cwao_pl_gh.grib
|
||||||
|
tigge_cwao_pl_q.grib
|
||||||
|
tigge_cwao_pl_t.grib
|
||||||
|
tigge_cwao_pl_u.grib
|
||||||
|
tigge_cwao_pl_v.grib
|
||||||
|
tigge_cwao_sfc_10u.grib
|
||||||
|
tigge_cwao_sfc_10v.grib
|
||||||
|
tigge_cwao_sfc_2d.grib
|
||||||
|
tigge_cwao_sfc_2t.grib
|
||||||
|
tigge_cwao_sfc_mn2t6.grib
|
||||||
|
tigge_cwao_sfc_msl.grib
|
||||||
|
tigge_cwao_sfc_mx2t6.grib
|
||||||
|
tigge_cwao_sfc_orog.grib
|
||||||
|
tigge_cwao_sfc_sd.grib
|
||||||
|
tigge_cwao_sfc_skt.grib
|
||||||
|
tigge_cwao_sfc_sp.grib
|
||||||
|
tigge_cwao_sfc_st.grib
|
||||||
|
tigge_cwao_sfc_tcc.grib
|
||||||
|
tigge_cwao_sfc_tcw.grib
|
||||||
|
tigge_cwao_sfc_tp.grib
|
||||||
|
tigge_ecmf_pl_gh.grib
|
||||||
|
tigge_ecmf_pl_q.grib
|
||||||
|
tigge_ecmf_pl_t.grib
|
||||||
|
tigge_ecmf_pl_u.grib
|
||||||
|
tigge_ecmf_pl_v.grib
|
||||||
|
tigge_ecmf_pt_pv.grib
|
||||||
|
tigge_ecmf_pv_pt.grib
|
||||||
|
tigge_ecmf_pv_u.grib
|
||||||
|
tigge_ecmf_pv_v.grib
|
||||||
|
tigge_ecmf_sfc_10u.grib
|
||||||
|
tigge_ecmf_sfc_10v.grib
|
||||||
|
tigge_ecmf_sfc_2d.grib
|
||||||
|
tigge_ecmf_sfc_2t.grib
|
||||||
|
tigge_ecmf_sfc_cap.grib
|
||||||
|
tigge_ecmf_sfc_cape.grib
|
||||||
|
tigge_ecmf_sfc_mn2t6.grib
|
||||||
|
tigge_ecmf_sfc_msl.grib
|
||||||
|
tigge_ecmf_sfc_mx2t6.grib
|
||||||
|
tigge_ecmf_sfc_sd.grib
|
||||||
|
tigge_ecmf_sfc_sf.grib
|
||||||
|
tigge_ecmf_sfc_skt.grib
|
||||||
|
tigge_ecmf_sfc_slhf.grib
|
||||||
|
tigge_ecmf_sfc_sm.grib
|
||||||
|
tigge_ecmf_sfc_sp.grib
|
||||||
|
tigge_ecmf_sfc_sshf.grib
|
||||||
|
tigge_ecmf_sfc_ssr.grib
|
||||||
|
tigge_ecmf_sfc_st.grib
|
||||||
|
tigge_ecmf_sfc_str.grib
|
||||||
|
tigge_ecmf_sfc_sund.grib
|
||||||
|
tigge_ecmf_sfc_tcc.grib
|
||||||
|
tigge_ecmf_sfc_tcw.grib
|
||||||
|
tigge_ecmf_sfc_tp.grib
|
||||||
|
tigge_ecmf_sfc_ttr.grib
|
||||||
|
tigge_egrr_pl_gh.grib
|
||||||
|
tigge_egrr_pl_q.grib
|
||||||
|
tigge_egrr_pl_t.grib
|
||||||
|
tigge_egrr_pl_u.grib
|
||||||
|
tigge_egrr_pl_v.grib
|
||||||
|
tigge_egrr_pt_pv.grib
|
||||||
|
tigge_egrr_pv_pt.grib
|
||||||
|
tigge_egrr_pv_u.grib
|
||||||
|
tigge_egrr_pv_v.grib
|
||||||
|
tigge_egrr_sfc_10u.grib
|
||||||
|
tigge_egrr_sfc_10v.grib
|
||||||
|
tigge_egrr_sfc_2d.grib
|
||||||
|
tigge_egrr_sfc_2t.grib
|
||||||
|
tigge_egrr_sfc_mn2t6.grib
|
||||||
|
tigge_egrr_sfc_msl.grib
|
||||||
|
tigge_egrr_sfc_mx2t6.grib
|
||||||
|
tigge_egrr_sfc_sd.grib
|
||||||
|
tigge_egrr_sfc_sf.grib
|
||||||
|
tigge_egrr_sfc_skt.grib
|
||||||
|
tigge_egrr_sfc_slhf.grib
|
||||||
|
tigge_egrr_sfc_sm.grib
|
||||||
|
tigge_egrr_sfc_sp.grib
|
||||||
|
tigge_egrr_sfc_sshf.grib
|
||||||
|
tigge_egrr_sfc_ssr.grib
|
||||||
|
tigge_egrr_sfc_st.grib
|
||||||
|
tigge_egrr_sfc_str.grib
|
||||||
|
tigge_egrr_sfc_tcc.grib
|
||||||
|
tigge_egrr_sfc_tcw.grib
|
||||||
|
tigge_egrr_sfc_tp.grib
|
||||||
|
tigge_egrr_sfc_ttr.grib
|
||||||
|
tigge_kwbc_pl_gh.grib
|
||||||
|
tigge_kwbc_pl_q.grib
|
||||||
|
tigge_kwbc_pl_t.grib
|
||||||
|
tigge_kwbc_pl_u.grib
|
||||||
|
tigge_kwbc_pl_v.grib
|
||||||
|
tigge_kwbc_pt_pv.grib
|
||||||
|
tigge_kwbc_pv_pt.grib
|
||||||
|
tigge_kwbc_pv_u.grib
|
||||||
|
tigge_kwbc_pv_v.grib
|
||||||
|
tigge_kwbc_sfc_10u.grib
|
||||||
|
tigge_kwbc_sfc_10v.grib
|
||||||
|
tigge_kwbc_sfc_2d.grib
|
||||||
|
tigge_kwbc_sfc_2t.grib
|
||||||
|
tigge_kwbc_sfc_cap.grib
|
||||||
|
tigge_kwbc_sfc_cape.grib
|
||||||
|
tigge_kwbc_sfc_ci.grib
|
||||||
|
tigge_kwbc_sfc_lsm.grib
|
||||||
|
tigge_kwbc_sfc_mn2t6.grib
|
||||||
|
tigge_kwbc_sfc_msl.grib
|
||||||
|
tigge_kwbc_sfc_mx2t6.grib
|
||||||
|
tigge_kwbc_sfc_sd.grib
|
||||||
|
tigge_kwbc_sfc_sf.grib
|
||||||
|
tigge_kwbc_sfc_skt.grib
|
||||||
|
tigge_kwbc_sfc_slhf.grib
|
||||||
|
tigge_kwbc_sfc_sm.grib
|
||||||
|
tigge_kwbc_sfc_sp.grib
|
||||||
|
tigge_kwbc_sfc_sshf.grib
|
||||||
|
tigge_kwbc_sfc_ssr.grib
|
||||||
|
tigge_kwbc_sfc_st.grib
|
||||||
|
tigge_kwbc_sfc_str.grib
|
||||||
|
tigge_kwbc_sfc_tcw.grib
|
||||||
|
tigge_kwbc_sfc_tp.grib
|
||||||
|
tigge_kwbc_sfc_ttr.grib
|
||||||
|
tigge_lfpw_pl_gh.grib
|
||||||
|
tigge_lfpw_pl_q.grib
|
||||||
|
tigge_lfpw_pl_t.grib
|
||||||
|
tigge_lfpw_pl_u.grib
|
||||||
|
tigge_lfpw_pl_v.grib
|
||||||
|
tigge_lfpw_pv_pt.grib
|
||||||
|
tigge_lfpw_pv_u.grib
|
||||||
|
tigge_lfpw_pv_v.grib
|
||||||
|
tigge_lfpw_sfc_10u.grib
|
||||||
|
tigge_lfpw_sfc_10v.grib
|
||||||
|
tigge_lfpw_sfc_2d.grib
|
||||||
|
tigge_lfpw_sfc_2t.grib
|
||||||
|
tigge_lfpw_sfc_cap.grib
|
||||||
|
tigge_lfpw_sfc_cape.grib
|
||||||
|
tigge_lfpw_sfc_mn2t6.grib
|
||||||
|
tigge_lfpw_sfc_msl.grib
|
||||||
|
tigge_lfpw_sfc_mx2t6.grib
|
||||||
|
tigge_lfpw_sfc_sd.grib
|
||||||
|
tigge_lfpw_sfc_sf.grib
|
||||||
|
tigge_lfpw_sfc_skt.grib
|
||||||
|
tigge_lfpw_sfc_slhf.grib
|
||||||
|
tigge_lfpw_sfc_sp.grib
|
||||||
|
tigge_lfpw_sfc_sshf.grib
|
||||||
|
tigge_lfpw_sfc_ssr.grib
|
||||||
|
tigge_lfpw_sfc_st.grib
|
||||||
|
tigge_lfpw_sfc_str.grib
|
||||||
|
tigge_lfpw_sfc_tcc.grib
|
||||||
|
tigge_lfpw_sfc_tcw.grib
|
||||||
|
tigge_lfpw_sfc_tp.grib
|
||||||
|
tigge_lfpw_sfc_ttr.grib
|
||||||
|
tigge_rjtd_pl_gh.grib
|
||||||
|
tigge_rjtd_pl_q.grib
|
||||||
|
tigge_rjtd_pl_t.grib
|
||||||
|
tigge_rjtd_pl_u.grib
|
||||||
|
tigge_rjtd_pl_v.grib
|
||||||
|
tigge_rjtd_sfc_10u.grib
|
||||||
|
tigge_rjtd_sfc_10v.grib
|
||||||
|
tigge_rjtd_sfc_2d.grib
|
||||||
|
tigge_rjtd_sfc_2t.grib
|
||||||
|
tigge_rjtd_sfc_mn2t6.grib
|
||||||
|
tigge_rjtd_sfc_msl.grib
|
||||||
|
tigge_rjtd_sfc_mx2t6.grib
|
||||||
|
tigge_rjtd_sfc_sd.grib
|
||||||
|
tigge_rjtd_sfc_skt.grib
|
||||||
|
tigge_rjtd_sfc_slhf.grib
|
||||||
|
tigge_rjtd_sfc_sm.grib
|
||||||
|
tigge_rjtd_sfc_sp.grib
|
||||||
|
tigge_rjtd_sfc_sshf.grib
|
||||||
|
tigge_rjtd_sfc_ssr.grib
|
||||||
|
tigge_rjtd_sfc_str.grib
|
||||||
|
tigge_rjtd_sfc_tcc.grib
|
||||||
|
tigge_rjtd_sfc_tcw.grib
|
||||||
|
tigge_rjtd_sfc_tp.grib
|
||||||
|
tigge_rjtd_sfc_ttr.grib
|
||||||
|
tigge_rksl_pl_gh.grib
|
||||||
|
tigge_rksl_pl_q.grib
|
||||||
|
tigge_rksl_pl_t.grib
|
||||||
|
tigge_rksl_pl_u.grib
|
||||||
|
tigge_rksl_pl_v.grib
|
||||||
|
tigge_rksl_sfc_10u.grib
|
||||||
|
tigge_rksl_sfc_10v.grib
|
||||||
|
tigge_rksl_sfc_2t.grib
|
||||||
|
tigge_rksl_sfc_msl.grib
|
||||||
|
tigge_rksl_sfc_sp.grib
|
||||||
|
tigge_sbsj_pl_gh.grib
|
||||||
|
tigge_sbsj_pl_q.grib
|
||||||
|
tigge_sbsj_pl_t.grib
|
||||||
|
tigge_sbsj_pl_u.grib
|
||||||
|
tigge_sbsj_pl_v.grib
|
||||||
|
tigge_sbsj_sfc_10u.grib
|
||||||
|
tigge_sbsj_sfc_10v.grib
|
||||||
|
tigge_sbsj_sfc_2t.grib
|
||||||
|
tigge_sbsj_sfc_msl.grib
|
||||||
|
tigge_sbsj_sfc_sf.grib
|
||||||
|
tigge_sbsj_sfc_skt.grib
|
||||||
|
tigge_sbsj_sfc_sp.grib
|
||||||
|
tigge_sbsj_sfc_ssr.grib
|
||||||
|
tigge_sbsj_sfc_st.grib
|
||||||
|
tigge_sbsj_sfc_tcc.grib
|
||||||
|
tigge_sbsj_sfc_tcw.grib
|
||||||
|
tigge_sbsj_sfc_tp.grib
|
||||||
|
tiggelam_cnmc_sfc.grib
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach (f ${tigge_files_to_download})
|
||||||
|
set(tgt tigge_data_${f})
|
||||||
|
# Download the file and create a dummy target for it
|
||||||
|
ecbuild_get_test_data(TARGET "${tgt}"
|
||||||
|
NAME "${f}"
|
||||||
|
DIRNAME ${PROJECT_NAME}/data/tigge
|
||||||
|
NOCHECK)
|
||||||
|
|
||||||
|
# Add to list of targets
|
||||||
|
LIST(APPEND tgts "${tgt}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# debug_var(tgts)
|
||||||
|
# Anotehr dummy target which depends on all previous targets
|
||||||
|
add_custom_target( get_tigge_data DEPENDS ${tgts} )
|
||||||
|
add_dependencies( check get_tigge_data )
|
||||||
|
|
|
@ -1,11 +1,127 @@
|
||||||
ecbuild_add_test( TARGET new_sample
|
# examples/C/CMakeLists.txt
|
||||||
|
|
||||||
|
# Configure the file which all CMake tests will include
|
||||||
|
configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
||||||
|
|
||||||
|
|
||||||
|
# Build the executables used by test scripts
|
||||||
|
################################################
|
||||||
|
list( APPEND test_bins
|
||||||
|
nearest
|
||||||
|
set_bitmap
|
||||||
|
iterator
|
||||||
|
get
|
||||||
|
print_data
|
||||||
|
set
|
||||||
|
set_missing
|
||||||
|
keys_iterator
|
||||||
|
set_data
|
||||||
|
mars_param
|
||||||
|
values_check
|
||||||
|
box
|
||||||
|
multi
|
||||||
|
multi2
|
||||||
|
multi_write
|
||||||
|
precision
|
||||||
|
set_pv
|
||||||
|
list
|
||||||
|
get_data
|
||||||
|
sections_copy
|
||||||
|
iterator_bitmap
|
||||||
|
large_grib1
|
||||||
|
clone
|
||||||
|
)
|
||||||
|
foreach( tool ${test_bins} )
|
||||||
|
# here we use the fact that each tool has only one C file that matches its name
|
||||||
|
ecbuild_add_executable( TARGET ${tool}
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES ${tool}.c
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Now add each test
|
||||||
|
#################################################
|
||||||
|
ecbuild_add_test( TARGET c_iterator
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/iterator.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_get
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_print_data
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/print_data.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_set
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/set.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_keys_iterator
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/keys_iterator.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_multi
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/multi.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_multi_write
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/multi_write.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_precision
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/precision.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_list
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/list.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_test( TARGET c_large_grib1
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/large_grib1.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_get_data
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get_data.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_test( TARGET c_set_missing
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/set_missing.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET c_clone
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/clone.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_test( TARGET c_sections_copy
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/sections_copy.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#############################################
|
||||||
|
# Tests with no script
|
||||||
|
ecbuild_add_test( TARGET c_new_sample
|
||||||
SOURCES new_sample.c
|
SOURCES new_sample.c
|
||||||
LIBS grib_api
|
LIBS grib_api
|
||||||
ARGS "out.grib"
|
ARGS "out.grib"
|
||||||
ENVIRONMENT "GRIB_SAMPLES_PATH=${PROJECT_SOURCE_DIR}/samples" "GRIB_DEFINITION_PATH=${PROJECT_SOURCE_DIR}/definitions" )
|
ENVIRONMENT "GRIB_SAMPLES_PATH=${PROJECT_SOURCE_DIR}/samples" "GRIB_DEFINITION_PATH=${PROJECT_SOURCE_DIR}/definitions" )
|
||||||
|
|
||||||
#ecbuild_add_test( TARGET iterator
|
|
||||||
# SOURCES iterator.c
|
|
||||||
# LIBS grib_api
|
|
||||||
# ARGS "out.grib"
|
|
||||||
# ENVIRONMENT "GRIB_SAMPLES_PATH=${PROJECT_SOURCE_DIR}/samples" "GRIB_DEFINITION_PATH=${PROJECT_SOURCE_DIR}/definitions" )
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# examples/C include file for CMake
|
||||||
|
|
||||||
|
set -ea
|
||||||
|
proj_dir=@PROJECT_SOURCE_DIR@
|
||||||
|
data_dir=@PROJECT_BINARY_DIR@/data
|
||||||
|
|
||||||
|
def_dir="${proj_dir}/definitions"
|
||||||
|
GRIB_DEFINITION_PATH="${def_dir}"
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
|
||||||
|
tools_dir=@CMAKE_BINARY_DIR@/bin/
|
||||||
|
examples_dir=@CMAKE_CURRENT_BINARY_DIR@/
|
||||||
|
|
||||||
|
samp_dir="${proj_dir}/samples"
|
||||||
|
GRIB_SAMPLES_PATH=${samp_dir}
|
||||||
|
export GRIB_SAMPLES_PATH
|
|
@ -7,38 +7,43 @@ set -ea
|
||||||
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
|
||||||
echo
|
CMAKE_INCLUDE_FILE=include.ctest.sh
|
||||||
echo "TEST: $0"
|
if [ -f "$CMAKE_INCLUDE_FILE" ]; then
|
||||||
|
# This is the config file for Cmake tests
|
||||||
|
. ./$CMAKE_INCLUDE_FILE
|
||||||
|
|
||||||
if [ -z "${data_dir}" ]
|
|
||||||
then
|
|
||||||
cd ../../
|
|
||||||
cpath=`pwd`
|
|
||||||
GRIB_DEFINITION_PATH=$cpath/definitions
|
|
||||||
export GRIB_DEFINITION_PATH
|
|
||||||
GRIB_SAMPLES_PATH=$cpath/samples
|
|
||||||
export GRIB_SAMPLES_PATH
|
|
||||||
tools_dir=$cpath/tools/
|
|
||||||
examples_dir=$cpath/examples/C/
|
|
||||||
data_dir=$cpath/data
|
|
||||||
else
|
else
|
||||||
echo "Skipping test $0"
|
# This is for autotools
|
||||||
exit
|
echo
|
||||||
fi
|
echo "TEST: $0"
|
||||||
|
|
||||||
cd ${examples_dir}
|
if [ -z "${data_dir}" ]
|
||||||
|
then
|
||||||
|
cd ../../
|
||||||
|
cpath=`pwd`
|
||||||
|
GRIB_DEFINITION_PATH=$cpath/definitions
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
GRIB_SAMPLES_PATH=$cpath/samples
|
||||||
|
export GRIB_SAMPLES_PATH
|
||||||
|
tools_dir=$cpath/tools/
|
||||||
|
examples_dir=$cpath/examples/C/
|
||||||
|
data_dir=$cpath/data
|
||||||
|
else
|
||||||
|
echo "Skipping test $0"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "${GRIB_API_INCLUDE}" ]
|
cd ${examples_dir}
|
||||||
then
|
|
||||||
GRIB_API_INCLUDE=`pwd`/src
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${GRIB_API_LIB}" ]
|
if [ -z "${GRIB_API_INCLUDE}" ]
|
||||||
then
|
then
|
||||||
GRIB_API_LIB=`pwd`/src
|
GRIB_API_INCLUDE=`pwd`/src
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#${tools_dir}grib_info
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
|
if [ -z "${GRIB_API_LIB}" ]
|
||||||
|
then
|
||||||
|
GRIB_API_LIB=`pwd`/src
|
||||||
|
fi
|
||||||
|
#${tools_dir}grib_info
|
||||||
|
set -u
|
||||||
|
fi
|
|
@ -9,8 +9,8 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
REGUL_GRID_FILE=../../samples/regular_ll_sfc_grib2.tmpl
|
REGUL_GRID_FILE=${proj_dir}/samples/regular_ll_sfc_grib2.tmpl
|
||||||
GAUSS_GRID_FILE=../../samples/reduced_gg_pl_640_grib2.tmpl
|
GAUSS_GRID_FILE=${proj_dir}/samples/reduced_gg_pl_640_grib2.tmpl
|
||||||
OUTPUT=temp.sections.grib
|
OUTPUT=temp.sections.grib
|
||||||
|
|
||||||
${examples_dir}sections_copy $REGUL_GRID_FILE $GAUSS_GRID_FILE $OUTPUT
|
${examples_dir}sections_copy $REGUL_GRID_FILE $GAUSS_GRID_FILE $OUTPUT
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
add_subdirectory(C)
|
add_subdirectory(C)
|
||||||
|
add_subdirectory(F90)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,89 @@
|
||||||
|
# examples/F90/CMakeLists.txt
|
||||||
|
|
||||||
|
# Configure the file which all CMake tests will include
|
||||||
|
configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
||||||
|
|
||||||
|
|
||||||
|
# Build the executables used by test scripts
|
||||||
|
################################################
|
||||||
|
list( APPEND tests
|
||||||
|
index
|
||||||
|
copy_message
|
||||||
|
get
|
||||||
|
get_data
|
||||||
|
get_pl
|
||||||
|
get_pv
|
||||||
|
keys_iterator
|
||||||
|
multi_write
|
||||||
|
multi
|
||||||
|
nearest
|
||||||
|
precision
|
||||||
|
print_data
|
||||||
|
set
|
||||||
|
set_bitmap
|
||||||
|
set_missing
|
||||||
|
set_pv
|
||||||
|
samples
|
||||||
|
count_messages
|
||||||
|
read_message
|
||||||
|
read_from_file
|
||||||
|
get_set_uuid
|
||||||
|
)
|
||||||
|
|
||||||
|
# Simplify tests: no need to build executable and then test. All in one
|
||||||
|
# TODO
|
||||||
|
# ecbuild_add_test( TARGET test_f90_samples
|
||||||
|
# LINKER_LANGUAGE Fortran
|
||||||
|
# SOURCES samples.f90
|
||||||
|
# LIBS grib_api_f90 grib_api
|
||||||
|
# COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/samples.sh
|
||||||
|
# CONDITION ENABLE_FORTRAN
|
||||||
|
# )
|
||||||
|
|
||||||
|
foreach( tool ${tests} )
|
||||||
|
# Build the Fortran executable
|
||||||
|
ecbuild_add_executable( TARGET f_${tool}
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES ${tool}.f90
|
||||||
|
LINKER_LANGUAGE Fortran
|
||||||
|
LIBS grib_api_f90 grib_api
|
||||||
|
)
|
||||||
|
# Add the test which depends on the above executable
|
||||||
|
ecbuild_add_test( TARGET f_${tool}_test
|
||||||
|
TYPE SCRIPT
|
||||||
|
DEPENDS f_${tool}
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/${tool}.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Executables without a shell script
|
||||||
|
# TODO
|
||||||
|
ecbuild_add_executable( TARGET f_new_from_file
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES new_from_file.f90
|
||||||
|
LINKER_LANGUAGE Fortran
|
||||||
|
LIBS grib_api_f90 grib_api
|
||||||
|
)
|
||||||
|
ecbuild_add_executable( TARGET f_copy_namespace
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES copy_namespace.f90
|
||||||
|
LINKER_LANGUAGE Fortran
|
||||||
|
LIBS grib_api_f90 grib_api
|
||||||
|
)
|
||||||
|
ecbuild_add_executable( TARGET f_set_gvc
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES set_gvc.f90
|
||||||
|
LINKER_LANGUAGE Fortran
|
||||||
|
LIBS grib_api_f90 grib_api
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# # Note extra dependency
|
||||||
|
# ecbuild_add_test( TARGET f_set_test
|
||||||
|
# TYPE SCRIPT
|
||||||
|
# DEPENDS set_gvc set
|
||||||
|
# COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/set.sh
|
||||||
|
# RESOURCES include.sh
|
||||||
|
# )
|
||||||
|
#
|
|
@ -5,35 +5,35 @@ TESTS = copy_message.sh get.sh get_data.sh get_pl.sh get_pv.sh keys_iterator.sh
|
||||||
nearest.sh precision.sh multi_write.sh multi.sh print_data.sh set.sh set_bitmap.sh set_missing.sh \
|
nearest.sh precision.sh multi_write.sh multi.sh print_data.sh set.sh set_bitmap.sh set_missing.sh \
|
||||||
set_pv.sh samples.sh count_messages.sh read_message.sh read_from_file.sh index.sh get_set_uuid.sh
|
set_pv.sh samples.sh count_messages.sh read_message.sh read_from_file.sh index.sh get_set_uuid.sh
|
||||||
|
|
||||||
noinst_PROGRAMS = index copy_message get get_data get_pl get_pv keys_iterator \
|
noinst_PROGRAMS = f_index f_copy_message f_get f_get_data f_get_pl f_get_pv f_keys_iterator \
|
||||||
multi_write multi nearest precision print_data set set_bitmap set_missing \
|
f_multi_write f_multi f_nearest f_precision f_print_data f_set f_set_bitmap f_set_missing \
|
||||||
set_pv samples count_messages read_message read_from_file new_from_file \
|
f_set_pv f_samples f_count_messages f_read_message f_read_from_file f_new_from_file \
|
||||||
copy_namespace get_set_uuid set_gvc
|
f_copy_namespace f_get_set_uuid f_set_gvc
|
||||||
|
|
||||||
index_SOURCES=index.f90
|
f_index_SOURCES=index.f90
|
||||||
copy_message_SOURCES=copy_message.f90
|
f_copy_message_SOURCES=copy_message.f90
|
||||||
get_SOURCES=get.f90
|
f_get_SOURCES=get.f90
|
||||||
get_data_SOURCES=get_data.f90
|
f_get_data_SOURCES=get_data.f90
|
||||||
get_pl_SOURCES=get_pl.f90
|
f_get_pl_SOURCES=get_pl.f90
|
||||||
get_pv_SOURCES=get_pv.f90
|
f_get_pv_SOURCES=get_pv.f90
|
||||||
keys_iterator_SOURCES=keys_iterator.f90
|
f_keys_iterator_SOURCES=keys_iterator.f90
|
||||||
multi_write_SOURCES=multi_write.f90
|
f_multi_write_SOURCES=multi_write.f90
|
||||||
multi_SOURCES=multi.f90
|
f_multi_SOURCES=multi.f90
|
||||||
nearest_SOURCES=nearest.f90
|
f_nearest_SOURCES=nearest.f90
|
||||||
precision_SOURCES=precision.f90
|
f_precision_SOURCES=precision.f90
|
||||||
print_data_SOURCES=print_data.f90
|
f_print_data_SOURCES=print_data.f90
|
||||||
set_SOURCES=set.f90
|
f_set_SOURCES=set.f90
|
||||||
set_bitmap_SOURCES=set_bitmap.f90
|
f_set_bitmap_SOURCES=set_bitmap.f90
|
||||||
set_missing_SOURCES=set_missing.f90
|
f_set_missing_SOURCES=set_missing.f90
|
||||||
set_pv_SOURCES=set_pv.f90
|
f_set_pv_SOURCES=set_pv.f90
|
||||||
samples_SOURCES=samples.f90
|
f_samples_SOURCES=samples.f90
|
||||||
count_messages_SOURCES=count_messages.f90
|
f_count_messages_SOURCES=count_messages.f90
|
||||||
read_message_SOURCES=read_message.f90
|
f_read_message_SOURCES=read_message.f90
|
||||||
read_from_file_SOURCES=read_from_file.f90
|
f_read_from_file_SOURCES=read_from_file.f90
|
||||||
new_from_file_SOURCES=new_from_file.f90
|
f_new_from_file_SOURCES=new_from_file.f90
|
||||||
copy_namespace_SOURCES=copy_namespace.f90
|
f_copy_namespace_SOURCES=copy_namespace.f90
|
||||||
get_set_uuid_SOURCES=get_set_uuid.f90
|
f_get_set_uuid_SOURCES=get_set_uuid.f90
|
||||||
set_gvc_SOURCES=set_gvc.f90
|
f_set_gvc_SOURCES=set_gvc.f90
|
||||||
|
|
||||||
INCLUDES = -I$(top_builddir)/src
|
INCLUDES = -I$(top_builddir)/src
|
||||||
|
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}clone > /dev/null
|
${examples_dir}f_clone > /dev/null
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}copy_message > /dev/null
|
${examples_dir}f_copy_message > /dev/null
|
||||||
rm -f out.grib1
|
rm -f out.grib1
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}count_messages > /dev/null
|
${examples_dir}f_count_messages > /dev/null
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}get > /dev/null
|
${examples_dir}f_get > /dev/null
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}get_data > /dev/null
|
${examples_dir}f_get_data > /dev/null
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}get_pl > /dev/null
|
${examples_dir}f_get_pl > /dev/null
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}get_pv > /dev/null
|
${examples_dir}f_get_pv > /dev/null
|
||||||
|
|
|
@ -14,7 +14,7 @@ uuid=`${tools_dir}/grib_get -w count=1 -p uuidOfVGrid:s ${data_dir}/test_uuid.gr
|
||||||
[ "$uuid" = "08b1e836bc6911e1951fb51b5624ad8d" ]
|
[ "$uuid" = "08b1e836bc6911e1951fb51b5624ad8d" ]
|
||||||
|
|
||||||
# This reads the file in data/test_uuid.grib2 and creates test_uuid.grib2
|
# This reads the file in data/test_uuid.grib2 and creates test_uuid.grib2
|
||||||
${examples_dir}get_set_uuid > /dev/null
|
${examples_dir}f_get_set_uuid > /dev/null
|
||||||
|
|
||||||
# Check output was written
|
# Check output was written
|
||||||
output=out_uuid.grib2
|
output=out_uuid.grib2
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
# examples/F90 include file for CMake
|
||||||
|
|
||||||
|
set -ea
|
||||||
|
proj_dir=@PROJECT_SOURCE_DIR@
|
||||||
|
data_dir=@PROJECT_BINARY_DIR@/data
|
||||||
|
|
||||||
|
def_dir="${proj_dir}/definitions"
|
||||||
|
GRIB_DEFINITION_PATH="${def_dir}"
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
|
||||||
|
tools_dir=@CMAKE_BINARY_DIR@/bin/
|
||||||
|
examples_dir=@CMAKE_CURRENT_BINARY_DIR@/
|
||||||
|
|
||||||
|
samp_dir="${proj_dir}/samples"
|
||||||
|
GRIB_SAMPLES_PATH=${samp_dir}
|
||||||
|
export GRIB_SAMPLES_PATH
|
|
@ -5,41 +5,45 @@
|
||||||
#
|
#
|
||||||
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
||||||
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
set -ea
|
|
||||||
|
|
||||||
echo
|
CMAKE_INCLUDE_FILE=include.ctest.sh
|
||||||
echo "TEST: $0"
|
if [ -f "$CMAKE_INCLUDE_FILE" ]; then
|
||||||
|
# This is the config file for Cmake tests
|
||||||
|
. ./$CMAKE_INCLUDE_FILE
|
||||||
|
|
||||||
if [ -z "${data_dir}" ]
|
|
||||||
then
|
|
||||||
cd ../../
|
|
||||||
cpath=`pwd`
|
|
||||||
GRIB_DEFINITION_PATH=$cpath/definitions
|
|
||||||
export GRIB_DEFINITION_PATH
|
|
||||||
GRIB_SAMPLES_PATH=$cpath/samples
|
|
||||||
export GRIB_SAMPLES_PATH
|
|
||||||
tools_dir=$cpath/tools/
|
|
||||||
examples_dir=$cpath/examples/F90/
|
|
||||||
data_dir=$cpath/data
|
|
||||||
samples_dir=$cpath/samples
|
|
||||||
else
|
else
|
||||||
echo "Skipping test $0"
|
set -ea
|
||||||
exit
|
|
||||||
|
echo
|
||||||
|
echo "TEST: $0"
|
||||||
|
|
||||||
|
if [ -z "${data_dir}" ]
|
||||||
|
then
|
||||||
|
cd ../../
|
||||||
|
cpath=`pwd`
|
||||||
|
GRIB_DEFINITION_PATH=$cpath/definitions
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
GRIB_SAMPLES_PATH=$cpath/samples
|
||||||
|
export GRIB_SAMPLES_PATH
|
||||||
|
tools_dir=$cpath/tools/
|
||||||
|
examples_dir=$cpath/examples/F90/
|
||||||
|
data_dir=$cpath/data
|
||||||
|
samples_dir=$cpath/samples
|
||||||
|
else
|
||||||
|
echo "Skipping test $0"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${examples_dir}
|
||||||
|
|
||||||
|
if [ -z "${GRIB_API_INCLUDE}" ]
|
||||||
|
then
|
||||||
|
GRIB_API_INCLUDE=`pwd`/src
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${GRIB_API_LIB}" ]
|
||||||
|
then
|
||||||
|
GRIB_API_LIB=`pwd`/src
|
||||||
|
fi
|
||||||
|
set -u
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ${examples_dir}
|
|
||||||
|
|
||||||
if [ -z "${GRIB_API_INCLUDE}" ]
|
|
||||||
then
|
|
||||||
GRIB_API_INCLUDE=`pwd`/src
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${GRIB_API_LIB}" ]
|
|
||||||
then
|
|
||||||
GRIB_API_LIB=`pwd`/src
|
|
||||||
fi
|
|
||||||
|
|
||||||
#${tools_dir}grib_info
|
|
||||||
|
|
||||||
set -u
|
|
||||||
|
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
|
|
||||||
# if an index file does not exist then
|
# if an index file does not exist then
|
||||||
# create index and save to disk
|
# create index and save to disk
|
||||||
${examples_dir}index > index_f90.out
|
${examples_dir}f_index > index_f90.out
|
||||||
diff index_f90.out ${data_dir}/index_f90.ok
|
diff index_f90.out ${data_dir}/index_f90.ok
|
||||||
|
|
||||||
# if an index file exists then load the index from it
|
# if an index file exists then load the index from it
|
||||||
${examples_dir}index > index_f90.out
|
${examples_dir}f_index > index_f90.out
|
||||||
diff index_f90.out ${data_dir}/index_f90.ok
|
diff index_f90.out ${data_dir}/index_f90.ok
|
||||||
|
|
||||||
rm -f index.idx index_f90.out
|
rm -f index.idx index_f90.out
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}keys_iterator > /dev/null
|
${examples_dir}f_keys_iterator > /dev/null
|
||||||
|
|
|
@ -9,6 +9,6 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}multi > multi.out
|
${examples_dir}f_multi > multi.out
|
||||||
diff multi.out ${data_dir}/multi.ok
|
diff multi.out ${data_dir}/multi.ok
|
||||||
rm -f multi.out
|
rm -f multi.out
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}multi_write > /dev/null
|
${examples_dir}f_multi_write > /dev/null
|
||||||
|
|
||||||
${tools_dir}/grib_cmp ${data_dir}/multi_created.grib2 multi_created.grib2
|
${tools_dir}/grib_cmp ${data_dir}/multi_created.grib2 multi_created.grib2
|
||||||
|
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}nearest > /dev/null
|
${examples_dir}f_nearest > /dev/null
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}precision > /dev/null
|
${examples_dir}f_precision > /dev/null
|
||||||
rm -f ${data_dir}/regular_latlon_surface_prec.grib1
|
rm -f ${data_dir}/regular_latlon_surface_prec.grib1
|
||||||
|
|
|
@ -9,4 +9,4 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}print_data > /dev/null
|
${examples_dir}f_print_data > /dev/null
|
||||||
|
|
|
@ -13,4 +13,4 @@
|
||||||
# Check program completed successfully. We have to resort to testing
|
# Check program completed successfully. We have to resort to testing
|
||||||
# the output as there is no way in Fortran to set the exit code
|
# the output as there is no way in Fortran to set the exit code
|
||||||
#
|
#
|
||||||
${examples_dir}read_from_file | grep 'Passed' >/dev/null
|
${examples_dir}f_read_from_file | grep 'Passed' >/dev/null
|
||||||
|
|
|
@ -14,7 +14,7 @@ out=out.grib
|
||||||
|
|
||||||
rm -f $out | true
|
rm -f $out | true
|
||||||
|
|
||||||
${examples_dir}read_message > /dev/null
|
${examples_dir}f_read_message > /dev/null
|
||||||
|
|
||||||
${tools_dir}grib_compare $in $out
|
${tools_dir}grib_compare $in $out
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,12 @@ cp ${data_dir}/regular_latlon_surface.grib1 ${data_dir}/regular_latlon_surface.g
|
||||||
# Change the GRIB_SAMPLES_PATH: put the data dir first
|
# Change the GRIB_SAMPLES_PATH: put the data dir first
|
||||||
GRIB_SAMPLES_PATH=${data_dir}:${samples_dir}
|
GRIB_SAMPLES_PATH=${data_dir}:${samples_dir}
|
||||||
export GRIB_SAMPLES_PATH
|
export GRIB_SAMPLES_PATH
|
||||||
${examples_dir}samples > /dev/null
|
${examples_dir}f_samples > /dev/null
|
||||||
|
|
||||||
# Extend the GRIB_SAMPLES_PATH: put the data dir second
|
# Extend the GRIB_SAMPLES_PATH: put the data dir second
|
||||||
GRIB_SAMPLES_PATH=${samples_dir}:${data_dir}
|
GRIB_SAMPLES_PATH=${samples_dir}:${data_dir}
|
||||||
export GRIB_SAMPLES_PATH
|
export GRIB_SAMPLES_PATH
|
||||||
${examples_dir}samples > /dev/null
|
${examples_dir}f_samples > /dev/null
|
||||||
|
|
||||||
rm -f out.grib1
|
rm -f out.grib1
|
||||||
rm -f ${data_dir}/regular_latlon_surface.grib1.tmpl
|
rm -f ${data_dir}/regular_latlon_surface.grib1.tmpl
|
||||||
|
|
|
@ -9,9 +9,9 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}set > /dev/null
|
${examples_dir}f_set > /dev/null
|
||||||
|
|
||||||
${examples_dir}set_gvc > /dev/null
|
${examples_dir}f_set_gvc > /dev/null
|
||||||
[ -f out_gvc.grib2 ]
|
[ -f out_gvc.grib2 ]
|
||||||
|
|
||||||
rm -f out.grib1 out_gvc.grib2
|
rm -f out.grib1 out_gvc.grib2
|
||||||
|
|
|
@ -8,5 +8,5 @@
|
||||||
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
${examples_dir}set_bitmap > /dev/null
|
${examples_dir}f_set_bitmap > /dev/null
|
||||||
rm -f out.grib
|
rm -f out.grib
|
||||||
|
|
|
@ -14,5 +14,5 @@ grib1File=${data_dir}/reduced_gaussian_pressure_level.grib1
|
||||||
grib2File=${data_dir}/reduced_gaussian_pressure_level.grib2
|
grib2File=${data_dir}/reduced_gaussian_pressure_level.grib2
|
||||||
${tools_dir}grib_set -s editionNumber=2 $grib1File $grib2File
|
${tools_dir}grib_set -s editionNumber=2 $grib1File $grib2File
|
||||||
|
|
||||||
${examples_dir}set_missing > /dev/null
|
${examples_dir}f_set_missing > /dev/null
|
||||||
rm -f out_surface_level.grib2 $grib2File
|
rm -f out_surface_level.grib2 $grib2File
|
||||||
|
|
|
@ -9,5 +9,5 @@
|
||||||
|
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
${examples_dir}set_pv > /dev/null
|
${examples_dir}f_set_pv > /dev/null
|
||||||
rm -f out.grib1
|
rm -f out.grib1
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
if( ENABLE_FORTRAN )
|
if( ENABLE_FORTRAN )
|
||||||
|
|
||||||
ecbuild_enable_fortran( REQUIRED MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/fortran/modules )
|
|
||||||
|
|
||||||
set( srcdir ${CMAKE_CURRENT_SOURCE_DIR} )
|
set( srcdir ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
set( bindir ${CMAKE_CURRENT_BINARY_DIR} )
|
set( bindir ${CMAKE_CURRENT_BINARY_DIR} )
|
||||||
|
|
||||||
|
|
|
@ -300,6 +300,7 @@ list( APPEND grib_api_srcs
|
||||||
jgribapi_GribIterator.h
|
jgribapi_GribIterator.h
|
||||||
md5.h
|
md5.h
|
||||||
md5.c
|
md5.c
|
||||||
|
# Ship our generated lex/yacc C files
|
||||||
grib_windef.h
|
grib_windef.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -316,17 +317,22 @@ list( APPEND grib_api_extra_srcs
|
||||||
|
|
||||||
configure_file( grib_api_version.c.in grib_api_version.c @ONLY )
|
configure_file( grib_api_version.c.in grib_api_version.c @ONLY )
|
||||||
|
|
||||||
ecbuild_generate_yy(YYPREFIX grib_yy
|
# Only the developer should generate the lex/yacc C files
|
||||||
YACC griby
|
#ecbuild_generate_yy(YYPREFIX grib_yy
|
||||||
LEX gribl
|
# YACC griby
|
||||||
DEPENDANT action.c )
|
# LEX gribl
|
||||||
|
# FLEX_FLAGS ""
|
||||||
|
# LEX_FLAGS ""
|
||||||
|
# BISON_FLAGS "-y"
|
||||||
|
# YACC_FLAGS "-y"
|
||||||
|
# DEPENDANT action.c )
|
||||||
|
|
||||||
ecbuild_add_library(TARGET grib_api
|
ecbuild_add_library(TARGET grib_api
|
||||||
SOURCES grib_api_version.c
|
SOURCES grib_api_version.c
|
||||||
griby.c gribl.c
|
#griby.c gribl.c
|
||||||
|
grib_yacc.c grib_lex.c
|
||||||
${grib_api_srcs}
|
${grib_api_srcs}
|
||||||
GENERATED grib_api_version.c
|
GENERATED grib_api_version.c
|
||||||
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
|
||||||
LIBS ${GRIB_API_EXTRA_LIBRARIES}
|
LIBS ${GRIB_API_EXTRA_LIBRARIES}
|
||||||
TEMPLATES ${grib_api_extra_srcs}
|
TEMPLATES ${grib_api_extra_srcs}
|
||||||
${CMATH_LIBRARIES} )
|
${CMATH_LIBRARIES} )
|
||||||
|
|
|
@ -0,0 +1,232 @@
|
||||||
|
# tests/CMakeLists.txt
|
||||||
|
#
|
||||||
|
# Configure the file which all CMake tests will include
|
||||||
|
configure_file( include.ctest.sh.in include.ctest.sh @ONLY )
|
||||||
|
|
||||||
|
# Build the executables used by test scripts
|
||||||
|
################################################
|
||||||
|
list( APPEND test_bins
|
||||||
|
read_any
|
||||||
|
julian
|
||||||
|
index
|
||||||
|
multi_from_message
|
||||||
|
read_index
|
||||||
|
unit_tests
|
||||||
|
gauss_sub
|
||||||
|
)
|
||||||
|
foreach( tool ${test_bins} )
|
||||||
|
# here we use the fact that each tool has only one C file that matches its name
|
||||||
|
ecbuild_add_executable( TARGET ${tool}
|
||||||
|
NOINSTALL
|
||||||
|
SOURCES ${tool}.c
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Now add each test
|
||||||
|
#################################################
|
||||||
|
ecbuild_add_test( TARGET t_definitions
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/definitions.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_ieee
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ieee.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_grib1to2
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib1to2.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_grib2to1
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib2to1.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_badgrib
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/badgrib.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_ls
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/ls.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_convert
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/convert.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_filter
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/filter.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_multi
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/multi.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_budg
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/budg.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_gridType
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/gridType.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_concept
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/concept.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_decimalPrecision
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/decimalPrecision.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_bitsPerValue
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bitsPerValue.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_get_fail
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/get_fail.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_missing
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/missing.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_local
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/local.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_step
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/step.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_set
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/set.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_iterator
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/iterator.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_compare
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/compare.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_level
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/level.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_index
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/index.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_bitmap
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/bitmap.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_list
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/list.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_second_order
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/second_order.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_multi_from_message
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/multi_from_message.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_change_scanning
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/change_scanning.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_julian
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/julian.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_statistics
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/statistics.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_tigge
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tigge.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_tigge_conversions
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tigge_conversions.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_read_any
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/read_any.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_padding
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/padding.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
ecbuild_add_test( TARGET t_debug
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/debug.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_test( TARGET t_unit_tests
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/unit_tests.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
|
||||||
|
###########################################
|
||||||
|
# Note: the reference file is in the tests dir not data dir!
|
||||||
|
ecbuild_add_test( TARGET t_lamb_az_eq_area
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lamb_az_eq_area.sh
|
||||||
|
RESOURCES include.sh lamb_az_eq_area.ref
|
||||||
|
)
|
||||||
|
|
||||||
|
if ( ENABLE_NETCDF )
|
||||||
|
ecbuild_add_test( TARGET t_grib_to_netcdf
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/grib_to_netcdf.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if( ENABLE_JPG )
|
||||||
|
ecbuild_add_test( TARGET t_jpeg
|
||||||
|
TYPE SCRIPT
|
||||||
|
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jpeg.sh
|
||||||
|
RESOURCES include.sh
|
||||||
|
)
|
||||||
|
endif()
|
|
@ -0,0 +1,19 @@
|
||||||
|
set -ea
|
||||||
|
# For CMake
|
||||||
|
|
||||||
|
proj_dir=@PROJECT_SOURCE_DIR@
|
||||||
|
data_dir=@PROJECT_BINARY_DIR@/data
|
||||||
|
|
||||||
|
def_dir=@PROJECT_SOURCE_DIR@/definitions
|
||||||
|
GRIB_DEFINITION_PATH="${def_dir}"
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
#echo gdp=$GRIB_DEFINITION_PATH
|
||||||
|
|
||||||
|
tools_dir=@CMAKE_BINARY_DIR@/bin/
|
||||||
|
tigge_dir=@CMAKE_BINARY_DIR@/bin/
|
||||||
|
test_dir=@CMAKE_BINARY_DIR@/tests
|
||||||
|
|
||||||
|
samp_dir="${proj_dir}/samples"
|
||||||
|
GRIB_SAMPLES_PATH=${samp_dir}
|
||||||
|
export GRIB_SAMPLES_PATH
|
||||||
|
#echo sp=$GRIB_SAMPLES_PATH
|
|
@ -8,46 +8,49 @@
|
||||||
#
|
#
|
||||||
set -ea
|
set -ea
|
||||||
|
|
||||||
echo
|
CMAKE_INCLUDE_FILE=include.ctest.sh
|
||||||
echo "TEST: $0"
|
if [ -f "$CMAKE_INCLUDE_FILE" ]; then
|
||||||
|
# This is the config file for Cmake tests
|
||||||
|
. ./$CMAKE_INCLUDE_FILE
|
||||||
|
|
||||||
data_dir=""
|
|
||||||
|
|
||||||
# save current working dir
|
|
||||||
save=`pwd`
|
|
||||||
|
|
||||||
if [ -z "${data_dir}" ]
|
|
||||||
then
|
|
||||||
cd ../
|
|
||||||
cpath=`pwd`
|
|
||||||
GRIB_DEFINITION_PATH=$cpath/definitions
|
|
||||||
export GRIB_DEFINITION_PATH
|
|
||||||
GRIB_SAMPLES_PATH=$cpath/samples
|
|
||||||
export GRIB_SAMPLES_PATH
|
|
||||||
tools_dir=$cpath/tools/
|
|
||||||
tigge_dir=$cpath/tigge/
|
|
||||||
data_dir=$cpath/data
|
|
||||||
test_dir=$cpath/tests
|
|
||||||
def_dir=$cpath/definitions
|
|
||||||
else
|
else
|
||||||
tools_dir=""
|
# This is for autotools
|
||||||
tigge_dir=""
|
echo
|
||||||
fi
|
echo "TEST: $0"
|
||||||
|
|
||||||
if [ -z "${GRIB_API_INCLUDE}" ]
|
data_dir=""
|
||||||
then
|
# save current working dir
|
||||||
GRIB_API_INCLUDE=`pwd`/src
|
save=`pwd`
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${GRIB_API_LIB}" ]
|
if [ -z "${data_dir}" ]
|
||||||
then
|
then
|
||||||
GRIB_API_LIB=`pwd`/src
|
cd ../
|
||||||
fi
|
cpath=`pwd`
|
||||||
|
GRIB_DEFINITION_PATH=$cpath/definitions
|
||||||
|
export GRIB_DEFINITION_PATH
|
||||||
|
GRIB_SAMPLES_PATH=$cpath/samples
|
||||||
|
export GRIB_SAMPLES_PATH
|
||||||
|
tools_dir=$cpath/tools/
|
||||||
|
tigge_dir=$cpath/tigge/
|
||||||
|
data_dir=$cpath/data
|
||||||
|
test_dir=$cpath/tests
|
||||||
|
def_dir=$cpath/definitions
|
||||||
|
else
|
||||||
|
tools_dir=""
|
||||||
|
tigge_dir=""
|
||||||
|
fi
|
||||||
|
|
||||||
#${tools_dir}grib_info
|
if [ -z "${GRIB_API_INCLUDE}" ]
|
||||||
|
then
|
||||||
|
GRIB_API_INCLUDE=`pwd`/src
|
||||||
|
fi
|
||||||
|
|
||||||
# go back to current working dir
|
if [ -z "${GRIB_API_LIB}" ]
|
||||||
cd $save
|
then
|
||||||
|
GRIB_API_LIB=`pwd`/src
|
||||||
set -u
|
fi
|
||||||
|
|
||||||
|
# go back to current working dir
|
||||||
|
cd $save
|
||||||
|
set -u
|
||||||
|
fi
|
|
@ -17,27 +17,27 @@ REDIRECT=/dev/null
|
||||||
dir="${data_dir}/tigge/"
|
dir="${data_dir}/tigge/"
|
||||||
|
|
||||||
# check tigge global
|
# check tigge global
|
||||||
for file in `ls ${dir}/tigge_*.grib`
|
for file in ${dir}/tigge_*.grib
|
||||||
do
|
do
|
||||||
${tigge_dir}tigge_check ${file} 2> $REDIRECT > $REDIRECT
|
${tigge_dir}tigge_check ${file} 2> $REDIRECT > $REDIRECT
|
||||||
done
|
done
|
||||||
|
|
||||||
# check tigge-lam
|
# check tigge-lam
|
||||||
for file in `ls ${dir}/tiggelam_*.grib`
|
for file in ${dir}/tiggelam_*.grib
|
||||||
do
|
do
|
||||||
${tigge_dir}tigge_check -l ${file} 2> $REDIRECT > $REDIRECT
|
${tigge_dir}tigge_check -l ${file} 2> $REDIRECT > $REDIRECT
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# Now test non-TIGGE files too. We now expect tigge_check to fail!
|
# Now test non-TIGGE files too. We now expect tigge_check to fail!
|
||||||
set +e
|
set +e
|
||||||
# All the grib files in the samples are non-TIGGE
|
# All the grib files in the samples are non-TIGGE
|
||||||
for file in `ls ${GRIB_SAMPLES_PATH}/*.tmpl`
|
for file in ${GRIB_SAMPLES_PATH}/*.tmpl
|
||||||
do
|
do
|
||||||
${tigge_dir}tigge_check ${file} 2> $REDIRECT > $REDIRECT
|
${tigge_dir}tigge_check ${file} 2> $REDIRECT > $REDIRECT
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# should have failed and returned a non-zero exit code
|
# should have failed and returned a non-zero exit code
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ temp2="temp.grib2_"
|
||||||
# --- Do I want to exclude any file pattern from the comparison ?
|
# --- Do I want to exclude any file pattern from the comparison ?
|
||||||
exclusion_pattern="tcw|ssr|str|skt|cap|ci|ttr|st|sm|sd|slhf|sshf"
|
exclusion_pattern="tcw|ssr|str|skt|cap|ci|ttr|st|sm|sd|slhf|sshf"
|
||||||
|
|
||||||
for file in `ls ${dir}/tigge_*.grib`
|
for file in ${dir}/tigge_*.grib
|
||||||
do
|
do
|
||||||
|
|
||||||
exclude=`echo $file | awk " /$exclusion_pattern/ {print \"found\";} "`
|
exclude=`echo $file | awk " /$exclusion_pattern/ {print \"found\";} "`
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# tigge
|
||||||
|
ecbuild_add_executable(TARGET tigge_check
|
||||||
|
SOURCES tigge_check.c
|
||||||
|
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
ecbuild_add_executable(TARGET tigge_name
|
||||||
|
SOURCES tigge_name.c
|
||||||
|
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_executable(TARGET tigge_accumulations
|
||||||
|
SOURCES tigge_accumulations.c
|
||||||
|
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
||||||
|
|
||||||
|
ecbuild_add_executable(TARGET tigge_split
|
||||||
|
SOURCES tigge_split.c
|
||||||
|
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
||||||
|
LIBS grib_api
|
||||||
|
)
|
|
@ -8,7 +8,16 @@
|
||||||
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* cmake config header */
|
||||||
|
#ifdef HAVE_GRIB_API_CONFIG_H
|
||||||
|
#include "grib_api_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* autoconf config header */
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -8,7 +8,15 @@
|
||||||
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* cmake config header */
|
||||||
|
#ifdef HAVE_GRIB_API_CONFIG_H
|
||||||
|
#include "grib_api_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* autoconf config header */
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -8,7 +8,15 @@
|
||||||
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* cmake config header */
|
||||||
|
#ifdef HAVE_GRIB_API_CONFIG_H
|
||||||
|
#include "grib_api_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* autoconf config header */
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -8,7 +8,15 @@
|
||||||
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* cmake config header */
|
||||||
|
#ifdef HAVE_GRIB_API_CONFIG_H
|
||||||
|
#include "grib_api_config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* autoconf config header */
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
|
@ -21,7 +21,6 @@ foreach( tool ${grib_tools_bins} )
|
||||||
# here we use the fact that each tool has only one C file that matches its name
|
# here we use the fact that each tool has only one C file that matches its name
|
||||||
ecbuild_add_executable( TARGET ${tool}
|
ecbuild_add_executable( TARGET ${tool}
|
||||||
SOURCES ${tool}.c
|
SOURCES ${tool}.c
|
||||||
INCLUDES ${GRIB_API_EXTRA_INCLUDE_DIRS}
|
|
||||||
LIBS grib_tools )
|
LIBS grib_tools )
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
Loading…
Reference in New Issue