Hi Jiajun,
Do you want to use the Matlab code provided by FEMA P58 or you want to reproduce the method from Appendix G in Pelicun?
That method describes fitting a multivariate lognormal distribution to EDP data, increasing the log standard deviations, and then sampling it. Pelicun can certainly do this if you are interested.
1 The values in the example are indeed different from the data provided in the tables that you pasted. I wanted to have EDPs for two directions and those tables only provide one value per floor. Furthermore, I could not find in the document what those values are. They might be the average, geometric mean, maximum, or some other combination of the results in the two directions.
The nonlinear analysis results from Figure 1-14 - 1-21 gave me the 10th percentile, median, and 90th percentile of EDPs in two directions on each floor at each intensity level. Those were sufficient information to fit a lognormal distribution and I considered them the raw results of the analysis. Note that these do not match the results in Table 1-35 - 1-42, so those must have been processed in some way.
If you have some suggestions of how to reconcile those differences, please let me know.
2. I have good news: adding environmental impact is high on our list. The framework is ready to support it, but the actual timeline depends on who gets the job done. The worst-case scenario is I have to do it, which means it will be available sometime around the end of this year. I might get some help from graduate students that could expedite this development by a few months.
If you are interested in adding this feature, that's also an option and I would be more than happy to guide you on the way. To give you an idea of what such a development would entail:
- You'd need to create a new consequence function table that describes the parameters of functions used for environmental impacts. This is similar to the repair cost/time table I already have prepared in a CSV file.
- Then, you'd need to add a new child class of the LossModel in the model.py module that handles the calculation of such impacts. Based on my superficial understanding of the environmental impact calculation, you might be able to use most of the BldgRepairModel and perhaps even have the EnvironmentalImpactModel be a child of that class to make the calculation simpler.
That's all we need to get this done. Let me know if you're interested.
Adam