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

Revise weather df from era5 #66

Open
wants to merge 15 commits into
base: dev
Choose a base branch
from

Conversation

uvchik
Copy link
Member

@uvchik uvchik commented Jun 18, 2021

Revise the functions weather_df_from_era5() and some connected functions:

  • add function extract_coordinates_from_era5(filename) to get a 'GeoSeries` with all coordinates of the era5-netCDF-file (5aa50ea)
  • If only one point was found within a polygon an error was raised -> fixed (c737488)
  • If no point was found in some cases an error was raised -> fixed (ea93026)
  • A parameter was added to decide whether the levels with the coordinates were dropped or not (792883a)
  • Add tests for the era5.py module
  • Add coordinates as index name if levels are dropped (6e5c70b) e.g. print(df.index.name) -> (12.3, 53.2)
  • If one Point is passed as a shapely.geometry the nearest point is used instead of within as it was before.

The last point does not work, so I added a failing test. See code comment below. -->fixed

One parameter in the function is called area but it can be a point, so I would like to rename it to geometry or filter or...

@uvchik uvchik added this to the v0.1.0 milestone Jun 18, 2021
@uvchik uvchik self-assigned this Jun 18, 2021
@uvchik
Copy link
Member Author

uvchik commented Jun 21, 2021

Sorry, it is not good practice to remove the 3.6 support within this PR. I was just to lazy to open an extra one. If you have objections I will revert it.

Extract all coordinates from a er5 netCDf-file and return them as a
geopandas.Series
"""
ds = xr.open_dataset(era5_netcdf_filename)
Copy link
Member

Choose a reason for hiding this comment

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

Is it possible to only read longitude and latitude data needed in this function? Would be good for large datasets.

`windpowerlib` and `pvlib`.
drop_coord_levels : bool
Decide whether the index levels of the coordinates will be dropped. A
ValueError is raised if there are more than one coordinates.
Copy link
Member

Choose a reason for hiding this comment

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

A ValueError is raised if there is more than one coordinate.

if np.size(area[0]) == 1 and np.size(area[1]) == 1:
if drop_coord_levels is True:
if len(df.groupby(level=[1, 2]).count()) > 1:
msg = ("You cannot drop the coordinate levels if there are more "
Copy link
Member

Choose a reason for hiding this comment

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

..if there is more...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants