Back to Research
akoflow / scientific-workflows-montage-050

Montage 050 locally

Import into Desktop
Import version

Choose import version

akoflow::o/akoflow/scientific-workflows-montage-050:latest

Run all 58 original Montage 050d activities locally, using the immutable amd64 image and its twelve bundled FITS observations. The default uses two CPU slots, preserves the 138 named file handoffs, creates three calibrated astronomical mosaics and a color preview, and provisions no cloud machines. This is a long-running scientific workload; on Apple Silicon Docker uses amd64 emulation.

Public experiment
Published workflow58 activitiesRead only

Loading workflow canvas…

Drag the canvas to pan · Scroll to zoom · Select an activity to inspect its definition
README

Montage 050 locally

Run all 58 original Montage 050d activities locally, using the immutable amd64 image and its twelve bundled FITS observations. The default uses two CPU slots, preserves the 138 named file handoffs, creates three calibrated astronomical mosaics and a color preview, and provisions no cloud machines. This is a long-running scientific workload; on Apple Silicon Docker uses amd64 emulation.

Run locally

Install Go and Docker with linux/amd64 support. Keep at least 15 GiB of free disk for the image and intermediate workspaces; the exact peak depends on artifact retention and concurrency. The image already contains the 87 MiB input dataset, headers, tables, and Montage executables.

git clone https://github.com/UFFeScience/akoflow-examples.git
cd akoflow-examples/scientific-workflows/montage-050
./prepare.sh && ./run.sh

Preparation downloads the Go YAML module and the pinned image. Activities run with network access disabled. The local runner copies the image's input seed once, executes native Montage commands as soon as their dependencies and a CPU slot are available, and publishes a successful manifest only after every activity and final file passes validation. No activity is replaced with a simulation or omitted.

Outputs are in outputs/: three FITS mosaics, three monochrome previews, the color preview, per-activity observations, and a manifest with SHA-256 digests. The validator checks FITS image dimensions and decodes the PNG headers.

Run through the local daemon and Desktop

With your local AkôFlow daemon running and AKOFLOW_API_TOKEN configured in the shell, run from this bundle:

go run ../../tools/daemon-local -root ../.. -example scientific-workflows/montage-050 -wait=false

This builds the same pinned image, validates the daemon's Docker connection, registers a local-only environment and the full 58-activity DAG, and submits a real run. It prints the run ID and leaves the daemon responsible for execution. Open that run in Desktop to inspect progress or cancel it. The local environment allows two simultaneous activities. No GCP credentials, VMs, Kubernetes cluster, or remote HPC account are used.

Provenance

Derived from real/montage-cloud-local/workflow.json. The native commands, twelve source FITS files, 58 activity names, dependency graph, and 138 file handoffs are preserved. Historical simulation.durationSeconds values in the source describe a different CPU; they are planning references, not measurements of this local run. The immutable upstream image is:

ovvesley/akoflow-wf-montage@sha256:26b060b83b990557ea86ab40503cc8f17ab6016b5973e7e6f9201100a96440c9

Public Hub version and measured execution

Open this workflow and its results · Documentation

Import into AkôFlow Desktop

Create workflow → Import from Hub → paste this immutable URI:

akoflow://hub/publications/4a1b3c21-a122-4c19-bd2d-c305d400b41f/versions/1

The URI imports the workflow definition. Build or pull the public image and register the companion environment.yaml, scope.yaml, and topology.yaml from this source bundle before planning a local execution. No hosted account, GPU or cloud capacity is required for this CPU profile.

Image: ghcr.io/uffescience/akoflow-examples/montage-050-local@sha256:26b060b83b990557ea86ab40503cc8f17ab6016b5973e7e6f9201100a96440c9.

Actual homeserver results

Run montage-050-local-local-79df14ee2e-run-20261115t052715.750879194 completed 58/58 activities in 3196.8059842586517 seconds. These are measured Docker-backed computations, not simulated timing. The captured manual plan uses placeholder predicted timings; those predictions are not benchmark measurements. Use the observed execution metrics for performance analysis. Cost is the configured local compute cost and excludes electricity and hardware.

Download the native experiment capture. The Hub Results tab includes the same plan, attempts, metrics and logs.

Inputs and outputs

Input fixtures and their generation code are in this bundle's data/ and scripts/ directories; inspect them together with the workflow definition and bundle configuration for profile assumptions. Fixtures are generated by the included code unless a bundle identifies an upstream dataset. No repository-wide LICENSE file is currently present: inspect the bundle and upstream terms before redistributing source or data; publication here does not grant additional rights. Outputs expected from this workflow:

  • 1-mosaic.fits
  • 2-mosaic.fits
  • 3-mosaic.fits
  • 1-mosaic.png
  • 2-mosaic.png
  • 3-mosaic.png
  • mosaic-color.png

Download the actual validated output files.

Images from this validated execution

1-mosaic.png

2-mosaic.png

3-mosaic.png

mosaic-color.png

Illustrated walkthrough

The following reference screenshots come from the documentation walkthrough. The current measured run is recorded separately above.

workflow

workflow

The captured run used local alias ghcr.io/uffescience/akoflow-examples/montage-050-local:local-5781d026f51ba438. Its complete filesystem layers, runtime configuration, OS and architecture were compared with the public digest above and match; the recorded capture preserves the original image reference.

Images & executables

Software referenced by the published workflow.

OCI

ghcr.io/uffescience/akoflow-examples/montage-050-local:local-5781d026f51ba438

Used by mprojectid0000001, mprojectid0000002, mprojectid0000003, mprojectid0000004, mdifffitid0000005, mdifffitid0000006, mdifffitid0000007, mdifffitid0000008, mdifffitid0000009, mdifffitid0000010, mconcatfitid0000011, mbgmodelid0000012, mbackgroundid0000013, mbackgroundid0000014, mbackgroundid0000015, mbackgroundid0000016, mimgtblid0000017, maddid0000018, mviewerid0000019, mprojectid0000020, mprojectid0000021, mprojectid0000022, mprojectid0000023, mdifffitid0000024, mdifffitid0000025, mdifffitid0000026, mdifffitid0000027, mdifffitid0000028, mdifffitid0000029, mconcatfitid0000030, mbgmodelid0000031, mbackgroundid0000032, mbackgroundid0000033, mbackgroundid0000034, mbackgroundid0000035, mimgtblid0000036, maddid0000037, mviewerid0000038, mprojectid0000039, mprojectid0000040, mprojectid0000041, mprojectid0000042, mdifffitid0000043, mdifffitid0000044, mdifffitid0000045, mdifffitid0000046, mdifffitid0000047, mdifffitid0000048, mconcatfitid0000049, mbgmodelid0000050, mbackgroundid0000051, mbackgroundid0000052, mbackgroundid0000053, mbackgroundid0000054, mimgtblid0000055, maddid0000056, mviewerid0000057, mviewerid0000058.

Execution environment

Configuration from the original capture.

montage-050-local local Docker

CPU-only local execution; no remote capacity is provisioned

Version montage-050-local-v1

Local Docker hostmachine
4 CPU cores8 GiB memory

Execution runtimes

Local Docker host · local · execution

RECORDED OBSERVATIONS

What actually ran

Workflow v1 · Original execution identifiers and measured values.

Executions

1 records
executionstatusalgorithmduration Secondsrecorded Cost USD
montage-050-local-local-79df14ee2e-run-20261115t052715.750879194completedmanual3,196.8059840

Executions record

Complete original fields from the recorded snapshot.

REPRODUCIBILITY

Workflow versions

Inspect immutable definitions, compare changes and download a version.

Published versions

1 records
versionmessagepublishedresultsDetails
v1Official showcase: measured homeserver execution using a public immutable imageNov 15, 20261

Published versions record

Complete original fields from the recorded snapshot.

Experiment results

All published executions across workflow versions. Open an execution to inspect its recorded data.

All experiment results

1 records
executionworkflow Versionstatusmodeduration Secondsrecorded Cost USD
montage-050-local-local-79df14ee2e-run-20261115t052715.750879194v1completedreal3196.80598425865170

All experiment results record

Complete original fields from the recorded snapshot.