{"id":22668183,"url":"https://github.com/lanl/artemis","last_synced_at":"2025-04-12T11:03:47.996Z","repository":{"id":260985839,"uuid":"882440723","full_name":"lanl/artemis","owner":"lanl","description":"Astrophysical multifluid radiation hydrodynamics code","archived":false,"fork":false,"pushed_at":"2024-12-04T16:48:21.000Z","size":6079,"stargazers_count":13,"open_issues_count":6,"forks_count":5,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2024-12-04T17:40:03.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://lanl.github.io/artemis/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lanl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-02T19:31:28.000Z","updated_at":"2024-12-04T04:18:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"18d1f3c9-0d25-47c0-85bf-1a218f71699a","html_url":"https://github.com/lanl/artemis","commit_stats":null,"previous_names":["lanl/artemis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fartemis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fartemis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fartemis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lanl%2Fartemis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lanl","download_url":"https://codeload.github.com/lanl/artemis/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228911904,"owners_count":17990774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T15:14:01.970Z","updated_at":"2024-12-09T15:14:02.618Z","avatar_url":"https://github.com/lanl.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Artemis\n\nContributors: Adam Dempsey, Shengtai Li, Alex Long, Patrick Mullen, Ben Ryan, Ryan\nWollaeger\n\nSoftware release number O4811\n\n# Documentation\n\nThe latest documentation is hosted [here](https://lanl.github.io/artemis/index.html)\n\nTo build the documentation locally,\n\n    cd artemis/doc/\n    make html\n\nIf you encounter errors you may need to install additional python packages:\n\n    pip install sphinx pyyaml sphinx_rtd_theme\n\nOnce the documentation is built, if you have built the docs on a remote server (e.g. darwin), to view\nthe documentation in your browser on your local machine, from a terminal on your local machine:\n\n    ssh -L 8080:localhost:8080 brryan@darwin-fe.lanl.gov\n    cd /path/to/artemis/doc/_build/html\n    python3 -m http.server 8080\n\nThen again on your local machine navigate your browser to\n\n    http://localhost:8080\n\nand the documentation should display.\n\n# Required dependencies\n\n* CMake 3.13 or greater\n* C++ compiler (C++17 support)\n* MPI\n* OpenMP\n* HDF5\n* Parthenon\n* singularity-eos\n\n# Environment\n\nOn deployed platforms, the environment with required dependencies can be set up via\n\n    source env/bash\n\nCurrently supported computers/partitions are:\n\n## Darwin\n\n    skylake-gold\n    volta-x86 (gpu)\n\n## Chicoma\n\n    cpu\n    gpu\n\n## Venado\n\n    gg (cpu)\n    gh (gpu)\n\n# Installation\n\n    git submodule update --init --recursive\n    mkdir build\n    cd build\n    cmake ../\n    make -j install\n\n## Submodules\n\nThe most reliable way to update submodule versions is to simply remove the `external`\nfolder:\n\n    rm -rf external/\n\nand re-initialize the submodules\n\n    git submodule update --init --recursive\n\n## Formatting the software\n\nAny contributions to the Artemis software must be compliant with the C++ clang formatter and\nthe Python black formatter.  Linting contributions can be done via an automated formatting\nscript:\n`CFM=clang-format-12 ./style/format.sh`\n\n## Testing\n\nThere is a suite of tests in the `tst/` directory. Tests are run with the included `run_tests.py`\nscript. This script can be run in three ways:\n\n1. With default arguments, where the current version of the source will be built. The resulting\nexecutable can be saved for reuse with `--save_build`, and if saved can be reused in subsequent test\nruns with `--reuse_build`. Note that `--save_build` must continue to be supplied as well to avoid\nthe reused build being deleted after the tests are run.\n2. If the `run_tests.py` script is called from a directory with a valid `artemis` executable, that\nexecutable will be used for testing and will not be cleaned up afterwards.\n3. If the path to an `artemis` executable is provided to the `--exe` option of `run_tests.py`, that\nexecutable will be used for testing and will not be cleaned up afterwards.\n\nIn all cases, the tests will be run from a `tst` directory created in the same folder as the\nexecutable being used. Figures will be created in `artemis/tst/figs` and the log file in\n`artemis/tst`.\n\nTo run the full regression suite, do\n\n    python3 run_tests.py regression.suite\n\nYou can also pass a list of individual tests to the script, or create your own suite file.\n\n## CI\n\nWe use the github CI for regression testing. The CI will not run if the PR is marked \"Draft:\" or\n\"WIP:\". Removing these labels from the title will not automatically launch the CI. To launch the CI\nwith an empty commit, do\n\n    git commit --allow-empty -m \"trigger pipeline\" \u0026\u0026 git push\n\nA portion of the CI is run on LANL's internal Darwin platform. To launch this CI job, someone with\nDarwin access (usually a LANL employee) must first create a Github Personal Access Token, like so:\n\n- `github.com` profile -\u003e `Settings` -\u003e `Developer Settings` -\u003e `Personal Access Tokens` -\u003e `Tokens (classic)`\n- Click the `Generate New Token` button -\u003e `Generate New Token (classic)`\n- Name it something like `artemis_token` in the `Note` box\n- Click the `workflow` checkbox (which will also check the `repo` boxes)\n- `Generate token`\n- You only get to see the token once, so immediately copy it.\n\nStore the token securely in your own environment as `ARTEMIS_GITHUB_TOKEN`, e.g. in your Darwin `~/.bashrc`:\n\n    export ARTEMIS_GITHUB_TOKEN=[token]\n\nand then, again from Darwin, manually launch the CI runner:\n\n    cd artemis\n    ./tst/launch_ci_runner.py [Number of the github PR]\n\nNote that `launch_ci_runner.py` will create a temporary checkout of the current state of the branch associated \nwith this PR according to the `origin` remote, so you don't need to worry about the state of your local checkout \nof `artemis`.\n\n## Release\n\nArtemis is released under the BSD 3-Clause License. For more details see the LICENSE.md\nfile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fartemis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanl%2Fartemis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanl%2Fartemis/lists"}