Skip to content

Deprecate ./build_tsmp2.sh --<component-model> in favor of ./build_tsmp2.sh <component-model> #114

Open

Description

@kvrigor

Instead of typing ./build_tsmp2.sh --eclm --parflow --icon, prefer ./build_tsmp2.sh eclm parflow icon.

More generally, build_tsmp2.sh should make a distinction between options and arguments, e.g. ./build_tsmp2.sh --<options> <arguments>. The component models should be interpreted as arguments while the rest of the switches are options. How to distinguish between these two?

  • arguments: What the script/utility acts on. Examples might make this clearer:
    • ls <which directories to list>
    • cp <source and destination files/folders>
    • ssh <what server to connect to>
    • tar <what files/folders to archive>
    • build_tsmp2.sh <what model/s to build>
  • options: Modifies the default behavior of a script/utility. Usually options are optional (but not always).

The inspiration for --<options>/<arguments> distinction comes from POSIX conventions and GNU coding standards.

Activity

  1. changed the title [-]Deprecate `--<component-model>` in favor of `<model>`[/-] [+]Deprecate `./build_tsmp2.sh --<component-model>` in favor of `./build_tsmp2.sh <component-model>`[/+] on Nov 28, 2025
  2. moved this from New features to Housekeeping in TSMP2: Towards Stages/2026 supporton Jan 13, 2026
  3. mvhulten commented on Jun 3, 2026

    @mvhulten
    Contributor

    POSIX does not make this distinction as such. The arguments they mention are option arguments or arguments to the options, not directly to the utility.

    Nonetheless, I welcome the change.

    Standards often lag behind common practise (or de facto standards as you will).

  4. linked a pull request that will close this issueTowards TSMP2-GPU on JUPITER #147on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    build-scriptsIssues related to CMake and/or build_tsmp2.sh

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions