Skip to content

Instantly share code, notes, and snippets.

@lucadealfaro
Created August 9, 2024 20:36
Show Gist options
  • Save lucadealfaro/a2fb4d8118182711279cf060b773c494 to your computer and use it in GitHub Desktop.
Save lucadealfaro/a2fb4d8118182711279cf060b773c494 to your computer and use it in GitHub Desktop.
Connectivity-US-Conform.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/lucadealfaro/a2fb4d8118182711279cf060b773c494/connectivity-us-conform.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jKD2GiS3sDEM"
},
"source": [
"# Connectivity computation"
]
},
{
"cell_type": "markdown",
"source": [
"We recommend running this on Google Colab, but if you wish, you can also run it locally (provided you have a GPU)."
],
"metadata": {
"id": "aClasQVbdq9J"
}
},
{
"cell_type": "code",
"source": [
"IS_LOCAL = False"
],
"metadata": {
"id": "AhnR6Ya_dyUK"
},
"execution_count": 1,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"Modify the `DATA_PATH` below to point to the Drive folder or disk folder where you have uploaded the US-Conform dataset. "
],
"metadata": {
"id": "nASO4nULdU9H"
}
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"id": "f9bjsCKHSc-t"
},
"outputs": [],
"source": [
"DATA_PATH = \"/content/gdrive/Shareddrives/Birds and CS/Data/US-Conform\""
]
},
{
"cell_type": "markdown",
"source": [
"Let's log the GPU info."
],
"metadata": {
"id": "H9UQBWC8eUcZ"
}
},
{
"cell_type": "code",
"source": [
"if not IS_LOCAL:\n",
" !nvidia-smi"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "2o6IZG7teYiU",
"outputId": "8e230b0e-9950-4c35-9140-d26fb974769b"
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Fri Aug 9 19:21:32 2024 \n",
"+---------------------------------------------------------------------------------------+\n",
"| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |\n",
"|-----------------------------------------+----------------------+----------------------+\n",
"| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n",
"| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n",
"| | | MIG M. |\n",
"|=========================================+======================+======================|\n",
"| 0 NVIDIA A100-SXM4-40GB Off | 00000000:00:04.0 Off | 0 |\n",
"| N/A 32C P0 44W / 400W | 2MiB / 40960MiB | 0% Default |\n",
"| | | Disabled |\n",
"+-----------------------------------------+----------------------+----------------------+\n",
" \n",
"+---------------------------------------------------------------------------------------+\n",
"| Processes: |\n",
"| GPU GI CI PID Type Process name GPU Memory |\n",
"| ID ID Usage |\n",
"|=======================================================================================|\n",
"| No running processes found |\n",
"+---------------------------------------------------------------------------------------+\n"
]
}
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"id": "J3Koec3ddKiB"
},
"outputs": [],
"source": [
"import os\n",
"import sys\n",
"import time"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "TZByjvfguoa0",
"outputId": "c70549c1-4339-4534-dcb2-ba3c5f82ce73"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Collecting git+https://github.com/ecoscape-earth/scgt.git@v3\n",
" Cloning https://github.com/ecoscape-earth/scgt.git (to revision v3) to /tmp/pip-req-build-3thimdb2\n",
" Running command git clone --filter=blob:none --quiet https://github.com/ecoscape-earth/scgt.git /tmp/pip-req-build-3thimdb2\n",
" Running command git checkout -b v3 --track origin/v3\n",
" Switched to a new branch 'v3'\n",
" Branch 'v3' set up to track remote branch 'v3' from 'origin'.\n",
" Resolved https://github.com/ecoscape-earth/scgt.git to commit be60be5568c91034bdaf981b205781a6b7c8e5ff\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: GDAL>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from scgt==0.0.20) (3.6.4)\n",
"Requirement already satisfied: matplotlib>=3.5.3 in /usr/local/lib/python3.10/dist-packages (from scgt==0.0.20) (3.7.1)\n",
"Requirement already satisfied: numpy>=1.20.3 in /usr/local/lib/python3.10/dist-packages (from scgt==0.0.20) (1.26.4)\n",
"Collecting rasterio>=1.2.10 (from scgt==0.0.20)\n",
" Downloading rasterio-1.3.10-cp310-cp310-manylinux2014_x86_64.whl.metadata (14 kB)\n",
"Requirement already satisfied: scipy>=1.7.3 in /usr/local/lib/python3.10/dist-packages (from scgt==0.0.20) (1.13.1)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (1.2.1)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (4.53.1)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (1.4.5)\n",
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (24.1)\n",
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (9.4.0)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (3.1.2)\n",
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt==0.0.20) (2.8.2)\n",
"Collecting affine (from rasterio>=1.2.10->scgt==0.0.20)\n",
" Downloading affine-2.4.0-py3-none-any.whl.metadata (4.0 kB)\n",
"Requirement already satisfied: attrs in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (24.2.0)\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (2024.7.4)\n",
"Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (8.1.7)\n",
"Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (0.7.2)\n",
"Collecting snuggs>=1.4.1 (from rasterio>=1.2.10->scgt==0.0.20)\n",
" Downloading snuggs-1.4.7-py3-none-any.whl.metadata (3.4 kB)\n",
"Requirement already satisfied: click-plugins in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (1.1.1)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt==0.0.20) (71.0.4)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.5.3->scgt==0.0.20) (1.16.0)\n",
"Downloading rasterio-1.3.10-cp310-cp310-manylinux2014_x86_64.whl (21.5 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.5/21.5 MB\u001b[0m \u001b[31m93.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hDownloading snuggs-1.4.7-py3-none-any.whl (5.4 kB)\n",
"Downloading affine-2.4.0-py3-none-any.whl (15 kB)\n",
"Building wheels for collected packages: scgt\n",
" Building wheel for scgt (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for scgt: filename=scgt-0.0.20-py3-none-any.whl size=12615 sha256=e39623708cbae7d0f63f98162031b00200ee97211daaa5278d2b336a198881a6\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-z2xbrbfq/wheels/1a/30/78/bf43130e67c955bafcbd380933c28d1ac1ba60358d5bdcfaba\n",
"Successfully built scgt\n",
"Installing collected packages: snuggs, affine, rasterio, scgt\n",
"Successfully installed affine-2.4.0 rasterio-1.3.10 scgt-0.0.20 snuggs-1.4.7\n",
"Collecting git+https://github.com/ecoscape-earth/ecoscape-connectivity.git@v3\n",
" Cloning https://github.com/ecoscape-earth/ecoscape-connectivity.git (to revision v3) to /tmp/pip-req-build-ahdcj5gw\n",
" Running command git clone --filter=blob:none --quiet https://github.com/ecoscape-earth/ecoscape-connectivity.git /tmp/pip-req-build-ahdcj5gw\n",
" Running command git checkout -b v3 --track origin/v3\n",
" Switched to a new branch 'v3'\n",
" Branch 'v3' set up to track remote branch 'v3' from 'origin'.\n",
" Resolved https://github.com/ecoscape-earth/ecoscape-connectivity.git to commit d2e3f2397b49cc086514192d6cfecfddf794ccb8\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: numpy>=1.20.3 in /usr/local/lib/python3.10/dist-packages (from ecoscape-connectivity==0.1.0) (1.26.4)\n",
"Requirement already satisfied: scgt>=0.0.12 in /usr/local/lib/python3.10/dist-packages (from ecoscape-connectivity==0.1.0) (0.0.20)\n",
"Requirement already satisfied: torch>=1.10.2 in /usr/local/lib/python3.10/dist-packages (from ecoscape-connectivity==0.1.0) (2.3.1+cu121)\n",
"Requirement already satisfied: GDAL>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.12->ecoscape-connectivity==0.1.0) (3.6.4)\n",
"Requirement already satisfied: matplotlib>=3.5.3 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.12->ecoscape-connectivity==0.1.0) (3.7.1)\n",
"Requirement already satisfied: rasterio>=1.2.10 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.3.10)\n",
"Requirement already satisfied: scipy>=1.7.3 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.13.1)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (3.15.4)\n",
"Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (4.12.2)\n",
"Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (1.13.1)\n",
"Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (3.3)\n",
"Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (3.1.4)\n",
"Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (2024.6.1)\n",
"Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cudnn-cu12==8.9.2.26 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cublas-cu12==12.1.3.1 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cufft-cu12==11.0.2.54 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-curand-cu12==10.3.2.106 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n",
"Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n",
"Collecting nvidia-nccl-cu12==2.20.5 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n",
"Collecting nvidia-nvtx-cu12==12.1.105 (from torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n",
"Requirement already satisfied: triton==2.3.1 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10.2->ecoscape-connectivity==0.1.0) (2.3.1)\n",
"Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.10.2->ecoscape-connectivity==0.1.0)\n",
" Using cached nvidia_nvjitlink_cu12-12.6.20-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.2.1)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (4.53.1)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.4.5)\n",
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (24.1)\n",
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (9.4.0)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (3.1.2)\n",
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (2.8.2)\n",
"Requirement already satisfied: affine in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (2.4.0)\n",
"Requirement already satisfied: attrs in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (24.2.0)\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (2024.7.4)\n",
"Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (8.1.7)\n",
"Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (0.7.2)\n",
"Requirement already satisfied: snuggs>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.4.7)\n",
"Requirement already satisfied: click-plugins in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.1.1)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (71.0.4)\n",
"Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10.2->ecoscape-connectivity==0.1.0) (2.1.5)\n",
"Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10.2->ecoscape-connectivity==0.1.0) (1.3.0)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib>=3.5.3->scgt>=0.0.12->ecoscape-connectivity==0.1.0) (1.16.0)\n",
"Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n",
"Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n",
"Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n",
"Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n",
"Using cached nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl (731.7 MB)\n",
"Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n",
"Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n",
"Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n",
"Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n",
"Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n",
"Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n",
"Using cached nvidia_nvjitlink_cu12-12.6.20-py3-none-manylinux2014_x86_64.whl (19.7 MB)\n",
"Building wheels for collected packages: ecoscape-connectivity\n",
" Building wheel for ecoscape-connectivity (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for ecoscape-connectivity: filename=ecoscape_connectivity-0.1.0-py3-none-any.whl size=16653 sha256=24fd861083121f1f7cd99809e9430f4ea87deda66757ed1185fb821b0e336839\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-exo_n1_6/wheels/9b/fc/70/113a7541447bff452ec09c5225598c2d5e729e7ca97d920a8c\n",
"Successfully built ecoscape-connectivity\n",
"Installing collected packages: nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, nvidia-cusparse-cu12, nvidia-cudnn-cu12, nvidia-cusolver-cu12, ecoscape-connectivity\n",
"Successfully installed ecoscape-connectivity-0.1.0 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.6.20 nvidia-nvtx-cu12-12.1.105\n",
"Collecting git+https://github.com/ecoscape-earth/ecoscape-utils.git@v3\n",
" Cloning https://github.com/ecoscape-earth/ecoscape-utils.git (to revision v3) to /tmp/pip-req-build-pa0r0ze7\n",
" Running command git clone --filter=blob:none --quiet https://github.com/ecoscape-earth/ecoscape-utils.git /tmp/pip-req-build-pa0r0ze7\n",
" Running command git checkout -b v3 --track origin/v3\n",
" Switched to a new branch 'v3'\n",
" Branch 'v3' set up to track remote branch 'v3' from 'origin'.\n",
" Resolved https://github.com/ecoscape-earth/ecoscape-utils.git to commit dd0d95a5014ef2551a00082ea1206e3c5b896066\n",
" Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
" Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
" Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: pandas>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ecoscape-utilities==0.0.31) (2.1.4)\n",
"Requirement already satisfied: scgt>=0.0.20 in /usr/local/lib/python3.10/dist-packages (from ecoscape-utilities==0.0.31) (0.0.20)\n",
"Requirement already satisfied: pyproj>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from ecoscape-utilities==0.0.31) (3.6.1)\n",
"Requirement already satisfied: numpy>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ecoscape-utilities==0.0.31) (1.26.4)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.0.0->ecoscape-utilities==0.0.31) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.0.0->ecoscape-utilities==0.0.31) (2024.1)\n",
"Requirement already satisfied: tzdata>=2022.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.0.0->ecoscape-utilities==0.0.31) (2024.1)\n",
"Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from pyproj>=3.0.0->ecoscape-utilities==0.0.31) (2024.7.4)\n",
"Requirement already satisfied: GDAL>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.20->ecoscape-utilities==0.0.31) (3.6.4)\n",
"Requirement already satisfied: matplotlib>=3.5.3 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.20->ecoscape-utilities==0.0.31) (3.7.1)\n",
"Requirement already satisfied: rasterio>=1.2.10 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.3.10)\n",
"Requirement already satisfied: scipy>=1.7.3 in /usr/local/lib/python3.10/dist-packages (from scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.13.1)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.2.1)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (0.12.1)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (4.53.1)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.4.5)\n",
"Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (24.1)\n",
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (9.4.0)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=3.5.3->scgt>=0.0.20->ecoscape-utilities==0.0.31) (3.1.2)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.2->pandas>=1.0.0->ecoscape-utilities==0.0.31) (1.16.0)\n",
"Requirement already satisfied: affine in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (2.4.0)\n",
"Requirement already satisfied: attrs in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (24.2.0)\n",
"Requirement already satisfied: click>=4.0 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (8.1.7)\n",
"Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (0.7.2)\n",
"Requirement already satisfied: snuggs>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.4.7)\n",
"Requirement already satisfied: click-plugins in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (1.1.1)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from rasterio>=1.2.10->scgt>=0.0.20->ecoscape-utilities==0.0.31) (71.0.4)\n",
"Building wheels for collected packages: ecoscape-utilities\n",
" Building wheel for ecoscape-utilities (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for ecoscape-utilities: filename=ecoscape_utilities-0.0.31-py3-none-any.whl size=10255 sha256=8d9cdba993588b68593f1f166378c327c9cecabda19a7a76c110e1f326789956\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-iavo8wk1/wheels/07/4d/70/d10366f0d658290b68d9eb7fbedc00578c6db6e335a6dd9c2a\n",
"Successfully built ecoscape-utilities\n",
"Installing collected packages: ecoscape-utilities\n",
"Successfully installed ecoscape-utilities-0.0.31\n"
]
}
],
"source": [
"# Installs required packages\n",
"!pip install git+https://github.com/ecoscape-earth/scgt.git@v3\n",
"!pip install git+https://github.com/ecoscape-earth/ecoscape-connectivity.git@v3\n",
"!pip install git+https://github.com/ecoscape-earth/ecoscape-utils.git@v3\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "iTaFpgvkS1S-",
"outputId": "b1f60d05-18e7-49f0-bbf2-9b203a0de1fc"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Mounted at /content/gdrive\n"
]
}
],
"source": [
"# Connecting to Drive.\n",
"if not IS_LOCAL:\n",
" from google.colab import drive\n",
" drive.mount(\"/content/gdrive\", force_remount=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"id": "7ciHKINPTRxo"
},
"outputs": [],
"source": [
"from ecoscape_utilities import BirdRun\n",
"from ecoscape_connectivity import compute_connectivity, half_cauchy\n",
"from ecoscape_connectivity.util import read_transmission_csv"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WOSTuXgfsIf6"
},
"source": [
"## Bird Run Definition"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"id": "ep-09bp33k08"
},
"outputs": [],
"source": [
"def run_birds(run_name=None, use_cauchy=True, use_permeability=True, num_simulations=1000):\n",
"\n",
" if run_name is None:\n",
" run_name = f\"Run_cauchy:{use_cauchy}_permeability:{use_permeability}_num_simulations:{num_simulations}\"\n",
"\n",
" print(\"Running:\", run_name)\n",
"\n",
" bird_run = BirdRun(DATA_PATH)\n",
"\n",
" bird_states = {\n",
" \"acowoo\": [\"US-AZ\", \"US-CA\", \"US-NM\", \"US-NV\", \"US-OR\",],\n",
" \"stejay\": [\"US-AZ\", \"US-CA\", \"US-CO\", \"US-ID\", \"US-MT\", \"US-NM\", \"US-NV\", \"US-OR\", \"US-UT\", \"US-WA\", \"US-WY\",],\n",
" \"pilwoo\": [\"US-AL\", \"US-AR\", \"US-CA\", \"US-FL\", \"US-GA\", \"US-IA\", \"US-ID\", \"US-ID\", \"US-IL\", \"US-IN\", \"US-KS\",\n",
" \"US-LA\", \"US-MA\", \"US-ME\", \"US-MI\", \"US-MN\", \"US-MO\", \"US-MS\", \"US-MT\", \"US-NC\", \"US-ND\", \"US-NY\",\n",
" \"US-OH\", \"US-OK\", \"US-OR\", \"US-PA\", \"US-SC\", \"US-TN\", \"US-TX\", \"US-VA\", \"US-VT\", \"US-WA\", \"US-WI\",\n",
" \"US-WV\"],\n",
" }\n",
" bird_names = {\n",
" \"acowoo\": \"Acorn Woodpecker\",\n",
" \"stejay\": \"Steller's Jay\",\n",
" \"pilwoo\": \"Pileated Woodpecker\"\n",
" }\n",
" if use_cauchy:\n",
" bird_dispersal = {\n",
" \"acowoo\": half_cauchy(45, 45 * 4), # 13.8 Km\n",
" \"stejay\": half_cauchy(22, 22 * 4), # 6.7 Km\n",
" \"pilwoo\": half_cauchy(42, 42 * 4), # 12.6 Km\n",
" }\n",
" else:\n",
" bird_dispersal = {\n",
" \"acowoo\": 45, # 13.8 Km\n",
" \"stejay\": 22, # 6.7 Km\n",
" \"pilwoo\": 42, # 12.6 Km\n",
" }\n",
"\n",
" birds = []\n",
"\n",
" for bird, states in bird_states.items():\n",
" for state in states:\n",
" birds.append(bird_run.get_bird_run(\n",
" bird, bird_names.get(bird), state=state, run_name=run_name))\n",
"\n",
" start_t = time.time()\n",
" for bird in birds:\n",
" print(\"Computing:\", bird.name, \"in\", bird.state)\n",
"\n",
" # Creates output folder, if missing.\n",
" bird_run.createdir_for_file(bird.repopulation_fn)\n",
" bird_run.createdir_for_file(bird.gradient_fn)\n",
"\n",
" transmission_d = read_transmission_csv(bird.transmission_fn) if use_permeability else {}\n",
"\n",
" t0 = time.time()\n",
" compute_connectivity(\n",
" habitat_fn=bird.habitat_fn,\n",
" landcover_fn=bird.terrain_fn,\n",
" connectivity_fn=bird.repopulation_fn,\n",
" permeability_dict=transmission_d,\n",
" dispersal=bird_dispersal[bird.nickname],\n",
" num_simulations=num_simulations,\n",
" single_tile=True\n",
" )\n",
"\n",
" print(\"Processed\", bird.name, \"in\", bird.state, \"in\", time.time() - t0, \"seconds\")\n",
" print(\"Total time:\", time.time() - start_t)"
]
},
{
"cell_type": "code",
"source": [
"run_birds(use_cauchy=True, use_permeability=True, num_simulations=1000)\n",
"run_birds(use_cauchy=False, use_permeability=True, num_simulations=1000)\n",
"run_birds(use_cauchy=True, use_permeability=False, num_simulations=1000)\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "9QjFQ6djxS9S",
"outputId": "9c72cdee-005d-4fee-b80f-a6d37288487c"
},
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Running: Run_cauchy:True_permeability:True_num_simulations:1000\n",
"Computing: Acorn Woodpecker in US-AZ\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-AZ in 31.714933156967163 seconds\n",
"Computing: Acorn Woodpecker in US-CA\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-CA in 65.53690600395203 seconds\n",
"Computing: Acorn Woodpecker in US-NM\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NM in 32.12092208862305 seconds\n",
"Computing: Acorn Woodpecker in US-NV\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NV in 34.06862926483154 seconds\n",
"Computing: Acorn Woodpecker in US-OR\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-OR in 29.968623161315918 seconds\n",
"Computing: Steller's Jay in US-AZ\n",
"Single tile\n",
"Processed Steller's Jay in US-AZ in 19.362025022506714 seconds\n",
"Computing: Steller's Jay in US-CA\n",
"Single tile\n",
"Processed Steller's Jay in US-CA in 37.58309626579285 seconds\n",
"Computing: Steller's Jay in US-CO\n",
"Single tile\n",
"Processed Steller's Jay in US-CO in 17.669897317886353 seconds\n",
"Computing: Steller's Jay in US-ID\n",
"Single tile\n",
"Processed Steller's Jay in US-ID in 21.86714005470276 seconds\n",
"Computing: Steller's Jay in US-MT\n",
"Single tile\n",
"Processed Steller's Jay in US-MT in 23.797516584396362 seconds\n",
"Computing: Steller's Jay in US-NM\n",
"Single tile\n",
"Processed Steller's Jay in US-NM in 18.66158437728882 seconds\n",
"Computing: Steller's Jay in US-NV\n",
"Single tile\n",
"Processed Steller's Jay in US-NV in 20.181312322616577 seconds\n",
"Computing: Steller's Jay in US-OR\n",
"Single tile\n",
"Processed Steller's Jay in US-OR in 18.850056171417236 seconds\n",
"Computing: Steller's Jay in US-UT\n",
"Single tile\n",
"Processed Steller's Jay in US-UT in 15.45186972618103 seconds\n",
"Computing: Steller's Jay in US-WA\n",
"Single tile\n",
"Processed Steller's Jay in US-WA in 14.397034645080566 seconds\n",
"Computing: Steller's Jay in US-WY\n",
"Single tile\n",
"Processed Steller's Jay in US-WY in 16.389258861541748 seconds\n",
"Computing: Pileated Woodpecker in US-AL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AL in 21.239349603652954 seconds\n",
"Computing: Pileated Woodpecker in US-AR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AR in 19.504095554351807 seconds\n",
"Computing: Pileated Woodpecker in US-CA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-CA in 62.52925157546997 seconds\n",
"Computing: Pileated Woodpecker in US-FL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-FL in 42.094162464141846 seconds\n",
"Computing: Pileated Woodpecker in US-GA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-GA in 23.299235582351685 seconds\n",
"Computing: Pileated Woodpecker in US-IA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IA in 19.46362018585205 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 30.188777923583984 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 25.05781602859497 seconds\n",
"Computing: Pileated Woodpecker in US-IL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IL in 24.502135038375854 seconds\n",
"Computing: Pileated Woodpecker in US-IN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IN in 15.889889001846313 seconds\n",
"Computing: Pileated Woodpecker in US-KS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-KS in 22.702221393585205 seconds\n",
"Computing: Pileated Woodpecker in US-LA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-LA in 24.639426708221436 seconds\n",
"Computing: Pileated Woodpecker in US-MA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MA in 12.193839311599731 seconds\n",
"Computing: Pileated Woodpecker in US-ME\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ME in 19.234439373016357 seconds\n",
"Computing: Pileated Woodpecker in US-MI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MI in 37.16335606575012 seconds\n",
"Computing: Pileated Woodpecker in US-MN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MN in 31.55312991142273 seconds\n",
"Computing: Pileated Woodpecker in US-MO\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MO in 27.28820252418518 seconds\n",
"Computing: Pileated Woodpecker in US-MS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MS in 20.76450228691101 seconds\n",
"Computing: Pileated Woodpecker in US-MT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MT in 35.172871351242065 seconds\n",
"Computing: Pileated Woodpecker in US-NC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NC in 25.667667627334595 seconds\n",
"Computing: Pileated Woodpecker in US-ND\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ND in 18.255792140960693 seconds\n",
"Computing: Pileated Woodpecker in US-NY\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NY in 29.616414785385132 seconds\n",
"Computing: Pileated Woodpecker in US-OH\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OH in 18.570247411727905 seconds\n",
"Computing: Pileated Woodpecker in US-OK\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OK in 27.328511476516724 seconds\n",
"Computing: Pileated Woodpecker in US-OR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OR in 26.769189596176147 seconds\n",
"Computing: Pileated Woodpecker in US-PA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-PA in 17.950238943099976 seconds\n",
"Computing: Pileated Woodpecker in US-SC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-SC in 19.358628273010254 seconds\n",
"Computing: Pileated Woodpecker in US-TN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TN in 19.213846921920776 seconds\n",
"Computing: Pileated Woodpecker in US-TX\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TX in 86.62699365615845 seconds\n",
"Computing: Pileated Woodpecker in US-VA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VA in 24.604155778884888 seconds\n",
"Computing: Pileated Woodpecker in US-VT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VT in 11.864339590072632 seconds\n",
"Computing: Pileated Woodpecker in US-WA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WA in 22.977347135543823 seconds\n",
"Computing: Pileated Woodpecker in US-WI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WI in 24.70802116394043 seconds\n",
"Computing: Pileated Woodpecker in US-WV\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WV in 18.499181032180786 seconds\n",
"Total time: 1358.342708826065\n",
"Running: Run_cauchy:False_permeability:True_num_simulations:1000\n",
"Computing: Acorn Woodpecker in US-AZ\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-AZ in 20.63040256500244 seconds\n",
"Computing: Acorn Woodpecker in US-CA\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-CA in 47.124107122421265 seconds\n",
"Computing: Acorn Woodpecker in US-NM\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NM in 21.697290420532227 seconds\n",
"Computing: Acorn Woodpecker in US-NV\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NV in 23.43282389640808 seconds\n",
"Computing: Acorn Woodpecker in US-OR\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-OR in 18.53649592399597 seconds\n",
"Computing: Steller's Jay in US-AZ\n",
"Single tile\n",
"Processed Steller's Jay in US-AZ in 10.9296236038208 seconds\n",
"Computing: Steller's Jay in US-CA\n",
"Single tile\n",
"Processed Steller's Jay in US-CA in 24.763747215270996 seconds\n",
"Computing: Steller's Jay in US-CO\n",
"Single tile\n",
"Processed Steller's Jay in US-CO in 9.97453761100769 seconds\n",
"Computing: Steller's Jay in US-ID\n",
"Single tile\n",
"Processed Steller's Jay in US-ID in 12.295289278030396 seconds\n",
"Computing: Steller's Jay in US-MT\n",
"Single tile\n",
"Processed Steller's Jay in US-MT in 13.881445169448853 seconds\n",
"Computing: Steller's Jay in US-NM\n",
"Single tile\n",
"Processed Steller's Jay in US-NM in 11.764456272125244 seconds\n",
"Computing: Steller's Jay in US-NV\n",
"Single tile\n",
"Processed Steller's Jay in US-NV in 12.694722890853882 seconds\n",
"Computing: Steller's Jay in US-OR\n",
"Single tile\n",
"Processed Steller's Jay in US-OR in 9.96366548538208 seconds\n",
"Computing: Steller's Jay in US-UT\n",
"Single tile\n",
"Processed Steller's Jay in US-UT in 8.015905857086182 seconds\n",
"Computing: Steller's Jay in US-WA\n",
"Single tile\n",
"Processed Steller's Jay in US-WA in 7.706131935119629 seconds\n",
"Computing: Steller's Jay in US-WY\n",
"Single tile\n",
"Processed Steller's Jay in US-WY in 8.238943338394165 seconds\n",
"Computing: Pileated Woodpecker in US-AL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AL in 12.070406198501587 seconds\n",
"Computing: Pileated Woodpecker in US-AR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AR in 11.290050983428955 seconds\n",
"Computing: Pileated Woodpecker in US-CA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-CA in 44.06441807746887 seconds\n",
"Computing: Pileated Woodpecker in US-FL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-FL in 29.43875217437744 seconds\n",
"Computing: Pileated Woodpecker in US-GA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-GA in 14.70343828201294 seconds\n",
"Computing: Pileated Woodpecker in US-IA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IA in 11.090520858764648 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 20.395140171051025 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 19.506210803985596 seconds\n",
"Computing: Pileated Woodpecker in US-IL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IL in 14.195634126663208 seconds\n",
"Computing: Pileated Woodpecker in US-IN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IN in 8.656102180480957 seconds\n",
"Computing: Pileated Woodpecker in US-KS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-KS in 13.463552713394165 seconds\n",
"Computing: Pileated Woodpecker in US-LA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-LA in 14.908012390136719 seconds\n",
"Computing: Pileated Woodpecker in US-MA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MA in 5.44195818901062 seconds\n",
"Computing: Pileated Woodpecker in US-ME\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ME in 10.149593353271484 seconds\n",
"Computing: Pileated Woodpecker in US-MI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MI in 24.95621109008789 seconds\n",
"Computing: Pileated Woodpecker in US-MN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MN in 20.41204833984375 seconds\n",
"Computing: Pileated Woodpecker in US-MO\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MO in 17.37983775138855 seconds\n",
"Computing: Pileated Woodpecker in US-MS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MS in 11.714066505432129 seconds\n",
"Computing: Pileated Woodpecker in US-MT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MT in 24.106431007385254 seconds\n",
"Computing: Pileated Woodpecker in US-NC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NC in 16.201562881469727 seconds\n",
"Computing: Pileated Woodpecker in US-ND\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ND in 10.824217081069946 seconds\n",
"Computing: Pileated Woodpecker in US-NY\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NY in 18.473589658737183 seconds\n",
"Computing: Pileated Woodpecker in US-OH\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OH in 9.965677738189697 seconds\n",
"Computing: Pileated Woodpecker in US-OK\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OK in 17.50431776046753 seconds\n",
"Computing: Pileated Woodpecker in US-OR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OR in 17.78381586074829 seconds\n",
"Computing: Pileated Woodpecker in US-PA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-PA in 9.839179992675781 seconds\n",
"Computing: Pileated Woodpecker in US-SC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-SC in 10.672645330429077 seconds\n",
"Computing: Pileated Woodpecker in US-TN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TN in 10.992538213729858 seconds\n",
"Computing: Pileated Woodpecker in US-TX\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TX in 64.23569393157959 seconds\n",
"Computing: Pileated Woodpecker in US-VA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VA in 15.06814169883728 seconds\n",
"Computing: Pileated Woodpecker in US-VT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VT in 5.239925384521484 seconds\n",
"Computing: Pileated Woodpecker in US-WA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WA in 12.754020690917969 seconds\n",
"Computing: Pileated Woodpecker in US-WI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WI in 15.845798254013062 seconds\n",
"Computing: Pileated Woodpecker in US-WV\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WV in 10.158215522766113 seconds\n",
"Total time: 835.4699492454529\n",
"Running: Run_cauchy:True_permeability:False_num_simulations:1000\n",
"Computing: Acorn Woodpecker in US-AZ\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-AZ in 25.786837816238403 seconds\n",
"Computing: Acorn Woodpecker in US-CA\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-CA in 58.818359375 seconds\n",
"Computing: Acorn Woodpecker in US-NM\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NM in 26.955440759658813 seconds\n",
"Computing: Acorn Woodpecker in US-NV\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-NV in 28.8215172290802 seconds\n",
"Computing: Acorn Woodpecker in US-OR\n",
"Single tile\n",
"Processed Acorn Woodpecker in US-OR in 23.010843753814697 seconds\n",
"Computing: Steller's Jay in US-AZ\n",
"Single tile\n",
"Processed Steller's Jay in US-AZ in 13.451575517654419 seconds\n",
"Computing: Steller's Jay in US-CA\n",
"Single tile\n",
"Processed Steller's Jay in US-CA in 31.74395179748535 seconds\n",
"Computing: Steller's Jay in US-CO\n",
"Single tile\n",
"Processed Steller's Jay in US-CO in 11.914475679397583 seconds\n",
"Computing: Steller's Jay in US-ID\n",
"Single tile\n",
"Processed Steller's Jay in US-ID in 14.606860399246216 seconds\n",
"Computing: Steller's Jay in US-MT\n",
"Single tile\n",
"Processed Steller's Jay in US-MT in 17.2008638381958 seconds\n",
"Computing: Steller's Jay in US-NM\n",
"Single tile\n",
"Processed Steller's Jay in US-NM in 14.402210712432861 seconds\n",
"Computing: Steller's Jay in US-NV\n",
"Single tile\n",
"Processed Steller's Jay in US-NV in 15.665057897567749 seconds\n",
"Computing: Steller's Jay in US-OR\n",
"Single tile\n",
"Processed Steller's Jay in US-OR in 12.610599040985107 seconds\n",
"Computing: Steller's Jay in US-UT\n",
"Single tile\n",
"Processed Steller's Jay in US-UT in 10.487587451934814 seconds\n",
"Computing: Steller's Jay in US-WA\n",
"Single tile\n",
"Processed Steller's Jay in US-WA in 9.407283782958984 seconds\n",
"Computing: Steller's Jay in US-WY\n",
"Single tile\n",
"Processed Steller's Jay in US-WY in 10.60508918762207 seconds\n",
"Computing: Pileated Woodpecker in US-AL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AL in 15.420902490615845 seconds\n",
"Computing: Pileated Woodpecker in US-AR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-AR in 14.579025030136108 seconds\n",
"Computing: Pileated Woodpecker in US-CA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-CA in 54.31570506095886 seconds\n",
"Computing: Pileated Woodpecker in US-FL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-FL in 35.52782464027405 seconds\n",
"Computing: Pileated Woodpecker in US-GA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-GA in 17.5629940032959 seconds\n",
"Computing: Pileated Woodpecker in US-IA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IA in 13.410342454910278 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 24.932932376861572 seconds\n",
"Computing: Pileated Woodpecker in US-ID\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ID in 24.029069662094116 seconds\n",
"Computing: Pileated Woodpecker in US-IL\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IL in 19.26942229270935 seconds\n",
"Computing: Pileated Woodpecker in US-IN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-IN in 11.079613208770752 seconds\n",
"Computing: Pileated Woodpecker in US-KS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-KS in 16.179645538330078 seconds\n",
"Computing: Pileated Woodpecker in US-LA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-LA in 18.064332962036133 seconds\n",
"Computing: Pileated Woodpecker in US-MA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MA in 6.740523815155029 seconds\n",
"Computing: Pileated Woodpecker in US-ME\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ME in 12.51366639137268 seconds\n",
"Computing: Pileated Woodpecker in US-MI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MI in 31.58663582801819 seconds\n",
"Computing: Pileated Woodpecker in US-MN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MN in 26.075746536254883 seconds\n",
"Computing: Pileated Woodpecker in US-MO\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MO in 21.094363689422607 seconds\n",
"Computing: Pileated Woodpecker in US-MS\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MS in 14.687667608261108 seconds\n",
"Computing: Pileated Woodpecker in US-MT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-MT in 30.738324880599976 seconds\n",
"Computing: Pileated Woodpecker in US-NC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NC in 19.534205436706543 seconds\n",
"Computing: Pileated Woodpecker in US-ND\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-ND in 13.604973077774048 seconds\n",
"Computing: Pileated Woodpecker in US-NY\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-NY in 22.213584184646606 seconds\n",
"Computing: Pileated Woodpecker in US-OH\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OH in 12.224807262420654 seconds\n",
"Computing: Pileated Woodpecker in US-OK\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OK in 22.151943922042847 seconds\n",
"Computing: Pileated Woodpecker in US-OR\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-OR in 21.663195848464966 seconds\n",
"Computing: Pileated Woodpecker in US-PA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-PA in 11.487581729888916 seconds\n",
"Computing: Pileated Woodpecker in US-SC\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-SC in 13.724217891693115 seconds\n",
"Computing: Pileated Woodpecker in US-TN\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TN in 13.2601478099823 seconds\n",
"Computing: Pileated Woodpecker in US-TX\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-TX in 80.11328029632568 seconds\n",
"Computing: Pileated Woodpecker in US-VA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VA in 18.570183277130127 seconds\n",
"Computing: Pileated Woodpecker in US-VT\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-VT in 6.538121223449707 seconds\n",
"Computing: Pileated Woodpecker in US-WA\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WA in 16.0592520236969 seconds\n",
"Computing: Pileated Woodpecker in US-WI\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WI in 19.322454929351807 seconds\n",
"Computing: Pileated Woodpecker in US-WV\n",
"Single tile\n",
"Processed Pileated Woodpecker in US-WV in 12.731599569320679 seconds\n",
"Total time: 1036.6903455257416\n"
]
}
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"id": "1HvfYqTA9WOS"
},
"outputs": [],
"source": [
"def run_birds_flow(target=None, num_simulations=1000):\n",
"\n",
" bird_run = BirdRun(DATA_PATH)\n",
"\n",
" bird_states = {\n",
" \"acowoo\": [\"US-CA\", \"US-OR\", \"US-NV\", \"US-NM\"],\n",
" \"stejay\": [\"US-CA\", \"US-UT\", \"US-CO\"], # \"US-OR\", \"US-MT\", \"US-ID\", \"US-WY\", \"US-NV\", \"US-NM\", \"US-WA\"],\n",
" \"pilwoo\": [\"US-NC\", \"US-TN\", \"US-AR\", \"US-CA\"] # \"US-SC\", \"US-GA\", \"US-MS\", \"US-AL\"],\n",
" }\n",
" bird_names = {\n",
" \"acowoo\": \"Acorn Woodpecker\",\n",
" \"stejay\": \"Steller's Jay\",\n",
" \"pilwoo\": \"Pileated Woodpecker\"\n",
" }\n",
" bird_dispersal = {\n",
" \"acowoo\": 45, # 13.8 Km\n",
" \"stejay\": 22, # 6.7 Km\n",
" \"pilwoo\": 42, # 12.6 Km\n",
" }\n",
"\n",
" birds = []\n",
"\n",
" for bird, states in bird_states.items():\n",
" for state in states:\n",
" birds.append(bird_run.get_bird_run(\n",
" bird, bird_names.get(bird), state=state, run_name=target))\n",
"\n",
" start_t = time.time()\n",
" for bird in birds:\n",
" print(\"Computing:\", bird.name, \"in\", bird.state)\n",
"\n",
" # Creates output folder, if missing.\n",
" bird_run.createdir_for_file(bird.repopulation_fn)\n",
" bird_run.createdir_for_file(bird.gradient_fn)\n",
"\n",
" transmission_d = read_transmission_csv(bird.transmission_fn)\n",
"\n",
" t0 = time.time()\n",
" compute_connectivity(\n",
" habitat_fn=bird.habitat_fn,\n",
" landcover_fn=bird.terrain_fn,\n",
" connectivity_fn=bird.repopulation_fn,\n",
" flow_fn=bird.gradient_fn,\n",
" permeability_dict=transmission_d,\n",
" dispersal=bird_dispersal[bird.nickname],\n",
" num_simulations=num_simulations,\n",
" single_tile=False,\n",
" tile_size=1024,\n",
" border_size=64\n",
" )\n",
"\n",
" print(\"Processed\", bird.name, \"in\", bird.state, \"in\", time.time() - t0, \"seconds\")\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"id": "VmaaxlIn6LpA",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "51725104-83f3-4b1b-c29d-80deed7db0db"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Computing: Acorn Woodpecker in US-CA\n",
"Not single tile\n",
"Processed Acorn Woodpecker in US-CA in 145.0544981956482 seconds\n",
"Computing: Acorn Woodpecker in US-OR\n",
"Not single tile\n",
"Processed Acorn Woodpecker in US-OR in 28.815590620040894 seconds\n",
"Computing: Acorn Woodpecker in US-NV\n",
"Not single tile\n",
"Processed Acorn Woodpecker in US-NV in 72.07321310043335 seconds\n",
"Computing: Acorn Woodpecker in US-NM\n",
"Not single tile\n",
"Processed Acorn Woodpecker in US-NM in 86.25423526763916 seconds\n",
"Computing: Steller's Jay in US-CA\n",
"Not single tile\n",
"Processed Steller's Jay in US-CA in 102.9798789024353 seconds\n",
"Computing: Steller's Jay in US-UT\n",
"Not single tile\n",
"Processed Steller's Jay in US-UT in 43.781893491744995 seconds\n",
"Computing: Steller's Jay in US-CO\n",
"Not single tile\n",
"Processed Steller's Jay in US-CO in 29.52504277229309 seconds\n",
"Computing: Pileated Woodpecker in US-NC\n",
"Not single tile\n",
"Processed Pileated Woodpecker in US-NC in 80.69395899772644 seconds\n",
"Computing: Pileated Woodpecker in US-TN\n",
"Not single tile\n",
"Processed Pileated Woodpecker in US-TN in 80.6709713935852 seconds\n",
"Computing: Pileated Woodpecker in US-AR\n",
"Not single tile\n",
"Processed Pileated Woodpecker in US-AR in 53.986422300338745 seconds\n",
"Computing: Pileated Woodpecker in US-CA\n",
"Not single tile\n",
"Processed Pileated Woodpecker in US-CA in 80.9038507938385 seconds\n"
]
}
],
"source": [
"run_birds_flow(target=\"Flow\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "g0LtsG6-B8D4"
},
"outputs": [],
"source": []
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"gpuType": "A100",
"provenance": [],
"machine_shape": "hm",
"include_colab_link": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment