GitHunt
SA

SarthakJariwala/nrel_dev_api

Python API to access data and analysis services from NREL (National Renewable Energy Lab)

NREL Dev API

|PyPI| |Status| |Python Version| |License|

|Read the Docs| |Tests| |Codecov| |pre-commit| |Black|

.. |PyPI| image:: https://img.shields.io/pypi/v/nrel_dev_api.svg
:target: https://pypi.org/project/nrel_dev_api/
:alt: PyPI
.. |Status| image:: https://img.shields.io/pypi/status/nrel_dev_api.svg
:target: https://pypi.org/project/nrel_dev_api/
:alt: Status
.. |Python Version| image:: https://img.shields.io/pypi/pyversions/nrel_dev_api
:target: https://pypi.org/project/nrel_dev_api
:alt: Python Version
.. |License| image:: https://img.shields.io/pypi/l/nrel_dev_api
:target: https://opensource.org/licenses/Apache-2.0
:alt: License
.. |Read the Docs| image:: https://img.shields.io/readthedocs/nrel_dev_api/latest.svg?label=Read%20the%20Docs
:target: https://nrel_dev_api.readthedocs.io/
:alt: Read the documentation at https://nrel_dev_api.readthedocs.io/
.. |Tests| image:: https://github.com/SarthakJariwala/nrel_dev_api/workflows/Tests/badge.svg
:target: https://github.com/SarthakJariwala/nrel_dev_api/actions?workflow=Tests
:alt: Tests
.. |Codecov| image:: https://codecov.io/gh/SarthakJariwala/nrel_dev_api/branch/main/graph/badge.svg
:target: https://codecov.io/gh/SarthakJariwala/nrel_dev_api
:alt: Codecov
.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Black

Access data and analysis services that NREL (National Renewable Energy Lab) provides using a python API.

.. note:: In order to use nrel_dev_api, you will need an API key from NREL. You can get one here <https://developer.nrel.gov/signup/>_.

Installation

You can install nrel_dev_api via pip_ from PyPI_:

.. code:: console

pip install -U nrel_dev_api

Usage

Set API Key
+++++++++++

Globally set your NREL developer API key.

.. code:: python

from nrel_dev_api import set_nrel_api_key

set_nrel_api_key(NREL_API_KEY)

Accesing Solar Data and Resources
+++++++++++++++++++++++++++++++++

++++++++++
PVWatts V6
++++++++++

Estimate the energy production of grid-connected photovoltaic (PV) energy systems using NREL's PVWatts V6 API based on a few simple location and system inputs.

.. code:: python

from nrel_dev_api.solar import PVWattsV6

create PVWattsV6 class and pass the necessary location and system inputs

pvwatts_v6 = PVWattsV6(system_capacity=4,
address="Seattle, WA",
azimuth=180,
tilt=40,
array_type=1,
module_type=1,
losses=10
)

You can also view the details about the station.

pvwatts_v6.station_info

+++++++++++++++++++++++++++++++++++++++++++++++
Query National Solar Radiation Database (NSRDB)
+++++++++++++++++++++++++++++++++++++++++++++++

.. code:: python

from nrel_dev_api.solar import NSRDB_DataQuery

nsrdb_data_query = NSRDB_DataQuery(api_key=NREL_API_KEY, wkt="POINT(91.287 23.832)")

check the outputs

nsrdb_data_query.outputs

++++++++++++++++++++++
Data on Solar Resource
++++++++++++++++++++++

Get solar resource data for a specific location

.. code:: python

from nrel_dev_api.solar import SolarResourceData

get solar resource data for a specific latitude and longitude

solar_resource_data = SolarResourceData(api_key=NREL_API_KEY, lat=40, lon=-105)

the output data is stored in the outputs attribute

solar_resource_data.outputs

++++++++++++++
Solar Datasets
++++++++++++++

Get information on the closest climate data for a location.

.. code:: python

from nrel_dev_api.solar import SolarDatasetQuery

create a dataset query class

solar_dataset_query = SolarDatasetQuery(api_key=NREL_API_KEY, address="San Francisco, CA")

get the output

solar_dataset_query.outputs

Contributing

Contributions are very welcome.
To learn more, see the Contributor Guide_.

License

Distributed under the terms of the Apache 2.0 license_,
nrel_dev_api is free and open source software.

Issues

If you encounter any problems,
please file an issue_ along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.

.. _@cjolowicz: https://github.com/cjolowicz
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _Apache 2.0 license: https://opensource.org/licenses/Apache-2.0
.. _PyPI: https://pypi.org/
.. _Hypermodern Python Cookiecutter: https://github.com/cjolowicz/cookiecutter-hypermodern-python
.. _file an issue: https://github.com/SarthakJariwala/nrel_dev_api/issues
.. _pip: https://pip.pypa.io/
.. github-only
.. _Contributor Guide: CONTRIBUTING.rst
.. _Usage: https://nrel_dev_api.readthedocs.io/en/latest/usage.html