Skip to content

Simulation modeler for ParFlow. Trame application providing user interface for configuring a parflow simulation.

License

Notifications You must be signed in to change notification settings

Kitware/pf-simulation-modeler

Repository files navigation

Parflow Simulation Modeler

License

Free software: Apache Software License

Installing

Create virtual environment

python -m venv .venv
source .venv/bin/activate

Build and install the Vue components

export NODE_OPTIONS=--openssl-legacy-provider
cd vue-components
npm i
npm run build
cd -

Install the application

pip install -e .

Run the application

pf-simulation-modeler --help
pf-simulation-modeler --server --port 1234 -D data/database/ -S data/share/ -O data/output/

Documentation

File Structure

- pf_simulation_modeler/
    - app/
        - engine/
            - model/    # Simput model/UI definitions
            - snippets/ # Logic for page code snippets
            - engine.py # Main logic handler
            - ...       # Logic components (generally specific to pages)

        - ui/
            - ui.py # Main UI handler
            - ...   # UI components (pages)

        - main.py # Entry point

    - module/  # Serves the compiled Vue components
    - widgets/ # Python wrapper around the Vue components

- vue-components/src/components/ # Custom Vue components
    - FileDatabase/ # FileDatabase Vue component
        - index.vue     # Vue component
        - script.js     # JS logic
        - template.html # HTML template

    - ... # Other Vue components

- data/ # Data files (used for cli args)
    - database/ # FileDatabase data
    - output/   # Project Output data
    - share/    # Shared data