Skip to content

Commit 8e044cf

Browse files
authored
Merge pull request #26 from JuliaAstro/table-alignment
Table alignment
2 parents d3a6f90 + d9aa294 commit 8e044cf

File tree

7 files changed

+72
-61
lines changed

7 files changed

+72
-61
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ repos:
5252
hooks:
5353
- id: julia-formatter
5454
- repo: https://github.com/crate-ci/typos
55-
rev: v1
55+
rev: v1.40.0
5656
hooks:
5757
- id: typos

README.md

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,24 +61,35 @@ accuracy and implementation status.
6161

6262
| Algorithm | Reference | Accuracy | Default Refraction | Status |
6363
| --------- | ----------------------------------------------------------------------------------------------- | -------- | ------------------ | ------ |
64-
| PSA | [Blanco-Muriel et al.](https://www.sciencedirect.com/science/article/abs/pii/S0038092X00001560) | ±0.0083° | None ||
65-
| NOAA | [Global Monitoring Laboratory](https://gml.noaa.gov/grad/solcalc/calcdetails.html) | ±0.0167° | HUGHES ||
66-
| Walraven | [Walraven, 1978](<https://doi.org/10.1016/0038-092X(78)90155-X>) | ±0.0100° | None ||
67-
| USNO | [U.S. Naval Observatory](https://aa.usno.navy.mil/faq/sun_approx) | ±0.0500° | None ||
68-
| SPA | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | ±0.0003° | Built-in ||
64+
| PSA | [Blanco-Muriel et al.](https://www.sciencedirect.com/science/article/abs/pii/S0038092X00001560) | ±0.0083° | None | |
65+
| NOAA | [Global Monitoring Laboratory](https://gml.noaa.gov/grad/solcalc/calcdetails.html) | ±0.0167° | HUGHES | |
66+
| Walraven | [Walraven, 1978](<https://doi.org/10.1016/0038-092X(78)90155-X>) | ±0.0100° | None | |
67+
| USNO | [U.S. Naval Observatory](https://aa.usno.navy.mil/faq/sun_approx) | ±0.0500° | None | |
68+
| SPA | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | ±0.0003° | Built-in | |
6969

7070
## Refraction correction algorithms
7171

7272
Atmospheric refraction correction algorithms available in SolarPosition.jl.
7373

7474
| Algorithm | Reference | Atmospheric Parameters | Status |
7575
| --------- | ------------------------------------------------------------------------------------------------ | ---------------------- | ------ |
76-
| HUGHES | [Hughes, 1985](https://pvpmc.sandia.gov/app/uploads/sites/243/2022/10/Engineering-Astronomy.pdf) | Pressure, Temperature ||
77-
| ARCHER | Archer et al., 1980 | None ||
78-
| BENNETT | [Bennett, 1982](https://doi.org/10.1017/S0373463300022037) | Pressure, Temperature ||
79-
| MICHALSKY | [Michalsky, 1988](<https://doi.org/10.1016/0038-092X(88)90045-X>) | None ||
80-
| SG2 | [Blanc & Wald, 2012](https://doi.org/10.1016/j.solener.2012.07.018) | Pressure, Temperature ||
81-
| SPA | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | Pressure, Temperature ||
76+
| HUGHES | [Hughes, 1985](https://pvpmc.sandia.gov/app/uploads/sites/243/2022/10/Engineering-Astronomy.pdf) | Pressure, Temperature ||
77+
| ARCHER | Archer et al., 1980 | None ||
78+
| BENNETT | [Bennett, 1982](https://doi.org/10.1017/S0373463300022037) | Pressure, Temperature ||
79+
| MICHALSKY | [Michalsky, 1988](<https://doi.org/10.1016/0038-092X(88)90045-X>) | None ||
80+
| SG2 | [Blanc & Wald, 2012](https://doi.org/10.1016/j.solener.2012.07.018) | Pressure, Temperature ||
81+
| SPA | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | Pressure, Temperature ||
82+
83+
## Extensions
84+
85+
SolarPosition.jl provides optional extensions that are automatically loaded when you
86+
import the corresponding packages:
87+
88+
| Extension | Trigger Package | Features |
89+
| --------------- | --------------------------------------------------------------------- | ------------------------------------------------- |
90+
| Makie | [`Makie.jl`](https://github.com/MakieOrg/Makie.jl) | Plotting recipes for solar position visualization |
91+
| OhMyThreads | [`OhMyThreads.jl`](https://github.com/JuliaFolds2/OhMyThreads.jl) | Parallel computation of solar positions |
92+
| ModelingToolkit | [`ModelingToolkit.jl`](https://github.com/SciML/ModelingToolkit.jl) | Symbolic solar position models for simulations |
8293

8394
## How to Cite
8495

docs/src/guides/new-algorithm.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -290,19 +290,19 @@ If any checks fail, fix the issues and run pre-commit again until all checks pas
290290

291291
Before submitting your algorithm for review, ensure you've completed the following:
292292

293-
| Task | Description |
294-
| ---- | ----------- |
295-
| Algorithm struct | Subtypes [`SolarAlgorithm`](@ref SolarPosition.Positioning.SolarAlgorithm) |
296-
| Docstring | Includes `TYPEDEF`, `TYPEDFIELDS`, accuracy, and references |
297-
| `_solar_position` | Function implemented with correct signature |
298-
| Default refraction | Handling defined for [`DefaultRefraction`](@ref SolarPosition.Refraction.DefaultRefraction) |
299-
| `result_type` | Function defined for [`DefaultRefraction`](@ref SolarPosition.Refraction.DefaultRefraction) |
300-
| Export | Algorithm exported from both modules |
301-
| Tests | Cover basic functionality, refraction, vectors, and edge cases |
302-
| Test coverage | Ensure tests cover all new code paths |
303-
| Pre-commit | Checks pass (recommended locally, required in CI) |
304-
| Documentation | Add your algorithm to the list of available algorithms and update the tables in `positioning.md`, `README.md` and `refraction.md` if needed |
305-
| Literature | References added to `refs.bib` and cited in docstrings |
293+
| Task | Description |
294+
| ------------------ | ------------------------------------------------------------------------------------------- |
295+
| Algorithm struct | Subtypes [`SolarAlgorithm`](@ref SolarPosition.Positioning.SolarAlgorithm) |
296+
| Docstring | Includes `TYPEDEF`, `TYPEDFIELDS`, accuracy, and references |
297+
| `_solar_position` | Function implemented with correct signature |
298+
| Default refraction | Handling defined for [`DefaultRefraction`](@ref SolarPosition.Refraction.DefaultRefraction) |
299+
| `result_type` | Function defined for [`DefaultRefraction`](@ref SolarPosition.Refraction.DefaultRefraction) |
300+
| Export | Algorithm exported from both modules |
301+
| Tests | Cover basic functionality, refraction, vectors, and edge cases |
302+
| Test coverage | Ensure tests cover all new code paths |
303+
| Pre-commit | Checks pass (recommended locally, required in CI) |
304+
| Documentation | Update algorithm lists in `positioning.md`, `README.md`, and `refraction.md` |
305+
| Literature | References added to `refs.bib` and cited in docstrings |
306306

307307
## Additional Resources
308308

docs/src/guides/parallel.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -186,12 +186,12 @@ pos = StructVector{SolPos{Float64}}(undef, length(times))
186186

187187
On a system with 32 threads processing 527,041 timestamps (one year, minutely):
188188

189-
| Method | Time | Speedup | Allocations |
190-
|--------|------|---------|-------------|
191-
| Serial | 87.9 ms | 1.0× | 12.06 MiB |
192-
| Parallel (DynamicScheduler) | 14.7 ms | **6.0×** | 66.59 MiB |
193-
| In-place (DynamicScheduler) | 5.53 ms | **15.9×** | 20.47 KiB |
194-
| In-place (StaticScheduler) | 5.84 ms | **15.0×** | 15.97 KiB |
189+
| Method | Time | Speedup | Allocations |
190+
| --------------------------- | ------- | ---------- | ----------- |
191+
| Serial | 87.9 ms | 1.0× | 12.06 MiB |
192+
| Parallel (DynamicScheduler) | 14.7 ms | **6.0×** | 66.59 MiB |
193+
| In-place (DynamicScheduler) | 5.53 ms | **15.9×** | 20.47 KiB |
194+
| In-place (StaticScheduler) | 5.84 ms | **15.0×** | 15.97 KiB |
195195

196196
!!! tip "Performance Tips"
197197
For the best performance:

docs/src/index.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,26 +62,26 @@ Here we provide an overview of the solar positioning algorithms currently implem
6262
in SolarPosition.jl. Each algorithm is described with its reference paper, claimed
6363
accuracy and implementation status.
6464

65-
| Algorithm | Reference | Accuracy | Default Refraction | Status |
66-
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -------- | ------------------ | ------ |
67-
| [`PSA`](@ref SolarPosition.Positioning.PSA) | [Blanco-Muriel et al.](https://www.sciencedirect.com/science/article/abs/pii/S0038092X00001560) | ±0.0083° | None ||
68-
| [`NOAA`](@ref SolarPosition.Positioning.NOAA) | [Global Monitoring Laboratory](https://gml.noaa.gov/grad/solcalc/calcdetails.html) | ±0.0167° | [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) ||
69-
| [`Walraven`](@ref SolarPosition.Positioning.Walraven) | [Walraven, 1978](https://doi.org/10.1016/0038-092X(78)90155-X) | ±0.0100° | None ||
70-
| [`USNO`](@ref SolarPosition.Positioning.USNO) | [U.S. Naval Observatory](https://aa.usno.navy.mil/faq/sun_approx) | ±0.0500° | None ||
71-
| [`SPA`](@ref SolarPosition.Positioning.SPA) | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | ±0.0003° | Built-in ||
65+
| Algorithm | Reference | Accuracy | Default Refraction | Status |
66+
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------ | ------ |
67+
| [`PSA`](@ref SolarPosition.Positioning.PSA) | [Blanco-Muriel et al.](https://www.sciencedirect.com/science/article/abs/pii/S0038092X00001560) | ±0.0083° | None | |
68+
| [`NOAA`](@ref SolarPosition.Positioning.NOAA) | [Global Monitoring Laboratory](https://gml.noaa.gov/grad/solcalc/calcdetails.html) | ±0.0167° | [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | |
69+
| [`Walraven`](@ref SolarPosition.Positioning.Walraven) | [Walraven, 1978](https://doi.org/10.1016/0038-092X(78)90155-X) | ±0.0100° | None | |
70+
| [`USNO`](@ref SolarPosition.Positioning.USNO) | [U.S. Naval Observatory](https://aa.usno.navy.mil/faq/sun_approx) | ±0.0500° | None | |
71+
| [`SPA`](@ref SolarPosition.Positioning.SPA) | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | ±0.0003° | Built-in | |
7272

7373
## Refraction correction algorithms
7474

7575
Atmospheric refraction correction algorithms available in SolarPosition.jl.
7676

77-
| Algorithm | Reference | Atmospheric Parameters | Status |
78-
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ---------------------- | ------ |
79-
| [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | [Hughes, 1985](https://pvpmc.sandia.gov/app/uploads/sites/243/2022/10/Engineering-Astronomy.pdf) | Pressure, Temperature ||
80-
| [`ARCHER`](@ref SolarPosition.Refraction.ARCHER) | Archer et al., 1980 | None ||
81-
| [`BENNETT`](@ref SolarPosition.Refraction.BENNETT) | [Bennett, 1982](https://doi.org/10.1017/S0373463300022037) | Pressure, Temperature ||
82-
| [`MICHALSKY`](@ref SolarPosition.Refraction.MICHALSKY) | [Michalsky, 1988](https://doi.org/10.1016/0038-092X(88)90045-X) | None ||
83-
| [`SG2`](@ref SolarPosition.Refraction.SG2) | [Blanc & Wald, 2012](https://doi.org/10.1016/j.solener.2012.07.018) | Pressure, Temperature ||
84-
| [`SPARefraction`](@ref SolarPosition.Refraction.SPARefraction) | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | Pressure, Temperature ||
77+
| Algorithm | Reference | Atmospheric Parameters | Status |
78+
| ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ---------------------- | ------ |
79+
| [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | [Hughes, 1985](https://pvpmc.sandia.gov/app/uploads/sites/243/2022/10/Engineering-Astronomy.pdf) | Pressure, Temperature | |
80+
| [`ARCHER`](@ref SolarPosition.Refraction.ARCHER) | Archer et al., 1980 | None | |
81+
| [`BENNETT`](@ref SolarPosition.Refraction.BENNETT) | [Bennett, 1982](https://doi.org/10.1017/S0373463300022037) | Pressure, Temperature | |
82+
| [`MICHALSKY`](@ref SolarPosition.Refraction.MICHALSKY) | [Michalsky, 1988](https://doi.org/10.1016/0038-092X(88)90045-X) | None | |
83+
| [`SG2`](@ref SolarPosition.Refraction.SG2) | [Blanc & Wald, 2012](https://doi.org/10.1016/j.solener.2012.07.018) | Pressure, Temperature | |
84+
| [`SPARefraction`](@ref SolarPosition.Refraction.SPARefraction) | [Reda & Andreas, 2004](https://doi.org/10.1016/j.solener.2003.12.003) | Pressure, Temperature | |
8585

8686
## How to Cite
8787

docs/src/positioning.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ fig
5656

5757
The following solar position algorithms are currently implemented in SolarPosition.jl:
5858

59-
| Algorithm | Reference | Accuracy | Default Refraction | Status |
60-
| ----------------------------------------------------- | --------------- | ------------- | ------------------ | ------ |
61-
| [`PSA`](@ref SolarPosition.Positioning.PSA) | [BALL01](@cite) | ±0.0083° | None ||
62-
| [`NOAA`](@ref SolarPosition.Positioning.NOAA) | [NOAA](@cite) | ±0.0167° | [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) ||
63-
| [`Walraven`](@ref SolarPosition.Positioning.Walraven) | [Wal78](@cite) | ±0.0100° | None ||
64-
| [`USNO`](@ref SolarPosition.Positioning.USNO) | [USNO](@cite) | ±0.0500° | None ||
65-
| [`SPA`](@ref SolarPosition.Positioning.SPA) | [RA04](@cite) | ±0.0003° | Built-in ||
59+
| Algorithm | Reference | Accuracy | Default Refraction | Status |
60+
| ----------------------------------------------------- | --------------- | -------- | ------------------------------------------------ | ------ |
61+
| [`PSA`](@ref SolarPosition.Positioning.PSA) | [BALL01](@cite) | ±0.0083° | None | |
62+
| [`NOAA`](@ref SolarPosition.Positioning.NOAA) | [NOAA](@cite) | ±0.0167° | [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | |
63+
| [`Walraven`](@ref SolarPosition.Positioning.Walraven) | [Wal78](@cite) | ±0.0100° | None | |
64+
| [`USNO`](@ref SolarPosition.Positioning.USNO) | [USNO](@cite) | ±0.0500° | None | |
65+
| [`SPA`](@ref SolarPosition.Positioning.SPA) | [RA04](@cite) | ±0.0003° | Built-in | |
6666

6767
## [PSA](@id psa-algorithm)
6868

docs/src/refraction.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ true position, especially near the horizon. Image source: [Wikimedia Commons](@c
2323
`SolarPosition.jl` includes several refraction correction algorithms. Below is a summary
2424
of the available algorithms:
2525

26-
| Algorithm | Reference | Atmospheric Parameters | Status |
27-
| ------------------------------------------------------ | -------------- | ---------------------- | ------ |
28-
| [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | [Hug85](@cite) | Pressure, Temperature ||
29-
| [`ARCHER`](@ref SolarPosition.Refraction.ARCHER) | [Arc80](@cite) | None ||
30-
| [`BENNETT`](@ref SolarPosition.Refraction.BENNETT) | [Ben82](@cite) | Pressure, Temperature ||
31-
| [`MICHALSKY`](@ref SolarPosition.Refraction.MICHALSKY) | [Mic88](@cite) | None ||
32-
| [`SG2`](@ref SolarPosition.Refraction.SG2) | [BW12](@cite) | Pressure, Temperature ||
33-
| [`SPARefraction`](@ref SolarPosition.Refraction.SPARefraction) | [RA04](@cite) | Pressure, Temperature ||
26+
| Algorithm | Reference | Atmospheric Parameters | Status |
27+
| -------------------------------------------------------------- | -------------- | ---------------------- | ------ |
28+
| [`HUGHES`](@ref SolarPosition.Refraction.HUGHES) | [Hug85](@cite) | Pressure, Temperature | |
29+
| [`ARCHER`](@ref SolarPosition.Refraction.ARCHER) | [Arc80](@cite) | None | |
30+
| [`BENNETT`](@ref SolarPosition.Refraction.BENNETT) | [Ben82](@cite) | Pressure, Temperature | |
31+
| [`MICHALSKY`](@ref SolarPosition.Refraction.MICHALSKY) | [Mic88](@cite) | None | |
32+
| [`SG2`](@ref SolarPosition.Refraction.SG2) | [BW12](@cite) | Pressure, Temperature | |
33+
| [`SPARefraction`](@ref SolarPosition.Refraction.SPARefraction) | [RA04](@cite) | Pressure, Temperature | |
3434

3535
To calculate refraction, we can use the [`refraction`](@ref SolarPosition.Refraction.refraction) function:
3636

0 commit comments

Comments
 (0)