Skip to content

Commit a8b48d4

Browse files
authored
Merge pull request #195 from nichollsh/hn/taulevel
Calculate photospheric radius as a function of wavelength
2 parents 12cb4b5 + ffbd582 commit a8b48d4

41 files changed

Lines changed: 2315 additions & 364 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CONTRIBUTING.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,7 @@ Unit tests are individual files (`test_consts.jl`, `test_phys.jl`, etc.) include
157157

158158
### Testing Standards
159159

160-
AGNI is scientific simulation code, so the test suite is held to physics-grade rigor. The rules below are the contract; the deep-dive (anti-happy-path patterns, discriminating-value guards, certification markers, adversarial-review trigger, buffer-flip propagation, hypothesis seed stability, solver intermediate-state assertions) lives in `.github/agni-tests.md`. Read that file before editing any test file or any source file under `src/**`. The two files must be kept in sync; if you change one, mirror the change in the other.
161-
160+
AGNI is scientific simulation code, so the test suite is held to physics-grade rigor. The rules below are the contract.
162161

163162

164163
### Anti-happy-path rules (every new test)
@@ -173,7 +172,7 @@ Every new test function MUST include:
173172

174173
- Single-assert test functions.
175174
- Standalone weak assertions as the only meaningful check (e.g. assert result is not None).
176-
- Tests with no function-level docstring.
175+
- Tests with no function-level comment (comments should be a clear statement of the physical scenario or contract clause being verified, and formatted with a `#` symbol).
177176
- Tests using `==` adjacent to float literals.
178177
- Tests asserting on a fixture's implicit default.
179178

@@ -183,8 +182,8 @@ NEVER use `==` for floats. Use functions which check for equality within a toler
183182

184183
### Documentation per test
185184

186-
- File-level docstring: name the source under test, list the invariants and contract clauses the file exercises.
187-
- Function-level docstring: state the physical scenario or contract clause being verified. Required (lint-enforced).
185+
- File-level comment: name the source under test, list the invariants and contract clauses the file exercises (formatted with `#` rather than with quotes).
186+
- Function-level comment: state the physical scenario or contract clause being verified. Required (lint-enforced).
188187
- Inline comments: explain **why** a specific input range was chosen.
189188

190189
**Remember**: Trust these instructions. Only search if information is incomplete or found to be in error.

.github/dependabot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Basic `dependabot.yml` file with
2+
3+
version: 2
4+
updates:
5+
# Enable version updates for Julia packages
6+
- package-ecosystem: "julia"
7+
# Look for `Project.toml` and `Manifest.toml` files in the `root` directory
8+
directory: "/"
9+
# Check for updates once a week
10+
schedule:
11+
interval: "weekly"
12+
13+
# Enable version updates for GitHub Actions
14+
- package-ecosystem: "github-actions"
15+
# Workflow files stored in the default location of `.github/workflows`
16+
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
17+
directory: "/"
18+
schedule:
19+
interval: "weekly"

.github/workflows/documentation.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,18 @@ on:
2121

2222
jobs:
2323
build:
24+
if: github.event.pull_request.draft == false
25+
2426
permissions:
2527
contents: write
2628
pull-requests: read
2729
statuses: write
30+
2831
runs-on: ubuntu-latest
32+
name: documentation
33+
2934
steps:
30-
- uses: actions/checkout@v4
35+
- uses: actions/checkout@v6
3136

3237
- name: NetCDF
3338
run: |
@@ -37,19 +42,19 @@ jobs:
3742
- uses: julia-actions/setup-julia@v2
3843
with:
3944
version: '1.11'
40-
- uses: julia-actions/cache@v1
45+
- uses: julia-actions/cache@v3
4146

4247
- name: Install Documenter
4348
run: julia -e 'using Pkg; Pkg.add(["Documenter", "DocumenterPages"]); Pkg.instantiate()'
4449

4550
# Setup SOCRATES
4651
- name: Get SOCRATES
47-
uses: actions/checkout@v4
52+
uses: actions/checkout@v6
4853
with:
4954
repository: 'FormingWorlds/SOCRATES'
5055
path: 'SOCRATES'
5156

52-
- uses: actions/cache@v4
57+
- uses: actions/cache@v5
5358
id: cache-socrates
5459
with:
5560
path: |

.github/workflows/install_and_test.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33

44
name: Tests
55

6-
permissions:
7-
contents: read
8-
pull-requests: write
9-
106
on:
117
pull_request:
128
branches: [main]
@@ -18,9 +14,15 @@ env:
1814

1915
jobs:
2016
install:
17+
2118
if: github.event.pull_request.draft == false
19+
permissions:
20+
contents: read
21+
pull-requests: write
22+
2223
runs-on: ubuntu-latest
2324
name: install_and_test
25+
2426
steps:
2527
- name: Checkout repository
2628
uses: actions/checkout@v6

.zenodo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
}
2323
],
2424
"title": "AGNI: An open-source model for extreme atmospheres on rocky exoplanets",
25-
"version": "1.10.3",
25+
"version": "1.10.4",
2626
"access_right": "open",
2727
"related_identifiers": [
2828
{

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ title: "AGNI: An open-source model for extreme atmospheres on rocky exoplanets"
1010
doi: 10.21105/joss.07726
1111
date-released: 2025-11-20
1212

13-
version: 1.10.3
13+
version: 1.10.4
1414
url: "https://github.com/nichollsh/AGNI"
1515
type: software
1616
license: "GPL-3.0"
File renamed without changes.

CONTRIBUTING.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# How to contribute to AGNI
2+
3+
## Bug reporting
4+
5+
* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/nichollsh/AGNI/issues).
6+
7+
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/nichollsh/AGNI/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
8+
9+
* For more general information on submitting a bug report, visit [this page](https://www.chiark.greenend.org.uk/~sgtatham/bugs.html).
10+
11+
## Bug fixing
12+
13+
* Open a new GitHub pull request (PR) with the patch.
14+
15+
* Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
16+
17+
* Before submitting, please ensure your changes are consistent with the existing codebase. These can also be viewed in the [API reference guide](https://www.h-nicholls.space/AGNI/dev/reference/api/).
18+
19+
20+
## New features
21+
22+
* Suggest your change on the [issues page](https://github.com/nichollsh/AGNI/issues/new) and start writing code.
23+
24+
## Coding style
25+
- Indentation uses 4 spaces, no tabs.
26+
- Function names should be lowercase, with words separated by underscores .
27+
- Lines should aim to have a length of no more than 92 characters.
28+
- All functions should have docstrings, ideally with Arguments and Returns listed.
29+
- More comments are always better, even if they seem redundant.
30+
- Use type hinting where possible.
31+
- Print statements should be made through the logger where possible.
32+
- The core package code should not contain global variables, except in the phys module.
33+
34+
## Testing
35+
36+
When contributing code changes, please:
37+
- Run the test suite to ensure your changes don't break existing functionality
38+
- Add tests for new features or bug fixes
39+
- Aim for >80% line coverage for new utility functions
40+
- Keep tests fast (avoid expensive setup/teardown when possible)
41+
42+
See the [Testing Documentation](https://www.h-nicholls.space/AGNI/dev/howto/testing/) for detailed information on:
43+
- Running tests locally
44+
- Generating coverage reports
45+
- Adding new tests
46+
- Test design principles
47+
48+
## Queries and questions
49+
50+
* Ask a question about how to use or contribute to AGNI, please use the [discussions page](https://github.com/nichollsh/AGNI/discussions) or contact [Harrison Nicholls](https://www.h-nicholls.space/) directly.
51+
52+
## Open source
53+
54+
AGNI is free, libre, and open source software. I encourage your contributions and suggestions.
55+
56+
Thanks,
57+
-Harrison

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "AGNI"
22
uuid = "ede838c1-9ec3-4ebe-8ae8-da4091b3f21c"
3+
version = "1.10.4"
34
authors = ["Harrison Nicholls <contact@h-nicholls.space>"]
4-
version = "1.10.3"
55

66
[deps]
77
Coverage = "a2441757-f6aa-5fb2-8edb-039e3f45d037"

0 commit comments

Comments
 (0)