Skip to content

Instantly share code, notes, and snippets.

@spencerkclark
Created April 30, 2018 21:22
Show Gist options
  • Save spencerkclark/6b6e8fb2aea401dd4449a35bf1466362 to your computer and use it in GitHub Desktop.
Save spencerkclark/6b6e8fb2aea401dd4449a35bf1466362 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\nimport xarray as xr\n\nfrom longitude import Longitude",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lon_values = np.linspace(0, 360, 8)\nlons = xr.DataArray(lon_values, dims=['lon'], coords=[lon_values])",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "lons > Longitude('70W')",
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 3,
"data": {
"text/plain": "<xarray.DataArray (lon: 8)>\narray([ True, True, True, True, False, False, True, True])\nCoordinates:\n * lon (lon) float64 0.0 51.43 102.9 154.3 205.7 257.1 308.6 360.0"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "Longitude('70W') < lons",
"execution_count": 4,
"outputs": [
{
"output_type": "error",
"ename": "ValueError",
"evalue": "Longitude objects can only be compared to other Longitude objects or to objects that can be cast as Longitude objects. Object `<xarray.DataArray (lon: 8)>\narray([ 0. , 51.428571, 102.857143, 154.285714, 205.714286, 257.142857,\n 308.571429, 360. ])\nCoordinates:\n * lon (lon) float64 0.0 51.43 102.9 154.3 205.7 257.1 308.6 360.0` violates this.",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-4-b27efa48ed96>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mLongitude\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'70W'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0mlons\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/Users/spencerclark/Downloads/lon_sah/longitude.pyc\u001b[0m in \u001b[0;36mfunc_other_to_lon\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mother_to_lon\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mfunc_other_to_lon\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 35\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_cast_to_lon_for_compar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 36\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc_other_to_lon\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 37\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/spencerclark/Downloads/lon_sah/longitude.pyc\u001b[0m in \u001b[0;36m_cast_to_lon_for_compar\u001b[0;34m(obj)\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[0;34m'other Longitude objects or to objects that '\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;34m'can be cast as Longitude objects. Object '\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 30\u001b[0;31m '`{}` violates this.'.format(obj))\n\u001b[0m\u001b[1;32m 31\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: Longitude objects can only be compared to other Longitude objects or to objects that can be cast as Longitude objects. Object `<xarray.DataArray (lon: 8)>\narray([ 0. , 51.428571, 102.857143, 154.285714, 205.714286, 257.142857,\n 308.571429, 360. ])\nCoordinates:\n * lon (lon) float64 0.0 51.43 102.9 154.3 205.7 257.1 308.6 360.0` violates this."
]
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python2",
"display_name": "Python 2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython2",
"version": "2.7.14",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment