diff --git a/CHANGES.md b/CHANGES.md index 0684e45..bcd22cd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -12,6 +12,8 @@ * Support in-notebook configuration of workflow ID, environment file, and container image tag (#30, #33) * Support writing of stage-out STAC by notebook (#32) +* Make viewer work on non-default ports (#21) +* Improve dynamic example notebook ## Changes in 0.1.0 diff --git a/examples/dynamic/dynamic.ipynb b/examples/dynamic/dynamic.ipynb index cfa7ace..1400edc 100644 --- a/examples/dynamic/dynamic.ipynb +++ b/examples/dynamic/dynamic.ipynb @@ -25,7 +25,7 @@ "tags": [] }, "source": [ - "This notebook creates two simple synthetic datasets which are generated on the fly by xcube. It can be converted to a compute engine container using `xcetool`." + "This notebook creates two simple synthetic datasets which are generated on the fly by xcube. It can be converted to an Application Package or compute engine container using `xcetool`." ] }, { @@ -41,12 +41,12 @@ "source": [ "### Parameters cell\n", "\n", - "The cell below has been given a tag `parameters`, so `xcetool` can recognize that it is used to define parameters for the rest of the notebook. Any variable values set in the parameters cell can be overridden using environment variables when the container is run." + "The cell below has been given a tag `parameters`, so `xcetool` can recognize that it is used to define parameters for the rest of the notebook. Any variable values set in the parameters cell can be overridden using environment variables when the container is run. Here we define a single parameter, `periods`, which controls the number of time steps in the generated datasets." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "id": "a2d4f07c-0686-4f81-8ea6-3d8be61a9112", "metadata": { "editable": true, @@ -64,7 +64,7 @@ }, { "cell_type": "markdown", - "id": "cccb769f-3114-438f-84d5-7f37a33188b5", + "id": "1f4366d7-1b4f-4516-9900-4c786c31d0ad", "metadata": { "editable": true, "slideshow": { @@ -73,13 +73,14 @@ "tags": [] }, "source": [ - "Import the `xcube.core.new` function to create our synthetic datasets." + "### Create our datasets\n", + "\n", + "Now we create the output datasets. These datasets will be generated dynamically by the compute engine container as and when the data are need for display or writing. Unlike parameter variables, they don't have to be marked specifically: any variable with the data type `xarray.DataSet` which is in scope at the end of the notebook will be recognized automatically as an output dataset." ] }, { - "cell_type": "code", - "execution_count": 4, - "id": "def24ba0-4c8c-4545-a996-bf1fe26fec60", + "cell_type": "markdown", + "id": "bfa203cba5999f2e", "metadata": { "editable": true, "slideshow": { @@ -87,14 +88,14 @@ }, "tags": [] }, - "outputs": [], "source": [ - "import xcube.core.new" + "First, import the `xcube.core.new` function to help us create our synthetic datasets." ] }, { - "cell_type": "markdown", - "id": "1f4366d7-1b4f-4516-9900-4c786c31d0ad", + "cell_type": "code", + "execution_count": 2, + "id": "c0d016241cc84b21", "metadata": { "editable": true, "slideshow": { @@ -102,13 +103,22 @@ }, "tags": [] }, + "outputs": [], "source": [ - "Now we create the output datasets. These datasets will be output and/or served dynamically by the compute engine container. Unlike parameter variables, they don't have to be marked specifically: any variable with the data type `xarray.DataSet` which is in scope at the end of the notebook will be recognized automatically as an output dataset." + "import xcube.core.new" + ] + }, + { + "cell_type": "markdown", + "id": "79e433db-2572-4274-8d6a-1e240bf6b75e", + "metadata": {}, + "source": [ + "Create a dataset with a single variable generated by a simple function designed to produce a pretty pattern." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "id": "a9cdc54d-1524-4e04-9680-31b9417cca0a", "metadata": { "editable": true, @@ -120,15 +130,23 @@ "outputs": [], "source": [ "cube1 = xcube.core.new.new_cube(\n", - " variables={\"v\": lambda x, y, t: (x + y + t) % 10},\n", + " variables={\"v\": lambda x, y, t: ((x + y + t) % 10) / 9},\n", " time_periods=periods\n", ")\n", "cube1.attrs[\"title\"] = \"Cube 1\"" ] }, + { + "cell_type": "markdown", + "id": "3c60aca1-cc01-4baa-806e-8be9247c8fd6", + "metadata": {}, + "source": [ + "Create another, similar dataset with slightly different parameters for the function. For this dataset, we deliberately remove the `title` attribute to demonstrate how `xcetool` automatically generates a title from the variable name." + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "984f9b1c-10dd-4215-a1d5-8cbb44fcc231", "metadata": { "editable": true, @@ -137,18 +155,39 @@ }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'Test Cube'" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cube2 = xcube.core.new.new_cube(\n", - " variables={\"v\": lambda x, y, t: (x - y + t) % 10},\n", + " variables={\"v\": lambda x, y, t: ((x - y + t) % 20) / 19},\n", " time_periods=periods\n", ")\n", "cube2.attrs.pop(\"title\", None)" ] }, + { + "cell_type": "markdown", + "id": "d572616a-698e-483a-a0d9-617b593abb30", + "metadata": {}, + "source": [ + "### Plot one of the datasets\n", + "\n", + "Just to check on the data, plot a time-slice from the first dataset. This plot will make no difference to the functionality of the container image and application package generated by `xcetool` from the notebook." + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "id": "aa60aef0-fe54-4c1b-a5ea-fae5cfd6f1b9", "metadata": { "editable": true, @@ -161,16 +200,16 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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TVwa4/r1691eRPzmm2+yYcMGXnrpJQIDA23bT5w4Qb169RzqK7edOHHCrfe50D7DwsIwm80u7dMX47rQe1ksFsLCwpy+nzffy9vS09N59913GTduHPXr17d7LjAw0O7PuqCgAKWUS8e18n+rqz148KBm7yWE3kjTIjRz66232sX1V111FQB9+/a1q6vcfvjwYVq3bs3q1aspKyvjgQcesMXeAMHBwXTp0oX169df8H0TEhLIyMhwaYzNmzd3qa7SV199xejRo/nzn/9sS5+qutDVNjW9EseVfSqlHK56qVOnjkOdt8ZV9c8FKv6hrdyPL46Br33//ffcfffd3HjjjcyaNcvh+fPnW8mduVZXe/52f76XEHojTYvQzPm/7ZnN5gtuLyoqAuDYsWMAXH/99U73e7F1C2azmWuvvdalMVb9jfZiVq9ezZ133kmPHj14//33Hf4BqF+/vtMkoXLdi7Pffi+mfv367Nq1y2H76dOnKSkpse1z2bJlDusYKk99+WJc568HWbJkCUOHDqV+/foUFRVx5swZQkNDHd4vJSXF7ffytZ07d9pSvC+//BKLxXLR10RHR2MymVw6rpWpzYkTJ4iNjXWovdjx9+d7CaE1aVqE4cTExADw73//227hoat8cXpo9erVDBgwgC5durBixQpbo1VVmzZtyMzMdNheua1169Yujen8fS5fvpy8vDy7dS3n77Nfv37Vpku+GNf571V5vCvXsmRmZtK+fXvb83l5eRw/frxG7+VLO3fu5JZbbqFx48akp6cTFRXl0utCQkK48sorqz2uISEhXH755YD9MWnZsqWtrqysjL1793Lvvffq5r2E0Jo0LcIrKn/7PHv2rM/fq1evXtSpU4eff/6Zu+66y+3Xe/v0UHp6OgMGDKBz5858/PHH1f4mfscddzBq1Ci+/fZb2z/YZWVlvPfee7Rv356EhATXJ/E//fv355lnnmHZsmU89dRTtu1Lly4lJCSE3r17AxW/YZ+/DsOX42rXrp3T7b179yY4OJilS5faNS1Lly7FZDIxYMAAt9/LV3bt2sUtt9xCo0aNWLNmDdHR0W69/o477mDBggXk5OSQmJgIwKlTp1i5ciW333677fRc+/btiY+PZ+nSpdxzzz221//73//mjz/+4M4779TVewmhJWlahFdU/gb30ksvMWTIEIKCgmjevDkRERFe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OdPrAxRCCCEuecpLD4NzO2mZPn06ixYt4oEHHmD58uW27R07dmTatGleHZyWwnIVRcH6SS+MlHSA1omEpBfa11adn6QXek4vjJV02B9jXdRaGyH8x+2mZd++fdx0000O2yMjI/n999+9MSYhhBBCVCFrWiq43bTEx8ezf/9+kpOT7bZv3rzZZ1+QePDgQZ5//nnWrVtHXl4eCQkJ/OUvf2Hy5MmYzeeukT98+DCjR49m3bp1hISEcN999zFv3jy7GldF5JQRaFboJb0wVtIBkl74orbq/PRdC5JeuFoLWqcXBk86NK7tHu+n79qTNS1ADZqWhx9+mHHjxvH2229jMpk4evQoW7du5YknnuC5557zxRjZu3cv5eXlvP7661x55ZX88MMPjBw5ktOnTzNv3jwArFYrffv2pUGDBmzevJkTJ04wZMgQlFK8/PLLPhmXEEIIIfzH7aZl4sSJnDx5km7dulFUVMRNN92ExWLhiSeeYMyYMb4YI71796Z37962ny+//HL27dvHwoULbU1Leno6e/bsIScnh4SEil/JXnzxRYYOHcqMGTOIjIx06z1DDhZQJygY/aQXRko6wPspg6QXIOs0XK0FrRMJSS98UQv6S7zTsjKJbobvSdIC1KBpAZgxYwaTJ09mz549lJeX07JlS8LDw709tgs6efIk9erVs/28detWWrdubWtYAHr16kVxcTE7duygW7duTvdTXFxsuwIKoLCw0HeDFkIIIWpA1rRUqFHTAhAaGkq7du28ORaX/fzzz7z88su8+OKLtm15eXnExsba1UVHR2M2m8nLy6t2X7NmzWLq1KkO2637swkJtKCf9MJISUfVMeu7FiS98EUtSHpRG2vhUl+v51h7JmAXwn9calruvPNOl3e4cuVKl2tTU1OdNgxVZWRk2DVHR48epXfv3gwcOJARI0bY1ZpMJofXK6Wcbq80adIkJkyYYPu5sLCQxMREV6cghBBC+J6cHgJcbFqioqJs/18pRVpaGlFRUbZmYseOHfz+++9uNTcAY8aMYdCgQResqXqV0tGjR+nWrRsdOnRg8eLFdnVxcXF8++23dtsKCgooLS11SGCqslgsWCwWh+1pWZkMbB6ko/TCOEkHSHrhi1rQOr2QpMMXtaC/dRpapxf6TbEda0vCSoG9+JqcHqrgUtOyZMkS2/9/6qmnuPvuu1m0aBGB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BQU88MADREdHExoaSp8+fWxfYw/nToesXr2aq666ivDwcHr37m3323BZWRljx46lbt261K9fn6eeeoohQ4bYnbKpenqoa9euHDp0iMcee8x2KgAgNTWVa6+91m58CxYssPvWaqvVyoQJE2zvNXHiRM7/tg2lFHPmzOHyyy8nJCSEa665hn//+981Oj5Lly4lKSmJ0NBQ7rjjDk6cOOFQ89lnn5GSkkJwcDCXX345U6dOpayszPb83r176dy5M8HBwbRs2ZK1a9fanf44ePAgJpOJf/7zn3Tt2pXg4GDee+89AJYsWcJVV11FcHAwLVq04LXXXrN77yNHjnDPPfcQHR1N/fr16d+/PwcPHrQ9v2HDBm644QbCwsKoW7cunTp14tChQy7N/WLzmj9/Pm3atCEsLIzExERGjRrFH3/8YXv+0KFD9OvXj+joaMLCwmjVqhVffvklBw8epFu3bgBER0djMpkYOnSoS2MSQlRPmhZR6w0dOpTt27fz6aefsnXrVpRS3HrrrZSWltpqzpw5w7x583j33XfZtGkThw8f5oknnrA9/8ILL/D++++zZMkSvvnmGwoLCy+4HmHlypU0atTIdjrGndMBL774Im+//TZvvfUWmzdv5rfffiMtLc2u5plnnmHJkiUsXLiQ3bt389hjj/GXv/yFjRs3un5ggG+//Zbhw4czatQodu3aRbdu3Zg+fbpdzerVq/nLX/7C2LFj2bNnD6+//jpLly5lxowZAJSXlzNgwABCQ0P59ttvWbx4MZMnT3b6fk899RRjx47lxx9/pFevXrzxxhtMnjyZGTNm8OOPPzJz5kyeffZZli1bBlT8uXTr1o3w8HA2bdrE5s2bbU1lSUkJZWVlDBgwgC5duvDf//6XrVu38tBDD9maxAu52LwAAgIC+Mc//sEPP/zAsmXLWLduHRMnTrQ9P3r0aIqLi9m0aROZmZm88MILhIeHk5iYyIoVKwDYt28fubm5vPTSS2792QghnND06xqF8IEuXbqocePGKaWUysrKUoD65ptvbM8fP35chYSEqH/+859KKaWWLFmiALV//35bzauvvqpiY2NtP8fGxqq5c+fafi4rK1NJSUmqf//+Tt9XKaUaN26s/v73v9uNbcqUKeqaa66x2/b3v/9dNW7c2PZzfHy8mj17tu3n0tJS1ahRI9t7/fHHHyo4OFht2bLFbj8PPviguvfee6s9Ls7Gc++996revXvbbbvnnntUVFSU7ec//elPaubMmXY17777roqPj1dKVXwbeZ06dVRubq7t+TVr1ihApaWlKaWUys7OVoBasGCB3X4SExPVBx98YLft+eefVx06dFBKKfXWW2+p5s2b232zd3FxsQoJCVGrV69WJ06cUIDasGFDtfOuzsXm5cw///lPVb9+fdvPbdq0UampqU5rK7+tuKCgwOnzVY+PEMI1sqZF1Go//vgjderUoX379rZt9evXp3nz5vz444+2baGhoVxxxRW2n+Pj48nPzwfg5MmTHDt2jBtuuMH2fGBgICkpKZSXl3t1vCdPniQ3N5cOHTrYttWpU4d27drZThHt2bOHoqIievToYffakpIS2rZt69b7/fjjj9xxxx122zp06MCqVatsP+/YsYOMjAy7BMJqtVJUVMSZM2fYt28fiYmJdmtlqh6rqtq1a2f7/7/++is5OTk8+OCDjBw50ra9rKzMtuZjx44d7N+/n4iICLv9FBUV8fPPP9OzZ0+GDh1Kr1696NGjB7fccgt333038fHxF537xeYVGhrK+vXrmTlzJnv27KGwsJCysjKKioo4ffo0YWFhjB07lr/+9a+kp6dzyy23cNddd3H11Vdf9L2FEDUjTYuo1dR5a0Gqbq96CuH8BaEmk8nhteefcqhu3xcSEBDg8Lqqp6lcUdkoffHFF1x22WV2z1ksFrf25cocysvLmTp1KnfeeafDc8HBwQ7H8kLCwsLs9gvwxhtv2DWVUNEUVtakpKTw/vvvO+yrQYMGQMWamLFjx7Jq1So++ugjnnnmGdasWcONN97o0bwOHTrErbfeyiOPPMLzzz9PvXr12Lx5Mw8++KDtz2zEiBH06tWLL774gvT0dGbNmsWLL77Io48+6tLxEEK4R5oWUau1bNmSsrIyvv32Wzp27AjAiRMnyMrK4qqrrnJpH1FRUcTGxvLdd9/xpz/9Caj4jXznzp0Oi2qrMpvNWK1Wu20NGjQgLy/P7h/6Xbt22b1XfHw827Zt46abbgIqkocdO3Zw3XXX2eZksVg4fPgwXbp0cWkO1WnZsiXbtm2z23b+z9dddx379u3jyiuvdLqPFi1acPjwYY4dO0ZsbCwAGRkZF33v2NhYLrvsMg4cOMD999/vtOa6667jo48+omHDhkRGRla7r7Zt29K2bVsmTZpEhw4d+OCDDy7atFxsXtu3b6esrIwXX3yRgICK5X///Oc/HeoSExN55JFHeOSRR5g0aRJvvPEGjz76KGazGcDhvwEhRM1J0yJqtaZNm9K/f39GjhzJ66+/TkREBE8//TSXXXYZ/fv3d3k/jz76KLNmzeLKK6+kRYsWvPzyyxQUFFwwYUhOTmbTpk0MGjQIi8VCTEwMXbt25ddff2XOnDn8+c9/ZtWqVXz11Vd2/yCPGzeO2bNn07RpU6666irmz59vd6+PiIgInnjiCR577DHKy8vp3LkzhYWFbNmyhfDwcIYMGeLyvMaOHUvHjh2ZM2cOAwYMID093e7UEMBzzz3HbbfdRmJiIgMHDiQgIID//ve/ZGZmMn36dHr06MEVV1zBkCFDmDNnDqdOnbItxL1YApOamsrYsWOJjIykT58+FBcXs337dgoKCpgwYQL3338/c+fOpX///kybNo1GjRpx+PBhVq5cyZNPPklpaSmLFy/m9ttvJyEhgX379pGVlcUDDzxw0blfbF5XXHEFZWVlvPzyy/Tr149vvvmGRYsW2e1j/Pjx9OnTh2bNmlFQUMC6detszXDjxo0xmUx8/vnn3HrrrYSEhBAeHu7yn40QwgnNVtMI4SPnL4j97bff1ODBg1VUVJQKCQlRvXr1UllZWbbnlyxZYrfwVCml0tLSVNW/HqWlpWrMmDEqMjJSRUdHq6eeekoNHDhQDRo0qNr33bp1q7r66quVxWKx29fChQtVYmKiCgsLUw888ICaMWOG3ULc0tJSNW7cOBUZGanq1q2rJkyYoB544AG7Rb/l5eXqpZdeUs2bN1dBQUGqQYMGqlevXmrjxo3VHhdnC3GVqljs2qhRIxUSEqL69eun5s2b53A8Vq1apTp27KhCQkJUZGSkuuGGG9TixYttz//444+qU6dOymw2qxYtWqjPPvtMAWrVqlVKqXMLcXfu3Onw/u+//7669tprldlsVtHR0eqmm25SK1eutD2fm5urHnjgARUTE6MsFou6/PLL1ciRI9XJkydVXl6eGjBggIqPj1dms1k1btxYPffcc8pqtVZ7HNyZ1/z581V8fLztv5t33nnHbnHtmDFj1BVXXKEsFotq0KCBGjx4sDp+/Ljt9dOmTVNxcXHKZDKpIUOG2L03shBXCLeZlKrBiXkhLnHl5eVcddVV3H333XZ3wdWz5ORkxo8f75evOPjmm2/o3Lkz+/fvt1vgLM4xmUykpaV5/PUMQlxK5D4tQrjg0KFDvPHGG2RlZZGZmclf//pXsrOzue+++7QemlueeuopwsPDOXnypFf3m5aWxpo1azh48CBr167loYceolOnTtKwOPHII4/IaSIhakiSFiFckJOTw6BBg/jhhx9QStG6dWtmz55tWyxrBIcOHbJd9XL55ZfbFpd6wzvvvMPzzz9PTk4OMTEx3HLLLbz44ovUr1/fa+/hrlatWlV7Z9zXX3+92sW/vpafn09hYSFQcWl91SuqhBAXJk2LEKJWqtqknS82Ntbh3i9CCP2TpkUIIYQQhiBrWoQQQghhCNK0CCGEEMIQpGkRQgghhCFI0yKEEEIIQ5CmRQghhBCGIE2LEEIIIQxBmhYhhBBCGII0LUIIIYQwhP8HOpOXqpNY6iAAAAAASUVORK5CYII=", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAHFCAYAAAD7ZFORAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfZhJREFUeJzt3Xl8E3X+x/FXWpr0oC2FYg+hBZVDDhWLIiACIhREBHURxeWQQ9mKiAgoP1wpyKFc1gsQDxBPdpV6IrQsCIuAAsIucoocrdBSQaQI9Eq/vz/YhoakkKRJZqb9PB+PPHY7eSf5zqDl63u+MzEppRRCCCGEEFVQgNYDEEIIIYTwFZnoCCGEEKLKkomOEEIIIaosmegIIYQQosqSiY4QQgghqiyZ6AghhBCiypKJjhBCCCGqLJnoCCGEEKLKkomOEEIIIaosmegIr9iwYQOpqan88ccfDs916tSJTp06+X1M/rBv3z7Gjh1LUlIStWrVonbt2rRv355PPvnEaT4vL4/BgwcTHR1NaGgobdu25V//+pdD7quvvmLgwIG0bNmSoKAgTCZThWMoLi5m8uTJNGjQAIvFQtOmTXn11Vfd2g9fjOtSXn31VZo2bYrFYqFhw4ZMnjyZ4uJiu8yvv/7K6NGj6dixI7Vq1cJkMrF48WK7TGpqKiaT6bKPsn/+du7cSUpKCm3btiUsLAyTycS3337rML6cnByeffZZ2rZtS3R0NBERESQlJbFw4UKsVqvL+3ngwAHuvfdeatWqRc2aNenatSs//vij0+zHH3/MDTfcQHBwMPHx8YwePZo///xTl58lhKEoIbxg1qxZClAHDx50eG7nzp1q586d/h+UH7z66quqadOmatq0aSojI0MtX75cDRo0SAFq8uTJdtmCggLVokULVa9ePfX++++rjIwM1bt3b1WjRg317bff2mWHDBmiGjVqpO6//36VlJSkLvWv6rBhw5TFYlEzZ85Ua9asUc8884wymUxq2rRpLu2Dr8ZVkalTpyqTyaQmTJig1qxZo2bOnKnMZrMaPny4XW7NmjUqOjpa3XHHHerBBx9UgFq0aJFdJjs7W23cuNH2WLZsmQLU448/bre97J+/xYsXq7i4OHXnnXeqXr16KUCtWbPGYYxffvmlql+/vpo4caL6+uuvVUZGhnryySdVQECAevjhh13az7y8PBUfH6+aN2+uPv30U/X111+rW2+9VYWHh6s9e/bYZd9//30FqGHDhqnVq1erBQsWqMjISNW1a1fdfZYQRiMTHeEVl5roVGW//fabKi0tddjes2dPFRoaqgoKCmzbXn/9dQWoDRs22LYVFxerZs2aqZtvvtnu9Var1fb/H3vssQonFD/99JMymUxq+vTpdtuHDx+uQkJC1IkTJy67D74YV0WOHz+ugoOD1SOPPGK3fdq0acpkMtlNiMt/1ubNm51OdC528OBBBahZs2Y5fb78e/7zn/+scKLz+++/q6KiIoftZfuclZV1yXEopdS4ceNUUFCQOnTokG3bqVOnVHR0tLr//vtt20pKSlRcXJzq1q2b3es/+OADBajly5fr6rOEMBo5dSUqLTU1lXHjxgHQsGFD2+mCslMCF5+6OnToECaTiVmzZvHiiy/SoEEDQkJC6NSpE/v27aO4uJhnnnmG+Ph4IiMjueeee8jLy3P43KVLl9pOQdSsWZPk5GS2bdvmj122iY6Odnr65uabb+bs2bP8/vvvtm3p6ek0adKEtm3b2rbVqFGDv/71r/zwww8cOXLEtj0gwLV/NT/77DOUUjz88MN22x9++GHOnTvHihUrLvsevhhXRVasWEFBQYHT8Sql+Oyzz7z2Wc64+p5RUVEEBQU5bL/55puB86fVLic9PZ3bb7+dxMRE27aIiAjuvfdevvzyS0pKSgDYtGkTOTk5Dsekb9++1KxZk/T0dF19lhBGIxMdUWnDhg3j8ccfB2DZsmVs3LiRjRs3cuONN17yda+//jrfffcdr7/+Om+99RZ79uyhV69eDB06lN9++4133nmHmTNnsmrVKoYNG2b32unTp/Pggw/SrFkz/vGPf/Dee+9x+vRpOnTowK5duy475pKSEpceSimPjsmaNWuoW7cuV1xxhW3bTz/9xHXXXeeQLdu2c+dOtz/np59+om7dusTGxjp9z59++sml9/D2uC71WQAtW7a02x4XF0d0dLRL49XS6tWrqVGjBo0bN7bbXn4dEMC5c+f45ZdfKjyu586d48CBA8CFY3JxNigoiKZNmzocE39+lhBVQQ2tByCMr169eiQkJADQqlUrGjRo4NLratWqxWeffWb7r+zjx48zevRomjZtyueff27L7dmzh7S0NPLz84mIiCA7O5tJkyYxcuRIXnnlFVuua9euNGrUiMmTJ7N0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3L4pdX4y1LNnTxUSEqJq166tRo4caXcpuVL63LeLbd26VbVp00ZFRkaq4OBg1aRJEzVp0iR15swZu5wr+6tXr7/+ukpMTFRms1ndeOONau3atVoPyS39+vVTcXFxKigoSMXHx6t7771X7dy50/Z8aWmpmjRpkoqNjVUWi0XddtttaseOHRqO+NLWrFnj9N+vQYMGKaVc259z586pkSNHqtq1a6uQkBB11113qaysLA32xt6l9u3s2bOqW7duqm7duiooKEglJCSoQYMGOYxbr/smtGFSSoe3mRVCCCGE8AJZoyOEEEKIKksmOkIIIYSosmSiI4QQQogqSyY6QgghhKiyZKIjhBBCiCpLJjpCCCGEqLJkoiOEEEKIKksmOqLK6dSpE6NHj65Snzt48GDbdzJ5qkGDBrYvI/3jjz8qzC1evNj2FSPC+wYPHmz7c/jss8+0Ho4QVZ5MdITwkmXLlvH888/bfm7QoAFpaWnaDciJKVOmkJOTQ2RkpNZDqfK+/fZbp5PKl19+2e47z4QQviXfXi6El9SuXVvrIVxWeHi47duttVZcXExQUJDWw/C7yMhImWgK4UfS6Igq7+TJkwwcOJCoqChCQ0Pp0aMHP//8s+35slM1K1eu5Nprr6VmzZp0797d7r+6S0pKGDVqFLVq1aJOnTo8/fTTDBo0yO50UvlTV506deLw4cM8+eSTttMUAKmpqdxwww1240tLS7P7Nnar1cqYMWNsnzV+/Hgu/qYWpRQzZ87kqquuIiQkhOuvv55PPvnEo+OzePFiEhISCA0N5Z577uHEiRMOmS+//JKkpCSCg4O56qqrmDx5MiUlJbbn9+zZw6233kpwcDDNmjVj1apVdqdmDh06hMlk4h//+AedOnUiODiY999/H4BFixZx7bXXEhwcTNOmTZk3b57dZx85coR+/foRFRVFnTp16N27N4cOHbI9/+2333LzzTcTFhZGrVq1aN++PYcPH3Zp3y+3X3PnzqVly5aEhYVRv359UlJS+PPPP23PHz58mF69ehEVFUVYWBjNmzdn+fLlHDp0iM6dOwMQFRWFyWRi8ODBLo1JCOFdMtERVd7gwYPZsmULX3zxBRs3bkQpxZ133klxcbEtc/bsWWbPns17773HunXryMrKYuzYsbbnX3zxRT744AMWLVrEd999R35+/iXXVyxbtox69erZThW5c6pizpw5vPPOO7z99tusX7+e33//nfT0dLvMs88+y6JFi5g/fz47d+7kySef5K9//Str1651/cAA33//PUOGDCElJYXt27fTuXNnpk6dapdZuXIlf/3rXxk1ahS7du3ijTfeYPHixUybNg2A0tJS+vTpQ2hoKN9//z0LFy5k4sSJTj/v6aefZtSoUezevZvk5GTefPNNJk6cyLRp09i9ezfTp0/n73//O++++y5w/s+lc+fO1KxZk3Xr1rF+/XrbRLSoqIiSkhL69OlDx44d+e9//8vGjRt55JFHbBPLS7ncfgEEBATwyiuv8NNPP/Huu++yevVqxo8fb3v+scceo7CwkHXr1rFjxw5efPFFatasSf369fn0008B2Lt3Lzk5Obz88stu/dkIIbxE068UFcIHOnbsqJ544gmllFL79u1TgPruu+9szx8/flyFhISof/zjH0oppRYtWqQAtX//flvm9ddfVzExMbafY2Ji1KxZs2w/l5SUqISEBNW7d2+nn6uUUomJieqll16yG9ukSZPU9ddfb7ftpZdeUomJibaf4+Li1AsvvGD7ubi4WNWrV8/2WX/++acKDg5WGzZssHufoUOHqgcffLDC4+JsPA8++KDq3r273bZ+/fqpyMhI288dOnRQ06dPt8u89957Ki4uTiml1DfffKNq1KihcnJybM9nZmYqQKWnpyullDp48KACVFpamt371K9fX3344Yd2255//nnVtm1bpZRSb7/9tmrSpIndN9YXFhaqkJAQtXLlSnXixAkFqG+//bbC/a7I5fbLmX/84x+qTp06tp9btmypUlNTnWbLvoX75MmTTp8vf3yEEL4ja3RElbZ7925q1KhBmzZtbNvq1KlDkyZN2L17t21baGgoV199te3nuLg48vLyADh16hTHjh3j5ptvtj0fGBhIUlISpaWlXh3vqVOnyMnJoW3btrZtNWrUoHXr1rbTV7t27aKgoICuXbvavbaoqIhWrVq59Xm7d+/mnnvusdvWtm1bVqxYYft569atbN682a7psFqtFBQUcPbsWfbu3Uv9+vXt1v6UP1bltW7d2vb/f/vtN7Kzsxk6dCjDhw+3bS8pKbGtYdm6dSv79+8nPDzc7n0KCgr45Zdf6NatG4MHDyY5OZmuXbtyxx13cP/99xMXF3fZfb/cfoWGhrJmzRqmT5/Orl27yM/Pp6SkhIKCAs6cOUNYWBijRo3ib3/7GxkZGdxxxx3cd999XHfddZf9bCGE/8hER1Rp6qK1LeW3lz+9cfGiWJPJ5PDai0+HVPTelxIQEODwuvKn0FxRNrn6+uuvufLKK+2es1gsbr2XK/tQWlrK5MmTuffeex2eCw4OdjiWlxIWFmb3vgBvvvmm3UQUzk8kyzJJSUl88MEHDu9Vt25d4Pwan1GjRrFixQqWLl3Ks88+S2ZmJrfcckul9uvw4cPceeedjBgxgueff57atWuzfv16hg4davszGzZsGMnJyXz99ddkZGQwY8YM5syZw+OPP+7S8RBC+J5MdESV1qxZM0pKSvj+++9p164dACdOnGDfvn1ce+21Lr1HZGQkMTEx/PDDD3To0AE4/1/+27Ztc1hYXJ7ZbMZqtdptq1u3Lrm5uXaTg+3bt9t9VlxcHJs2beK2224DzjccW7du5cYbb7Ttk8ViISsri44dO7q0DxVp1qwZmzZtstt28c833ngje/fu5ZprrnH6Hk2bNiUrK4tjx44RExMDwObNmy/72TExMVx55ZUcOHCAhx56yGnmxhtvZOnSpVxxxRVERERU+F6tWrWiVatWTJgwgbZt2/Lhhx9edqJzuf3asmULJSUlzJkzh4CA88sZ//GPfzjk6tevz4gRIxgxYgQTJkzgzTff5PHHH8dsNgM4/DMghPAvmeiIKq1Ro0b07t2b4cOH88YbbxAeHs4zzzzDlVdeSe/evV1+n8cff5wZM2ZwzTXX0LRpU1599VVOnjx5ySajQYMGrFu3jgceeACLxUJ0dDSdOnXit99+Y+bMmfzlL39hxYoVfPPNN3Z/iT/xxBO88MILNGrUiGuvvZa5c+fa3YslPDycsWPH8uSTT1JaWsqtt95Kfn4+GzZsoGbNmgwaNMjl/Ro1ahTt2rVj5syZ9OnTh4yMDLvTVgDPPfccd911F/Xr16dv374EBATw3//+lx07djB16lS6du3K1VdfzaBBg5g5cyanT5+2LUa+XNOTmprKqFGjiIiIoEePHhQWFrJlyxZOnjzJmDFjeOihh5g1axa9e/dmypQp1KtXj6ysLJYtW8a4ceMoLi5m4cKF3H333cTHx7N371727dvHwIEDL7vvl9uvq6++mpKSEl599VV69erFd999x4IFC+zeY/To0fTo0YPGjRtz8uRJVq9ebZtAJyYmYjKZ+Oqrr7jzzjsJCQmhZs2aLv/ZCCG8RLPVQUL4yMWLgn///Xc1YMAAFRkZqUJCQlRycrLat2+f7flFixbZLb5VSqn09HRV/l+P4uJiNXLkSBUREaGioqLU008/rfr27aseeOCBCj9348aN6rrrrlMWi8XuvebPn6/q16+vwsLC1MCBA9W0adPsFiMXFxerJ554QkVERKhatWqpMWPGqIEDB9otfC4tLVUvv/yyatKkiQoKClJ169ZVycnJau3atRUeF2eLkZU6v+C3Xr16KiQkRPXq1UvNnj3b4XisWLFCtWvXToWEhKiIiAh18803q4ULF9qe3717t2rfvr0ym82qadOm6ssvv1SAWrFihVLqwmLkbdu2OXz+Bx98oG644QZlNptVVFSUuu2229SyZctsz+fk5KiBAweq6OhoZbFY1FVXXaWGDx+uTp06pXJzc1WfPn1UXFycMpvNKjExUT333HPKarVWeBzc2a+5c+equLg42z83S5YssVtgPHLkSHX11Vcri8Wi6tatqwYMGKCOHz9ue/2UKVNUbGysMplMatCgQXafjSxGFsIvTEp5sNBAiGqutLSUa6+9lvvvv9/ubsh61qBBA0aPHu2Xr8f47rvvuPXWW9m/f7/dIm9xgclkIj09vdJf7SGEuDS5j44QLjh8+DBvvvkm+/btY8eOHfztb3/j4MGD9O/fX+uhueXpp5+mZs2anDp1yqvvm56eTmZmJocOHWLVqlU88sgjtG/fXiY5TowYMUJOYQnhR9LoCOGC7OxsHnjgAX766SeUUrRo0YIXXnjBtmDYCA4fPmy7Wuiqq66yLbD1hiVLlvD888+TnZ1NdHQ0d9xxB3PmzKFOnTpe+wx3NW/evMI7JL/xxhsVLoD2tby8PPLz84HztzEofyWaEML7ZKIjhKiSyk/sLhYTE+Nwbx4hRNUkEx0hhBBCVFmyRkcIIYQQVZZMdIQQQghRZclERwghhBBVlkx0hBBCCFFlyURHCCGEEFWWTHSEEEIIUWXJREcIIYQQVZZMdIQQQghRZf0/Yt9vMpJfs8sAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -184,9 +223,8 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "69338e0a-281f-437a-a3c6-3c0fd7a31b44", + "cell_type": "markdown", + "id": "8aa500f2-f041-453d-9d71-90be150db9ff", "metadata": { "editable": true, "slideshow": { @@ -194,15 +232,26 @@ }, "tags": [] }, + "source": [ + "### We’re done!\n", + "\n", + "No extra code is needed to export the datasets – the xcengine code will find them automatically and handle them appropriately." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae5b1741-4cc0-4343-91a9-f1c0f6b160ed", + "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "xcube2505a", "language": "python", - "name": "python3" + "name": "xcube2505a" }, "language_info": { "codemirror_mode": { diff --git a/xcengine/core.py b/xcengine/core.py index 6c307d0..bed7c9a 100755 --- a/xcengine/core.py +++ b/xcengine/core.py @@ -370,7 +370,15 @@ def run( command = ( ["python", "execute.py"] + (["--batch"] if run_batch else []) - + (["--server"] if host_port is not None else []) + + ( + [ + "--server", + "--xcube-viewer-api-url", + f"http://localhost:{host_port}", + ] + if host_port is not None + else [] + ) + (["--from-saved"] if from_saved else []) ) run_args = dict( diff --git a/xcengine/wrapper.py b/xcengine/wrapper.py index f91d3dd..e2444be 100644 --- a/xcengine/wrapper.py +++ b/xcengine/wrapper.py @@ -5,12 +5,14 @@ # https://opensource.org/licenses/MIT. +import json import logging import os import pathlib import sys import util + print("CWD", os.getcwd()) import parameters @@ -45,6 +47,7 @@ def __xce_set_params(): from xcube.server.framework import get_framework_class import xcube.util.plugin import xcube.core.new +import xcube.webapi.viewer def main(): @@ -55,6 +58,9 @@ def main(): parser.add_argument("--server", action="store_true") parser.add_argument("--from-saved", action="store_true") parser.add_argument("--eoap", action="store_true") + parser.add_argument( + "--xcube-viewer-api-url", type=str, default="http://localhost:8080" + ) parser.add_argument("-v", "--verbose", action="count", default=0) args, _ = parser.parse_known_args() if args.verbose > 0: @@ -77,15 +83,29 @@ def main(): if args.server: xcube.util.plugin.init_plugins() server = Server(framework=get_framework_class("tornado")(), config={}) - context = server.ctx.get_api_ctx("datasets") + dataset_context = server.ctx.get_api_ctx("datasets") for name in datasets: dataset = ( xr.open_zarr(saved_datasets[name]) if args.batch and args.from_saved else datasets[name] ) - context.add_dataset(dataset, name, style="bar") + dataset_context.add_dataset(dataset, name, style="bar") LOGGER.info("Added " + name) + logo_data = ( + pathlib.Path(xcube.webapi.viewer.__file__).parent + / "dist" + / "images" + / "logo.png" + ).read_bytes() + + viewer_context = server.ctx.get_api_ctx("viewer") + viewer_context.config_items = { + "config.json": json.dumps( + {"server": {"url": args.xcube_viewer_api_url}, "branding": {}} + ), + "images/logo.png": logo_data, + } LOGGER.info(f"Starting server on port {server.ctx.config['port']}...") server.start()