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

Release/3.0.0 #434

Merged
merged 83 commits into from
Apr 14, 2021
Merged

Release/3.0.0 #434

merged 83 commits into from
Apr 14, 2021

Conversation

mpu-creare
Copy link
Contributor

@mpu-creare mpu-creare commented Dec 1, 2020

  • Bugfixes for Release 3.0.0

Need to test/fix all the data sources:

  • SMAP_EGI
  • weathercitizen
  • GFS
  • Satutils (landsat & Sentinel2)
  • soilscape

…tes was broken. Reintroducing the _simplified_transform function Coordinates.
…ixing rasterio_source coordinate_index type -- it expects slices.
* Terrain tiles should have been checking udims
* Added missing dependency
* Adding soilscape and soilgrids to API.
* Now takes into account the bounds and boundary_data
* Renamed routines to avoid future potential naming conflicts with base xarray class
* fixed deserialization of netcdf-saved stacked data (closes #303)
* Various small coordinates fixes associated with stacked multi-dimensional coordinates
* Making bounds check on data_compositor more robust
* Adjusted nearest_neighbor_interpolator to handle stacked coordinates with more than one dimension, other interpolators almost certainly do not work
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.3%) to 92.195% when pulling 70edbc0 on release/3.0.0 into 015d0eb on develop.

@coveralls
Copy link

coveralls commented Dec 1, 2020

Coverage Status

Coverage increased (+0.1%) to 92.652% when pulling 7c810e1 on release/3.0.0 into 015d0eb on develop.

@jmilloy
Copy link
Collaborator

jmilloy commented Dec 1, 2020

@mpu-creare We have the pairs of datasource nodes, e.g. RasterioBase and Rasterio. I thought that was for backwards compatibility, but with the bump to 3.0, we wouldn't need to do that. Can we get rid of the InterpolationMixin and just require the Interpolate node when you want use it?

@mpu-creare
Copy link
Contributor Author

I'll poll the group about that at the meeting tomorrow.

@jmilloy
Copy link
Collaborator

jmilloy commented Dec 7, 2020

@mpu-creare FYI, currently working on removing the InterpolationMixin.

@jmilloy
Copy link
Collaborator

jmilloy commented Dec 8, 2020

@mpu-creare Does the algorithm Reproject class replace ReprojectedSource? Should we deprecate ReprojectedSource for this release?

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

Same, 1.1.8.

I have

AWS_ACCESS_KEY_ID <XXXX>
AWS_SECRET_ACCESS_KEY <XXXX>
AWS_REGION_NAME us-east-1
AWS_TAGS None
AWS_BUDGET_AMOUNT None
AWS_BUDGET_EMAIL None
AWS_REQUESTER_PAYS False
S3_BUCKET_NAME None

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

boto3 1.16.30

@mpu-creare
Copy link
Contributor Author

Do you have boto3 configured in your environment? I don't.

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

How do I find out if I have boto3 configured?

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

I don't have any AWS environmental variables defined, but I do have a ~/.aws/config file. It just has:

[default]
region_name=us-east-1

[user jxm@creare]
region_name=us-east-1

@mpu-creare
Copy link
Contributor Author

boto3.__version__ '1.17.43'

in a fresh session, try:

import boto3
s = boto3.Sesssion()
s.get_credentials()

I have to switch tasks for now... sorry...

@mpu-creare
Copy link
Contributor Author

looks like boto3 is NOT configured... hhmmmm... Right now TestGFS.test_source passes for me with yesterday = now - datetime.timedelta(days=24)

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

Yeah, my boto3 session credentials are populated with a access_key and secret_key

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

That'll be from ~/.aws/credentials.

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

Removing the .aws/credentials did remove the boto3 session credentials, but it didn't fix the error.

@mpu-creare
Copy link
Contributor Author

mpu-creare commented Apr 8, 2021

Hmmm. these are my settings.

{
 'DEBUG': False,
'MULTITHREADING': False,
 'DEFAULT_CACHE': [],
 'CACHE_DATASOURCE_OUTPUT_DEFAULT': True,
 'CACHE_NODE_OUTPUT_DEFAULT': False,
 'AWS_ACCESS_KEY_ID': 'xxxxxxxxxxxxx',
 'AWS_SECRET_ACCESS_KEY': 'xxxxxxxxxxxx',
 'AWS_REGION_NAME': 'US-EAST-1',
 'AWS_REQUESTER_PAYS': False,
}

I'm also have the following in the test, and this works too:

        with podpac.settings:
            podpac.settings['AWS_ACCESS_KEY_ID'] = None
            podpac.settings['AWS_SECRET_ACCESS_KEY'] = None
            podpac.settings['AWS_REGION_NAME'] = None
            ...

@mpu-creare
Copy link
Contributor Author

mpu-creare commented Apr 8, 2021

That RasterioIOError that you get -- is that from a fresh try? or after retrying.

I find that often rasterio throws and error, and then on a second pass throws THIS particular not recognized as a supported file format error.

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

>>> import rasterio
>>> session = rasterio.session.AWSSession(
        region_name='us-east-1',
...     aws_unsigned=True)
>>> with rasterio.env.Env(session=session) as env:
...     dataset = rasterio.open('s3://noaa-gfs-pds/SOIM/0-10 m DPTH/20210315/1200/003')
... 
Traceback (most recent call last):
  File "rasterio/_base.pyx", line 216, in rasterio._base.DatasetBase.__init__
  File "rasterio/_shim.pyx", line 67, in rasterio._shim.open_dataset
  File "rasterio/_err.pyx", line 213, in rasterio._err.exc_wrap_pointer
rasterio._err.CPLE_OpenFailedError: '/vsis3/noaa-gfs-pds/SOIM/0-10 m DPTH/20210315/1200/003' not recognized as a supported file format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/home/jmilloy/Creare/Pipeline/_podpac-38_/lib/python3.8/site-packages/rasterio/env.py", line 433, in wrapper
    return f(*args, **kwds)
  File "/home/jmilloy/Creare/Pipeline/_podpac-38_/lib/python3.8/site-packages/rasterio/__init__.py", line 221, in open
    s = DatasetReader(path, driver=driver, sharing=sharing, **kwargs)
  File "rasterio/_base.pyx", line 218, in rasterio._base.DatasetBase.__init__
rasterio.errors.RasterioIOError: '/vsis3/noaa-gfs-pds/SOIM/0-10 m DPTH/20210315/1200/003' not recognized as a supported file format.

@mpu-creare
Copy link
Contributor Author

mpu-creare commented Apr 8, 2021

I just ran your code above from a fresh session with no issues.

Could you try the following for me?

with rasterio.env.Env(session=session, AWS_HTTPS=False) as env:
     dataset = rasterio.open('s3://noaa-gfs-pds/SOIM/0-10 m DPTH/20210315/1200/003')

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 8, 2021

Yeah, that works! So...?

@mpu-creare
Copy link
Contributor Author

I think it means there's some issue with ssl certificates... rasterio cannot find them for some reason on your machine. I've been debugging a similar issue on the weatherground server.... it's a bit mysterious to me.

You can try setting:

export 'CURL_CA_BUNDLE'='/etc/ssl/certs/ca-certificates.crt'

if you're on linux... and let me know if that works WITHOUT the AWS_HTTPS=False

Make sure it's set properly by checking os.environ inside Python.

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 9, 2021

Yeah, setting CURL_CA_BUNDLE worked.

@jmilloy
Copy link
Collaborator

jmilloy commented Apr 9, 2021

Here's a commit that "fixes" this issue by documenting it rasterio/rasterio@b621d92

rasterio or curl or something should report a more informative error. Do you want me to try to do that in podpac, at least?

@mpu-creare mpu-creare merged commit 85e2f4a into develop Apr 14, 2021
@mpu-creare mpu-creare deleted the release/3.0.0 branch April 14, 2021 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants