Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
624 commits
Select commit Hold shift + click to select a range
5565623
clean up
aaronjridley Jun 3, 2025
1b37260
clean up
aaronjridley Jun 3, 2025
22fa756
clean up
aaronjridley Jun 3, 2025
122d97c
clean up
aaronjridley Jun 3, 2025
7823215
clean up
aaronjridley Jun 3, 2025
9cecceb
clean up
aaronjridley Jun 3, 2025
b5b7562
clean up
aaronjridley Jun 3, 2025
4b5201b
consistent names
aaronjridley Jun 3, 2025
1ed61a7
updated directories
aaronjridley Jun 3, 2025
cb3a763
updated directories
aaronjridley Jun 3, 2025
c9b2f76
cleaned up
aaronjridley Jun 3, 2025
b26e790
cleaned up
aaronjridley Jun 3, 2025
61715a9
cleaned up
aaronjridley Jun 3, 2025
d351f7e
cleaned up
aaronjridley Jun 3, 2025
13abd97
cleaned up
aaronjridley Jun 3, 2025
5e9e848
cleaned up
aaronjridley Jun 3, 2025
f911060
cleaned up
aaronjridley Jun 3, 2025
b73d169
cleaned up
aaronjridley Jun 3, 2025
39dc928
isn't used anymore
aaronjridley Jun 3, 2025
64869bd
moved into calc electron temperature
aaronjridley Jun 3, 2025
cf49479
not needed
aaronjridley Jun 3, 2025
846d13a
IDL code? Nope
aaronjridley Jun 3, 2025
ebe2645
removed this file
aaronjridley Jun 3, 2025
2c35a1d
dont need _new
aaronjridley Jun 3, 2025
d9cbcbb
dont need _new
aaronjridley Jun 3, 2025
42c3a92
this file is basically empty
aaronjridley Jun 3, 2025
48c87f9
old file
aaronjridley Jun 3, 2025
55a1a11
clean the clean
aaronjridley Jun 3, 2025
aac2300
resolving merges
aaronjridley Jun 3, 2025
50b4060
BUG: everything needs to be python3 now...
aaronjridley Jun 3, 2025
2e53157
Change clean to cleanall to be consistent
aaronjridley Jun 3, 2025
ea23928
moved planet specific files
aaronjridley Jun 4, 2025
ba94a28
I don't know why this worked before?
aaronjridley Jun 4, 2025
2947f6b
testbug: fix name of sme_indices in test files
abukowski21 Jun 4, 2025
4422537
Merge pull request #52 from GITMCode/electrodynamics
aaronjridley Jun 4, 2025
230a34a
testSty: formatting run_all_tests.sh for readability
abukowski21 Jun 4, 2025
34484a5
test: add error to test if GITM can't compile
abukowski21 Jun 4, 2025
6150f10
test: compile tests in parallel by default.
abukowski21 Jun 4, 2025
65a6107
clean up help message in run_all_tests.sh
abukowski21 Jun 4, 2025
bdab700
TEST/FEAT: test script now checks and/or saves reference solutions
abukowski21 Jun 4, 2025
33930e9
testbug: force re-building run/. Rename GITM/run if it exists.
abukowski21 Jun 4, 2025
dfe80a7
test: Add ability to make distclean before testing anything
abukowski21 Jun 4, 2025
eb7b01e
update checklist & outline
abukowski21 Jun 4, 2025
6b1ed2e
doc: build local docs faster with `mkdocs serve`
abukowski21 Jun 4, 2025
9e80dfc
doc: add, edit common inputs page
abukowski21 Jun 4, 2025
3d13880
add references to sections to md refpage
abukowski21 Jun 4, 2025
94fcbb7
update common_inputs.md and all_inputs.md
abukowski21 Jun 4, 2025
4fe9299
BUG: inputs_to_tex should return 0 when successful
abukowski21 Jun 4, 2025
7840cf3
DOC: Create page with every input, and a python script to wrap src/in…
abukowski21 Jun 4, 2025
d46b621
doc: rewrite all of the output page. remove all python & idl stuff
abukowski21 Jun 5, 2025
7b75258
doc: remove old quickstart page (from last manual)
abukowski21 Jun 5, 2025
41ef716
fix final broken links
abukowski21 Jun 5, 2025
aedb838
doc: specify the table of contents. Site looks so much better now
abukowski21 Jun 5, 2025
8663d01
Update #todo list. organize dev stuff better
abukowski21 Jun 6, 2025
21568ee
sty: format run_all_tests.sh. consistent use of brakckets in if st8ments
abukowski21 Jun 9, 2025
5968200
doc: better help message in runalltests
abukowski21 Jun 9, 2025
8e122bb
test: run_all_tests.sh requires GITM to already have been config'ed
abukowski21 Jun 9, 2025
2d81243
test: oversubscribe is false by default (T for GH tests), and GH test…
abukowski21 Jun 9, 2025
187b45e
typos, add link to aether student page
abukowski21 Jun 16, 2025
033f789
add electrodynamics section
abukowski21 Jun 16, 2025
a015671
doc: update readme: links to new docs, some formatting, outdated info
abukowski21 Jun 17, 2025
91762c2
doc: move & rename some pages
abukowski21 Jun 17, 2025
a1c70aa
MAINT: Remove latex docs!
abukowski21 Jun 17, 2025
bd52b62
doc: typos, clarification, style, formatting, etc... minor changes.
abukowski21 Jun 17, 2025
b46d8a6
doc: change theme! I like this one more
abukowski21 Jun 17, 2025
f4e2edc
doc: update to new admonitions
abukowski21 Jun 17, 2025
40356b2
doc: create faq.md (mostly a template - not a lot here yet)
abukowski21 Jun 17, 2025
ade47a7
fix the one where the same citation was defined twice.
abukowski21 Jun 17, 2025
37c32fa
BUG: Wouldn't compile on MacOS without this. Dirty, ugly bug fix. Can…
abukowski21 Jun 18, 2025
68b255a
TEST: Add test compilation on MacOS to prevent this from happening again
abukowski21 Jun 18, 2025
91eee84
DOC: Change "dev team" page to be a link to github contributions
abukowski21 Jun 18, 2025
4387b19
DOC: Add link to contributing page, update it
abukowski21 Jun 18, 2025
6bd9df3
Merge pull request #57 from GITMCode/test_improvements
aaronjridley Jun 18, 2025
09e7704
doc: add github repo info to site env vars
abukowski21 Jun 18, 2025
6c3d708
doc: reformat & edit grid page
abukowski21 Jun 18, 2025
5418a24
Merge branch 'develop' into MacosBugFixes - get updated test script
abukowski21 Jun 18, 2025
2e03bca
FEAT: cleaning up makefiles
aaronjridley Jun 18, 2025
9ab1eb9
Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
aaronjridley Jun 18, 2025
714d076
BUG: first time electrodynamics is downloaded, needs DEPEND
aaronjridley Jun 18, 2025
526c25d
makefile cleanup
aaronjridley Jun 18, 2025
bae42b0
FEAT: Attempt to pull ext/Electrodynamics in Config.pl. Not error if …
abukowski21 Jun 18, 2025
a5e6f2f
TEST: Turn off MacOS output comparing. Will fix later.
abukowski21 Jun 18, 2025
ffdcf90
TEST: tests were not writen correctly
abukowski21 Jun 18, 2025
f5c152e
TEST: lower test tolerance
abukowski21 Jun 18, 2025
77483a5
FEAT: Create version number when compiling
abukowski21 Jun 18, 2025
bddf66e
FEAT: Output version in header files
abukowski21 Jun 18, 2025
a29d104
TEST: Only run one GitHub test on MacOS
abukowski21 Jun 18, 2025
3e775ae
STY: formatting. geez.
abukowski21 Jun 18, 2025
c863d1d
Merge pull request #59 from GITMCode/MacosBugFixes
abukowski21 Jun 18, 2025
8f8e8a8
BUG: Version was not correctly read by all compilers
abukowski21 Jun 19, 2025
9482614
BUG: Log file had a typo
abukowski21 Jun 19, 2025
318e0f2
TEST: Update ref solutions. Log file header has changed.
abukowski21 Jun 19, 2025
2c59d5d
get more amie types
aaronjridley Jun 20, 2025
bb9a37b
BUG: screwed up nopole stuff
aaronjridley Jun 20, 2025
973f451
BUG: need to make sharelib and not lib
aaronjridley Jun 20, 2025
9581982
python3 seems to be prefered over python
aaronjridley Jun 20, 2025
3ec5590
modify average energy instead of passing multiplication
aaronjridley Jun 20, 2025
5c6026c
make plots a bit smaller
aaronjridley Jun 20, 2025
3f3260b
Merge pull request #60 from GITMCode/versionfix
aaronjridley Jun 20, 2025
a81c6ed
heating rates in K/s instead of mixed
aaronjridley Jun 20, 2025
57f976c
Can work with SWMF inputs too
aaronjridley Jun 20, 2025
2650ece
BUG: Change version to float so python postprocessor works
abukowski21 Jul 1, 2025
8f82890
Added saber_compare.py, saber_download.py, thermo_compare.py, and tim…
DanBrandt Jul 1, 2025
c5e528c
Merge pull request #61 from DanBrandt/develop
aaronjridley Jul 9, 2025
1d95cc5
updated with more text
aaronjridley Jul 10, 2025
1f2323c
updating docs
aaronjridley Jul 11, 2025
699e0ad
bug: need a space to make bullets
aaronjridley Jul 11, 2025
4f65f12
a relatively standalone plotter that is simple
aaronjridley Jul 11, 2025
cf47675
updating docs
aaronjridley Jul 11, 2025
223d9ab
BUG: need to decode string
aaronjridley Jul 11, 2025
9415f7e
added a description of plotting functions
aaronjridley Jul 11, 2025
a93307c
Changed the plotting function
aaronjridley Jul 11, 2025
bdec6c6
updated to include links to plotting
aaronjridley Jul 11, 2025
7043e48
BUG: wrong link for plotters
aaronjridley Jul 11, 2025
4f41022
added descriptions of some data-model comparison tools
aaronjridley Jul 11, 2025
4cb34f8
layout changes in electrodynamics section for aurora stuff
abukowski21 Jul 11, 2025
24c9c6d
reorganize order
aaronjridley Jul 11, 2025
0c5a687
Merge remote-tracking branch 'refs/remotes/origin/docs' into docs
aaronjridley Jul 11, 2025
c2087b0
FEAT: add polar rain
aaronjridley Jul 14, 2025
94005d2
rescale winds
aaronjridley Jul 14, 2025
4ddbcdd
report before finalize
aaronjridley Jul 14, 2025
edfaac7
add timing to finalize
aaronjridley Jul 14, 2025
b1e2f89
added some notes
aaronjridley Jul 14, 2025
6f87930
DOC: change layout of set_inputs; fixes TOC in sidebar
abukowski21 Jul 15, 2025
c790fd1
DOC: Add plotters.md to doc site
abukowski21 Jul 15, 2025
987987a
DOC: Fix link to `auroramods` page
abukowski21 Jul 15, 2025
119b4d3
remove todo lists from docs pages
abukowski21 Jul 15, 2025
94be073
merged
aaronjridley Jul 18, 2025
6b4c6fd
Merge remote-tracking branch 'origin/develop' into docs
abukowski21 Jul 23, 2025
1e2ca5f
MAINT: Create version file in src/.version so the code knows what ver…
abukowski21 Jul 23, 2025
5566164
DOC: add a little doc on versions
abukowski21 Jul 23, 2025
0837ca6
BUG: deallocate ColumnIntegralRho, issue #63
abukowski21 Jul 24, 2025
79cd160
DOC: address Sree's comments & format home page of the documentation
abukowski21 Jul 24, 2025
059f2d8
DOC: Sree's comments, formatting
abukowski21 Jul 24, 2025
497d674
DOC: Sree's comments on common_inputs & beef up satellite section
abukowski21 Aug 1, 2025
d74d1d2
doc/sty: line lengths
abukowski21 Aug 4, 2025
3b5e510
TEST: remove documentation from github tests; it's moved
abukowski21 Aug 4, 2025
fcb3762
DOC: Typo
abukowski21 Aug 8, 2025
b725005
BUG/STY: postprocessor specified verbosity argument twice
abukowski21 Aug 18, 2025
44c885c
feat: add netcdf writing (appending) to pGITM.py
abukowski21 Aug 18, 2025
a9fbda8
feat: add netcdf options to post_process.py
abukowski21 Aug 18, 2025
874e699
add error handling and more info to help
abukowski21 Aug 18, 2025
798f071
error if postgitm.exe & write_nc are specified. This could work, but …
abukowski21 Aug 18, 2025
79bc95a
docstring formatting
abukowski21 Aug 18, 2025
edfab92
doc: note in index.md that docs are only valid for develop
abukowski21 Aug 27, 2025
87a2704
remove unused section `ovationsme` from set_inputs.f90
abukowski21 Aug 27, 2025
b6d9219
doc: add blurb to beginning of set_inputs.md
abukowski21 Aug 27, 2025
919c2c6
doc: remove unused sections in set_inputs.md
abukowski21 Aug 27, 2025
a8122f0
TYPO: Fix typo "modifiy" -> "modify" in set_inputs.f90
abukowski21 Aug 27, 2025
5f91094
remove set_inputs.py. Unused since we reorganized set_inputs.md
abukowski21 Aug 27, 2025
9747c7b
DOC: Revamp the all inputs page
abukowski21 Aug 28, 2025
d8c18d4
TEST: Add gfortran symlink and update PATH in macos test
abukowski21 Sep 1, 2025
fe14a16
[test]: Fix gfortran symlink in test script; hardcode version
abukowski21 Sep 1, 2025
033a7a4
Merge pull request #66 from GITMCode/docs
aaronjridley Sep 3, 2025
917daa7
BUG: MSIS density BCs not actually set, ok in main branch
aaronjridley Sep 9, 2025
c3e30ac
fprettify, yo
aaronjridley Sep 9, 2025
a870f88
TEST: Update reference solutions
abukowski21 Sep 9, 2025
7924b77
update version file for impending PR acceptance
abukowski21 Sep 9, 2025
0cadefd
Merge pull request #67 from GITMCode/develop_bug_01
abukowski21 Sep 9, 2025
060aa03
Improve arg handling for netCDF & require pyitm for nc postproc
abukowski21 Sep 10, 2025
0a00a88
pGITM.py: redo how netcdfs are written/appended
abukowski21 Sep 10, 2025
b65cd13
pGITM: use PyITM for postprocessing/renaming variables (only netCDF)
abukowski21 Sep 10, 2025
58c1445
adjustments to deal with very low fluxes and average energies
aaronjridley Sep 10, 2025
001cdd9
spaces
aaronjridley Sep 10, 2025
ca93be9
spacing and comments
aaronjridley Sep 10, 2025
17bcf3c
cleaning up verbose
aaronjridley Sep 10, 2025
baff949
fprettify, yo
aaronjridley Sep 10, 2025
11d9bf9
allow direct execution of this
aaronjridley Sep 10, 2025
68cbd82
update for electrodynamics
aaronjridley Sep 10, 2025
8fbc461
Sort most of the existing python code
abukowski21 Sep 10, 2025
c604ce0
FEAT: plot_drivers.py can accept args, work with/out ae/imf
abukowski21 Sep 10, 2025
e410e22
Merge pull request #69 from GITMCode/postprocnetcdf
aaronjridley Sep 10, 2025
5a25876
BUG: Syntax errors in pGITM's netcdf processing for 2D files
abukowski21 Sep 10, 2025
8408378
BUG: rm extra verbosity
abukowski21 Sep 10, 2025
ae78811
BUG: netcdf postprocessed files were ~30x larger than they should be
abukowski21 Sep 10, 2025
01ca264
Merge branch 'develop' into more_amie_types
abukowski21 Sep 14, 2025
c23e6a9
TEST: Update reference solutions for new lower precip limits
abukowski21 Sep 14, 2025
f8dc2db
Update version & fix typo
abukowski21 Sep 14, 2025
313ad6e
Put version info into run_information.txt
abukowski21 Sep 14, 2025
cbcf37c
fprettify, yo
abukowski21 Sep 14, 2025
96dc045
Merge pull request #68 from GITMCode/more_amie_types
abukowski21 Sep 14, 2025
e35b71c
Limit IMF to enhance stability during large storms
abukowski21 Sep 15, 2025
0fee588
FEAT: Separate minimum ion limits for non/advected species
abukowski21 Sep 15, 2025
269b997
bug? Te=Ti=Tn in lowest altitude ghost cells
abukowski21 Sep 15, 2025
ae34d58
Update references to ionlimits, adding advected ions' limit
abukowski21 Sep 15, 2025
16371cb
Update logfiles for ionlims, Tn=Te=Ti, IMF limits
abukowski21 Sep 15, 2025
d9c6b02
Update version
abukowski21 Sep 15, 2025
c781e18
Merge pull request #70 from GITMCode/stability
aaronjridley Sep 16, 2025
4cb1358
python3 is default now
aaronjridley Sep 29, 2025
ae251a0
python3 is default now
aaronjridley Sep 29, 2025
9c033cf
Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
aaronjridley Sep 29, 2025
8ffdbc9
FEAT: allow multiple AMIE files
aaronjridley Oct 2, 2025
919e8c6
FEAT: allow multiple AMIE files
aaronjridley Oct 2, 2025
8684b0e
FEAT: allow multiple AMIE files
aaronjridley Oct 2, 2025
7f4386e
remove one space
aaronjridley Oct 2, 2025
ec199d9
only output one f107 value if needed
aaronjridley Oct 2, 2025
a15a2c2
allow plotting of dst if asked for
aaronjridley Oct 2, 2025
816605a
download Dst, parse the data, and return it as a dictionary
aaronjridley Oct 2, 2025
f6d293f
add more info to calculate statistics
aaronjridley Oct 2, 2025
b690882
FEAT: add CPCP to log file
aaronjridley Oct 6, 2025
48fcc06
try to stop numbers from colliding
aaronjridley Oct 21, 2025
b347171
slight correction
aaronjridley Oct 21, 2025
26bd62c
force n/s hemispheric power to be the same if norm is true
aaronjridley Oct 21, 2025
74d1432
FEAT: Show settings when running Config.pl with -s
abukowski21 Oct 22, 2025
181f10d
auto-detect gfortran > 10 if compiler=gfortran in Config.pl
abukowski21 Oct 22, 2025
2200c8e
DOC: Update docs saying gfortran10 is not necessary
abukowski21 Oct 22, 2025
fddd212
Update test solutions
abukowski21 Oct 22, 2025
cab0ae8
Remove call to calc_electrodynamics from finalize
abukowski21 Oct 22, 2025
18d6772
FEAT: Add neutral lower limits
abukowski21 Oct 22, 2025
9de2ace
fix reference date in netcdf postprocessing
abukowski21 Oct 22, 2025
759d578
fix edge case in netcdf postproc
abukowski21 Oct 22, 2025
bac7f77
STY: Fprettify, yo
abukowski21 Oct 22, 2025
1f1c6ba
Merge pull request #72 from GITMCode/amie_file_mods
aaronjridley Oct 22, 2025
ac5a96e
dont need to call this here
aaronjridley Oct 24, 2025
acc3244
BUG: set grid in aurora section
aaronjridley Oct 24, 2025
0f6ee54
BUG: initialize the potential and aurora
aaronjridley Oct 24, 2025
41fc90b
Merge branch 'develop' into first_time
abukowski21 Oct 30, 2025
f7bdb39
BUG/STY: Move calls to calc_physics/rates/collisions out of electrody…
abukowski21 Nov 3, 2025
52d2e53
sty: fix comments in logfile column widths
abukowski21 Nov 3, 2025
3533d16
fix typo in comment in run_all_tests.sh
abukowski21 Nov 3, 2025
78aa3fd
change test tolerance since logfiles only have one decimal point
abukowski21 Nov 3, 2025
96ef740
test: better handling of logfiles
abukowski21 Nov 3, 2025
14d9629
TEST: More tests!
abukowski21 Nov 3, 2025
57a7aee
TEST: Update all reference solutions...
abukowski21 Nov 3, 2025
cf665bf
sty: fprettify, yo!
abukowski21 Nov 3, 2025
69cf3ee
BUG: Uninitialized variable in MSIS21
abukowski21 Nov 3, 2025
601cbb8
Merge pull request #73 from GITMCode/first_time
aaronjridley Nov 7, 2025
2b52f6d
FEAT: separate magnetospheric and dynamo potentials
aaronjridley Nov 9, 2025
1532663
BUG: stop of aurora or potential is zero
aaronjridley Nov 9, 2025
61d6055
BUG: stop if user asked for something and they get nothing
aaronjridley Nov 9, 2025
c8ed581
FEAT: get max and min values across PEs
aaronjridley Nov 9, 2025
0e1a96d
CPCP calculation moved to get_potential
aaronjridley Nov 9, 2025
f31723d
BUG: if user requests potential or aurora models, stop if no results
aaronjridley Nov 9, 2025
6d5bbcb
STY: fprettify, yo
aaronjridley Nov 9, 2025
49c77eb
BUG: Should be minlat for south and only want the polar region
aaronjridley Nov 9, 2025
a76c88f
BUG: CPCP in south was zero
aaronjridley Nov 9, 2025
b3fbeaa
Clarifications
aaronjridley Nov 10, 2025
389df2c
DOC: Move gfortran version hint
abukowski21 Nov 10, 2025
4ca43c5
doc: some small typos, style things in home page
abukowski21 Nov 10, 2025
5e47ae9
DOC: Install instructions. Fixes:
abukowski21 Nov 10, 2025
558395a
doc: add note on how to do restarts
abukowski21 Nov 10, 2025
b6e2567
remove intro.tex (why was this here still?)
abukowski21 Nov 10, 2025
81b8095
doc: common_inputs: remove bash in codeblocks (funny coloring), edits…
abukowski21 Nov 10, 2025
e05e45b
doc: all_inputs - add amienorth/amiesouth
abukowski21 Nov 10, 2025
34e99e9
doc: add netcdf options to postprocess page
abukowski21 Nov 10, 2025
2db2104
doc: A link to the electrodynamics page from common_inputs
abukowski21 Nov 10, 2025
27c5b3c
Merge pull request #74 from GITMCode/final_fixes
aaronjridley Nov 13, 2025
b80a153
DOC: clarifying and cleaning
aaronjridley Nov 13, 2025
1d6d530
update version
aaronjridley Nov 13, 2025
a518593
Merge branch 'main' into develop
aaronjridley Nov 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .fprettify.rc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ i: 2
recursive
# Excluded files:
# Anything compiled, src/venus.f90 (it's incomplete), old fortran files, makefiles, template files
exclude: ["*.exe","*.o","Venus.f90","*.f","Makef*","*emplate.f90"]
exclude: ["*.exe","*.o","Venus.f90","*.f","Makef*","*emplate.f90","*Msis21.F90"]

# Whitespace option 2 (check fprettify -h for info):
whitespace: 2
Expand Down
45 changes: 30 additions & 15 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,19 @@ and feedback from users.
wish to contribute to GITM. Following these guidelines will ensure a positive
experience for all involved.

## Outline

- [Opening an Issue](#opening-an-issue)
- [Bug Report](#bug-report)
- [Feature Requests](#feature-requests)
- [Pull Requests](#pull-requests)
- [Committing Changes](#committing-changes)
- [Commit Styling](#commit-styling)
- [Code Formatting](#code-formatting)
- [Automatic/Validating Code Formatting](#automaticvalidating-code-formatting)
- [Style Guidelines \& `.fprettify.rc`](#style-guidelines--fprettifyrc)
- [Contributing Guidelines](#contributing-guidelines)
- [Opening an Issue](#opening-an-issue)
- [Bug Report](#bug-report)
- [Feature Requests](#feature-requests)
- [Pull Requests](#pull-requests)
- [Committing Changes](#committing-changes)
- [Commit Styling](#commit-styling)
- [Testing GITM](#testing-gitm)
- [Code Formatting](#code-formatting)
- [Automatic/Validating Code Formatting](#automaticvalidating-code-formatting)
- [Style Guidelines \& `.fprettify.rc`](#style-guidelines--fprettifyrc)

---

## Opening an Issue

Expand All @@ -30,15 +32,15 @@ are creating and then modify the contents of the template to describe your issue

### Bug Report

If you notice a problkem with GITM and are unsure of how to fix it yourself, please
If you notice a problem with GITM and are unsure of how to fix it yourself, please
create a bug report detailing the problem. The template has several optional sections,
so read through them all before adding information to the wrong section.

- **Do not open an issue for problems installing GITM on a specific system.** Since
there is no way to predict all possible systems which GITM will be used on, details on
specific systems cannot be provided. Try the steps in the [README](../README.md) first,
then reach out to #TODO if you need mroe help.
- Please include enough information to allow a maintainer to reproduce your bug
then reach out to the development team if you need more help.
- Please include enough information to allow a maintainer to reproduce your bug,
only seeing the information in the bug report. Forgetting to attach input files or
only saying "the code did not run on system X", for example, will result in a delay.
- Check if another issue is open (or closed) with the same problem. Duplicate issues
Expand Down Expand Up @@ -78,7 +80,7 @@ are working on a feature and notice an unrelated bug or typo, create a new branc
`develop`, fix it, and submit the pull request separately. There is no harm in
submitting many small pull requests!
- **Document your changes**. If you are introducing a new feature, please include
a description of it and its uses in both the documentation (`docs/` folder) and
a description of it and its uses in both the documentation (`srcDoc/` folder) and
in comments within the code.
- **Include new tests**. If you are adding a new feature, please add a sample `UAM.in`
file with this option enabled in the `srcTests/auto_test/` folder. We do not want future updates
Expand Down Expand Up @@ -134,6 +136,19 @@ FEAT: Hydrostatic density implementation.
Implemented hydrostatic density. (feature)
```

## Testing GITM

GITM has a number of tests that are maintained and run automatically on every
release & pull-request. To run these yourself, run the script `run_all_tests.sh`
from within `srcTests/auto_test`. New tests can be added by simply creating
another UAM.in file, and will be run automatically if the file matches the
pattern `UAM.in.*.test`.

It is best practice to create tests as bugs are fixed. For example, if running
GITM in a certain configuration causes a crash, it is recommended to create a
test with this configuration which will help ensure the bug does not sneak back
in with future development.

## Code Formatting

GITM now uses a custom implementation of the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ jobs:
pip install .
- name: Clone GITM
uses: actions/checkout@v4
with:
with:
ref: ${{ github.event.pull_request.head.sha }}
path:
GITM
- name: Format check entire GITM repository
Expand All @@ -47,37 +48,34 @@ jobs:
cd GITM
python srcPython/format_GITM.py -l -s -v ${ALL_CHANGED_FILES}

Documentation:
runs-on: ubuntu-latest
name: Build Documentation
needs: [Format]
steps:
- name: Clone GITM repository
uses: actions/checkout@v4
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v3
with:
root_file: manual.tex
working_directory: srcDoc
- name: Rename GITM Manual
run: mv srcDoc/manual.pdf GITM_manual.pdf
- name: Upload PDF file
uses: actions/upload-artifact@v3
with:
name: PDF
path: GITM_manual.pdf
retention-days: 31

Tests:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
name: Run Automatic Tests
needs: [Format, Documentation]
needs: [Format]
steps:
- name: Install MPI (mpich)
run: sudo apt update && sudo apt install -y mpich
- name: Linux install gfortran & openmpi
if: runner.os == 'Linux'
run: sudo apt update && sudo apt install -y libopenmpi-dev
- name: macOS install gfortran & openmpi
if: runner.os == 'macOS'
run: |
brew update
brew install gcc open-mpi
ln -s $(brew --prefix)/bin/gfortran-15 $(brew --prefix)/bin/gfortran
- name: Clone GITM repository
uses: actions/checkout@v4
- name: Run tests in srcTests/auto_test
- name: Run tests on MacOS (no output checking, only one test)
if: runner.os == 'macOS'
run: |
./Config.pl -install -earth -compiler=gfortran10 -debug
cd srcTests/auto_test
./run_all_tests.sh --oversubscribe --nocompare -o UAM.in.00.default.test
- name: Run tests on Linux
if: runner.os == 'Linux'
run: |
./Config.pl -install -earth -compiler=gfortran10 -debug
cd srcTests/auto_test
./run_all_tests.sh
./run_all_tests.sh --oversubscribe
29 changes: 0 additions & 29 deletions .github/workflows/build-docs.yml

This file was deleted.

7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,10 @@ util/EMPIRICAL/srcEE/Makefile.DEPEND
util/EMPIRICAL/srcIE/Makefile.DEPEND
util/EMPIRICAL/srcUA/Makefile.RULES
util/NOMPI/src/Makefile.RULES

ext/
share/component_share
util/component_util

src/.version
gitstatus.txt
15 changes: 15 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-24.04
tools:
python: "3.12"

mkdocs:
configuration: mkdocs.yml

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: srcDoc/requirements.txt
46 changes: 37 additions & 9 deletions Config.pl
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

# Planet variables
my $ModPlanet = "ModPlanet.f90";
my $Planet;
my $Planet = "Earth"; #set earth to default
my $PlanetOrig;

my $NoFlush;
Expand All @@ -67,6 +67,40 @@
warn "WARNING: Unknown flag $_\n" if $Remaining{$_};
}

# Git clone electrodynamics first!
# (this section will be replaced when GITM switches to the SWMF's share/)
if ($Install and not $IsCompGitm){
# Get the new electrodynamics library!

# Check if the above ran successfully
if( not -d "ext/Electrodynamics"){

my $command = "git clone git\@github.com:GITMCode/Electrodynamics.git ext/Electrodynamics";
print "Attempting to clone GITMCode/Electrodynamics with ssh:\n\t> $command\n";
my $exit_status = `$command`;
# If this fails, the script will *not* crash. Check if it was successful:
if ( -d "ext/Electrodynamics" ) {
print "Electrodynamics was cloned successfully!\n";
} else {
warn "git clone with SSH failed. Trying HTTPS...\n";
&shell_command("git clone https://github.com/GITMCode/Electrodynamics.git ext/Electrodynamics");
# If this fails, the script will exit with an error message
}
} else {
print "ext/Electrodynamics already exists.\n";
my $command = "git -C ext/Electrodynamics pull";
my $exit_status = `$command`;
if (!$exit_status){
print "\next/Electrodynamics could not be updated.\n";
print "==> You may wish to 'git pull' from ext/Electrodynamics manually\n";
print "Continuing config...\n"
}
}
my $command = "touch ext/Electrodynamics/src/Makefile.DEPEND";
print "creating DEPEND file in electrodynamics:\n\t $command\n";
my $exit_status = `$command`;
}

&modify_utilities if $NoFlush;

&install_code if $Install;
Expand All @@ -75,7 +109,7 @@

&set_planet if $Planet and $Planet ne $PlanetOrig;

&show_settings if $Show;
&show_settings_ if $Show;

print "Config.pl -g=$GridSize\n" if $ShowGridSize and not $Show;

Expand Down Expand Up @@ -156,12 +190,6 @@ sub install_code{

# Import the file copy function to avoid calls to system.
use File::Copy;

# if($IsCompGitm){
# Move Util and Share:
# move('share', 'component_share');
# move('util', 'component_util');
# }

return unless $Compiler =~ /ifort/ and $OS =~ /Linux/;
# Unfix object list for Linux/ifort compiler (this is not kosher)
Expand Down Expand Up @@ -226,7 +254,7 @@ sub set_planet{

chdir "..";

&shell_command("cd srcData ; cp UAM.in.$Planet UAM.in");
&shell_command("cd srcData ; cp $Planet/UAM.in.$Planet UAM.in");

if($Planet eq 'Earth'){
$nLon = 9;
Expand Down
Loading
Loading