NOAA-EMC / GDASApp

Global Data Assimilation System Application
GNU Lesser General Public License v2.1
14 stars 28 forks source link

Create JEDI installs and insert logic for using pre-installed JEDI when building GDASapp #1174

Open danholdaway opened 2 weeks ago

danholdaway commented 2 weeks ago

I wasted a lot of time trying to achieve what's in this PR with clever CMake that didn't work out so I didn't get to finish this cleanly before going on leave but this should be the basis for prepping and then using JEDI installs with GDASapp. Certainly I could see this speeding up all of our development cycles when we're not changing something in JEDI.

The idea would be to be to set an environment variable $SEARCH_FOR_JEDI_INSTALL and then the build script will try to find an install at some path on each machine. The path will be given by a concatenation of all the hashes of all the JEDI repos and an upper path in the module file for each machine.

To prepare these builds the idea would be to have a cron activated script running on the role account that recursively clones GDASapp, runs build.sh -p and then removes GDASapp. It could run nightly for example. That script would also need to decide on how many concurrent builds are allowed and how old they are allowed to get.

This is in no way ready for use. I've prepped all the scripts but haven't tested in this form yet. Up to you guys if you want to try and take this forward while I'm on leave. Otherwise I'll pick it up when I get back.