{"id":1765,"date":"2013-07-26T22:42:41","date_gmt":"2013-07-26T22:42:41","guid":{"rendered":"https:\/\/notebooks.dataone.org\/?p=1765"},"modified":"2013-07-26T22:42:41","modified_gmt":"2013-07-26T22:42:41","slug":"putting-things-on-web","status":"publish","type":"post","link":"https:\/\/notebooks.dataone.org\/prov-model\/putting-things-on-web\/","title":{"rendered":"Putting Things on Web"},"content":{"rendered":"

Time flies. I can not believe it’s already the last week of the summer intern. Everything is good to go except the server setup. As I mentioned in my last post, the goal is to put our package developed this summer online so that users just need a web browser to use it. This involves quite a mount of script (JavaScript, PHP) writing, which reminds me the \u201cgood old days\u201d when I started to learn web programming.<\/p>\n

The final sample workflow I used as the case study is GPP long-term temporal mean calculation. It is a simple workflow which only involves two major modules in the IMIF package: Regrid and LongTermTemporalMean. However, the same principle applies to larger and more complex workflows.<\/p>\n

The parameters I exposed to users include the latitude interval, longitude interval in the Regrid module and the temporal_granularity in the LongTermTemporalMean module. On the browser side, I wrote a AJAX based web interface to collect user specified parameters with a form and submit the user input to the server with JavaScript. On the server side, I created a set of PHP files to parse parameters from user input and call the GPP long-term temporal mean calculation workflow stored in Vistrials Database.<\/p>\n

After a success execution of the workflow, there will be a result image shown in the web interface. Also, there is a download link pointing to he result NetCDF file. User can both see the visualization of the result and download the result. This is a quite flexible framework. I believe many Vistrials workflows can be put online using similar way.<\/p>\n

The server setup is the last thing on my things to do list for this summer intern. Finishing it means I’ve finished all the tasks. As a wrap up, I reorganized all the outputs from this summer intern and wrote a description for each work I’ve done. Here is a list of the achievements I’ve made this summer:<\/p>\n