iris-edu / irisws-syngine

Project components for the IRIS Synthetics Engine (irisws-syngine) web service
GNU General Public License v2.0
2 stars 0 forks source link

Is there a way to query for the available models? #6

Closed krischer closed 8 years ago

krischer commented 9 years ago

I could only find the list here: http://ds.iris.edu/ds/products/syngine/#models

CTrabant commented 8 years ago

I would like to be able to create a list of models with the most important details of each extracted from the "info" route of each model server (e.g. http://service.iris.edu/irisws/syngine/1/info?model=ak135f) and return a small JSON structure.

I need some help making sure I understand the information in the "info" content. Here is what I'm thinking in terms of content (with "info" names):

Questions:

CTrabant commented 8 years ago

ping @krischer @sstaehler ?

krischer commented 8 years ago

They are almost correct.

CTrabant commented 8 years ago

Check it out: http://service.iris.edu/irisws/syngine/1/models

The value for max_period is hard-coded to 100. Is there no internal documentation of the lowest frequency supported by a database?

Here is the mapping in code, infohref is a hash-representation of the JSON from an info request:

$modelsummary{$model}{components} = $infohref->{components}; $modelsummary{$model}{planet_radius} = $infohref->{planet_radius}; $modelsummary{$model}{min_radius} = $infohref->{min_radius}; $modelsummary{$model}{max_radius} = $infohref->{max_radius}; $modelsummary{$model}{length} = sprintf "%.0f", $infohref->{length}; $modelsummary{$model}{min_period} = $infohref->{period}; $modelsummary{$model}{max_period} = 100; $modelsummary{$model}{max_sampling_period} = sprintf "%.6f", $infohref->{dt};

martinvandriel commented 8 years ago

@krischer is correct. The reason for saying 100s somewhat handwavingly is that we do not include gravity and coriolis force, and this 100s is where these effect start to be important (I did not test this myself, but this seems to be what the old farts agree on).

krischer commented 8 years ago

@CTrabant It might be worthwhile to replace the planet_radius, min_radius, and max_radius parameters with max_event_depth which (for users of the syngine service) is the interesting parameter.

For all the planned databases that would be sufficient. Once water planets can be simulated with AxiSEM that might have to rethought but that is still far in the future.

CTrabant commented 8 years ago

Agreed. I've replaced the radius values with max_event_depth as the difference between max_radius and min_radius. That was my initial thinking anyway, but I had the other-plant usage in mind but those values can be exposed later if needed.

I also changed max_period to have a value of "~100" to indicate the handwavyness.

Thanks for the info and suggestions, let me know if there are more things to consider.