gem / oq-platform

DEPRECATED. Please refer to https://github.com/gem/oq-platform2
8 stars 3 forks source link

Vulnerability - Update exporters for fragility and vulnerability to NRML 0.5 #603

Open CatalinaYepes opened 8 years ago

CatalinaYepes commented 8 years ago

The fragility and vulnerability functions on the platform are still exported in the old NRML format and should be updated to the new one (NRML 0.5).

raoanirudh commented 7 years ago

Fragility models in the NRML 0.5 format

Metadata

The metadata sections of the fragility file in the NRML 0.5 schema are as follows:

<?xml version='1.0' encoding='UTF-8'?>
<nrml xmlns="http://openquake.org/xmlns/nrml/0.5">

<fragilityModel id="fragility model id" assetCategory="buildings" lossCategory="structural">

  <description>fragility model description string</description>
  <limitStates>whitespace separated list of damage state strings</limitStates>

</fragilityModel>

</nrml>

Continuous fragility functions

The following snippet shows how a typical continuous fragility function is represented in the NRML 0.5 format:

  <fragilityFunction id="taxonomy string" format="continuous" shape="logncdf">
    <imls imt="PGA" noDamageLimit="0.0" minIML="0.3" maxIML="5.0"/>
    <params ls="ds1" mean="0.50" stddev="0.10"/>
    <params ls="ds2" mean="1.00" stddev="0.40"/>
    <params ls="ds3" mean="1.50" stddev="0.90"/>
    <params ls="ds4" mean="2.00" stddev="1.60"/>
  </fragilityFunction>

A complete file with three continuous fragility functions can be found at: https://github.com/gem/oq-risk-tests/blob/master/models/fragility/v0.5/ffm_cont_tax3_imt3_nzmin.xml

Discrete fragility functions

The following snippet shows how a typical discrete fragility function is represented in the NRML 0.5 format:

  <fragilityFunction id="taxonomy string" format="discrete">
    <imls imt="PGA" noDamageLimit="0.3">0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0</imls>
    <poes ls="ds1">0.000 0.152 0.846 0.993 1.000 1.000 1.000 1.000 1.000 1.000</poes>
    <poes ls="ds2">0.000 0.014 0.129 0.350 0.576 0.747 0.857 0.921 0.957 0.977</poes>
    <poes ls="ds3">0.000 0.008 0.085 0.196 0.325 0.450 0.561 0.653 0.728 0.787</poes>
    <poes ls="ds4">0.000 0.006 0.067 0.171 0.263 0.354 0.438 0.514 0.580 0.637</poes>
  </fragilityFunction>

A complete file with a discrete fragility function can be found at: https://github.com/gem/oq-risk-tests/blob/master/models/fragility/v0.5/ffm_disc_tax1_nzndl.xml

Note: A single NRML 0.5 fragility file can contain a mix of both continuous and discrete fragility functions.

CatalinaYepes commented 7 years ago

With the NRML 0.5 format it will be possible to export continuous and discrete fragility functions at the same time.

raoanirudh commented 7 years ago

Vulnerability models in the NRML 0.5 format

Metadata

The metadata sections of the vulnerability file in the NRML 0.5 schema are as follows:

<?xml version='1.0' encoding='utf-8'?>
<nrml xmlns="http://openquake.org/xmlns/nrml/0.5">

<vulnerabilityModel id="vulnerability model id" assetCategory="buildings" lossCategory="structural">

  <description>vulnerability model description string</description>

</vulnerabilityModel>

</nrml>

Continuous fragility functions

The following snippet shows how a typical discrete vulnerability function using the lognormal distribution ("LN") is represented in the NRML 0.5 format:

  <vulnerabilityFunction id="taxonomy string" dist="LN">
    <imls imt="PGA">0.005 0.15 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0</imls>
    <meanLRs>0.01 0.05 0.12 0.24 0.40 0.60 0.80 0.96 1.00 1.00 1.00</meanLRs>
    <covLRs>0.03 0.12 0.24 0.32 0.32 0.24 0.12 0.03 0.00 0.00 0.00</covLRs>
  </vulnerabilityFunction>

A complete file with three discrete vulnerability functions can be found at: https://github.com/gem/oq-risk-tests/blob/master/models/vulnerability/v0.5/vm_ln_tax3_imt3_nst.xml

Probability mass functions

The following snippet shows how a typical vulnerability function using a probability mass function ("PM") is represented in the NRML 0.5 format:

  <vulnerabilityFunction id="taxonomy string" dist="PM">
    <imls imt="PGA">0.05 0.20 0.40 0.60 1.00 1.40 1.60 2.00</imls>
    <probabilities lr="0.000">0.995 0.950 0.490 0.300 0.140 0.030 0.010 0.004</probabilities>
    <probabilities lr="0.005">0.004 0.030 0.380 0.400 0.300 0.100 0.030 0.006</probabilities>
    <probabilities lr="0.050">0.001 0.015 0.080 0.160 0.240 0.300 0.100 0.010</probabilities>
    <probabilities lr="0.200">0.000 0.004 0.020 0.080 0.160 0.260 0.300 0.030</probabilities>
    <probabilities lr="0.450">0.000 0.001 0.015 0.030 0.100 0.180 0.300 0.180</probabilities>
    <probabilities lr="0.800">0.000 0.000 0.010 0.020 0.040 0.100 0.180 0.390</probabilities>
    <probabilities lr="1.000">0.000 0.000 0.005 0.010 0.020 0.030 0.080 0.380</probabilities>
  </vulnerabilityFunction>

A complete file with a vulnerability function using a probability mass function can be found at: https://github.com/gem/oq-risk-tests/blob/master/models/vulnerability/v0.5/vm_pm_tax1.xml

Note: A single NRML 0.5 vulnerability file can contain a mix of both of the above described types of vulnerability functions.