{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example of treatments available\n", "\n", "This notebook shows how to use some extra features for your gridmarthe treatments\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# import modules\n", "import numpy as np\n", "import gridmarthe as gm\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 3MB\n",
       "Dimensions:  (time: 1, zone: 101209)\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 8B 1850-01-01\n",
       "  * zone     (zone) int32 405kB 47402 47403 47763 ... 2381150 2381151 2381457\n",
       "Data variables:\n",
       "    permeab  (time, zone) float64 810kB 1e-05 1e-05 1e-05 ... 0.0001 0.0001\n",
       "    x        (zone) float32 405kB 6.372e+05 6.378e+05 ... 6.382e+05 6.38e+05\n",
       "    y        (zone) float32 405kB 2.617e+06 2.617e+06 ... 2.592e+06 2.592e+06\n",
       "    dx       (zone) float32 405kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n",
       "    dy       (zone) float32 405kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n",
       "    z        (zone) int32 405kB 1 1 1 1 1 1 1 1 1 1 1 ... 9 9 9 9 9 9 9 9 9 9 9\n",
       "Attributes: (12/17)\n",
       "    conventions:          CF-1.10\n",
       "    title:                \n",
       "    marthe_grid_version:  9.0\n",
       "    original_dimensions:  x,y,z [grids]: 387 304 10; 307 442 10\n",
       "    lon_resolution:       100.0, 500.0\n",
       "    lat_resolution:       100.0, 500.0\n",
       "    ...                   ...\n",
       "    creation_date:        Created on 2025-03-26T13:40:44Z UTC\n",
       "    institution:          BRGM, French Geological Survey, Orléans, France\n",
       "    comment:              Hydrogeological model created with MARTHE code (Thi...\n",
       "    resolution_units:     m\n",
       "    projection:           epsg:27572\n",
       "    domain:               FR-France
" ], "text/plain": [ " Size: 3MB\n", "Dimensions: (time: 1, zone: 101209)\n", "Coordinates:\n", " * time (time) datetime64[ns] 8B 1850-01-01\n", " * zone (zone) int32 405kB 47402 47403 47763 ... 2381150 2381151 2381457\n", "Data variables:\n", " permeab (time, zone) float64 810kB 1e-05 1e-05 1e-05 ... 0.0001 0.0001\n", " x (zone) float32 405kB 6.372e+05 6.378e+05 ... 6.382e+05 6.38e+05\n", " y (zone) float32 405kB 2.617e+06 2.617e+06 ... 2.592e+06 2.592e+06\n", " dx (zone) float32 405kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n", " dy (zone) float32 405kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n", " z (zone) int32 405kB 1 1 1 1 1 1 1 1 1 1 1 ... 9 9 9 9 9 9 9 9 9 9 9\n", "Attributes: (12/17)\n", " conventions: CF-1.10\n", " title: \n", " marthe_grid_version: 9.0\n", " original_dimensions: x,y,z [grids]: 387 304 10; 307 442 10\n", " lon_resolution: 100.0, 500.0\n", " lat_resolution: 100.0, 500.0\n", " ... ...\n", " creation_date: Created on 2025-03-26T13:40:44Z UTC\n", " institution: BRGM, French Geological Survey, Orléans, France\n", " comment: Hydrogeological model created with MARTHE code (Thi...\n", " resolution_units: m\n", " projection: epsg:27572\n", " domain: FR-France" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid = gm.load_marthe_grid('./data/craie_npc.permh', drop_nan=True) # NaN needs to be drop or set (change 0 to nan for permh for example)\n", "grid" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get surface mask" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 841kB\n",
       "Dimensions:  (zone: 21025)\n",
       "Coordinates:\n",
       "  * zone     (zone) int32 84kB 178171 177784 647989 ... 1389346 1660427 1660120\n",
       "Data variables:\n",
       "    time     (zone) datetime64[ns] 168kB 1850-01-01 1850-01-01 ... 1850-01-01\n",
       "    permeab  (zone) float64 168kB 1e-06 1e-06 0.003068 ... 1e-06 2e-05 2e-05\n",
       "    x        (zone) float32 84kB 6.188e+05 6.188e+05 ... 6.494e+05 6.494e+05\n",
       "    y        (zone) float32 84kB 2.6e+06 2.6e+06 ... 2.606e+06 2.606e+06\n",
       "    dx       (zone) float32 84kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n",
       "    dy       (zone) float32 84kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n",
       "    z        (zone) int32 84kB 2 2 6 6 8 8 8 8 5 2 6 6 ... 2 2 2 2 2 2 2 2 2 4 4
" ], "text/plain": [ " Size: 841kB\n", "Dimensions: (zone: 21025)\n", "Coordinates:\n", " * zone (zone) int32 84kB 178171 177784 647989 ... 1389346 1660427 1660120\n", "Data variables:\n", " time (zone) datetime64[ns] 168kB 1850-01-01 1850-01-01 ... 1850-01-01\n", " permeab (zone) float64 168kB 1e-06 1e-06 0.003068 ... 1e-06 2e-05 2e-05\n", " x (zone) float32 84kB 6.188e+05 6.188e+05 ... 6.494e+05 6.494e+05\n", " y (zone) float32 84kB 2.6e+06 2.6e+06 ... 2.606e+06 2.606e+06\n", " dx (zone) float32 84kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n", " dy (zone) float32 84kB 500.0 500.0 500.0 500.0 ... 100.0 100.0 100.0\n", " z (zone) int32 84kB 2 2 6 6 8 8 8 8 5 2 6 6 ... 2 2 2 2 2 2 2 2 2 4 4" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "surf = gm.get_surface_layer(grid)\n", "surf" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# xarray version\n", "toto = gm.assign_coords(surf, add_lay=False) # add lay false because it needs to be a variable to plot, not a dimension\n", "gm.plot_outcrop(toto)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function also allow user to get the value of a variable in the surface layer,\n", "or a subset of aquifer layers.\n", "\n", "For example, to get the value of your variable (groundwater head for example) in\n", "the first layer encountered between 3 layers:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head_surf = gm.get_surface_layer(grid, aquif_layers=[6,8,9]) # get the values in the first layer between layers 6, 8 and 9" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Get mask of active domain" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/manlaya/envs/gm/lib/python3.11/site-packages/gridmarthe/operasem/gis.py:58: FutureWarning: The return type of `Dataset.dims` will be changed to return a set of dimension names in future, in order to be more consistent with `DataArray.dims`. To access a mapping from dimension names to lengths, please use `Dataset.sizes`.\n", " if 'time' in ds.dims.keys():\n" ] } ], "source": [ "mask = gm.get_active_mask(grid) # return a geopandas geodataframe" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mask.boundary.plot(color='k')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compute depths and thickness\n", "\n", "Users can get geometry attributes (depth, thickness, upper/lower altitudes) in a dataset:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'gm' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m topo \u001b[38;5;241m=\u001b[39m \u001b[43mgm\u001b[49m\u001b[38;5;241m.\u001b[39mload_marthe_grid(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m./data/example.topog\u001b[39m\u001b[38;5;124m'\u001b[39m, drop_nan\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, nanval\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m9999.\u001b[39m)\n\u001b[1;32m 2\u001b[0m hsubs \u001b[38;5;241m=\u001b[39m gm\u001b[38;5;241m.\u001b[39mload_marthe_grid(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m./data/example.hsubs\u001b[39m\u001b[38;5;124m'\u001b[39m, drop_nan\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, nanval\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m9999\u001b[39m)\n\u001b[1;32m 3\u001b[0m geom \u001b[38;5;241m=\u001b[39m gm\u001b[38;5;241m.\u001b[39mcompute_geometry(topo, hsubs)\n", "\u001b[0;31mNameError\u001b[0m: name 'gm' is not defined" ] } ], "source": [ "topo = gm.load_marthe_grid('./data/example.topog') # be careful with nan here, topography can be set outside of active area\n", "hsubs = gm.load_marthe_grid('./data/example.hsubs') # same here, hsubs can be set outside of active area\n", "geom = gm.compute_geometry(topo, hsubs)\n", "# print(geom.where(~geom['depth'].isnull(), drop=True))\n", "geom\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpolation, regridding, transformations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regrid (coarse/refine resolution)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Tutorial in construction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Projection transformation\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "gm", "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.11.2" } }, "nbformat": 4, "nbformat_minor": 2 }