Bay-Delta SCHISM Project
Installation And Getting Started
Overview
SCHISM Software Code/Binaries
Downloading
Compile Settings
Bay-Delta SCHISM Python Package
Downloading
Contents
Bathymetry
Complete Sample Inputs
Other Required Python Packages
Configuration System
Overview
Configuration File Locations and Priorities
Usage
Example Configuration File
VisIt SCHISM Plug-in
Links to tools
Bay-Delta SCHISM User Guide
Setup
Running a Preprepared Setup
Model Essentials
Overview
Overview of a Bay-Delta SCHISM Run
Grid and Spatial Data
Templates
Preprocessor
Time-dependent data
Files that Change with Both Mesh and Dates
Driver Files (param.tropic.nml, param.clinic.nml)
Other Nomenclature and Concepts
Organizing the Launch Directory
Vignette: Hindcast Bay Delta SCHISM at Delta Modeling Section with Preprocessor
Windows
Linux
Barotropic
Baroclinic
Required Files, Directory Structure and Recommended Study Practices
Required files and structure
SCHISM launch directory structure
Launch directory
Output directory
Atmospheric (sflux) directory
Study layout
Grid, Spatial Data and Preprocessor
Do I need it? Copy existing run vs preprocess from template?
Running the preprocessor
Applying the template
Partial preprocessing for modification
Configuring the input (yaml)
Where to? Required files and directory structure
Boundaries & Input Files
Prepare Ocean Boundary (elev2D.th.nc)
Inflow/Outflow Boundaries
Where are the data?
Clipping to run dates and conversion to elapsed time
What if I have to add or move a boundary?
Adding Data From Other Sources (e.g. Forecasts, other models)
read_csv()
Atmospheric setup
Basic introduction and requirements
Where are the data?
Pointing to the data with make_links_full.py
Ocean Boundary Stabilization: Barotropic Warmup
Introduction
Workflow
bctides.in
param.nml
vgrid.in
Key Run Parameters and Gotchas
Runtime settings
Hotstart settings
Nudging settings
Output requests
Settings that have historically gone awry
What happens when SCHISM versions get advanced?
Run Initialization and Restart (Hotstart)
When do you need an initial condition or hotstart?
What is the difference between a cold and hot start?
Combining hotstarts
Choosing a good start time
Creating a Hotstart for Hydro/Salt/Temp with schism_hotstart
Acquiring the data
Configuring the Hotstart request (yaml)
Running the hotstart generator
Nudging Files
Introduction: What is nudging?
Do I need nudging?
Generating nudging files
Nudging
Preparing for nudging with observed data
Nudging Example
Sequencing your run
References
Vegetation
Aquatic Vegetation in SCHISM
Approximations and preprocessor
Effective Stem Density
Height
Inspection of Model Setup
Checklists
Running a Processed Setup
Simple Hindcast Runs
☐ Choose run dates
☐ Apply template to existing mesh
☐ Collect time series inputs
☐ Hotstart (can be concurrent with barotropic)
☐ Nudging (can be concurrent with barotropic)
☐ Barotropic warmup
☐ Baroclinic simulation
Test Suite for Prechecking Runs
Using the Tests
Writing Run Tests
Basics of testing
Test Fixtures
Markers
What to test
Output Files
Output
Flavors of output
What you should plan in advance
Request station output
station.in
flow_xsects.yaml and fluxflags.out
Request dense output:
Working with staout_ files
Working with flux.out files
Visualizing dense (.nc) output in VisIt
SCHISM’s extraction utilities
Quick validation plots
Where do we keep specialized postprocessing materials?
Computing Resources
Intro to Clusters and High Performance Computing
Anatomy of a Cluster
Figure: Cluster Components
Compilation
Job Submission
Compute Nodes and Message Passing
Input/Output and Scribes
Example Slurm Launch File
Example Shell Script to Run SCHISM
Intro to Batch Cloud Cluster
Figure: Azure Batch Cluster Components
Running on Azure Batch
Setup Azure
Download Azure Utilities
Login
Create a Resource Group
Download azure_dms_batch
References
Step-by-step: Bay-Delta SCHISM on Azure
Initial Setup
Upload Applications
SCHISM
Python Packages
Uploading Model Input Files
azcopy commands
azcopy options
Running Model Simulation
Simple Run Config
Spot Pricing Config
Advanced Tasks and Concepts
Common Problems and Diagnosis
Where does SCHISM write error messages?
My run says “segfault”
The runs seems very slow compared to normal
Dry boundary
Simulating water age
Compile with age
Parameters in param.nml
Additional *.ic files
Hotstart considerations
Typical output processing
Sea Level Rise
Sources, Sinks, Delta Channel Depletions
Identifying source locations and names in preprocessor
Delta and Suisun channel depletions
Making sure you includ the th files for sources/sinks
Tracer concentrations
Hydraulic Structures
Where is the documentation?
Setting up the mesh to make structures easy
Preventing dry boundary messages
Important Bay-Delta examples
Gridding the Horizontal Mesh
Meshing
Meshing considerations for SCHISM
Video (Joseph Zhang, SCHISM summit)
Recap/checklist
Getting to know SMS
Sample Data
Recap checklist
Presentation: clip_dems and efficient use of DEMS
Building the Bay-Delta mesh the standard way
Presentation: Meshing consideration for marshes and restoration
Merging/Stitching SMS mesh/maps (new work, flooded islands, etc)
Video
Recap/checklist
Vertical mesh setup
Checklist for after you change the mesh
Performance Tuning
The analyze_dt Utility
Utilities and Scripts
GIS Conversion
Mesh to shapefile
Polygons to/from shapefile
Polylines to/from shapefile
Hotstart Inventory: Convert iteration numbers to dates
model_time and multi_clip
Learning Resources for Bay-Delta SCHISM
General Resources and Tools
Bay-Delta SCHSIM Tutorials
Linux Hints for SCHISM
Using Linux from Windows
Basic connection
Copying files
XWindow Emulation
All-in-one: MobaXTerm
Copying a Run Safely
Special Case: Remote Computer Using RSA Keys
Symbolic links
Archives and Tarballs
Essential commands in a SCHISM context
Manuals
Getting Help
VIMS and Other External Resources
Contributing to the Documentation
Introduction
Getting Started
Windows
Linux
How it works
Local html pages
GitHub Pages
Examples and Concepts
Sphinx Documentation Principles
Headings order
BayDeltaSCHISM Specifics
Sphinx examples
Math
Figures
Diagrams
Sphinx Mermaid Directive
Embedding Charts with SVG
Embedding Videos
Mermaid Chart Principles
BayDeltaSCHISM Standards
Symbols
Style
VS Code plugin
Cool stuff
Clickables
Icons in an Element
Click Documentation Principles
Calibration Report and References
Calibration
Training
Support
References
Bay-Delta SCHISM
Hydraulic Structures
Where is the documentation?
Setting up the mesh to make structures easy
Preventing dry boundary messages
Important Bay-Delta examples