def write_summary_table(fh, dss_group1,dss_group2,globals,scalars,tw_values, var_values, output_values): compare_mode = globals['COMPARE_MODE'] if compare_mode=='1': print >> fh, "<h1><center>Observation Time Series Report<br>Data Set: %s </center></h1>"%(scalars['NAME0']) if compare_mode=='2': print >> fh, "<h1><center>Model Output Time Series Report<br>Study Name: %s </center></h1>"%(scalars['NAME1']) if compare_mode=='3': print >> fh, "<h1><center>DSM2 Output Comparison Report<br> %s <n>vs</n> %s</center></h1>"%(scalars['NAME1'], scalars['NAME2']) if compare_mode=='4': print >> fh, "<h1><center>Calibration Report<br> %s <n>vs</n> %s</center></h1>"%(scalars['NAME1'], scalars['NAME0']) if compare_mode=='5': print >> fh, "<h1><center>Calibration Report<br>[ %s <n>vs</n> %s ] <n> & </n> [ %s <n>vs</n> %s ]</center></h1>"%(scalars['NAME1'],scalars['NAME0'], scalars['NAME2'],scalars['NAME0']) print >> fh, '<div id="note">Note: %s</div>'%(scalars['NOTE'].replace('"','')) print >> fh, '<div id="assumptions">Assumptions: %s</div>'%(scalars['ASSUMPTIONS'].replace('"','')) print >> fh, """<div id="control-panel"> <form> Data Conversion for Plot: <select name="datatype" onChange="change_period()" id="data-conversion"> <option value="davg"> Daily Average</option> <option value="dmax"> Daily Maximum</option> <option value="dmin"> Daily Minimim</option> <option value="mavg"> Monthly Average</option> """ if globals['PLOT_ORIGINAL_TIME_INTERVAL']=='ON': print >> fh, '<option value="orig">Original Data</option>' print >> fh, """ </select><br> Use Defined Time Window: <select name="tw" id="time-window-select"> """ for i in range(len(tw_values)): if i==0: selected = 'selected="selected"' else: selected = "" print >> fh, '<option value="%s" %s>%s</option>'%(compare_dss_utils.timewindow_option_value(vtimeseries.timewindow(tw_values[i][1].replace('"',''))), selected,tw_values[i][0].replace('"','')) print >> fh, """ </select> <div> Customize Time Window: """ twstr = compare_dss_utils.timewindow_option_value(vtimeseries.timewindow(tw_values[0][1].replace('"',''))).split("-") a1=twstr[0].split(",") a2=twstr[1].split(",") print >> fh, """Start Date: <input name="SDate" id="SDate" value="%s" onclick="displayDatePicker('SDate');" size=12>"""%(a1[1]+"/"+a1[2]+"/"+a1[0]) print >> fh, """End Date: <input name="EDate" id="EDate" value="%s" onclick="displayDatePicker('EDate');" size=12>"""%(a2[1]+"/"+a2[2]+"/"+a2[0]) print >> fh, """ <input type=button id="calendar" value="Re-draw"> </div> """ if (compare_mode!='1' and compare_mode!='2'): print >> fh, '<div>' print >> fh, 'Show differences on plot:<input type="checkbox" name="diff_plot" value="1"/>   (Difference = %s - %s)'%(scalars['NAME2'],scalars['NAME1']) print >> fh, '</div>' print >> fh, """ <div> Show water year types on plot: <input type="checkbox" name="wyt" value="1"/>  (<span style="font-size:100%"><span style="background-color:#D9F7CC">    Wet   </span><span style="background-color:#EBF7E6">   Above Normal  </span><span style="background-color:#F7F8F7">  Below Normal  </span><span style="background-color:#FBEEF3">    Dry    </span><span style="background-color:#FFDFEC">   Critical   </span></span>) </div> """ if (compare_mode!='1' and compare_mode!='2'): print >> fh, """ <div> Threshold value to highlight percentage differences <input type="text" id="threshold" value="50"/> </div> <div> Table Statistics: <select name="stat" id="stat" onChange=""> <option value=0>Percentage RMS Diff</option><option value=1>RMS Diff</option> </select> </div> """ print >> fh, """ <div id="warning" style="color:red;font-weight:bold"></div> <input type="hidden" name="ta" id="ta" value=""> </form> </div>""" time_windows = map(lambda val: val[1].replace('"',''), tw_values) tws = map(lambda x: vtimeseries.timewindow(x), time_windows) print >> fh, '<div class="tabber">' if globals['CALCULATE_SPECIFIED_RMSE_ONLY']=='ON': part_c = compare_dss_utils.get_cpart_from_spec(var_values, output_values) else: part_c = compare_dss_utils.get_cpart_list(dss_group1) for type_item in part_c: print >> fh, '<div class="tabbertab" id="%s"><h2>%s</h2><p id="%s_p">'%(type_item,type_item,type_item) print >> fh, '</p></div>' print >> fh, '</div>' print >> fh, '<br><center><font style="font-family:arial,verdana,sans-serif;">Copyright © 2010 State of California, Department of Water Resources<br>Last Modified: 1/25/2011</font></center>' return tws
def write_summary_table(fh, dss_group1, dss_group2, globals, scalars, tw_values, var_values, output_values): compare_mode = globals['COMPARE_MODE'] if compare_mode == '1': print >> fh, "<h1><center>Observation Time Series Report<br>Data Set: %s </center></h1>" % ( scalars['NAME0']) if compare_mode == '2': print >> fh, "<h1><center>Model Output Time Series Report<br>Study Name: %s </center></h1>" % ( scalars['NAME1']) if compare_mode == '3': print >> fh, "<h1><center>DSM2 Output Comparison Report<br> %s <n>vs</n> %s</center></h1>" % ( scalars['NAME1'], scalars['NAME2']) if compare_mode == '4': print >> fh, "<h1><center>Calibration Report<br> %s <n>vs</n> %s</center></h1>" % ( scalars['NAME1'], scalars['NAME0']) if compare_mode == '5': print >> fh, "<h1><center>Calibration Report<br>[ %s <n>vs</n> %s ] <n> & </n> [ %s <n>vs</n> %s ]</center></h1>" % ( scalars['NAME1'], scalars['NAME0'], scalars['NAME2'], scalars['NAME0']) print >> fh, '<div id="note">Note: %s</div>' % (scalars['NOTE'].replace( '"', '')) print >> fh, '<div id="assumptions">Assumptions: %s</div>' % ( scalars['ASSUMPTIONS'].replace('"', '')) print >> fh, """<div id="control-panel"> <form> Data Conversion for Plot: <select name="datatype" onChange="change_period()" id="data-conversion"> <option value="davg"> Daily Average</option> <option value="dmax"> Daily Maximum</option> <option value="dmin"> Daily Minimim</option> <option value="mavg"> Monthly Average</option> """ if globals['PLOT_ORIGINAL_TIME_INTERVAL'] == 'ON': print >> fh, '<option value="orig">Original Data</option>' print >> fh, """ </select><br> Use Defined Time Window: <select name="tw" id="time-window-select"> """ for i in range(len(tw_values)): if i == 0: selected = 'selected="selected"' else: selected = "" print >> fh, '<option value="%s" %s>%s</option>' % ( compare_dss_utils.timewindow_option_value( vtimeseries.timewindow(tw_values[i][1].replace( '"', ''))), selected, tw_values[i][0].replace('"', '')) print >> fh, """ </select> <div> Customize Time Window: """ twstr = compare_dss_utils.timewindow_option_value( vtimeseries.timewindow(tw_values[0][1].replace('"', ''))).split("-") a1 = twstr[0].split(",") a2 = twstr[1].split(",") print >> fh, """Start Date: <input name="SDate" id="SDate" value="%s" onclick="displayDatePicker('SDate');" size=12>""" % ( a1[1] + "/" + a1[2] + "/" + a1[0]) print >> fh, """End Date: <input name="EDate" id="EDate" value="%s" onclick="displayDatePicker('EDate');" size=12>""" % ( a2[1] + "/" + a2[2] + "/" + a2[0]) print >> fh, """ <input type=button id="calendar" value="Re-draw"> </div> """ if (compare_mode != '1' and compare_mode != '2'): print >> fh, '<div>' print >> fh, 'Show differences on plot:<input type="checkbox" name="diff_plot" value="1"/>   (Difference = %s - %s)' % ( scalars['NAME2'], scalars['NAME1']) print >> fh, '</div>' print >> fh, """ <div> Show water year types on plot: <input type="checkbox" name="wyt" value="1"/>  (<span style="font-size:100%"><span style="background-color:#D9F7CC">    Wet   </span><span style="background-color:#EBF7E6">   Above Normal  </span><span style="background-color:#F7F8F7">  Below Normal  </span><span style="background-color:#FBEEF3">    Dry    </span><span style="background-color:#FFDFEC">   Critical   </span></span>) </div> """ if (compare_mode != '1' and compare_mode != '2'): print >> fh, """ <div> Threshold value to highlight percentage differences <input type="text" id="threshold" value="50"/> </div> <div> Table Statistics: <select name="stat" id="stat" onChange=""> <option value=0>Percentage RMS Diff</option><option value=1>RMS Diff</option> </select> </div> """ print >> fh, """ <div id="warning" style="color:red;font-weight:bold"></div> <input type="hidden" name="ta" id="ta" value=""> </form> </div>""" time_windows = map(lambda val: val[1].replace('"', ''), tw_values) tws = map(lambda x: vtimeseries.timewindow(x), time_windows) print >> fh, '<div class="tabber">' if globals['CALCULATE_SPECIFIED_RMSE_ONLY'] == 'ON': part_c = compare_dss_utils.get_cpart_from_spec(var_values, output_values) else: part_c = compare_dss_utils.get_cpart_list(dss_group1) for type_item in part_c: print >> fh, '<div class="tabbertab" id="%s"><h2>%s</h2><p id="%s_p">' % ( type_item, type_item, type_item) print >> fh, '</p></div>' print >> fh, '</div>' print >> fh, '<br><center><font style="font-family:arial,verdana,sans-serif;">Copyright © 2010 State of California, Department of Water Resources<br>Last Modified: 1/25/2011</font></center>' return tws
</style> <script> function install_gcf() { CFInstall.check({ mode: "overlay", node: "prompt" }); return false; } window.attachEvent("onload", install_gcf); </script> <![endif]--> """%(scalars['NAME1'],scalars['NAME2'],initial_js,initial_pretab) tws = write_summary_table(fh,dss_group1, dss_group2, globals, scalars, tw_values, var_values, output_values) if globals['CALCULATE_SPECIFIED_RMSE_ONLY']=='ON': part_c = compare_dss_utils.get_cpart_from_spec(var_values, output_values) else: part_c = compare_dss_utils.get_cpart_list(dss_group1) dt_arr = "dt_arr=[" peri_name = "period_name=[" peri_range = "period_range=[" for type_item in part_c: dt_arr+= "'"+type_item+"'," for i in range(len(tws)): peri_name+= '"'+tw_values[i][0].replace('"','')+'",' for tw in tws: peri_range+= '"'+compare_dss_utils.format_timewindow(tw)+'",' print >> fh, '<script type="text/javascript">'+dt_arr+"];" print >> fh, peri_name+"];" print >> fh, peri_range+"]; </script>" write_js_block(fh,globals,scalars)
<script> function install_gcf() { CFInstall.check({ mode: "overlay", node: "prompt" }); return false; } window.attachEvent("onload", install_gcf); </script> <![endif]--> """ % (scalars['NAME1'], scalars['NAME2'], initial_js, initial_pretab) tws = write_summary_table(fh, dss_group1, dss_group2, globals, scalars, tw_values, var_values, output_values) if globals['CALCULATE_SPECIFIED_RMSE_ONLY'] == 'ON': part_c = compare_dss_utils.get_cpart_from_spec(var_values, output_values) else: part_c = compare_dss_utils.get_cpart_list(dss_group1) dt_arr = "dt_arr=[" peri_name = "period_name=[" peri_range = "period_range=[" for type_item in part_c: dt_arr += "'" + type_item + "'," for i in range(len(tws)): peri_name += '"' + tw_values[i][0].replace('"', '') + '",' for tw in tws: peri_range += '"' + compare_dss_utils.format_timewindow(tw) + '",' print >> fh, '<script type="text/javascript">' + dt_arr + "];" print >> fh, peri_name + "];" print >> fh, peri_range + "]; </script>" write_js_block(fh, globals, scalars)