created tagPyPSA/atlite
Atlite: Light-weight version of Aarhus RE Atlas for converting weather data to power systems data
created time in 4 hours
push eventPyPSA/atlite
commit sha fb5ad26f296273cb4ea6ed813aa2a25b2f3a5a6f
follow up III
push time in 4 hours
push eventPyPSA/atlite
commit sha 35a46b7e972cd968d160957a987a7037e8c58fef
follow up II
push time in 7 hours
push eventPyPSA/atlite
commit sha 1506151428d8e4e9a22ed8994ff2ccea184618fa
follow up
push time in 8 hours
push eventPyPSA/atlite
commit sha 645090e8eec88be3b8d6f46d766e0e26cad232c1
no content change, trigger tagged commit
push time in 10 hours
push eventPyPSA/atlite
commit sha d947f1ea5eb4a5565d720fe1fe18e43b4fde5b7b
fix readme rst code add rst text type to setup.py
push time in 11 hours
push eventPyPSA/atlite
commit sha e3a517d23fc2c491feb410f61194a84ba14a99f6
DOC: update release notes and some function docstrings
push time in 12 hours
created tagPyPSA/atlite
Atlite: Light-weight version of Aarhus RE Atlas for converting weather data to power systems data
created time in a day
push eventPyPSA/atlite
commit sha fb0403fbb392aa0819b9ddba65c76fb715850c72
follow up II
commit sha 216c4e29e2f60a8dc3d90c8207608968fc951e8b
follow III
commit sha 3fbeb8e8abd4bc59cb35821d6ca1999172acb133
resize chart
push time in a day
push eventPyPSA/atlite
commit sha 3fbeb8e8abd4bc59cb35821d6ca1999172acb133
resize chart
push time in a day
push eventPyPSA/atlite
commit sha 216c4e29e2f60a8dc3d90c8207608968fc951e8b
follow III
push time in a day
push eventPyPSA/atlite
commit sha 2e243d05319eea07fa24f0c175142b0a75890e5a
follow up, fix pdf
push time in a day
push eventPyPSA/atlite
commit sha 5fbb135c61fc6f4c7c40cc1b99158524be50af64
README update workflow chart
push time in a day
push eventPyPSA/atlite
commit sha 12846ce6819b6756a8377ad0ec224d80b4cafb89
Preparation of v0.2 (#20) * documentation: Update index. * documentation: Add TODOs. * documentation: Add 'Examples' category. * resource.py add for accessing solarpanels and windturbines utlis.py add class arrowdict * Update configuration.rst * documentation: Add user guide and api ref. * Update README.md * documentation: Auto API reference documentation. * documentation: Structural updates. * doc: api reference: bug fixes, add structure * Delete os.path Accidentally uploaded. * example: Create cutout notebook. * documentation: Add release notes for v0.2. * doc enable napoleon extension * convert.py docstring update * wind.py update resource.turbines when downloading_turbineconf * fix strings, exclude '.yaml' * documentation: Update (WIP) * Licensing: Add copyright and license to all files (REUSE). * wind.py import resource.turbines in function due to import errror otherwise * Adjust documentation config for copyright and project name. * instructions.rst add images and 'how it works' description basics.rst distribute among other chapters * Update atlite-doc environment file with recommended environment dependencies. * documentation: Update SPHINX conf.py strings and automatic version number. * doc/cutout.rst update text and add commands convert.py small docstring corrections * delete basics.rst * doc/user-guide continue work * update environment_docs.yaml further writing in doc/user-guide * temporarly comment nbextension due to extensive memory consumption * reduce environment_doc.yaml dependencies radically (try out if it still works) * fix missing space in environment_docs.yaml * convert: Substitute deprecated cutout.meta with cutout.data. (#29) * Fix typo in README.md link to contributors. * doc/contributing.rst: Fix typo in heading. * __init__.py: Include new package docstring. * setup.py: Include new description and authors. * utils: Provide detailed re-creation information and catch error (fixes #33) * Move download_turbineconf to resource module To avoid circular dependencies. * config: Add _update_hooks list for registering for config updates * resource: Update resource dictionaries on config change * __init__.py load turbines and panel from resource.py wind.py remove unnecessary imports resource.py fix missing imports, use _update_resource_dict in download_windturbineconfig ensure replacing '-' in wind_config strings * Add minimal SPHINX Makefile. * environment_docs.yaml: try again with nbshinx extension, include other packages as required * Update names to windturbines and solarpanels for consistency * environment_docs.yaml comment nbsphinx installation again * configuration.rst: Update doc. Fixes #44 changse in documentation. * config: Allow more formats for configuration updates. (#44) * doc/makefile bugfix environment_doc test pypi installations due to memory efficiency doc/* small continuations * environment_docs another try with pyyaml in dependencies * environment_docs move back to conda, but exclude unnecessary packages * environment_docs build failed again (move nbsphinx into pip installation) * environment_docs commenting out nbsphinx due to memory error (again!) * Try to install "nbsphinx" in RTD with pip instead of conda. * Try different configuration for RTD. * Add pyyaml as extra required and RTD config cleanup * setup.py: Include toolz for doc installation. * Disable system_packages in RTD config. * setup.py: Include python-dateutil for doc install. * Substitute deprecated option in autodoc. * setup.py move missing packages to install_requires * Try RTD installation with conda/pip mixture again. * Change RTD config for installing package. * Remove local dir from RTD installation environment. * Change RTD environment to use fixed versions for lower RAM requirements. * Fix package version numbers in RTD environment. * Switch back to RST and remove duplications by softlinking. * MD does not allow for RST include directives making the switch necessary * By using the includes, we remove duplications in author listings in the documentation and README.rst and have the chance to have a separate AUTHORS.rst file * The release notes are also no longer duplicated and have a separate file in the root directory. An include-link brings them into the documentation. * Replace README.md with README.rst. * Prepare RTD for displaying and linking Jupyter notebooks. * Provide examples in documentation from subfolder via link to repo root. * Provide examples in documentation subfolder via link to repo root. (2) Examples which where missing from the commit before #72c0eda . * Disable nbsphinx cell execution in SPHINX for empty notebooks. Workaround for execution errors (do not execute noetbooks. Any output wanted has to be generated locally and uploaded). * setup.py: Fix wrong README import (.md instead of .rst). * Update RTD environment.yaml for nbsphinx. * Update formatting in example create_cutout.ipynb. * Rename Logfiles_and_messages.ipynb to logfiles_and_messages.ipynb Windows - Linux problem: Now solved. * Include a note on contributing examples in notebook format. * Try Jinja2 header for linking the doc with the notebook files. * Add how-to warnings to example and spell checking. * Add end-of-string to fix RTD build. * Try another preamble for the RTD Jinja2 filter. * Update RTD environment for improved performance. * Minor changes in the documentation on contributing. * Update RTD conf.py trying to fix nbsphinx_prolog / Jinja2 recipe. * Update RTDs conf.py to get correct path to examples in the repository. * Update RTDs conf.py to get correct path to examples in the repository (try 2). * Update RTDs conf.py to get correct path to examples in the repository (try 3). * Update RTDs conf.py to get correct path to examples in the repository (last try). * utils: Re-raise MergeError on unsuccessful automatic migration (#33) * Update module docstrings and update Cutout class docstring. * examples: add notebook fot plotting * examples and doc: make plotting_nb visible in docs * doc/examples create nb_link for plotting_with_atlite.ipynb * Update plotting_with_atlite.ipynb * Autoformatting (autoformat pep8) * Spell checks * Axis labels * Add note on descartes * Add our basic logging recommendation * era5: Move sanitation into dataset preparal * convert: Refactor from direct access to high-level functions * setup: Add requests dependency * sarah: Port atlite.datasets.sarah to new framework sarah: Update for data retrieval update sarah: Fix imports sarah: Fix _get_filenames sarah: Fix get_coords sarah: Add static_features sarah: Fix imports sarah: Fix get_data_era5 sarah: Add debug messages sarah: Fix get_data sarah: Fix _get_filenames sarah: Fixup implementation * era5: Fix handling of periods * era5: Create and clean up separate tmpdir for intermediate downloads The finalizer deletes files too early in a distributed setting, where the file handles are pickled and restored. * era5: Use gebco_path from config instead * data: Only download a single day of data if that is all we need * gis: Fix default crs setting rio.warp.reproject fails when using 'latlong', so we use the epsg number instead * data: Clean up tmpdir on exception * data: Add progress bar for writing to disk * sarah: Use a half-day chunk Leading to a memory use of about 2.2GB for a cutout the size of Europe. * datasets.common: Don't show the cdsapi download progress * sarah: Fix interpolation for newer dask versions * Update make.bat for windows to correspond to current minimal SPHINX file. * Update dependencies toolz is required by dask. * Fixes PyPSA/atlite#46 . * Unset unused directories for gebco, ncep, sarah, cordex. * Provide error message for unsuccessfull gdalwarp subprocess calls. * Extends and partially reverses euronion@7a225ca . * Reverse default config. * Rather than checking for a set gebco_path, we check if the path specified exists. * cutout: Add missing construct_filepath for properly treating config paths. * Change configuration mechanism for using GEBCO height. * cutout: Work around binary wheel incompatibility of netCDF4 and rasterio Refer to https://github.com/pydata/xarray/issues/2535, https://github.com/rasterio/rasterio-wheels/issues/12 * Invert default ordering in latitude dimension The default array ordering traverses now from small latitudes to large latitudes, since this is how ERA-5 organises its data by default and it lead to non-intuitive confusion several times. The most important changes are: - One now specifies cutout bound slices always from small to large: atlite.Cutout("bla", x=slice(-10, 10), y=slice(40, 45), time="2012-01") - Plotting using imshow has to be inverted explicitly from now on capacity_factor = cutout.wind(turbine="Vestas...", capacity_factor=True) plt.imshow(capacity_factor.transpose('y', 'x').values[::-1], extent=cutout.extent) We encourage users to use xarrays plotting facilities, instead, capacity_factor.plot() * Ensure temporary files are released before deleting (fixes #47) * Open cutout files with cache=False for saving memory Caching is still possible with `cutout.data = cutout.data.load()`. * convert: Make convert_wind fully dask-compatible * datasets.era5: Support requesting interpolated datasets * config: Store cutouts by default in the current directory * Remove cordex config settings CORDEX is available from CDS. * pv: Add simple latitude orientation With azimuth=180, it is angled to the south on the northern hemisphere and to the north on the southern hemisphere (due to the negative values for slope) * era5: Enable creating global cutouts One needs to use: x=slice(None), y=slice(None) * Revert "era5: Enable creating global cutouts" This reverts commit 3e7b4345c945a094593e6041e74da56d231a12a3. * utils: Prevent deprecation warning from pkg_resources. Absolute paths will be deprecated in pkg_resources.resource_filename. Including a leading (back-)slash is recognised as such and raises a warning, this change fixes this behaviour. * example plotting: Include figures, update to match v0.2 and misc. * Now including the figures for the example to be displayed in the doc. * Update the plotting commands to xarray's plot() to match the new v0.2 reverse indexing order * Misc: Show warnings and use the logger. * Add new example: Historic comparison for Germany (PV, wind in 2012). Example is based on the old "openmod-atlite-de.ipynb" example. * data: Fix no-missing-no-overwrite-branch (fixes #47) * utils: Correct error message for cutout migration. * On trying to automatically migrate an existing cutout, display the correct (new) order (min,max) for coordinates in the cutout recreation command. * Use the logging.error(...) facilities to correctly categorise the MergeError incl. the stack trace. * logging: Use .warning() API instead of deprecated .warn() calls. * utils: Only sort indices which can be in the wrong order * Remove config in favour of dataset parameters * sarah: Couple of small fixes and improvements * datasets.sarah: Make file searching more robust * setup.py: Update name and email * resource: Fix path of oedb wind_turbine_library in docstring * doc: Update cutout creation * Fix unmatched braket. * Update cutout creation example for ERA5 to new cutout signature. * convert: Fix the use of atlite.windturbines dict * gis: Do not pickle the spatial index Turns out the spatial index gets distorted by pickling, so we turn to_file and from_file to no-ops, until we find a work-around. * Update examples for new cutout signature. * Add documentation for cutout creation from SARAH-2 dataset. * Remove references to old configuration system and update index in doc. * Fix runoff conversion broken by #55ddd7f97c . * Add documentation for GEBCO in cutout creation. * Bump and versions in RTD environment to workaround compiling error. * examples: update plotting notebook * fix #62 * Fix cutout creation with odd bounds (era5) (#65) * fix #64 * ensure min/max assingments in coordinates * ensure correct ordering of slices * small fix * small fixup of #68 * use strtree instead of rtree * cutout.py: style, add line breaks to very long lines * Ensure backwards compatability in cutout creation. * fix literal and undefined name * Remove cutout_dir from cutout constructor main signature. * add test scripts * add test for loading and preparation * remove GridCell class * remove sindex references * change 'name' arg to 'path' * adjust test: delete temporary cutout files * add CachedAttribute decorator for property caching * fix sarah selector for file parsing * style only: break too long lines in [convert, data, sarah, gis, utils] * Add PR and issue templates. Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> * add conversion tests, fix small typo from previous commit * rename test script * Substitute deprecated .drop() by .drop_vars(). * test scripts: modify mktemp * add dx, dy, dt as properties to Cutout class * Dask compatibility (#77) * make interpolation optional * replace hourly_mean by resampling function * sarah module: apply autopep8 * fix typo * autopep8; move get_coords to high level * revise data.py, sarah.py * sarah use again as_slice * spread common.py among dataset modules * fix gebco as module * adjust test * change cutout representation * fix era5 static * fix features and allows multiple modules in cutout * fix feature preparation * sanitize prepare function, unify output of get_data * fix logging for requests * enable optional parallel loading * data.py: - remove literal_eval -> cutout_parameters are directly given to cutout.data.attr, slices are directly processes in coordinates creation - re-enable tmp_dir in cutout prepare - to_netcdf has different mode 'a'/'w' depending on whether file exists gebco.py: fix output of get_data sarah.py: set interpolate always to true * sarah.py re-enable optional interpolation * - add docstrings for all functions in data.py/sarah.py/era5.py - modify input variables of get_coords function. * add docstrings for all of cutout.py and gebco.py * cutout.py: - update docstrings for cutout class - remove support for cutou_dir, add warning and pointer to migration function - remove support for data argument as this requires further TODOs and can worked around very easily - remove default for module, this argument must be given - abolish is_view cases - add assertions for argument requirements 'x', 'y', 'time', 'module' when building new cutout * cutout.py: - Improve argument exception - Make cutout representation better - Ensure projection in cutout building * data.py make window class working with new feature handling tests: run tests for era5 and mixed ['sarah', 'era5'] cutouts cutout.py: reenable data as an optional argument * autopep8 in pv/*.py fix typo in migration function * first take for benchmarking: load data with chunks and apply conversion function without windows * cutout.py - clean imports - fully intergrate chunks as an cutout parameter and property - set chunking as standard loading of cutout data.py - use cutout.chunks property era5.py - use cutout.chunks property sarah.py - use cutout.chunks property * utils.py: fix import and swap_dimensions for old style cutout * pv module: - make module dask friendly, this commit removes all .values call which cause dask to be unable to chunk. - direct import of numpy functions which are often used convert.py: - restructure convert_and_aggregate function, this makes the function faster if only a layout is given. - change show_progress to bool only - change layout to be xr.DataArray only * convert: Fix heat demand hourshift for xarray 0.15.1 (#63) From xarray version 0.15.1, .values cannot be assigned. You should use the .assign_coords() method instead. See release notes for xarray 0.15.1 "breaking changes": http://xarray.pydata.org/en/stable/whats-new.html#v0-15-1-23-mar-2020 * convert.py - rename heatdemand array * cutout.py: - raise Error if old style * cutout.py: restructure handling of projection. The projection of different modules is tested when initializing the cutout. The property 'projection' will then only look at the projection of first module. * aggregate.py: remove aggregate_sum function convert.py: - try out dense operation for indicator matrix multiplication - replace aggregate_matrix function with tensor dot (still figuring out performance) gis.py: - argument shapes can now also be geopandas frame * convert.py: reinstatiate aggregate_matrix function, but fix name of index * convert.py: - make index valid for geopandas series and frame * Allow saving of pseudo-boolean cutout attributes to netCDF. * Fix interpolation option and defaults for SARAH cutouts. * convert.py fix division for capacity factor calculation cutout.py fix represention of features * Rename cutout parameters for interpolation of SARAH data. * review examples: - clean and run create_cutout and plotting notebook - delete tiny create_cutout.py script - add comparison script for verions 1 and 2 * Apply suggestions from code review Co-authored-by: Jonas Hörsch <jonas.hoersch@posteo.de> * add suggestions: - aggregate.py ensure index name - convert.py updat docstring - convert.py remove index.name defaults as done by aggregate_matrix function - convert.py reenable progrss bar for hydro - cutout.py fix import structure - data.py remove unneeded code - sarah.py add assertion for time resolution * data.py store booleans as int for to_netcdf * prepare cutout: move prepared_feature assignment directly before storing * update authors list fix suggestions in migration function * revise all imports * * change chunk size attribute from 'chunk_{dim}' to 'chunksize_{}' * fix cutout.prepared_features for one feature only Co-authored-by: Tom Brown <tom.brown@kit.edu> Co-authored-by: euronion <42553970+euronion@users.noreply.github.com> Co-authored-by: Jonas Hörsch <jonas.hoersch@posteo.de> * aggregate.py do not immute index with no name * examples: rerun and comment * example: historic reanalysis notebook, add head comment, fix headings * examples: rerun sarah notebook * doc: - remove User Guide section in favour of notebooks - add notebook for gebco heightmap cutout.py & data.py: small fix for cutout with spatial dimension only * tests: Use pytest fixtures and marks (#83) * data: Re-enable parallelized queueing (#87) * era5: Use lock to support download progress bars * era5: Fix retrieval_times * era5: Re-enable warnings * era5: Fix int64 is not serializable to JSON exception * data: Re-enable parallelized queueing Since queueing times are significantly longer than downloading, combine dask.delayed with a lock to queue in parallel but download in series. * Document breaking changes, user warning due to change in cutout index order. * fix updating features & sanitize static variables in era5 (#91) * era5.py - set output of get_data to xr.Dataset - sanitize static features, whereas the variable should not have a time dimension, the returned dataset of get_data should have data.py - parallize feature loading -> delayed call of get_data * era5.py - set delete file message to logger.debug * era5.py fix typo * era5.py - bug fix time keys * data.py: - store data file without appending to netcdf as it is unsecure, instead create a new one era5.py - revert time assigning to static feature as not needed test - add test for updating a variable * data.py - fix name of temporary file era5.py - stream info log of client through logger.debug * Update atlite/data.py Co-authored-by: euronion <42553970+euronion@users.noreply.github.com> * reenable progress bar * era5: Logging differentiates between request and download (#94) * cutou.py: - selection must have a separate name data.py: - make tempfile creation safe - logging for tmp dir test - adjust test for selection era5.py - fix division by zero * test - use fixture for updatable cutout * era5.py remove sleep time again cutout.py set chunks to 100 as it is faster Co-authored-by: euronion <42553970+euronion@users.noreply.github.com> Co-authored-by: Jonas Hörsch <jonas.hoersch@posteo.de> * [v0.2] review suggestions (#95) * cutout: Make new `path` argument optional * cutout: Make dx/dy calculation more robust * data: Do not leak the temporary directory * bugfixes of PR #95 * update README.rst * Fixup README * Fixup README II * add workflow chart * README: make workflow image look better * test remove dummy test * AUTHORS.rst fix table * README.rst fix inclusion of authors list * README.rst fix authors list II * Fix link to authors in README.rst. * README.rst reintegrate Installation section * data.py fix return_capacity with layout not None (#97) * era5.py disable warning for ds.drop() test: temporarly disable windows machines * Fix divisions by zero (#98) * solve #55 * fixup * era5.py remove errstate with block as obsolete * era5-module: tiny fix string formatting * data.py: fixup for no features given * cutout.py: add 'module' to __repr__ * data.py tiny code style fix * aggregate.py use dask_gufunc_kwargs * Ci mamba (#110) * ci: use mamba instead of conda * follow up, add comment [skip travis] * follow up * follow up, fix conda activate * ci: playaround, remove conda specifications * fix numpy <-> daks incompatibility in clip function (#111) * irradiation.py: replace .clip by .where due to new numpy/dask incompatibility * follow up, only apply .where where necessary * travis: do not fix mamba version * Windows machine fix (#109) * enable ci on windows * data.py: use TemporaryDirectory instead of mkdtemp * data.py revert last commit, try now with wrapper * fix travis env for windows machines * follow up: write pip and pytest dependencies in env file * env: add libspatialindex to requirements * travis: reintroduce strict channel order due to installation problems on windows * Cutout grid (#112) * introduce Cutout.grid make Cutout.grid_cells and Cutout.grid_coordinates deprecated * follow up * adjust plotting example * update release notes * test_creation.py adjust test * test: tiny fix up * add crs to Cutout.grid * follow up: add comment [skip travis] * release notes: fix typo [skip travis] * Update to pyproj 2 (#92) * Rename projection to crs Follows pyproj in nomenclature. See https://pyproj4.github.io/pyproj/stable/gotchas.html#upgrading-to-pyproj-2-from-pyproj-1 . * environment: Remove channel pinning Channel pinning has been superseed by strict channel_priority as proposed at https://conda-forge.org/docs/user/tipsandtricks.html. * gis: Add grid_cell_areas function to compute areas of grid cells * cutout: Fix forgotten conversion * gis: Improve grid_cell_areas * remove area calculation due to geopandas implementation * update release notes * gis.py: revise imports Co-authored-by: Fabian <fab.hof@gmx.de> * gebco: Extract and resample data from GEBCO using rasterio [DNMY] (#93) * gebco: Extract and resample data from GEBCO using rasterio * tiny fixup of inversed y-axis and data array accessing * fix numeric tags Co-authored-by: Fabian <fab.hof@gmx.de> * use 'cea' projection instead of 'aea' (alternative to #102) * Modified cutout creation (#114) * * add warning for ignoring cutoutparams if cutout already exists * reintroduce Cutout.prepared * follow up * gis.py: adjust deprecation warning * data.py set "feature" attribute for every variable (#115) cutout.py make prepared features more secure * Cutout merge (#116) * cutout.py add merge function pytest add merge test * cutout.py: when data is passed and path is non-existent, write out file path in cutout.merge and cutout.sel has to be non-existent * adjust docstrings * revert second last commit, add cutou.to_file function * revert unneeded assert * follow up: update docstrings [skip travis] * irradiation.py: add comment to clipping, use other approach solar_position.py: saver/cleaner approach for chunking * utils.py: track module and feature when migrating (#117) * Convert fix (#118) * convert.py catch case of no layout given * convert.py: restructure convert_and_aggregate for correctly handling all input combinations * test: pv add rounding to assert * convert.py secure division by zero * update examples * update years and authors Co-authored-by: euronion <42553970+euronion@users.noreply.github.com> Co-authored-by: Fabian <fab.hof@gmx.de> Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de> Co-authored-by: Tom Brown <tom.brown@kit.edu>
push time in a day
PR merged PyPSA/atlite
The first official version of atlite is getting closer and there is a bunch of good stuff coming.
Changes
The main change is that a cutout corresponds to a single netcdf file for the whole cutout period, which is fully accessible as a xarray at cutout.data
.
-
This makes it possible to iterate over the data in customizable slices:
cutout.wind(shapes=countries, turbine="Vestas_V90_3MW")
uses months as in the previous version, while f.ex.cutout.wind(..., windows='Y')
uses years.windows
can be anything thatpd.Grouper
understands, ie. 'D', 'M', 'Y' or even '2D'.windows = False
makes it possible to apply the conversion function to the data as a whole. It should also be possible to choose windows compatible with a particular time zone to avoid the re-averaging that was necessary forheat_demand
. -
The data for cutouts is now grouped into different
features
(from the ERA-5 dataset):features = { 'height': ['height'], 'wind': ['wnd100m', 'roughness'], 'influx': ['influx_toa', 'influx_direct', 'influx_diffuse', 'influx', 'albedo'], 'temperature': ['temperature', 'soil_temperature'], 'runoff': ['runoff'] }
It's possible to prepare a cutout only for a subset of the available features:
cutout.prepare(['runoff', 'wind'])
. One can always extend the cutout by runningprepare
again. -
One can load a cutout fully into memory using
cutout.data.load()
(orcutout.data.wnd100m.load()
,cutout.data.roughness.load()
for wind only), which should fully supersede @euronion 's caching from #9 . -
It's easy to get a subset of a cutout using
.sel
directly induced by atlite'ssel
function:cutout.sel(time="2012-01")
orcutout.sel(time="2012-07", bounds=german_shape.bounds)
Open questions
- [x]
config.py
has been completely removed instead one has to provide the necessary paths explicitly when creating new cutouts. In addition we could allow reading in a config file like~/.atlite.config
or some such? - [x] Should data cleaning methods be moved into datasets (ie surface roughness <= 0. ->0.002)? I think that would be a good idea! Are there objections?
- [x] When data is read in as dask arrays, it is not mutable in the conversion functions leading to Exceptions. We can either change everything to copy-on-change (ie use clip) or catch the error and throw a more helpful error message to have to prepare the dataset? Related to #30. To be conservative we load dask arrays before they are passed to the conversion functions.
Remaining TODOS
- [X] Add a .sel method to produce a view on a subset of the data
- [ ] Mailing list for announcements
- [x] Release notes (done in
documentation
branch) - [ ] Migration instructions
- [x] Examples should set up for showing warnings: #27 . (done in
documentation
branch) - [ ] Other datasets:
- [x] sarah
- [ ] cordex
- [ ] ncep
- [ ] efas
- [x] Merge
documentation
branch
I'm happy about everyone, who wants to test the new version, provide feedback or help with documentation or the remaining todos! @leonsn @nworbmot @FabianHofmann @schlott @fneum
pr closed time in a day
push eventPyPSA/atlite
commit sha d07be82ef48fe26e30cbe126c1dd4d0c81fab7f9
update examples
commit sha 6a012147d609301bf9299b62f6e1eaa9289ab7d9
update years and authors
push time in a day
PR opened PyPSA/pypsa-eur
dead-end busses with possibly different substation_lv
, substation_off
and under_construction
values are being aggregated, but the dead-end bus is simply removed without updating the respective attribute of the bus it is aggregated to.
since we don't need those attributes (they are non-existent after cluster_network
), I suggest to drop them to avoid confusion
pr created time in 2 days
issue openedPyPSA/pypsa-eur
Change deprecated set operations on pd.Index
https://github.com/pandas-dev/pandas/issues/36758
created time in 3 days
push eventPyPSA/atlite
commit sha e4a903f8508a5c46e9a7fc9db5043ceae15687f3
convert.py secure division by zero
push time in 3 days
PR merged PyPSA/atlite
fixup for all input combinations to convert_and_aggregate
. Before there occured an error when a matrix
without layout
argument was given.
pr closed time in 3 days
push eventPyPSA/atlite
commit sha b1396125e811cbfc4593252362906f83d358c850
Convert fix (#118) * convert.py catch case of no layout given * convert.py: restructure convert_and_aggregate for correctly handling all input combinations * test: pv add rounding to assert
push time in 3 days
issue openedPyPSA/pypsa-eur
Operations-Only optimization still expands links
Checklist
- [x] I am using the current
master
branch or the latest release. Please indicate. - [x] I am running on an up-to-date
pypsa-eur
environment. Update viaconda env update -f envs/environment.yaml
.
Describe the Bug
The function set_parameters_from_optimized in solve_operations_network.py
does what one would expect for lines, generators and storages: Take the p_nom_opt
(or s_nom_opt
) value from the optimized network, put it into p_nom
(or s_nom
) for the network to be optimized, and disallow all expansion.
However, for links, all links with carriers other than DC
are ignored. This results in lots of those links being expanded in an operations-only optimization. I doubt that this is intended - and if it is, then I think it should be documented somewhere?
created time in 3 days
PR opened PyPSA/atlite
fixup for all input combinations to convert_and_aggregate
. Before there occured an error when a matrix
without layout
argument was given.
pr created time in 4 days
issue closedPyPSA/atlite
Add package and module doc strings for REPL users
import atlite
?atlite
I would like to extend it with a link to the documentation and perhaps one or two very simple examples.
Originally posted by @coroa in https://github.com/PyPSA/atlite/pull/40
closed time in 4 days
coroapush eventPyPSA/atlite
commit sha 4705d034a95b5b6da6cc53b2c7491da2405d1eda
utils.py: track module and feature when migrating (#117)
push time in 4 days