-
Notifications
You must be signed in to change notification settings - Fork 204
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
Missing pieces towards global PyPSA-Earth #445
Comments
@davide-f, thank you for explanations regarding performance during the discussion. Preliminary results of testing workflow for China (that's not profiling rather ux test):
pypsa-earth/scripts/build_shapes.py Lines 728 to 729 in 3f2c3c9
Is it pypsa-earth/scripts/build_shapes.py Lines 722 to 726 in 3f2c3c9
or is it this piece which is not under pypsa-earth/scripts/build_shapes.py Lines 728 to 729 in 3f2c3c9
|
I would like to create a PR on set_substations_ids and set_substations_ids, that is more efficient. |
Great @mnm-matin ! This task is very interesting and I'm very happy to support you. I've some ideas on how to do that and could be good to discuss on them. I can provide input and output files for any country in the world. I'd recommend to start debugging with small countries and then test a large one. A good large test case could be US or China, for a small one, maybe Nigeria should do the job. |
Thanks @davide-f That sounds great. Happy to have a meeting. The input and output files (perhaps over discord) would be awesome. I will keep the pr limited to just set_substations_ids, but the approach should work for line_ids as well. Large or small countries would be nice for benchmarking. Mainly, I require the input and output files just to make sure I'm getting the right results. |
To track the needed improvements, this is the current time requirements in hours for using US: rule key The PRs on build_osm_network by @mnm-matin can help tackle the major bottleneck. |
Towards global PyPSA-Earth
In this issue, we track major requirements needed to successfully run the workflow at complete global scale.
I have been running parts of the model using
countries=["Earth"]
and in the following I resume some findings; this list is to be populated by additional comments.download_osm_network
needed some fixes but it generally works; however, I needed to rerun the workflow some times because the procedure got stopped several times because of download limits at the server end. When the user is interested in downloading large areas, it may be better to download the combined/continental chuncks rather than each country; however this leads to less generalizability and duplication if the user is then interested in smaller areas. Alternatively, some delays can be manually inserted to avoid such problem. Some tests may be needed when larger regions are more needed.clear_osm_network
: this is the real big deal. Currently, after one day of complete execution, with the "names_by_shapes" option disabled we are still far from solved. The procedure is stuck atafrica_shape.contains
. I noticed that functions on polygons are super heavy to execute and we need to work hard on that. In the following some comments are provided:split_cells_multiple
function shall be completely rewritten #601split_cells
may be removed and use the more generalsplit_cells_multiple
instead (this is for clarity and to avoid duplication)ext_country_shapes
that is the unary_union of the country_shapes with the corresponding offshore_shapes that may be used by several scripts.build_osm_network
is going to be another big deal as we have the functionsset_substations_ids
,fix_overpassing_lines
andset_lines_ids
that generally take a long time already for the africa model and their complexity is O(n^2), we shall improve that.build_cutout
: works with the feat/era5-monthly-retrieveal branch, yet the global cutout is about 300GB. The new compression features available by atlite for large cutout may be tested and used.The text was updated successfully, but these errors were encountered: