Original Pull Request appears on aaronjridley/GITM as PR # 17. The changes proposed there have been modified slightly here (and tested) to ensure standalone GITM still functions as expected.
This PR makes a number of updates to GITM to allow for successful integration into the SWMF and full 2-way coupling with the IE module. Specifically,
Big changes:
The UA wrapper has been re-written to work properly with the SWMF.
Added new pGITM.py script for easier automation of GITM postprocessing.
Updates to Makefiles to change behavior during install (e.g., moving GITM share
and util to component_share to avoid conflicts.)
All of the above changes can be tested from the SWMF using make test3, which
will be brought into the nightlies upon acceptance of this PR.
Changes from original PR:
Remove hard-coding of DynamoHighLatBoundary. This was set to 88 within GITM, so commit 6a344ad336e00651992f7c8a35dac90418668caf moved that to UA_wrapper (which sets this value if GITM is run in SWMF mode).
Character lengths erroneously changed in couplefix were corrected with commits e15c742d86e4560ae2a8080ceb375dd30165f05f and 5738ff47003af0aaa9775e8ddc7729609881a7a7
Changes to src/calc_electrodynamics.f90 by couplefix commit 6a840da6cfcfdf96a5f4c5ebf61adad2652169b6 were reverted (mostly) with 760a593d9f2b33e14bb2ce88f95933ac312b404c
sigma_0 calculation bug fix is still in place
AvgDyn was incorrect, so was removed
Was this tested?
Yes. Extensively. Outputs from standalone GITM runs are unchanged.
Checklist:
[x] ~Update documentation~
Not necessary. GITM is not changed in standalone mode
[x] ~Update template UAM.in files~
Not necessary. No features changed in standalone GITM
[x] Make sure code compiles & runs as expected
Some notes:
src/calc_electrodynamics.f90 had to be changed a few times (so commit history got messy), but the result is little net change & everything is working as one would expect.
Open to feedback on all aspects of this. Feel free to make edits, or to comment/contact me with requested changes.
In the future, we want pull requests to merge into develop, and leave updates to master reserved for official releases. Since that's not set up yet, I'm putting this pull request into master. The develop branch is pretty out-of-date and these changes have been thoroughly tested, so it "should" be fine. I'm open to putting this into develop instead and then rebasing the develop branch.
The changes made to the Makefiles cause a couple of warnings to appear when compiling, for example:
Makefile:204: warning: overriding recipe for target 'clean'
These warnings don't break anything, but we should double-check that the recipe for clean actually needs to be re-defined in nested Makefiles.
(in other words) ~/Makefile defines a recipe for clean. Then in ~/src/Makefile, the clean recipe is listed again. Would SWMF compatibility be broken if the recipe is only listed in ~/Makefile?
Original Pull Request appears on
aaronjridley/GITM
as PR # 17. The changes proposed there have been modified slightly here (and tested) to ensure standalone GITM still functions as expected.From the original PR:
Changes from original PR:
couplefix
were corrected with commits e15c742d86e4560ae2a8080ceb375dd30165f05f and 5738ff47003af0aaa9775e8ddc7729609881a7a7couplefix
commit 6a840da6cfcfdf96a5f4c5ebf61adad2652169b6 were reverted (mostly) with 760a593d9f2b33e14bb2ce88f95933ac312b404cWas this tested?
Yes. Extensively. Outputs from standalone GITM runs are unchanged.
Checklist:
Some notes:
develop
, and leave updates tomaster
reserved for official releases. Since that's not set up yet, I'm putting this pull request into master. The develop branch is pretty out-of-date and these changes have been thoroughly tested, so it "should" be fine. I'm open to putting this into develop instead and then rebasing the develop branch.Makefile:204: warning: overriding recipe for target 'clean'
These warnings don't break anything, but we should double-check that the recipe forclean
actually needs to be re-defined in nested Makefiles.~/Makefile
defines a recipe forclean
. Then in~/src/Makefile
, theclean
recipe is listed again. Would SWMF compatibility be broken if the recipe is only listed in~/Makefile
?