pp-mo / ncdata

Free and efficient exchange of data between netcdf files, Xarray and Iris
https://ncdata.readthedocs.io/en/latest/index.html
BSD 3-Clause "New" or "Revised" License
10 stars 2 forks source link

Outstanding warnings in tests #52

Open pp-mo opened 10 months ago

pp-mo commented 10 months ago

Running all tests (including iris-test-data) with latest deps currently produces this:

============================================================= warnings summary ==============================================================
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__units]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__units]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:862: UserWarning: Ignoring netCDF variable 'time' invalid units 'wibble'
    warnings.warn(msg)

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__units]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__units]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:862: UserWarning: Ignoring netCDF variable 'cube_1' invalid units 'kevin'
    warnings.warn(msg)

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__test_monotonic_coordinate]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1085: UserWarning: Failed to create 'time1' dimension coordinate: The 'time' DimCoord points array must be strictly monotonic.
  Gracefully creating 'time1' auxiliary coordinate instead.
    warnings.warn(msg.format(name=str(cf_coord_var.cf_name), error=e_msg))

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__test_monotonic_coordinate]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1010: UserWarning: Gracefully filling 'time3' dimension coordinate masked points
    warnings.warn(msg.format(str(cf_coord_var.cf_name)))

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__test_monotonic_coordinate]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1085: UserWarning: Failed to create 'time3' dimension coordinate: The 'time' DimCoord points array must be strictly monotonic.
  Gracefully creating 'time3' auxiliary coordinate instead.
    warnings.warn(msg.format(name=str(cf_coord_var.cf_name), error=e_msg))

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____testing__test_monotonic_coordinate]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____testing__test_monotonic_coordinate]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1010: UserWarning: Gracefully filling 'time2' dimension coordinate masked points
    warnings.warn(msg.format(str(cf_coord_var.cf_name)))

tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
tests/integration/test_iris_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
tests/integration/test_iris_xarray_roundtrips.py::test_roundtrip_ixi[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/cf.py:859: UserWarning: Missing CF-netCDF measure variable 'areacello', referenced by netCDF variable 'volcello'
    warnings.warn(

tests/integration/test_iris_load_and_save_equivalence.py: 5 warnings
tests/integration/test_iris_xarray_roundtrips.py: 6 warnings
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/netcdf/_thread_safe_nc.py:344: UserWarning: WARNING: missing_value not used since it
  cannot be safely cast to variable data type
    var = variable[keys]

tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[ds_masked_withnans]
tests/integration/test_netcdf_roundtrips.py::test_basic[ds_masked_withnans]
  /net/home/h05/itpp/mytmp/ncdata_tests/tests/_compare_nc_datasets.py:380: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty.
    if nandiffs:

tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____label_and_climate__small_FC_167_mon_19601101]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/cf.py:1213: UserWarning: Ignoring variable 'time_bnd' referenced by variable 'tas': Dimensions ('time', 'time_bnd') do not span ('time', 'ensemble', 'latitude', 'longitude')
    warnings.warn(msg)

tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____label_and_climate__small_FC_167_mon_19601101]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1010: UserWarning: Gracefully filling 'latitude' dimension coordinate masked points
    warnings.warn(msg.format(str(cf_coord_var.cf_name)))

tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____label_and_climate__small_FC_167_mon_19601101]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/_nc_load_rules/helpers.py:1085: UserWarning: Failed to create 'latitude' dimension coordinate: The 'latitude' DimCoord points array must be strictly monotonic.
  Gracefully creating 'latitude' auxiliary coordinate instead.
    warnings.warn(msg.format(name=str(cf_coord_var.cf_name), error=e_msg))

tests/integration/test_iris_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____label_and_climate__small_FC_167_mon_19601101]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/iris/fileformats/netcdf/saver.py:362: SaverFillValueWarning: CF var 'latitude' contains unmasked data points equal to the fill-value, 9.969209968386869e+36. As saved, these points will read back as missing data. To save these as normal values, `_FillValue` needs to be set to not equal any valid data points. For Cube data this can be done via the 'fill_value' keyword during saving, otherwise use ncedit/equivalent.
    warnings.warn(result)

tests/integration/test_netcdf_roundtrips.py::test_basic[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
  /net/home/h05/itpp/mytmp/ncdata_tests/tests/_compare_nc_datasets.py:335: UserWarning: WARNING: missing_value not used since it
  cannot be safely cast to variable data type
    data = var[:]

tests/integration/test_xarray_load_and_save_equivalence.py::test_load_direct_vs_viancdata[ds_scaleoffset]
tests/integration/test_xarray_load_and_save_equivalence.py::test_load_direct_vs_viancdata[ds_masked_scaled_ints]
  /net/home/h05/itpp/mytmp/ncdata_tests/tests/integration/test_xarray_load_and_save_equivalence.py:81: SerializationWarning: saving variable vx with floating point data as an integer dtype without any _FillValue to use for NaNs
    xr_ds.to_netcdf(temp_xr_path)

tests/integration/test_xarray_load_and_save_equivalence.py::test_load_direct_vs_viancdata[ds_scaleoffset]
tests/integration/test_xarray_load_and_save_equivalence.py::test_load_direct_vs_viancdata[ds_masked_scaled_ints]
  /net/home/h05/itpp/mytmp/ncdata_tests/tests/integration/test_xarray_load_and_save_equivalence.py:82: SerializationWarning: saving variable vx with floating point data as an integer dtype without any _FillValue to use for NaNs
    xr_ncdata_ds.to_netcdf(temp_xr_ncdata_path)

tests/integration/test_xarray_load_and_save_equivalence.py::test_load_direct_vs_viancdata[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
tests/integration/test_xarray_load_and_save_equivalence.py::test_save_direct_vs_viancdata[testdata____volcello__volcello_Ofx_CESM2_deforest__globe_r1i1p1f1_gn]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/xarray/conventions.py:436: SerializationWarning: variable 'volcello' has multiple fill values {1e+20, 1e+20}, decoding all values to NaN.
    new_vars[k] = decode_cf_variable(

tests/integration/test_xarray_load_and_save_equivalence.py::test_save_direct_vs_viancdata[ds_scaleoffset]
tests/integration/test_xarray_load_and_save_equivalence.py::test_save_direct_vs_viancdata[ds_masked_scaled_ints]
  /net/home/h05/itpp/mytmp/ncdata_tests/tests/integration/test_xarray_load_and_save_equivalence.py:121: SerializationWarning: saving variable vx with floating point data as an integer dtype without any _FillValue to use for NaNs
    xrds.to_netcdf(temp_direct_savepath)

tests/integration/test_xarray_load_and_save_equivalence.py::test_save_direct_vs_viancdata[ds_scaleoffset]
tests/integration/test_xarray_load_and_save_equivalence.py::test_save_direct_vs_viancdata[ds_masked_scaled_ints]
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/ncdata/xarray.py:200: SerializationWarning: saving variable vx with floating point data as an integer dtype without any _FillValue to use for NaNs
    return _XarrayNcDataStore.from_xarray(xrds, **xarray_save_kwargs).ncdata

tests/unit/xarray/test_from_xarray.py::test_kwargs__encoding__packing
  /tmp/persistent/newconda-envs/ncdtmp/lib/python3.11/site-packages/ncdata/xarray.py:200: SerializationWarning: saving variable var_x with floating point data as an integer dtype without any _FillValue to use for NaNs
    return _XarrayNcDataStore.from_xarray(xrds, **xarray_save_kwargs).ncdata

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================= 564 passed, 77 skipped, 61 warnings in 271.24s (0:04:31) ==========================================

A handy set of problems to chase !