import rioxarray as rx
import xarray as xr
data = xr.open_dataset("test.nc")["var"].transpose('time', 'lat', 'lon')
data.rio.to_raster("a.tif")
Problem description
Traceback (most recent call last):
File "D:\Graduate_Python_code\program\figshare_download.py", line 8, in
data2.rio.to_raster("a.tif")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\rioxarray\raster_array.py", line 1125, in to_raster
return RasterioWriter(raster_path=raster_path).to_raster(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\rioxarray\raster_writer.py", line 247, in to_raster
xarray_dataarray = xarray_dataarray.copy()
^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\dataarray.py", line 1226, in copy
return self._copy(deep=deep, data=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\dataarray.py", line 1234, in _copy
variable = self.variable._copy(deep=deep, data=data, memo=memo)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\variable.py", line 1084, in _copy
ndata = copy.deepcopy(ndata, memo)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 161, in deepcopy
rv = reductor(4)
^^^^^^^^^^^
TypeError: cannot pickle '_thread.lock' object
Problem description
Traceback (most recent call last): File "D:\Graduate_Python_code\program\figshare_download.py", line 8, in
data2.rio.to_raster("a.tif")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\rioxarray\raster_array.py", line 1125, in to_raster
return RasterioWriter(raster_path=raster_path).to_raster(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\rioxarray\raster_writer.py", line 247, in to_raster
xarray_dataarray = xarray_dataarray.copy()
^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\dataarray.py", line 1226, in copy
return self._copy(deep=deep, data=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\dataarray.py", line 1234, in _copy
variable = self.variable._copy(deep=deep, data=data, memo=memo)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\site-packages\xarray\core\variable.py", line 1084, in _copy
ndata = copy.deepcopy(ndata, memo)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, rv)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 271, in _reconstruct
state = deepcopy(state, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 231, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 146, in deepcopy
y = copier(x, memo)
^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in _deepcopy_tuple
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 211, in
y = [deepcopy(a, memo) for a in x]
^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\raster\Lib\copy.py", line 161, in deepcopy
rv = reductor(4)
^^^^^^^^^^^
TypeError: cannot pickle '_thread.lock' object
Expected Output
Environment Information
python -c "import rioxarray; rioxarray.show_versions()"
Installation method