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

pyproj version incompatible with atlite and vresutils #119

Closed
2 tasks done
Svosw opened this issue Jan 16, 2020 · 3 comments
Closed
2 tasks done

pyproj version incompatible with atlite and vresutils #119

Svosw opened this issue Jan 16, 2020 · 3 comments
Labels

Comments

@Svosw
Copy link

Svosw commented Jan 16, 2020

Checklist

  • I am using the current master branch
  • I am running on an up-to-date pypsa-eur environment. Update via conda env update -f environment.yaml.

Describe the Bug

Running build_renewable_profiles.py produces RuntimeError when importing atlite. The version of pyproj used (reverted to 1.9.6 in [979ff3d]) is incompatible with atlite and produces the error message below. The error is not produced with pyproj=2.2.2, the version used before.

Steps to reproduce the error:

  1. Create an environment with pyproj=1.9.6 and atlite
  2. Open a python console
  3. import atlite.

The same error happens at a later stage in build_renewable_profiles at line 286. The cause of the rror is in vresutils.landuse, which calls from vresutils import shapes as vshapes.
Steps to reproduce the error:

  1. Create an environment with pyproj=1.9.6 and vresutils
  2. Open a python console
  3. from vresutils import shapes as vshapes.

Error Message for atlite

Traceback (most recent call last):
  File "C:\Users\Svosw\Documents\Python\pypsa-eur\.snakemake\scripts\tmpl2ubrvfz.build_renewable_profiles.py", line 164, in <module>
    import atlite
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\atlite\__init__.py", line 26, in <module>
    from .cutout import Cutout
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\atlite\cutout.py", line 33, in <module>
    from . import config, datasets
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\atlite\datasets\__init__.py", line 3, in <module>
    from . import cordex, ncep, era5, sarah
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\atlite\datasets\cordex.py", line 42, in <module>
    o_lon_p=-162, o_lat_p=39.25))
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\pyproj\__init__.py", line 362, in __new__
    return _proj.Proj.__new__(self, projstring)
  File "_proj.pyx", line 129, in _proj.Proj.__cinit__
RuntimeError: b'major axis or radius = 0 or not given'

Error Message for vresutils

Traceback (most recent call last):
  File "C:\Users\Svosw\Documents\Python\pypsa-eur\.snakemake\scripts\tmppnldp1e9.build_renewable_profiles.py", line 286, in <module>
    potentials = config['capacity_per_sqkm'] * vlanduse._cutout_cell_areas(cutout)
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\vresutils\landuse.py", line 259, in _cutout_cell_areas
    from vresutils import shapes as vshapes
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\vresutils\shapes.py", line 65, in <module>
    def reproject(geom, fr=pyproj.Proj(proj='longlat'), to=pyproj.Proj(proj='aea', lat_1=33., lat_2=72.)):
  File "C:\Users\Svosw\miniconda3\envs\pypsa-eur\lib\site-packages\pyproj\__init__.py", line 362, in __new__
    return _proj.Proj.__new__(self, projstring)
  File "_proj.pyx", line 129, in _proj.Proj.__cinit__
RuntimeError: b'major axis or radius = 0 or not given'
@Svosw Svosw added the bug label Jan 16, 2020
@Svosw Svosw changed the title pyproj version incompatible with atlite pyproj version incompatible with atlite and vresutils Jan 16, 2020
@coroa
Copy link
Member

coroa commented Jan 16, 2020

Please file that bug with atlite (if you haven't already). The first aid patch is to remove cordex from the import list in atlite/datasets/__init__.py.

@Svosw
Copy link
Author

Svosw commented Jan 17, 2020

I have filed the bug with atlite. Do you have a suggestion for a first aid patch regarding the error in vresutils as well?

@coroa
Copy link
Member

coroa commented Jan 17, 2020

Just remove the reproject function in shapes.py. it's not used in pypsa-eur.

coroa added a commit that referenced this issue Jan 20, 2020
pyproj was constrained to 1.9.6, since cartopy was incompatible with
recent proj versions.
coroa added a commit that referenced this issue Jan 20, 2020
pyproj was constrained to 1.9.6, since cartopy was incompatible with
recent proj versions.
coroa added a commit that referenced this issue Jan 20, 2020
proj was constrained to 1.9.6, since cartopy was incompatible with
recent proj versions.
@fneum fneum closed this as completed in 52e4a1b Jan 23, 2020
fneum added a commit that referenced this issue Mar 6, 2023
* ammonia_production: minor cleaning and move into __main__ (#106)

* biomass_potentials: code cleaning and automatic country index inferral (#107)

* Revision: build energy totals (#111)

* blacken

* energy_totals: preliminaries

* energy_totals: update build_swiss

* energy_totals: update build_eurostat

* energy_totals: update build_idees

* energy_totals: update build_energy_totals

* energy_totals: update build_eea_co2

* energy_totals: update build_eurostat_co2

* energy_totals: update build_co2_totals

* energy_totals: update build_transport_data

* energy_totals: add tqdm progressbar to idees

* energy_totals: adjust __main__ section

* energy_totals: handle inputs via Snakefile and config

* energy_totals: handle data and emissions year via config

* energy_totals: fix reading in eurostat for different years

* energy_totals: fix erroneous drop duplicates
This caused problems for waste management in HU and SI

* energy_totals: make scope selection of CO2 or GHG a config option

* Revision: build industrial production per country (#114)

* industry-ppc: format

* industry-ppc: rewrite for performance

* industry-ppc: move reference year to config

* industry-ppct: tidy up and format (#115)

* remove stale industry demand rules (#116)

* industry-epc: rewrite for performance (#117)

* Revision: industrial distribution key (#118)

* industry-distribution: first tidying

* industry-distribution: first tidying

* industry-distribution: fix syntax

* Revision: industrial energy demand per node today (#119)

* industry-epn: minor code cleaning

* industry-epn: remove accidental artifact

* industry-epn: remove accidental artifact II

* industry-ppn: code cleaning (#120)

* minor code cleaning (#121)

* Revision: industry sector ratios (#122)

* sector-ratios: basic reformatting

* sector-ratios: add new read_excel function that filters year already

* sector-ratios: rename jrc to idees

* sector-ratios: rename conv_factor to toe_to_MWh

* sector-ratios: modularise into functions

* Move overriding of component attributes to function and into data (#123)

* move overriding of component attributes to central function and store in separate folder

* fix return of helper.override_component_attrs

* prepare: fix accidental syntax error

* override_component_attrs: bugfix that aligns with pypsa components

* Revision: build population layout (#108)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* config: change path to atlite cutout

* Revision: build clustered population layouts (#112)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* cl_pop_layout: add fraction column which is repeatedly calculated downstream

* Revision: build various heating-related time series (#113)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* gitignore: add .vscode

* heating_profiles: update to new atlite and move into __main__

* heating_profiles: remove extra cutout

* heating_profiles: load regions with .buffer(0) and remove clean_invalid_geometries

* heating_profiles: load regions with .buffer(0) before squeeze()

* heating_profiles: account for transpose of dataarray

* heating_profiles: account for transpose of dataarray in add_exiting_baseyear

* Reduce verbosity of Snakefile (2) (#128)

* tidy Snakefile light

* Snakefile: fix indents

* Snakefile: add missing RDIR

* tidy config by removing quotes and expanding lists (#109)

* bugfix: reorder squeeze() and buffer()

* plot/summary: cosmetic changes including: (#131)

- matplotlibrc for default style and backend
- remove unused config options
- option to configure geomap colors
- option to configure geomap bounds

* solve: align with pypsa-eur using ilopf (#129)

* tidy myopic code scripts (#132)

* use mock_snakemake from pypsa-eur (#133)

* Snakefile: add benchmark files to each rule

* Snakefile: only run build_retro_cost if endogenously optimised

* Snakefile: remove old {network} wildcard constraints

* WIP: Revision: prepare_sector_network (#124)

* population_layouts: move inside __main__ and blacken

* population_layouts: misc code cleaning and multiprocessing

* population_layouts: fix fill_values assignment of urban fractions

* population_layouts: bugfig for UK-GB naming ambiguity

* population_layouts: sort countries alphabetically for better overview

* cl_pop_layout: blacken

* cl_pop_layout: turn GeoDataFrame into GeoSeries + code cleaning

* move overriding of component attributes to central function and store in separate folder

* prepare: sort imports and remove six dependency

* prepare: remove add_emission_prices

* prepare: remove unused set_line_s_max_pu
This is a function from prepare_network

* prepare: remove unused set_line_volume_limit
This is a PyPSA-Eur function from prepare_network

* prepare: tidy add_co2limit

* remove six dependency

* prepare: tidy code first batch

* prepare: extend override_component_attrs to avoid hacky madd

* prepare: remove hacky madd() for individual components

* prepare: tidy shift function

* prepare: nodes and countries from n.buses not pop_layout

* prepare: tidy loading of pop_layout

* prepare: fix prepare_costs function

* prepare: optimise loading of traffic data

* prepare: move localizer into generate_periodic profiles

* prepare: some formatting of transport data

* prepare: eliminate some code duplication

* prepare: fix remove_h2_network
- only try to remove EU H2 store if it exists
- remove readding nodal Stores because they are never removed

* prepare: move cost adjustment to own function

* prepare: fix a syntax error

* prepare: add investment_year to get() assuming global variable

* prepare: move co2_totals out of prepare_data()

* Snakefile: remove unused prepare_sector_network inputs

* prepare: move limit p/s_nom of lines/links into function

* prepare: tidy add_co2limit file handling

* Snakefile: fix tabs

* override_component_attrs: add n/a defaults

* README: Add network picture to make scope clear

* README: Fix date of preprint (was too optimistic...)

* prepare: move some more config options to config.yaml

* prepare: runtime bugfixes

* fix benchmark path

* adjust plot ylims

* add unit attribute to bus, correct cement capture efficiency

* bugfix: land usage constrained missed inplace operation

Co-authored-by: Tom Brown <tom@nworbmot.org>

* add release notes

* remove old fix_branches() function

* deps: make geopy optional, remove unused imports

* increase default BarConvTol

* get ready for upcoming PyPSA release

* re-remove ** bug

* amend release notes

Co-authored-by: Tom Brown <tom@nworbmot.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants