Custom Query (454 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (37 - 39 of 454)

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Ticket Resolution Summary Owner Reporter
#42 fixed Vizualize Simulator output in SCEC-VDO Kevin Milner Kevin Milner
Description

E-Mail from Ned, 9/1/2010:

The "Faults for Simulators" option in SCEC-VDO now uses the utility class:

org.opensha.sha.simulators.eqsim_v04.General_EQSIM_Tools

to get an ArrayList<RectangularElement> from the method getElementsList().

That utility classe (General_EQSIM_Tools) also has a method for getting events (getEventsList(), which returns ArrayList<EQSIM_Event>). Each EQSIM_Event object has the following methods for getting the element IDs and amounts of slip in the event:

ArrayList<Integer> getAllElementIDs() ArrayList<Integer> getAllElementSlips()

What I'd like SCEC VDO to be able to do is plot the slip in any one of the events.

For example, the faults could all be gray, and then the element for a given event could be plotted in color that's proportional to the amount of slip.

The user could either choose a specific ith event, or it could loop over them one by one (either by even temporal increments, or proportional to the actual time delay between events; the event time for each event is given by EQSIM_Event.getTimeInYears()). In fact, it would be cool to have some kind of slider bar so you could scroll through events.

Lets try to talk about this today also.

Thanks,

Ned

PS One thing to watch out for is that the ID in the various element and event objects is one plus the index in the arrays that hold those objects (the simulator group adopted the convention that their indices start from 1, not zero; I refer to their indices as "IDs" to avoid confusion). Again, I can explain more if this is not clear.

#43 duplicate Track user downloads on website Peter Powers Kevin Milner
#44 fixed create XY_DatasetAPI parent of DiscretizedFuncAPI that accepts scatter data Kevin Milner Kevin Milner
Description

E-mail from Ned, 09/02/2010:

Kevin,

I couldn't resist looking into this a bit.

The jfreechart wrapper class we use is:

org.opensha.commons.gui.plot.jfreechart.DiscretizedFunctionXYDataSet

which takes a DiscretizedFuncList? (a list of DiscretizedFuncAPIs).

The methods DiscretizedFunctionXYDataSet actually uses from DiscretizedFuncAPIs are:

getX(int) getY(int) getDelta() (but with an if(obj instanceof EvenlyDiscretizedFunc?), so this should be OK; this is for histogram plotting) getName() getInfo() getNum()

One thing DiscretizedFunctionXYDataSet assumes is that getX(0) is minimum value, but this can easily be swapped with getMinX().

I propose we define and XY_DatasetAPI that is a parent to DiscretizedFuncAPI. This would include all the current DiscretizedFuncAPI methods listed in blue below, but not those listed in red (as the latter ordering and non-duplicates on the x axis).

Then we just need to change DiscretizedFunctionXYDataSet to take an XY_DatatsetList (which we'd have to define) rather than the DiscretizedFuncList?.

We also need to change its getX(0) call to getMinX() as mentioned above.

There are also all the classes used between org.opensha.sha.gui.infoTools.GraphiWindowAPI_Impl (the useful tool I mentioned below) and DiscretizedFunctionXYDataSet that would need to be changed (but I think just swapping DiscretizedFuncList? with XY_DatatsetList would do it.

Of course I might be missing something here, so please check my math.

Cheers,

Ned

DiscretizedFuncAPI


public void setTolerance(double newTolerance); public double getTolerance(); public double getY(double x); public double getFirstInterpolatedX(double y); public double getInterpolatedY(double x); public int getXIndex(double x); public int getIndex(DataPoint2D point); public double getInterpolatedY_inLogXLogYDomain(double x); public double getInterpolatedY_inLogYDomain(double x); public double getFirstInterpolatedX_inLogXLogYDomain(double y); public double getClosestY(double x); public double getClosestX(double y);

(to be included in XY_DatasetAPI)

public void setName( String name ); public String getName(); public void setInfo( String info ); public String getInfo(); public int getNum(); public double getMinX(); public double getMaxX(); public double getMinY(); public double getMaxY(); public DataPoint2D get(int index); public double getX(int index); public double getY(int index); public void set(DataPoint2D point) throws DataPoint2DException; public void set(double x, double y) throws DataPoint2DException; public void set(int index, double Y); public boolean hasPoint(DataPoint2D point); public boolean hasPoint(double x, double y); public Iterator<DataPoint2D> getPointsIterator(); public ListIterator?<Double> getXValuesIterator(); public ListIterator?<Double> getYValuesIterator(); public String toString(); public boolean equals( DiscretizedFuncAPI function ); public DiscretizedFuncAPI deepClone(); public String getMetadataString(); public boolean areAllXValuesInteger(double tolerance);

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Note: See TracQuery for help on using queries.