We seem to be semi-regularly getting failures on windows-latest - Python 3.7 / NumPy 1.18 with :
..\tests\test_sph2grd.py::test_sph2grd_outgrid FAILED [ 87%]
..\tests\test_sph2grd.py::test_sph2grd_no_outgrid FAILED [ 87%]
due to issues with the remote file.
____________________________ test_sph2grd_outgrid _____________________________
def test_sph2grd_outgrid():
"""
Test sph2grd with a set outgrid.
"""
with GMTTempFile(suffix=".nc") as tmpfile:
> result = sph2grd(
data="@EGM96_to_36.txt", outgrid=tmpfile.name, spacing=1, region="g"
)
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\tests\test_sph2grd.py:16:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:586: in new_module
return module_func(*args, **kwargs)
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:726: in new_module
return module_func(*args, **kwargs)
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\src\sph2grd.py:75: in sph2grd
lib.call_module("sph2grd", arg_str)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pygmt.clib.session.Session object at 0x000002E91CE65370>
Error: [ERROR]: Cannot find file C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt
Error: [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt not found
[Session pygmt-session (1719)]: Error returned from GMT API: GMT_FILE_NOT_FOUND (16)
___________________________ test_sph2grd_no_outgrid ___________________________
def test_sph2grd_no_outgrid():
"""
Test sph2grd with no set outgrid.
"""
> temp_grid = sph2grd(data="@EGM96_to_36.txt", spacing=1, region="g")
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\tests\test_sph2grd.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:586: in new_module
return module_func(*args, **kwargs)
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:726: in new_module
return module_func(*args, **kwargs)
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\src\sph2grd.py:75: in sph2grd
lib.call_module("sph2grd", arg_str)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pygmt.clib.session.Session object at 0x000002E91CEC3BB0>
module = 'sph2grd'
args = '@EGM96_to_36.txt -GC:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\pygmt-1jo39m30.nc -I1 -Rg'
def call_module(self, module, args):
"""
Call a GMT module with the given arguments.
Makes a call to ``GMT_Call_Module`` from the C API using mode
``GMT_MODULE_CMD`` (arguments passed as a single string).
Most interactions with the C API are done through this function.
Parameters
----------
module : str
Module name (``'coast'``, ``'basemap'``, etc).
args : str
String with the command line arguments that will be passed to the
module (for example, ``'-R0/5/0/10 -JM'``).
Raises
------
GMTCLibError
If the returned status code of the function is non-zero.
"""
c_call_module = self.get_libgmt_func(
"GMT_Call_Module",
argtypes=[ctp.c_void_p, ctp.c_char_p, ctp.c_int, ctp.c_void_p],
restype=ctp.c_int,
)
mode = self["GMT_MODULE_CMD"]
status = c_call_module(
self.session_pointer, module.encode(), mode, args.encode()
)
if status != 0:
> raise GMTCLibError(
f"Module '{module}' failed with status code {status}:\n{self._error_message}"
)
E pygmt.exceptions.GMTCLibError: Module 'sph2grd' failed with status code 16:
Error: sph2grd [ERROR]: Libcurl Error: Timeout was reached
Error: sph2grd [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt was not found
Error: sph2grd [ERROR]: Cannot find file C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt
Error: sph2grd [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt not found
C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\clib\session.py:500: GMTCLibError
We seem to be semi-regularly getting failures on windows-latest - Python 3.7 / NumPy 1.18 with :
..\tests\test_sph2grd.py::test_sph2grd_outgrid FAILED [ 87%]
..\tests\test_sph2grd.py::test_sph2grd_no_outgrid FAILED [ 87%]
due to issues with the remote file.
Originally posted by @meghanrjones in #1242 (comment)
Full error message at https://github.com/GenericMappingTools/pygmt/runs/4099608763?check_suite_focus=true#step:11:578:
____________________________ test_sph2grd_outgrid _____________________________ def test_sph2grd_outgrid(): """ Test sph2grd with a set outgrid. """ with GMTTempFile(suffix=".nc") as tmpfile: > result = sph2grd( data="@EGM96_to_36.txt", outgrid=tmpfile.name, spacing=1, region="g" ) C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\tests\test_sph2grd.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:586: in new_module return module_func(*args, **kwargs) C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:726: in new_module return module_func(*args, **kwargs) C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\src\sph2grd.py:75: in sph2grd lib.call_module("sph2grd", arg_str) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pygmt.clib.session.Session object at 0x000002E91CE65370> Error: [ERROR]: Cannot find file C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt Error: [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt not found [Session pygmt-session (1719)]: Error returned from GMT API: GMT_FILE_NOT_FOUND (16) ___________________________ test_sph2grd_no_outgrid ___________________________ def test_sph2grd_no_outgrid(): """ Test sph2grd with no set outgrid. """ > temp_grid = sph2grd(data="@EGM96_to_36.txt", spacing=1, region="g") C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\tests\test_sph2grd.py:27: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:586: in new_module return module_func(*args, **kwargs) C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\helpers\decorators.py:726: in new_module return module_func(*args, **kwargs) C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\src\sph2grd.py:75: in sph2grd lib.call_module("sph2grd", arg_str) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pygmt.clib.session.Session object at 0x000002E91CEC3BB0> module = 'sph2grd' args = '@EGM96_to_36.txt -GC:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\pygmt-1jo39m30.nc -I1 -Rg' def call_module(self, module, args): """ Call a GMT module with the given arguments. Makes a call to ``GMT_Call_Module`` from the C API using mode ``GMT_MODULE_CMD`` (arguments passed as a single string). Most interactions with the C API are done through this function. Parameters ---------- module : str Module name (``'coast'``, ``'basemap'``, etc). args : str String with the command line arguments that will be passed to the module (for example, ``'-R0/5/0/10 -JM'``). Raises ------ GMTCLibError If the returned status code of the function is non-zero. """ c_call_module = self.get_libgmt_func( "GMT_Call_Module", argtypes=[ctp.c_void_p, ctp.c_char_p, ctp.c_int, ctp.c_void_p], restype=ctp.c_int, ) mode = self["GMT_MODULE_CMD"] status = c_call_module( self.session_pointer, module.encode(), mode, args.encode() ) if status != 0: > raise GMTCLibError( f"Module '{module}' failed with status code {status}:\n{self._error_message}" ) E pygmt.exceptions.GMTCLibError: Module 'sph2grd' failed with status code 16: Error: sph2grd [ERROR]: Libcurl Error: Timeout was reached Error: sph2grd [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt was not found Error: sph2grd [ERROR]: Cannot find file C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt Error: sph2grd [ERROR]: File C:/Users/runneradmin/.gmt/cache/EGM96_to_36.txt not found C:\Miniconda3\envs\pygmt\lib\site-packages\pygmt\clib\session.py:500: GMTCLibError