xcodex


Namexcodex JSON
Version 1.2.1 PyPI version JSON
download
home_pageNone
SummaryThis package will download and extract daily data of XCO2 from the NASA Goddard Earth Sciences (GES)
upload_time2024-08-27 11:22:24
maintainerNone
docs_urlNone
authorhenriquefl24@git
requires_python>=3.9
licenseNone
keywords python nasa ges disc xco2 daily oco-2 jupyter notebook xcodex
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![logo-gas-removebg-preview.png](https://i.postimg.cc/gjptBxF4/logo-gas-removebg-preview.png)](https://postimg.cc/vgPv4Hm6)

# **Welcome to XCODEX - XCO2 Daily EXtractor**

Hi there! My name is Henrique!

The creation of this Python package was intended to create a simple solution for extracting daily data from XCO2 retrieved from the GES DISC platform.

I will attach the links containing the GitHub profile of the researchers who helped me in the development of this package along with graphical visualization of the data and the citation of the OCO-2 project.

I hope it's useful to you. **Long live science!**

## *Installing the package*
To install the package, use the command:
```angular2html
pip install xcodex
```
## *Using XCODEX*
Importing the necessary libraries:
```angular2html
import os

import pandas as pd

from xcodex.main import xco2_extract
from xcodex.run_tests import run_all_tests
``` 
The new version of xcodex has a new feature that allows you to run tests to check if the package is working properly. To do this, use the command:
```angular2html
run_all_tests()
```
Setting the historical series:
```angular2html
start_date = "30 of January, 2015"
end_date = "22 of February, 2015" 
```
Setting the locations:
```angular2html
locations = dict(Mauna_loa=[19.479488, -155.602829],
                 New_York=[40.712776, -74.005974],
                 Paris=[48.856613, 2.352222])
```
Extracting the data and organizing it in a `pandas.Dataframe`:
```angular2html
df = xco2_extract(
                  start=start_date,
                  end=end_date,
                  missing_data=False,
                  **locations)      
```
Note1: The location used in this example was Mauna Loa, New York and Paris. Any location can be used<br>
as long the format "Location[lat, lon]" is respected. The values of <br>
latitude and longitude must be in decimal degrees.

for more information, please execute the command: <br>

````angular2html
help(xco2_extractor)
````

Finally, you will have a `pandas.Dataframe` as result. Now it's up to you how you'll <br>
handle it. I recomend checking the `Github profiles` below for data visualization.

### Data visualization
Here we can plot in a map the locations:
````angular2html
## set mapbox access token

import plotly.express as px
import plotly.graph_objs as go

px.set_mapbox_access_token('pk.eyJ1Ijoic2FnYXJsaW1idTAiLCJhIjoiY2t2MXhhMm5mNnE5ajJ3dDl2eDZvNTM2NiJ9.1bwmb8HPgFZWwR8kcO5rOA')

# Plotly configs

fig= px.scatter_mapbox(df,
                              lat= 'lat',
                              lon= 'lon',
                              color= 'xco2',
                              zoom= .85,
                              width=960,
                              height=540,
                              size_max=10,
                              hover_name='city',
                              color_continuous_scale=px.colors.cyclical.IceFire)

fig.update_layout(mapbox_style="dark") #"open-street-map"


layout = go.Layout(margin=go.layout.Margin(
    l=0,
    r=0,
    b=0,
    t=0))


fig.update_layout(layout,
                  autosize=False,
                  height=540,
                  width=960,
                  hovermode="closest")

# Saving the output image

#fig.write_html('xcodex_map.html')
#fig.write_image("xcodex_map.png", scale=2)

fig.show()
````
And finally a way to observe the XCO2 behavior during the time serie:
````angular2html
# Showing XCO2 behavior in time serie

import matplotlib.pyplot as plt
import seaborn as sns

plt.figure(figsize=(10,5))

sns.set_theme(font_scale=1, style="white")

sns.lineplot(data=df,
             x="jd",
             y='xco2',
             hue='city',
             errorbar=('ci',0),
             palette="tab10")

plt.xlabel("")
plt.ylabel("XCO2 (ppm)")

plt.xlim(min(df.jd), max(df.jd))
plt.ylim(min(df.xco2), max(df.xco2))

sns.despine(right=False,
            top=False)

plt.legend(ncol=3)

plt.tight_layout()

#plt.savefig("xcodex_locations.png", dpi=300)

plt.show()
````
### *GitHub profiles*:

https://github.com/GlaucoRolim (Co-author) <br>
https://github.com/kyuenjpl/ARSET_XCO2 <br>
https://github.com/sagarlimbu0/OCO2-OCO3

### *Please, cite this package as:*

Laurito, H., La Scala, N., Rolim, G. S., 2023. Extracting XCO2-NASA Daily data with XCODEX:
A Python package designed for data extraction and structuration. Jaboticabal, SP, BR, (...)


### **Data source citation**:

Brad Weir, Lesley Ott and OCO-2 Science Team (2022), OCO-2 GEOS Level 3 daily,
0.5x0.625 assimilated CO2 V10r, Greenbelt, MD, USA, Goddard Earth Sciences Data
and Information Services Center (GES DISC), Accessed: 10/31/2022,
doi: 10.5067/Y9M4NM9MPCGH

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "xcodex",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "python, NASA, GES DISC, XCO2, daily, OCO-2, jupyter notebook, xcodex",
    "author": "henriquefl24@git",
    "author_email": "Henrique Fontellas Laurito <henrique.f.laurito@unesp.br>",
    "download_url": "https://files.pythonhosted.org/packages/bf/b5/9868110e2250f004963dda22d57e39bf90213be89fe63e1ca47c9e5c690a/xcodex-1.2.1.tar.gz",
    "platform": null,
    "description": "[![logo-gas-removebg-preview.png](https://i.postimg.cc/gjptBxF4/logo-gas-removebg-preview.png)](https://postimg.cc/vgPv4Hm6)\n\n# **Welcome to XCODEX - XCO2 Daily EXtractor**\n\nHi there! My name is Henrique!\n\nThe creation of this Python package was intended to create a simple solution for extracting daily data from XCO2 retrieved from the GES DISC platform.\n\nI will attach the links containing the GitHub profile of the researchers who helped me in the development of this package along with graphical visualization of the data and the citation of the OCO-2 project.\n\nI hope it's useful to you. **Long live science!**\n\n## *Installing the package*\nTo install the package, use the command:\n```angular2html\npip install xcodex\n```\n## *Using XCODEX*\nImporting the necessary libraries:\n```angular2html\nimport os\n\nimport pandas as pd\n\nfrom xcodex.main import xco2_extract\nfrom xcodex.run_tests import run_all_tests\n``` \nThe new version of xcodex has a new feature that allows you to run tests to check if the package is working properly. To do this, use the command:\n```angular2html\nrun_all_tests()\n```\nSetting the historical series:\n```angular2html\nstart_date = \"30 of January, 2015\"\nend_date = \"22 of February, 2015\" \n```\nSetting the locations:\n```angular2html\nlocations = dict(Mauna_loa=[19.479488, -155.602829],\n                 New_York=[40.712776, -74.005974],\n                 Paris=[48.856613, 2.352222])\n```\nExtracting the data and organizing it in a `pandas.Dataframe`:\n```angular2html\ndf = xco2_extract(\n                  start=start_date,\n                  end=end_date,\n                  missing_data=False,\n                  **locations)      \n```\nNote1: The location used in this example was Mauna Loa, New York and Paris. Any location can be used<br>\nas long the format \"Location[lat, lon]\" is respected. The values of <br>\nlatitude and longitude must be in decimal degrees.\n\nfor more information, please execute the command: <br>\n\n````angular2html\nhelp(xco2_extractor)\n````\n\nFinally, you will have a `pandas.Dataframe` as result. Now it's up to you how you'll <br>\nhandle it. I recomend checking the `Github profiles` below for data visualization.\n\n### Data visualization\nHere we can plot in a map the locations:\n````angular2html\n## set mapbox access token\n\nimport plotly.express as px\nimport plotly.graph_objs as go\n\npx.set_mapbox_access_token('pk.eyJ1Ijoic2FnYXJsaW1idTAiLCJhIjoiY2t2MXhhMm5mNnE5ajJ3dDl2eDZvNTM2NiJ9.1bwmb8HPgFZWwR8kcO5rOA')\n\n# Plotly configs\n\nfig= px.scatter_mapbox(df,\n                              lat= 'lat',\n                              lon= 'lon',\n                              color= 'xco2',\n                              zoom= .85,\n                              width=960,\n                              height=540,\n                              size_max=10,\n                              hover_name='city',\n                              color_continuous_scale=px.colors.cyclical.IceFire)\n\nfig.update_layout(mapbox_style=\"dark\") #\"open-street-map\"\n\n\nlayout = go.Layout(margin=go.layout.Margin(\n    l=0,\n    r=0,\n    b=0,\n    t=0))\n\n\nfig.update_layout(layout,\n                  autosize=False,\n                  height=540,\n                  width=960,\n                  hovermode=\"closest\")\n\n# Saving the output image\n\n#fig.write_html('xcodex_map.html')\n#fig.write_image(\"xcodex_map.png\", scale=2)\n\nfig.show()\n````\nAnd finally a way to observe the XCO2 behavior during the time serie:\n````angular2html\n# Showing XCO2 behavior in time serie\n\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\nplt.figure(figsize=(10,5))\n\nsns.set_theme(font_scale=1, style=\"white\")\n\nsns.lineplot(data=df,\n             x=\"jd\",\n             y='xco2',\n             hue='city',\n             errorbar=('ci',0),\n             palette=\"tab10\")\n\nplt.xlabel(\"\")\nplt.ylabel(\"XCO2 (ppm)\")\n\nplt.xlim(min(df.jd), max(df.jd))\nplt.ylim(min(df.xco2), max(df.xco2))\n\nsns.despine(right=False,\n            top=False)\n\nplt.legend(ncol=3)\n\nplt.tight_layout()\n\n#plt.savefig(\"xcodex_locations.png\", dpi=300)\n\nplt.show()\n````\n### *GitHub profiles*:\n\nhttps://github.com/GlaucoRolim (Co-author) <br>\nhttps://github.com/kyuenjpl/ARSET_XCO2 <br>\nhttps://github.com/sagarlimbu0/OCO2-OCO3\n\n### *Please, cite this package as:*\n\nLaurito, H., La Scala, N., Rolim, G. S., 2023. Extracting XCO2-NASA Daily data with XCODEX:\nA Python package designed for data extraction and structuration. Jaboticabal, SP, BR, (...)\n\n\n### **Data source citation**:\n\nBrad Weir, Lesley Ott and OCO-2 Science Team (2022), OCO-2 GEOS Level 3 daily,\n0.5x0.625 assimilated CO2 V10r, Greenbelt, MD, USA, Goddard Earth Sciences Data\nand Information Services Center (GES DISC), Accessed: 10/31/2022,\ndoi: 10.5067/Y9M4NM9MPCGH\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This package will download and extract daily data of XCO2 from the NASA Goddard Earth Sciences (GES)",
    "version": "1.2.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/henriquefl24/xcodex/issues",
        "Homepage": "https://github.com/henriquefl24/xcodex"
    },
    "split_keywords": [
        "python",
        " nasa",
        " ges disc",
        " xco2",
        " daily",
        " oco-2",
        " jupyter notebook",
        " xcodex"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42f209d7f0af9756d9d3a6a478fe89efe853042e2262bfe0b5ab9ce6148089a9",
                "md5": "0fe83b9cfcf6f4e48df24bc8309ac4b0",
                "sha256": "c00367a91d51e35b83db5663a2f05c7ea75a83f16cdfa2f3902e6ab75c180508"
            },
            "downloads": -1,
            "filename": "xcodex-1.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0fe83b9cfcf6f4e48df24bc8309ac4b0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 12454,
            "upload_time": "2024-08-27T11:22:23",
            "upload_time_iso_8601": "2024-08-27T11:22:23.649789Z",
            "url": "https://files.pythonhosted.org/packages/42/f2/09d7f0af9756d9d3a6a478fe89efe853042e2262bfe0b5ab9ce6148089a9/xcodex-1.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bfb59868110e2250f004963dda22d57e39bf90213be89fe63e1ca47c9e5c690a",
                "md5": "d55a10ebe5a61bf82014fcd20214e0ce",
                "sha256": "103590c79656522fc7c58441128d2423bcfd6c9373c90d2f10d7beab82f54f54"
            },
            "downloads": -1,
            "filename": "xcodex-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d55a10ebe5a61bf82014fcd20214e0ce",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 16027,
            "upload_time": "2024-08-27T11:22:24",
            "upload_time_iso_8601": "2024-08-27T11:22:24.884374Z",
            "url": "https://files.pythonhosted.org/packages/bf/b5/9868110e2250f004963dda22d57e39bf90213be89fe63e1ca47c9e5c690a/xcodex-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-27 11:22:24",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "henriquefl24",
    "github_project": "xcodex",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "xcodex"
}
        
Elapsed time: 0.36016s