diff --git a/gstlal-inspiral/share/O3/sept_opa/H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz b/gstlal-inspiral/share/O3/sept_opa/H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0be4675435bbf88fa6845b80676e11d2cd703670
Binary files /dev/null and b/gstlal-inspiral/share/O3/sept_opa/H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz differ
diff --git a/gstlal-inspiral/share/O3/sept_opa/sbank_bbh.ini b/gstlal-inspiral/share/O3/sept_opa/sbank_bbh.ini
new file mode 100644
index 0000000000000000000000000000000000000000..fc7b36353f649ab01ce01cd2672be2c72329a141
--- /dev/null
+++ b/gstlal-inspiral/share/O3/sept_opa/sbank_bbh.ini
@@ -0,0 +1,59 @@
+[condor] 
+; This section points to the executables, and provides condor options
+universe = vanilla
+lalapps_cbc_sbank = /path/to/lalapps_cbc_sbank
+lalapps_cbc_sbank_choose_mchirp_boundaries = /path/to/lalapps_cbc_sbank_choose_mchirp_boundaries
+
+[accounting]
+accounting-group = ligo.dev.o3.cbc.em.gstlalonline
+
+[sbank]
+; This section contains the parameters of the entire bank parameter
+; space you wish to cover. sbank_pipe will divide the space for you.
+approximant = SEOBNRv4_ROM
+match-min = 0.97
+flow = 15.0
+fhigh-max = 1024
+reference-psd = H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz
+instrument = L1
+mass1-min = 2.00
+mass1-max = 99.00
+mass2-min = 2.00
+mass2-max = 99.00
+mtotal-min = 4.00
+mtotal-max = 100.00
+spin1-max = 0.997
+spin1-min = -0.997
+spin2-max = 0.997
+spin2-min = -0.997
+aligned-spin =
+neighborhood-param = dur
+neighborhood-size = 15
+checkpoint = 500
+;cache-waveforms =
+; please check your memory requirements before setting this option
+; if jobs use too much memory, they will swap and run forever
+coarse-match-df = 2.0
+iterative-match-df-max= 2.0
+; If you want to add precomputed banks to the workflow
+;bank-seed = FILENAME[:APPROX]
+
+[coarse-sbank]
+; This section is for planning the splitting of the parameter
+; space. To do so, we generate a "coarse" bank, i.e., a bank on the
+; same parameter space but with a weaker convergence criteria. This
+; process gives a rough measure of the density of templates the final
+; bank will require. Use the max-new-templates option to prevent the job
+; from running forever, but the more templates you have in the coarse
+; bank, the less "over-coverage" you will incur from the bank
+; splitting process. A good rule of thumb is that you want ~1000
+; templates per split bank.
+max-new-templates = 15000
+match-min = 0.93
+convergence-threshold = 1000
+
+[split]
+; This section configures the parallelization. nbanks are how many
+; splits (in chirp mass) you want. You can crank it to infinity at the
+; cost of overcerage.
+nbanks = 100
diff --git a/gstlal-inspiral/share/O3/sept_opa/sbank_bns.ini b/gstlal-inspiral/share/O3/sept_opa/sbank_bns.ini
new file mode 100644
index 0000000000000000000000000000000000000000..8ff7092a093dd0699a79a2f27fe3e2662f149b2f
--- /dev/null
+++ b/gstlal-inspiral/share/O3/sept_opa/sbank_bns.ini
@@ -0,0 +1,59 @@
+[condor] 
+; This section points to the executables, and provides condor options
+universe = vanilla
+lalapps_cbc_sbank = /path/to/lalapps_cbc_sbank
+lalapps_cbc_sbank_choose_mchirp_boundaries = /path/to/lalapps_cbc_sbank_choose_mchirp_boundaries
+
+[accounting]
+accounting-group = ligo.dev.o3.cbc.em.gstlalonline
+
+[sbank]
+; This section contains the parameters of the entire bank parameter
+; space you wish to cover. sbank_pipe will divide the space for you.
+approximant = TaylorF2
+match-min = 0.97
+flow = 15.0
+fhigh-max = 1024
+reference-psd = H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz
+instrument = L1
+mass1-min = 1.00
+mass1-max = 2.00
+mass2-min = 1.00
+mass2-max = 2.00
+mtotal-min = 2.00
+mtotal-max = 4.00
+spin1-max = 0.05
+spin1-min = -0.05
+spin2-max = 0.05
+spin2-min = -0.05
+aligned-spin =
+neighborhood-param = dur
+neighborhood-size = 15
+checkpoint = 500
+;cache-waveforms =
+; please check your memory requirements before setting this option
+; if jobs use too much memory, they will swap and run forever
+coarse-match-df = 2.0
+iterative-match-df-max= 2.0
+; If you want to add precomputed banks to the workflow
+;bank-seed = FILENAME[:APPROX]
+
+[coarse-sbank]
+; This section is for planning the splitting of the parameter
+; space. To do so, we generate a "coarse" bank, i.e., a bank on the
+; same parameter space but with a weaker convergence criteria. This
+; process gives a rough measure of the density of templates the final
+; bank will require. Use the max-new-templates option to prevent the job
+; from running forever, but the more templates you have in the coarse
+; bank, the less "over-coverage" you will incur from the bank
+; splitting process. A good rule of thumb is that you want ~1000
+; templates per split bank.
+max-new-templates = 15000
+match-min = 0.93
+convergence-threshold = 1000
+
+[split]
+; This section configures the parallelization. nbanks are how many
+; splits (in chirp mass) you want. You can crank it to infinity at the
+; cost of overcerage.
+nbanks = 15
diff --git a/gstlal-inspiral/share/O3/sept_opa/sbank_imbh.ini b/gstlal-inspiral/share/O3/sept_opa/sbank_imbh.ini
new file mode 100644
index 0000000000000000000000000000000000000000..9f11991b629d828e4e116a9eea8420942d5faa4d
--- /dev/null
+++ b/gstlal-inspiral/share/O3/sept_opa/sbank_imbh.ini
@@ -0,0 +1,59 @@
+[condor] 
+; This section points to the executables, and provides condor options
+universe = vanilla
+lalapps_cbc_sbank = /path/to/lalapps_cbc_sbank
+lalapps_cbc_sbank_choose_mchirp_boundaries = /path/to/lalapps_cbc_sbank_choose_mchirp_boundaries
+
+[accounting]
+accounting-group = ligo.dev.o3.cbc.em.gstlalonline
+
+[sbank]
+; This section contains the parameters of the entire bank parameter
+; space you wish to cover. sbank_pipe will divide the space for you.
+approximant = SEOBNRv4_ROM
+match-min = 0.99
+flow = 10.0
+fhigh-max = 1024
+reference-psd = H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz
+instrument = L1
+mass1-min = 5.00
+mass1-max = 395.00
+mass2-min = 5.00
+mass2-max = 395.00
+mtotal-min = 50.00
+mtotal-max = 400.00
+spin1-max = 0.997
+spin1-min = -0.997
+spin2-max = 0.997
+spin2-min = -0.997
+aligned-spin =
+neighborhood-param = dur
+neighborhood-size = 15
+checkpoint = 500
+;cache-waveforms =
+; please check your memory requirements before setting this option
+; if jobs use too much memory, they will swap and run forever
+coarse-match-df = 2.0
+iterative-match-df-max= 2.0
+; If you want to add precomputed banks to the workflow
+;bank-seed = FILENAME[:APPROX]
+
+[coarse-sbank]
+; This section is for planning the splitting of the parameter
+; space. To do so, we generate a "coarse" bank, i.e., a bank on the
+; same parameter space but with a weaker convergence criteria. This
+; process gives a rough measure of the density of templates the final
+; bank will require. Use the max-new-templates option to prevent the job
+; from running forever, but the more templates you have in the coarse
+; bank, the less "over-coverage" you will incur from the bank
+; splitting process. A good rule of thumb is that you want ~1000
+; templates per split bank.
+max-new-templates = 15000
+match-min = 0.93
+convergence-threshold = 1000
+
+[split]
+; This section configures the parallelization. nbanks are how many
+; splits (in chirp mass) you want. You can crank it to infinity at the
+; cost of overcerage.
+nbanks = 100
diff --git a/gstlal-inspiral/share/O3/sept_opa/sbank_nsbh.ini b/gstlal-inspiral/share/O3/sept_opa/sbank_nsbh.ini
new file mode 100644
index 0000000000000000000000000000000000000000..2b5c2f624e6c0904266e6948177abf7b277e5fa8
--- /dev/null
+++ b/gstlal-inspiral/share/O3/sept_opa/sbank_nsbh.ini
@@ -0,0 +1,59 @@
+[condor] 
+; This section points to the executables, and provides condor options
+universe = vanilla
+lalapps_cbc_sbank = /path/to/lalapps_cbc_sbank
+lalapps_cbc_sbank_choose_mchirp_boundaries = /path/to/lalapps_cbc_sbank_choose_mchirp_boundaries
+
+[accounting]
+accounting-group = ligo.dev.o3.cbc.em.gstlalonline
+
+[sbank]
+; This section contains the parameters of the entire bank parameter
+; space you wish to cover. sbank_pipe will divide the space for you.
+approximant = SEOBNRv4_ROM
+match-min = 0.97
+flow = 15.0
+fhigh-max = 1024
+reference-psd = H1L1V1-REFERENCE_PSD-1186624818-687900.xml.gz
+instrument = L1
+mass1-min = 2.00
+mass1-max = 99.00
+mass2-min = 1.00
+mass2-max = 2.00
+mtotal-min = 2.00
+mtotal-max = 100.00
+spin1-max = 0.997
+spin1-min = -0.997
+spin2-max = 0.05
+spin2-min = -0.05
+aligned-spin =
+neighborhood-param = dur
+neighborhood-size = 15
+checkpoint = 500
+;cache-waveforms =
+; please check your memory requirements before setting this option
+; if jobs use too much memory, they will swap and run forever
+coarse-match-df = 2.0
+iterative-match-df-max= 2.0
+; If you want to add precomputed banks to the workflow
+;bank-seed = FILENAME[:APPROX]
+
+[coarse-sbank]
+; This section is for planning the splitting of the parameter
+; space. To do so, we generate a "coarse" bank, i.e., a bank on the
+; same parameter space but with a weaker convergence criteria. This
+; process gives a rough measure of the density of templates the final
+; bank will require. Use the max-new-templates option to prevent the job
+; from running forever, but the more templates you have in the coarse
+; bank, the less "over-coverage" you will incur from the bank
+; splitting process. A good rule of thumb is that you want ~1000
+; templates per split bank.
+max-new-templates = 15000
+match-min = 0.93
+convergence-threshold = 1000
+
+[split]
+; This section configures the parallelization. nbanks are how many
+; splits (in chirp mass) you want. You can crank it to infinity at the
+; cost of overcerage.
+nbanks = 100