Skip to content

dirac-institute/kbmod-wf

Repository files navigation

kbmod-wf

Template

PyPI GitHub Workflow Status Codecov Read The Docs

This project was automatically generated using the LINCC-Frameworks python-project-template.

A repository badge was added to show that this project uses the python-project-template, however it's up to you whether or not you'd like to display it!

For more information about the project template see the documentation.

Dev Guide - Getting Started

Before installing any dependencies or writing code, it's a great idea to create a virtual environment. LINCC-Frameworks engineers primarily use conda to manage virtual environments. If you have conda installed locally, you can run the following to create and activate a new environment.

>> conda create env -n <env_name> python=3.10
>> conda activate <env_name>

Once you have created a new environment, you can install this project for local development using the following commands:

>> pip install -e .'[dev]'
>> pre-commit install
>> conda install pandoc

Notes:

  1. The single quotes around '[dev]' may not be required for your operating system.
  2. pre-commit install will initialize pre-commit for this local repository, so that a set of tests will be run prior to completing a local commit. For more information, see the Python Project Template documentation on pre-commit
  3. Install pandoc allows you to verify that automatic rendering of Jupyter notebooks into documentation for ReadTheDocs works as expected. For more information, see the Python Project Template documentation on Sphinx and Python Notebooks

Example runtime configuration file

The following is what Drew uses when running the workflow on Klone

# All values set here will be applied to the resource configuration prior to 
# calling parsl.load(config). Even if the key does't exist in the resource
# config, it will be added with the value defined here.
[resource_config_modifiers]
checkpoint_mode = 'task_exit'


# Values in the apps.XXX section will be passed as a dictionary to the corresponding
# app. e.g. apps.create_uri_manifest will be passed to the create_uri_manifest app.
[apps.create_manifest]
# The path to the staging directory
# e.g. "/gscratch/dirac/kbmod/workflow/staging"
staging_directory = "/gscratch/dirac/kbmod/workflow/staging"
output_directory = "/gscratch/dirac/kbmod/workflow/staging/scsn"
file_pattern = "*.collection"

[apps.ic_to_wu]
# The path to the KBMOD search config file
# e.g. "/gscratch/dirac/kbmod/workflow/kbmod_search_config.yaml"
search_config_filepath = "/gscratch/dirac/kbmod/workflow/staging/search_config.yaml"
butler_config_filepath = "/gscratch/dirac/DEEP/repo/butler.yaml"
overwrite = false

[apps.reproject_wu]
# Number of processors to use for parallelizing the reprojection
n_workers = 32
# The name of the observation site to use for reflex correction
observation_site = "ctio"

[apps.kbmod_search]
# The path to the KBMOD search config file
# e.g. "/gscratch/dirac/kbmod/workflow/kbmod_search_config.yaml"
search_config_filepath = "/gscratch/dirac/kbmod/workflow/staging/search_config.yaml"