Skip to content

Adapt get_merra2 to new API endpoint - #2839

Open
kandersolar wants to merge 12 commits into
pvlib:mainfrom
kandersolar:merra2
Open

Adapt get_merra2 to new API endpoint#2839
kandersolar wants to merge 12 commits into
pvlib:mainfrom
kandersolar:merra2

Conversation

@kandersolar

@kandersolar kandersolar commented Aug 5, 2026

Copy link
Copy Markdown
Member
  • [ ] Closes #xxxx
  • I am familiar with the contributing guidelines
  • [ ] I attest that all AI-generated material has been vetted for accuracy and is in compliance with the pvlib license
  • [ ] Tests added
  • [ ] Updates entries in docs/sphinx/source/reference for API changes.
  • Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
  • New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
  • Pull request is nearly complete and ready for detailed review.
  • Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

The tests for get_merra2 are failing (log). It seems that NASA has decommissioned the THREDDS server we accessed. See for example the error message returned from this example query:

410
Service Permanently Retired

The THREDDS Data Server (TDS) is no longer available
GES DISC's on-premises THREDDS Data Server (TDS) has been retired.
The data served by TDS is available in the Earthdata Cloud and can be accessed through HTTPS and other subsetting services.

This transition complies with NASA's Earth Science Data Systems (ESDS) Program's [Strategic Vision](https://www.earthdata.nasa.gov/about/earthdata-cloud-evolution) and [Open Data Policy](https://www.earthdata.nasa.gov/engage/open-data-services-software-policies).

Users will experience similar data access and retrieval capabilities through [Cloud OPeNDAP](https://opendap.earthdata.nasa.gov/).
Specific changes related to this transition for GES DISC users are documented here: [OPeNDAP In The Cloud](https://disc.gsfc.nasa.gov/information/tools?title=OPeNDAP%20In%20The%20Cloud).
Additional information about GES DISC's cloud migration effort is here: [Migrating to the Cloud](https://disc.gsfc.nasa.gov/information/documents?title=Migrating%20to%20the%20Cloud).
Guidance for accessing and downloading data from GES DISC is here: [Data Access](https://disc.gsfc.nasa.gov/information/documents?title=Data%20Access)

Unfortunately there does not seem to be any direct replacement for the THREDDS server, but there is another API called Giovanni which is similar enough that I think we can replicate our original functionality without needing to change our function signature or even have much awkwardness internally. I was not able to find any documentation for the API except for an example notebook, but it seems straightforward to use. Unfortunately the returned metadata is different, but there's no getting around that.

@kandersolar kandersolar added this to the v0.16.0 milestone Aug 5, 2026
@kandersolar kandersolar added io remote-data triggers --remote-data pytests labels Aug 5, 2026
@kandersolar kandersolar mentioned this pull request Aug 5, 2026
9 tasks
@kandersolar kandersolar added remote-data triggers --remote-data pytests and removed remote-data triggers --remote-data pytests labels Aug 5, 2026
@kandersolar kandersolar added remote-data triggers --remote-data pytests and removed remote-data triggers --remote-data pytests labels Aug 5, 2026
@kandersolar
kandersolar marked this pull request as ready for review August 5, 2026 13:02
@kandersolar
kandersolar requested a review from AdamRJensen August 5, 2026 13:03
Comment thread tests/iotools/test_merra2.py
@kandersolar kandersolar added remote-data triggers --remote-data pytests and removed remote-data triggers --remote-data pytests labels Aug 5, 2026
Comment thread pvlib/iotools/merra2.py Outdated
@kandersolar kandersolar added remote-data triggers --remote-data pytests and removed remote-data triggers --remote-data pytests labels Aug 5, 2026
@kandersolar kandersolar added remote-data triggers --remote-data pytests and removed remote-data triggers --remote-data pytests labels Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

io remote-data triggers --remote-data pytests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants