krischer / instaseis

Instant high-frequency seismograms from an AxiSEM database
http://instaseis.net
Other
49 stars 23 forks source link

Construct proper JSON for `info` route for databases generated at IRIS #27

Closed CTrabant closed 8 years ago

CTrabant commented 8 years ago

Some new model databases generated at IRIS by @sstaehler cause the info route in Instaseis to produce malformed JSON.

Here is the info-JSON for one of the new models: http://service.iris.edu/irisws/syngine/1/info?model=prem_ani_10s

The malformation is the arrays of NaN values, they either need to be quoted as strings or actually be numbers. Obviously they should be numbers.

The same Instaseis software works just fine with other models, e.g.: http://service.iris.edu/irisws/syngine/1/info?model=test

krischer commented 8 years ago

It's not related to Instaseis as it relies on what AxiSEM writes to the netcdf4 files.

@sstaehler @martinvandriel Should I leave this issue open or do you track it on AxiSEM's side?

CTrabant commented 8 years ago

The http://service.iris.edu/irisws/syngine/1/models endpoint will continue to fail until proper JSON is returned by the Instaseis servers.

I presume that Instaseis is creating JSON from values in the netcdf files. If true, Instaseis is responsible for creating invalid JSON. One suggestion to mitigate is to detect if the values are numbers versus non-numbers. If they are non-numbers create proper JSON by quoting the values.

Of course it'd be nice to have correct values in those arrays eventually...

krischer commented 8 years ago

I mean I could catch this is Instaseis but this is actually vital information and should be correct in the netcdf file.

@sstaehler @martinvandriel I guess you still have the simulation settings so it should be possible to fix the already existing netcdf files with almost no effort.

martinvandriel commented 8 years ago

Independent of instaseis creating wrong Json from valid netcdf, there seems to be something wrong with these runs: these values should not be NaNs but propper numbers and these numbers are actually needed in instaseis. We had some issues with the latest netcdf library, could this be the case here? @sstaehler

sstaehler commented 8 years ago

Was a problem in the AxiSEM script that transformed the stride of the large variables in the NetCDF file. I will manually correct all files relevant for the Syngine database.

martinvandriel commented 8 years ago

it seems the -g and -G options of nccopy interact in a way such that the order of the option makes a difference. this caused the variables to be created, but no data copied. Working on it:

https://github.com/geodynamics/axisem/commit/11ec15f7156f002213c1c6c4167c0083bfbcaa40

As the surface group should be removed, we need to move these variables to a different group. I guess we fix the files manually for now to be ready for AGU.

sstaehler commented 8 years ago

Agreed, on it

sstaehler commented 8 years ago

@CTrabant: I fixed all databases in /products/axisem/MODELS/ on dpstage

Can you please check, whether they work

CTrabant commented 8 years ago

Three of them still not working.

All working after Instaseis update.

model status URL
ak135f_5s working: http://service.iris.edu/irisws/syngine/1/info?model=ak135f_5s
iasp91_2s working http://service.iris.edu/irisws/syngine/1/info?model=iasp91_2s
prem_a_10s working http://service.iris.edu/irisws/syngine/1/info?model=prem_a_10s
prem_a_20s working http://service.iris.edu/irisws/syngine/1/info?model=prem_a_20s
prem_a_5s working http://service.iris.edu/irisws/syngine/1/info?model=prem_a_5s
test working http://service.iris.edu/irisws/syngine/1/info?model=test
krischer commented 8 years ago

Did you update instaseis?

On 8. Dezember 2015 17:26:16 MEZ, CTrabant notifications@github.com wrote:

Three of them still not working:

model status URL
ak135f_5s NOT working:
http://service.iris.edu/irisws/syngine/1/info?model=ak135f_5s
iasp91_2s working
http://service.iris.edu/irisws/syngine/1/info?model=iasp91_2s
prem_a_10s NOT working
http://service.iris.edu/irisws/syngine/1/info?model=prem_a_10s
prem_a_20s working
http://service.iris.edu/irisws/syngine/1/info?model=prem_a_20s
prem_a_5s NOT working
http://service.iris.edu/irisws/syngine/1/info?model=prem_a_5s
test working
http://service.iris.edu/irisws/syngine/1/info?model=test

Reply to this email directly or view it on GitHub: https://github.com/krischer/instaseis/issues/27#issuecomment-162935543

CTrabant commented 8 years ago

I restarted Instaseis, but did not update it. I presume that means there was a change? I'll update it when I get to the office.

krischer commented 8 years ago

Yes. The DB changes also required a small instaseis change.

On 8. Dezember 2015 17:35:48 MEZ, CTrabant notifications@github.com wrote:

I restarted Instaseis, but did not update it. I presume that means there was a change? I'll update it when I get to the office.


Reply to this email directly or view it on GitHub: https://github.com/krischer/instaseis/issues/27#issuecomment-162938399

CTrabant commented 8 years ago

Working.

Now the models endpoint works as an overview summary of Syngine models: http://service.iris.edu/irisws/syngine/1/models