class ExposureDataNode(LiteralNode): validators = dict( id=valid.asset_id, description=valid.utf8_not_empty, name=valid.cost_type, type=valid.name, insuranceLimit=float_or_flag, deductible=float_or_flag, occupants=valid.positivefloat, value=valid.positivefloat, retrofitted=valid.positivefloat, number=valid.compose(valid.positivefloat, valid.nonzero), lon=valid.longitude, lat=valid.latitude, )
class ValidNode(LiteralNode): """ A subclass of :class:`LiteralNode` to be used when parsing sources and ruptures from NRML files. """ validators = dict( strike=valid.strike_range, dip=valid.dip_range, rake=valid.rake_range, magnitude=valid.positivefloat, lon=valid.longitude, lat=valid.latitude, depth=valid.positivefloat, upperSeismoDepth=valid.positivefloat, lowerSeismoDepth=valid.positivefloat, posList=valid.posList, pos=valid.lon_lat, aValue=float, bValue=valid.positivefloat, magScaleRel=valid.mag_scale_rel, tectonicRegion=str, ruptAspectRatio=valid.positivefloat, maxMag=valid.positivefloat, minMag=valid.positivefloat, binWidth=valid.positivefloat, probability=valid.probability, hypoDepth=valid.probability_depth, occurRates=valid.positivefloats, probs_occur=valid.pmf, weight=valid.probability, alongStrike=valid.probability, downDip=valid.probability, totalMomentRate=valid.positivefloat, characteristicRate=valid.positivefloat, characteristicMag=valid.positivefloat, magnitudes=valid.positivefloats, id=valid.simple_id, discretization=valid.compose(valid.positivefloat, valid.nonzero), )
'probability': valid.probability, 'occurRates': valid.positivefloats, 'probs_occur': valid.pmf, 'weight': valid.probability, 'uncertaintyWeight': decimal.Decimal, 'alongStrike': valid.probability, 'downDip': valid.probability, 'totalMomentRate': valid.positivefloat, 'characteristicRate': valid.positivefloat, 'characteristicMag': valid.positivefloat, 'magnitudes': valid.positivefloats, 'fragilityFunction.id': valid.utf8, # taxonomy 'vulnerabilityFunction.id': valid.utf8, # taxonomy 'id': valid.simple_id, 'rupture.id': valid.utf8, # event tag 'discretization': valid.compose(valid.positivefloat, valid.nonzero), 'asset.id': valid.asset_id, 'costType.name': valid.cost_type, 'costType.type': valid.cost_type_type, 'cost.type': valid.cost_type, 'area.type': valid.name, 'isAbsolute': valid.boolean, 'insuranceLimit': valid.positivefloat, 'deductible': valid.positivefloat, 'occupants': valid.positivefloat, 'value': valid.positivefloat, 'retrofitted': valid.positivefloat, 'number': valid.compose(valid.positivefloat, valid.nonzero), 'vulnerabilitySetID': str, # any ASCII string is fine 'vulnerabilityFunctionID': str, # any ASCII string is fine 'lossCategory': valid.utf8, # a description field