Update conda environment#103
Conversation
…inancials_tech pivot
…ts from assemble_supplycurve() are floats
…estamps() -> parse_h5_timestamps() and allow for either strings or bytes
…or z134, and because PRAS can't handle 1-zone systems
There was a problem hiding this comment.
In the end these changes probably weren't necessary, but they were helpful for debugging (and make future updates very slightly easier), so I left them - let me know if you think they should be reverted
| endyear,2032,,2050,2050,2050,2029,2060,2026,,,,,,,,,,,2035,2030,2030,2060,2035,2050,2050,,,,, | ||
| yearset,,,,,,,2010..2060..10,,,,,,,,,,,,,2010..2050..5,2010..2050..5,2010..2060..10,,,2010_2025_2050,,,,, | ||
| GSw_ZoneSet,,,,,,,z54,z3109,,,,,,,z3109,z3109,z3109,PJMcounty,,,,z54,,z54,z48,,,,, | ||
| GSw_ZoneSet,,,,,,,z54,z3109,,,,,,,z3109,z3109,z3109,PJMcounty,,,,z54,z134,z54,z48,,,,, |
There was a problem hiding this comment.
Most minimal way to keep Simple working and maintain the original intent (since ReEDS2PRAS doesn't work for single-zone systems)
pesap
left a comment
There was a problem hiding this comment.
Posted environment dependency review comments.
| - mscorefonts=0.0 # extra fonts for plotting (only relevant on linux/HPC) | ||
| - networkx=3.1 # for uncommonly-used network analysis postprocessing | ||
| - notebook=6.5 # for jupyter notebooks | ||
| - myst-parser=5.1 # for building documentation |
There was a problem hiding this comment.
The docs dependency pins here differ pretty significantly from .github/workflows/build-docs.yaml (myst-parser=5.1 / sphinx<9 here vs. myst-parser==2.0.0 / sphinx==7.2.6 in CI). Can we align these so local docs builds and CI use the same dependency set? Otherwise docs may pass locally but fail in CI, or vice versa.
There was a problem hiding this comment.
Do you have a preference on which set of versions to use, these or the ones in build-docs.yaml? For these updates, my process is:
- Remove all the version locks from
environment.ymland build the environment - Get the resulting major.minor versions with
conda listand add them back in toenvironment.yml
I'm not attached to a particular version of sphinx or myst, so happy to do whatever you or @kennedy-mindermann recommend.
There was a problem hiding this comment.
I think my preference is that the environment.yml is the source of truth. But not a blocker IMO as long as we sync them.
Co-authored-by: pesap <pesap@users.noreply.github.com>
Summary
This PR updates the conda environment to use new features in
gdxpdsandgeopandas. The main changes are:.simplify_coverage(), which speeds up all the geospatial analysis and plotting (which has been slow since Update interzonal transmission costs/distances and use directly calculated values #95, especially incompare_cases.py)Thanks a lot to @mmowers for taking care of the bokeh update!
Technical details
Implementation notes
Almost all of the code changes are related to pandas 3. The main things to look out for in new code are:
.groupby()no longer accepts anaxisargument, so all the uses ofdf.groupby(axis=1).something()are nowdf.T.groupby().something().T.fillna(method='ffill')(and analogous) is now just.ffill()Additional changes
While working on debugging
calc_financial_inputs.py, I simplified theinputs/financials/financials_tech_*.csvfiles by removing the country column and non-USA entries. They weren't complete anyway, and Canada/Mexico haven't worked since I've been here, so since it simplifies the process for adding new techs, I've kept the change even though it might not actually be required.Validation, testing, and comparison report(s)
Changes for USA_default are nonzero but quite small: results-v20260708_mainK0_USA_defaults,v20260708_envK0_USA_defaults.pptx
I'll go through the rest of these before merging:
reeds_to_rev.py(currently broken; will be addressed by Updates to reeds_to_rev and land_use_analysis #6)Checklist for author
Details to double-check
General information to guide review
Did you use LLM tools (chatbot or copilot) in the preparation of this PR? If so, describe how
No