From a2615db65b782fd8aad88f4147c67a77375216c8 Mon Sep 17 00:00:00 2001 From: Beat Hubmann Date: Tue, 9 Jan 2024 16:17:20 +0000 Subject: [PATCH 1/4] Clean up and update CI.yml to reflect release of Julia 1.10 --- .github/workflows/CI.yml | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index dda21c1..9c7d7e5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,7 +19,7 @@ jobs: matrix: version: # - '1.0' - - '1.9' + - '1.10' # - 'nightly' os: - ubuntu-latest @@ -39,18 +39,6 @@ jobs: - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v3 - - # Documenter: - # permissions: - # contents: write - # name: Documentation - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v3 - # - uses: julia-actions/julia-buildpkg@v1 - # - uses: julia-actions/julia-docdeploy@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} docs: name: Documentation @@ -61,7 +49,7 @@ jobs: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@v1 with: - version: '1.9' + version: '1.10' - name: Install dependencies run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' - name: Build and deploy From 4ce4ddb85a87c8cbc02b2693808d5bc5e595d8be Mon Sep 17 00:00:00 2001 From: Beat Hubmann Date: Tue, 9 Jan 2024 17:15:34 +0000 Subject: [PATCH 2/4] Expand README.md --- README.md | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0f6d6ab..4b82ffa 100644 --- a/README.md +++ b/README.md @@ -14,26 +14,40 @@ - [License](#license) ## Introduction -`Erebus.jl` is a Julia package developed for computational hydrology simulations in planetesimals. The package is designed to model fluid flow in planetesimals, accounting for various factors such as planetesimal composition, mineralogical and hydrodynamic properties, temperature curves, reaction equations, and other relevant parameters[^1][^2]. +`Erebus.jl` is a Julia package for simulating the geophysical evolution of planetesimals, focusing on two-phase fluid flow. It takes into account factors such as composition, mineralogical and hydrodynamic properties, temperature curves, and reaction rates[^1][^2]. ## Installation -To install `Erebus.jl`, you need to have Julia installed on your system. You can add the package using Julia's package manager. Here's how to do it: +Ensure you have a current version of Julia installed on your system. You can add `Erebus.jl` using Julia's native package manager as follows: ```julia using Pkg -Pkg.add("Erebus") +Pkg.add(url="https://github.com/FormingWorlds/Erebus.jl.git") ``` ## Usage -After installation, you can import and use the package in your Julia scripts as follows: + +### Simulation parameters +Modify the simulation parameters in [```src/constants.jl```](src/constants.jl) as needed. For automated unit/CI testing, refer to [```src/test_constants.jl```](src/test_constants.jl). For production simulation runs, start with the parameters in [```src/prod_constants.jl```](src/prod_constants.jl). + +### Complete simulation runs +Initiate a simulation run with ```julia -O3 --tauto launch.jl /PATH/TO/OUTPUT/```. The `-O3` and `--tauto` flags are used for optimization and automatic threading respectively. All intermediate simulation data is written into HDF-5 compatible ```.jld2``` files in the output directory for later analysis and plotting. The log file ```Erebus_run.log``` in the output directory contains relevant simulation progress and parameters. + +### Manual operations and experiments +After installation, you can import and manually use the package in your Julia scripts as follows: ```julia using Erebus # Your code here ``` -7 -Please refer to the documentation for detailed information on the functions and features provided by `Erebus.jl`. + +Refer to the linked documentation for detailed information on the internal functions and features provided by `Erebus.jl`. + +### Plotting results + +Use the helper script ```generate_plots.jl``` to generate plots by typing ```julia generate_plots.jl /PATH/TO/OUTPUT/```. The resulting ```.pdf``` plot files are stored in the same directory as the simulation output. Generate animations using the helper script ```generate_animations.jl``` with the command ```julia generate_animations.jl /PATH/TO/OUTPUT/```. The resulting ```.mp4``` animation files are stored in the same directory as the simulation output. + +Note: These helper scripts are independent of the ```Erebus.jl``` package and are provided as-is. They have their own dependencies which need to be fulfilled manually based on your Julia installation. ## Contributing Contributions to `Erebus.jl` are welcome. If you find a bug or have an idea for an improvement or new feature, please open an issue to discuss it. If you'd like to contribute code, please fork the repository, make your changes, and submit a pull request. @@ -42,5 +56,5 @@ Contributions to `Erebus.jl` are welcome. If you find a bug or have an idea for `Erebus.jl` is licensed under the Apache 2.0 license. Please see the `LICENSE` file for more details. Citations: -[^1]: https://doi.org/10.5281/zenodo.7058229 -[^2]: https://doi.org/10.1017/9781316534243 +[^1]: For more information on the simulation code and proof-of-concept experiments, refer to the report https://doi.org/10.5281/zenodo.7058229 +[^2]: For more information on the overall ansatz, refer to the book https://doi.org/10.1017/9781316534243 From 3d95df505389f9c330bee30c4936ff124774eaf7 Mon Sep 17 00:00:00 2001 From: Beat Hubmann Date: Tue, 9 Jan 2024 17:21:58 +0000 Subject: [PATCH 3/4] Update README.md for readability --- README.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b82ffa..2f1675a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,11 @@ Pkg.add(url="https://github.com/FormingWorlds/Erebus.jl.git") Modify the simulation parameters in [```src/constants.jl```](src/constants.jl) as needed. For automated unit/CI testing, refer to [```src/test_constants.jl```](src/test_constants.jl). For production simulation runs, start with the parameters in [```src/prod_constants.jl```](src/prod_constants.jl). ### Complete simulation runs -Initiate a simulation run with ```julia -O3 --tauto launch.jl /PATH/TO/OUTPUT/```. The `-O3` and `--tauto` flags are used for optimization and automatic threading respectively. All intermediate simulation data is written into HDF-5 compatible ```.jld2``` files in the output directory for later analysis and plotting. The log file ```Erebus_run.log``` in the output directory contains relevant simulation progress and parameters. +Initiate a simulation run from the terminal as follows: +``` +julia -O3 --tauto launch.jl /PATH/TO/OUTPUT/ +``` +The `-O3` and `--tauto` flags are used for optimization and automatic threading respectively. All intermediate simulation data is written into HDF-5 compatible ```.jld2``` files in the output directory for later analysis and plotting. The log file ```Erebus_run.log``` in the output directory contains relevant simulation progress and parameters. ### Manual operations and experiments After installation, you can import and manually use the package in your Julia scripts as follows: @@ -45,7 +49,16 @@ Refer to the linked documentation for detailed information on the internal funct ### Plotting results -Use the helper script ```generate_plots.jl``` to generate plots by typing ```julia generate_plots.jl /PATH/TO/OUTPUT/```. The resulting ```.pdf``` plot files are stored in the same directory as the simulation output. Generate animations using the helper script ```generate_animations.jl``` with the command ```julia generate_animations.jl /PATH/TO/OUTPUT/```. The resulting ```.mp4``` animation files are stored in the same directory as the simulation output. +Use the helper script ```generate_plots.jl``` to generate plots by typing: +``` +julia generate_plots.jl /PATH/TO/OUTPUT/ +``` + +The resulting ```.pdf``` plot files are stored in the same directory as the simulation output. Generate animations using the helper script ```generate_animations.jl``` with the command: +``` +julia generate_animations.jl /PATH/TO/OUTPUT/ +``` +The resulting ```.mp4``` animation files are stored in the same directory as the simulation output. Note: These helper scripts are independent of the ```Erebus.jl``` package and are provided as-is. They have their own dependencies which need to be fulfilled manually based on your Julia installation. From ac61c1f80bcbb2b024b27de60056e6bedea82218 Mon Sep 17 00:00:00 2001 From: Beat Hubmann Date: Tue, 9 Jan 2024 17:23:29 +0000 Subject: [PATCH 4/4] Update README.md with link to docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f1675a..b995820 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ using Erebus # Your code here ``` -Refer to the linked documentation for detailed information on the internal functions and features provided by `Erebus.jl`. +Refer to the [linked documentation](https://formingworlds.github.io/Erebus.jl/dev) for detailed information on the internal module functions and features provided by `Erebus.jl`. ### Plotting results