|
44 | 44 | }, |
45 | 45 | { |
46 | 46 | "cell_type": "code", |
47 | | - "execution_count": null, |
| 47 | + "execution_count": 2, |
48 | 48 | "metadata": {}, |
49 | 49 | "outputs": [], |
50 | 50 | "source": [ |
|
63 | 63 | "import cartopy.crs as ccrs\n", |
64 | 64 | "from mpl_toolkits.axes_grid1 import AxesGrid\n", |
65 | 65 | "from cartopy.mpl.geoaxes import GeoAxes\n", |
| 66 | + "from utils import copy_s3_files, flush_data\n", |
| 67 | + "\n", |
66 | 68 | "\n", |
67 | 69 | "# Provide the names of the directories where the netCDF model files are stored\n", |
68 | | - "DATADIR = '/project/ciid/projects/PRECIS/worksheets/data/'\n", |
| 70 | + "DATADIR = 'data/'\n", |
69 | 71 | "\n", |
70 | 72 | "# Directory name where data is read from\n", |
71 | 73 | "HISTDIR = os.path.join(DATADIR, 'historical')\n", |
|
139 | 141 | }, |
140 | 142 | { |
141 | 143 | "cell_type": "code", |
142 | | - "execution_count": null, |
143 | | - "metadata": {}, |
144 | | - "outputs": [], |
| 144 | + "execution_count": 3, |
| 145 | + "metadata": {}, |
| 146 | + "outputs": [ |
| 147 | + { |
| 148 | + "ename": "NameError", |
| 149 | + "evalue": "name 'lat' is not defined", |
| 150 | + "output_type": "error", |
| 151 | + "traceback": [ |
| 152 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 153 | + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", |
| 154 | + "\u001b[0;32m<ipython-input-3-ecda39f860d9>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m# Note that the Aphrodite data are on a regular grid (unlike the model data) so real latitudes and longitudes are\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# used to define the region around KL (more on this in section 2.6)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mobs_cube_KL\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mobs_cube\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mintersection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlatitude\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlongitude\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlon\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 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;31m# save the constrained cube to directory\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 155 | + "\u001b[0;31mNameError\u001b[0m: name 'lat' is not defined" |
| 156 | + ] |
| 157 | + } |
| 158 | + ], |
145 | 159 | "source": [ |
146 | 160 | "# load APHRODITE data\n", |
147 | 161 | "obs_cube = iris.load_cube(APHRODIR + '/aphro.mon.1961_1990.nc')\n", |
|
174 | 188 | }, |
175 | 189 | { |
176 | 190 | "cell_type": "code", |
177 | | - "execution_count": null, |
178 | | - "metadata": {}, |
179 | | - "outputs": [], |
| 191 | + "execution_count": 4, |
| 192 | + "metadata": {}, |
| 193 | + "outputs": [ |
| 194 | + { |
| 195 | + "name": "stdout", |
| 196 | + "output_type": "stream", |
| 197 | + "text": [ |
| 198 | + "Pole Latitude: 75.0\n", |
| 199 | + "Pole Longitude: 289.0\n" |
| 200 | + ] |
| 201 | + } |
| 202 | + ], |
180 | 203 | "source": [ |
181 | 204 | "# Load the HadCM3Q0 (cahpa) model cube data as need grid information from it\n", |
182 | | - "infile = os.path.join(HISTDIR, 'cahpa.mon.1961_1990.pr.rr.nc')\n", |
| 205 | + "infile = os.path.join(DATADIR, 'cahpa.mon.1961_1990.pr.rr.nc')\n", |
183 | 206 | "cahpa_cube = iris.load_cube(infile)\n", |
184 | 207 | "\n", |
185 | 208 | "pole_lat = cahpa_cube.coord_system().grid_north_pole_latitude\n", |
|
197 | 220 | }, |
198 | 221 | { |
199 | 222 | "cell_type": "code", |
200 | | - "execution_count": null, |
201 | | - "metadata": {}, |
202 | | - "outputs": [], |
| 223 | + "execution_count": 5, |
| 224 | + "metadata": {}, |
| 225 | + "outputs": [ |
| 226 | + { |
| 227 | + "name": "stdout", |
| 228 | + "output_type": "stream", |
| 229 | + "text": [ |
| 230 | + "Rotated Longitudes: -7.92, -6.98\n", |
| 231 | + "Rotated Latitudes: -12.12, -11.41\n" |
| 232 | + ] |
| 233 | + } |
| 234 | + ], |
203 | 235 | "source": [ |
204 | 236 | "lon=np.array([101.25, 102.15])\n", |
205 | 237 | "lat=np.array([2.74, 3.48])\n", |
|
217 | 249 | }, |
218 | 250 | { |
219 | 251 | "cell_type": "code", |
220 | | - "execution_count": null, |
221 | | - "metadata": {}, |
222 | | - "outputs": [], |
| 252 | + "execution_count": 6, |
| 253 | + "metadata": {}, |
| 254 | + "outputs": [ |
| 255 | + { |
| 256 | + "ename": "OSError", |
| 257 | + "evalue": "One or more of the files specified did not exist:\n * \"/home/sagemaker-user/PyPRECIS/notebooks/data/cahpa.mon.1961_1990.pr.rr.mmday-1.nc\" didn't match any files", |
| 258 | + "output_type": "error", |
| 259 | + "traceback": [ |
| 260 | + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| 261 | + "\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", |
| 262 | + "\u001b[0;32m<ipython-input-6-32f825d0a64b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# Load the baseline precipitation data using the KL_constraint - the command below\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# loads the data into a cube constrained by the area chosen\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miris\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_cube\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minfile\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 11\u001b[0m \u001b[0;31m# All grid cells whose longitudes and latitudes lie within the limits shown will be selected.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m data_KL = data.intersection(grid_longitude=rotated_lons,\n", |
| 263 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/__init__.py\u001b[0m in \u001b[0;36mload_cube\u001b[0;34m(uris, constraint, callback)\u001b[0m\n\u001b[1;32m 385\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'only a single constraint is allowed'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 386\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 387\u001b[0;31m \u001b[0mcubes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_load_collection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0muris\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstraints\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcubes\u001b[0m\u001b[0;34m(\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 388\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 389\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 264 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/__init__.py\u001b[0m in \u001b[0;36m_load_collection\u001b[0;34m(uris, constraints, callback)\u001b[0m\n\u001b[1;32m 323\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 324\u001b[0m \u001b[0mcubes\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_generate_cubes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0muris\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstraints\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 325\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miris\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcube\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_CubeFilterCollection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfrom_cubes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcubes\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstraints\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 326\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mEOFError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m raise iris.exceptions.TranslationError(\n", |
| 265 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/cube.py\u001b[0m in \u001b[0;36mfrom_cubes\u001b[0;34m(cubes, constraints)\u001b[0m\n\u001b[1;32m 155\u001b[0m \u001b[0mpairs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0m_CubeFilter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mconstraint\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mconstraint\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mconstraints\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 156\u001b[0m \u001b[0mcollection\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_CubeFilterCollection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpairs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 157\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mcube\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mcubes\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 158\u001b[0m \u001b[0mcollection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_cube\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcube\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcollection\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 266 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/__init__.py\u001b[0m in \u001b[0;36m_generate_cubes\u001b[0;34m(uris, callback, constraints)\u001b[0m\n\u001b[1;32m 310\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mscheme\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'file'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 311\u001b[0m \u001b[0mpart_names\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mgroups\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 312\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mcube\u001b[0m \u001b[0;32min\u001b[0m \u001b[0miris\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mio\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_files\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpart_names\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconstraints\u001b[0m\u001b[0;34m)\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 313\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0mcube\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 314\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mscheme\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'http'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'https'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 267 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/io/__init__.py\u001b[0m in \u001b[0;36mload_files\u001b[0;34m(filenames, callback, constraints)\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 192\u001b[0m \"\"\"\n\u001b[0;32m--> 193\u001b[0;31m \u001b[0mall_file_paths\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mexpand_filespecs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilenames\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 194\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0;31m# Create default dict mapping iris format handler to its associated filenames\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 268 | + "\u001b[0;32m/opt/conda/envs/pyprecis-environment/lib/python3.6/site-packages/iris/io/__init__.py\u001b[0m in \u001b[0;36mexpand_filespecs\u001b[0;34m(file_specs)\u001b[0m\n\u001b[1;32m 174\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 175\u001b[0m \u001b[0mmsg\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m'\\n * \"{}\" didn\\'t match any files'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpattern\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 176\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mIOError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\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 177\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 178\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mfname\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mfnames\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mall_expanded\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mfname\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mfnames\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
| 269 | + "\u001b[0;31mOSError\u001b[0m: One or more of the files specified did not exist:\n * \"/home/sagemaker-user/PyPRECIS/notebooks/data/cahpa.mon.1961_1990.pr.rr.mmday-1.nc\" didn't match any files" |
| 270 | + ] |
| 271 | + } |
| 272 | + ], |
223 | 273 | "source": [ |
224 | 274 | "# Constrain the cube area over Kuala Lumpur (KL).\n", |
225 | 275 | "# PRECIS uses a rotated grid, so the co-ordinates required are different to real world coordinates.\n", |
226 | 276 | "\n", |
227 | 277 | "for jobid in ['cahpa', 'cahpb']:\n", |
228 | 278 | " # Directory name where data are read from and stored to\n", |
229 | | - " infile = os.path.join(DATADIR, 'historical', jobid + '.mon.1961_1990.pr.rr.mmday-1.nc')\n", |
| 279 | + " infile = os.path.join(DATADIR, jobid + '.mon.1961_1990.pr.rr.mmday-1.nc')\n", |
230 | 280 | " \n", |
231 | 281 | " # Load the baseline precipitation data using the KL_constraint - the command below\n", |
232 | 282 | " # loads the data into a cube constrained by the area chosen\n", |
|
236 | 286 | " grid_latitude=rotated_lats)\n", |
237 | 287 | "\n", |
238 | 288 | " # save the constrained cube\n", |
239 | | - " outfile = os.path.join(DATADIR, 'historical', jobid + '.mon.1961_1990.pr.rr.mmday-1.KL.nc')\n", |
| 289 | + " outfile = os.path.join(DATADIR, jobid + '.mon.1961_1990.pr.rr.mmday-1.KL.nc')\n", |
240 | 290 | " iris.save(data_KL, outfile)\n", |
241 | 291 | " print('Saved: {}'.format(outfile))" |
242 | 292 | ] |
|
302 | 352 | "source": [ |
303 | 353 | "for jobid in ['cahpa', 'cahpb']:\n", |
304 | 354 | " # Set up the path to the data\n", |
305 | | - " infile = os.path.join(DATADIR, 'historical', jobid + '.mon.1961_1990.pr.rr.mmday-1.KL.nc')\n", |
| 355 | + " infile = os.path.join(DATADIR, jobid + '.mon.1961_1990.pr.rr.mmday-1.KL.nc')\n", |
306 | 356 | " \n", |
307 | 357 | " # Load the data extracted around Kuala Lumpur created in previous step\n", |
308 | 358 | " data = iris.load_cube(infile)\n", |
|
745 | 795 | "**j) Plot a series of figures** that shows 1) the monthly cycles of temperature and rainfall comparing the 6 models and the observations; and 2) the monthly differences between the models and observations" |
746 | 796 | ] |
747 | 797 | }, |
| 798 | + { |
| 799 | + "cell_type": "code", |
| 800 | + "execution_count": null, |
| 801 | + "metadata": {}, |
| 802 | + "outputs": [], |
| 803 | + "source": [ |
| 804 | + "# we first need to download CRU and netcdf data\n", |
| 805 | + "copy_s3_files('s3://ias-pyprecis/data/CRU/*.nc', 'data/CRU/')\n", |
| 806 | + "copy_s3_files('s3://ias-pyprecis/data/netcdf/*.nc', 'data/netcdf/')" |
| 807 | + ] |
| 808 | + }, |
748 | 809 | { |
749 | 810 | "cell_type": "code", |
750 | 811 | "execution_count": null, |
|
755 | 816 | "Here are some useful varibles you might like to use in your scripts\n", |
756 | 817 | "'''\n", |
757 | 818 | "# Some helpful data locations\n", |
758 | | - "DATADIR = '/project/precis/worksheets/data'\n", |
| 819 | + "DATADIR = 'data'\n", |
759 | 820 | "APHRODIR = os.path.join(DATADIR, 'APHRODITE')\n", |
760 | 821 | "CRUDIR = os.path.join(DATADIR, 'CRU')\n", |
761 | 822 | "CLIMDIR = os.path.join(DATADIR, 'climatology')\n", |
|
991 | 1052 | } |
992 | 1053 | ], |
993 | 1054 | "metadata": { |
| 1055 | + "instance_type": "ml.t3.medium", |
994 | 1056 | "kernelspec": { |
995 | | - "display_name": "pyprecis-environment", |
| 1057 | + "display_name": "Python [conda env:pyprecis-environment] (arn:aws:sagemaker:eu-west-2:198477955030:image-version/abtraining/1)", |
996 | 1058 | "language": "python", |
997 | | - "name": "pyprecis-environment" |
| 1059 | + "name": "conda-env-pyprecis-environment-py__SAGEMAKER_INTERNAL__arn:aws:sagemaker:eu-west-2:198477955030:image-version/abtraining/1" |
998 | 1060 | }, |
999 | 1061 | "language_info": { |
1000 | 1062 | "codemirror_mode": { |
|
1014 | 1076 | } |
1015 | 1077 | }, |
1016 | 1078 | "nbformat": 4, |
1017 | | - "nbformat_minor": 1 |
| 1079 | + "nbformat_minor": 4 |
1018 | 1080 | } |
0 commit comments