asgs icon indicating copy to clipboard operation
asgs copied to clipboard

add options to `init-asgs.sh` for better UX and use case support

Open wwlwpd opened this issue 1 year ago • 4 comments

Quick Start options:

  • [ ] --branch - used with -b, specifies a branch to switch to before building
  • [ ] --compiler-family with -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 if mpif90 is found in the users default $PATH; useful for gfortran based installs on HPC environments)

wwlwpd avatar Mar 19 '24 18:03 wwlwpd

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.

jasonfleming avatar Mar 20 '24 14:03 jasonfleming

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!

wwlwpd avatar Mar 20 '24 16:03 wwlwpd

I'm interested in hearing more about the new UX ... will this be the inside out asgsh you talked about?

jasonfleming avatar Mar 20 '24 17:03 jasonfleming

I'm interested in hearing more about the new UX ... will this be the inside out asgsh you talked about?

exactly

wwlwpd avatar Mar 20 '24 17:03 wwlwpd