From 840da2991269287ed49b6013d0d8261772b1d378 Mon Sep 17 00:00:00 2001 From: Long Vu Date: Sun, 22 Jan 2023 22:47:27 -0500 Subject: [PATCH 1/3] climex.ipynb, eccc-geoapi-climate-stations.ipynb: fix Jenkins failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Probably because PR https://github.com/Ouranosinc/pavics-sdi/pull/268 has not been refreshed using current Jupyter env. ``` _________ pavics-sdi-master/docs/source/notebooks/climex.ipynb::Cell 1 _________ Notebook cell execution failed Cell 1: Cell outputs differ Input: # Opening the link takes a while, because the server creates an aggregated view of 435,000 individual files. url = cat.df.path[0] ds = xr.open_dataset(url, chunks=dict(realization=2, time=30 * 3)) ds Traceback: mismatch 'text/plain' assert reference_output == test_output failed: ' tasmin (realization, time, rlat, rlon) float32 dask.array tasmax (realization, time, rlat, rlon) float32 dask.array tas (realization, time, rlat, rlon) float32 dask.array pr (realization, time, rlat, rlon) float32 dask.array prsn (realization, time, rlat, rlon) float32 dask.array - Attributes: (12/30) ? ^^ + Attributes: (12/29) ? ^^ - Conventions: CF-1.6 ? --- + Conventions: CF-1.6 - DODS.dimName: string1 ? --- + DODS.dimName: string1 - DODS.strlen: 0 ? ^^^^ + DODS.strlen: 1 ? ^ - EXTRA_DIMENSION.bnds: 2 ? --- + EXTRA_DIMENSION.bnds: 2 - NCO: "4.5.2" ? --- + NCO: "4.5.2" - abstract: The ClimEx CRCM5 Large Ensemble of high-resolut... ? --- + abstract: The ClimEx CRCM5 Large Ensemble of high-resolution... ? +++ - ... ... ? --- + ... ... + product: output - project_id: CLIMEX ? --- + project_id: CLIMEX - rcm_version_id: v3331 ? --- + rcm_version_id: v3331 - terms_of_use: http://www.climex-project.org/sites/default/fil... ? --- + terms_of_use: http://www.climex-project.org/sites/default/files/... ? +++ - title: The ClimEx CRCM5 Large Ensemble ? --- + title: The ClimEx CRCM5 Large Ensemble - type: RCM ? --- - + type: RCM - EXTRA_DIMENSION.string1: 1 _________ pavics-sdi-master/docs/source/notebooks/climex.ipynb::Cell 8 _________ Notebook cell execution failed Cell 8: Cell outputs differ Input: # Subset over the Montreal gridpoint ds = xr.open_dataset(url, chunks=dict(realization=2, time=-1, rlon=25, rlat=25)) pt = subset_gridpoint(ds, lon=-73.69, lat=45.50) print("Input dataset for Montreal :") display(pt) out = xclim.atmos.max_1day_precipitation_amount(pr=pt.pr, freq="YS") print("Maximim 1-day precipitation `lazy` output ..") out Traceback: mismatch 'text/plain' assert reference_output == test_output failed: ' tasmin (realization, time) float32 dask.array tasmax (realization, time) float32 dask.array tas (realization, time) float32 dask.array pr (realization, time) float32 dask.array prsn (realization, time) float32 dask.array - Attributes: (12/30) ? ^^ + Attributes: (12/29) ? ^^ - Conventions: CF-1.6 ? --- + Conventions: CF-1.6 - DODS.dimName: string1 ? --- + DODS.dimName: string1 - DODS.strlen: 0 ? ^^^^ + DODS.strlen: 1 ? ^ - EXTRA_DIMENSION.bnds: 2 ? --- + EXTRA_DIMENSION.bnds: 2 - NCO: "4.5.2" ? --- + NCO: "4.5.2" - abstract: The ClimEx CRCM5 Large Ensemble of high-resolut... ? --- + abstract: The ClimEx CRCM5 Large Ensemble of high-resolution... ? +++ - ... ... ? --- + ... ... + product: output - project_id: CLIMEX ? --- + project_id: CLIMEX - rcm_version_id: v3331 ? --- + rcm_version_id: v3331 - terms_of_use: http://www.climex-project.org/sites/default/fil... ? --- + terms_of_use: http://www.climex-project.org/sites/default/files/... ? +++ - title: The ClimEx CRCM5 Large Ensemble ? --- + title: The ClimEx CRCM5 Large Ensemble - type: RCM ? --- - + type: RCM - EXTRA_DIMENSION.string1: 1 _ pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb::Cell 3 _ Notebook cell execution failed Cell 3: Cell outputs differ Input: import pandas as pd # Create a datetime.Timedelta object from the subtraction of two dates. delta = pd.to_datetime(stations["DLY_LAST_DATE"]) - pd.to_datetime( stations["DLY_FIRST_DATE"] ) # Get the number of days in the time delta stations["n_days"] = delta.apply(lambda x: x.days) # Compute condition over_50 = stations["n_days"] > 50 * 365.25 # Index the data frame using the condition select = stations[over_50] select.head() Traceback: mismatch 'text/plain' assert reference_output == test_output failed: ' id ...x 35 columns]' == ' id ...x 35 columns]' - id STN_ID STATION_NAME PROV_STATE_TERR_CODE ENG_PROV_NAME \ + id STN_ID STATION_NAME PROV_STATE_TERR_CODE ENG_PROV_NAME \ ? +++ - 2 8203400 6399 MALAY FALLS NS NOVA SCOTIA + 2 8203400 6399 MALAY FALLS NS NOVA SCOTIA ? +++ - 18 8205090 6465 SHEARWATER A NS NOVA SCOTIA - 19 8205698 6485 SYDNEY NS NOVA SCOTIA ? ^ + 18 8205698 6485 SYDNEY NS NOVA SCOTIA ? ^ +++ - 23 8206300 6506 WHITEHEAD NS NOVA SCOTIA ? ^ + 22 8206300 6506 WHITEHEAD NS NOVA SCOTIA ? ^ +++ - 24 8206440 6513 WOLFVILLE NS NOVA SCOTIA ? ^ + 23 8206440 6513 WOLFVILLE NS NOVA SCOTIA ? ^ +++ + 33 8200100 6289 ANNAPOLIS ROYAL NS NOVA SCOTIA FRE_PROV_NAME COUNTRY LATITUDE LONGITUDE TIMEZONE ... \ 2 NOUVELLE-��COSSE CAN 445900000 -622900000 AST ... - 18 NOUVELLE-��COSSE CAN 443800000 -633000000 AST ... - 19 NOUVELLE-��COSSE CAN 460900000 -601200000 AST ... ? ^ + 18 NOUVELLE-��COSSE CAN 460900000 -601200000 AST ... ? ^ - 23 NOUVELLE-��COSSE CAN 451300000 -611100000 AST ... ? ^ + 22 NOUVELLE-��COSSE CAN 451300000 -611100000 AST ... ? ^ - 24 NOUVELLE-��COSSE CAN 450600000 -642200000 AST ... ? ^ + 23 NOUVELLE-��COSSE CAN 450600000 -642200000 AST ... ? ^ + 33 NOUVELLE-��COSSE CAN 444500000 -653100000 AST ... HLY_LAST_DATE DLY_FIRST_DATE DLY_LAST_DATE MLY_FIRST_DATE \ 2 /DATE/TIME/ /DATE/ /DATE/ /DATE/ - 18/DATE/TIME/ /DATE/ /DATE/ /DATE/ - 19 NaT /DATE/ /DATE/ /DATE/ ? ^ + 18 NaT /DATE/ /DATE/ /DATE/ ? ^ + 22 NaT /DATE/ /DATE/ /DATE/ 23 NaT /DATE/ /DATE/ /DATE/ - 24 NaT /DATE/ /DATE/ /DATE/ ? ^^ + 33 NaT /DATE/ /DATE/ /DATE/ ? ^^ MLY_LAST_DATE HAS_MONTHLY_SUMMARY HAS_NORMALS_DATA HAS_HOURLY_DATA \ 2 /DATE/ Y N N - 18 /DATE/ Y Y Y - 19 /DATE/ Y N N ? ^ + 18 /DATE/ Y N N ? ^ + 22 /DATE/ Y N N 23 /DATE/ Y N N - 24 /DATE/ Y N N ? ^^ + 33 /DATE/ Y N N ? ^^ geometry n_days 2 POINT (-62.48333 44.98333) 18474 - 18 POINT (-63.50000 44.63333) 23325 - 19 POINT (-60.20000 46.15000) 26021 ? ^ + 18 POINT (-60.20000 46.15000) 26021 ? ^ - 23 POINT (-61.18333 45.21667) 27970 ? ^ + 22 POINT (-61.18333 45.21667) 27970 ? ^ - 24 POINT (-64.36667 45.10000) 28883 ? ^ + 23 POINT (-64.36667 45.10000) 28883 ? ^ + 33 POINT (-65.51667 44.75000) 34032 [5 rows x 35 columns] _ pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb::Cell 5 _ Notebook cell execution failed Cell 5: Cell outputs differ Input: # Adjust directory if running this locally. # rect = gpd.read_file("~/Downloads/data.geojson") # Here we're using an existing file so the notebook runs without user interaction. rect = gpd.read_file("./data.geojson") # Filter stations DataFrame using bbox inbox = select.within(rect.loc[0].geometry) print("Number of stations within subregion: ", sum(inbox)) sub_select = select[inbox] sub_select.head() Traceback: mismatch 'text/plain' assert reference_output == test_output failed: ' id...x 35 columns]' == ' id...x 35 columns]' Skipping 64 identical leading characters in diff, use -v to show Skipping 51 identical trailing characters in diff, use -v to show _NAME \ - 19 8205698 6485 SYDNEY NS NOVA SCOTIA ? ^ + 18 8205698 6485 SYDNEY NS NOVA SCOTIA ? ^ - 23 8206300 6506 WHITEHEAD NS NOVA SCOTIA ? ^ + 22 8206300 6506 WHITEHEAD NS NOVA SCOTIA ? ^ - 45 8201410 6336 DEMING NS NOVA SCOTIA ? ^ + 43 8201410 6336 DEMING NS NOVA SCOTIA ? ^ - 134 8205600 6481 STILLWATER NS NOVA SCOTIA ? ^ + 133 8205600 6481 STILLWATER NS NOVA SCOTIA ? ^ - 146 8201000 6329 COLLEGEVILLE NS NOVA SCOTIA ? ^ + 144 8201000 6329 COLLEGEVILLE NS NOVA SCOTIA ? ^ FRE_PROV_NAME COUNTRY LATITUDE LONGITUDE TIMEZONE ... \ - 19 NOUVELLE-��COSSE CAN 460900000 -601200000 AST ... ? ^ + 18 NOUVELLE-��COSSE CAN 460900000 -601200000 AST ... ? ^ - 23 NOUVELLE-��COSSE CAN 451300000 -611100000 AST ... ? ^ + 22 NOUVELLE-��COSSE CAN 451300000 -611100000 AST ... ? ^ - 45 NOUVELLE-��COSSE CAN 451259007 -611040090 AST ... ? ^ + 43 NOUVELLE-��COSSE CAN 451259007 -611040090 AST ... ? ^ - 134 NOUVELLE-��COSSE CAN 451100000 -620000000 AST ... ? ^ + 133 NOUVELLE-��COSSE CAN 451100000 -620000000 AST ... ? ^ - 146 NOUVELLE-��COSSE CAN 452900000 -620100000 AST ... ? ^ + 144 NOUVELLE-��COSSE CAN 452900000 -620100000 AST ... ? ^ HLY_LAST_DATE DLY_FIRST_DATE DLY_LAST_DATE MLY_FIRST_DATE MLY_LAST_DATE \ - 19 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ + 18 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ - 23 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ + 22 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ - 45 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ + 43 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ - 134 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ + 133 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ - 146 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ + 144 NaT /DATE/ /DATE/ /DATE/ /DATE/ ? ^ HAS_MONTHLY_SUMMARY HAS_NORMALS_DATA HAS_HOURLY_DATA \ - 19 Y N N ? ^ + 18 Y N N ? ^ - 23 Y N N ? ^ + 22 Y N N ? ^ - 45 Y Y N ? ^ + 43 Y Y N ? ^ - 134 Y N N ? ^ + 133 Y N N ? ^ - 146 Y Y N ? ^ + 144 Y Y N ? ^ geometry n_days - 19 POINT (-60.20000 46.15000) 26021 ? ^ + 18 POINT (-60.20000 46.15000) 26021 ? ^ - 23 POINT (-61.18333 45.21667) 27970 ? ^ + 22 POINT (-61.18333 45.21667) 27970 ? ^ - 45 POINT (-61.17780 45.21639) 20179 ? ^ + 43 POINT (-61.17780 45.21639) 20179 ? ^ - 134 POINT (-62.00000 45.18333) 23345 ? ^ + 133 POINT (-62.00000 45.18333) 23345 ? ^ - 146 POINT ( ? ^ + 144 POINT ( ? ^ ``` --- docs/source/notebooks/climex.ipynb | 416 +++++++--------- .../eccc-geoapi-climate-stations.ipynb | 471 +++++++++++------- 2 files changed, 477 insertions(+), 410 deletions(-) diff --git a/docs/source/notebooks/climex.ipynb b/docs/source/notebooks/climex.ipynb index d10b413f..6e97aaac 100644 --- a/docs/source/notebooks/climex.ipynb +++ b/docs/source/notebooks/climex.ipynb @@ -16,7 +16,14 @@ { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-01-23T00:48:08.882209Z", + "iopub.status.busy": "2023-01-23T00:48:08.881735Z", + "iopub.status.idle": "2023-01-23T00:48:15.184415Z", + "shell.execute_reply": "2023-01-23T00:48:15.183563Z" + } + }, "outputs": [ { "data": { @@ -121,7 +128,14 @@ { "cell_type": "code", "execution_count": 2, - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2023-01-23T00:48:15.280260Z", + "iopub.status.busy": "2023-01-23T00:48:15.279256Z", + "iopub.status.idle": "2023-01-23T00:48:16.235330Z", + "shell.execute_reply": "2023-01-23T00:48:16.234166Z" + } + }, "outputs": [ { "data": { @@ -488,33 +502,33 @@ " lat (rlat, rlon) float32 dask.array<chunksize=(280, 280), meta=np.ndarray>\n", " lon (rlat, rlon) float32 dask.array<chunksize=(280, 280), meta=np.ndarray>\n", "Data variables:\n", - " rotated_pole (time) |S64 dask.array<chunksize=(90,), meta=np.ndarray>\n", + " rotated_pole |S64 ...\n", " tasmin (realization, time, rlat, rlon) float32 dask.array<chunksize=(2, 90, 280, 280), meta=np.ndarray>\n", " tasmax (realization, time, rlat, rlon) float32 dask.array<chunksize=(2, 90, 280, 280), meta=np.ndarray>\n", " tas (realization, time, rlat, rlon) float32 dask.array<chunksize=(2, 90, 280, 280), meta=np.ndarray>\n", " pr (realization, time, rlat, rlon) float32 dask.array<chunksize=(2, 90, 280, 280), meta=np.ndarray>\n", " prsn (realization, time, rlat, rlon) float32 dask.array<chunksize=(2, 90, 280, 280), meta=np.ndarray>\n", - "Attributes: (12/29)\n", - " Conventions: CF-1.6 \n", - " DODS.dimName: string1\n", - " DODS.strlen: 1\n", - " EXTRA_DIMENSION.bnds: 2\n", - " NCO: "4.5.2"\n", - " abstract: The ClimEx CRCM5 Large Ensemble of high-resolution...\n", - " ... ...\n", - " product: output \n", - " project_id: CLIMEX\n", - " rcm_version_id: v3331 \n", - " terms_of_use: http://www.climex-project.org/sites/default/files/...\n", - " title: The ClimEx CRCM5 Large Ensemble\n", - " type: RCM