Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/public-v2.2.0] Update MacOS configuration and compatibility #953

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
4c0695a
MacOS modulefiles and machine file updates
Oct 26, 2023
31aa9d1
MacOS update for wflow_macos.lua
Oct 26, 2023
2964063
update bash script headers/shebang in ./jobs, ./scripts, ./ush/wrappers
Oct 26, 2023
ed03aef
preamble scripts adapted for MacOS
Oct 26, 2023
e86a477
update build_macos_gnu.lua
Oct 26, 2023
9e79d04
update filesys_cmds_vrfy.py in vrfy_ln function
Oct 26, 2023
6976b67
correction to exregional_make_sfc_climo.sh in machine dependent ulimi…
Oct 26, 2023
b6d6704
MacOS modulefile and scripts updates
Oct 28, 2023
dfc5dc3
MacOS modulefiles, scripts, patch for AppleM1 arm64
Oct 30, 2023
b74be19
merge with updates from remote repo
Oct 30, 2023
05699e4
moving a patch from ./patches/ to ./sorc/ directory
Oct 30, 2023
6c5380d
update build_macos_gnu.lua
Oct 30, 2023
4ab9a89
Merge updates from srw-weather-app branch 'origin/release/public-v2.2…
Oct 30, 2023
3c1da45
Documentation updates: BuildSRW, RunSRW, InputOutputFiles, tables
Oct 31, 2023
cffe719
changes for documentation for MacOS and conda environments instructions
Oct 31, 2023
73cc3c4
release date adjusted in the documentation
Oct 31, 2023
4c93a36
Updating docs - BuildSRW.rst
Oct 31, 2023
c1b5002
Adding a note about use of containers on some platforms
Oct 31, 2023
6bd6f5f
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
b50c53c
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
5121a9d
Updating RunSRW.rst in the docs
Oct 31, 2023
8ad1f75
Merge remote-tracking branch 'origin2/update_macos' into a local vers…
Oct 31, 2023
3e1e3ba
Apply suggestions from code review
natalie-perlin Oct 31, 2023
94a69fd
Edits to RunSRW.rst documentation file
Oct 31, 2023
5b0666b
Edits and formatting changes for RunSRW
Oct 31, 2023
a28a93d
Formatting edits and fixes for the documents
Oct 31, 2023
d2f38a6
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
4932a26
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
899b785
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
f41ebd2
Formatting edits
Oct 31, 2023
33cb688
Merge remote-tracking branch 'origin2/update_macos' into update_docs
Oct 31, 2023
f39c154
Formatting edits
Oct 31, 2023
27f079a
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
af68b94
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
ef16b39
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
f42a8f6
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
8a9a0aa
Update docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
natalie-perlin Oct 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ https://epic.noaa.gov/wp-content/uploads/2022/12/Debugging-Guide.pdf

The SRW App v2.2.0 citation is as follows and should be used when presenting results based on research conducted with the App:

UFS Development Team. (2023, Oct. 30). Unified Forecast System (UFS) Short-Range Weather (SRW) Application (Version v2.2.0). Zenodo. https://doi.org/10.5281/zenodo.10015544
UFS Development Team. (2023, Oct. 31). Unified Forecast System (UFS) Short-Range Weather (SRW) Application (Version v2.2.0). Zenodo. https://doi.org/10.5281/zenodo.10015544

[![Python unittests](https://github.com/ufs-community/ufs-srweather-app/actions/workflows/python_unittests.yaml/badge.svg)](https://github.com/ufs-community/ufs-srweather-app/actions/workflows/python_unittests.yaml)
[![Python functional tests](https://github.com/ufs-community/ufs-srweather-app/actions/workflows/python_func_tests.yaml/badge.svg)](https://github.com/ufs-community/ufs-srweather-app/actions/workflows/python_func_tests.yaml)
Expand Down
13 changes: 13 additions & 0 deletions devbuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,19 @@ else
fi
module list

# Apply patch for sorc/CMakeLists.txt for MacOS arm64/aarch64
if [[ "${PLATFORM}" == "macos" ]]; then
ARCH=$(uname -m)
if [[ "${ARCH}" == arm64 ]] || [[ "${ARCH}" == aarch64 ]]; then
patch1="sorc/patch_macos_arm64_sorc_cmakelists.txt"
if patch -p1 -R --dry-run --silent -d ./sorc -N < ${patch1} 1> /dev/null; then
echo "Patch ${patch1} was already applied";
else
patch -p1 -d ./sorc -N < ${patch1}
fi
fi
fi

mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR}

Expand Down
2 changes: 1 addition & 1 deletion docs/UsersGuide/source/BackgroundInfo/Introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Since the last release, developers have added a variety of features:

The SRW App v2.2.0 citation is as follows and should be used when presenting results based on research conducted with the App:

UFS Development Team. (2023, Oct. 30). Unified Forecast System (UFS) Short-Range Weather (SRW) Application (Version v2.2.0). Zenodo. https://doi.org/10.5281/zenodo.10015544
UFS Development Team. (2023, Oct. 31). Unified Forecast System (UFS) Short-Range Weather (SRW) Application (Version v2.2.0). Zenodo. https://doi.org/10.5281/zenodo.10015544

User's Guide Organization
============================
Expand Down
7 changes: 3 additions & 4 deletions docs/UsersGuide/source/BuildingRunningTesting/BuildSRW.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The Unified Forecast System (:term:`UFS`) Short-Range Weather (SRW) Application

To build the SRW App, users will complete the following steps:

#. :ref:`Install prerequisites <HPCstackInfo>`
#. :ref:`Install prerequisites <StackInfo>`
#. :ref:`Clone the SRW App from GitHub <DownloadSRWApp>`
#. :ref:`Check out the external repositories <CheckoutExternals>`
#. :ref:`Set up the build environment and build the executables <BuildExecutables>`
Expand Down Expand Up @@ -358,9 +358,8 @@ Additional Details for Building on MacOS or Generic Linux

The SRW App can be built on MacOS and generic Linux machines after the prerequisite software has been installed on these systems (via :term:`HPC-Stack` or :term:`spack-stack`). The installation for MacOS is architecture-independent and has been tested using both x86_64 and M1 chips (running natively). The following configurations for MacOS have been tested:

#. MacBookPro 2019, 2.4 GHz 8-core Intel Core i9 (x86_64), Monterey Sur 12.1, GNU compiler suite v.11.3.0 (gcc, gfortran, g++); mpich 3.3.2 or openmpi/4.1.2
#. MacBookAir 2020, M1 chip (arm64, running natively), 4+4 cores, Big Sur 11.6.4, GNU compiler suite v.11.3.0 (gcc, gfortran, g++); mpich 3.3.2 or openmpi/4.1.2
#. MacBook Pro 2015, 2.8 GHz Quad-Core Intel Core i7 (x86_64), Catalina OS X 10.15.7, GNU compiler suite v.11.2.0_3 (gcc, gfortran, g++); mpich 3.3.2 or openmpi/4.1.2
#. MacBookPro 2019, 2.4 GHz 8-core Intel Core i9 (x86_64), OS Monterey 12.6.1, 32 GB RAM; GNU compiler suite v.12.3.0 (gcc, gfortran, g++); openmpi/4.1.5
natalie-perlin marked this conversation as resolved.
Show resolved Hide resolved
#. MacBookAir 2020, M1 chip (arm64, running natively), 4+4 cores, OS Ventura 13.0.1, 16 GB RAM; GNU compiler suite v.12.3.0 (gcc, gfortran, g++); openmpi/4.1.5

Several Linux builds have been tested on systems with x86_64 architectures.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,19 +80,23 @@ On most Level 1 systems, a container named ``ubuntu20.04-intel-srwapp-release-pu

* - Machine
- File Location
* - Cheyenne/Derecho
* - Cheyenne/Derecho `*`_
- /glade/scratch/epicufsrt/containers
* - Gaea
* - Gaea `*`_
- /lustre/f2/dev/role.epic/containers
* - Hera
- /scratch1/NCEPDEV/nems/role.epic/containers
* - Jet
- /mnt/lfs4/HFIP/hfv3gfs/role.epic/containers
* - NOAA Cloud
- /contrib/EPIC/containers
* - Orion/Hercules
* - Orion/Hercules `*`_
- /work/noaa/epic/role-epic/contrib/containers

.. _`*` :

\* On these systems, container testing shows inconsistent results.

.. note::
* On Gaea, Singularity/Apptainer is only available on the C5 partition, and therefore container use is only supported on Gaea C5.
* The NOAA Cloud containers are accessible only to those with EPIC resources.
Expand Down
107 changes: 89 additions & 18 deletions docs/UsersGuide/source/BuildingRunningTesting/RunSRW.rst
Original file line number Diff line number Diff line change
Expand Up @@ -192,29 +192,100 @@ MacOS requires the installation of a few additional packages and, possibly, an u
Creating the |wflow_env| Environment on Linux and Mac OS
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

On generic Mac and Linux systems, users need to create a conda |wflow_env| environment. The environment can be stored in a local path, which could be a default location or a user-specified location (e.g., ``$HOME/condaenv/venvs/`` directory). (To determine the default location, use the ``conda info`` command, and look for the ``envs directories`` list.) The following is a brief recipe for creating a virtual conda environment on non-Level 1 platforms. It uses the aarch64 (64-bit ARM) Miniforge for Linux and installs into $HOME/conda. Adjust as necessary for your target system.
On generic Mac and Linux systems, users need to create a conda |wflow_env| environment that contains python packages required for running the workflow. Other conda environments may need to be activated for running graphics generation tasks (|graphics_env|) or when testing the AQM/CMAQ (|cmaq_env|). Python packages in these other environments may conflict with those in |wflow_env|. The environments can be stored in a local path, which can be a default location or a user-specified location (e.g., ``$HOME/condaenv/venvs/`` directory). (To determine the default location, use the ``conda info`` command, and look for the ``envs directories`` list.)
These conda environments can be added to the existing python or conda modules.

.. code-block:: console
There are several options available for building virtual conda environments on non-Level 1 platforms. The examples in this section use the aarch64 (64-bit ARM) Miniforge for Linux and install into ``$HOME/conda``. Users should adjust as needed for their target system.

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
bash Miniforge3-Linux-aarch64.sh -bfp ~/conda
rm Miniforge3-Linux-aarch64.sh
source ~/conda/etc/profile.d/conda.sh
conda activate
conda install -y conda-build conda-verify
cd path/to/your/workflow-tools/clone
conda build recipe
conda create -y -n workflow_tools -c local workflow_tools
conda activate workflow_tools
**Options:**

In future shells, you can activate and use this environment with:

.. code-block:: console
1) Users can add the following environment .yaml files:

a) workflow_tools.yaml for |wflow_env|

natalie-perlin marked this conversation as resolved.
Show resolved Hide resolved
.. code-block:: console

gspetro-NOAA marked this conversation as resolved.
Show resolved Hide resolved
name: workflow_tools
channels:
- conda-forge
- defaults
dependencies:
- python=3.9*
- boto3=1.22*
- black
- f90nml=1.4*
- jinja2=3.0*
- numpy=1.21*
- pylint
- pytest
- pyyaml=6.0*
- tox

b) regional_workflow.yaml for |graphics_env|

.. code-block:: console

name: regional_workflow
channels:
- conda-forge
- defaults
dependencies:
- python=3.9.*
- f90nml
- jinja2
- pyyaml
- scipy
- matplotlib=3.5.2*
- pygrib
- cartopy

c) regional_workflow_cmaq.yaml for |cmaq_env|

.. code-block:: console

name: regional_workflow_cmaq
channels:
- conda-forge
- defaults
dependencies:
- python=3.9.12
- f90nml=1.4*
- jinja2=3.0*
- pyyaml=6.0*
- scipy
- matplotlib
- pygrib
- cartopy
- netcdf4
- xarray

2) Users can instead install Miniforge. This example uses the aarch64 (64-bit ARM) Miniforge for Linux that installs into ``$HOME/conda``. Users should adjust as needed for their target system.

.. code-block:: console

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
bash Miniforge3-Linux-aarch64.sh -bfp ~/conda
rm Miniforge3-Linux-aarch64.sh
source ~/conda/etc/profile.d/conda.sh
conda activate
conda install -y conda-build conda-verify
cd path/to/your/workflow-tools/clone
conda build recipe
conda create -y -n workflow_tools -c local workflow_tools
conda activate workflow_tools

In future shells, you can activate and use this environment with:

.. code-block:: console

source ~/conda/etc/profile.d/conda.sh
conda activate workflow_tools

See the `workflow-tools repository <https://github.com/ufs-community/workflow-tools>`__ for additional documentation.

source ~/conda/etc/profile.d/conda.sh
conda activate workflow_tools
3) A third option is to build miniconda3 and create an Lmod modulefile that can be loaded with other modules during the workflow. The module can be added to the user's ``wflow_<platform>.lua`` modulefile, and the environments can be activated or deactivated as needed for a particular workflow task. A repository with full installation instructions, a modulefile template, and environment configuration files can be accessed in `NOAA-EPIC/miniconda3 repository <https://github.com/NOAA-EPIC/miniconda3>`__. Full instructions can be viewed in the `README.md file <https://github.com/NOAA-EPIC/miniconda3/edit/master/README.md>`__.

See the `workflow-tools repository <https://github.com/ufs-community/workflow-tools>`__ for additional documentation.

Modify a ``wflow_<platform>`` File
``````````````````````````````````````
Expand Down Expand Up @@ -632,7 +703,7 @@ This can be helpful when conducting multiple experiments with different types of
Plotting Configuration (optional)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

An optional Python plotting task (PLOT_ALLVARS) can be activated in the workflow to generate plots for the :term:`FV3`-:term:`LAM` post-processed :term:`GRIB2`
An optional Python plotting task (plot_allvars) can be activated in the workflow to generate plots for the :term:`FV3`-:term:`LAM` post-processed :term:`GRIB2`
output over the :term:`CONUS`. It generates graphics plots for a number of variables, including:

* 2-m temperature
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@ If users wish to modify the fields or levels that are output from the UPP, they
This process requires advanced knowledge of which fields can be output for the UFS Weather Model.

UPP Product Output Tables for the UFS SRW LAM Grid:
* :doc:`3D Native Hybrid Level Fields <tables/SRW_NATLEV_table>`
* :doc:`3D Pressure Level Fields <tables/SRW_PRSLEV_table>`
* :ref:`3D Native Hybrid Level Fields <SRW_NATLEV_table>`
* :ref:`3D Pressure Level Fields <SRW_PRSLEV_table>`

Use the instructions in the `UPP User's Guide <https://upp.readthedocs.io/en/upp-srw-v2.2.0-docs/InputsOutputs.html#control-file>`__ to make modifications to the ``fv3lam.xml`` file and to remake the flat text file, called ``postxconfig-NT-fv3lam.txt`` (default), that the UPP reads.

Expand Down
2 changes: 2 additions & 0 deletions docs/UsersGuide/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@

rst_prolog = """
.. |wflow_env| replace:: ``workflow_tools``
.. |graphics_env| replace:: ``regional_workflow``
.. |cmaq_env| replace:: ``regional_workflow_cmaq``
.. |activate| replace:: ``conda activate workflow_tools``
.. |prompt| replace:: ``(workflow_tools)``
.. |latestr| replace:: v2.2.0
Expand Down
2 changes: 2 additions & 0 deletions docs/UsersGuide/source/tables/SRW_NATLEV_table.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
:orphan:

.. _SRW_NATLEV_table:

************************************************************
Fields Requested in the UPP Parameter Table for SRW NATLEV
************************************************************
Expand Down
2 changes: 2 additions & 0 deletions docs/UsersGuide/source/tables/SRW_PRSLEV_table.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
:orphan:

.. _SRW_PRSLEV_table:

**********************************************************
Fields Requested in the UPP Parameter Table for SRW PRSLEV
**********************************************************
Expand Down
17 changes: 9 additions & 8 deletions etc/lmod-setup.csh
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,23 @@ if ( "$L_MACHINE" != wcoss2 ) then
endif

if ( "$L_MACHINE" == macos ) then
arch=$(uname -m)
[[ "$arch" = arm64 ]] && export ENV="/opt/homebrew/opt/lmod/init/csh"
[[ "$arch" = x86_64 ]] && export ENV="/usr/local/opt/lmod/init/csh"
source $ENV
if ( -d /opt/homebrew/opt/lmod ) then
source /opt/homebrew/opt/lmod/init/csh
else if ( -d /usr/local/opt/lmod ) then
source /usr/local/opt/lmod/init/csh
else
echo "Path for Lmod is unknown, verify whether Lmod is installed"
endif

module purge

else if ( "$L_MACHINE" == linux ) then
setenv ENV "/usr/share/lmod/lmod/init/csh"
source $ENV
source /usr/share/lmod/lmod/init/csh

module purge

else if ( "$L_MACHINE" == singularity ) then
set ENV="/usr/share/lmod/lmod/init/csh"
source $ENV
source /usr/share/lmod/lmod/init/csh

module purge

Expand Down
10 changes: 6 additions & 4 deletions etc/lmod-setup.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/sh
#!/usr/bin/env bash

if [ $# = 0 ]; then
L_MACHINE=${MACHINE}
Expand Down Expand Up @@ -26,10 +26,12 @@ fi

if [ "$L_MACHINE" = macos ]; then
arch=$(uname -m)
[[ "$arch" = arm64 ]] && export BASH_ENV="/opt/homebrew/opt/lmod/init/bash"
[[ "$arch" = x86_64 ]] && export BASH_ENV="/usr/local/opt/lmod/init/bash"
if [ "$arch" = arm64 ] || [ "$arch" = aarch64 ]; then
export BASH_ENV="/opt/homebrew/opt/lmod/init/bash"
else
export BASH_ENV="/usr/local/opt/lmod/init/bash"
fi
source $BASH_ENV

module purge

elif [ "$L_MACHINE" = linux ]; then
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_AQM_ICS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_AQM_LBCS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_BIAS_CORRECTION_O3
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_BIAS_CORRECTION_PM25
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_CHECK_POST_OUTPUT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_FIRE_EMISSION
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_EXTRN_MDL_FILES
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_GRID
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_ICS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_LBCS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_OROG
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_MAKE_SFC_CLIMO
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_NEXUS_EMISSION
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_NEXUS_GFS_SFC
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_NEXUS_POST_SPLIT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_PLOT_ALLVARS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash

#
#-----------------------------------------------------------------------
Expand Down
Loading
Loading