diff --git a/docs/reference.rst b/docs/reference.rst
index d8e18bd244..f2d89afaf8 100644
--- a/docs/reference.rst
+++ b/docs/reference.rst
@@ -93,6 +93,7 @@ Launchers
parsl.launchers.SrunMPILauncher
parsl.launchers.GnuParallelLauncher
parsl.launchers.MpiExecLauncher
+ parsl.launchers.MpiRunLauncher
parsl.launchers.JsrunLauncher
parsl.launchers.WrappedLauncher
diff --git a/docs/userguide/configuring.rst b/docs/userguide/configuring.rst
index f3fe5cc407..a57e815fe7 100644
--- a/docs/userguide/configuring.rst
+++ b/docs/userguide/configuring.rst
@@ -536,12 +536,27 @@ Center's **Expanse** supercomputer. The example is designed to be executed on th
.. literalinclude:: ../../parsl/configs/expanse.py
+Improv (Argonne LCRC)
+---------------------
+
+.. image:: https://www.lcrc.anl.gov/sites/default/files/styles/965_wide/public/2023-12/20231214_114057.jpg?itok=A-Rz5pP9
+
+**Improv** is a PBS Pro based supercomputer at Argonne's Laboratory Computing Resource
+Center (LCRC). The following snippet is an example configuration that uses `parsl.providers.PBSProProvider`
+and `parsl.launchers.MpiRunLauncher` to run on multinode jobs.
+
+.. literalinclude:: ../../parsl/configs/improv.py
+
+
.. _configuring_nersc_cori:
Perlmutter (NERSC)
------------------
NERSC provides documentation on `how to use Parsl on Perlmutter `_.
+Perlmutter is a Slurm based HPC system and parsl uses `parsl.providers.SlurmProvider` with `parsl.launchers.SrunLauncher`
+to launch tasks onto this machine.
+
Frontera (TACC)
---------------
@@ -599,6 +614,8 @@ Polaris (ALCF)
:width: 75%
ALCF provides documentation on `how to use Parsl on Polaris `_.
+Polaris uses `parsl.providers.PBSProProvider` and `parsl.launchers.MpiExecLauncher` to launch tasks onto the HPC system.
+
Stampede2 (TACC)
diff --git a/parsl/configs/improv.py b/parsl/configs/improv.py
new file mode 100644
index 0000000000..8a40282829
--- /dev/null
+++ b/parsl/configs/improv.py
@@ -0,0 +1,34 @@
+from parsl.config import Config
+from parsl.executors import HighThroughputExecutor
+from parsl.launchers import MpiRunLauncher
+from parsl.providers import PBSProProvider
+
+config = Config(
+ executors=[
+ HighThroughputExecutor(
+ label="Improv_multinode",
+ max_workers_per_node=32,
+ provider=PBSProProvider(
+ account="YOUR_ALLOCATION_ON_IMPROV",
+ # PBS directives (header lines), for example:
+ # scheduler_options='#PBS -l mem=4gb',
+ scheduler_options='',
+
+ queue="compute",
+
+ # Command to be run before starting a worker:
+ # **WARNING** Improv requires an openmpi module to be
+ # loaded for the MpiRunLauncher. Add additional env
+ # load commands to this multiline string.
+ worker_init='''
+module load gcc/13.2.0;
+module load openmpi/5.0.3-gcc-13.2.0; ''',
+ launcher=MpiRunLauncher(),
+
+ # number of compute nodes allocated for each block
+ nodes_per_block=2,
+ walltime='00:10:00'
+ ),
+ ),
+ ],
+)