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"/> &emsp; (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"/> &emsp;(<span style="font-size:100%"><span style="background-color:#D9F7CC"> &emsp;&emsp; Wet &emsp;&emsp;</span><span style="background-color:#EBF7E6"> &emsp; Above Normal &emsp;</span><span style="background-color:#F7F8F7">&emsp; Below Normal &emsp;</span><span style="background-color:#FBEEF3"> &emsp;&emsp; Dry &emsp;&emsp; </span><span style="background-color:#FFDFEC"> &emsp; Critical &emsp; </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 &copy; 2010 State of California, Department of Water Resources<br>Last Modified: 1/25/2011</font></center>'
    return tws 
Exemple #2
0
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"/> &emsp; (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"/> &emsp;(<span style="font-size:100%"><span style="background-color:#D9F7CC"> &emsp;&emsp; Wet &emsp;&emsp;</span><span style="background-color:#EBF7E6"> &emsp; Above Normal &emsp;</span><span style="background-color:#F7F8F7">&emsp; Below Normal &emsp;</span><span style="background-color:#FBEEF3"> &emsp;&emsp; Dry &emsp;&emsp; </span><span style="background-color:#FFDFEC"> &emsp; Critical &emsp; </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 &copy; 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)
Exemple #4
0
  <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)