Exposure Models#
All risk calculators in the OpenQuake engine require an Exposure Model that needs to be provided in the Natural hazards’ Risk Markup Language schema, the use of which is illustrated through several examples in this section. The information included in an Exposure Model comprises a metadata section listing general information about the exposure, followed by a cost conversions section that describes how the different areas, costs, and occupancies for the assets will be specified, followed by data regarding each individual asset in the portfolio.
Note: Starting from OpenQuake engine v3.0, the Exposure Model may be provided using csv files listing the asset information, along with an xml file conatining the metadata section for the exposure model that has been described in the examples above. See Example 8 below for an illustration of an exposure model using csv files.
A simple Exposure Model comprising a single asset is shown in the listing below:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
</asset>
</assets>
</exposureModel>
</nrml>
Let us take a look at each of the sections in the above example file in turn. The first part of the file contains the metadata section:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
</asset>
</assets>
</exposureModel>
</nrml>
The information in the metadata section is common to all of the assets in the portfolio and needs to be incorporated at the beginning of every Exposure Model file. There are a number of parameters that compose the metadata section, which is intended to provide general information regarding the assets within the Exposure Model. These parameters are described below:
id
: mandatory; a unique string used to identify the Exposure Model. This string can contain letters (a–z; A–Z), numbers (0–9), dashes (–), and underscores (_), with a maximum of 100 characters.category
: an optional string used to define the type of assets being stored (e.g: buildings, lifelines).taxonomySource
: an optional attribute used to define the taxonomy being used to classify the assets.description
: mandatory; a brief string (ASCII) with further information about the Exposure Model.
Next, let us look at the part of the file describing the area and cost conversions:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
</asset>
</assets>
</exposureModel>
</nrml>
Notice that the costType
element defines a name
, a type
, and a unit
attribute.
The Natural hazards’ Risk Markup Language schema for the Exposure Model allows the definition of a structural cost, a
nonstructural components cost, a contents cost, and a business interruption or downtime cost for each asset in the
portfolio. Thus, the valid values for the name
attribute of the costType
element are the following:
structural
: used to specify the structural replacement cost of assetsnonstructural
: used to specify the replacement cost for the nonstructural components of assetscontents
: used to specify the contents replacement costbusiness_interruption
: used to specify the cost that will be incurred per unit time that a damaged asset remains closed following an earthquake
The Exposure Model shown in the example above defines only the structural values for the assets. However, multiple cost types can be defined for each asset in the same Exposure Model.
The unit
attribute of the costType
element is used for specifying the currency unit for the corresponding cost
type. Note that the OpenQuake engine itself is agnostic to the currency units; the unit
is thus a descriptive
attribute which is used by the OpenQuake engine to annotate the results of a risk assessment. This attribute can be set
to any valid Unicode string.
The type
attribute of the costType
element specifies whether the costs will be provided as an aggregated value
for an asset, or per building or unit comprising an asset, or per unit area of an asset. The valid values for the type
attribute of the costType
element are the following:
aggregated
: indicates that the replacement costs will be provided as an aggregated value for each assetper_asset
: indicates that the replacement costs will be provided per structural unit comprising each assetper_area
: indicates that the replacement costs will be provided per unit area for each asset
If the costs are to be specified per_area
for any of the costTypes
, the area
element will also need to be
defined in the conversions section. The area
element defines a type
, and a unit
attribute.
The unit
attribute of the area
element is used for specifying the units for the area of an asset. The OpenQuake
engine itself is agnostic to the area units; the unit
is thus a descriptive attribute which is used by the OpenQuake
engine to annotate the results of a risk assessment. This attribute can be set to any valid ASCII string.
The type
attribute of the area
element specifies whether the area will be provided as an aggregated value for an
asset, or per building or unit comprising an asset. The valid values for the type
attribute of the area
element
are the following:
aggregated
: indicates that the area will be provided as an aggregated value for each assetper_asset
: indicates that the area will be provided per building or unit comprising each asset
The way the information about the characteristics of the assets in an Exposure Model are stored can vary strongly depending on how and why the data was compiled. As an example, if national census information is used to estimated the distribution of assets in a given region, it is likely that the number of buildings within a given geographical area will be used to define the dataset, and will be used for estimating the number of collapsed buildings for a scenario earthquake. On the other hand, if simplified methodologies based on proxy data such as population distribution are used to develop the Exposure Model, then it is likely that the built up area or economic cost of each building typology will be directly derived, and will be used for the estimation of economic losses.
Finally, let us look at the part of the file describing the set of assets in the portfolio to be used in seismic damage or risk calculations:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
</asset>
</assets>
</exposureModel>
</nrml>
Each asset definition involves specifiying a set of mandatory and optional attributes concerning the asset. The following set of attributes can be assigned to each asset based on the current schema for the Exposure Model:
id
: mandatory; a unique string used to identify the given asset, which is used by the OpenQuake engine to relate each asset with its associated results. This string can contain letters (a–z; A–Z), numbers (0–9), dashes (-), and underscores (_), with a maximum of 100 characters.taxonomy
: mandatory; this string specifies the building typology of the given asset. The taxonomy strings can be user-defined, or based on an existing classification scheme such as the GEM Taxonomy, PAGER, or EMS-98.number
: the number of individual structural units comprising a given asset. This attribute is mandatory for damage calculations. For risk calculations, this attribute must be defined if either the area or any of the costs are provided per structural unit comprising each asset.area
: area of the asset, at a given location. As mentioned earlier, the area is a mandatory attribute only if any one of the costs for the asset is specified per unit area.location
: mandatory; specifies the longitude (between -180 degrees to 180 degrees) and latitude (between -90 degrees to 90 degrees) of the given asset, both specified in decimal degrees [1].costs
: specifies a set of costs for the given asset. The replacement value for different cost types must be provided on separate lines within thecosts
element. As shown in the example above, each cost entry must define thetype
and thevalue
. Currently supported valid options for the costtype
are:structural
,nonstructural
,contents
, andbusiness_interruption
.occupancies
: mandatory only for probabilistic or scenario risk calculations that specify anoccupants_vulnerability_file
. Each entry within this element specifies the number of occupants for the asset for a particular period of the day. As shown in the example above, each occupancy entry must define theperiod
and theoccupants
. Currently supported valid options for theperiod
are:day
,transit
, andnight
. Currently, the number ofoccupants
for an asset can only be provided as an aggregated value for the asset.
For the purposes of performing a retrofitting benefit/cost analysis, it is also necessary to define the retrofitting
cost (retrofitted
). The combination between the possible options in which these three attributes can be defined leads
to four ways of storing the information about the assets. For each of these cases a brief explanation and example is
provided in this section.
Example 1#
This example illustrates an Exposure Model in which the aggregated cost (structural, nonstructural, contents and business interruption) of the assets of each taxonomy for a set of locations is directly provided. Thus, in order to indicate how the various costs will be defined, the following information needs to be stored in the Exposure Model file, as shown in the listing below:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with aggregated replacement costs for each asset
</description>
<conversions>
<costTypes>
<costType name="structural" type="aggregated" unit="USD" />
<costType name="nonstructural" type="aggregated" unit="USD" />
<costType name="contents" type="aggregated" unit="USD" />
<costType name="business_interruption" type="aggregated" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="20000" />
<cost type="nonstructural" value="30000" />
<cost type="contents" value="10000" />
<cost type="business_interruption" value="4000" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
In this case, the cost type
of each component as been defined as aggregated
. Once the way in which each cost is
going to be defined has been established, the values for each asset can be stored according to the format shown in the
listing:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with aggregated replacement costs for each asset
</description>
<conversions>
<costTypes>
<costType name="structural" type="aggregated" unit="USD" />
<costType name="nonstructural" type="aggregated" unit="USD" />
<costType name="contents" type="aggregated" unit="USD" />
<costType name="business_interruption" type="aggregated" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="20000" />
<cost type="nonstructural" value="30000" />
<cost type="contents" value="10000" />
<cost type="business_interruption" value="4000" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
Each asset is uniquely identified by its id
. Then, a pair of coordinates (latitude and longitude) for a location
where the asset is assumed to exist is defined. Each asset must be classified according to a taxonomy
, so that the
OpenQuake engine is capable of employing the appropriate Vulnerability Function or Fragility Function in the risk
calculations. Finally, the cost values of each type
are stored within the costs
attribute. In this example, the
aggregated value for all structural units (within a given asset) at each location is provided directly, so there is no
need to define other attributes such as number
or area
. This mode of representing an Exposure Model is probably
the simplest one.
Example 2#
In the snippet shown in the listing below, an Exposure Model containing the number of structural units and the associated costs per unit of each asset is presented:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per building for each asset
</description>
<conversions>
<costTypes>
<costType name="structural" type="per_asset" unit="USD" />
<costType name="nonstructural" type="per_asset" unit="USD" />
<costType name="contents" type="per_asset" unit="USD" />
<costType name="business_interruption" type="per_asset" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" number="2" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="7500" />
<cost type="nonstructural" value="11250" />
<cost type="contents" value="3750" />
<cost type="business_interruption" value="1500" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
For this case, the cost type
has been set to per_asset
. Then, the information from each asset can be stored
following the format shown in the listing below:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per building for each asset
</description>
<conversions>
<costTypes>
<costType name="structural" type="per_asset" unit="USD" />
<costType name="nonstructural" type="per_asset" unit="USD" />
<costType name="contents" type="per_asset" unit="USD" />
<costType name="business_interruption" type="per_asset" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" number="2" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="7500" />
<cost type="nonstructural" value="11250" />
<cost type="contents" value="3750" />
<cost type="business_interruption" value="1500" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
In this example, the various costs for each asset is not provided directly, as in the previous example. In order to carry
out the risk calculations in which the economic cost of each asset is provided, the OpenQuake engine multiplies, for each
asset, the number of units (buildings) by the “per asset” replacement cost. Note that in this case, there is no need to
specify the attribute area
.
Example 3#
The example shown in the listing below comprises an Exposure Model containing the built up area of each asset, and the associated costs are provided per unit area:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per unit area;
and areas provided as aggregated values for each asset
</description>
<conversions>
<area type="aggregated" unit="SQM" />
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
<costType name="nonstructural" type="per_area" unit="USD" />
<costType name="contents" type="per_area" unit="USD" />
<costType name="business_interruption" type="per_area" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" area="1000" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="5" />
<cost type="nonstructural" value="7.5" />
<cost type="contents" value="2.5" />
<cost type="business_interruption" value="1" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
In order to compile an Exposure Model with this structure, the cost type
should be set to per_area
. In addition,
it is also necessary to specify if the area
that is being store represents the aggregated area of number of units
within an asset, or the average area of a single unit. In this particular case, the area
that is being stored is the
aggregated built up area per asset, and thus this attribute was set to aggregated
. The listing below illustrates the
definition of the assets for this example:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per unit area;
and areas provided as aggregated values for each asset
</description>
<conversions>
<area type="aggregated" unit="SQM" />
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
<costType name="nonstructural" type="per_area" unit="USD" />
<costType name="contents" type="per_area" unit="USD" />
<costType name="business_interruption" type="per_area" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" area="1000" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="5" />
<cost type="nonstructural" value="7.5" />
<cost type="contents" value="2.5" />
<cost type="business_interruption" value="1" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
Once again, the OpenQuake engine needs to carry out some calculations in order to compute the different costs per asset.
In this case, this value is computed by multiplying the aggregated built up area
of each asset by the associated cost
per unit area. Notice that in this case, there is no need to specify the attribute number
.
Example 4#
This example demonstrates an Exposure Model that defines the number of structural units for each asset, the average built up area per structural unit and the associated costs per unit area. The listing below shows the metadata definition for an Exposure Model built in this manner:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per unit area;
and areas provided per building for each asset
</description>
<conversions>
<area type="per_asset" unit="SQM" />
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
<costType name="nonstructural" type="per_area" unit="USD" />
<costType name="contents" type="per_area" unit="USD" />
<costType name="business_interruption" type="per_area" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" number="3" area="400" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10" />
<cost type="nonstructural" value="15" />
<cost type="contents" value="5" />
<cost type="business_interruption" value="2" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
Similarly to what was described in the previous example, the various costs type
also need to be established as
per_area
, but the type
of area is now defined as per_asset
. The listing below illustrates the definition of
the assets for this example:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>
Exposure model with replacement costs per unit area;
and areas provided per building for each asset
</description>
<conversions>
<area type="per_asset" unit="SQM" />
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
<costType name="nonstructural" type="per_area" unit="USD" />
<costType name="contents" type="per_area" unit="USD" />
<costType name="business_interruption" type="per_area" unit="USD/month"/>
</costTypes>
</conversions>
<assets>
<asset id="a1" number="3" area="400" taxonomy="Adobe" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10" />
<cost type="nonstructural" value="15" />
<cost type="contents" value="5" />
<cost type="business_interruption" value="2" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
In this example, the OpenQuake engine will make use of all the parameters to estimate the various costs of each asset, by multiplying the number of structural units by its average built up area, and then by the respective cost per unit area.
Example 5#
In this example, additional information will be included, which is required for other risk analysis besides loss estimation, such as the benefit/cost analysis.
In order to perform a benefit/cost assessment, it is necessary to indicate the retrofitting cost. This parameter is handled in the same manner as the structural cost, and it should be stored according to the format shown in the listing below:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure model illustrating retrofit costs</description>
<conversions>
<costTypes>
<costType name="structural" type="aggregated" unit="USD"
retrofittedType="per_asset" retrofittedUnit="USD" />
</costTypes>
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="1" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" retrofitted="2000" />
</costs>
</asset>
</assets>
</exposureModel>
</nrml>
Despite the fact that for the demonstration of how the retrofitting cost can be stored the per building type of cost structure described in Example 1 was used, it is important to mention that any of the other cost storing approaches can also be employed (Examples 2–4).
Example 6#
The OpenQuake engine is also capable of estimating human losses, based on the number of occupants in an asset, at a certain time of the day. The example Exposure Model shown in the listing below illustrates how this parameter is defined for each asset. In addition, this example also serves the purpose of presenting an Exposure Model in which three cost types have been defined using three different options.
As previously mentioned, in this example only three costs are being stored, and each one follows a different approach.
The structural
cost is being defined as the aggregate replacement cost for all of the buildings comprising the asset
(Example 1), the nonstructural value
is defined as the replacement cost per unit area where the area is defined per
building comprising the asset (Example 4), and the contents
and business_interruption
values are provided per
building comprising the asset (Example 2). The number of occupants at different times of the day are also provided as
aggregated values for all of the buildings comprising the asset:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure model example with occupants</description>
<conversions>
<costTypes>
<costType name="structural" type="aggregated" unit="USD" />
<costType name="nonstructural" type="per_area" unit="USD" />
<costType name="contents" type="per_asset" unit="USD" />
<costType name="business_interruption" type="per_asset" unit="USD/month" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="200" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="20000" />
<cost type="nonstructural" value="15" />
<cost type="contents" value="2400" />
<cost type="business_interruption" value="1500" />
</costs>
<occupancies>
<occupancy occupants="6" period="day" />
<occupancy occupants="10" period="transit" />
<occupancy occupants="20" period="night" />
</occupancies>
</asset>
</assets>
</exposureModel>
</nrml>
Example 7#
Starting from OpenQuake engine v2.7, the user may also provide a set of tags for each asset in the Exposure Model. The primary intended use case for the tags is to enable aggregation or accumulation of risk results (casualties / damages / losses) for each tag. The tags could be used to specify location attributes, occupancy types, or insurance policy codes for the different assets in the Exposure Model.
The example Exposure Model shown in the listing below illustrates how one or more tags can be defined for each asset:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example_with_tags"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example with Tags</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<tagNames>state county tract city zip cresta</tagNames>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
<tags state="California" county="Solano" tract="252702"
city="Suisun" zip="94585" cresta="A.11"/>
</asset>
</assets>
</exposureModel>
</nrml>
The list of tag names that will be used in the Exposure Model must be provided in the metadata section of the exposure file, as shown in the following snippet from the full file:
.. code-block:: xml
<?xml version=”1.0” encoding=”UTF-8”?> <nrml xmlns:gml=”http://www.opengis.net/gml” xmlns=”http://openquake.org/xmlns/nrml/0.5”>
- <exposureModel id=”exposure_example_with_tags”
category=”buildings” taxonomySource=”GEM_Building_Taxonomy_2.0”>
<description>Exposure Model Example with Tags</description>
<conversions>
<costTypes>
<costType name=”structural” type=”per_area” unit=”USD” />
</costTypes> <area type=”per_asset” unit=”SQM” />
</conversions>
<tagNames>state county tract city zip cresta</tagNames>
<assets>
<asset id=”a1” taxonomy=”Adobe” number=”5” area=”100” >
<location lon=”-122.000” lat=”38.113” /> <costs>
<cost type=”structural” value=”10000”/>
</costs> <occupancies>
<occupancy occupants=”20” period=”day” />
</occupancies> <tags state=”California” county=”Solano” tract=”252702” city=”Suisun” zip=”94585” cresta=”A.11”/>
</asset>
</assets>
</nrml>
The tag values for the different tags can then be specified for each asset as shown in the following snippet from the same file:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example_with_tags"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_2.0">
<description>Exposure Model Example with Tags</description>
<conversions>
<costTypes>
<costType name="structural" type="per_area" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQM" />
</conversions>
<tagNames>state county tract city zip cresta</tagNames>
<assets>
<asset id="a1" taxonomy="Adobe" number="5" area="100" >
<location lon="-122.000" lat="38.113" />
<costs>
<cost type="structural" value="10000" />
</costs>
<occupancies>
<occupancy occupants="20" period="day" />
</occupancies>
<tags state="California" county="Solano" tract="252702"
city="Suisun" zip="94585" cresta="A.11"/>
</asset>
</assets>
</exposureModel>
</nrml>
Note that it is not mandatory that every tag name specified in the metadata section must be provided with a tag value for each asset.
Example 8#
This example illustrates the use of multiple csv files containing the assets information, in conjunction with the metadata section in the usual xml format.
Let us take a look at the metadata section of the Exposure Model, which is listed as usual in an xml file:
<?xml version="1.0" encoding="UTF-8"?>
<nrml xmlns:gml="http://www.opengis.net/gml"
xmlns="http://openquake.org/xmlns/nrml/0.5">
<exposureModel id="exposure_example_with_csv_files"
category="buildings"
taxonomySource="GEM_Building_Taxonomy_3.0">
<description>Exposure Model Example with CSV Files</description>
<conversions>
<costTypes>
<costType name="structural" type="aggregated" unit="USD" />
<costType name="nonstructural" type="aggregated" unit="USD" />
<costType name="contents" type="aggregated" unit="USD" />
</costTypes>
<area type="per_asset" unit="SQFT" />
</conversions>
<occupancyPeriods>night</occupancyPeriods>
<tagNames>occupancy state_id state county_id county tract</tagNames>
<assets>
Washington.csv
Oregon.csv
California.csv
</assets>
</exposureModel>
</nrml>
As in all previous examples, the information in the metadata section is common to all of the assets in the portfolio.
The asset data can be provided in one or more csv files. The path to each of the csv files containing the asset data
must be listed between the <assets>
and </assets>
xml tags.
In the example shown above, the exposure information is provided in three csv files, Washington.csv, Oregon.csv, and California.csv. To illustrate the format of the csv files, we have shown below the header and first few lines of the file Washington.csv in the table below.
id |
lon |
lat |
taxonomy |
number |
structural |
area |
occupancy |
state |
county |
---|---|---|---|---|---|---|---|---|---|
A1 |
-122.7 |
46.5 |
AGR1-W1-LC |
7.6 |
898000 |
18 |
Agr |
Washington |
Lewis County |
A2 |
-122.7 |
46.5 |
AGR1-PC1-LC |
0.6 |
67000 |
1 |
Agr |
Washington |
Lewis County |
A3 |
-122.7 |
46.5 |
AGR1-C2L-PC |
0.6 |
67000 |
1 |
Agr |
Washington |
Lewis County |
A4 |
-122.7 |
46.5 |
AGR1-PC1-PC |
1.5 |
179000 |
4 |
Agr |
Washington |
Lewis County |
A5 |
-122.7 |
46.5 |
AGR1-S2L-LC |
0.6 |
67000 |
1 |
Agr |
Washington |
Lewis County |
A6 |
-122.7 |
46.5 |
AGR1-S1L-PC |
1.1 |
133000 |
3 |
Agr |
Washington |
Lewis County |
A7 |
-122.7 |
46.5 |
AGR1-S2L-PC |
1.5 |
182000 |
4 |
Agr |
Washington |
Lewis County |
A8 |
-122.7 |
46.5 |
AGR1-S3-PC |
1.1 |
130000 |
3 |
Agr |
Washington |
Lewis County |
A9 |
-122.7 |
46.5 |
AGR1-RM1L-LC |
0.6 |
68000 |
1 |
Agr |
Washington |
Lewis County |
Note that the xml metadata section for exposure models provided using csv files must include the xml tag
<occupancyPeriods>
listing the periods of day for which the number of occupants in each asset will be listed in the
csv files. In case the number of occupants are not listed in the csv files, a self-closing tag <occupancyPeriods />
should be included in the xml metadata section.
A web-based tool to build an Exposure Model in the Natural hazards’ Risk Markup Language schema starting from a csv file or a spreadsheet can be found at the OpenQuake platform at the following address: https://platform.openquake.org/ipt/.