mjshallcross 0 Report post Posted February 6, 2018 G'day all, I have used multiple "Read Materials File" calls in a model I'm working on, with scenarios for roughness increased and decreased by 20% (sensitivity tests). From looking at the uvpt check output my understanding is that, if a material code is used more than once, the first Manning's n value is used, not the last. Can you confirm this understanding is correct? If so it might be worth adding a comment to future releases of the manual. Based on other commands that can be used multiple times I expected codes roughness values to be overwritten by later calls to "Read Materials File". Below is an extract from my TCF for reference. This extract has the desired effect but I first expected the last line to need to be at the top: If Scenario == Sens(2A_MnInc20pcent) Read Materials File == ..\model\materials.tmf | 1.2 Else If Scenario == Sens(2B_MnDec20pcent) Read Materials File == ..\model\materials.tmf | 0.8 End If ! Baseline roughness, this will not be applied if Sens(2A_MnInc20pcent) or Sens(2B_MnDec20pcent) applied first. Read Materials File == ..\model\materials.tmf Having checked the uvpt check output, if I run with scenario Sens(2A_MnInc20pcent) specified I have roughness increased by 20%; with Sens(2A_MnInc20pcent) I have decreased roughness 20%, with neither I have my baseline roughness. Thanks for reading, Matty Quote Share this post Link to post Share on other sites
peteraylett 0 Report post Posted February 6, 2018 That's a really useful to know, thank you for sharing! Quote Share this post Link to post Share on other sites
par 0 Report post Posted February 6, 2018 Hi Matty, Thanks for the post, we'll update the manual to make this clearer. Note that you can also use an Else in your scenario logic. My personal preference would be to use something like the below which i think is a bit more logical (at least to me!). If Scenario == Sens(2A_MnInc20pcent) Read Materials File == ..\model\materials.tmf | 1.2 Else If Scenario == Sens(2B_MnDec20pcent) Read Materials File == ..\model\materials.tmf | 0.8 Else Read Materials File == ..\model\materials.tmf ! Baseline roughness End If The Manning's n values for each material number are also output in the .tlf which may be quicker to look at than the uvpt check file! #1 - Material 1: Fixed Manning's n = 0.072 IL/CL values not set. Landuse Hazard ID not set. SRF (Storage Reduction Factor) = 0. Fraction Impervious = 0. Cheers Phil Quote Share this post Link to post Share on other sites
mjshallcross 0 Report post Posted February 7, 2018 Hi Phil, That's a great improvement as it avoids the multiple TMF reads and makes the selection explicit when you read the TCF (as a human person that is...) I did look at the TLF previously but it was looking at the uvpt as well that lead to my discovery that the code roughness was not being replaced with later values. I think the lesson is to avoid re-specifying material codes so everything is out in the open! A great way to be. The If/Else If/Else refinement is a neat solution. Thanks! Matty Quote Share this post Link to post Share on other sites