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

Mesh nonexperimental extra #6077

Merged
merged 23 commits into from
Jul 26, 2024
Merged

Conversation

pp-mo
Copy link
Member

@pp-mo pp-mo commented Jul 23, 2024

Follow-on for #6061

Given which..
Closes #6057

@pp-mo pp-mo added the benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts label Jul 23, 2024
Copy link

codecov bot commented Jul 23, 2024

Codecov Report

Attention: Patch coverage is 99.63504% with 1 line in your changes missing coverage. Please review.

Project coverage is 89.75%. Comparing base (7c87fb2) to head (4f5888d).
Report is 58 commits behind head on main.

Files with missing lines Patch % Lines
lib/iris/experimental/ugrid.py 94.11% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6077      +/-   ##
==========================================
+ Coverage   89.69%   89.75%   +0.05%     
==========================================
  Files          91       88       -3     
  Lines       22997    22976      -21     
  Branches     5026     5022       -4     
==========================================
- Hits        20627    20621       -6     
+ Misses       1640     1624      -16     
- Partials      730      731       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

This was referenced Jul 23, 2024
@pp-mo pp-mo linked an issue Jul 24, 2024 that may be closed by this pull request
@pp-mo pp-mo force-pushed the mesh_nonexperimental_extra branch 4 times, most recently from 1bc7b9c to 6317b16 Compare July 25, 2024 11:53
pp-mo added 8 commits July 25, 2024 14:53
Replace experiment.ugrid, including docstrings and imports.

Fix test_ParseUgridOnLoad

Fix ugrid.load.

Remove PARSE_UGRID from t/i/ugrid/test_ugrid_save

Remove PARSE_UGRID from t/u/ff/nc/saver/test_save

Remove PARSE_UGRID from t/i/exp/geovista/(both)

Remove PARSE_UGRID from t/u/tests/stock/test_netcdf
@pp-mo pp-mo force-pushed the mesh_nonexperimental_extra branch 2 times, most recently from f97a563 to 8fa7e07 Compare July 25, 2024 15:02
@pp-mo pp-mo force-pushed the mesh_nonexperimental_extra branch from 8fa7e07 to f0c8a02 Compare July 25, 2024 15:14
@pp-mo pp-mo force-pushed the mesh_nonexperimental_extra branch from 4b2ded4 to 32c264e Compare July 25, 2024 23:59
@pp-mo pp-mo marked this pull request as ready for review July 26, 2024 00:55
@pp-mo
Copy link
Member Author

pp-mo commented Jul 26, 2024

@bjlittle think this is finally worth looking at.
TIA !

@bjlittle bjlittle self-requested a review July 26, 2024 09:03
@bjlittle bjlittle self-assigned this Jul 26, 2024
@pp-mo pp-mo mentioned this pull request Jul 26, 2024
Copy link
Member

@bjlittle bjlittle left a comment

Choose a reason for hiding this comment

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

@pp-mo A brilliant piece of work, thanks! 🍻

In general, the migration of iris.experimental.ugrid and particularly refactoring of the API into the core iris.mesh module along with pushing relevant supporting mesh behaviour into other core modules e.g., iris.common.metadata is lovely to see 💯🥳

So glad to see us dropping the context manager by default for a cleaner "no faff" user experience 👍

@bjlittle bjlittle merged commit 4585059 into SciTools:main Jul 26, 2024
21 checks passed
@pp-mo pp-mo added benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts and removed benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts labels Jul 26, 2024
stephenworsley added a commit to stephenworsley/iris that referenced this pull request Jul 26, 2024
* main:
  Mesh nonexperimental extra (SciTools#6077)
  Mesh nonexperimental (SciTools#6061)

# Conflicts:
#	lib/iris/experimental/ugrid/cf.py
Copy link
Contributor

⏱️ Performance Benchmark Report: 4585059

Performance shifts

Full benchmark results

Benchmarks that have stayed the same:

| Change   | Before [4585059b] <main>   | After [4585059b] <main>   |   Ratio | Benchmark (Parameter)                                                                          |
|----------|----------------------------|---------------------------|---------|------------------------------------------------------------------------------------------------|
|          | 53.8±0.2ms                 | 53.8±0.2ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_COUNT(False)                                 |
|          | 54.7±0.1ms                 | 54.7±0.1ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_COUNT(True)                                  |
|          | 192±0.06ms                 | 192±0.06ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_FAST_PERCENTILE(False)                       |
|          | 193±0.9ms                  | 193±0.9ms                 |       1 | aggregate_collapse.Aggregation.time_aggregated_by_FAST_PERCENTILE(True)                        |
|          | 37.4±0.02ms                | 37.4±0.02ms               |       1 | aggregate_collapse.Aggregation.time_aggregated_by_GMEAN(False)                                 |
|          | 37.5±0.3ms                 | 37.5±0.3ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_GMEAN(True)                                  |
|          | 36.9±0.1ms                 | 36.9±0.1ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_HMEAN(False)                                 |
|          | 37.6±0.3ms                 | 37.6±0.3ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_HMEAN(True)                                  |
|          | 46.4±0.2ms                 | 46.4±0.2ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MAX(False)                                   |
|          | 47.7±0.8ms                 | 47.7±0.8ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MAX(True)                                    |
|          | 120±0.06ms                 | 120±0.06ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MAX_RUN(False)                               |
|          | 122±2ms                    | 122±2ms                   |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MAX_RUN(True)                                |
|          | 51.5±0.2ms                 | 51.5±0.2ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MEAN(False)                                  |
|          | 52.6±0.5ms                 | 52.6±0.5ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MEAN(True)                                   |
|          | 36.9±0.1ms                 | 36.9±0.1ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MEDIAN(False)                                |
|          | 37.5±0.07ms                | 37.5±0.07ms               |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MEDIAN(True)                                 |
|          | 46.6±0.5ms                 | 46.6±0.5ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MIN(False)                                   |
|          | 48.0±0.9ms                 | 48.0±0.9ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_MIN(True)                                    |
|          | 1.33±0.01s                 | 1.33±0.01s                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(False)                                  |
|          | 1.35±0.01s                 | 1.35±0.01s                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PEAK(True)                                   |
|          | 692±0.8ms                  | 692±0.8ms                 |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(False)                            |
|          | 668±4ms                    | 668±4ms                   |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PERCENTILE(True)                             |
|          | 35.6±0.1ms                 | 35.6±0.1ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PROPORTION(False)                            |
|          | 36.0±0.02ms                | 36.0±0.02ms               |       1 | aggregate_collapse.Aggregation.time_aggregated_by_PROPORTION(True)                             |
|          | 63.4±0.3ms                 | 63.4±0.3ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_RMS(False)                                   |
|          | 63.0±0.5ms                 | 63.0±0.5ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_RMS(True)                                    |
|          | 66.9±0.7ms                 | 66.9±0.7ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_STD_DEV(False)                               |
|          | 66.9±0.5ms                 | 66.9±0.5ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_STD_DEV(True)                                |
|          | 62.1±0.03ms                | 62.1±0.03ms               |       1 | aggregate_collapse.Aggregation.time_aggregated_by_VARIANCE(False)                              |
|          | 62.8±0.8ms                 | 62.8±0.8ms                |       1 | aggregate_collapse.Aggregation.time_aggregated_by_VARIANCE(True)                               |
|          | 19.3±0.2ms                 | 19.3±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_COUNT(False)                                  |
|          | 24.0±0.5ms                 | 24.0±0.5ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_COUNT(True)                                   |
|          | 130±1ms                    | 130±1ms                   |       1 | aggregate_collapse.Aggregation.time_collapsed_by_FAST_PERCENTILE(False)                        |
|          | 145±0.8ms                  | 145±0.8ms                 |       1 | aggregate_collapse.Aggregation.time_collapsed_by_FAST_PERCENTILE(True)                         |
|          | 18.1±1ms                   | 18.1±1ms                  |       1 | aggregate_collapse.Aggregation.time_collapsed_by_GMEAN(False)                                  |
|          | 22.3±0.4ms                 | 22.3±0.4ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_GMEAN(True)                                   |
|          | 18.1±0.3ms                 | 18.1±0.3ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_HMEAN(False)                                  |
|          | 22.0±0.1ms                 | 22.0±0.1ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_HMEAN(True)                                   |
|          | 18.8±0.3ms                 | 18.8±0.3ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX(False)                                    |
|          | 22.1±0.2ms                 | 22.1±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX(True)                                     |
|          | 34.6±0.8ms                 | 34.6±0.8ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX_RUN(False)                                |
|          | 40.2±2ms                   | 40.2±2ms                  |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MAX_RUN(True)                                 |
|          | 19.2±0.2ms                 | 19.2±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MEAN(False)                                   |
|          | 22.5±0.2ms                 | 22.5±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MEAN(True)                                    |
|          | 19.5±0.1ms                 | 19.5±0.1ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MEDIAN(False)                                 |
|          | 22.3±0.09ms                | 22.3±0.09ms               |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MEDIAN(True)                                  |
|          | 18.8±0.3ms                 | 18.8±0.3ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MIN(False)                                    |
|          | 22.3±0.3ms                 | 22.3±0.3ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_MIN(True)                                     |
|          | 563±3ms                    | 563±3ms                   |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PEAK(False)                                   |
|          | 553±2ms                    | 553±2ms                   |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PEAK(True)                                    |
|          | 149±0.6ms                  | 149±0.6ms                 |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PERCENTILE(False)                             |
|          | 168±0.9ms                  | 168±0.9ms                 |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PERCENTILE(True)                              |
|          | 17.7±0.05ms                | 17.7±0.05ms               |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PROPORTION(False)                             |
|          | 21.7±0.08ms                | 21.7±0.08ms               |       1 | aggregate_collapse.Aggregation.time_collapsed_by_PROPORTION(True)                              |
|          | 21.0±0.4ms                 | 21.0±0.4ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_RMS(False)                                    |
|          | 25.0±0.1ms                 | 25.0±0.1ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_RMS(True)                                     |
|          | 21.4±0.2ms                 | 21.4±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_STD_DEV(False)                                |
|          | 25.1±0.3ms                 | 25.1±0.3ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_STD_DEV(True)                                 |
|          | 21.0±0.2ms                 | 21.0±0.2ms                |       1 | aggregate_collapse.Aggregation.time_collapsed_by_VARIANCE(False)                               |
|          | 24.3±0.09ms                | 24.3±0.09ms               |       1 | aggregate_collapse.Aggregation.time_collapsed_by_VARIANCE(True)                                |
|          | 83.1±0.4ms                 | 83.1±0.4ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_MEAN(False)                        |
|          | 83.6±0.3ms                 | 83.6±0.3ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_MEAN(True)                         |
|          | 95.3±0.4ms                 | 95.3±0.4ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_RMS(False)                         |
|          | 96.5±0.7ms                 | 96.5±0.7ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_RMS(True)                          |
|          | 58.0±0.5ms                 | 58.0±0.5ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_SUM(False)                         |
|          | 59.2±0.2ms                 | 59.2±0.2ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_aggregated_by_SUM(True)                          |
|          | 28.6±0.3ms                 | 28.6±0.3ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_MEAN(False)                         |
|          | 32.9±0.2ms                 | 32.9±0.2ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_MEAN(True)                          |
|          | 31.4±0.1ms                 | 31.4±0.1ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_RMS(False)                          |
|          | 34.8±0.2ms                 | 34.8±0.2ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_RMS(True)                           |
|          | 25.8±0.3ms                 | 25.8±0.3ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_SUM(False)                          |
|          | 29.4±0.4ms                 | 29.4±0.4ms                |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_SUM(True)                           |
|          | 331±3ms                    | 331±3ms                   |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_WPERCENTILE(False)                  |
|          | 352±2ms                    | 352±2ms                   |       1 | aggregate_collapse.WeightedAggregation.time_w_collapsed_by_WPERCENTILE(True)                   |
|          | 1.10±0.01ms                | 1.10±0.01ms               |       1 | cube.CubeCreation.time_create(False, 'construct')                                              |
|          | 400±2μs                    | 400±2μs                   |       1 | cube.CubeCreation.time_create(False, 'instantiate')                                            |
|          | 982±6μs                    | 982±6μs                   |       1 | cube.CubeCreation.time_create(True, 'construct')                                               |
|          | 572±4μs                    | 572±4μs                   |       1 | cube.CubeCreation.time_create(True, 'instantiate')                                             |
|          | 221±1ms                    | 221±1ms                   |       1 | cube.CubeEquality.time_equality(False, False, 'all_equal')                                     |
|          | 113±0.5ms                  | 113±0.5ms                 |       1 | cube.CubeEquality.time_equality(False, False, 'coord_inequality')                              |
|          | 234±1ms                    | 234±1ms                   |       1 | cube.CubeEquality.time_equality(False, False, 'data_inequality')                               |
|          | 16.5±0.05μs                | 16.5±0.05μs               |       1 | cube.CubeEquality.time_equality(False, False, 'metadata_inequality')                           |
|          | 313±2ms                    | 313±2ms                   |       1 | cube.CubeEquality.time_equality(False, True, 'all_equal')                                      |
|          | 203±3ms                    | 203±3ms                   |       1 | cube.CubeEquality.time_equality(False, True, 'coord_inequality')                               |
|          | 322±4ms                    | 322±4ms                   |       1 | cube.CubeEquality.time_equality(False, True, 'data_inequality')                                |
|          | 16.5±0.07μs                | 16.5±0.07μs               |       1 | cube.CubeEquality.time_equality(False, True, 'metadata_inequality')                            |
|          | 221±2ms                    | 221±2ms                   |       1 | cube.CubeEquality.time_equality(True, False, 'all_equal')                                      |
|          | 113±1ms                    | 113±1ms                   |       1 | cube.CubeEquality.time_equality(True, False, 'coord_inequality')                               |
|          | 234±2ms                    | 234±2ms                   |       1 | cube.CubeEquality.time_equality(True, False, 'data_inequality')                                |
|          | 53.3±0.2μs                 | 53.3±0.2μs                |       1 | cube.CubeEquality.time_equality(True, False, 'metadata_inequality')                            |
|          | 312±4ms                    | 312±4ms                   |       1 | cube.CubeEquality.time_equality(True, True, 'all_equal')                                       |
|          | 199±0.9ms                  | 199±0.9ms                 |       1 | cube.CubeEquality.time_equality(True, True, 'coord_inequality')                                |
|          | 320±2ms                    | 320±2ms                   |       1 | cube.CubeEquality.time_equality(True, True, 'data_inequality')                                 |
|          | 55.6±0.4μs                 | 55.6±0.4μs                |       1 | cube.CubeEquality.time_equality(True, True, 'metadata_inequality')                             |
|          | 659±3μs                    | 659±3μs                   |       1 | import_iris.Iris.time__concatenate                                                             |
|          | 179±1μs                    | 179±1μs                   |       1 | import_iris.Iris.time__constraints                                                             |
|          | 112±2μs                    | 112±2μs                   |       1 | import_iris.Iris.time__data_manager                                                            |
|          | 94.5±0.4μs                 | 94.5±0.4μs                |       1 | import_iris.Iris.time__deprecation                                                             |
|          | 139±1μs                    | 139±1μs                   |       1 | import_iris.Iris.time__lazy_data                                                               |
|          | 896±2μs                    | 896±2μs                   |       1 | import_iris.Iris.time__merge                                                                   |
|          | 77.9±0.03μs                | 77.9±0.03μs               |       1 | import_iris.Iris.time__representation                                                          |
|          | 483±1μs                    | 483±1μs                   |       1 | import_iris.Iris.time_analysis                                                                 |
|          | 141±0.4μs                  | 141±0.4μs                 |       1 | import_iris.Iris.time_analysis__area_weighted                                                  |
|          | 109±1μs                    | 109±1μs                   |       1 | import_iris.Iris.time_analysis__grid_angles                                                    |
|          | 253±2μs                    | 253±2μs                   |       1 | import_iris.Iris.time_analysis__interpolation                                                  |
|          | 187±0.5μs                  | 187±0.5μs                 |       1 | import_iris.Iris.time_analysis__regrid                                                         |
|          | 115±0.3μs                  | 115±0.3μs                 |       1 | import_iris.Iris.time_analysis__scipy_interpolate                                              |
|          | 137±0.3μs                  | 137±0.3μs                 |       1 | import_iris.Iris.time_analysis_calculus                                                        |
|          | 323±0.9μs                  | 323±0.9μs                 |       1 | import_iris.Iris.time_analysis_cartography                                                     |
|          | 94.3±0.2μs                 | 94.3±0.2μs                |       1 | import_iris.Iris.time_analysis_geomerty                                                        |
|          | 218±1μs                    | 218±1μs                   |       1 | import_iris.Iris.time_analysis_maths                                                           |
|          | 98.3±0.4μs                 | 98.3±0.4μs                |       1 | import_iris.Iris.time_analysis_stats                                                           |
|          | 174±1μs                    | 174±1μs                   |       1 | import_iris.Iris.time_analysis_trajectory                                                      |
|          | 303±1μs                    | 303±1μs                   |       1 | import_iris.Iris.time_aux_factory                                                              |
|          | 83.9±0.5μs                 | 83.9±0.5μs                |       1 | import_iris.Iris.time_common                                                                   |
|          | 171±1μs                    | 171±1μs                   |       1 | import_iris.Iris.time_common_lenient                                                           |
|          | 1.34±0ms                   | 1.34±0ms                  |       1 | import_iris.Iris.time_common_metadata                                                          |
|          | 132±0.5μs                  | 132±0.5μs                 |       1 | import_iris.Iris.time_common_mixin                                                             |
|          | 1.22±0ms                   | 1.22±0ms                  |       1 | import_iris.Iris.time_common_resolve                                                           |
|          | 199±1μs                    | 199±1μs                   |       1 | import_iris.Iris.time_config                                                                   |
|          | 116±0.3μs                  | 116±0.3μs                 |       1 | import_iris.Iris.time_coord_categorisation                                                     |
|          | 382±2μs                    | 382±2μs                   |       1 | import_iris.Iris.time_coord_systems                                                            |
|          | 751±3μs                    | 751±3μs                   |       1 | import_iris.Iris.time_coords                                                                   |
|          | 671±2μs                    | 671±2μs                   |       1 | import_iris.Iris.time_cube                                                                     |
|          | 225±1μs                    | 225±1μs                   |       1 | import_iris.Iris.time_exceptions                                                               |
|          | 76.5±0.6μs                 | 76.5±0.6μs                |       1 | import_iris.Iris.time_experimental                                                             |
|          | 189±0.8μs                  | 189±0.8μs                 |       1 | import_iris.Iris.time_fileformats                                                              |
|          | 251±0.7μs                  | 251±0.7μs                 |       1 | import_iris.Iris.time_fileformats__ff                                                          |
|          | 2.66±0ms                   | 2.66±0ms                  |       1 | import_iris.Iris.time_fileformats__ff_cross_references                                         |
|          | 78.4±0.2μs                 | 78.4±0.2μs                |       1 | import_iris.Iris.time_fileformats__pp_lbproc_pairs                                             |
|          | 115±0.1μs                  | 115±0.1μs                 |       1 | import_iris.Iris.time_fileformats_abf                                                          |
|          | 414±5μs                    | 414±5μs                   |       1 | import_iris.Iris.time_fileformats_cf                                                           |
|          | 5.48±0.05ms                | 5.48±0.05ms               |       1 | import_iris.Iris.time_fileformats_dot                                                          |
|          | 75.3±0.1μs                 | 75.3±0.1μs                |       1 | import_iris.Iris.time_fileformats_name                                                         |
|          | 256±1μs                    | 256±1μs                   |       1 | import_iris.Iris.time_fileformats_name_loaders                                                 |
|          | 120±0.4μs                  | 120±0.4μs                 |       1 | import_iris.Iris.time_fileformats_netcdf                                                       |
|          | 125±0.3μs                  | 125±0.3μs                 |       1 | import_iris.Iris.time_fileformats_nimrod                                                       |
|          | 210±0.9μs                  | 210±0.9μs                 |       1 | import_iris.Iris.time_fileformats_nimrod_load_rules                                            |
|          | 788±10μs                   | 788±10μs                  |       1 | import_iris.Iris.time_fileformats_pp                                                           |
|          | 183±0.9μs                  | 183±0.9μs                 |       1 | import_iris.Iris.time_fileformats_pp_load_rules                                                |
|          | 133±0.5μs                  | 133±0.5μs                 |       1 | import_iris.Iris.time_fileformats_pp_save_rules                                                |
|          | 514±0.3μs                  | 514±0.3μs                 |       1 | import_iris.Iris.time_fileformats_rules                                                        |
|          | 227±3μs                    | 227±3μs                   |       1 | import_iris.Iris.time_fileformats_structured_array_identification                              |
|          | 83.8±0.4μs                 | 83.8±0.4μs                |       1 | import_iris.Iris.time_fileformats_um                                                           |
|          | 162±0.4μs                  | 162±0.4μs                 |       1 | import_iris.Iris.time_fileformats_um__fast_load                                                |
|          | 139±0.9μs                  | 139±0.9μs                 |       1 | import_iris.Iris.time_fileformats_um__fast_load_structured_fields                              |
|          | 75.1±0.8μs                 | 75.1±0.8μs                |       1 | import_iris.Iris.time_fileformats_um__ff_replacement                                           |
|          | 81.6±0.1μs                 | 81.6±0.1μs                |       1 | import_iris.Iris.time_fileformats_um__optimal_array_structuring                                |
|          | 979±6μs                    | 979±6μs                   |       1 | import_iris.Iris.time_fileformats_um_cf_map                                                    |
|          | 137±0.9μs                  | 137±0.9μs                 |       1 | import_iris.Iris.time_io                                                                       |
|          | 173±0.9μs                  | 173±0.9μs                 |       1 | import_iris.Iris.time_io_format_picker                                                         |
|          | 229±0.5μs                  | 229±0.5μs                 |       1 | import_iris.Iris.time_iris                                                                     |
|          | 126±0.4μs                  | 126±0.4μs                 |       1 | import_iris.Iris.time_iterate                                                                  |
|          | 8.57±0.04ms                | 8.57±0.04ms               |       1 | import_iris.Iris.time_palette                                                                  |
|          | 2.22±0.03ms                | 2.22±0.03ms               |       1 | import_iris.Iris.time_plot                                                                     |
|          | 104±0.4μs                  | 104±0.4μs                 |       1 | import_iris.Iris.time_quickplot                                                                |
|          | 2.10±0ms                   | 2.10±0ms                  |       1 | import_iris.Iris.time_std_names                                                                |
|          | 1.79±0.01ms                | 1.79±0.01ms               |       1 | import_iris.Iris.time_symbols                                                                  |
|          | 13.4±0.2ms                 | 13.4±0.2ms                |       1 | import_iris.Iris.time_tests                                                                    |
|          | 257±1μs                    | 257±1μs                   |       1 | import_iris.Iris.time_third_party_cartopy                                                      |
|          | 4.84±0.03ms                | 4.84±0.03ms               |       1 | import_iris.Iris.time_third_party_cf_units                                                     |
|          | 119±0.09μs                 | 119±0.09μs                |       1 | import_iris.Iris.time_third_party_cftime                                                       |
|          | 2.78±0ms                   | 2.78±0ms                  |       1 | import_iris.Iris.time_third_party_matplotlib                                                   |
|          | 1.07±0ms                   | 1.07±0ms                  |       1 | import_iris.Iris.time_third_party_numpy                                                        |
|          | 173±1μs                    | 173±1μs                   |       1 | import_iris.Iris.time_third_party_scipy                                                        |
|          | 101±0.2μs                  | 101±0.2μs                 |       1 | import_iris.Iris.time_time                                                                     |
|          | 335±1μs                    | 335±1μs                   |       1 | import_iris.Iris.time_util                                                                     |
|          | 72.5±1μs                   | 72.5±1μs                  |       1 | iterate.IZip.time_izip                                                                         |
|          | 7.98±0.03ms                | 7.98±0.03ms               |       1 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'FF')                                     |
|          | 28.6±0.1ms                 | 28.6±0.1ms                |       1 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'NetCDF')                                 |
|          | 8.69±0.02ms                | 8.69±0.02ms               |       1 | load.LoadAndRealise.time_load((1280, 960, 5), False, 'PP')                                     |
|          | 8.00±0.01ms                | 8.00±0.01ms               |       1 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'FF')                                      |
|          | 26.5±0.03ms                | 26.5±0.03ms               |       1 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'NetCDF')                                  |
|          | 8.74±0.01ms                | 8.74±0.01ms               |       1 | load.LoadAndRealise.time_load((1280, 960, 5), True, 'PP')                                      |
|          | 1.35±0.01s                 | 1.35±0.01s                |       1 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'FF')                                       |
|          | 26.1±0.02ms                | 26.1±0.02ms               |       1 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'NetCDF')                                   |
|          | 1.50±0s                    | 1.50±0s                   |       1 | load.LoadAndRealise.time_load((2, 2, 1000), False, 'PP')                                       |
|          | 1.38±0.01s                 | 1.38±0.01s                |       1 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'FF')                                        |
|          | 26.4±0.5ms                 | 26.4±0.5ms                |       1 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'NetCDF')                                    |
|          | 1.50±0.01s                 | 1.50±0.01s                |       1 | load.LoadAndRealise.time_load((2, 2, 1000), True, 'PP')                                        |
|          | 3.86±0ms                   | 3.86±0ms                  |       1 | load.LoadAndRealise.time_load((50, 50, 2), False, 'FF')                                        |
|          | 25.2±0.05ms                | 25.2±0.05ms               |       1 | load.LoadAndRealise.time_load((50, 50, 2), False, 'NetCDF')                                    |
|          | 4.14±0ms                   | 4.14±0ms                  |       1 | load.LoadAndRealise.time_load((50, 50, 2), False, 'PP')                                        |
|          | 3.83±0.01ms                | 3.83±0.01ms               |       1 | load.LoadAndRealise.time_load((50, 50, 2), True, 'FF')                                         |
|          | 25.2±0.04ms                | 25.2±0.04ms               |       1 | load.LoadAndRealise.time_load((50, 50, 2), True, 'NetCDF')                                     |
|          | 4.12±0.01ms                | 4.12±0.01ms               |       1 | load.LoadAndRealise.time_load((50, 50, 2), True, 'PP')                                         |
|          | 31.9±0.3ms                 | 31.9±0.3ms                |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'FF')                                  |
|          | 19.5±0.1ms                 | 19.5±0.1ms                |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'NetCDF')                              |
|          | 13.7±0.1ms                 | 13.7±0.1ms                |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), False, 'PP')                                  |
|          | 25.8±0.1ms                 | 25.8±0.1ms                |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'FF')                                   |
|          | 70.3±2ms                   | 70.3±2ms                  |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'NetCDF')                               |
|          | 25.6±1ms                   | 25.6±1ms                  |       1 | load.LoadAndRealise.time_realise((1280, 960, 5), True, 'PP')                                   |
|          | 437±2ms                    | 437±2ms                   |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'FF')                                    |
|          | 3.03±0.08ms                | 3.03±0.08ms               |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'NetCDF')                                |
|          | 449±2ms                    | 449±2ms                   |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), False, 'PP')                                    |
|          | 448±3ms                    | 448±3ms                   |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'FF')                                     |
|          | 2.75±0.08ms                | 2.75±0.08ms               |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'NetCDF')                                 |
|          | 462±3ms                    | 462±3ms                   |       1 | load.LoadAndRealise.time_realise((2, 2, 1000), True, 'PP')                                     |
|          | 1.56±0.03ms                | 1.56±0.03ms               |       1 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'FF')                                     |
|          | 2.87±0.05ms                | 2.87±0.05ms               |       1 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'NetCDF')                                 |
|          | 1.58±0.2ms                 | 1.58±0.2ms                |       1 | load.LoadAndRealise.time_realise((50, 50, 2), False, 'PP')                                     |
|          | 1.63±0.1ms                 | 1.63±0.1ms                |       1 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'FF')                                      |
|          | 2.82±0.01ms                | 2.82±0.01ms               |       1 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'NetCDF')                                  |
|          | 1.52±0.01ms                | 1.52±0.01ms               |       1 | load.LoadAndRealise.time_realise((50, 50, 2), True, 'PP')                                      |
|          | 493±0.9ms                  | 493±0.9ms                 |       1 | load.ManyVars.time_many_var_load                                                               |
|          | 8.11±0.03ms                | 8.11±0.03ms               |       1 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'FF')                               |
|          | 9.13±0.01ms                | 9.13±0.01ms               |       1 | load.STASHConstraint.time_stash_constraint((1280, 960, 5), 'PP')                               |
|          | 1.37±0.01s                 | 1.37±0.01s                |       1 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'FF')                                 |
|          | 1.53±0.01s                 | 1.53±0.01s                |       1 | load.STASHConstraint.time_stash_constraint((2, 2, 1000), 'PP')                                 |
|          | 3.92±0.01ms                | 3.92±0.01ms               |       1 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'FF')                                    |
|          | 4.21±0.01ms                | 4.21±0.01ms               |       1 | load.STASHConstraint.time_stash_constraint((2, 2, 2), 'PP')                                    |
|          | 7.94±0.02ms                | 7.94±0.02ms               |       1 | load.StructuredFF.time_structured_load((1280, 960, 5), False)                                  |
|          | 4.66±0.01ms                | 4.66±0.01ms               |       1 | load.StructuredFF.time_structured_load((1280, 960, 5), True)                                   |
|          | 1.33±0.01s                 | 1.33±0.01s                |       1 | load.StructuredFF.time_structured_load((2, 2, 1000), False)                                    |
|          | 365±4ms                    | 365±4ms                   |       1 | load.StructuredFF.time_structured_load((2, 2, 1000), True)                                     |
|          | 3.86±0.01ms                | 3.86±0.01ms               |       1 | load.StructuredFF.time_structured_load((2, 2, 2), False)                                       |
|          | 3.60±0ms                   | 3.60±0ms                  |       1 | load.StructuredFF.time_structured_load((2, 2, 2), True)                                        |
|          | 149±2ms                    | 149±2ms                   |       1 | load.TimeConstraint.time_time_constraint(20, 'FF')                                             |
|          | 30.9±0.3ms                 | 30.9±0.3ms                |       1 | load.TimeConstraint.time_time_constraint(20, 'NetCDF')                                         |
|          | 164±0.3ms                  | 164±0.3ms                 |       1 | load.TimeConstraint.time_time_constraint(20, 'PP')                                             |
|          | 29.2±0.08ms                | 29.2±0.08ms               |       1 | load.TimeConstraint.time_time_constraint(3, 'FF')                                              |
|          | 28.4±0.05ms                | 28.4±0.05ms               |       1 | load.TimeConstraint.time_time_constraint(3, 'NetCDF')                                          |
|          | 31.5±0.07ms                | 31.5±0.07ms               |       1 | load.TimeConstraint.time_time_constraint(3, 'PP')                                              |
|          | 17.5±0.1ms                 | 17.5±0.1ms                |       1 | load.ugrid.BasicLoading.time_load_file(1)                                                      |
|          | 41.0±0.07ms                | 41.0±0.07ms               |       1 | load.ugrid.BasicLoading.time_load_file(200000)                                                 |
|          | 14.3±0.3ms                 | 14.3±0.3ms                |       1 | load.ugrid.BasicLoading.time_load_mesh(1)                                                      |
|          | 21.2±0.2ms                 | 21.2±0.2ms                |       1 | load.ugrid.BasicLoading.time_load_mesh(200000)                                                 |
|          | 17.8±0.2ms                 | 17.8±0.2ms                |       1 | load.ugrid.BasicLoadingTime.time_load_file(1)                                                  |
|          | 20.1±0.3ms                 | 20.1±0.3ms                |       1 | load.ugrid.BasicLoadingTime.time_load_file(200000)                                             |
|          | 14.5±0.04ms                | 14.5±0.04ms               |       1 | load.ugrid.BasicLoadingTime.time_load_mesh(1)                                                  |
|          | 16.7±0.1ms                 | 16.7±0.1ms                |       1 | load.ugrid.BasicLoadingTime.time_load_mesh(200000)                                             |
|          | 18.8±0.2ms                 | 18.8±0.2ms                |       1 | load.ugrid.Callback.time_load_file_callback(1)                                                 |
|          | 50.9±0.5ms                 | 50.9±0.5ms                |       1 | load.ugrid.Callback.time_load_file_callback(200000)                                            |
|          | 18.7±0.4ms                 | 18.7±0.4ms                |       1 | load.ugrid.CallbackTime.time_load_file_callback(1)                                             |
|          | 22.9±0.2ms                 | 22.9±0.2ms                |       1 | load.ugrid.CallbackTime.time_load_file_callback(200000)                                        |
|          | 2.76±0.06ms                | 2.76±0.06ms               |       1 | load.ugrid.DataRealisation.time_realise_data(10000)                                            |
|          | 3.82±0.2ms                 | 3.82±0.2ms                |       1 | load.ugrid.DataRealisation.time_realise_data(200000)                                           |
|          | 39.9±2ms                   | 39.9±2ms                  |       1 | load.ugrid.DataRealisationTime.time_realise_data(10000)                                        |
|          | 806±3ms                    | 806±3ms                   |       1 | load.ugrid.DataRealisationTime.time_realise_data(200000)                                       |
|          | 120±0.5ms                  | 120±0.5ms                 |       1 | merge_concat.Concatenate.time_concatenate                                                      |
|          | 24.1                       | 24.1                      |       1 | merge_concat.Concatenate.track_mem_merge                                                       |
|          | 48.1±0.3ms                 | 48.1±0.3ms                |       1 | merge_concat.Merge.time_merge                                                                  |
|          | 11.0                       | 11.0                      |       1 | merge_concat.Merge.track_mem_merge                                                             |
|          | 391±3ns                    | 391±3ns                   |       1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.time_compute_data(50)                 |
|          | 258±0.9ms                  | 258±0.9ms                 |       1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.time_compute_data(500)                |
|          | 0.6                        | 0.6                       |       1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.track_addedmem_compute_data(50)       |
|          | 57.3                       | 57.3                      |       1 | mesh.utils.regions_combine.CombineRegionsComputeRealData.track_addedmem_compute_data(500)      |
|          | 14.3±0.09ms                | 14.3±0.09ms               |       1 | mesh.utils.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(50)              |
|          | 16.1±0.2ms                 | 16.1±0.2ms                |       1 | mesh.utils.regions_combine.CombineRegionsCreateCube.time_create_combined_cube(500)             |
|          | 0.5                        | 0.5                       |       1 | mesh.utils.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(50)    |
|          | 11.8                       | 11.8                      |       1 | mesh.utils.regions_combine.CombineRegionsCreateCube.track_addedmem_create_combined_cube(500)   |
|          | 107±1ms                    | 107±1ms                   |       1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(50)            |
|          | 700±5ms                    | 700±5ms                   |       1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.time_stream_file2file(500)           |
|          | 1.4                        | 1.4                       |       1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.track_addedmem_stream_file2file(50)  |
|          | 92.0                       | 92.0                      |       1 | mesh.utils.regions_combine.CombineRegionsFileStreamedCalc.track_addedmem_stream_file2file(500) |
|          | 66.6±0.6ms                 | 66.6±0.6ms                |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.time_save(50)                                |
|          | 657±1ms                    | 657±1ms                   |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.time_save(500)                               |
|          | 1.3                        | 1.3                       |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_addedmem_save(50)                      |
|          | 91.9                       | 91.9                      |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_addedmem_save(500)                     |
|          | 2.1752849999999997         | 2.1752849999999997        |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_filesize_saved(50)                     |
|          | 216.01528499999998         | 216.01528499999998        |       1 | mesh.utils.regions_combine.CombineRegionsSaveData.track_filesize_saved(500)                    |
|          | 6.54±0.01ms                | 6.54±0.01ms               |       1 | plot.AuxSort.time_aux_sort                                                                     |
|          | 73.1±4ms                   | 73.1±4ms                  |       1 | regridding.CurvilinearRegridding.time_regrid_pic                                               |
|          | 144.9                      | 144.9                     |       1 | regridding.CurvilinearRegridding.track_mem_regrid_pic                                          |
|          | 101±0.2ms                  | 101±0.2ms                 |       1 | regridding.HorizontalChunkedRegridding.time_regrid_area_w                                      |
|          | 48.9±0.6ms                 | 48.9±0.6ms                |       1 | regridding.HorizontalChunkedRegridding.time_regrid_area_w_new_grid                             |
|          | 111.6                      | 111.6                     |       1 | regridding.HorizontalChunkedRegridding.track_mem_regrid_area_w                                 |
|          | 150.6                      | 150.6                     |       1 | regridding.HorizontalChunkedRegridding.track_mem_regrid_area_w_new_grid                        |
|          | 4.05±0.01ms                | 4.05±0.01ms               |       1 | save.NetcdfSave.time_netcdf_save_cube(50, False)                                               |
|          | 71.4±0.3ms                 | 71.4±0.3ms                |       1 | save.NetcdfSave.time_netcdf_save_cube(50, True)                                                |
|          | 53.5±1ms                   | 53.5±1ms                  |       1 | save.NetcdfSave.time_netcdf_save_cube(600, False)                                              |
|          | 567±2ms                    | 567±2ms                   |       1 | save.NetcdfSave.time_netcdf_save_cube(600, True)                                               |
|          | 88.9±0.06ns                | 88.9±0.06ns               |       1 | save.NetcdfSave.time_netcdf_save_mesh(50, False)                                               |
|          | 55.6±0.6ms                 | 55.6±0.6ms                |       1 | save.NetcdfSave.time_netcdf_save_mesh(50, True)                                                |
|          | 90.9±0.3ns                 | 90.9±0.3ns                |       1 | save.NetcdfSave.time_netcdf_save_mesh(600, False)                                              |
|          | 495±3ms                    | 495±3ms                   |       1 | save.NetcdfSave.time_netcdf_save_mesh(600, True)                                               |
|          | 0.3                        | 0.3                       |       1 | save.NetcdfSave.track_addedmem_netcdf_save(50, False)                                          |
|          | 1.7                        | 1.7                       |       1 | save.NetcdfSave.track_addedmem_netcdf_save(50, True)                                           |
|          | 0.3                        | 0.3                       |       1 | save.NetcdfSave.track_addedmem_netcdf_save(600, False)                                         |
|          | 214.6                      | 214.6                     |       1 | save.NetcdfSave.track_addedmem_netcdf_save(600, True)                                          |
|          | 42.3±0.5ms                 | 42.3±0.5ms                |       1 | stats.PearsonR.time_lazy                                                                       |
|          | 19.1±0.2ms                 | 19.1±0.2ms                |       1 | stats.PearsonR.time_real                                                                       |
|          | 19.8                       | 19.8                      |       1 | stats.PearsonR.track_lazy                                                                      |
|          | 17.8                       | 17.8                      |       1 | stats.PearsonR.track_real                                                                      |
|          | 21.8±1ms                   | 21.8±1ms                  |       1 | trajectory.TrajectoryInterpolation.time_trajectory_linear                                      |
|          | 61.4±0.3ms                 | 61.4±0.3ms                |       1 | trajectory.TrajectoryInterpolation.time_trajectory_nearest                                     |
|          | 32.2                       | 32.2                      |       1 | trajectory.TrajectoryInterpolation.track_trajectory_linear                                     |
|          | 21.6                       | 21.6                      |       1 | trajectory.TrajectoryInterpolation.track_trajectory_nearest                                    |

Generated by GHA run 10110207667

tkknight added a commit to tkknight/iris that referenced this pull request Jul 30, 2024
* upstream/main:
  Load performance improvement (ignoring UGRID) (SciTools#6088)
  Adding monthly and yearly arguments to `guess_bounds` (SciTools#6090)
  Mesh nonexperimental extra (SciTools#6077)
  Mesh nonexperimental (SciTools#6061)
  Bump scitools/workflows from 2024.07.4 to 2024.07.5 (SciTools#6076)
  Updated environment lockfiles (SciTools#6068)
  Enable UGRID loading always; deprecate PARSE_UGRID_ON_LOAD. (SciTools#6054)
  Bump scitools/workflows from 2024.07.3 to 2024.07.4 (SciTools#6071)
@pp-mo pp-mo deleted the mesh_nonexperimental_extra branch October 30, 2024 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmark_this Request that this pull request be benchmarked to check if it introduces performance shifts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reintegrate code which was separated for optional ugrid remove ugrid from experimental
2 participants