ValueError: Vs30 values are beyond the limits admitted by the Stewart et al. (2020) model

8 views
Skip to first unread message

dyn...@gmail.com

unread,
Dec 16, 2025, 12:09:38 AM (yesterday) Dec 16
to OpenQuake Users
Hi,

I've ran the classical PSHA with site model file, and got the error message as below:
(oq version 3.24.0) 

WARNING:root:Sent 40 classical tasks, 420.81 MB
INFO:root:classical   1% [40 submitted, 24 queued]
INFO:root:classical   3% [40 submitted, 24 queued]
INFO:root:classical   4% [40 submitted, 24 queued]
INFO:root:classical   6% [40 submitted, 24 queued]
INFO:root:classical   7% [40 submitted, 24 queued]
INFO:root:classical   9% [40 submitted, 24 queued]
INFO:root:Received 7 * 643.4 KB in 10 seconds [unpik=0.03s] from classical
{'source_data': '4.4 MB', 'rmap': '1.06 KB', 'cfactor': '852 B'}
ERROR:root:ValueError:
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 437, in new
    val = func(*args)
          ^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 173, in classical
    result = hazclassical(sources, tileget(sitecol, cmaker.ilabel), cmaker)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/calc/hazard_curve.py", line 75, in classical
    dic = PmapMaker(cmaker, sitecol, group).make()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1610, in make
    pnemap = self._make_src_indep()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1536, in _make_src_indep
    cm.update(pnemap, ctx)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1217, in update
    for poes, mea, sig, tau, ctxt in self.gen_poes(ctx):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1179, in gen_poes
    for poes, mea, sig, tau, slc in self._gen_poes(ctxt):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1140, in _gen_poes
    mean_stdt = self.get_mean_stds([ctx], split_by_mag=False)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1247, in get_mean_stds
    out[:, g] = self.get_4MN(recarrays, gsim)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1262, in get_4MN
    adj = compute(gsim, ctx, self.imts, *out[:, :, slc])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 427, in compute
    g[methname](ctx, imt, me, si, ta, ph, **kw)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 101, in ceus2020_site_term
    slin = stewart2020_linear_scaling(imt, ctx.vs30, wimp, usgs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/stewart2020.py", line 145, in stewart2020_linear_scaling
    raise ValueError(msg)
ValueError: Vs30 values are beyond the limits  admitted by the Stewart et al. (2020) model
Traceback (most recent call last):
  File "/home/hyeuk/src/oq-engine/openquake/engine/engine.py", line 207, in run_calc
    calc.run(shutdown=True)
  File "/home/hyeuk/src/oq-engine/openquake/calculators/base.py", line 291, in run
    self.result = self.execute()
                  ^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 554, in execute
    self._execute_regular(sgs, ds)
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 622, in _execute_regular
    acc = smap.reduce(self.agg_dicts, AccumDict(accum=0.))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 926, in reduce
    return self.submit_all().reduce(agg, acc)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 608, in reduce
    for result in self:
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 594, in __iter__
    yield from self._iter()
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 584, in _iter
    out = result.get()
          ^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 414, in get
    raise etype(msg)
ValueError:
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 437, in new
    val = func(*args)
          ^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 173, in classical
    result = hazclassical(sources, tileget(sitecol, cmaker.ilabel), cmaker)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/calc/hazard_curve.py", line 75, in classical
    dic = PmapMaker(cmaker, sitecol, group).make()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1610, in make
    pnemap = self._make_src_indep()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1536, in _make_src_indep
    cm.update(pnemap, ctx)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1217, in update
    for poes, mea, sig, tau, ctxt in self.gen_poes(ctx):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1179, in gen_poes
    for poes, mea, sig, tau, slc in self._gen_poes(ctxt):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1140, in _gen_poes
    mean_stdt = self.get_mean_stds([ctx], split_by_mag=False)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1247, in get_mean_stds
    out[:, g] = self.get_4MN(recarrays, gsim)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1262, in get_4MN
    adj = compute(gsim, ctx, self.imts, *out[:, :, slc])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 427, in compute
    g[methname](ctx, imt, me, si, ta, ph, **kw)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 101, in ceus2020_site_term
    slin = stewart2020_linear_scaling(imt, ctx.vs30, wimp, usgs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/stewart2020.py", line 145, in stewart2020_linear_scaling
    raise ValueError(msg)
ValueError: Vs30 values are beyond the limits  admitted by the Stewart et al. (2020) model
Traceback (most recent call last):
  File "/home/hyeuk/openquake/bin/oq", line 7, in <module>
    sys.exit(oq())
             ^^^^
  File "/home/hyeuk/src/oq-engine/openquake/commands/__main__.py", line 48, in oq
    sap.run(commands, prog='oq')
  File "/home/hyeuk/src/oq-engine/openquake/baselib/sap.py", line 212, in run
    return _run(parser(funcdict, **parserkw), argv)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/sap.py", line 203, in _run
    return func(**dic)
           ^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/commands/engine.py", line 172, in main
    run_jobs(jobs, nodes=nodes, sbatch=True, precalc=not multi)
  File "/home/hyeuk/src/oq-engine/openquake/engine/engine.py", line 379, in run_jobs
    run_calc(jobctx)
  File "/home/hyeuk/src/oq-engine/openquake/engine/engine.py", line 207, in run_calc
    calc.run(shutdown=True)
  File "/home/hyeuk/src/oq-engine/openquake/calculators/base.py", line 291, in run
    self.result = self.execute()
                  ^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 554, in execute
    self._execute_regular(sgs, ds)
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 622, in _execute_regular
    acc = smap.reduce(self.agg_dicts, AccumDict(accum=0.))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 926, in reduce
    return self.submit_all().reduce(agg, acc)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 608, in reduce
    for result in self:
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 594, in __iter__
    yield from self._iter()
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 584, in _iter
    out = result.get()
          ^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 414, in get
    raise etype(msg)
ValueError:
  File "/home/hyeuk/src/oq-engine/openquake/baselib/parallel.py", line 437, in new
    val = func(*args)
          ^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/calculators/classical.py", line 173, in classical
    result = hazclassical(sources, tileget(sitecol, cmaker.ilabel), cmaker)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/calc/hazard_curve.py", line 75, in classical
    dic = PmapMaker(cmaker, sitecol, group).make()
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1610, in make
    pnemap = self._make_src_indep()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1536, in _make_src_indep
    cm.update(pnemap, ctx)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1217, in update
    for poes, mea, sig, tau, ctxt in self.gen_poes(ctx):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1179, in gen_poes
    for poes, mea, sig, tau, slc in self._gen_poes(ctxt):
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1140, in _gen_poes
    mean_stdt = self.get_mean_stds([ctx], split_by_mag=False)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1247, in get_mean_stds
    out[:, g] = self.get_4MN(recarrays, gsim)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/contexts.py", line 1262, in get_4MN
    adj = compute(gsim, ctx, self.imts, *out[:, :, slc])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 427, in compute
    g[methname](ctx, imt, me, si, ta, ph, **kw)
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py", line 101, in ceus2020_site_term
    slin = stewart2020_linear_scaling(imt, ctx.vs30, wimp, usgs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hyeuk/src/oq-engine/openquake/hazardlib/gsim/mgmpe/stewart2020.py", line 145, in stewart2020_linear_scaling
    raise ValueError(msg)
ValueError: Vs30 values are beyond the limits  admitted by the Stewart et al. (2020) model

The vs30 value in the site model file ranged from 115 to 760. Any advice?
Thanks.

Regards,

Hyeuk

Marco Pagani

unread,
Dec 16, 2025, 1:35:05 AM (yesterday) Dec 16
to OpenQuake Users

Values below 200 m/s are not admitted. Increasing the values below 200 to 200 m/s will make it run, at the cost of some bias. Note that the behaviour of this site model below 200 m/s is quite debated, as it is perceived as adding too much non-linearity. Hence, using the amplification for 200 m/s might not be too wrong.

--
You received this message because you are subscribed to the Google Groups "OpenQuake Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openquake-use...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/openquake-users/e616bd68-0fe3-4692-abfc-cbc7cd0c37efn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages