This is an automated email from the ASF dual-hosted git repository.
lahirujayathilake pushed a commit to branch cybershuttle-dev
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/cybershuttle-dev by this push:
new a3785536c7 gkeyll agent image and notebook sample
a3785536c7 is described below
commit a3785536c7728d625c9e4e9d69c955888f10d15f
Author: lahiruj <[email protected]>
AuthorDate: Tue Mar 4 15:15:20 2025 -0500
gkeyll agent image and notebook sample
---
.../deployments/agent-gkeyll/Dockerfile | 6 +
.../deployments/agent-gkeyll/Makefile | 17 +++
.../deployments/agent-gkeyll/README.md | 13 ++
.../jupyterhub/data/gkeyll/plotE_z.ipynb | 157 +++++++++++++++++++++
4 files changed, 193 insertions(+)
diff --git a/modules/agent-framework/deployments/agent-gkeyll/Dockerfile
b/modules/agent-framework/deployments/agent-gkeyll/Dockerfile
new file mode 100644
index 0000000000..c31b6bc02d
--- /dev/null
+++ b/modules/agent-framework/deployments/agent-gkeyll/Dockerfile
@@ -0,0 +1,6 @@
+FROM cybershuttle/remote-agent-base:latest
+
+USER root
+
+RUN micromamba run -n base pip install --no-cache-dir \
+ postgkyl
\ No newline at end of file
diff --git a/modules/agent-framework/deployments/agent-gkeyll/Makefile
b/modules/agent-framework/deployments/agent-gkeyll/Makefile
new file mode 100644
index 0000000000..99894ee49c
--- /dev/null
+++ b/modules/agent-framework/deployments/agent-gkeyll/Makefile
@@ -0,0 +1,17 @@
+IMAGE_NAME=cybershuttle/remote-agent-gkeyll
+AGENT_SVC_URL=api.gateway.cybershuttle.org:19900
+AGENT_ID=testx
+
+build-container:
+ docker build --platform linux/amd64 -t $(IMAGE_NAME) . && \
+ docker push $(IMAGE_NAME)
+
+run-container:
+ docker run -it $(IMAGE_NAME) /opt/airavata-agent $(AGENT_SVC_URL)
$(AGENT_ID)
+
+deploy-anvil:
+ ssh [email protected] srun -p shared --mem 4G -t 30
singularity pull \
+ --disable-cache \
+ --force \
+ agent-framework/container/remote-agent-gkeyll2.sif \
+ docker://$(IMAGE_NAME)
\ No newline at end of file
diff --git a/modules/agent-framework/deployments/agent-gkeyll/README.md
b/modules/agent-framework/deployments/agent-gkeyll/README.md
new file mode 100644
index 0000000000..99b9169afb
--- /dev/null
+++ b/modules/agent-framework/deployments/agent-gkeyll/README.md
@@ -0,0 +1,13 @@
+# Cerebrum Agent
+
+### Building
+
+```shell
+make build-container
+```
+
+### Running Locally
+
+```shell
+make run-container
+```
diff --git
a/modules/agent-framework/deployments/jupyterhub/data/gkeyll/plotE_z.ipynb
b/modules/agent-framework/deployments/jupyterhub/data/gkeyll/plotE_z.ipynb
new file mode 100644
index 0000000000..49de4e2389
--- /dev/null
+++ b/modules/agent-framework/deployments/jupyterhub/data/gkeyll/plotE_z.ipynb
@@ -0,0 +1,157 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "ec13f649-d9ee-47a2-9761-131abb1e2858",
+ "metadata": {},
+ "source": [
+ "#### Initialize, Authenticate, and Configure Remote Execution
Environment\n",
+ "\n",
+ "##### Start a Cybershuttle Remote Executor: This will submit a remote job
to Anvil\n",
+ "- **Cluster** - Anvil\n",
+ "- **Community Allocation** - Gkeyll\n",
+ "- **Requested Resources** - 4 CPUs, 4GB Memory, 60 Minutes, Shared Queue"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "ae3f8f6f-2c94-44de-9a33-073a02bf05a4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%pip install --force-reinstall airavata-jupyter-magic\n",
+ "import airavata_jupyter_magic\n",
+ "\n",
+ "%authenticate\n",
+ "%request_runtime test_cpu --cluster=Anvil --cpus=4 --memory=4096
--walltime=60 --queue=shared --group=Gkeyll\n",
+ "%switch_runtime test_cpu"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "aebd5d11-8f1d-4251-99e2-60bd06bed837",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!ls /anvil/projects/x-phy220105/cwsmith/vlabApps/gkyldataset"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "4c5308aa-a6d2-4b8e-8e9e-ad6c2a6b7380",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from pathlib import Path\n",
+ "import matplotlib.pyplot as plt \n",
+ "\n",
+ "import os\n",
+ "\n",
+ "import postgkyl as pg\n",
+ "\n",
+ "data_base_path =
\"/anvil/projects/x-phy220105/cwsmith/vlabApps/gkyldataset\"\n",
+ "run = Path.cwd()\n",
+ "\n",
+ "def getModelType():\n",
+ " frame = 0 \n",
+ " models = [\"5m\", \"10m\"]\n",
+ " for model in models:\n",
+ " path =
Path(f\"{data_base_path}/rt-{model}-gem_field_{frame}.bp\")\n",
+ " if path.is_file():\n",
+ " return model\n",
+ " error = \"Failed to find input ADIOS file rt-5m-gem_field_0.bp or
rt-10m-gem_field_0.bp.\"\n",
+ " assert False, error"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "9723cde9-abad-4d95-85cb-c618b383ae48",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "frame = 0 \n",
+ "model = getModelType()\n",
+ "filename = run / f\"{data_base_path}/rt-{model}-gem_field_{frame}.bp\"\n",
+ "filename = str(filename)\n",
+ "print(filename)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "bcc09aec-5821-4e58-ad38-3765afc28fc3",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "gdata = pg.GData(filename)\n",
+ "\n",
+ "vals = gdata.getValues() # cell-center values, shape is Ny * Nx *
Ncomponents\n",
+ "grid = gdata.getGrid() # cell corner coordinates\n",
+ "ndim = gdata.getNumDims() # number of spatial dimensions\n",
+ "\n",
+ "assert len(vals.shape) == ndim+1 and len(grid) == ndim\n",
+ "\n",
+ "icomp = 3 \n",
+ "compName = r'$E_z^2$'\n",
+ "fileName = \"E_z.png\"\n",
+ "\n",
+ "my_vals = vals[..., icomp]\n",
+ "x, y = grid\n",
+ "\n",
+ "fig, ax = plt.subplots()\n",
+ "\n",
+ "im = ax.pcolormesh(x, y, my_vals.T)\n",
+ "fig.colorbar(im, ax=ax)\n",
+ "\n",
+ "ax.set_xlabel('x')\n",
+ "ax.set_ylabel('y')\n",
+ "ax.set_title(compName)\n",
+ "ax.set_aspect(1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "eee0d482-0d84-41d0-bf6d-820ac7c3bbf3",
+ "metadata": {},
+ "source": [
+ "#### To Stop the Agent Run"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "2a5581f6-e963-4e2b-bd6e-8a122e906ca6",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%stop_runtime test_cpu\n",
+ "%switch_runtime local"
+ ]
+ }
+ ],
+ "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.11.6"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}