Quantcast
Channel: OpenFlows | Water Infrastructure
Viewing all 39611 articles
Browse latest View live

Forum Post: SewerGEMS v8i (SELECTseries 4) Mrsid file attachment

$
0
0
How can you attach a mrsid file as a background layer? I don't see the file type listed as an option. Thanks, Kelly

Wiki Page: Changing or forcing a pattern of hydraulic grade or flow during a transient simulation

$
0
0
Applies To Product(s): Bentley HAMMER Version(s): 08.11.xx.xx Environment: N/A Area: Modeling Subarea: Original Author: Jesse Dringoli, Bentley Technical Support Group Problem How can I force a specific pattern of hydraulic grade, inflow or outflow at a specific point in the network, during the transient simulation? I tried using a demand pattern to control the flow or a reservoir pattern to control the head but they didn't work during the transient simulation. Solution Patterns on demands and the pattern feature in the reservoir properties only apply to an Extended Period Simulation, so they are mainly available for use in WaterCAD and WaterGEMS (which share the same file format as HAMMER) To control a change in boundary head or flow during the transient simulation, use the Periodic head-flow element. Select "false" for the property "Sinusoidal" if you would like to directly enter a time-based pattern: As for controlling the flow, set the periodic head-flow element's "Transient Parameter" to "Flow" and enter the pattern of time vs. flow. Use a positive value for outflow and a negative value for inflow. More on this here: http://communities.bentley.com/products/hydraulics___hydrology/w/hydraulics_and_hydrology__wiki/13638.modeling-demand-patterns-in-bentley-hammer Also note that regular demands on nodes are always pressure dependent during a transient simulation, so if the pressure drops to zero, the flow will drop to zero.

Forum Post: RE: SewerGEMS v8i (SELECTseries 4) Mrsid file attachment

$
0
0
Hello Kelly, MrSID files are only supported for the 32-bit version of SewerGEMS. When you open SewerGEMS from the shortcut on the Desktop of your computer, that is the 64-bit version. If you need to use the MrSID file as the background file, browse to C:\Program Files (x86)\Bentley\SewerGEMS8 and open the file "SewerGEMS.exe". This is the 32-bit version of the program and you will be able to use the MrSID file as a background. The alternative would be to convert the .SID file to another file type, one that might be available for the 64-bit version of SewerGEMS. Regards, Scott

Forum Post: RE: FLOW GOING OUT OF A TANK EXCEEDS THE LOGICAL FLOW

$
0
0
THANKS ALOT JESSE IT WORKED, NOW MY PROBLEM IS THAT WHEN I RUN AN EPS SIMULATION THERE A RE ALOT OF MESSAGES SAYING THAT THE PUMP IS DISCONECTAD AS WELL AS ALMOST EVERY NODE IN THE SYSTEM. ALSO WHEN I RUN THE EPS WITH THE TANK CONFIGURATION DURING THE DEMAND CONSUMPTION FOR 24 HOURS EVERY 2 HOURS, THE PUMP FILLS THE TANK IN 2 HOURS AND THEN IT STOPS AND DOESN'T COME ON AGAIN, WHAT COULD BE THE PROBLEM?

Forum Post: RE: Hammer Model -errors with related to the use of D2As

$
0
0
Jesse, Thanks for the input. Indeed the D2As were causing the issue. I agree that a closing valve will not react quickly and should not be relied on entirely. In relation to the second paragraph in your response, I'm aware that the demands will change as the pressures change. For this reason, my conclusion is that after a pump trip event that is not followed by pump restart, the surge vessel alone will not maintain positive pressures for long because of the existence of the demands. And therefore negative pressure will come back. Is my conclusion correct? Regards, Fadi Sirrieh

Forum Post: RE: Hammer Model -errors with related to the use of D2As

$
0
0
Fadi, There may not be an easy answer to that. It could be that the outflow from demand nodes keeps the momentum of the water column moving and friction losses dissipating transient energy. The interaction between elements and the way that waves reflect and interact can be complex and the behavior can be very dependent on the system and topology (downhill vs. uphill, etc). I would recommend setting up a scenario with only demands (no valves closing) and see what happens. Make sure to set the calculation option to generate animation data, create some profiles through key areas and animate those profiles in the transient results viewer.

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
There were errors when the original customer meter information was geocoded. I've been communicating with ESRI support staff and now they helped me create a spreadsheet with correct X and Y coordinates. However, when I try importing using the model builder - I still get an error message - a new one. "Specify the Key/Label Field" It comes up even though I specify this field and make sure they match up in the box below as well. Please see the attachments. Note: since my computer's Microsoft Office is in 32-bit (though the operating system is 64-bit), I'm working using the 32-bit WaterGEM. May I send the Excel file as well? Yoko

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Hello Yoko, It looks like this is happening for the table found in "Sheet1$" in the spreadsheet. Excel, by default, has three worksheets. I am guessing that the one called "Sheet1$" is blank. If so, delete this worksheet from the original Excel file, then try again. In short, the Excel spreadsheet should only have the worksheets that you will be using present. If there are any blank worksheets, delete these. Hopefully that helps. Regards, Scott

Forum Post: RE: FLOW GOING OUT OF A TANK EXCEEDS THE LOGICAL FLOW

$
0
0
HI JESSE, I HAVE JUST UPLOADED THE LATEST VERSION OF THE MODELL, AT CONTROLS I SET UP THE THE PUMPING CONDITIONS AT THE WATER TANK GOING OFF AT THE MAX LEVELL AND ON AT THE MINIMUM LEVELL, ALSO I MODDIFIED THE ITERATIONS DURING CALCULATIONS CONCERNING THE DIURNAL PATTERN DEMANDS BUT I KEEP GETTING THIS 4 MAIN ERROR MESSAGES WHEN I RUN THE EPS SIMULATION: 41355 "CONTROL ALMACENAMIENTO" "(N/A)" "-1" "(N/A)" 0.000 "Disconnected demand nodes detected; hydraulic results are likely to be compromised." Pressure Engine 40005 "CONTROL ALMACENAMIENTO" "(N/A)" "-1" "(N/A)" 21.805 "Network Unbalanced." Calculation Warnings 40015 "CONTROL ALMACENAMIENTO" "Pump" "1014" "PMP-1" 21.805 "System disconnected because of Pump PMP-1" Calculation Warnings AND ALSO THE SAME DISCONNECTED ERROR FOR PIPE 49 AND ALMOST ALL THE JUNCTIONS. AS I CAN SEE, THE PUMP GETS DISCONECTED SOMEWHERE 6:00 PM AND DOSEN'T COME BACK ON, THEREFORE EMPTYING THE TANK, I THINK I HAVE THE PROBLEM SOMEWHERE AT THE PATTERNS OR CONTROLS BECAUSE WHEN I RUN A STEADY STATE SYMULATION EVERYTHING COMES OK. I WILL APPRECIATE YOUR COMMENTS ON HOW TO SOLVE THIS. THANKS AGAIN

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Scott, Thanks for your reply. I checked and found only one sheet, 'Sheet 1'. Should I trying un-checking two others and leave 'Sheet 1$' only? Yoko

Forum Post: RE: RE: FLOW GOING OUT OF A TANK EXCEEDS THE LOGICAL FLOW

$
0
0
Thanks for sending the model. I've split this into a separate thread, since this is a new issue. We'll take a look as soon as possible.

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Hello Yoko, An Excel spreadsheet can have more than one worksheet. There are tabs in the lower left that are called something like Sheet1, Sheet2, and so on, though these can be renamed. ModelBuilder requires all worksheets have a referenced element type and key/label field. So if you have three worksheets (which you appear to have) you must assign an element type and key/label field to for each worksheet. However, it is possible that the worksheet referenced in your screenshot with the error message about the missing key/label field, is a worksheet with no data in it. If that is the case, you can delete that worksheet, leaving the other two present. If there is data in the worksheet "Sheet1" you will need to assign a key/label field for the elements in that worksheet. If that doesn't help, please provide a copy of the spreadsheet so that we can offer other suggestions. Regards, Scott

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Another way is to uncheck the box next to the table in the first Modelbuilder step (your first screenshot.) Any layers (worksheets) that are checked will need to have a key/label field mapped.

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Scott, There is only one sheet so I don't know why it shows three. Yoko

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Jesse, I will try that. I hope I can get rid of the 'ghost ' sheets. Thanks. Yoko

Forum Post: RE: WaterCAD / WaterGEM: Modelbuilder Message - Unable to Open Table

$
0
0
Maybe they're "hidden" in Excel? Try right clicking on the worksheet label at the bottom > Unhide.

Wiki Page: How do I match the results I am getting from Darwin Calibrator in my model?

$
0
0
Applies To Product(s): Bentley WaterGEMS or Bentley WaterCAD (with additional license configuration) Version(s): V8 XM and V8i Environment: N/A Area: Modeling Subarea: N/A Original Author: Scott Kampa, Bentley Technical Support Group Problem You have done the manual run using Darwin Calibrator, but the results do not match the model. Solution In order to match the results that you are getting from Simulated Results tab in Calibrator (see image below) you will need to do the following: 1. Make sure the scenario you are look at in your model is the representative scenario listed in the Field Data Snapshots tab 2. Make sure the calculation options (Analysis > Calculation Options) for your scenario are set to represent the field data snapshot you are looking at results for. Calibrator only calculates results for a steady state scenario at a particular time period that you specify in your field data snapshot so it only makes sense to set your model up to reflect this. In this example we are looking at the field data snapshot labeled “Flow Test 1” In your model you will need to set your calculation options as follows: Simulation Start Date = The same date listed in the field data snapshot Time Analysis Type = Steady State Is EPS Snapshot? = True Equivalent Hydraulic Time Step (hours) = 1.00 Start Time = The same time list in the field data snapshop Setting the calculation option for “Is EPS Snapshot? = True ensures that your model is going to use the pattern multiplier that Calibrator used when doing its calculations. 3. Make sure ALL the boundary overrides, for the particular field data snapshot you are looking at, are reflected that way in your model. For example, if you have pump PMP-1 set to a status of ON in your boundary overrides tab make sure your model has this pump set to a status of ON too. 4. Make sure that if you have any demand adjustments set that you also add those into your model. Demand adjustments are in addition to current demands already in your model when you run Calibrator, they are not in lieu of them. For example, if you have a demand adjustment of 41.01 L/s on junction J-170 then you would need to make sure to add that to J-170’s demand collection in addition to what is already there for that junction when Calibrator was run. 5. After you run Calibrator and are happy with the solution make sure you export that solution. In order to achieve the same results in your scenario you will need the adjusted values that Calibrator arrived at for your roughness adjustment groups, demand adjustment groups, and status elements. After you make all these changes to the scenario in your model just compute and look at the properties of the observed target in your model to make sure it matches the simulated results in Calibrator. See Also Using_Darwin_Calibrator Product TechNotes and FAQs Haestad Methods Product Tech Notes And FAQs [[General WaterGEMS V8 FAQ|General WaterGEMS V8 FAQ]] External Links Bentley Technical Support KnowledgeBase Bentley LEARN Server

Wiki Page: Using Darwin Calibrator

$
0
0
Applies To Product(s): Bentley WaterGEMS or Bentley WaterCAD (with additional license configuration) Version(s): V8 XM and V8i Environment: N/A Area: Modeling Subarea: N/A Original Author: Scott Kampa, Bentley Technical Support Group Overview The purpose of this technote is to discuss common steps to calibrate a model using Darwin Calibrator in Bentley WaterGEMS. Additional information can be found in the WaterGEMS Help menu. Background In order to accurately model a water system, the user will often need to calibrate the model. Darwin Calibrator allows the user to calibrate a model either manually or, with efficient genetic algorithms, in a more automated fashion. It allows for multiple calibration candidates to be presented so the best possible solution to a given system can be found. Solutions can also be exported into a new scenario for use in an existing water system. Darwin Calibrator is included with a license for Bentley WaterGEMS V8. Setting Up a Calibration Study In order to calibrate a model, Darwin Calibrator makes adjustments to the pipe roughness, demand, and/or element status. For this reason, the first step for any calibration study is to have a completed model with all demand and roughness data entered. With a completed model ready, you are set to start using Darwin Calibrator. You can open Calibrator by going to Analysis > Darwin Calibrator or by select the Darwin Calibrator icon. The Darwin Calibrator window will then open. To start a new calibrator study, select the New icon in the upper left and select New Calibrator Study. You will then see tabs and available features appear on the right part of the window. The next step is to create your adjustment groups. While you can also set up the field data snapshots, it is recommended that the adjustment groups are created first, rather than let available data determine how many adjustment groups to have. For clarity, the focus will be on creating roughness groups, though the general steps will be the same for demand groups and status groups. Go to the Roughness Groups tab. Click the New icon to create a new item. It is up to the engineer how many groups to create. The recommended workflow is to group elements that have similar characteristics such as age or material, since it can be assumed that two pipes of the same age or material will see similar changes to the actual roughness. To add elements to the roughness group, click the cell in the Element IDs column and select the ellipsis button. A new window will open. Choose the “Select from Drawing” icon. The Select toolbar will appear, allowing the modeler to choose elements from the drawing using a few different ways, including manual selection and query, among others. Once you have the elements selected, click the green check mark to complete the selection. You will now see the elements in the table. Click Okay to return to Darwin Calibrator. The selection of Demand and Status groups follow similar steps. Click the in the Demand Group or Status Element tab to select the elements. Note: Status Elements are used when a particular part of the system is believed to contain a closed valve or pipe. It is recommended that Status groups contain one or very few pipes. With the adjustment groups selected, now it is time to enter the field data snapshots. Return to the Field Data Snapshots tab. Make sure the representative scenario is set to the one to be used in the calibration study. Darwin Calibrator will pull results from a given scenario to compare to the adjusted values from the calibration study. Next, select the New icon below the Field Data Snapshot tab. You will see a new field data snapshot appear. Adjust the date/time information and identify a demand multiplier, if necessary. For example, if you have knowledge that your demand is higher or lower by a specific percentage, you can set that value here. The default value is 1. Next, the observed data for the field data snapshot will need to be entered. This is entered in the lower right of the window, below the Observed Data tab. With the field data snapshot highlighted, click the New button under the Observed Target tab. A new line will appear with the Element cell blank. Click inside the cell, and then click the ellipsis button. Select the element that you have the data for from the drawing, or use the Find option. Once you have selected the node, it will be available in the pulldown. With the node selected, the Attribute and Valve columns will be editable. Choose either Hydraulic Grade or Pressure for the attribute and then enter the appropriate value. Enter as many elements as you have field data for. If you have a field data snapshot for another time during the model run, you can create a new one with a different time. You can then enter observed data for this time as well. Next to the Observed Data tab is the Boundary Override tab. This is also important in a calibration study since it is possible that a tank level or pump/valve status is different from how it is depicted in the model. To get the most accurate results, applicable boundary overrides should be applied. Click the Boundary Override tab and select the New icon below the tab. A new item will appear. Select the element as before, keeping in mind that this should be a tank, valve, or pump. Depending on the element chosen, the Attribute field will offer different selections. For a tank, the Attribute can be either Hydraulic Grade or Tank Level. For pumps and valves, setting and status are the options. Again, enter the appropriate value for the attribute selected. Demand Adjustment is the last tab. This is used to adjust demand for individual elements, such as flow from a hydrant. Enter data here as necessary. Manual Calibration Run With the field data and boundary overrides entered, and the adjustments groups created, you are ready to run a calibration study. This section will discuss the manual calibration run. As before, the steps below will show a calibration study using roughness adjustment groups. Similar steps can be taken with demand groups. The manual calibration study allows the user to enter multipliers or set values to change the existing roughness coefficient, demand, or status to a new value. After computing the study, you can compare the simulated results to the field data entered that given time. To start a new manual run, click the New icon in the upper left and choose “New Manual Run”. A new item will appear below the calibration study label. On the right side of the window will be a series of tabs. In the roughness tab, you will see the roughness groups created earlier. To make a certain roughness group active, make sure the check box under “Is Active?” is checked. For the Operation column, choose either Multiply or Set, depending on which you wish to use. For Value, enter the appropriate value. Then click the Compute button. Note: Multiple manual runs can be created so that a number of values can be entered for the roughness. When completed a solution will appear that will include the results from the calibration study. Click “Solutions” directly under the manual run. This will display a fitness value for the solution or solutions. Fitness is a correlation between the observed data from the field data snapshot and the calculated value from the calibration study. The smaller the value, the better the fit. Returning to the left side of the window, click “Solution 1” to view the results. Under the Solution tab will be the adjusted roughness values for the pipes included in the calibration study. Under the Simulated Results tab will be the elements included in the field data snapshots. Columns for the observed data and the simulated data with the new roughness coefficients are presented, along with a column showing the difference between the observed and calculated values. Optimized Calibration Run The optimized calibration study uses a genetic algorithm to find the best possible solution available within certain parameters. The optimized calibration study has no true optimality and only knows the best solution relative to other solution already found during computation. However, the optimized calibration study runs through a large number of possible solutions and can often find a very good solution to fit the model. The process is similar to the manual run. Click the New icon in the upper left and choose New Optimized Run. Under the Roughness tab, you will see the roughness groups created earlier. To make a certain roughness group active, make sure the check box under “Is Active?” is checked. For the Operation column, choose either Multiply or Set, depending on which you wish to use. Instead of entering a new value manually for the roughness, you will enter minimum and maximum values, as well as an increment. Then click the Compute button. Darwin Calibrator will then try different values for roughness that fall within the values entered in the Roughness tab and compare the resulting values to the observed data from the field data snapshots. Darwin Calibrator will continue this until it finds the best solution available. The results are viewed just as the manual run, however there is an option to view as many as ten solutions. See the Tips section below for more information about this. Updating the Model If you are satisfied with the results, you can export the new roughness coefficients, demands, or status to a new physical alternative. To do this, highlight the solution you wish to export. The “Export to Scenario” icon will become active. Choose this icon and a new window will appear. To export to a new scenario, check the “Export to Scenario?” box. Do the same for the alternatives. With the check boxes selected the new results will be exported to new physical or demand alternatives (depending on the type of calibration study done). If you export to a scenario and do not export to an alternative (by unchecking the associated box or boxes), the data for that alternative type will be exported to the Base alternative. Note: The data in your original model will not change unless you use this export feature. Tips After computing a calibration study, you will sometimes see results that do not have a good fitness or do not make sense. Below are a few general tips to look at. More information on Darwin Calibrator can be found in the WaterGEMS Help documentation. Try running a manual calibration study with no adjustments to the roughness or demand. In other words, keep the multipliers for the adjustments groups at 1. Then look at the fitness. If you have a very high fitness number, this is an indication that something is wrong with the model setup. Review your model and make sure the results look reasonable and that no unusual user notifications are generated. Verify that the boundary overrides and demand adjustments are properly entered. This is very important since otherwise Darwin Calibrator will use values in the model at the times of the field data snapshots instead. Since the results in the model results might not be the same as what is actually occurring in the field, it is important to make these changes. Accurate data model-wide is important as well. Good, accurate data will mean the calibration study will work optimally. If you are computing an optimized run, you can change some of settings in the Options tab. Highlight the optimized run on the left side of the window, then choose the Options tab on the right. Detailed information for the options can be found in WaterGEMS Help. Changing the Maximum Trials and the Non-Improvement Generations items to higher values will allow Darwin Calibrator to try more adjustments and possibly find better solutions. You can also change the Fitness Tolerance and the Solutions to Keep. It is recommended that the Advanced Options remain set to the default values. Since Darwin Calibrator’s genetic algorithms can only compare a result to results that came before, making changes to the options can create new sets of solutions. It is recommended that you run several optimized runs even if the initial calibration study is good. A better solution might be generated after changing the parameters. WaterGEMS and WaterCAD also come with several sample models that have completed manual and/or optimized calibration studies. These are a good resources to see the general setup of a calibration study, and can allow you to calculated models and see how the results differ not only with between manual and optimized runs, but also in changing the options. The sample files can be found at the following file path. C:\Program Files (x86)\Bentley\WaterGEMS\Samples Example5.wtg is an example of calibration based on three hydrant flow tests done at different times of the day. The hydrant flow, pressure, and corresponding pump and tank status are shown in the Demand Adjustments, Observed Target, and Boundary Overrides tabs within the calibration study, respectively. Example4.wtg shows a system separated into DMAs, demonstrating the use of the Pump Station element. A Darwin Calibrator study is included, giving examples of calibration based on both static and residual hydrant flow tests. Optimized runs where both demand and roughness can be adjusted are included, along with examples of Manual runs where roughness and/or demands are adjusted manually. Example8.wtg is an example of a leakage detection study using Darwin Calibrator. Observed hydraulic grades at several different locations in the system have been entered, for several different times of the day. The "Detect leakage node" option is used in each of the optimized runs, to detect leakage node candidates by using emitters. How do I match the results I am getting from Darwin Calibrator in my model? In order to match the results that you are getting from Simulated Results tab in Calibrator (see image below) you will need to do the following: 1. Make sure the scenario you are look at in your model is the representative scenario listed in the Field Data Snapshots tab 2. Make sure the calculation options (Analysis > Calculation Options) for your scenario are set to represent the field data snapshot you are looking at results for. Calibrator only calculates results for a steady state scenario at a particular time period that you specify in your field data snapshot so it only makes sense to set your model up to reflect this. In this example we are looking at the field data snapshot labeled “Flow Test 1” In your model you will need to set your calculation options as follows: Simulation Start Date = The same date listed in the field data snapshot Time Analysis Type = Steady State Is EPS Snapshot? = True Equivalent Hydraulic Time Step (hours) = 1.00 Start Time = The same time list in the field data snapshop Setting the calculation option for “Is EPS Snapshot? = True ensures that your model is going to use the pattern multiplier that Calibrator used when doing its calculations. 3. Make sure ALL the boundary overrides, for the particular field data snapshot you are looking at, are reflected that way in your model. For example, if you have pump PMP-1 set to a status of ON in your boundary overrides tab make sure your model has this pump set to a status of ON too. 4. Make sure that if you have any demand adjustments set that you also add those into your model. Demand adjustments are in addition to current demands already in your model when you run Calibrator, they are not in lieu of them. For example, if you have a demand adjustment of 41.01 L/s on junction J-170 then you would need to make sure to add that to J-170’s demand collection in addition to what is already there for that junction when Calibrator was run. 5. After you run Calibrator and are happy with the solution make sure you export that solution. In order to achieve the same results in your scenario you will need the adjusted values that Calibrator arrived at for your roughness adjustment groups, demand adjustment groups, and status elements. After you make all these changes to the scenario in your model just compute and look at the properties of the observed target in your model to make sure it matches the simulated results in Calibrator. See Also Product TechNotes and FAQs Haestad Methods Product Tech Notes And FAQs [[General WaterGEMS V8 FAQ|General WaterGEMS V8 FAQ]] http://communities.bentley.com/products/hydraulics___hydrology/w/hydraulics_and_hydrology__wiki/18867.how-do-i-match-the-results-i-am-getting-from-darwin-calibrator-in-my-model External Links Bentley Technical Support KnowledgeBase Bentley LEARN Server

Forum Post: RE: FLOW GOING OUT OF A TANK EXCEEDS THE LOGICAL FLOW

$
0
0
JESEE I UPLOADED THE MODELL NOW IT GETS DISCONECTED AT 21:00 CAN YOU HELP ME SOLVING THIS, I DONT KNOW WHY THE TANK DOSENT KEEP FILLING DURING FLOW GOING OUT OF THE TANK.

Forum Post: RE: RE: FLOW GOING OUT OF A TANK EXCEEDS THE LOGICAL FLOW

$
0
0
Hello Carlos, If you look at the controls set those are totally out of range of the tank elevations. Tank elevations are in the range of 2400 m, whereas controls are set up to HGL of around 220 m, which doesn't make sense. You need to mention that in terms of elevation not the head while setting controls. Please set the pump on & off conditions as per the minimum & maximum levels in the tank. When I changed the controls, model worked without any error. Also you should keep the initial elevation of the tank between minimum & maximum level of the tank, not just close to the maximum level. Which affects the HGL of the tank & ultimately the pump controls, ending in shutting of the pumps. Hope this helps.
Viewing all 39611 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>