add options to `init-asgs.sh` for better UX and use case support
Quick Start options:
- [ ]
--branch- used with-b, specifies a branch to switch to before building - [ ]
--compiler-familywith-b, to specify a non-default compiler family to use - [ ]
--shell-only- only deploys shell environment (super fast), equivalent to-x "--update-shell"; mutually exclusive(?)
Use Case Support options:
- [ ]
--with-adcirc-support- explicitly build stuff required to support ADCIRC builds, used alone equivalent to-x "--run-steps hdf5,netcdf4"(implicitly includes shell) - [ ]
--with-devel-support- explicitly build stuff required to support advanced development and tool-set, used alone this is equivalent to-x --run-steps "perl,perl-modules"
Exclusionary options:
- [ ]
--without-adcirc-utils- explicitly DO NOT build the compiled Fortran utilities, used alone is equivalent to-x "skip-steps wgrib2,cpra-postproc,output,util,input-mesh,input-nodalattr" - [ ]
--without-extras- explicitly DO NOT build the extra open source tools support, equivalent to `-x "--skip-steps image-magick,ffmpeg,gnuplot,units,nco,pigz"
Considering:
-
--without-forecast-support(not sure what this would be but communicates a valid intended use case) -
--force-openmpi(build distributed OpenMPI (v. 1.8.1) even ifmpif90is found in the users default$PATH; useful for gfortran based installs on HPC environments)
The Quick Start options are great. Sounds like we won't need -x "--update-shell" after this change.
For the Use Case Support options, I suggest --with-adcirc-builder as the name of the first option. Would be nice to add something on here to automatically build a particular version, maybe the latest release version as the default.
For the --with-devel-support, the exclusionary options, and other use case options, I think we need to work through the audiences and use cases. I will create a readme on the tools site for us to discuss.
asgs-brew.pl has an adcirc step, but we don't ever use it and I am not sure how crusty it is. I should change it to run ./bin/init-adcirc.sh, this might be the first version of adcircbrew, which would be equivalent to, ./update-asgs --build-adcirc - essentially that is a wrapper created by the installer that saves the initial parts of the asgs-brew.pl commands (compiler type, initial install path, etc). It then invokes asgs-brew.pl to run stuff under the default environment. init-asgs.sh is really just a commandline argument builder for asgs-brew.pl - sorry, I know that's a lot of dense detail coupled with me brainstorming, but it's helping!
I'm interested in hearing more about the new UX ... will this be the inside out asgsh you talked about?
I'm interested in hearing more about the new UX ... will this be the inside out asgsh you talked about?
exactly