3 var sim_id
= $('#sim-id').text();
7 $.getJSON("/sim_info/" + sim_id
, function(data
) {
9 //console.log(sim_info['started_at']);
10 start_time
= moment(sim_info
['started_at'], "YYYY-MM-DD_HH:mm:ss");
11 //console.log(start_time);
12 update_time_since_start();
13 if(start_time
< moment().subtract(1, 'minutes')) {
16 window
.setTimeout(get_job_state
, 5000);
20 function update_time_since_start()
22 $('#run-time').text(start_time
.from(moment()));
23 $('#current-time').text(moment().format('ddd, MMMM Do YYYY, HH:mm:ss'));
24 window
.setTimeout(update_time_since_start
, 1000);
27 function get_job_state()
29 var state_map
= { 'waiting' : '<div class="ui grey loading label">Waiting <div style="margin-left:5px;" class="ui active small inline loader"></div></div>',
30 'running' : '<div class="ui yellow label">Running</div>',
31 'downloading' : '<div class="ui yellow label">Downloading</div>',
32 'complete' : '<div class="ui green label">Success</div>',
33 'available' : '<div class="ui green label">Available</div>',
34 'failed' : '<div class="ui red label">Failed</div>',
35 'submit' : '<div class="ui orange label">Submitted</div>' };
37 $.getJSON("/get_state/" + sim_id
, function(state
) {
38 for(var tag
in state
) {
40 $('#'+tag
).append(state_map
[state
[tag
]]);
43 // stop querying the state repeatedly after the job is complete
44 if(state
['wrf'] != 'complete' && !job_failed(state
)) {
45 window
.setTimeout(get_job_state
, 5000);
51 function job_failed(state
) {
52 return 'failed' in $.map(state
, function(value
, key
) { return value
})
56 function retrieve_and_show_log()
58 $.get("/retrieve_log/" + sim_id
, function(txt
) {
60 $('#log').attr('rows', 40);
61 $('html, body, .content').animate({scrollTop
: $(document
).height()}, 1500);