Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
4ddb7dc
Minor change in aspect ratio script
josephzhang8 Oct 28, 2025
14e3027
Re-org gen_vqs_1.f90 for usability
josephzhang8 Oct 29, 2025
af6cb66
update EPA MBM model setup
wzhengui Oct 29, 2025
c7e80d4
Minor changes in MARSH; output from WWM for check
josephzhang8 Nov 3, 2025
1b5b5ac
Restored Core/gen_version.py for gnu make
josephzhang8 Nov 4, 2025
d1de554
Update manual
josephzhang8 Nov 5, 2025
37d04ac
More updates on manual
josephzhang8 Nov 5, 2025
51d3e06
Update WWM manual link
josephzhang8 Nov 7, 2025
ea5dd75
Added checks in Fairall air-sea exchange.
josephzhang8 Nov 10, 2025
0e7e8cd
Make Fairall default in make also
josephzhang8 Nov 10, 2025
bd75ab2
Feature ugrid (#204)
platipodium Nov 11, 2025
6dd4b1e
Added conditional for 2D header info (iof_ugrid>0)
josephzhang8 Nov 11, 2025
76f862c
restored Fairall as default
josephzhang8 Nov 11, 2025
58a3dd9
Add live manual for SCHISM in ESMF docs
josephzhang8 Nov 14, 2025
5e3185d
Fix link formatting in ESMF documentation
josephzhang8 Nov 14, 2025
46802b7
added CR version of hotstart from hycom
cseaton Nov 19, 2025
7fd3921
added comment to CR hotstart gen
cseaton Nov 19, 2025
cbeb956
edit of notes
josephzhang8 Dec 8, 2025
d99c5dd
Fix veg_lai and veg_cw type declaration: integer -> real (#205)
jreniel Dec 8, 2025
6ea1522
Added hotstart-only generation from hycom for CR
cseaton Dec 10, 2025
04f9699
fix error in computing diagonistic variable oMT in ICM
wzhengui Dec 15, 2025
5f49d1b
minor edit on EPA MBM setup
wzhengui Dec 23, 2025
7ec43d0
Revised flex veg option (including MARSH); tested with lab cases
josephzhang8 Dec 29, 2025
c01c45a
update notes
josephzhang8 Dec 29, 2025
f4794b2
Added lon/lat option for script eq_diameter_aspect_ratio.f90
josephzhang8 Dec 29, 2025
b27a09b
minor edit on EPA MBM setup
wzhengui Jan 13, 2026
bcb5781
Moved ghost exchange in USE_ATMOS
josephzhang8 Jan 14, 2026
532a304
Added iref_ts=2 that allows user to specify scaling (ramp-down) factor
josephzhang8 Jan 16, 2026
463880d
add notes
josephzhang8 Jan 16, 2026
d7256a8
Impose bound for air-water T in shallows
josephzhang8 Jan 23, 2026
f18fc1e
Update notes
josephzhang8 Jan 26, 2026
9dd1c61
STOFS3D-Atl scripts. Reorganized and added new functions in the Atl s…
feiye-vims Jan 26, 2026
f967183
STOFS3D-Atl scripts: Added a README for the new setup workflow.
feiye-vims Jan 26, 2026
9b55dc1
Revised read_staout.f90 to output nc per NOAA request
josephzhang8 Jan 27, 2026
0a8e179
minor notes
josephzhang8 Feb 1, 2026
7a420b2
notes edits
josephzhang8 Feb 9, 2026
9848868
Fix mpi_bcast for ieg_source_flowpath_ids with correct size
jduckerOWP Feb 9, 2026
5c9bd65
Update SCHISM_BMI_GRID_SOURCE_ELEMENTS loop indices to use nsources_bmi
jduckerOWP Feb 9, 2026
fa7c95e
update EPA MBM parameter setup
wzhengui Feb 10, 2026
1c9a7c7
Fixed a bug in MICE I/O and added notes for hotstart. Thx, Qian!
Feb 12, 2026
5611e67
Added attribites and station coord in staout
josephzhang8 Feb 16, 2026
1b71212
added notes
josephzhang8 Feb 18, 2026
5213a93
added gnu make for kuro. At the moment, the scribe IO does not work
josephzhang8 Feb 18, 2026
ca7b6f1
added notes on compiling scribe IO under gnu make
josephzhang8 Feb 18, 2026
53e89dc
turn off PETSc as default
josephzhang8 Feb 18, 2026
2026902
Changed sequence for atmos update under USE_ATMOS
josephzhang8 Feb 19, 2026
8a19299
updated compiler name on kuro
josephzhang8 Feb 19, 2026
a9be1d3
:memo: Updates docs workflow (#212)
jamal919 Feb 20, 2026
8f2fb79
Fix size allocations for water level boundaries to avoid memory corru…
jduckerOWP Feb 24, 2026
91c6d63
Refactor boundary array allocations and add MPI barriers to SCHISM BM…
jduckerOWP Feb 24, 2026
73ab134
PETSc works with OLDIO and NOPARM at the moment. Will work to have
josephzhang8 Feb 24, 2026
091733d
Ursa(NOAA-RDHPC) CMake conf. file (#213)
felicio93 Feb 24, 2026
12dbddc
notes
josephzhang8 Feb 26, 2026
0f9f7b8
Resolved conflict for FABM mask
platipodium Oct 6, 2025
0f1f054
Make sure to not initialize must-be-nonnegative (like PAR) with missi…
platipodium Mar 3, 2026
da05a4f
Guard vertical loops in FABM against kbe(iz) = zero, which leads to c…
platipodium Mar 3, 2026
213b281
Fix (recurrent) unbalenced _FABM_MASK_TYPE_ macro
platipodium Mar 3, 2026
a7c7bb6
Added a simple script to manipulate SMS map
josephzhang8 Mar 3, 2026
7d7af37
PDAF manual
josephzhang8 Mar 10, 2026
182dd1e
edits on PDAF manual
josephzhang8 Mar 10, 2026
9a11f65
add new figs
josephzhang8 Mar 10, 2026
ae90ced
edit PDAF manual
josephzhang8 Mar 10, 2026
22905b4
edit PDAF manual
josephzhang8 Mar 10, 2026
7ef5580
bug fixes with initial CICE implementation (#215)
SmithJos13 Mar 15, 2026
042b375
Edit Joey Smith's PR: exchange tau_oi(2,npa)
josephzhang8 Mar 15, 2026
fb55995
Typos in units
josephzhang8 Mar 15, 2026
df72620
Bug fix in WWM hotstart; c/o Zhiyun Du
josephzhang8 Mar 17, 2026
12c8d9b
minor edits
josephzhang8 Mar 26, 2026
8259e69
added Spherepack into SCHISM for SAL; not working yet
josephzhang8 Mar 26, 2026
dff2709
Add Spherepack sources
josephzhang8 Mar 26, 2026
72646b5
fixed compile flag for gcc
josephzhang8 Mar 26, 2026
daed771
Moved zcor station output to its own file to reduce size
josephzhang8 Mar 30, 2026
3f79e53
Finished revising iout_sta=2; tested
josephzhang8 Mar 31, 2026
e610127
Modifications for CICE coupling (#218)
uturuncoglu Apr 21, 2026
262e54c
Update i.c. & b.c. scripts for T<0 (ice)
josephzhang8 May 4, 2026
72bc343
Make ice-ocean drag spatially varying
josephzhang8 May 12, 2026
f691ebe
Update notes
josephzhang8 May 12, 2026
0fd03d0
STOFS3D-Atl scripts: save final updates on the old shadow forecast sc…
feiye-vims May 12, 2026
61e00c7
STOFS-3D scripts: Reorganized the setup package to support future STO…
feiye-vims May 12, 2026
0217c75
STOFS-3D scripts: Added the STOFS-3D-Atl-Setup scripts.
feiye-vims May 12, 2026
0df02da
STOFS-3D scripts: minor updates on the README and pyproject.toml.
feiye-vims May 12, 2026
f7a819d
STOFS-3D scripts: Added more updates from v7.4; minor changes in README.
feiye-vims May 13, 2026
28301c4
Chunk 3D netCDF outputs along the vertical dimension
claude May 13, 2026
462a18a
remove legacy term
tomsail May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 20 additions & 13 deletions .github/workflows/build_docs_latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,38 @@ on:
push:
branches:
- master
- docs
- docs_update
permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Configure git user
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"

- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: 3.x
python-version: '3.11'
cache: 'pip'

- name: Install python packages
run: pip install mkdocs==1.5.2 mkdocs-material==8.3.4 mike==1.1.2 setuptools
- name: Configure git user
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
- name: Get tag of the version
uses: olegtarasov/get-tag@v2.1
id: tag_name
pip install --upgrade pip
pip install mike mkdocs mkdocs-material

- name: Deploy with mike
run: |
mike deploy --force --update-aliases master stable
mike retitle master stable
VERSION=${GITHUB_REF_NAME}
mike deploy --push --update-aliases $VERSION stable
mike set-default --push stable

35 changes: 21 additions & 14 deletions .github/workflows/build_docs_version.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,40 @@
name: release documentation

on:
push:
branches:
- 'v*.*'

permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Configure git user
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"

- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
fetch-depth: 0

- name: Setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: 3.x
python-version: '3.11'
cache: 'pip'

- name: Install python packages
run: pip install mkdocs==1.5.2 mkdocs-material==8.3.4 mike==1.1.2 setuptools
- name: Configure git user
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
- name: Get tag of the version
uses: olegtarasov/get-tag@v2.1
id: tag_name
- name: Get branch names
id: branch-name
uses: tj-actions/branch-names@v9.0.0
pip install --upgrade pip
pip install mike mkdocs mkdocs-material

- name: Deploy with mike
run: |
mike deploy --force --push ${{ steps.branch-name.outputs.current_branch }} ${{ steps.tag_name.outputs.tag }}
mike deploy --push ${{ github.ref_name }}
mike set-default --push stable
2 changes: 1 addition & 1 deletion cmake/SCHISM.local.bora.gnu
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ set(NetCDF_C_DIR "$ENV{NETCDF}" CACHE PATH "Path to NetCDF C library")

###Compile flags
#CMAKE_EXE_LINKER_FLAGS did not work so I had to remove -static
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -ffree-line-length-none -static-libgfortran -finit-local-zero" CACHE STRING "Fortran flags" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -ffree-line-length-none -finit-local-zero" CACHE STRING "Fortran flags" FORCE)
3 changes: 3 additions & 0 deletions cmake/SCHISM.local.build
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@ set(SH_MEM_COMM ON CACHE BOOLEAN "Use shared memory communicator")
set(NO_PARMETIS OFF CACHE BOOLEAN "Turn off ParMETIS")

# Algorithm choices
set (USE_SPK OFF CACHE BOOLEAN "Use sphere harmonic for SAL via spherepack - not working")
# TVD_LIM must be one of SB, VL, MM or OS for Superbee, Van Leer, Minmod, or Osher.")
set (TVD_LIM VL CACHE STRING "Flux limiter")
#Turn OLDIO off to use the new scribe based I/O
set (OLDIO OFF CACHE BOOLEAN "Old nc output (each rank dumps its own data)")

set (USE_ATMOS OFF CACHE BOOLEAN "Coupling with atmospheric model via ESMF")
##At the moment, must compile USE_BMI with NO_PARMETIS and OLDIO turned on
set (USE_BMI OFF CACHE BOOLEAN "Build a library that can be used from BMI, with sources and some b.c. provided by BMI")
set (PREC_EVAP OFF CACHE BOOLEAN "Include precipitation and evaporation calculation")
set (USE_BULK_FAIRALL OFF CACHE BOOLEAN "Enable Fairall bulk scheme for air-sea exchange")
Expand All @@ -44,6 +46,7 @@ set( USE_WWM OFF CACHE BOOLEAN "Use wind-wave module")
set( USE_WW3 OFF CACHE BOOLEAN "Use Wave Watch III")
set( USE_ICE OFF CACHE BOOLEAN "Use 1-class ICE module")
set( USE_MICE OFF CACHE BOOLEAN "Use multi-class ICE module")
set( USE_CICE OFF CACHE BOOLEAN "Coupled to CICE via ESMF/UFS")

#Tracer models
set( USE_GEN OFF CACHE BOOLEAN "Use generic tracer module")
Expand Down
2 changes: 1 addition & 1 deletion cmake/SCHISM.local.james
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set (SCHISM_EXE_BASENAME pschism_JAMES CACHE STRING "Base name (modules and file extension to be added of the executable. If you want a machine name, add it here")

###Relative paths won't work
set(CMAKE_Fortran_COMPILER ifort CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_Fortran_COMPILER ifx CACHE PATH "Path to serial Fortran compiler")
set(NetCDF_FORTRAN_DIR "$ENV{NETCDF_FORTRAN}" CACHE PATH "Path to NetCDF Fortran library")
set(NetCDF_C_DIR "$ENV{NETCDF}" CACHE PATH "Path to NetCDF C library")
###Compile flags. If USE_WWM, change to -O2
Expand Down
10 changes: 5 additions & 5 deletions cmake/SCHISM.local.kuro
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ set (SCHISM_EXE_BASENAME pschism_KURO CACHE STRING "Base name (modules and file
###Relative paths won't work
#set(CMAKE_Fortran_COMPILER ifort CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_Fortran_COMPILER ifx CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_C_COMPILER icx CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_CXX_COMPILER icpx CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_Fortran_COMPILER mpiifort CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_C_COMPILER mpiicc CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_C_COMPILER icx CACHE PATH "Path to serial C compiler")
set(CMAKE_CXX_COMPILER icpx CACHE PATH "Path to serial C++ compiler")
set(CMAKE_Fortran_COMPILER mpiifort CACHE PATH "Path to parallel Fortran compiler")
set(CMAKE_C_COMPILER mpiicc CACHE PATH "Path to parallel C compiler")
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -mcmodel=medium -march=x86-64-v3 -init=zero" CACHE STRING "Fortran flags" FORCE)
#set(CMAKE_Fortran_FLAGS_RELEASE "-O1 -ipo -mcmodel=medium -march=core-avx2 -init=zero " CACHE STRING "Fortran flags" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O1 -march=core-avx2 " CACHE STRING "Fortran flags" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O1 -march=core-avx2 " CACHE STRING "C flags" FORCE)

27 changes: 27 additions & 0 deletions cmake/SCHISM.local.ursa
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
### NOAA RDHPC Ursa Cluster (GCC/OpenMPI)
# Executable basename
set (SCHISM_EXE_BASENAME pschism_Ursa CACHE STRING "Base name of the executable")

### Compilers
set(CMAKE_Fortran_COMPILER gfortran CACHE PATH "Path to serial Fortran compiler")
set(CMAKE_C_COMPILER gcc CACHE PATH "Path to serial C compiler")

### NetCDF Locations
# Note: On Ursa, if environment variables are not set, use 'nc-config --prefix'
# and 'nf-config --prefix' to find absolute paths.
if(DEFINED ENV{NETCDF_FORTRAN_ROOT})
set(NetCDF_FORTRAN_DIR "$ENV{NETCDF_FORTRAN_ROOT}" CACHE PATH "Path to NetCDF Fortran")
else()
# Placeholder path based on Feb 2026 Spack build
set(NetCDF_FORTRAN_DIR "/apps/spack-2024-12/linux-rocky9-x86_64/gcc-11.4.1/netcdf-fortran-4.6.1-rxwle72kj3anm4uess3ixiqg7ezgq4vk" CACHE PATH "Path to NetCDF Fortran")
endif()

if(DEFINED ENV{NETCDF_ROOT})
set(NetCDF_C_DIR "$ENV{NETCDF_ROOT}" CACHE PATH "Path to NetCDF C")
else()
# Placeholder path based on Feb 2026 Spack build
set(NetCDF_C_DIR "/apps/spack-2024-12/linux-rocky9-x86_64/gcc-11.4.1/netcdf-c-4.9.2-dzmdg3ly7avioysvapk37klgegbsq3js" CACHE PATH "Path to NetCDF C")
endif()

### Compile flags
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -mcmodel=medium -ffree-line-length-none -finit-local-zero" CACHE STRING "Fortran flags" FORCE)
Binary file added docs/assets/pdaf_data_format.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/pdaf_folder_structures.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/coupling/esmf.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ The Earth System Modeling Framework (ESMF) is a suite of software tools for deve

SCHISM can be such a model component within an ESMF-coupled system. A so-called "cap" wraps SCHISM and exposes it via the ESMF Application Programming Interface (API). The interfaces exposed through the API are (1) import of fields, (2) export of fields, and (3) control structure.

A live manual can be found [here](https://schism-esmf.readthedocs.io/en/latest/).

## Obtaining and building the cap

The [ESMF](esmf.html) and the [NUOPC](nuopc.html) caps are jointly hosted in a separate repository on [https://github.com/schism-dev/schism-esmf](https://github.com/schism-dev/schism-esmf). It requires that the SCHISM core is built and pointed to by the environment variable `$SCHISM_BUILD_DIR`
Expand Down
2 changes: 1 addition & 1 deletion docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@ Besides the following info, you may also search archived messages from the SCHIS
This can be caused by a number of reasons, but a common one is that when user switches from 2D to 3D, they forgot to set itur=3 to use turbulence closure.

???faq "fatal.error indicates “Could not find suitable element in input”"
This is likely because your `sflux*.nc` is not prepared properly: either the grid in `.nc` does not cover `hgrid.ll`, or the structured grid in `.nc` is not ordered counter-clockwise.
This is likely because your `sflux*.nc` is not prepared properly: either the grid in `.nc` does not cover `hgrid.ll`, or the structured grid in `.nc` has a mixture of clockwise and counter-clockwise orientations.

6 changes: 3 additions & 3 deletions docs/getting-started/pre-processing-with-pyschism/atmos.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ There are four types of files needed:

sflux_input.txt (<font color="red">required</font>): a namelist file

sflux_air_1.[XXXX].nc (<font color="red">required</font>): NetCDF files that have time (in days), wind speed at 10m above MSL (u, v), air temperatue and spedific humidity at 2m above MSL, sea level pressure;
sflux_air_1.[1-].nc (<font color="red">required</font>): NetCDF files that have time (in days), wind speed at 10m above MSL (u, v), air temperatue and spedific humidity at 2m above MSL, sea level pressure;

sflux_prc_1.[XXXX].nc (<font color="blue">needed</font> if isconsv=1): NetCDF files that have time and precipitation rate;
sflux_prc_1.[1-]nc (<font color="blue">needed</font> if isconsv=1): NetCDF files that have time and precipitation rate;

sflux_rad_1.[XXXX].nc (<font color="blue">needed</font> if ihconsv=1): NetCDF files that have time, downward longwave and shortwave radiation fluxes.
sflux_rad_1.[1-].nc (<font color="blue">needed</font> if ihconsv=1): NetCDF files that have time, downward longwave and shortwave radiation fluxes.

PySCHISM supports three types of atmpsheric datasets.

Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/test_suite.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ The command to checkout the tests is:

`svn co https://columbia.vims.edu/schism/schism_verification_tests`

(You can also simply use wget to download)
(You can also simply use wget to download, but using svn allows easy updates later)

Note that the test suite is kept up to date with the latest master branch on the [SCHISM's git repo](https://github.com/schism-dev/schism/tree/master).
Note that the test suite is kept up to date with the latest `master branch` on the [SCHISM's git repo](https://github.com/schism-dev/schism/tree/master).
As a result, there may be some differences (some parameters may have been removed or added) between the param.nml you are using and the one from the verification tests (master branch).
It's important to use a correct `param.nml` corresponding to the version of SCHISM you are using. A sample param.nml is always provided under your SCHISM source code directory:

Expand Down
4 changes: 4 additions & 0 deletions docs/input-output/optional-inputs.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,3 +259,7 @@ NHAGE, NHAGV = flags that indicate whether or not harmonic analysis is performed
- FMV: fraction of the harmonic analysis period (extending back from the end of the harmonic analysis period) to use for comparing the water elevation and velocity means and variances from the raw model time series with corresponding means and variances of a time series resynthesized from the harmonic constituents. This comparison is helpful for identifying numerical instabilities and for determining how complete the harmonic analysis was. Examples: FMV = 0. - do not compute any means and vars. FMV = 0.1 - compute means and vars. over final 10% of period used in harmonic analysis FMV = 1.0 - compute means and vars. over entire period used in harmonic analysis.
- NHAGE: NHAGE= 0 no harmonic analysis is performed for global elevations; NHAGE =1 harmonic analysis is performed for global elevations (output on harme.53);
- NHAGV: NHAGV is for velocity which is not active right now.

### metadata.nc

This optional file can contain global and variable metadata in the form of NetCDF attributes that will be copied over to the SCHISM output NetCDF files. This file is useful for adding project- or institution-specific metadata. In particular, you should use it to fill the contact and institution information required by CF, and to add a coordinate reference system to SCHISM output on projected coordinates (`ics = 1`) if you add a grid mapping variable called `crs` with appropriate attributes. See the CF conventions for details on required and recommended metadata: https://cfconventions.org/.
Loading