Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - adamzs

Pages: 1 2 [3] 4 5 6
31
Damage & Loss (PELICUN) / Re: Probability of repairable damage
« on: May 03, 2022, 05:55:08 AM »
Hi Pooya,

Could you provide more context for this question?

I suspect that you meant to ask about irreparable damage. Please confirm that and I am happy to explain how irreparable damage is assessed in the FEMA P58 example.

Adam

32
Damage & Loss (PELICUN) / Re: Generation of Simulated Demands
« on: May 03, 2022, 05:50:03 AM »
Hi Jiajun,

Thank you for your interest in Pelicun; I am happy to hear that you find it helpful for your work!

Pooya: thank you for suggesting those resources for Jiajun; I agree that they are good starting points and help understand the framework.

However, the API changed with pelicun3 and most of the inputs have been streamlined. As soon as pelicun3 gets out of beta, the documentation (https://nheri-simcenter.github.io/pelicun/) will describe the behavior of the new version and provide an API to every method in it. Until then, your best resource is the forum and the Jupyter notebooks I prepare for the live expert tips.

As for your specific question on adding uncertainty to the calibrated demand distribution. Calibration of demands, unfortunately, did not fit in that FEMA P58 example. Pelicun3 does provide a function to calibrate a multivariate distribution to raw demand data. The result of such calibration is the demand parameter description that we prepare in the FEMA P58 example. We only provide the marginal distributions and assume uncorrelated marginals in the example for the sake of brevity, but you can provide a correlation matrix as well if you have such data available.

Would you like to first calibrate a distribution to raw data, or you already have the distribution parameters available and all you need to do is add the modeling and ground motion uncertainties? Both are possible in pelicun, but I'd recommend different procedures depending on what your objectives are. Let me know what you're looking for and I'll explain which methods to use to get the job done.

Adam

33
Performance Based Engineering (PBE) / PBE Exporting Components
« on: April 30, 2022, 01:03:48 AM »
I am posting a discussion I had in email with Henry F., with his permission, to preserve it for others to see.

Henry: I need some help with PBE. Under my damage and loss assessment tab, for the components, when I try to save the model to CSV to edit easily, it just gives me a ".file". When I open it in excel, it looks like its just a basic text file, see screenshot below. Is there a fix for this?

Adam: I am almost sure this is because you did not provide a filename that has .csv in it. For example: "components.csv". PBE saves the file properly even without the csv extension, but Excel cannot recognize it. Please try again and provide such a filename.

Henry: I see what you mean. I added .csv to the file name and it can read it correctly in excel.

34
Performance Based Engineering (PBE) / Re: Fragility Data
« on: April 30, 2022, 12:57:12 AM »
Hi Aram,

Thank you for posting on the forum.

When exporting the component database, make sure you select a location where PBE has permission to write the files to. Your Users folder or OneDrive might not work well.
To make our lives easier, I've exported the database and included a zip file here with all of the components in it. Please feel free to use this (i.e., extract the zip file in a folder and point to that folder as the "Damage and Loss Data Folder" in the Components tab in PBE.

Now, about the components that you're missing: the ones with IDs will be in this database, but I am not sure what to do about the first four that have no IDs.
Does this list of components come from the Normative Quantities tool?

Adam


35
Hi Nadi,

Thanks for posting this on the forum.

First, let's take a look at the input files you use for the notebook.

Make sure you have the scn1.csv, scn2.csv, and scn3.csv from the PBE calculations. The exceedance rates for each scenario shall be provided in the scenarios.csv file. You'll also need a local hazard curve and I suspect that this is where things might be going wrong. Do you have hazard curve information beyond the three points defined by the three scenarios?

Once we figure this out, we can move on to the calculation of expected lifetime losses.

Adam

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Some context for those who do not take the CE227 course at Berkeley:
I've prepared a Jupyter notebook that can take results from multiple scenario assessments from PBE or pelicun, prepare a loss exceedance curve for each and combine them using occurrence rate information based on a local hazard curve. The notebook will probably be incorporated into pelicun3 and this feature will be demoed in a Live Expert Tip in the future. Until then, it is available here: https://drive.google.com/drive/folders/1Xs6pstNgYRLGz-xMqYofmzL1mdMzFnhR?usp=sharing.

36
Performance Based Engineering (PBE) / Re: Dakota Error Debugging
« on: April 30, 2022, 12:37:26 AM »
Hi Morty,

Thanks for sharing your input file. This is a strange error. I could run the analysis with your input without seeing any errors.

The stories are indeed well defined and - as you pointed out in our email conversation - the locations defined for the components could also be a problem, but I manually checked all of your locations and I do not see any error.

I have a few ideas on how to find the source of this problem. First, please look at the working directory (you can see where it is by going to Preferences in PBE and looking for the Local Jobs Directory. In there, you should see a pelicun_log.txt. That should provide us more information about what was happening during the assessment when it run into the error.

Please post that pelicun_log.txt and I'll take a look.

Thanks
Adam

37
Hi Pooya,

I'm sorry for the delayed response.

If you want to have a deterministic demand, you can simply provide identical realizations in the demand_sample. There is no need to hack the system by specifying a lognormal distribution with almost zero log_std. In the first pelicun LET example, we first generate demands, then extend the sample and feed it back to pelicun. If you prepare your own sample, you can skip the first part, and start at the point where we feed the sample back. Let me know if you need further details on this.

As for the standard deviation in the results, I am not sure that is a meaningful statistic in this case. Based on what I see in the first table, you only have zero damage or collapse (i.e., total loss) there. The mean is around 1 million, while the total loss is 21 million. About 10% of the results at 21 million might lead to a large standard deviation on paper, but your data really is at zero and at that large value, so there is not much dispersion. I am not sure those results are valid, though. When you fed in zero log_std, that might have led to unexpected behavior. I recommend trying again with the demand sample as I mentioned above and checking how the results come out.

Finally, I wanted to mention that you can remove the uncertainty from the fragility and consequence functions as well if that is what you need to do for your work. Let me know if you are interested in that I am happy to tell you more details.

Adam

38
That's great to hear; thanks for letting me know!

Adam

39
Performance Based Engineering (PBE) / Re: Dakota Error Debugging
« on: April 29, 2022, 12:14:30 AM »
Hi Morty,

Thanks for posting this on the forum!

The stories information is missing from your input file for some reason. Would you mind sharing your input file here (you can save that file by File/Save in PBE)? I could take a look and get a better idea about what is going on.

Adam

40
Damage & Loss (PELICUN) / Re: Uncertainty in consequence models
« on: April 14, 2022, 10:12:51 PM »
Hi Andrés,

Thanks for reaching out; I appreciate your feedback and questions on the new version of Pelicun!

1) This might be a bug, let me double-check and get back to you shortly. Until then, make sure you run the tutorial notebook with version 3.1b4 - there were a few other bugs caught earlier that I've fixed already in that latest beta release.

2) Pelicun does not support skew-normal yet, but it shouldn't be too hard to add it to the script. You'd need to add a few lines of code to the uq.py and model.py modules. Let me know if you're interested and I am happy to provide more information.

Adam

41
Hi Pooya,

Thanks for all the feedback about pelicun3, I really appreciate it!

The demands are stored in double-precision floating-point numbers internally, so 1e-5 or 1-4 should not make a difference.

I found and fixed a bug yesterday in the method that applies damage processes and it might explain the behavior you experience. I suggest trying to run the code with the latest version of pelicun3 that I have just released this morning (3.1.b4). Let me know if you still get the same error.

Adam

42
Damage & Loss (PELICUN) / Re: Pelicun 3.1.b2 - bug
« on: March 24, 2022, 05:24:28 PM »
Hi Pooya,

The replacement time calculation in the example notebook is just one way to approximate. It is based on the assumption that one floor is built at a time. Now that I think about it, this is almost surely unconservative.

Your suggestion of using all floors with the maximum number of workers is the other end of the spectrum: this assumes that all floors are being worked on for the entire time of the construction. Note that this leads to four times the replacement time in worker-days for the example building.

A third option that might be more reasonable is to use the replacement cost as the basis of the calculation. Assuming that the building is constructed in Los Angeles, we can use FEMA P58's estimate of daily labor cost per worker: $680 (in 2011 USD). We also need to estimate the proportion of the replacement cost that corresponds to labor; 50% is a conservative estimate in my opinion. Now we can take the full replacement cost ($21.6 million), calculate the amount for labor ($10.8 million) and divide by the cost of one worker-day to get the number of worker-days: 15,882.

Depending on how much information you have about the context the building is built in, you might develop more sophisticated methods for replacement time calculation. Note also that both the replacement cost and replacement time of a building has substantial uncertainty in it. This should be considered in the analysis and it finally can be considered in pelicun 3 if the replacement consequences are defined as uncertain quantities.

I will extend the example notebook with this information. Let me know if you have further questions.

43
Damage & Loss (PELICUN) / Re: EDP keys
« on: March 22, 2022, 01:11:46 AM »
Hi Pooya,

Thank you for the feedback!

Let me provide some information on the available EDPs and units in pelicun. Both are quite easy to check in the base.py module of the library, here:

https://github.com/NHERI-SimCenter/pelicun/blob/master/pelicun/base.py

The list of supported EDPs is in the EDP_to_demand_type dictionary, currently at line 680.

The supported units are listed a bit earlier in the code, currently in lines 540 - 644. Internally, pelicun uses Standard Units. Each EDP has a particular unit type (e.g., acceleration, speed, length) associated with it. Any unit within the corresponding type is available and should work for an EDP. If you need a unit that is not already listed in base.py, you can simply add a new line with a conversion constant to an existing unit to make it available.

Let me know if you have more questions.

Adam

44
Hi Pooya,

Long Lead Time is described in Section 3.9.2 in Volume 1 of FEMA P58:

Quote
Repair time can be significantly affected by long lead times for procurement of critical equipment and components (e.g., HVAC equipment and elevators). Because lead times vary, and are case-specific, they are not explicitly calculated as part of the methodology. If a damage state requires replacement of a component that is associated with a long lead time, this is indicated in the fragility specification and is flagged as part of the assessment results.

Now, in practice, this data is not (yet) used. It is provided to be utilized in the future by more advanced methods for repair time calculation.

I hope this helps.

Adam



45
Damage & Loss (PELICUN) / Re: Pelicun 3.1.b2 - bug
« on: March 22, 2022, 12:53:10 AM »
Hi Pooya,

Apologies for the late response, the notification system of the forum did not work properly for a few days and I only saw your message today.

Thank you for reporting this problem, it was a bug indeed. There was not a single collapsed or irreparable realization at the lowest intensity and there was a part in the script that was not prepared for this.

I've fixed the code and will release a 3.1.b3 version later today.

Note that we also updated the FEMA P58 component IDs in this version. What used to be "B1011.001" is now "B.10.11.001". This applies to ALL IDs. The added dots make it easier to parse and group the components. We are preparing a fragility function database and these dots are especially helpful there to facilitate navigation.

I will release this evening an updated version of the Jupyter notebook from the LET in February that has the dots in place for the components. You should be able to test the new version of pelicun at all intensity levels in that notebook.

Let me know if you have further questions and thanks again for taking the time to report this bug.

Adam

Pages: 1 2 [3] 4 5 6