diff --git a/EmulatorShowcaseSarah/0preprocessing/1-ERA5-land2012.ipynb b/EmulatorShowcaseSarah/0preprocessing/1-ERA5-land2012.ipynb deleted file mode 100644 index 7c451bd..0000000 --- a/EmulatorShowcaseSarah/0preprocessing/1-ERA5-land2012.ipynb +++ /dev/null @@ -1,2027 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "9a3997ce-701b-49b2-ad82-b6532a8e6697", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import xarray as xr\n", - "import glob\n", - "\n", - "from dask.distributed import Client, LocalCluster\n", - "from dask_jobqueue import SLURMCluster" - ] - }, - { - "cell_type": "markdown", - "id": "c43a1dc9-90ac-469a-881a-d166d1218601", - "metadata": {}, - "source": [ - "# ERA5 Land data: from NetCDF3 to Zarr\n", - "\n", - "In this notebook we load ERA5 Land data stored in a collection of NetCDF3 files and we save it as a (chunked) Zarr store. It is global." - ] - }, - { - "cell_type": "markdown", - "id": "203afa62-9c85-4dcc-b9c8-6f5d120635eb", - "metadata": {}, - "source": [ - "## Input variables" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "15c683a7-a045-40f6-80a3-a1b227ea8ed9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "year = 2012" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "bd3c168f-e425-4485-b4c2-88af1b3fec72", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ROOT_DIR = '/gpfs/work2/0/ttse0619'\n", - "ERA5_DIR = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year}global/era5land/'\n", - ")\n", - "OUT_DIR = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year}global/era5land'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "c746f1fb-b102-4b5f-804f-a26fe265fd79", - "metadata": {}, - "source": [ - "## Setup Dask cluster\n", - "\n", - "NOTE: when working with NetCDF files (and the netcdf4 library) it is much better to work with many processes and few threads per process: netcdf4 can only read from one thread per process." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "dde3dbe9-9e06-44f0-a6a2-111056281e6a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# cluster = LocalCluster(n_workers=16, threads_per_worker=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "c1b603ec-cd35-4f5d-ab2b-9b7981afdfa1", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/qiahan/.conda/envs/mamba/envs/emulator/lib/python3.9/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 36437 instead\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "cluster = SLURMCluster(\n", - " name='dask-worker',\n", - " cores=16,\n", - " processes=16,\n", - " queue='fat',\n", - " memory='120GiB',\n", - " local_directory='$TMPDIR',\n", - " walltime='3:00:00'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "a5b5ad3a-4541-433c-b5cc-1653ec793106", - "metadata": {}, - "source": [ - "We use in total 4 * 16 = 64 single-threaded workers, and ~480 GiB total memory: " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "6f9778da-d8f5-402c-8490-d9de2eaedecd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "cluster.scale(jobs=4)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "0fd4eb4b-4a9c-4bc6-9726-5046c3c84ed4", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n", - "
\n", - "

Client

\n", - "

Client-dcdde942-be9c-11ee-a0b4-0a94efbd6637

\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
Connection method: Cluster objectCluster type: dask_jobqueue.SLURMCluster
\n", - " Dashboard: /proxy/36437/status\n", - "
\n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "

Cluster Info

\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

SLURMCluster

\n", - "

dask-worker

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Dashboard: /proxy/36437/status\n", - " \n", - " Workers: 0\n", - "
\n", - " Total threads: 0\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "\n", - "
\n", - " \n", - "

Scheduler Info

\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

Scheduler

\n", - "

Scheduler-b02ece05-fd43-43f1-af69-6c0ac646d75e

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Comm: tcp://145.136.63.1:43843\n", - " \n", - " Workers: 0\n", - "
\n", - " Dashboard: /proxy/36437/status\n", - " \n", - " Total threads: 0\n", - "
\n", - " Started: Just now\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "

Workers

\n", - "
\n", - "\n", - " \n", - "\n", - "
\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "\n", - "
\n", - "
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "client = Client(cluster)\n", - "client" - ] - }, - { - "cell_type": "markdown", - "id": "0de7e4f6-5875-4181-af84-f048825e55be", - "metadata": {}, - "source": [ - "## Converting the dataset " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "7522277e-d462-4a6e-8f0e-96d9f730c66e", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "era5_paths = sorted(\n", - " glob.glob(f'{ERA5_DIR}/era5-land_*.nc')\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3f11b62a-84ea-43e4-96d8-5b337ac57a30", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "96" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(era5_paths)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a0fa331d-703c-4fcb-9d22-982574d397df", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ds = xr.open_mfdataset(era5_paths, chunks={'longitude': 250, 'latitude': 250})\n", - "ds = ds.chunk({'time': 750})" - ] - }, - { - "cell_type": "markdown", - "id": "c805afd2-0baf-4039-a1cd-7a8b1b1e2c30", - "metadata": {}, - "source": [ - "The resulting dataset has 8 variables, with chunks of approximately 180 MiB:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "b6d008cf-3ea4-497f-88e2-ec8f9d05b0b6", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:    (longitude: 3600, latitude: 1801, time: 8784)\n",
-       "Coordinates:\n",
-       "  * longitude  (longitude) float32 0.0 0.1 0.2 0.3 ... 359.6 359.7 359.8 359.9\n",
-       "  * latitude   (latitude) float32 90.0 89.9 89.8 89.7 ... -89.8 -89.9 -90.0\n",
-       "  * time       (time) datetime64[ns] 2012-01-01 ... 2012-12-31T23:00:00\n",
-       "Data variables:\n",
-       "    d2m        (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    sp         (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    ssrd       (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    strd       (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    t2m        (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    tp         (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    u10        (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "    v10        (time, latitude, longitude) float32 dask.array<chunksize=(750, 250, 250), meta=np.ndarray>\n",
-       "Attributes:\n",
-       "    Conventions:  CF-1.6\n",
-       "    history:      2023-06-15 00:16:00 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
" - ], - "text/plain": [ - "\n", - "Dimensions: (longitude: 3600, latitude: 1801, time: 8784)\n", - "Coordinates:\n", - " * longitude (longitude) float32 0.0 0.1 0.2 0.3 ... 359.6 359.7 359.8 359.9\n", - " * latitude (latitude) float32 90.0 89.9 89.8 89.7 ... -89.8 -89.9 -90.0\n", - " * time (time) datetime64[ns] 2012-01-01 ... 2012-12-31T23:00:00\n", - "Data variables:\n", - " d2m (time, latitude, longitude) float32 dask.array\n", - " sp (time, latitude, longitude) float32 dask.array\n", - " ssrd (time, latitude, longitude) float32 dask.array\n", - " strd (time, latitude, longitude) float32 dask.array\n", - " t2m (time, latitude, longitude) float32 dask.array\n", - " tp (time, latitude, longitude) float32 dask.array\n", - " u10 (time, latitude, longitude) float32 dask.array\n", - " v10 (time, latitude, longitude) float32 dask.array\n", - "Attributes:\n", - " Conventions: CF-1.6\n", - " history: 2023-06-15 00:16:00 GMT by grib_to_netcdf-2.25.1: /opt/ecmw..." - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ds" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "5efa1b8b-b331-4a48-bb63-383dfe76c14b", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 26min 17s, sys: 1min 4s, total: 27min 22s\n", - "Wall time: 2h 16min 25s\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/era5land.zarr'\n", - "ds.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "markdown", - "id": "9cafdbed-3e6a-4f81-843c-2cf65ea6c26f", - "metadata": {}, - "source": [ - "When done with the conversion we switch off the cluster to release resources:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "74e826f7-81b2-4ab0-ba31-b6c3d841bd3a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "client.shutdown()" - ] - }, - { - "cell_type": "markdown", - "id": "0f5e82d1-36d6-40b0-9517-ff7b8dbb64ae", - "metadata": {}, - "source": [ - "The overall Zarr archive is ~200 GB:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "e84bc9fa-6e74-41fc-b310-9f82122d1f82", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "31G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/sp\n", - "18G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/ssrd\n", - "30G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/v10\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/longitude\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/latitude\n", - "31G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/d2m\n", - "11G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/tp\n", - "29G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/u10\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/time\n", - "30G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/t2m\n", - "26G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr/strd\n", - "203G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2012global/era5land/era5land.zarr\n" - ] - } - ], - "source": [ - "zarr_path = f'{OUT_DIR}/era5land.zarr'\n", - "!du -h $zarr_path" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3a8bb5b2-657b-44b7-98e0-929067f21034", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.16" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/EmulatorShowcaseSarah/0preprocessing/2-LAIwithBeforeAfter_v2.ipynb b/EmulatorShowcaseSarah/0preprocessing/2-LAIwithBeforeAfter_v2.ipynb deleted file mode 100644 index 7c5028a..0000000 --- a/EmulatorShowcaseSarah/0preprocessing/2-LAIwithBeforeAfter_v2.ipynb +++ /dev/null @@ -1,1750 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "6b60eadf-afdc-4a09-94b7-e59d6f262c3a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# import dask.config as dc\n", - "import dask.array as da\n", - "import numpy as np\n", - "import rioxarray\n", - "import xarray as xr\n", - "import glob\n", - "\n", - "from dask.distributed import Client, LocalCluster\n", - "from dask_jobqueue import SLURMCluster" - ] - }, - { - "cell_type": "markdown", - "id": "7342e8d9-7678-446a-b2c3-5d12197a3695", - "metadata": {}, - "source": [ - "# LAI data: from NetCDF to Zarr\n", - "\n", - "The Leaf Area Index (LAI) dataset is provided as chunked NetCDF4/HDF5 data. We reproject the spatial extend to match the ERA5 land dataset using rioxarray, which, unfortunately does not support Dask. It is global." - ] - }, - { - "cell_type": "markdown", - "id": "7044c879-f9bc-44e0-b31e-ec963124aa5e", - "metadata": {}, - "source": [ - "## Input variables" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4845d549-3833-46d0-aacf-44b3a3ebfb7b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "year = 2018" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6fc91e7e-8d95-42ec-b58f-34480894c071", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ROOT_DIR = '/gpfs/work2/0/ttse0619'\n", - "LAI_DIR = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year}global/lai_v2/'\n", - ")\n", - "OUT_DIR = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year}global/lai_v2' #put the result of 2014 and 2015 in 2015 folder\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d2f3a92c-9eb6-47c8-92dd-dc151a875275", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LAI_DIR_before = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year-1}global/lai_v2/'\n", - ")\n", - "LAI_DIR_after = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year+1}global/lai_v2/'\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "5a901bbb-287d-41be-80ac-534cd9ad1018", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ERA5_PATH = (\n", - " f'{ROOT_DIR}/francesco/Projects/EcoExtreML/Data/'\n", - " f'1input_data/{2015}global/era5land/era5land.zarr'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "a8bac410-eed7-4e9f-b94f-a5d411acacde", - "metadata": {}, - "source": [ - "## Setup Dask cluster\n", - "\n", - "NOTE: when working with NetCDF files (and the netcdf4 library) it is much better to work with many processes and few threads per process: netcdf4 can only read from one thread per process." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "610110ac-7e62-41da-9b65-0923d981f23f", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# cluster = LocalCluster(n_workers=4, threads_per_worker=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "b4321d11-1930-4e9b-bc5e-1a51a868b323", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/qiahan/.conda/envs/mamba/envs/emulator/lib/python3.9/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 46315 instead\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "cluster = SLURMCluster(\n", - " name='dask-worker',\n", - " cores=16,\n", - " processes=16,\n", - " queue='fat',\n", - " memory='120GiB',\n", - " local_directory='$TMPDIR',\n", - " walltime='1:00:00'\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "647bf6f3-37e3-425e-957a-ec7b65c22a87", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "cluster.scale(jobs=4)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "a87408c8-9000-466b-a4cc-0943cc0a3ca6", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n", - "
\n", - "

Client

\n", - "

Client-6d6d96d6-e787-11ee-8805-b8cef6791500

\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
Connection method: Cluster objectCluster type: dask_jobqueue.SLURMCluster
\n", - " Dashboard: /proxy/46315/status\n", - "
\n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "

Cluster Info

\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

SLURMCluster

\n", - "

dask-worker

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Dashboard: /proxy/46315/status\n", - " \n", - " Workers: 0\n", - "
\n", - " Total threads: 0\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "\n", - "
\n", - " \n", - "

Scheduler Info

\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

Scheduler

\n", - "

Scheduler-45fd0fdb-04db-4594-97fe-632c1568f41f

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Comm: tcp://145.136.63.41:40417\n", - " \n", - " Workers: 0\n", - "
\n", - " Dashboard: /proxy/46315/status\n", - " \n", - " Total threads: 0\n", - "
\n", - " Started: Just now\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "

Workers

\n", - "
\n", - "\n", - " \n", - "\n", - "
\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "\n", - "
\n", - "
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "client = Client(cluster)\n", - "client" - ] - }, - { - "cell_type": "markdown", - "id": "3b650aef-1425-4f10-ad6b-417d5d2af8ea", - "metadata": {}, - "source": [ - "## Converting the dataset" - ] - }, - { - "cell_type": "markdown", - "id": "de49b536-ec31-4912-9baa-555c0bd28740", - "metadata": {}, - "source": [ - "We start by loading the ERA5-land Zarr dataset, which we will use as the target for reprojection: " - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "d5d16602-56ed-4bcf-bac3-94e32e9089fa", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ds = xr.open_zarr(ERA5_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "e45d1b8f-0e21-4b28-bb33-cbb808722fa2", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ds = ds.rio.write_crs('WGS84')\n", - "target = ds['sp'].isel(time=0, drop=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "06e72586-18f5-4568-b33d-1110188802e3", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "LAI_DIR" - ] - }, - { - "cell_type": "markdown", - "id": "2e0e2381-a01f-400a-9105-83ef6cd0d158", - "metadata": {}, - "source": [ - "We choose LAI from current year, and the last image from last year and the first image from next year to make sure when we do interpolation, it will not miss data. Because LAI is every 10 days, the first image in current year is usually Jan 10 and the last image in current year is 2018-12-31T00." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "6c4460c4-f9e7-4801-bcaf-c21d1bcc1cf3", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "lai_paths_year = sorted(\n", - " glob.glob(f'{LAI_DIR}/c_gls_LAI*_GLOBE_*.nc') #different from LAI_V1\n", - ")\n", - "lai_paths_before = sorted(\n", - " glob.glob(f'{LAI_DIR_before}/c_gls_LAI*_GLOBE_*.nc')\n", - ")[-1]\n", - "lai_paths_after = sorted(\n", - " glob.glob(f'{LAI_DIR_after}/c_gls_LAI*_GLOBE_*.nc')\n", - ")[0]" - ] - }, - { - "cell_type": "markdown", - "id": "617b345d-2fec-404a-b5cf-410c7b780846", - "metadata": {}, - "source": [ - "We now open the LAI NetCDF files. NOTE: we do not set chunks in the spatial dimension because we need to load all values anyway to perform the reprojection. " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "f523b336-db63-4591-80f6-7c3e0efa3cb7", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "lai_paths = []\n", - "lai_paths.append(lai_paths_before)\n", - "lai_paths.extend(lai_paths_year)\n", - "lai_paths.append(lai_paths_after)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "566e9c5c-d100-43f7-8d1c-3b01bf0cb277", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "38" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(lai_paths)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "da7c462c-ece5-421f-9d55-593b4f691d68", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'LAI' (time: 38, lat: 15680, lon: 40320)>\n",
-       "dask.array<concatenate, shape=(38, 15680, 40320), dtype=float32, chunksize=(1, 15680, 40320), chunktype=numpy.ndarray>\n",
-       "Coordinates:\n",
-       "  * lon      (lon) float64 -180.0 -180.0 -180.0 -180.0 ... 180.0 180.0 180.0\n",
-       "  * lat      (lat) float64 80.0 79.99 79.98 79.97 ... -59.97 -59.98 -59.99\n",
-       "  * time     (time) datetime64[ns] 2017-12-31 2018-01-10 ... 2019-01-10\n",
-       "Attributes:\n",
-       "    grid_mapping:   crs\n",
-       "    valid_range:    [  0 210]\n",
-       "    long_name:      Leaf Area Index 1km\n",
-       "    standard_name:  leaf_area_index\n",
-       "    units:          \n",
-       "    _FillValue:     nan
" - ], - "text/plain": [ - "\n", - "dask.array\n", - "Coordinates:\n", - " * lon (lon) float64 -180.0 -180.0 -180.0 -180.0 ... 180.0 180.0 180.0\n", - " * lat (lat) float64 80.0 79.99 79.98 79.97 ... -59.97 -59.98 -59.99\n", - " * time (time) datetime64[ns] 2017-12-31 2018-01-10 ... 2019-01-10\n", - "Attributes:\n", - " grid_mapping: crs\n", - " valid_range: [ 0 210]\n", - " long_name: Leaf Area Index 1km\n", - " standard_name: leaf_area_index\n", - " units: \n", - " _FillValue: nan" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lai = xr.open_mfdataset(lai_paths, chunks={})\n", - "lai = lai['LAI'] # keep only one variable\n", - "lai.rio.write_nodata(np.nan, inplace=True)" - ] - }, - { - "cell_type": "markdown", - "id": "6d91a0b0-b577-4e08-9810-dfcc11bcae9b", - "metadata": {}, - "source": [ - "We fix the longitude ordering and make sure the CRS is in place\n", - "\n", - "We also convert [-180, 180] to [0, 360] to match ERA5Land" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "e0ba4d24-67c3-4b69-8094-2b69d61899b2", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "lai = lai.rio.write_crs('WGS84')\n", - "lai = lai.rename(\n", - " lon='longitude',\n", - " lat='latitude',\n", - ")\n", - "lai = lai.assign_coords(\n", - " longitude=(lai.longitude + 360) % 360,\n", - " latitude=lai.latitude\n", - ")\n", - "# roll array to reorder coordinates \n", - "nroll = (lai.longitude.values >= 180 ).sum()\n", - "lai = lai.roll(longitude=-nroll, roll_coords=True)" - ] - }, - { - "cell_type": "markdown", - "id": "7d1bd04e-0206-407e-bc18-8c4c2b0bfa91", - "metadata": {}, - "source": [ - "We define the template for reprojection and run it!" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "d7b81c02-8976-4fe6-afd9-fd5d59c1c2ba", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "template = xr.DataArray(\n", - " data=da.zeros(\n", - " (len(lai.time), len(target.latitude), len(target.longitude)),\n", - " chunks=(1, -1, -1),\n", - " ),\n", - " dims=('time', 'latitude', 'longitude'),\n", - " coords={\n", - " 'time': lai.time, \n", - " 'latitude': target.latitude, \n", - " 'longitude': target.longitude,\n", - " },\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "7ea06064-0873-444a-a83b-90c45af4d6fd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "def reproject(source):\n", - " # import here, otherwise not seen by workers\n", - " import rioxarray\n", - " from rasterio.warp import reproject, Resampling\n", - " reprojected = source.rio.reproject_match(\n", - " target,\n", - " nodata=np.nan,\n", - " resampling=Resampling.average\n", - " )\n", - " reprojected = reprojected.drop_vars('crs')\n", - " return reprojected.rename(x='longitude', y='latitude')\n", - "\n", - "lai_reprojected = xr.map_blocks(\n", - " reproject,\n", - " lai,\n", - " template=template,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b9c7172a-76e5-43a6-8250-44a59bdc5032", - "metadata": {}, - "source": [ - "We rechunk and save it as Zarr:" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "id": "5901d802-ba25-4c62-8843-902c14695343", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "lai_reprojected = lai_reprojected.chunk(\n", - " time=-1, \n", - " longitude=250, \n", - " latitude=250\n", - ")\n", - "lai_reprojected = lai_reprojected.to_dataset(name='LAI')" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "091fe98c-d87d-489b-9e2e-03f6783ec4c5", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:    (time: 38, latitude: 1801, longitude: 3600)\n",
-       "Coordinates:\n",
-       "  * time       (time) datetime64[ns] 2017-12-31 2018-01-10 ... 2019-01-10\n",
-       "  * latitude   (latitude) float64 90.0 89.9 89.8 89.7 ... -89.8 -89.9 -90.0\n",
-       "  * longitude  (longitude) float64 0.0 0.1 0.2 0.3 ... 359.6 359.7 359.8 359.9\n",
-       "Data variables:\n",
-       "    LAI        (time, latitude, longitude) float64 dask.array<chunksize=(38, 250, 250), meta=np.ndarray>
" - ], - "text/plain": [ - "\n", - "Dimensions: (time: 38, latitude: 1801, longitude: 3600)\n", - "Coordinates:\n", - " * time (time) datetime64[ns] 2017-12-31 2018-01-10 ... 2019-01-10\n", - " * latitude (latitude) float64 90.0 89.9 89.8 89.7 ... -89.8 -89.9 -90.0\n", - " * longitude (longitude) float64 0.0 0.1 0.2 0.3 ... 359.6 359.7 359.8 359.9\n", - "Data variables:\n", - " LAI (time, latitude, longitude) float64 dask.array" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "lai_reprojected" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "67b2ec75-45f0-49d2-9da7-f190b371d5cc", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 11.3 s, sys: 524 ms, total: 11.8 s\n", - "Wall time: 47.1 s\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/lai_v2.zarr'\n", - "lai_reprojected.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "markdown", - "id": "58fd2f4f-1da2-451e-b8e5-d8d03e6405c0", - "metadata": {}, - "source": [ - "When done with the conversion we switch off the cluster to release resources:" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "da4b7c88-d80f-4370-ba60-7c07d97904b8", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "client.shutdown()" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "id": "339fe0cd-b23e-4c3a-b66a-f786cf7dbe3b", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "237M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/lai_v2.zarr/LAI\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/lai_v2.zarr/longitude\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/lai_v2.zarr/latitude\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/lai_v2.zarr/time\n", - "237M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2018global/lai_v2/lai_v2.zarr\n" - ] - } - ], - "source": [ - "zarr_path = f'{OUT_DIR}/lai_v2.zarr'\n", - "!du -h $zarr_path" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "67547ecd-5d8c-4fba-a771-4f9ca0e5b3af", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.16" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/EmulatorShowcaseSarah/1inputDataPrepare/2024-4-29inputDataPrepare.ipynb b/EmulatorShowcaseSarah/1inputDataPrepare/2024-4-29inputDataPrepare.ipynb deleted file mode 100644 index b7f35d8..0000000 --- a/EmulatorShowcaseSarah/1inputDataPrepare/2024-4-29inputDataPrepare.ipynb +++ /dev/null @@ -1,1680 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "5e5d9099-d7e1-41d0-b0a1-8ec2ec25a7ef", - "metadata": {}, - "source": [ - "clip the preprocessed input data into Europe 0-68 degree and 10 days" - ] - }, - { - "cell_type": "code", - "execution_count": 166, - "id": "b853c432-ffcc-4bce-949c-3f92a72f5482", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import xarray as xr" - ] - }, - { - "cell_type": "code", - "execution_count": 167, - "id": "e91a66ee-3639-4b12-a6e7-9b5237bb8704", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "year = 2014" - ] - }, - { - "cell_type": "code", - "execution_count": 168, - "id": "1dbc97db-02d1-414a-861c-1172f586397e", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ROOT_DIR = '/gpfs/work2/0/ttse0619'\n", - "DATA_DIR = f'{ROOT_DIR}/qianqian/global_data_Qianqian/1input_data/{year}global'\n", - "ERA5_PATH = f'{DATA_DIR}/era5land/era5land.zarr'\n", - "LAI_PATH = f'{DATA_DIR}/lai_v2/lai_v2.zarr'\n", - "SSM_PATH = f'{DATA_DIR}/ssm/ssm_global.zarr'\n", - "CO2_PATH = f'{DATA_DIR}/co2/co2.zarr'\n", - "LANDCOVER_PATH = f'{DATA_DIR}/igbp/landcover_snellius.zarr'\n", - "IGBP_CLASS_PATH = f'{ROOT_DIR}/qianqian/global_data_Qianqian/1input_data/IGBP11unique.csv'\n", - "IGBP_TABLE_PATH = f'{ROOT_DIR}/qianqian/global_data_Qianqian/1input_data/{year}global/igbp/lccs_to_igbp_table.csv' \n", - "hc_PATH = f'{DATA_DIR}/canopy_height/hc_global.zarr'\n", - "VCMAX_PATH = f'{DATA_DIR}/vcmax/vcmax_fillnan.zarr'" - ] - }, - { - "cell_type": "code", - "execution_count": 169, - "id": "8d7a70a2-3817-4b02-be1f-3ba8f4491339", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "OUT_DIR = (\n", - " f'{ROOT_DIR}/qianqian/global_data_Qianqian/'\n", - " f'1input_data/{year}EmulatorShowcaseSarah/'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "a0998390-ba37-4d64-86ef-679464812aaf", - "metadata": {}, - "source": [ - "## 3) read data" - ] - }, - { - "cell_type": "code", - "execution_count": 170, - "id": "a8c4f8e8-71f0-4eb4-9311-8108e246d750", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 0) read era5land data\n", - "era5 = xr.open_zarr(ERA5_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 172, - "id": "1bb58e87-3de8-4434-b018-25a0489fb050", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "era5 = era5.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ").sel(time=slice(\"2014-1-31\",\"2014-02-10\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 173, - "id": "9b28d1ce-05f3-4668-af90-b0263afb00b9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "era5 = era5.chunk(\n", - " time=-1, \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 174, - "id": "c310f9dd-ece3-43b8-8bf0-3391a297fd65", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((263,), (250, 219), (250, 250, 190))" - ] - }, - "execution_count": 174, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "era5.sp.chunks" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87aa1317-e551-4f9e-823c-ea2bcac078d7", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/era5land/era5land.zarr'\n", - "era5.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 132, - "id": "660820d6-d957-4ded-957b-7514ca808480", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "era5global = era5.sel(time=slice(\"2014-02-01T01:00:00.000000000\",\"2014-02-01T02:00:00.000000000\")).chunk(\n", - " time=-1\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1628ffc5-6cdc-4572-a275-193bd46b3fa6", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/era5land/era5land_global.zarr'\n", - "era5global.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "301128ac-c81e-4257-8ac5-ffb04f70cfe5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 1) read LAI data\n", - "LAI = xr.open_zarr(LAI_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "b5b55b5c-3157-4dfb-b0ba-2b3fdfa498cd", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LAI = LAI.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ").sel(time=slice(\"2014-01-31\",\"2014-02-10\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "7c7e21d2-ea83-4978-901b-0342cb515736", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LAI = LAI.chunk(\n", - " time=-1, \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "bc7904d2-81cd-4386-a37e-f7a023add58f", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 164 ms, sys: 21.8 ms, total: 186 ms\n", - "Wall time: 253 ms\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/lai_v2/lai_v2.zarr'\n", - "LAI.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "9a2c2c9e-10ce-4725-8891-afba6dc808e4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 2) read SSM data\n", - "SSM = xr.open_zarr(SSM_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "092e3367-f445-4877-9229-3a6fd6943a25", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "SSM = SSM.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ").sel(time=slice(\"2014-01-31\",\"2014-02-10\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "4598ad38-55a5-4957-98f7-aa70173bb913", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "SSM = SSM.chunk(\n", - " time=-1, \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "6e76cba6-2c93-43c6-b0da-3010161add32", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "((11,), (250, 219), (250, 250, 190))" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "SSM.SSM.chunks" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "5596f5b9-8091-40f0-b816-1a6ef4dcfa8e", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 411 ms, sys: 408 ms, total: 819 ms\n", - "Wall time: 378 ms\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/ssm/ssm.zarr'\n", - "SSM.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "02bfd6c9-e9db-4438-b203-6e35ba6b79c1", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 3) read CO2 data\n", - "CO2 = xr.open_zarr(CO2_PATH)\n", - "CO2 = CO2.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ").sel(time=slice(\"2014-01-31\",\"2014-02-10\"))" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "cd07dbf5-bfa7-45a8-abcc-e1c16580120b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "CO2 = CO2.chunk(\n", - " time=-1, \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "19d66c11-b565-4ac8-928a-414629ebdb3f", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 3.48 s, sys: 3.1 s, total: 6.58 s\n", - "Wall time: 1.17 s\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/co2/co2.zarr'\n", - "CO2.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "markdown", - "id": "fda3fb7b-881a-4f11-98c3-cad43b492e4d", - "metadata": {}, - "source": [ - "**Done datasets up to here!** Moving on with landcover\n", - "\n", - "----" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "id": "7cebbd65-18f6-4146-97f6-6a983a520f83", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 4) read IGBP data\n", - "hc = xr.open_zarr(hc_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "id": "3319fbe7-7c2e-4295-ade7-9fff88c8079c", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "hc = hc.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "id": "5ffa2ab5-3bff-4f54-b180-da1dfe936003", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "hc = hc.chunk( \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 91, - "id": "d632b33c-2824-4334-a24a-1534b436f6e8", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/qiahan/.local/lib/python3.9/site-packages/IPython/core/displayhook.py:281: UserWarning: Output cache limit (currently 20 entries) hit.\n", - "Flushing oldest 4 entries.\n", - " warn('Output cache limit (currently {sz} entries) hit.\\n'\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:      (latitude: 469, longitude: 690)\n",
-       "Coordinates:\n",
-       "    band         int64 ...\n",
-       "  * latitude     (latitude) float32 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n",
-       "  * longitude    (longitude) float32 0.0 0.1 0.2 0.3 0.4 ... 68.6 68.7 68.8 68.9\n",
-       "Data variables:\n",
-       "    hc           (latitude, longitude) float32 dask.array<chunksize=(250, 250), meta=np.ndarray>\n",
-       "    spatial_ref  int64 ...
" - ], - "text/plain": [ - "\n", - "Dimensions: (latitude: 469, longitude: 690)\n", - "Coordinates:\n", - " band int64 ...\n", - " * latitude (latitude) float32 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n", - " * longitude (longitude) float32 0.0 0.1 0.2 0.3 0.4 ... 68.6 68.7 68.8 68.9\n", - "Data variables:\n", - " hc (latitude, longitude) float32 dask.array\n", - " spatial_ref int64 ..." - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "hc" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "id": "0e335536-5488-46f6-8d23-bd087d7bf38e", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 25 ms, sys: 11.5 ms, total: 36.5 ms\n", - "Wall time: 216 ms\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/qiahan/.local/lib/python3.9/site-packages/IPython/core/displayhook.py:281: UserWarning: Output cache limit (currently 20 entries) hit.\n", - "Flushing oldest 4 entries.\n", - " warn('Output cache limit (currently {sz} entries) hit.\\n'\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/canopy_height/hc.zarr'\n", - "hc.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "cfa10f51-6b7f-4553-92a4-3050ca8dad92", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 5) read Vcmax data\n", - "vcmax = xr.open_zarr(VCMAX_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "id": "0577f37b-1728-472c-ace7-24fa07406308", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:      (band: 1, latitude: 469, longitude: 690)\n",
-       "Coordinates:\n",
-       "  * band         (band) int64 1\n",
-       "  * latitude     (latitude) float32 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n",
-       "  * longitude    (longitude) float32 0.0 0.1 0.2 0.3 0.4 ... 68.6 68.7 68.8 68.9\n",
-       "    spatial_ref  int64 ...\n",
-       "Data variables:\n",
-       "    vcmax        (latitude, longitude, band) float32 dask.array<chunksize=(250, 250, 1), meta=np.ndarray>
" - ], - "text/plain": [ - "\n", - "Dimensions: (band: 1, latitude: 469, longitude: 690)\n", - "Coordinates:\n", - " * band (band) int64 1\n", - " * latitude (latitude) float32 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n", - " * longitude (longitude) float32 0.0 0.1 0.2 0.3 0.4 ... 68.6 68.7 68.8 68.9\n", - " spatial_ref int64 ...\n", - "Data variables:\n", - " vcmax (latitude, longitude, band) float32 dask.array" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vcmax" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "id": "5ba8b338-fc4e-4b48-adda-3164b08c2897", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "vcmax = vcmax.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 80, - "id": "8f6c6175-6396-4d87-a49d-9327e46c449d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "vcmax = vcmax.chunk( \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 84, - "id": "8a5b8320-7bf0-4dce-a3ac-79f582df3250", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 19.1 ms, sys: 11.3 ms, total: 30.4 ms\n", - "Wall time: 98.2 ms\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/vcmax/vcmax_fillnan.zarr'\n", - "vcmax.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "markdown", - "id": "148d8459-b34d-41ec-86aa-d39000cff633", - "metadata": {}, - "source": [ - "---" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "id": "67c45d8e-d888-4adf-81e8-7a9a8a9866db", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 6) read IGBP data\n", - "landcover = xr.open_zarr(LANDCOVER_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "id": "126508ac-825e-4dc8-a446-ddbafbc8e7bb", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "landcover = landcover.sel(\n", - " latitude=slice(81.85192337, 34.93055094), \n", - " longitude=slice(0, 68.93136141), \n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 88, - "id": "61c8ae76-5e1e-4e08-a8f7-1af8265fb939", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "landcover = landcover.chunk( \n", - " longitude=250, \n", - " latitude=250\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "id": "9c117913-24b4-4ecf-80de-15e666386a01", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Frozen({'latitude': (250, 219), 'longitude': (250, 250, 190)})" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "landcover.chunks" - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "id": "e3bc5278-4285-4a37-b306-a489dc97478d", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 30.3 ms, sys: 9.14 ms, total: 39.5 ms\n", - "Wall time: 302 ms\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "zarr_path = f'{OUT_DIR}/igbp/landcover_snellius.zarr'\n", - "landcover.to_zarr(zarr_path, mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fc54bca8-4241-4e94-9d9d-d6ff3135836e", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.16" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/EmulatorShowcaseSarah/2inference/2024-05-02_1year_RFSS_Europe0v1.1.ipynb b/EmulatorShowcaseSarah/2inference/2024-05-02_1year_RFSS_Europe0v1.1.ipynb deleted file mode 100644 index 3f1c167..0000000 --- a/EmulatorShowcaseSarah/2inference/2024-05-02_1year_RFSS_Europe0v1.1.ipynb +++ /dev/null @@ -1,2281 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "136a780b-bf72-473c-b45c-0c776cb28d02", - "metadata": {}, - "source": [ - "## 0)import libraries " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "b853c432-ffcc-4bce-949c-3f92a72f5482", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import os\n", - "import pickle\n", - "\n", - "import dask.array as da\n", - "import numpy as np\n", - "import pandas as pd\n", - "import xarray as xr\n", - "\n", - "from PyStemmusScope import variable_conversion as vc\n", - "from sklearn.preprocessing import OneHotEncoder\n", - "from dask.distributed import Client, LocalCluster\n", - "from dask_jobqueue import SLURMCluster\n", - "\n", - "import geopandas as gpd\n", - "from shapely.geometry import box\n", - "from shapely.geometry import mapping\n", - "from shapely.affinity import translate" - ] - }, - { - "cell_type": "markdown", - "id": "9fe0c4cc-7ff2-4869-83ae-58161c2c67b0", - "metadata": {}, - "source": [ - "## 1)settings for Dask" - ] - }, - { - "cell_type": "markdown", - "id": "91caea31-74ce-478e-952c-400021f77d0c", - "metadata": {}, - "source": [ - "Setup a Dask cluster on 6 * 16 = 96 cores (6 * 4 = 24 workers with 4 threads each) and 6 * 120 GB = 720 GB memory in total ('fat' nodes on Snellius):" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "563a4b40-b792-47f0-b90f-9716903b2cbf", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/qiahan/.conda/envs/mamba/envs/emulator/lib/python3.9/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n", - "Perhaps you already have a cluster running?\n", - "Hosting the HTTP server on port 45693 instead\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "cluster = SLURMCluster(\n", - " name='dask-worker',\n", - " cores=16,\n", - " processes=4,\n", - " queue='fat',\n", - " memory='120GiB',\n", - " local_directory='$TMPDIR',\n", - " walltime='1:00:00'\n", - ")\n", - "cluster.scale(jobs=6)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "2cca79b2-49b7-44ff-beb6-65d9d7f14161", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n", - "
\n", - "

Client

\n", - "

Client-206d978f-086d-11ef-b10a-b8cef6790e70

\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "
Connection method: Cluster objectCluster type: dask_jobqueue.SLURMCluster
\n", - " Dashboard: /proxy/45693/status\n", - "
\n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "

Cluster Info

\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

SLURMCluster

\n", - "

dask-worker

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Dashboard: /proxy/45693/status\n", - " \n", - " Workers: 0\n", - "
\n", - " Total threads: 0\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "\n", - "
\n", - " \n", - "

Scheduler Info

\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - "

Scheduler

\n", - "

Scheduler-43930a6f-73c2-4e0f-be18-0cc37b58dbf5

\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
\n", - " Comm: tcp://145.136.63.38:38245\n", - " \n", - " Workers: 0\n", - "
\n", - " Dashboard: /proxy/45693/status\n", - " \n", - " Total threads: 0\n", - "
\n", - " Started: Just now\n", - " \n", - " Total memory: 0 B\n", - "
\n", - "
\n", - "
\n", - "\n", - "
\n", - " \n", - "

Workers

\n", - "
\n", - "\n", - " \n", - "\n", - "
\n", - "
\n", - "\n", - "
\n", - "
\n", - "
\n", - "
\n", - " \n", - "\n", - "
\n", - "
" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "client = Client(cluster)\n", - "client" - ] - }, - { - "cell_type": "markdown", - "id": "eb63f25e-1237-4ea9-9024-46e2d4cfacba", - "metadata": {}, - "source": [ - "## 2)define working path, load trained model, define functions" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "e91a66ee-3639-4b12-a6e7-9b5237bb8704", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "year = 2014" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1dbc97db-02d1-414a-861c-1172f586397e", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ROOT_DIR = '/gpfs/work2/0/ttse0619'\n", - "DATA_DIR = f'{ROOT_DIR}/qianqian/global_data_Qianqian/1input_data/{year}EmulatorShowcaseSarah'\n", - "ERA5_PATH = f'{DATA_DIR}/era5land/era5land.zarr'\n", - "LAI_PATH = f'{DATA_DIR}/lai_v2/lai_v2.zarr'\n", - "SSM_PATH = f'{DATA_DIR}/ssm/ssm.zarr'\n", - "CO2_PATH = f'{DATA_DIR}/co2/co2.zarr'\n", - "LANDCOVER_PATH = f'{DATA_DIR}/igbp/landcover_snellius.zarr'\n", - "IGBP_CLASS_PATH = f'{DATA_DIR}/IGBP11unique.csv'\n", - "IGBP_TABLE_PATH = f'{DATA_DIR}/lccs_to_igbp_table.csv' \n", - "hc_PATH = f'{DATA_DIR}/canopy_height/hc.zarr'\n", - "VCMAX_PATH = f'{DATA_DIR}/vcmax/vcmax_fillnan.zarr'\n", - "MODEL_PATH = f'{ROOT_DIR}/qianqian/global_data_Qianqian/3RF_train/hourly_multi7_depth20_min1219.pkl'\n", - "\n", - "LEH_PATH = f'{DATA_DIR}/Europe0_fluxes_RFSS_{year}_v1.1.zarr'" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "649543dd-9d92-400f-856e-6a851b887e04", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# function for loading the trained model\n", - "def load_model(path):\n", - " # load trained RF model, better use not parallel model with Dask\n", - " with open(path, 'rb') as f:\n", - " rfLEHmulti = pickle.load(f)\n", - " return rfLEHmulti" - ] - }, - { - "cell_type": "markdown", - "id": "a0998390-ba37-4d64-86ef-679464812aaf", - "metadata": {}, - "source": [ - "## 3) read data" - ] - }, - { - "cell_type": "markdown", - "id": "6e99f54f-3ff8-4cba-b1ab-09de3bfc839d", - "metadata": {}, - "source": [ - "read Europe boundary" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "15c2a984-97f4-45de-80c2-0af6b9a52040", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "shapefile_path = \"/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/Emulator/input_data/EuropeBoundary.shp\"\n", - "gdf = gpd.read_file(shapefile_path)\n", - "bbox = gdf.total_bounds" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "a8c4f8e8-71f0-4eb4-9311-8108e246d750", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 0) read era5land data\n", - "era5 = xr.open_zarr(ERA5_PATH)\n", - "# round coordinates to facilitate matching with other datasets\n", - "era5 = era5.assign_coords(\n", - " longitude=era5.longitude.round(4),\n", - " latitude=era5.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "c163d8f4-5ca1-4162-8ae8-6ca63f7ff223", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# calculate the Rin and Rli difference for every hour\n", - "ssrd = era5['ssrd'] / 3600\n", - "Rin = ssrd.diff(\"time\")\n", - "Rin[0::24] = ssrd[1::24] # Rin at T01 does not need to do difference, because it start accumulate from T00\n", - "\n", - "strd = era5['strd'] / 3600\n", - "Rli = strd.diff(\"time\")\n", - "Rli[0::24] = strd[1::24] # same as Rin" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "c8bcfc15-3ca4-4e7f-8d31-9f17e73acd98", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "Precip_msr = era5['tp'].diff(\"time\") \n", - "Precip_msr[0::24] = era5['tp'][1::24] # assign the original values in t01, same as Rin and Rli" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "41ca3b11-6ee4-4eef-8458-f9846640de5a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "p = era5[\"sp\"]/100 # Pa -> hPa\n", - "Ta = era5[\"t2m\"] - 273.15 # K -> degC\n", - "ea = vc.calculate_es(era5[\"d2m\"] - 273.15)*10 # *10 is for kPa -> hPa\n", - "u = (era5[\"u10\"] ** 2 + era5[\"v10\"] ** 2) ** 0.5\n", - "Precip_msr = Precip_msr*1000 # mm" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "301128ac-c81e-4257-8ac5-ffb04f70cfe5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 1) read LAI data\n", - "LAI = xr.open_zarr(LAI_PATH)\n", - "LAI = LAI.assign_coords(\n", - " longitude=LAI.longitude.round(4),\n", - " latitude=LAI.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "dbf74743-7c93-40bb-995c-e79a87e8b3ce", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LAI = LAI['LAI']" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "d6b2748e-44be-4d91-97da-d1ead00f9e1c", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# INTERPOLATION CREATES A SINGLE CHUNK IN TIME!\n", - "# so we do linear from 10 days to daily, then do nearest-neighbour resample from daily to hourly later\n", - "LAI = LAI.resample(time='1D').interpolate('linear')" - ] - }, - { - "cell_type": "markdown", - "id": "7a4ddd2c-c967-43ea-842a-95dd879ad83c", - "metadata": {}, - "source": [ - "The following Dask option allows to avoid creating a single time chunk when using nearest-neighbour matching: " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "862da099-de5c-4898-add5-5676e86e4703", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import dask.config\n", - "\n", - "with dask.config.set({\"array.slicing.split_large_chunks\": True}):\n", - " LAI = LAI.resample(time='1H').nearest()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "4f655079-459b-4785-baae-99f893ffd24d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# during preprocessing part, we incluse LAI from last year and next year to keep data continuous\n", - "# so after temporal interpolation, we need to filter data in current year (when we run the whole year)\n", - "LAI = LAI.sel(time=str(year)) " - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "9a2c2c9e-10ce-4725-8891-afba6dc808e4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 2) read SSM data\n", - "SSM = xr.open_zarr(SSM_PATH)\n", - "SSM = SSM.assign_coords(\n", - " longitude=SSM.longitude.round(4),\n", - " latitude=SSM.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "ee681d6f-ed3e-4e0a-b54c-3de404142278", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "SSM = SSM['SSM']" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "ab1a6a34-f818-4a7b-baf0-1eed88aec22d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# # INTERPOLATION CREATES A SINGLE CHUNK IN TIME! but we have to do it for SSM as it is an important input variable\n", - "SSM = SSM.resample(time='1H').interpolate('linear')/1000 # 1000 is the scale factor" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "02bfd6c9-e9db-4438-b203-6e35ba6b79c1", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "### 3) read CO2 data\n", - "CO2 = xr.open_zarr(CO2_PATH)\n", - "CO2 = CO2.assign_coords(\n", - " longitude=CO2.longitude.round(4),\n", - " latitude=CO2.latitude.round(4)\n", - ")\n", - "CO2 = CO2['co2']" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "e7c39e9b-eb05-4012-aaee-c5aba2a0bf65", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for CO2, we can just do nearest-neighbour resample from 3-hourly to hourly\n", - "with dask.config.set({\"array.slicing.split_large_chunks\": True}):\n", - " CO2 = CO2.resample(time='1H').nearest()" - ] - }, - { - "cell_type": "markdown", - "id": "fda3fb7b-881a-4f11-98c3-cad43b492e4d", - "metadata": {}, - "source": [ - "**Done dynamic datasets up to here!** Moving to static datasets\n", - "\n", - "----" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "7cebbd65-18f6-4146-97f6-6a983a520f83", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 4) read canopy height data\n", - "hc = xr.open_zarr(hc_PATH)\n", - "hc = hc.assign_coords(\n", - " longitude=hc.longitude.round(4),\n", - " latitude=hc.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "0c6427ea-39b2-4dcd-a664-15b847bccc64", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "hc = hc['hc']" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "cfa10f51-6b7f-4553-92a4-3050ca8dad92", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 5) read Vcmax data\n", - "vcmax = xr.open_zarr(VCMAX_PATH)\n", - "vcmax = vcmax.assign_coords(\n", - " longitude=vcmax.longitude.round(4),\n", - " latitude=vcmax.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "451ed03c-c377-4f82-a31b-bb6a50eae8c7", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "vcmax = vcmax['vcmax']" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "67c45d8e-d888-4adf-81e8-7a9a8a9866db", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "## 6) read landcover data\n", - "landcover = xr.open_zarr(LANDCOVER_PATH)\n", - "landcover = landcover.assign_coords(\n", - " longitude=landcover.longitude.round(4),\n", - " latitude=landcover.latitude.round(4)\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "a25042fb-3d3e-44d1-98f2-a07101c85d99", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "landcover = landcover['lccs_class']" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "e7125f83-5224-4bc9-ac27-63f451d12ba2", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# read IGBP unique values\n", - "training_testing_append = pd.read_csv(IGBP_CLASS_PATH)['0'].unique()\n", - "# read the table for converting landcover to IGBP\n", - "IGBP_table = pd.read_csv(IGBP_TABLE_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "5dac66ba-c18e-48e5-a2d3-b5e754e2a4ee", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# we need to convert landcover to IGBP\n", - "def landcover_to_igbp(landcover, IGBP_table, training_testing_append):\n", - " get_IGBP = np.vectorize(IGBP_table.set_index(\"lccs_class\").T.to_dict('records')[0].get)\n", - " IGBP = get_IGBP(landcover.values) \n", - " IGBP_all = pd.DataFrame(\n", - " columns=[f'IGBP_veg_long{i}' for i in range(1, 12)]\n", - " )\n", - " \n", - " # define one hot encoding for IGBP\n", - " encoder = OneHotEncoder(\n", - " categories=[training_testing_append],\n", - " sparse=False,\n", - " handle_unknown=\"ignore\"\n", - " )\n", - " \n", - " # transform data\n", - " aa = encoder.fit_transform(IGBP.reshape(IGBP.shape[0]*IGBP.shape[1], 1))\n", - " \n", - " # assign 23-D IGBP into 23 columns\n", - " for i in range(1, 12):\n", - " IGBP_all[f'IGBP_veg_long{i}'] = aa[:,i-1]\n", - " return IGBP_all" - ] - }, - { - "cell_type": "markdown", - "id": "fa3b01d8-1554-4ae5-86c9-872df1dd29bd", - "metadata": {}, - "source": [ - "## 4) chunk all the input variables" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "1a6f40e5-16a9-4619-9fa7-47761f241c7d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "ds = xr.Dataset()\n", - "\n", - "ds = ds.assign(\n", - " Rin=Rin,\n", - " Rli=Rli,\n", - " p=p,\n", - " Ta=Ta,\n", - " ea=ea,\n", - " u=u,\n", - " Precip_msr=Precip_msr,\n", - " LAI=LAI,\n", - " CO2=CO2,\n", - " SSM=SSM,\n", - ")\n", - "\n", - "ds = ds.to_array()\n", - "\n", - "ds = ds.chunk(time=125, variable=-1)" - ] - }, - { - "cell_type": "markdown", - "id": "86bf1162-22a9-44b5-b63f-c44b5bd752d6", - "metadata": {}, - "source": [ - "## 5) predict fluxes with map_blocks" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "aee08121-c8b2-47cf-bec1-16482bb7ed7b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "INPUT_VARIABLES = [\n", - " 'Rin', 'Rli', 'p', 'Ta', 'ea', 'u', 'CO2','LAI','Vcmo','hc', 'Precip_msr', \n", - " 'SSM', *[f'IGBP_veg_long{i}' for i in range(1, 12)]\n", - "]\n", - "OUTPUT_VARIABLES = ['LEtot','Htot','Rntot','Gtot', 'Actot','SIF685', 'SIF740']" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "ce15b015-2b1c-4029-8e9c-76d2bc0c2b6c", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "chunks = [ds.chunksizes[v] for v in ['time', 'latitude', 'longitude']]\n", - "chunks.append((len(OUTPUT_VARIABLES),))\n", - "\n", - "template_LEH = xr.DataArray(\n", - " name = 'LEH',\n", - " data=da.zeros(\n", - " (len(ds.time), len(ds.latitude), len(ds.longitude), len(OUTPUT_VARIABLES)), \n", - " chunks=chunks,\n", - " ),\n", - " dims=(\"time\", \"latitude\", \"longitude\", \"output_variable\"),\n", - " coords={\n", - " \"output_variable\": OUTPUT_VARIABLES, \n", - " \"time\": ds.time, \n", - " \"latitude\": ds.latitude,\n", - " \"longitude\": ds.longitude\n", - " }\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "45317176-f436-4f3d-a66b-455db9596e65", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "def expand_time_dimension(data, n_time):\n", - " \"\"\" \n", - " Expand the space-dependent data over the time dimension.\n", - " \n", - " Parameters\n", - " ----------\n", - " data : np.ndarray\n", - " (ny, nx) matrix\n", - " n_time : int\n", - " number of elements in the time dimension\n", - " \n", - " Returns\n", - " -------\n", - " np.ndarray\n", - " (1, ntime*ny*nx) matrix\n", - " \"\"\"\n", - " expanded = np.tile(data.reshape(1, -1), (n_time, 1))\n", - " return expanded.reshape(1, -1)\n", - " \n", - "\n", - "def predictFlux(ds, hc, Vcmo, landcover, IGBP_table, training_testing_append, path_model):\n", - "\n", - " n_time = len(ds.time)\n", - " \n", - " hc_ = expand_time_dimension(hc.data, n_time)\n", - " Vcmo_ = expand_time_dimension(Vcmo.data, n_time)\n", - " \n", - " IGBP_all = landcover_to_igbp(landcover, IGBP_table, training_testing_append)\n", - " IGBP_ = [\n", - " expand_time_dimension(IGBP_all[f'IGBP_veg_long{i}'].to_numpy(), n_time)\n", - " for i in range(1, 12)\n", - " ]\n", - " \n", - " Rin_ = ds.sel(variable='Rin').data.reshape(1, -1)\n", - " Rli_ = ds.sel(variable='Rli').data.reshape(1, -1)\n", - " p_ = ds.sel(variable='p').data.reshape(1, -1)\n", - " Ta_ = ds.sel(variable='Ta').data.reshape(1, -1)\n", - " ea_ = ds.sel(variable='ea').data.reshape(1, -1)\n", - " u_ = ds.sel(variable='u').data.reshape(1, -1)\n", - " Precip_msr_ = ds.sel(variable='Precip_msr').data.reshape(1, -1)\n", - " LAI_ = ds.sel(variable='LAI').data.reshape(1, -1)\n", - " CO2_ = ds.sel(variable='CO2').data.reshape(1, -1)\n", - " SSM_ = ds.sel(variable='SSM').data.reshape(1, -1)\n", - "\n", - "\n", - " features_arr = np.concatenate((\n", - " Rin_, Rli_, p_, Ta_, ea_, u_, CO2_,LAI_,Vcmo_,hc_,Precip_msr_, SSM_, *IGBP_\n", - " ))\n", - " features_arr = features_arr.transpose()\n", - " df_features = pd.DataFrame(\n", - " data=features_arr,\n", - " columns=INPUT_VARIABLES,\n", - " )\n", - " invalid_index = df_features.isnull().any(axis=1)\n", - " \n", - " # Convert the nan value as 0 for the calculation\n", - " df_features[invalid_index] = 0\n", - " \n", - " model = load_model(path_model)\n", - " LEH = model.predict(df_features)\n", - " LEH[invalid_index] = np.nan # convert the original nan values to nan back\n", - " \n", - " return xr.DataArray(\n", - " name='LEH',\n", - " data=LEH.reshape(len(ds.time), len(ds.latitude), len(ds.longitude), len(OUTPUT_VARIABLES)),\n", - " dims=(\"time\", \"latitude\", \"longitude\", \"output_variable\"),\n", - " coords={\n", - " \"output_variable\": OUTPUT_VARIABLES, \n", - " \"time\": ds.time, \n", - " \"latitude\": ds.latitude,\n", - " \"longitude\":ds.longitude\n", - " }\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "id": "a12e1fc9-92a0-4eaa-adb2-48640c38a40b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# result\n", - "LEH = xr.map_blocks(\n", - " predictFlux,\n", - " ds,\n", - " args=[hc, vcmax, landcover],\n", - " kwargs={\n", - " \"IGBP_table\": IGBP_table, \n", - " \"training_testing_append\": training_testing_append, \n", - " \"path_model\": MODEL_PATH,\n", - " },\n", - " template=template_LEH,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "24d38429-5ff4-44fa-b243-d9146fa00f86", - "metadata": { - "tags": [] - }, - "source": [ - "## clip Europe area" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "bbb42108-28f7-417d-a20d-38a736d73a7f", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# area between 0 and 68 in Europe\n", - "clip_box0 = box(0, -90, bbox[3], 90)\n", - "gdf0 = gdf.clip(clip_box0)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "b34b15b3-43b1-4610-9832-0ffb1f163d28", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "gdf0.plot()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "3444d4d4-71a7-4ef2-ad47-00507029c389", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# convert [-180, 180] to [0, 360] for the Boundary\n", - "gdf['geometry'] = gdf['geometry'].map(lambda polygon: translate(polygon, xoff=360) if polygon.bounds[0] < 0 else polygon)\n", - "# area between 330 and 360\n", - "clip_box360 = box(360+bbox[0], -90, 360, 90)\n", - "gdf360 = gdf.clip(clip_box360)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "72f59c5e-f346-4575-bd51-7adcaa6bfbf9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# clip result to Europe area [0,68]\n", - "LEH = LEH.rio.write_crs(\"EPSG:4326\", inplace=True).rio.clip(gdf0.geometry.apply(mapping), gdf0.crs,drop=True)" - ] - }, - { - "cell_type": "markdown", - "id": "6e869007-e31d-424e-93c5-b0d873e998a9", - "metadata": {}, - "source": [ - "## export" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "c510e3b2-2e66-4b3f-af11-afa8098eff18", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LEH = LEH.chunk({\"latitude\":200, \"longitude\":200}) # chunk again, because the first number of chunk can not be the small one" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "0d6f4046-f850-4aa8-9283-435db44c80d9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LEH_ds = LEH.to_dataset(dim=\"output_variable\") " - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "id": "f4233d7b-6e74-486e-8007-cc941c55f0fb", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr'" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "LEH_PATH" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "68d08903-5a99-428b-abaf-2f9e379556b8", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 9.83 s, sys: 518 ms, total: 10.4 s\n", - "Wall time: 54.5 s\n" - ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "%%time\n", - "LEH_ds.to_zarr(LEH_PATH, mode='w')" - ] - }, - { - "cell_type": "markdown", - "id": "c6c27b67-5a9e-4b7a-ab3c-1b529c243b1a", - "metadata": {}, - "source": [ - "Release resources of the Dask cluster:" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "85cf8755-5208-4695-91fe-bf689caf50c4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "client.shutdown()" - ] - }, - { - "cell_type": "markdown", - "id": "251c68ef-d2b1-435a-83a3-b64a8871bea6", - "metadata": {}, - "source": [ - "Verify the output is written:" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "id": "a0e9807b-b0b8-478e-b61b-dc87e29b46e4", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "226M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/Htot\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/spatial_ref\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/longitude\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/latitude\n", - "226M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/Gtot\n", - "99M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/SIF685\n", - "2.0K\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/time\n", - "101M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/Actot\n", - "219M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/LEtot\n", - "220M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/Rntot\n", - "100M\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr/SIF740\n", - "1.2G\t/gpfs/work2/0/ttse0619/qianqian/global_data_Qianqian/1input_data/2014EmulatorShowcaseSarah/Europe0_fluxes_RFSS_2014_v1.1.zarr\n" - ] - } - ], - "source": [ - "! du -h $LEH_PATH" - ] - }, - { - "cell_type": "markdown", - "id": "09f1731e-78c2-42cc-961e-cb778af5960c", - "metadata": { - "tags": [] - }, - "source": [ - "## read the exported ouput and plot it" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "id": "893865ab-41ce-4952-96af-16cfb5c3665b", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "LEH2014 = xr.open_zarr(LEH_PATH)" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "id": "5e5a6047-8f72-4de5-9329-e5edaa0a4814", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:      (time: 264, latitude: 469, longitude: 688)\n",
-       "Coordinates:\n",
-       "  * latitude     (latitude) float64 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n",
-       "  * longitude    (longitude) float64 0.1 0.2 0.3 0.4 0.5 ... 68.5 68.6 68.7 68.8\n",
-       "  * time         (time) datetime64[ns] 2014-01-31 ... 2014-02-10T23:00:00\n",
-       "Data variables:\n",
-       "    Actot        (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    Gtot         (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    Htot         (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    LEtot        (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    Rntot        (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    SIF685       (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    SIF740       (time, latitude, longitude) float64 dask.array<chunksize=(125, 200, 200), meta=np.ndarray>\n",
-       "    spatial_ref  int64 ...
" - ], - "text/plain": [ - "\n", - "Dimensions: (time: 264, latitude: 469, longitude: 688)\n", - "Coordinates:\n", - " * latitude (latitude) float64 81.8 81.7 81.6 81.5 ... 35.3 35.2 35.1 35.0\n", - " * longitude (longitude) float64 0.1 0.2 0.3 0.4 0.5 ... 68.5 68.6 68.7 68.8\n", - " * time (time) datetime64[ns] 2014-01-31 ... 2014-02-10T23:00:00\n", - "Data variables:\n", - " Actot (time, latitude, longitude) float64 dask.array\n", - " Gtot (time, latitude, longitude) float64 dask.array\n", - " Htot (time, latitude, longitude) float64 dask.array\n", - " LEtot (time, latitude, longitude) float64 dask.array\n", - " Rntot (time, latitude, longitude) float64 dask.array\n", - " SIF685 (time, latitude, longitude) float64 dask.array\n", - " SIF740 (time, latitude, longitude) float64 dask.array\n", - " spatial_ref int64 ..." - ] - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "LEH2014" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "id": "3c1eddcf-6aee-4711-bbbc-6ef68f12b3d3", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAHHCAYAAABHp6kXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOxdd7wcVdl+zjkzs+XuLekFQgKIgBSpxlA+QEoogiAWBCmCwifYkCKoEHoRRfhEQRTpyIcfNkRFghFDkSZVeigJJQQSckvu7s7MOef745Q5s3tTbu5NbnI5z+93k93ZKWdmZ2eeed/nfV4ipZTw8PDw8PDw8FjLQYd6AB4eHh4eHh4egwFPajw8PDw8PDyGBTyp8fDw8PDw8BgW8KTGw8PDw8PDY1jAkxoPDw8PDw+PYQFPajw8PDw8PDyGBTyp8fDw8PDw8BgW8KTGw8PDw8PDY1jAkxoPDw8PDw+PYQFPajxWClOmTMFRRx011MPw8PDw8PCw8KTGY6l44IEHcNZZZ2Hx4sVDPZTVikceeQRf+9rXsNlmm6GlpQXrrbcePve5z+HFF1/sc/7nnnsOe++9NyqVCkaOHInDDz8c7777btN8559/Pg444ACMGzcOhBCcddZZKzSePffcE4QQfO1rX1vhfRBC4Ac/+AHWX399FItFbLnllvj1r3/dNN/DDz+M448/Httuuy3CMAQhZIW3AQBvvfUWvvjFL2LjjTdGa2srOjo68LGPfQzXX389GjuwvPDCCzjxxBOxww47oFgsghCC1157LTfPUUcdBULIcv9cQr0ix//555/Hqaeeiq222gqtra2YMGEC9ttvPzz66KP92t8HHngAO+20E8rlMsaPH49vfOMb6OnpaZqvXq/jO9/5DiZOnIhSqYSpU6fi7rvv7te2rrnmGmy66aYoFovYaKON8JOf/KTP+d5880187nOfQ0dHB9ra2vCpT30Kr7zySr+25eExbCA9PJaCSy65RAKQr776atNntVpNxnG8+ge1GnDwwQfL8ePHy69//evyF7/4hTz33HPluHHjZEtLi3z66adz886bN0+OHj1abrjhhvLyyy+X559/vhwxYoT86Ec/Kuv1em5eAHL8+PFy+vTpEoCcMWPGcsdy++23y5aWFglAnnDCCSu8D6eddpoEIL/yla/Iq6++Wu63334SgPz1r3+dm2/GjBkyDEO57bbbyg9/+MOyv5eEJ598Uu6yyy7yu9/9rrzqqqvkT37yE3nAAQdIAPL000/PzXvttddKSqncfPPN5VZbbdXnufXAAw/IG2+80f6dc845EoA89thjc9MfeOABKeWKH/+TTjpJdnR0yGOOOUb+/Oc/lz/4wQ/khhtuKBlj8u67716hfX388cdlsViUW2+9tbzyyivl9773PVkoFOTee+/dNO8hhxwigyCQJ598svz5z38up02bJoMgkLNnz16hbV111VUSgDz44IPl1VdfLQ8//HAJQF500UW5+bq7u+VGG20kx44dKy+++GJ56aWXykmTJsl1111Xvvfeeyu0LQ+P4QRPajyWimWRmuGM+++/v4mQvPjii7JQKMjDDjssN/2rX/2qLJVK8vXXX7fT7r77bglA/vznP8/Na47ju+++u0KkplqtyilTptgb+4qSmjfeeEOGYZibXwghd955Z7nuuuvKNE3t9Pnz58ve3l4ppZQnnHBCv0nN0vDJT35StrS05La1cOFC2dXVJaVc8XPrkUcekQDktdde2+fnK3r8H330Udnd3Z1b9r333pNjxoyRO+644wrt0z777CMnTJggOzs77bRf/OIXEoC866677LSHHnpIApCXXHKJnVatVuWGG24op02bttzt9Pb2ylGjRsn99tsvN/2www6TLS0tctGiRXbaxRdfLAHIhx9+2E577rnnJGOsiVR6eHwQ4NNPHn3irLPOwimnnAIAWH/99W3Y36QLGjU11113HQghuO+++/CNb3wDY8aMQUdHB4477jjEcYzFixfjiCOOwIgRIzBixAiceuqpTekJIQQuu+wybLbZZigWixg3bhyOO+44vP/++6trtwEAO+ywA6Ioyk3baKONsNlmm+G5557LTb/99tvxyU9+Euutt56dtscee+DDH/4wbrvttty8U6ZM6dc4fvCDH0AIgZNPPrlfy/3hD39AkiQ4/vjj7TRCCL761a/ijTfewIMPPminjxs3DqVSqV/rXxFMmTIFvb29iOPYThs5ciRaW1sHdTsrevy33XZbVCqV3LKjRo3Czjvv3PSd9vb24vnnn8d7771np3V1deHuu+/GF7/4RbS1tdnpRxxxBCqVSm5b//d//wfGGI499lg7rVgs4phjjsGDDz6IefPm2envvfcenn/+efT29tpps2bNwsKFC3PfHwCccMIJWLJkCe68887ctrbffntsv/32dtomm2yC3Xffven88/D4IMCTGo8+8elPfxpf+MIXAAA//vGPceONN+LGG2/EmDFjlrnc17/+dbz00ks4++yzccABB+Dqq6/GGWecgf333x+cc1xwwQXYaaedcMkll+DGG2/MLXvcccfhlFNOwY477ojLL78cX/rSl3DzzTdj+vTpSJJkmdut1+t47733VuhvZSClxDvvvIPRo0fbaW+++SYWLFiA7bbbrmn+j33sY3j88cdXalsAMHfuXFx00UW4+OKL+006Hn/8cbS0tGDTTTdtGpP5fLBRrVbx3nvv4bXXXsP111+Pa6+9FtOmTVslhMlgMI7//Pnzc98poHRGm266Ka644go77emnn0aapk3biqIIW221VW5bjz/+OD784Q/nyI8ZEwA88cQTdtoVV1yBTTfdFA8//HBueQBN29p2221BKbWfCyHw1FNPLXX/58yZg+7u7uUeAw+P4YRgqAfgsWZiyy23xDbbbINf//rXOPDAA1c4yjBu3Dj8+c9/BiEExx9/PF5++WVccsklOO6443DllVcCAI499lhMmTIFv/rVr3DEEUcAAO677z788pe/xM0334xDDz3Urm+33XbD3nvvjd/85je56Y349a9/jS996UsrNMbGCNGK4Oabb8abb76Jc845x057++23AQATJkxomn/ChAlYtGgR6vU6CoVCv7d30kknYeutt8YhhxzS72XffvttK0ZuHBOgxL2Djcsvvxynn366fb/77rvj2muvHfTtuBjo8Z89ezYefPBBfP/73x/wtmbPnp2bd2nzAcs//m+//TYYYxg7dmxuehRFGDVqlF3e7N/ytrXxxhsvc3seHsMJntR4DCqOOeaY3M106tSpePDBB3HMMcfYaYwxbLfddnjsscfstN/85jdob2/HnnvumYummLTBrFmzlklqpk+f3u/qkhXF888/jxNOOAHTpk3DkUceaadXq1UA6POmWSwW7Tz9JTWzZs3C7bffjoceemilxru0bbpjGmx84QtfwHbbbYd3330Xf/rTn/DOO++sku24GMjxX7BgAQ499FCsv/76OPXUU3Of7brrrk3Ed3nbcve1P8f/rLPOaqqCq1arTenPvra1ovvv4fFBgic1HoMKV9sAAO3t7QCASZMmNU13tTIvvfQSOjs7m55ODRYsWLDM7U6YMKHPJ9aBYv78+dhvv/3Q3t5utRIGJrVSr9eblqvVarl5VhRpmuIb3/gGDj/88JxOYmljc9He3o5SqYRSqTSoY1rWtgwmT56MyZMnA1AE59hjj8Uee+yBF154YZWloFb2+C9ZsgSf/OQn0d3djfvuu69Ja7My23K3M9DjXyqVclqkpW1rVZx/Hh5rOzyp8RhUuDf95U13n4aFEBg7dixuvvnmPpdfnpanWq2is7NzhcY4fvz4FZqvs7MT++yzDxYvXozZs2dj4sSJuc8NiTKpCRdvv/02Ro4c2e8ozQ033IAXXngBP//5z5s8XLq7u/Haa69h7NixKJfLTSTu2muvxVFHHYUJEyZg1qxZkFLmomZmnI37sSJY2raWhs985jP4xS9+gX/+85+YPn16v7fXnzH15/jHcYxPf/rTeOqpp3DXXXdh8803H5Rtucd0woQJePPNN/ucD1j+8Z8wYQI451iwYEGO5MdxjIULF9rlzf4tbUwrsi0Pj+EGT2o8lor+GrENBBtuuCFmzpyJHXfccaWeLv/3f/93UDU1tVoN+++/P1588UXMnDkTH/nIR5rmWWeddTBmzJg+DdwefvhhbLXVVis0Hhdz585FkiTYcccdmz674YYbcMMNN+B3v/sdDjzwwKZ022abbQYA2GqrrfDLX/4Szz33XG7cJp21MuNa2raWBpP2WFGiuTLo7/EXQuCII47APffcg9tuuw277LLLCm9r8803RxAEePTRR/G5z33OTo/jGE888URu2lZbbYVZs2ahq6srJxZe0eNvPn/00Uex77772umPPvoohBD2c0optthiiz73/6GHHsIGG2ww6NVmHh5rOjyp8VgqWlpaAGC1OAp/7nOfw89+9jOce+65uOCCC3KfpWmKnp4edHR0LHX5wdTUcM7x+c9/Hg8++CD+8Ic/YNq0aUud9+CDD8b111+PefPm2RTbPffcgxdffBEnnnhiv7d9yCGH9HnTO+igg7DvvvviK1/5CqZOnQpAlS73hU996lM48cQT8bOf/cxW8EgpcdVVV2GdddbBDjvs0O9xLW1b7777bp9RtGuuuQaEEGyzzTb93lZ/0J/j//Wvfx3/+7//i5///Of49Kc/vdR19vb2Yu7cuRg9erStjGpvb8cee+yBm266CWeccYYlCzfeeCN6enrw2c9+1i7/mc98Bj/84Q9x9dVX23L8er2Oa6+9FlOnTs2lYk1F3nrrrYdyuQwA+MQnPoGRI0fiyiuvzJGaK6+8EuVyGfvtt19uW6eddhoeffRRWwX1wgsv4O9//3u/rQA8PIYDPKnxWCq23XZbAMD3vvc9HHLIIQjDEPvvv78lO4OJXXbZBccddxwuvPBCPPHEE9hrr70QhiFeeukl/OY3v8Hll1+Oz3zmM0tdfjA1NSeddBL++Mc/Yv/998eiRYtw00035T7/4he/aF9/97vfxW9+8xvstttu+OY3v4menh5ccskl2GKLLZoiRzfeeCNef/1160nyz3/+E+eddx4A4PDDD8fkyZOxySabYJNNNulzXOuvvz4OPPDA5Y5/3XXXxbe+9S1ccsklSJIE22+/PX7/+99j9uzZuPnmm3OpwNdff92W1psnfjOmyZMn4/DDD1/mts4//3zcf//92HvvvbHeeuth0aJFuP322/HII4/g61//Oj70oQ/ZeTs7O63V//333w9AlTR3dHSgo6OjX20gDFb0+F922WX42c9+hmnTpqFcLjd9pwcddJA9rx9++GHstttumDFjRk7Ee/7552OHHXbALrvsgmOPPRZvvPEGfvSjH2GvvfbC3nvvbeebOnUqPvvZz+L000/HggUL8KEPfQjXX389XnvtNVxzzTW57V5xxRU4++yzMWvWLOy6664AlA7m3HPPxQknnIDPfvazmD59OmbPno2bbroJ559/PkaOHGmXP/744/GLX/wC++23H04++WSEYYhLL70U48aNw0knndTv4+nhsdZj6Hz/PNYGnHvuuXKdddaRlNKcA+zkyZPlkUceaee79tprJQD5yCOP5JafMWOGBCDffffd3PQjjzxStrS0NG3v6quvlttuu60slUqytbVVbrHFFvLUU0+Vb7311qDv29Kwyy67SABL/WvEM888I/faay9ZLpdlR0eHPOyww+T8+fP7td5Zs2Ytc0zoZ5sEzrm84IIL5OTJk2UURXKzzTaTN910U9N8s2bNWuqYdtlll+Vu529/+5v85Cc/KSdOnCjDMJStra1yxx13lNdee60UQuTmffXVV5e6rcmTJ/e5/uU5Cku5Ysf/yCOPXOZ36jobm2PSl+Pz7Nmz5Q477CCLxaIcM2aMPOGEE6xLsotqtSpPPvlkOX78eFkoFOT2228v//rXvzbNZ34ffX3/V199tdx4441lFEVyww03lD/+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Twoh7P1RFMlisSivv/56uXbtWglA3nzzzRs9741hU+e1IfzkJz+RfX199vcDDzxQfvKTn9zgY2+66SYJQA4PD2/w/vzr4+DgsOPhNDUOuxwefvhheJ6HI444wt7W19eH/fbbDw8//LC9rVQqYe+997a/DwwMYGhoCAAwOjqKVatW4SUveYm9nzGGww47DEKIST3e0dFRDA4Odhyv53k4/PDDbQvq8ccfR7PZxGtf+9qO58ZxjEMOOWSL9vfwww/jbW97W8dtS5YswXXXXWd//8tf/oLbbruto4LBOUe73Uaz2cSjjz6K+fPnd2h18q9VHocffrj9//j4OJ544gmceuqp+OAHP2hvT9PUak7+8pe/4PHHH0e1Wu3YTrvdxhNPPIHXve51OOWUU3Dsscfita99LY455hi8853vxMDAwCbPfVPnVSqV8Lvf/Q5Lly7FI488grGxMaRp2nH/WWedhdNOOw2//e1vccwxx+CEE07AQQcdtMl9Ozg4TD0cqXGYtpgoWCWErKdjmQxQStfbbr4Ntjkwmo5f/epX2H333TvuC8Nw2w5wI/v71Kc+hbe//e3r3VcoFLZoW+VyuWO7APCtb32rg8QBijSaxxx22GFWf5PHrFmzAACXX345zjrrLFx33XX40Y9+hH//93/HDTfcgJe+9KXbdF5PP/003vzmN+O0007DhRdeiN7eXvzxj3/EqaeeijiOUSqV8IEPfADHHnssfvWrX+G3v/0tli5diosvvhhnnnnmFr0uDg4OOx6O1Djscli8eDHSNMWdd96Jl73sZQCAtWvX4tFHH8X++++/Wduo1WqYM2cO7rrrLrzyla8EoK7o77333vVEv3kEQQDOecdts2bNwsqVKyGltLqP+++/v2NfAwMDuPPOO+2+0jTFPffcg0MPPRQAsP/++yMMQyxfvhxHHXXUZp3DxrB48WLceeedHbfdcccdHb8feuihePTRR7HPPvtscBv77bcfVqxYgVWrVmHOnDkAgLvuumuT+54zZw522203PPnkk3jPe96zwccceuih+NGPfoTZs2ejq6tro9s65JBDcMghh+ATn/gElixZgquuumqTpGZT53XPPfdACIGLL74YlCpJ4Y9//OP1Hjd//nx8+MMfxoc//GF84hOfwLe+9S2ceeaZCIIAANb7DDg4OOwccKTGYZfDvvvui+OPPx4f/OAHcdlll6FareK8887D7rvvjuOPP36zt3PmmWdi6dKl2GeffbBo0SL853/+J4aHh59XkLrHHnvgD3/4A9797ncjDEP09/fjVa96FVavXo0vfOELeMc73oHrrrsOv/nNbzoW7LPPPhsXXXQR9t13XyxatAiXXHJJh9dJtVrFv/7rv+Kcc86BEAIvf/nLMTo6ittuuw1dXV04+eSTN/u8zjrrLBx55JH40pe+hOOPPx7XX399R+sJAM4//3y8+c1vxoIFC/COd7wDlFL85S9/wUMPPYTPfvazeO1rX4u9994bJ598Mr7whS+gXq/j3//93wFgk4LdT33qUzjrrLNQq9Xw+te/HlEU4e6778bw8DDOPfdcvOc978EXv/hFHH/88fj0pz+NefPmYdmyZfj5z3+Oj33sY0iSBN/85jfxlre8BbvtthseffRRPPbYYzjppJM2ee6bOq999tkHSZLgP//zP3Hcccfhtttuw6WXXtqxjY985CN4wxvegBe84AUYHh7GTTfdhMWLFwMAFi5cCEIIfvnLX+KNb3wjisUiKpXKZr83Dg4O2xlTK+lxcNg8TBTsrlu3Tr7vfe+TtVpNFotFeeyxx8q///3v9v7LL7+8QxgrpZRXX321zH/kkySRZ5xxhuzq6pI9PT3y4x//uPyHf/gH+e53v3uj+7399tvlQQcdJMMw7NjWN77xDTl//nxZLpflSSedJC+88MIOoXCSJPLss8+WXV1dsru7W5577rnypJNO6hAlCyHkV77yFbnffvtJ3/flrFmz5LHHHitvueWWjb4uGxIKSynld77zHTlv3jxZLBblcccdJ7/0pS+t93pcd9118mUve5ksFouyq6tLvuQlL5Hf/OY37f0PP/ywPPLII2UQBHLRokXy2muvlQDkddddJ6XMhML33Xffevu/8sor5Yte9CIZBIHs6emRr3zlK+XPf/5ze//g4KA86aSTZH9/vwzDUO61117ygx/8oBwdHZUrV66Ub33rW+XAwIAMgkAuXLhQnn/++ZJzvtHXYUvO65JLLpEDAwP2c/P973+/Q/x7xhlnyL333luGYShnzZol3/e+98k1a9bY53/605+Wc+fOlYQQefLJJ3fsG04o7OAwpSBSbgeRgYPDLgghBBYvXox3vvOdHS7COzP22GMPfOQjH9khERK33XYbXv7yl+Pxxx/vEGA7ZCCE4Oqrr97m+AsHB4etg/OpcZixWLZsGb71rW/h73//Ox588EGcdtppeOqpp3DiiSdO9aFtET7+8Y+jUqlgdHR0Urd79dVX44YbbsDTTz+N3/3ud/jQhz6EI4880hGaDeDDH/6wa0M5OOwEcJUahxmLFStW4N3vfjceeughSCnxwhe+EBdddJEV8+4KWLZsmZ202muvvaz4dTLw/e9/H5/97GexfPly9Pf345hjjsHFF1+Mvr6+SdvHluKAAw7YqLPwZZddtlFx8vbG0NAQxsbGACjrgPxEmIODw46DIzUODg67DPIkbiLmzJmznveNg4PDzIIjNQ4ODg4ODg7TAk5T4+Dg4ODg4DAt4EiNg4ODg4ODw7SAIzUODg4ODg4O0wKO1Dg4ODg4ODhMCzhS4+Dg4ODg4DAt4EiNg4ODg4ODw7SAIzUODg4ODg4O0wKO1Dg4ODg4ODhMC/x/rzMRVvAFNz0AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# first show spatial distribution\n", - "LEH2014.Rntot[2,:].plot() ## index from 1 to -24 has data" - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "id": "772a39a2-bde4-424b-b333-527d9b1f6719", - "metadata": { - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHtCAYAAAAZcHSwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADB10lEQVR4nOydd3wUdfrHP7M1vUEKofdepApSVBAETvTgUKygnFhAFPTn6empWA672E5F7wQV7k5seFhB7AIqTRBEWuiEkJCebP3+/tid2dlky8zs7ny/k3zfrxcvze4keTKZ7Hz2eT7P8wiEEAIOh8PhcDicZoCJdgAcDofD4XA4esGFD4fD4XA4nGYDFz4cDofD4XCaDVz4cDgcDofDaTZw4cPhcDgcDqfZwIUPh8PhcDicZgMXPhwOh8PhcJoNXPhwOBwOh8NpNnDhw+FwOBwOp9nAhY+BWbZsGQRBQFFRUdy+ZlFREQRBwLJly+L2NSMxa9YsdOjQQZfv1VSZNWsWBEGAIAjo06ePos8RBAEPPPBAYgPjaGLWrFlIS0uLelx5ebn0excEAU8++aSm79ehQwfMmjVL0+fGG/76w9EDLnyaKStXrsSSJUsUHfvxxx83y5vkV199FXRjkf/buHFjo+N/+OEHjBw5EikpKSgoKMD8+fNRXV2t+Pv985//RM+ePZGUlISuXbvi+eefV/y5LVu2xJtvvolHH31U8edw6FFbW4sHHngAX331leavkZqaijfffBPPPPNM/AJjkOb6+tOQRx55JOKbm1hff5oTFtoBcOiwcuVK7Ny5E7fddlvQ4+3bt0ddXR2sVqv02Mcff4wXX3yx2b74zJ8/H0OGDAl6rEuXLkEfb9u2DWPHjkXPnj3x9NNP4+jRo3jyySexd+9efPLJJ1G/xyuvvIIbb7wR06ZNw8KFC/Htt99i/vz5qK2txV/+8peon5+amoqrrrpK3Q/GoUZtbS0WLVoEADj33HM1fQ2r1YqrrroKRUVFWLBgQRyjowd//QnN0aNH8fe//x2pqakhn4/19ae5wYUPJwhBEJCUlEQ7DKYYNWoU/vSnP0U85q9//Suys7Px1VdfISMjA4CvhHD99dfj888/x/jx48N+bl1dHe655x5MnjwZ77zzDgDg+uuvh9frxUMPPYQ5c+YgOzs7fj8QRWpra5GSkkI7DGp4vV44nU7aYTALf/0JzR133IGzzz4bHo8Hp0+fbvR8LK8/zRFe6mpirF69GpMnT0ZhYSHsdjs6d+6Mhx56CB6PRzrm3HPPxUcffYRDhw5JpRuxzt2wxj5r1iy8+OKLABBU6gECpaCG6fpwdfoPPvgAffr0QVJSEvr06YP3338/5M/g9XqxZMkS9O7dG0lJScjPz8cNN9yAM2fOxH6CNFJVVQW32x3yucrKSqxduxZXXXWV9KIDANdccw3S0tLw9ttvR/zaX375JUpLS3HzzTcHPT537lzU1NTgo48+0hy3w+HAggULkJubi/T0dEyZMgVHjx4NeeyxY8dw3XXXIT8/H3a7Hb1798a//vWvRscdOnQIU6ZMQWpqKvLy8rBgwQJ89tlnja6Fc889F3369MHmzZsxevRopKSk4K9//asU1/33348uXbrAbrejbdu2uPPOO+FwOBp9v7feeguDBg1CcnIycnJyMGPGDBw5ciTomL1792LatGkoKChAUlIS2rRpgxkzZqCiokLxuRK9NceOHcMll1yCtLQ05Obm4o477gj6+wGAmpoa3H777Wjbti3sdju6d++OJ598EoSQoOMEQcC8efOwYsUK9O7dG3a7HS+//DJyc3MBAIsWLZL+phpmNJTEkSgOHDiA6dOnIycnBykpKTj77LMbXYfi3//bb7+NRx55BG3atEFSUhLGjh2Lffv2NfqaL774Ijp16oTk5GQMHToU3377Lc4999ygjBd//WnMN998g3feeSesNSHW15/mCM/4NDGWLVuGtLQ0LFy4EGlpaVi/fj3uu+8+VFZW4oknngAA3HPPPaioqMDRo0clf0A4M+UNN9yA48ePY+3atXjzzTc1x/X5559j2rRp6NWrFxYvXozS0lJce+21aNOmTcjvuWzZMlx77bWYP38+Dh48iBdeeAFbt27F999/H5QGb4jD4UBVVZWimFq2bKnouGuvvRbV1dUwm80YNWoUnnjiCQwePFh6fseOHXC73UGPAYDNZsOAAQOwdevWiF9ffL7h5w8aNAgmkwlbt27VXMb685//jLfeegtXXHEFRowYgfXr12Py5MmNjisuLsbZZ58t3ahzc3PxySefYPbs2aisrJRKojU1NTj//PNx4sQJ3HrrrSgoKMDKlSvx5Zdfhvz+paWlmDhxImbMmIGrrroK+fn58Hq9mDJlCr777jvMmTMHPXv2xI4d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yZMxcuRIXHfddSgrK8Pzzz+P3r17B41VHzNmDG644QYsXrwY27Ztw/jx42G1WrF3716sWrUKzz77bMRhgvGssV922WVITk7GiBEjkJeXh127dmHp0qVISUlptBrikUcewYgRIzBmzBjMmTMHR48exVNPPYXx48fjwgsvlI778ccfcd555+H++++X5rYkJyfjoYcewty5czF9+nRMmDAB3377Ld566y088sgjyMnJ0RT/gAEDcPnll+Mf//gHKioqMGLECHzxxRchszOPPvoovvzySwwbNgzXX389evXqhbKyMmzZsgXr1q1DWVkZAF+r7wsvvIDLL78ct956K1q1aoUVK1ZIQ+eUZDKuvvpqvP3227jxxhvx5Zdf4pxzzoHH48Fvv/2Gt99+G5999hkGDx6Mzp074+GHH8bdd98ttT+np6fj4MGDeP/99zFnzhzccccdWL9+PebNm4fp06ejW7ducLvdePPNNyVBF28uuuginHfeebjnnntQVFSE/v374/PPP8fq1atx2223NfJUhSI5ORm9evXCf//7X3Tr1g05OTno06eP4l1r0SgqKkLHjh0xc+ZM1Xuv7rrrLvz73//GxIkTMX/+fOTk5GD58uU4ePAg3n33XUnwK8Vms+GBBx7ALbfcgvPPPx+XXnopioqKsGzZspB+sYY0x9efli1b4pJLLmn0uPimpeFzsbz+AD7/1pgxY4JmIl1zzTX4+uuvE16ypAKNVjJOfAjVzv7999+Ts88+myQnJ5PCwkJy5513ks8++6xR22d1dTW54oorSFZWVlBLZ6hWULfbTW655RaSm5tLBEEIasUsKSkh06ZNIykpKSQ7O5vccMMNZOfOnY2+BiGEvPvuu6Rnz57EbreTXr16kffeey9sK/bSpUvJoEGDSHJyMklPTyd9+/Yld955Jzl+/Hgczpwynn32WTJ06FCSk5NDLBYLadWqFbnqqqvI3r17Qx7/7bffkhEjRpCkpCSSm5tL5s6dSyorK4OOEVtwQ7UxL126lHTv3p3YbDbSuXNn8swzzxCv1xs1znDnkBBfq/n8+fNJixYtSGpqKrnooovIkSNHQsZQXFxM5s6dS9q2bUusVispKCggY8eOJUuXLg067sCBA2Ty5MkkOTmZ5Obmkttvv528++67BADZuHGjdFyo1lsRp9NJHnvsMdK7d29it9tJdnY2GTRo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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# then randomly select one pixel to show time series change\n", - "LEH2014.Rntot.sel(latitude=(50),longitude=(40)).plot() # unit is W/m2" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.16" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/Examples/Example.ipynb b/Examples/Example.ipynb new file mode 100644 index 0000000..c1ac2e1 --- /dev/null +++ b/Examples/Example.ipynb @@ -0,0 +1,728 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "92b49214-0f60-433c-a4b3-35d323a85f5c", + "metadata": {}, + "source": [ + "# Running emulator workflow \n", + "\n", + "This notebook shows a simple workflow to:\n", + "\n", + "- train a RandomForest model \n", + "- Preprocess data\n", + "- Run the model \n", + "\n", + "This notebook and data are based on the research carried by Qianqian Han https://doi.org/10.5194/egusphere-egu24-5488." + ] + }, + { + "cell_type": "markdown", + "id": "f3d8c7bc-f6f4-4270-8fae-018bbb6f5737", + "metadata": {}, + "source": [ + "## Model training \n", + "\n", + "### Introducing `dask`, `dask-ml`, `MultiOutputRegressor`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b77f9a84-9521-4434-8ced-a2cc5680e2a3", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os \n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import dask\n", + "import dask.dataframe as dd\n", + "\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.multioutput import MultiOutputRegressor\n", + "\n", + "from dask_ml.model_selection import train_test_split\n", + "from dask_ml.preprocessing import OneHotEncoder\n", + "\n", + "import joblib" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c85f6ad2-cccb-476e-9d4a-320874ffc924", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('.')\n", + "from utils import training_testing_preprocess, igbp_to_landcover" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d366193-564a-41e5-8ff6-b7adc39688c8", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "parent_in_path = \"path_to_input\"\n", + "parent_out_path = \"path_to_output\"\n", + "os.makedirs(parent_out_path, exist_ok=True)\n", + " \n", + "input_vars = ['Rin', 'Rli', 'p', 'Ta', 'ea', 'u', 'CO2', 'LAI','Vcmo', 'hc', 'Precip_msr','SSM', 'IGBP_veg_long', \n", + " 'Rntot', 'LEtot', 'Htot','Gtot', 'Actot', 'SIF685', 'SIF740']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9aa5f138-c906-411f-9bf7-723927eea951", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# read data\n", + "input_data = f\"{parent_in_path}/training/training_testing-withindex_v4_hourlyUTC.csv\"\n", + "input_df = dd.read_csv(input_data, usecols=input_vars)\n", + "\n", + "# define one hot encoding for IGBP using dask-ml functions\n", + "encoder = OneHotEncoder(sparse_output=False)\n", + "\n", + "# preprocess data\n", + "input_df = training_testing_preprocess(input_df)\n", + "igbp_class = pd.read_csv(f\"{parent_in_path}/auxiliary/IGBP11unique.csv\")['0'].unique()\n", + "input_df = igbp_to_landcover(input_df, encoder, igbp_class)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5a1109a-00ee-44c8-909c-d8503daf6512", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# training multiple outputs\n", + "x_vars = ['Rin', 'Rli', 'p', 'Ta', 'ea', 'u', 'CO2', 'LAI','Vcmo', 'hc', 'Precip_msr','SSM', *[f'IGBP_veg_long{i}' for i in range(1, 12)]]\n", + "x = input_df[x_vars]\n", + "\n", + "y_vars = ['LEtot','Htot','Rntot','Gtot', 'Actot','SIF685', 'SIF740']\n", + "y = input_df[y_vars]\n", + "\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25, random_state=0, shuffle=True)\n", + "\n", + "regressor = MultiOutputRegressor(\n", + " RandomForestRegressor(n_estimators=10,\n", + " max_depth=20,\n", + " random_state=0,\n", + " n_jobs=1,\n", + " min_samples_split=10,\n", + " min_samples_leaf=4),\n", + " n_jobs=7,\n", + ")\n", + "\n", + "regressor" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4ef045e8-d7e7-46aa-bae5-bc1343cb70b1", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# connect to the running Dask cluster\n", + "# from dask.distributed import Client\n", + "# client = Client(\"localhost:8786\")\n", + "# client.upload_file(\"utils.py\") # upload utility module to workers\n", + "# client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "848306bc-0654-437c-b54f-c3de9f1e4346", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# set joblib to use dask\n", + "with joblib.parallel_backend('dask'):\n", + " regressor.fit(x_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4fd95db5-8f20-4db5-8f6c-fb160648243b", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "joblib.dump(regressor, f\"{parent_out_path}/model_multi.joblib\")\n", + "print(\"model is saved\")" + ] + }, + { + "cell_type": "markdown", + "id": "f08edf65-8296-44dc-9dae-66224c622d78", + "metadata": {}, + "source": [ + "## Preparing data\n", + "\n", + "### Introducing `xr.open_mfdataset` and `xr.Dataset.to_zarr`\n", + "\n", + "This cell needs modifications with regards to I/O paths depending on the infra." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9c72bae2-cff9-42c8-ab5e-6038c3e5ffcf", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import xarray as xr\n", + "import rioxarray\n", + "from functools import partial" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88976bdd-8244-4f81-89e9-0a0a1fb4effb", + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('.')\n", + "from utils import era5_preprocess, co2_preprocess, fix_coords, fix_time, remove_encoding" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8d8dec8-cc71-4376-b844-1e8de8e64fc9", + "metadata": {}, + "outputs": [], + "source": [ + "parent_in_path = f\"path_to_input\"\n", + "data_paths = {\"era5land\": f\"{parent_in_path}/era5land/*.nc\",\n", + " \"lai\": f\"{parent_in_path}/lai_v2/*.nc\",\n", + " \"ssm\": f\"{parent_in_path}/ssm/GlobalGSSM11km2014_20240214.tif\",\n", + " \"co2\": f\"{parent_in_path}/co2/CAMS_CO2_2003-2020.nc\",\n", + " \"landcover\": f\"{parent_in_path}/igbp/landcover10km_global.nc\",\n", + " \"vcmax\": f\"{parent_in_path}/vcmax/TROPOMI_Vmax_Tg_mean10km_global.nc\",\n", + " \"canopyheight\": f\"{parent_in_path}/canopy_height/canopy_height_11kmEurope20230921_10km.nc\",\n", + " }\n", + "\n", + "parent_out_path = \"path_to_output\"\n", + "\n", + "# region of interest here EU\n", + "bbox = [-31.28903052, 34.93055094, 68.93136141, 81.85192337]\n", + "\n", + "# time series\n", + "start_time = \"2014-1-31\"\n", + "end_time = \"2014-02-10\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64a0e6f7-2bcb-4af6-8672-3a80fceb0ce5", + "metadata": {}, + "outputs": [], + "source": [ + "chunks = 500\n", + "\n", + "co2_partial_func = partial(co2_preprocess, start_time=start_time, end_time=end_time)\n", + "\n", + "for data_path in data_paths:\n", + " ofs = open_files(data_paths[data_path])\n", + " # read data \n", + " if data_path == \"era5land\":\n", + " ds = xr.open_mfdataset(data_paths[data_path], preprocess=era5_preprocess)\n", + " \n", + " elif data_path == \"co2\":\n", + " ds = xr.open_mfdataset(data_paths[data_path], preprocess=co2_partial_func)\n", + " ds = ds.assign_coords(longitude=(((ds.longitude + 180) % 360) - 180)) \n", + "\n", + " else:\n", + " ds = xr.open_mfdataset(data_paths[data_path], preprocess=fix_coords)\n", + " \n", + " # convert day of year\n", + " ds = fix_time(ds, start_time)\n", + " \n", + " # select data subset\n", + " ds_sorted = ds.sortby(['longitude', 'latitude'])\n", + " masked_ds = ds_sorted.sel(longitude=slice(bbox[0], bbox[2]), latitude=slice(bbox[1], bbox[3]), time=slice(start_time, end_time))\n", + " \n", + " # remove global encoding\n", + " masked_ds = remove_encoding(masked_ds)\n", + " \n", + " masked_ds = masked_ds.chunk(chunks=chunks)\n", + " \n", + " # save data to zarr\n", + " out_path = f\"{parent_out_path}/{data_path}_{start_time}_{end_time}_EU.zarr\"\n", + " masked_ds.to_zarr(out_path, mode='w')\n", + " print(f\"{out_path} is saved\")\n", + " print(\"=======================================\")" + ] + }, + { + "cell_type": "markdown", + "id": "61498f3b-ec8a-46a3-b4c0-d9312d64a9d1", + "metadata": {}, + "source": [ + "## Data processing: \n", + "- Interpolations in space and time\n", + "- Variable derivation\n", + "- Unit conversion" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76c95a6b-8517-43aa-8d53-7d93fa518d38", + "metadata": {}, + "outputs": [], + "source": [ + "import xarray as xr\n", + "import numpy as np\n", + "import pandas as pd\n", + "import dask.array as da\n", + "from PyStemmusScope import variable_conversion as vc\n", + "import sys\n", + "sys.path.append('.')\n", + "from utils import interpolation, era5land_accumulated_vars, map_landcover_to_igbp, landcover_to_igbp\n", + "from dask_ml.preprocessing import OneHotEncoder" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2970165-43b3-4d0a-aa29-674e1f64cfe5", + "metadata": {}, + "outputs": [], + "source": [ + "start_time = \"2014-1-31\"\n", + "end_time = \"2014-02-10\"\n", + "\n", + "parent_in_path = \"path_to_input\"\n", + "parent_out_path = \"path_to_output\"\n", + "os.makedirs(parent_out_path, exist_ok=True)\n", + "\n", + "\n", + "data_paths = {\"era5land\": f\"{parent_in_path}/EU/era5land_{start_time}_{end_time}_EU.zarr\",\n", + " \"lai\": f\"{parent_in_path}/EU/lai_{start_time}_{end_time}_EU.zarr\",\n", + " \"ssm\": f\"{parent_in_path}/EU/ssm_{start_time}_{end_time}_EU.zarr\",\n", + " \"co2\": f\"{parent_in_path}/EU/co2_{start_time}_{end_time}_EU.zarr\",\n", + " \"landcover\": f\"{parent_in_path}/EU/landcover_{start_time}_{end_time}_EU.zarr\",\n", + " \"vcmax\": f\"{parent_in_path}/EU/vcmax_{start_time}_{end_time}_EU.zarr\",\n", + " \"canopyheight\": f\"{parent_in_path}/EU/canopyheight_{start_time}_{end_time}_EU.zarr\",\n", + " \"all_data\": f\"{parent_in_path}/EU/all_data_{start_time}_{end_time}_EU.zarr\",\n", + " \"igbp_table\": f\"{parent_in_path}/auxiliary/lccs_to_igbp_table.csv\",\n", + " \"igbp_class\": f\"{parent_in_path}/auxiliary/IGBP11unique.csv\",\n", + " }\n", + "\n", + "variable_names = {\"lai\": \"LAI\",\n", + " \"ssm\": \"band_data\",\n", + " \"co2\": \"co2\",\n", + " \"canopyheight\": \"__xarray_dataarray_variable__\",\n", + " \"vcmax\": \"__xarray_dataarray_variable__\",\n", + " \"landcover\": \"lccs_class\"} \n", + "\n", + "chunks_val = 500 # set as needed\n", + "\n", + "# interpolation\n", + "era5land = xr.open_zarr(data_paths[\"era5land\"])\n", + "other_coords = {\"time\": era5land.time, \"longitude\": era5land.longitude, \"latitude\": era5land.latitude}\n", + "\n", + "chunks = {\"time\": -1, \"longitude\": chunks_val, \"latitude\": chunks_val}\n", + "for name in variable_names:\n", + " ds = xr.open_zarr(data_paths[name]).chunk(chunks)\n", + " ds_interpolated = interpolation(ds, other_coords) \n", + " era5land[name] = ds_interpolated[variable_names[name]]\n", + "\n", + "era5land = era5land.chunk(chunks)" + ] + }, + { + "cell_type": "markdown", + "id": "de3e4312-ba95-4604-b78c-a739621a27ff", + "metadata": {}, + "source": [ + "## add dask client if needed" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3eb939e7-1abd-486e-b5db-131cc55bd1aa", + "metadata": {}, + "outputs": [], + "source": [ + "# save to zarr\n", + "out_path = f\"{parent_out_path}/all_data_{start_time}_{end_time}_EU.zarr\"\n", + "encoding = {var: {'chunks': (era5land.sizes[\"time\"], chunks_val, chunks_val)} for var in era5land.data_vars}\n", + "era5land.to_zarr(out_path, mode='w', encoding=encoding)\n", + "print(f\"{out_path} is saved\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9fdab950-65de-4f40-a0fb-42ed3f219a7d", + "metadata": {}, + "outputs": [], + "source": [ + "# variable derivation\n", + "chunks_val = 500 # set as needed\n", + "\n", + "# read data\n", + "chunks = {\"time\": chunks_val, \"longitude\": chunks_val, \"latitude\": chunks_val}\n", + "all_data = xr.open_zarr(data_paths[\"all_data\"])\n", + "all_data = all_data.chunk(chunks)\n", + "\n", + "# variable calculations\n", + "all_data = era5land_accumulated_vars(all_data, \"ssrd\", \"Rin\", 3600)\n", + "all_data = era5land_accumulated_vars(all_data, \"strd\", \"Rli\", 3600)\n", + "all_data = era5land_accumulated_vars(all_data, \"tp\", \"Precip_msr\", 0.001) # to mm\n", + "all_data[\"p\"] = all_data[\"sp\"] / 100 # Pa -> hPa\n", + "all_data[\"Ta\"] = all_data[\"t2m\"] - 273.15 # K -> degC\n", + "all_data[\"ea\"] = vc.calculate_es(all_data[\"d2m\"] - 273.15)*10 # *10 is for kPa -> hPa\n", + "all_data[\"u\"] = (all_data[\"u10\"] ** 2 + all_data[\"v10\"] ** 2) ** 0.5\n", + "all_data[\"ssm\"] = all_data[\"ssm\"] / 1000\n", + "\n", + "# convert landcover to IGBP\n", + "# lookup tables\n", + "igbp_table = pd.read_csv(data_paths[\"igbp_table\"])\n", + "igbp_class = pd.read_csv(data_paths[\"igbp_class\"])['0'].unique()\n", + "\n", + "# define one hot encoding for IGBP using dask-ml functions\n", + "encoder = OneHotEncoder(sparse_output=False)\n", + "\n", + "# Unsorted categories are not yet supported by dask-ml\n", + "igbp_stemmus_scope = np.sort(igbp_table[\"IGBP_STEMMUS_SCOPE\"].to_numpy().reshape(-1,1))\n", + "encoder = encoder.fit(igbp_stemmus_scope) \n", + "lookup_table = igbp_table.set_index(\"lccs_class\").T.to_dict('records')[0]\n", + "\n", + "ds = landcover_to_igbp(all_data, \"landcover\", encoder, lookup_table, igbp_class)\n", + "ds = ds.chunk(chunks)\n", + "\n", + "# rename some variables\n", + "rename_vars = {\"co2\": \"CO2\", \"lai\": \"LAI\", \"canopyheight\": \"hc\", \"ssm\": \"SSM\", \"vcmax\": \"Vcmo\"}\n", + "ds = ds.rename(rename_vars)" + ] + }, + { + "cell_type": "markdown", + "id": "e578f585-62a3-4ac4-823c-c25d32c9e325", + "metadata": { + "tags": [] + }, + "source": [ + "## add dask client if needed" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ed78ce2-7172-46ba-9945-24bfa8dbb2f4", + "metadata": {}, + "outputs": [], + "source": [ + "# save to zarr\n", + "out_path = f\"{parent_out_path}/model_input_{start_time}_{end_time}_EU.zarr\"\n", + "encoding = {var: {'chunks': (chunks_val, chunks_val, chunks_val)} for var in ds.data_vars}\n", + "ds.to_zarr(out_path, mode='w', encoding=encoding)\n", + "print(f\"{out_path} is saved\")" + ] + }, + { + "cell_type": "markdown", + "id": "25aa8223-1b6f-40cd-b916-e73706929378", + "metadata": { + "jupyter": { + "outputs_hidden": true + }, + "tags": [] + }, + "source": [ + "## Model prediction\n", + "\n", + "### Introducing `xr.map_blocks`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eecec875-bfb3-4872-b5d3-b1cafda150a0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "\n", + "import xarray as xr\n", + "import numpy as np\n", + "import dask.array as da\n", + "\n", + "from joblib import load" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f14cc0c-04bd-47fc-b39d-f0c516744132", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('.')\n", + "from utils import arr_to_ds" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8afcb372-7fca-43b9-b22a-2ed3e96b353e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "start_time = \"2014-1-31\"\n", + "end_time = \"2014-02-10\"\n", + "\n", + "parent_in_path = \"path_to_input\"\n", + "parent_out_path = \"path_to_output\"\n", + "os.makedirs(parent_out_path, exist_ok=True)\n", + "\n", + "chunks_val = 500 # set as needed\n", + "chunks = {\"time\": chunks_val, \"longitude\": chunks_val, \"latitude\": chunks_val}\n", + "\n", + "model_input_file = f\"{parent_in_path}/model_input_{start_time}_{end_time}.zarr\"\n", + "model_input = xr.open_zarr(model_input_file)\n", + "model_input = model_input.chunk(chunks)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e4ce392f-fba4-42eb-8dd6-2a0376a2516a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# load model\n", + "path_model = f\"{parent_in_path}/model/model_multi.joblib\"\n", + "with open(path_model, 'rb') as f:\n", + " model = load(f)\n", + "model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "119b7f65-669e-441a-a67f-eb9619cd584c", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "input_vars = [\n", + " 'Rin', 'Rli', 'p', 'Ta', 'ea', 'u', 'CO2', 'LAI', 'Vcmo','hc', 'Precip_msr', \n", + " 'SSM', *[f'IGBP_veg_long{i}' for i in range(1, 12)]\n", + "]\n", + "\n", + "# select input/output data \n", + "input_ds = model_input[input_vars]\n", + "output_vars = ['LEtot','Htot','Rntot','Gtot', 'Actot','SIF685', 'SIF740']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cb2e44b-2cc0-4bda-91d9-49485f93ba76", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "def predictFlux(input_ds, model, output_vars):\n", + "\n", + " df_features = input_ds.to_dataframe().reset_index().drop(columns=[\"time\", \"longitude\", \"latitude\"])\n", + " \n", + " # Convert the nan value as 0 for the calculation\n", + " df_features = df_features.fillna(0)\n", + " \n", + " LEH = model.predict(df_features)\n", + " \n", + " output_ds = arr_to_ds(LEH, input_ds, output_vars)\n", + " return output_ds" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "52a94668-016c-4a68-8b92-bc3c53739e0f", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# define output template\n", + "output_temp = xr.Dataset()\n", + "ds_shape = (input_ds.sizes['time'], input_ds.sizes['latitude'], input_ds.sizes['longitude'])\n", + "\n", + "for var in output_vars:\n", + " output_temp[var] = xr.DataArray(\n", + " name = var,\n", + " data=da.zeros(ds_shape),\n", + " dims=input_ds.dims,\n", + " coords=input_ds.coords,\n", + " )\n", + "output_temp = output_temp.chunk(chunks) # the same chunk as input" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0465a61-f59e-453f-8ccc-613e2a10e510", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# result\n", + "output_ds = xr.map_blocks(\n", + " predictFlux,\n", + " input_ds,\n", + " kwargs={\n", + " \"model\": model, \n", + " \"output_vars\": output_vars, \n", + " },\n", + " template=output_temp,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5e0171a4-b9c0-4c6e-bc08-fa3f4a5ad0fc", + "metadata": { + "tags": [] + }, + "source": [ + "## add dask client here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "498ad5b9-ca0b-4ce0-9445-18278ec010dd", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# save data\n", + "out_path = f\"{parent_out_path}/predicted_{start_time}_{end_time}_EU.zarr\"\n", + "output_ds.to_zarr(out_path, mode='w')\n", + "print(f\"{out_path} is saved\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1e5587fa-5e8a-4178-8eab-0823cf7ad412", + "metadata": {}, + "outputs": [], + "source": [ + "output_ds = xr.open_zarr(out_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e961e5db-83f0-4e32-9be0-3bedb39cfe4b", + "metadata": {}, + "outputs": [], + "source": [ + "output_ds.LEtot.isel(time=2).plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aeaa3589-3493-4cd9-aca0-a6c37ff27dd6", + "metadata": {}, + "outputs": [], + "source": [ + "output_ds.LEtot.sel(latitude=(52.36),longitude=(4.90), method='nearest').plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c0e2ec0d-7146-492d-ac68-8db6882dd27b", + "metadata": {}, + "outputs": [], + "source": [ + "output_ds.Rntot.isel(time=2).plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "276888d9-145f-4b92-8481-120e40f813f4", + "metadata": {}, + "outputs": [], + "source": [ + "output_ds.Htot.isel(time=2).plot()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Examples/utils.py b/Examples/utils.py new file mode 100644 index 0000000..87204b7 --- /dev/null +++ b/Examples/utils.py @@ -0,0 +1,153 @@ +"""Util functions """ + +import numpy as np +import xarray as xr +import pandas as pd +import dask +import dask.array as da +from datetime import datetime, timedelta + +def era5_preprocess(ds): + # Convert the longitude coordinates from [0, 360] to [-180, 180] + ds = ds.assign_coords(longitude=(((ds.longitude + 180) % 360) - 180)) + return ds + + +def co2_preprocess(ds, start_time, end_time): + ds = ds.sel(time=slice(start_time, end_time)) + return ds + + +def fix_coords(ds): + if 'band' in ds.dims: + ds = ds.rename_dims({'band': 'time'}) + ds = ds.rename_vars({'band': 'time'}) + + if 'x' in ds.dims and 'y' in ds.dims: + ds = ds.rename_dims({'x': 'longitude', 'y': 'latitude'}) + ds = ds.rename_vars({'x': 'longitude', 'y': 'latitude'}) + + elif 'lon' in ds.dims and 'lat' in ds.dims: + ds = ds.rename_dims({'lon': 'longitude', 'lat': 'latitude'}) + ds = ds.rename_vars({'lon': 'longitude', 'lat': 'latitude'}) + return ds + + +def fix_time(ds, start_time): + year = datetime.strptime(start_time, "%Y-%m-%d").year + # convert day of year + if ds.time.size == 1: + ds['time'] = [datetime.strptime(start_time, "%Y-%m-%d")] + elif ds.time.dtype == 'int64': + # Convert day of year to datetime + ds['time'] = [datetime(year, 1, 1) + timedelta(int(day) - 1) for day in ds.time.values] + return ds + + +def remove_encoding(ds): + for var in ds.variables: + ds[var].encoding = {} + return ds + + +def interpolation(ds, other): + # in time + ds_interpolated = ds.interp(coords={"time": other["time"]}, method='nearest', kwargs={"fill_value": "extrapolate"}) + + # in space + ds_interpolated = ds_interpolated.interp(coords={"longitude": other["longitude"], "latitude": other["latitude"]}, method='linear') + + return ds_interpolated + + +def era5land_accumulated_vars(ds, input_name, output_name, scale_factor): + input_da = ds[input_name] / scale_factor + output_da = input_da.diff("time") + output_da[0::24] = input_da[1::24] # accumulation starts at t01 instead of t00 + + t00 = xr.DataArray(np.nan, coords=input_da.isel(time=0).coords) # assign first t00 to none + output_da = xr.concat([output_da, t00], dim='time') + ds[output_name] = output_da + + return ds + +def map_landcover_to_igbp(landcover_block, lookup_table): + # Create a new DataArray with "no data" to hold the mapped values + mapped_block = da.full_like(landcover_block, fill_value="No data", dtype="U7") + + # For each key-value pair in the lookup table + for key, value in lookup_table.items(): + # Where the landcover_block equals the current key, assign the corresponding value + mapped_block = da.where(landcover_block == key, value, mapped_block) + + return mapped_block + + +def landcover_to_igbp(ds, landcover_var_name, encoder, lookup_table, igbp_class): + landcover = ds[landcover_var_name] + + # Replace NaN values with "No data" or 255 in the table + landcover = da.where(da.isnan(landcover), 255, landcover) + + igbp = map_landcover_to_igbp(landcover, lookup_table) + igbp_reshaped = igbp.reshape(-1, 1) + + transformed = encoder.transform(igbp_reshaped) + + # Select the columns that correspond to the categories in igbp_class + indices = [np.where(encoder.categories_[0] == category)[0][0] for category in igbp_class] + transformed = transformed[:, indices] + + # Add each column of the transformed array as a new variable in the dataset + for i in range(transformed.shape[1]): + ds[f"IGBP_veg_long{i+1}"] = (("time", "latitude", "longitude"), transformed[:, i].reshape(igbp.shape)) + + return ds + + +def training_testing_preprocess(df): + #filter the outliers + df = df[(df['LEtot'] < 750) & (df['LEtot'] > -10)] + df = df[(df['Htot'] < 750) & (df['Htot'] > -500)] + df = df[df['Actot']>-10] + + # remove nan + df = df.dropna() + return df + + +def igbp_to_landcover(df, encoder, igbp_class): + + # Unsorted categories are not yet supported by dask-ml + igbp_stemmus_scope = np.sort(igbp_class.reshape(-1,1)) + encoder = encoder.fit(igbp_stemmus_scope) + + if isinstance(df, pd.DataFrame): + igbp = df['IGBP_veg_long'].to_numpy().reshape(-1, 1) + elif isinstance(df, dask.dataframe.DataFrame): + igbp = df['IGBP_veg_long'].to_dask_array(lengths=True).reshape(-1, 1) + + transformed = encoder.transform(igbp) + + for i in range(transformed.shape[1]): + df[f"IGBP_veg_long{i+1}"] = transformed[:, i] + + df = df.drop('IGBP_veg_long', axis=1) + return df + + +def arr_to_ds(arr, input_ds, output_vars): + + output_ds = xr.Dataset(coords=input_ds.coords) + ds_shape = (output_ds.sizes['time'], output_ds.sizes['latitude'], output_ds.sizes['longitude']) + + for i, name in enumerate(output_vars): + if arr.ndim == 1: + output_ds[name] = (("time", "latitude", "longitude"), arr.reshape(ds_shape)) + else: + output_ds[name] = (("time", "latitude", "longitude"), arr[:, i].reshape(ds_shape)) + + # mask nan values + # TODO: mask based on all data + ds_masked = output_ds.where(input_ds["Rin"].notnull()) + return ds_masked \ No newline at end of file