Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Supporting TECA_assets svn repo in TECA #351

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ env:
- TECA_DIR=/travis_teca_dir
- TECA_PYTHON_VERSION=3
- TECA_DATA_REVISION=86
- TECA_ASSETS_REVISION=3
jobs:
- DOCKER_IMAGE=ubuntu IMAGE_VERSION=20.04 IMAGE_NAME=ubuntu_20_04 REQUIRE_NETCDF_MPI=TRUE
- DOCKER_IMAGE=ubuntu IMAGE_VERSION=20.04 IMAGE_NAME=ubuntu_20_04 REQUIRE_NETCDF_MPI=FALSE
Expand Down Expand Up @@ -54,6 +55,7 @@ install:
docker exec teca_${DOCKER_IMAGE}_${IMAGE_VERSION} /bin/bash -c
"export TECA_PYTHON_VERSION=${TECA_PYTHON_VERSION} &&
export TECA_DATA_REVISION=${TECA_DATA_REVISION} &&
export TECA_ASSETS_REVISION=${TECA_ASSETS_REVISION} &&
export REQUIRE_NETCDF_MPI=${REQUIRE_NETCDF_MPI} &&
${TECA_DIR}/test/travis_ci/install_${IMAGE_NAME}.sh";
fi
Expand Down
5 changes: 3 additions & 2 deletions CMake/teca_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# WILL_FAIL -- flag whose presence indicates the test is expected to fail
# )
function (teca_add_test T_NAME)
set(opt_args REQ_TECA_DATA WILL_FAIL)
set(opt_args REQ_TECA_DATA REQ_TECA_ASSETS WILL_FAIL)
set(val_args EXEC_NAME)
set(array_args SOURCES LIBS COMMAND FEATURES)
cmake_parse_arguments(T "${opt_args}" "${val_args}" "${array_args}" ${ARGN})
Expand All @@ -33,7 +33,8 @@ function (teca_add_test T_NAME)
target_link_libraries(${EXEC_NAME} ${T_LIBS})
endif()
endif()
if ((T_REQ_TECA_DATA AND TECA_HAS_DATA) OR NOT T_REQ_TECA_DATA)
if (((T_REQ_TECA_DATA AND TECA_HAS_DATA) OR NOT T_REQ_TECA_DATA) AND
((T_REQ_TECA_ASSETS AND TECA_HAS_ASSETS) OR NOT T_REQ_TECA_ASSETS))
add_test(NAME ${T_NAME} COMMAND ${T_COMMAND}
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
if (T_WILL_FAIL)
Expand Down
54 changes: 47 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ cmake_policy(SET CMP0028 NEW)
cmake_policy(SET CMP0053 NEW)

project(teca C CXX Fortran)
include(ExternalProject)

# set build/install sub dirs for various components
if (NOT LIB_PREFIX)
Expand Down Expand Up @@ -92,6 +93,7 @@ set(REQUIRE_LIBXLSXWRITER FALSE CACHE BOOL "Forces build failure when libxlsxwri
set(REQUIRE_PARAVIEW FALSE CACHE BOOL "Forces build failure when ParaView is missing")
set(REQUIRE_VTK FALSE CACHE BOOL "Forces build failure when VTK is missing")
set(REQUIRE_TECA_DATA ${BUILD_TESTING} CACHE BOOL "Forces build failure when TECA_data is missing")
set(REQUIRE_TECA_ASSETS ${BUILD_TESTING} CACHE BOOL "Forces build failure when TECA_assets is missing")

# locate dependencies
# configure for MPI
Expand Down Expand Up @@ -331,20 +333,58 @@ endif()
set(TECA_VERSION_DESCR ${tmp} CACHE STRING "TECA version descriptor")
message(STATUS "TECA version ${TECA_VERSION_DESCR}")

# do we have access to a checkout of TECA_data?
# configure for TECA_data
set(tmp OFF)
set(TECA_DATA_ROOT "/path/to/TECA_data"
set(TECA_DATA_ROOT ${CMAKE_CURRENT_BINARY_DIR}/share/TECA/TECA_data
CACHE PATH "Path to TECA_data repository")
if (EXISTS "${TECA_DATA_ROOT}")
set(TECA_DATA_REVISION "-r86" CACHE STRING "TECA_data svn revision")
if (REQUIRE_TECA_DATA)
set(tmp ON)
message(STATUS "TECA_data -- available")
elseif (REQUIRE_TECA_DATA)
message(FATAL_ERROR "TECA_data -- required but not found")
# do we have access to a checkout of TECA_data?
if (EXISTS "${TECA_DATA_ROOT}")
message(STATUS "TECA_data -- available")
else()
ExternalProject_Add(TECA_data
SOURCE_DIR ${TECA_DATA_ROOT}
SVN_REPOSITORY svn://svn.code.sf.net/p/teca/TECA_data
elbashandy marked this conversation as resolved.
Show resolved Hide resolved
SVN_REVISION ${TECA_DATA_REVISION}
UPDATE_COMMAND svn update
CONFIGURE_COMMAND "" BUILD_COMMAND ""
INSTALL_COMMAND "" LOG_DOWNLOAD 1)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how verbose is this? is it disruptive to display in the terminal? if it is not too bad doing so may help a user understand what's going on. I'll leave that call up to you.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it is a little disruptive especially to the progress percentage-values that we get at the building process.

message(STATUS "TECA_data -- populating content at ${TECA_DATA_ROOT}")
endif()
else()
message(STATUS "TECA_data -- not available")
message(STATUS "TECA_data -- not required")
endif()
set(TECA_HAS_DATA ${tmp} CACHE BOOL "TECA_data is present")

# configure for TECA_assets
set(tmp OFF)
set(TECA_ASSETS_ROOT ${CMAKE_CURRENT_BINARY_DIR}/share/TECA/TECA_assets
CACHE PATH "Path to TECA_assets repository")
set(TECA_ASSETS_REVISION "-r3" CACHE STRING "TECA_assets svn revision")
if (REQUIRE_TECA_ASSETS)
set(tmp ON)
# do we have access to a checkout of TECA_assets?
if (EXISTS "${TECA_ASSETS_ROOT}")
message(STATUS "TECA_assets -- available")
else()
ExternalProject_Add(TECA_assets
SOURCE_DIR ${TECA_ASSETS_ROOT}
SVN_REPOSITORY svn://svn.code.sf.net/p/teca/TECA_assets
SVN_REVISION ${TECA_ASSETS_REVISION}
UPDATE_COMMAND svn update
CONFIGURE_COMMAND "" BUILD_COMMAND ""
INSTALL_COMMAND "" LOG_DOWNLOAD 1)
install(DIRECTORY ${TECA_ASSETS_ROOT}
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/TECA)
message(STATUS "TECA_assets -- populating content at ${TECA_ASSETS_ROOT}")
endif()
else()
message(STATUS "TECA_assets -- not required")
endif()
set(TECA_HAS_ASSETS ${tmp} CACHE BOOL "TECA_assets is present")
elbashandy marked this conversation as resolved.
Show resolved Hide resolved

# generate global configuration
include(CMake/teca_test.cmake)
include(CMake/teca_app.cmake)
Expand Down
2 changes: 1 addition & 1 deletion doc/rtd/applications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,7 @@ Example
.. code-block:: bash
mpiexec -np 10 ./bin/teca_tc_trajectory_scalars \
--texture ../../TECA_data/earthmap4k.png \
--texture ../../TECA_assets/earthmap4k.png \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we no longer need to pass on the command line, the default value can be obtained using the new api you defined in teca_py_config.i

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should do that because this is given as a command line argument to the --texture option in the teca_tc_trajectory_scalars app. We can modify it to /path/to/background_image.png if that makes sense. Please let me know if I am missing something.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might be missing that the point of deploying the assets with TECA is that we no longer need to pass these on the command line. It's fine to leave the command line options but make them optional, with the default value pointing to the assets location. Same deal as with the pytorch model.

tracks_1990s_3hr_mdd_4800.bin \
traj_scalars_1990s_3hr_mdd_4800
Expand Down
4 changes: 3 additions & 1 deletion doc/teca_users_guide.tex
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ \subsubsection{Installing TECA}
-DCMAKE_INSTALL_PREFIX=${TECA_INSTALL_DIR} \
-DBUILD_TESTING=ON \
-DTECA_DATA_ROOT=${TECA_DATA_DIR} \
-DTECA_ASSETS_ROOT=${TECA_ASSETS_DIR} \
${TECA_SOURCE_DIR}
make -j4 && make -j4 install
Expand All @@ -270,6 +271,7 @@ \subsubsection{Installing TECA}
-DCMAKE_INSTALL_PREFIX=${TECA_INSTALL_DIR} \
-DBUILD_TESTING=ON \
-DTECA_DATA_ROOT=${TECA_DATA_DIR} \
-DTECA_ASSETS_ROOT=${TECA_ASSETS_DIR} \
${TECA_SOURCE_DIR}
make -j4 && make -j4 install
Expand Down Expand Up @@ -710,7 +712,7 @@ \subsection{Command Line Arguments}
\subsection{Example}
\begin{minted}{bash}
mpiexec -np 10 ./bin/teca_tc_trajectory_scalars \
--texture ../../TECA_data/earthmap4k.png \
--texture ../../TECA_assets/earthmap4k.png \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use the new api in teca_py_config.i to fetch a default internally

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should do that because this is given as a command line argument to the --texture option in the teca_tc_trajectory_scalars app. We can modify it to /path/to/background_image.png if that makes sense. Please let me know if I am missing something.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comments above.

tracks_1990s_3hr_mdd_4800.bin \
traj_scalars_1990s_3hr_mdd_4800
\end{minted}
Expand Down
21 changes: 21 additions & 0 deletions python/teca_py_config.i
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,27 @@ const char *get_teca_data_root()
#endif
}

// return true if the location of TECA_assets repo is known
bool get_teca_has_assets()
{
#if defined(TECA_HAS_ASSETS)
return true;
#else
return false;
#endif
}

// return the path to a TECA_assets repo check out, or None if the
// path is not known at compile time
const char *get_teca_assets_root()
{
#if defined(TECA_HAS_ASSETS)
return TECA_ASSETS_ROOT;
#else
return nullptr;
#endif
}

// return true if TECA was compiled with regex support
bool get_teca_has_regex()
{
Expand Down
4 changes: 3 additions & 1 deletion teca_config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,13 @@

#cmakedefine TECA_VERSION_DESCR "@TECA_VERSION_DESCR@"
#cmakedefine TECA_PYTHON_VERSION @TECA_PYTHON_VERSION@
#cmakedefine TECA_DATA_ROOT "@TECA_DATA_ROOT@"

#cmakedefine TECA_ENABLE_PROFILER

#cmakedefine TECA_HAS_DATA
#cmakedefine TECA_DATA_ROOT "@TECA_DATA_ROOT@"

#cmakedefine TECA_HAS_ASSETS
#cmakedefine TECA_ASSETS_ROOT "@TECA_ASSETS_ROOT@"

#endif
10 changes: 5 additions & 5 deletions test/apps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}

teca_add_test(test_deeplabv3p_ar_detect_app_thread
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect_app.sh
${CMAKE_BINARY_DIR}/${BIN_PREFIX} ${TECA_DATA_ROOT} -1
${CMAKE_BINARY_DIR}/${BIN_PREFIX} ${TECA_DATA_ROOT} ${TECA_ASSETS_ROOT} -1
FEATURES ${TECA_HAS_NETCDF}
REQ_TECA_DATA)
REQ_TECA_DATA REQ_TECA_ASSETS)

teca_add_test(test_deeplabv3p_ar_detect_app_mpi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect_app.sh
${CMAKE_BINARY_DIR}/${BIN_PREFIX} ${TECA_DATA_ROOT} -1
${MPIEXEC} ${HALF_TEST_CORES}
${CMAKE_BINARY_DIR}/${BIN_PREFIX} ${TECA_DATA_ROOT}
${TECA_ASSETS_ROOT} -1 ${MPIEXEC} ${HALF_TEST_CORES}
FEATURES ${TECA_HAS_NETCDF_MPI} ${TECA_HAS_MPI} ${MPI4Py_FOUND}
REQ_TECA_DATA)
REQ_TECA_DATA REQ_TECA_ASSETS)

teca_add_test(test_bayesian_ar_detect_app_thread
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_bayesian_ar_detect_app.sh
Expand Down
13 changes: 7 additions & 6 deletions test/apps/test_deeplabv3p_ar_detect_app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@
if [[ $# < 2 ]]
then
echo "usage: test_deeplabv3p_ar_detect_app.sh [app prefix] " \
"[data root] [n threads] [mpi exec] [n ranks]"
"[data root] [assets root] [n threads] [mpi exec] [n ranks]"
exit -1
fi

app_prefix=${1}
data_root=${2}
n_threads=${3}
assets_root=${3}
n_threads=${4}

if [[ $# -eq 5 ]]
if [[ $# -eq 6 ]]
then
mpi_exec=${4}
test_cores=${5}
mpi_exec=${5}
test_cores=${6}
launcher="${mpi_exec} -n ${test_cores}"
fi

Expand All @@ -23,7 +24,7 @@ set -x
# run the app
${launcher} ${app_prefix}/teca_deeplabv3p_ar_detect \
--input_regex "${data_root}/ARTMIP_MERRA_2D_2017-05.*\.nc$" \
--pytorch_deeplab_model ${data_root}/cascade_deeplab_IVT.pt \
--pytorch_deeplab_model ${assets_root}/cascade_deeplab_IVT.pt \
--n_threads ${n_threads} \
--output_file test_deeplabv3p_ar_detect_app_output_%t%.nc

Expand Down
19 changes: 8 additions & 11 deletions test/python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ teca_add_test(py_test_tc_activity
teca_add_test(py_test_tc_trajectory_scalars_serial
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_tc_trajectory_scalars.py
"${TECA_DATA_ROOT}/tracks_1990s_3hr_mdd_4800_median_in_cat_wr.bin"
"${TECA_DATA_ROOT}/earthmap4k.png"
"${TECA_ASSETS_ROOT}/earthmap4k.png"
"${TECA_DATA_ROOT}/py_test_tc_trajectory_scalars.bin" 0 -1
FEATURES ${TECA_HAS_UDUNITS}
REQ_TECA_DATA)
Expand All @@ -337,7 +337,7 @@ teca_add_test(py_test_tc_trajectory_scalars_mpi
COMMAND ${MPIEXEC} -n ${TEST_CORES} ${PYTHON_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/test_tc_trajectory_scalars.py
"${TECA_DATA_ROOT}/tracks_1990s_3hr_mdd_4800_median_in_cat_wr.bin"
"${TECA_DATA_ROOT}/earthmap4k.png"
"${TECA_ASSETS_ROOT}/earthmap4k.png"
"${TECA_DATA_ROOT}/py_test_tc_trajectory_scalars.bin" 0 -1
FEATURES ${TECA_HAS_UDUNITS} ${TECA_HAS_MPI} ${MPI4Py_FOUND}
REQ_TECA_DATA)
Expand Down Expand Up @@ -375,28 +375,25 @@ teca_add_test(py_test_bayesian_ar_detect_mpi_threads

teca_add_test(py_test_deeplabv3p_ar_detect_serial
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect.py
"${TECA_DATA_ROOT}/cascade_deeplab_IVT.pt"
"${TECA_DATA_ROOT}/ARTMIP_MERRA_2D_2017-05.*\.nc$"
"${TECA_DATA_ROOT}/test_deeplabv3p_ar_detect" IVT 1
FEATURES ${TECA_HAS_NETCDF}
REQ_TECA_DATA)
REQ_TECA_DATA REQ_TECA_ASSETS)

teca_add_test(py_test_deeplabv3p_ar_detect_threads
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect.py
"${TECA_DATA_ROOT}/cascade_deeplab_IVT.pt"
"${TECA_DATA_ROOT}/ARTMIP_MERRA_2D_2017-05.*\.nc$"
"${TECA_DATA_ROOT}/test_deeplabv3p_ar_detect" IVT -1
FEATURES ${TECA_HAS_NETCDF}
REQ_TECA_DATA)
REQ_TECA_DATA REQ_TECA_ASSETS)

teca_add_test(py_test_deeplabv3p_ar_detect_mpi_threads
COMMAND ${MPIEXEC} -n ${HALF_TEST_CORES} ${PYTHON_EXECUTABLE}
${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect.py
"${TECA_DATA_ROOT}/cascade_deeplab_IVT.pt"
"${TECA_DATA_ROOT}/ARTMIP_MERRA_2D_2017-05.*\.nc$"
"${TECA_DATA_ROOT}/test_deeplabv3p_ar_detect" IVT -1
${CMAKE_CURRENT_SOURCE_DIR}/test_deeplabv3p_ar_detect.py
"${TECA_DATA_ROOT}/ARTMIP_MERRA_2D_2017-05.*\.nc$"
"${TECA_DATA_ROOT}/test_deeplabv3p_ar_detect" IVT -1
FEATURES ${TECA_HAS_NETCDF} ${TECA_HAS_MPI} ${MPI4Py_FOUND}
REQ_TECA_DATA)
REQ_TECA_DATA REQ_TECA_ASSETS)

teca_add_test(py_test_binary_stream
COMMAND ${MPIEXEC} -n ${TEST_CORES} ${PYTHON_EXECUTABLE}
Expand Down
2 changes: 2 additions & 0 deletions test/python/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@
sys.stderr.write('TECA_HAS_OPENSSL=%s\n'%(str(get_teca_has_openssl())))
sys.stderr.write('TECA_HAS_DATA=%s\n'%(str(get_teca_has_data())))
sys.stderr.write('TECA_DATA_ROOT=%s\n'%(get_teca_data_root()))
sys.stderr.write('TECA_HAS_ASSETS=%s\n'%(str(get_teca_has_assets())))
sys.stderr.write('TECA_ASSETS_ROOT=%s\n'%(get_teca_assets_root()))
21 changes: 12 additions & 9 deletions test/python/test_deeplabv3p_ar_detect.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,24 @@
set_stack_trace_on_error()
set_stack_trace_on_mpi_error()

if (len(sys.argv) != 6):
if (len(sys.argv) != 5):
sys.stderr.write('\n\nUsage error:\n'
'test_deeplabv3p_ar_detect [deeplab model] '
'[mesh data regex] [baseline] '
'[water vapor var] [num threads]\n\n')
'test_deeplabv3p_ar_detect [mesh data regex] '
'[baseline] [water vapor var] [num threads]\n\n')
sys.exit(-1)

# parse command line
deeplab_model = sys.argv[1]
input_regex = sys.argv[2]
baseline = sys.argv[3]
water_vapor_var = sys.argv[4]
n_threads = int(sys.argv[5])
input_regex = sys.argv[1]
baseline = sys.argv[2]
water_vapor_var = sys.argv[3]
n_threads = int(sys.argv[4])
vrb = 1

deeplab_model = os.path.join(
get_teca_assets_root(),
"cascade_deeplab_IVT.pt"
)

cf_reader = teca_cf_reader.New()
cf_reader.set_files_regex(input_regex)
cf_reader.set_periodic_in_x(1)
Expand Down
1 change: 1 addition & 0 deletions test/travis_ci/ctest_linux.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ BUILD_TESTING=ON
TECA_ENABLE_PROFILER=ON
TECA_PYTHON_VERSION=$ENV{TECA_PYTHON_VERSION}
TECA_DATA_ROOT=$ENV{DASHROOT}/TECA_data
TECA_ASSETS_ROOT=$ENV{DASHROOT}/TECA_assets
TECA_TEST_CORES=2
REQUIRE_OPENSSL=TRUE
REQUIRE_BOOST=TRUE
Expand Down
1 change: 1 addition & 0 deletions test/travis_ci/ctest_osx.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ BUILD_TESTING=ON
TECA_ENABLE_PROFILER=ON
TECA_PYTHON_VERSION=$ENV{TECA_PYTHON_VERSION}
TECA_DATA_ROOT=$ENV{DASHROOT}/TECA_data
TECA_ASSETS_ROOT=$ENV{DASHROOT}/TECA_assets
TECA_TEST_CORES=2
REQUIRE_OPENSSL=TRUE
OPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1
Expand Down
1 change: 1 addition & 0 deletions test/travis_ci/install_fedora_31.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ pip3 install numpy mpi4py matplotlib torch

# install data files.
svn co svn://svn.code.sf.net/p/teca/TECA_data@${TECA_DATA_REVISION} TECA_data
svn co svn://svn.code.sf.net/p/teca/TECA_assets@${TECA_ASSETS_REVISION} TECA_assets
9 changes: 9 additions & 0 deletions test/travis_ci/install_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,12 @@ do
echo -n "."
sleep 2s
done

svn co svn://svn.code.sf.net/p/teca/TECA_assets@${TECA_ASSETS_REVISION} TECA_assets &
svn_pid=$!

while [ -n "$(ps -p $svn_pid -o pid=)" ]
do
echo -n "."
sleep 2s
done
1 change: 1 addition & 0 deletions test/travis_ci/install_ubuntu_14_04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ sudo tar -C /usr -x -z -f cmake-3.5.2-Linux-x86_64.tar.gz --strip-components=1

# install data files.
svn co svn://svn.code.sf.net/p/teca/TECA_data@${TECA_DATA_REVISION} TECA_data
svn co svn://svn.code.sf.net/p/teca/TECA_assets@${TECA_ASSETS_REVISION} TECA_assets
1 change: 1 addition & 0 deletions test/travis_ci/install_ubuntu_20_04.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ pip3 install numpy mpi4py matplotlib torch

# install data files.
svn co svn://svn.code.sf.net/p/teca/TECA_data@${TECA_DATA_REVISION} TECA_data
svn co svn://svn.code.sf.net/p/teca/TECA_assets@${TECA_ASSETS_REVISION} TECA_assets