Closed InnocentSouopgui-NOAA closed 3 months ago
I'm unable to test on S4 so I'll trust all is working properly. Is there anything else you need to add to this PR or can I merge?
I'm unable to test on S4 so I'll trust all is working properly. Is there anything else you need to add to this PR or can I merge?
I will run few more tests today, and let you know when it's ready. Since we only moved the modules loading to a separate file, I believe it should be enough to check that it is producing the same result as before. That is what I am looking for in my tests.
I am having the error below for 4 plots (out of hundreds). The errors shows with or without modulefile. So it is not related to the modifications in this pull request, but I think that it is worth investigating.
Is the error showing on another machine?
The traceback looks identical for the four cases, but the files being read are differents. I am pasting below the four instances
Working on lat-lon error plots for HINDEX sfc
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/sfc/ctrl/d5_HINDEX_sfc.nc exists
Plotting ctrl
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/sfc/csr/d5_HINDEX_sfc.nc exists
Plotting csr - ctrl
Traceback (most recent call last):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 15, in __call__
return self.fn(this._geom, other._geom, *args)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geos.py", line 584, in errcheck_predicate
raise PredicateError("Failed to evaluate %s" % repr(func))
shapely.errors.PredicateError: Failed to evaluate <_FuncPtr object at 0x7f7b68d7dc40>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<...>/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 616, in <module>
CF_ax = plot_subplot_data(
File "<...>/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 245, in plot_subplot_data
CF_tmp = ax_tmp.contourf(
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 321, in wrapper
return func(self, *args, **kwargs)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in contourf
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in <listcomp>
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in get_datalim
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in <listcomp>
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/transforms.py", line 2361, in transform_path_non_affine
return self._a.transform_path_non_affine(path)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 189, in transform_path_non_affine
geoms = cpatch.path_to_geos(src_path,
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/patch.py", line 184, in path_to_geos
collection[-1][0].contains(geom.exterior)):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geometry/base.py", line 747, in contains
return bool(self.impl['contains'](self, other))
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 18, in __call__
self._check_topology(err, this, other)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/topology.py", line 35, in _check_topology
raise TopologicalError(
shapely.errors.TopologicalError: The operation 'GEOSContains_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7f7b656e7820>
Working on lat-lon error plots for WEASD sfc
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/precip/ctrl/d5_WEASD_sfc.nc exists
Plotting ctrl
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/precip/csr/d5_WEASD_sfc.nc exists
Plotting csr - ctrl
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/precip/T_ten/d5_WEASD_sfc.nc exists
Plotting T_ten - ctrl
Traceback (most recent call last):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 15, in __call__
return self.fn(this._geom, other._geom, *args)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geos.py", line 584, in errcheck_predicate
raise PredicateError("Failed to evaluate %s" % repr(func))
shapely.errors.PredicateError: Failed to evaluate <_FuncPtr object at 0x7fe7b7e85a00>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/users/isouopgui/devel/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 616, in <module>
CF_ax = plot_subplot_data(
File "/data/users/isouopgui/devel/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 245, in plot_subplot_data
CF_tmp = ax_tmp.contourf(
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 321, in wrapper
return func(self, *args, **kwargs)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in contourf
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in <listcomp>
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in get_datalim
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in <listcomp>
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/transforms.py", line 2361, in transform_path_non_affine
return self._a.transform_path_non_affine(path)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 189, in transform_path_non_affine
geoms = cpatch.path_to_geos(src_path,
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/patch.py", line 184, in path_to_geos
collection[-1][0].contains(geom.exterior)):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geometry/base.py", line 747, in contains
return bool(self.impl['contains'](self, other))
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 18, in __call__
self._check_topology(err, this, other)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/topology.py", line 35, in _check_topology
raise TopologicalError(
shapely.errors.TopologicalError: The operation 'GEOSContains_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7fe79f4e5100>
Working on lat-lon error plots for CAPE sfc
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/capecin/ctrl/d5_CAPE_sfc.nc exists
Plotting ctrl
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/capecin/csr/d5_CAPE_sfc.nc exists
Plotting csr - ctrl
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/capecin/T_ten/d5_CAPE_sfc.nc exists
Plotting T_ten - ctrl
<...>/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/capecin/T_ten_ocean/d5_CAPE_sfc.nc exists
Plotting T_ten_ocean - ctrl
Traceback (most recent call last):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 15, in __call__
return self.fn(this._geom, other._geom, *args)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geos.py", line 584, in errcheck_predicate
raise PredicateError("Failed to evaluate %s" % repr(func))
shapely.errors.PredicateError: Failed to evaluate <_FuncPtr object at 0x7fac18de1880>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<...>/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 616, in <module>
CF_ax = plot_subplot_data(
File "<...>/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 245, in plot_subplot_data
CF_tmp = ax_tmp.contourf(
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 321, in wrapper
return func(self, *args, **kwargs)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in contourf
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in <listcomp>
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in get_datalim
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in <listcomp>
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/transforms.py", line 2361, in transform_path_non_affine
return self._a.transform_path_non_affine(path)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 189, in transform_path_non_affine
geoms = cpatch.path_to_geos(src_path,
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/patch.py", line 184, in path_to_geos
collection[-1][0].contains(geom.exterior)):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geometry/base.py", line 747, in contains
return bool(self.impl['contains'](self, other))
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 18, in __call__
self._check_topology(err, this, other)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/topology.py", line 35, in _check_topology
raise TopologicalError(
shapely.errors.TopologicalError: The operation 'GEOSContains_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7fac146569a0>
Working on lat-lon error plots for TSOIL 100-200cmUGL
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/groundsoil/ctrl/d1_TSOIL_100-200cmUGL.nc exists
Plotting ctrl
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/groundsoil/csr/d1_TSOIL_100-200cmUGL.nc exists
Plotting csr - ctrl
/scratch/users/isouopgui/verif_global_maps2d_s4/tmp/verif_global.263425/maps2d/metplus_output/make_met_data_by_VALID/series_analysis/model2model/groundsoil/T_ten/d1_TSOIL_100-200cmUGL.nc exists
Plotting T_ten - ctrl
Traceback (most recent call last):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 15, in __call__
return self.fn(this._geom, other._geom, *args)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geos.py", line 584, in errcheck_predicate
raise PredicateError("Failed to evaluate %s" % repr(func))
shapely.errors.PredicateError: Failed to evaluate <_FuncPtr object at 0x7fe7b31b6a00>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/users/isouopgui/devel/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 616, in <module>
CF_ax = plot_subplot_data(
File "/data/users/isouopgui/devel/EMC_verif-global/ush/plotting_scripts/plot_maps2d_lat_lon_errors.py", line 245, in plot_subplot_data
CF_tmp = ax_tmp.contourf(
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 321, in wrapper
return func(self, *args, **kwargs)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in contourf
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 1589, in <listcomp>
bboxes = [col.get_datalim(self.transData)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in get_datalim
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/collections.py", line 261, in <listcomp>
paths = [transform.transform_path_non_affine(p) for p in paths]
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/matplotlib/transforms.py", line 2361, in transform_path_non_affine
return self._a.transform_path_non_affine(path)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/geoaxes.py", line 189, in transform_path_non_affine
geoms = cpatch.path_to_geos(src_path,
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/cartopy/mpl/patch.py", line 184, in path_to_geos
collection[-1][0].contains(geom.exterior)):
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/geometry/base.py", line 747, in contains
return bool(self.impl['contains'](self, other))
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/predicates.py", line 18, in __call__
self._check_topology(err, this, other)
File "/opt/miniconda/3.8-s4/lib/python3.8/site-packages/shapely/topology.py", line 35, in _check_topology
raise TopologicalError(
shapely.errors.TopologicalError: The operation 'GEOSContains_r' could not be performed. Likely cause is invalidity of the geometry <shapely.geometry.polygon.Polygon object at 0x7fe7af0743a0>
I've seen the error before but it isn't all that consist.
https://github.com/SciTools/cartopy/issues/1064 https://github.com/SciTools/cartopy/issues/1546
look related
@malloryprow, It sure looks related to those you pointed out. It looks like something that can happened randomly depending on Data.
@malloryprow, I did a test on 1, 2, 3, and 4 days of data and got the same result as before adding the module file.
Good to merge then?
Good to merge then?
Yes.
Resolve issue #115
This creates a module for S4 and removes module loads from ush/load_modules.sh. This was tested in stand alone mode on S4.