Skip to content

CAPE 2.0.0

Choose a tag to compare

@nasa-ddalle nasa-ddalle released this 06 Jan 21:20
· 1279 commits to main since this release

New Features

  • Added a command cape --1to2 to help update Python files written against
    the CAPE 1.2 API to the newer module names mentioned below.

  • The main input file can now be a YAML file in addition to the standard
    JSON. However, there is no "include" statement like the JSONFile()
    directive supported in CAPE JSON files.

  • New command-line interface. The CLI supports the commands that would have
    worked for CAPE 1 but also support a new method that allows the user to be
    more explicit about the primary purpose of the command. For example

        $ pyfun --re "m1.2" --report

    is the same as

        $ pyfun report --re "m1.2"

    The new CLI also implements checks so that misspelled or unrecognized
    options will result in an error instead of just ignoring those options.

  • Created a new executable cape-tec that takes a Tecplot(R) layout file
    as input and exports a PNG from that layout.

  • Rewritten interface to RunControl > Archive. Users may now prescribe
    "only keep the most recent file of this set" of multiple patterns in a
    single line. For example ...

        "Archive": {
            "SearchMethod": "regex",
            "clean": {
                "PreDeleteFiles": {
                    "pyfun[0-9]+_([a-z][a-z0-9_-]+)_timestep[0-9]+\\.plt": 1
                }
            }
        }

    This will delete most Tecplot .plt files but keep the most recent 1
    matches. The new feature is that it will collect all the files that match
    this regular expression but divide them into separate lists for all the
    unique values of the regular expression group (the part inside
    parentheses). So if you have the following files

    • pyfun00_plane-y0_timestep1000.plt
    • pyfun00_tec_boundary_timestep1000.plt
    • pyfun01_plane-y0_timestep2000.plt
    • pyfun01_tec_boundary_timestep2000.plt
    • pyfun02_plane-y0_timestep3000.plt
    • pyfun02_plane-y0_timestep4000.plt
    • pyfun02_tec_boundary_timestep3000.plt
    • pyfun02_tec_boundary_timestep4000.plt

    Then it would delete most of these files but only keep

    • pyfun02_plane-y0_timestep4000.plt
    • pyfun02_tec_boundary_timestep4000.plt

    This would not have been possible in CAPE 1; users would need to provide
    two separate instructions.

  • A RunMatrix key with the type "translation" can now use two named
    points as the "Vector". This means that the direction that a component
    is translated can be affected by prior RunMatrix keys

Behavior Changes

  • Many modules have been renamed, including renaming the case modules to
    the less-confusing name casecntl. In addition, the main cntl module
    has been moved into the cape.cfdx folder.

Bugs Fixed

  • Determination of number of available MPI ranks on Slurm jobs