changeset 8305:f5ed7698c4db

merged.
author Raimund Renkert <rrenkert@intevation.de>
date Mon, 22 Sep 2014 17:11:20 +0200
parents c4bd57172aa7 (current diff) 2869a2e482e5 (diff)
children 33d90858b2dc 7b282a3f50f0
files gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties
diffstat 19 files changed, 275 insertions(+), 391 deletions(-) [+]
line wrap: on
line diff
--- a/artifacts/doc/conf/artifacts/minfo.xml	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/doc/conf/artifacts/minfo.xml	Mon Sep 22 17:11:20 2014 +0200
@@ -166,7 +166,6 @@
                 <outputmode name="bedheight_middle" description="output.bedheight_middle" mime-type="image/png" type="chart">
                     <facets>
                         <facet name="bedheight_middle.single" description="A facet for total channels"/>
-                        <facet name="bedheight_middle.epoch"  description="A facet for total channels"/>
                         <facet name="longitudinal_section.w"  description="Datacage facet"/>
                         <facet name="bedheight_middle.manualpoints" description="points"/>
                         <facet name="bedheight" description="Datacage facet"/>
--- a/artifacts/doc/conf/meta-data.xml	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/doc/conf/meta-data.xml	Mon Sep 22 17:11:20 2014 +0200
@@ -2,17 +2,7 @@
 <dc:template xmlns:dc="http://www.intevation.org/2011/Datacage">
   <datacage>
 
-    <dc:comment>
-      User specific part
-      ------------------
-      Since rev 4b29bb2c785f we (only?) need this hack to suppress
-      user-content in DEM-selection during floodmap parameterisation.
-    </dc:comment>
-    <dc:if test="dc:contains($parameters, 'user-id') and
-      not(dc:contains($artifact-outs, 'floodmap-hws')) and
-      not($current-state-id = 'state.winfo.uesk.dgm')">
-      <dc:call-macro name="load-user"/>
-    </dc:if>
+    <dc:call-macro name="load-user"/>
 
     <dc:call-macro name="load-system"/>
 
@@ -47,6 +37,7 @@
               <dc:iterate var="out" container="artifact-outs">
                 <dc:message>Rec out iteration for: {$out}</dc:message>
                 <dc:choose>
+                  <dc:comment> Longitudinal sections </dc:comment>
                   <dc:when test="$out = 'w_differences'">
                     <dc:call-macro name="annotations"/>
                   </dc:when>
@@ -54,33 +45,6 @@
                     <dc:call-macro name="annotations"/>
                     <dc:call-macro name="officiallines_user"/>
                   </dc:when>
-                  <dc:when test="$out = 'historical_discharge_wq'">
-                    <dc:call-macro name="mainvalues"/>
-                  </dc:when>
-                  <dc:when test="$out = 'cross_section'">
-                    <dc:call-macro name="cross_sections"/>
-                    <dc:call-macro name="hyks"/>
-                    <dc:call-macro name="officiallines_user"/>
-                  </dc:when>
-                  <dc:when test="$out = 'discharge_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                    <dc:call-macro name="basedata_3_officials_wq"/>
-                  </dc:when>
-                  <dc:when test="$out = 'computed_discharge_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                    <dc:call-macro name="basedata_3_officials_wq"/>
-                    <dc:call-macro name="basedata_2_fixations_wqkms"/>
-                  </dc:when>
-                  <dc:when test="$out = 'duration_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                  </dc:when>
-                  <dc:when test="$out = 'reference_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                  </dc:when>
-                  <dc:when test="$out = 'fix_wq_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                    <dc:call-macro name="qsectors"/>
-                  </dc:when>
                   <dc:when test="$out = 'longitudinal_section'">
                     <dc:call-macro name="annotations"/>
                     <dc:call-macro name="officiallines_user"/>
@@ -99,20 +63,6 @@
                     <dc:call-macro name="annotations"/>
                     <dc:call-macro name="basedata_6_delta_w"/>
                   </dc:when>
-                  <dc:when test="$out = 'floodmap'">
-                    <dc:call-macro name="flood-map-recommended"/>
-                  </dc:when>
-                  <dc:when test="$out = 'floodmap-hws'">
-                    <dc:call-macro name="flood-map-recommended"/>
-                  </dc:when>
-                  <dc:when test="$out = 'minfo-heights'">
-                    <dc:call-macro name="minfo-heights"/>
-                  </dc:when>
-                  <dc:when test="$out = 'minfo-heights-epoch'">
-                    <bedheights>
-                      <dc:call-macro name="bed-heights-epoch"/>
-                    </bedheights>
-                  </dc:when>
                   <dc:when test="$out = 'sedimentload_ls'">
                     <dc:call-macro name="annotations"/>
                     <dc:call-macro name="sedimentload_off_epochs"/>
@@ -123,6 +73,41 @@
                   <dc:when test="$out = 'flow_velocity'">
                     <dc:call-macro name="annotations"/>
                   </dc:when>
+                  <dc:comment> Discharge curves </dc:comment>
+                  <dc:when test="$out = 'historical_discharge_wq'">
+                    <dc:call-macro name="mainvalues"/>
+                  </dc:when>
+                  <dc:when test="$out = 'discharge_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                    <dc:call-macro name="basedata_3_officials_wq"/>
+                  </dc:when>
+                  <dc:when test="$out = 'computed_discharge_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                    <dc:call-macro name="basedata_3_officials_wq"/>
+                    <dc:call-macro name="basedata_2_fixations_wqkms"/>
+                  </dc:when>
+                  <dc:when test="$out = 'fix_wq_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                    <dc:call-macro name="qsectors"/>
+                  </dc:when>
+                  <dc:comment> Cross sections </dc:comment>
+                  <dc:when test="$out = 'cross_section'">
+                    <dc:call-macro name="cross_sections"/>
+                    <dc:call-macro name="hyks"/>
+                    <dc:call-macro name="officiallines_user"/>
+                  </dc:when>
+                  <dc:comment> Duration curve </dc:comment>
+                  <dc:when test="$out = 'duration_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                  </dc:when>
+                  <dc:comment> Reference curve </dc:comment>
+                  <dc:when test="$out = 'reference_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                  </dc:when>
+                  <dc:comment> Maps </dc:comment>
+                  <dc:when test="$out = 'floodmap'">
+                    <dc:call-macro name="flood-map-recommended"/>
+                  </dc:when>
                 </dc:choose>
               </dc:iterate>
             </dc:when>
@@ -133,19 +118,37 @@
               <dc:iterate var="out" container="artifact-outs">
                 <dc:message>Non Rec out iteration for: {$out}</dc:message>
                 <dc:choose>
-                  <dc:when test="$out = 'minfo-heights-diff'">
+                  <dc:comment> Inline datacage panels </dc:comment>
+                  <dc:when test="$out = 'minfo_diff_panel'">
                     <dc:call-macro name="minfo-heights-diff"/>
                   </dc:when>
-                  <dc:when test="$out = 'cross_section'">
+                  <dc:when test="$out = 'floodmap_dem_panel'">
+                    <dc:call-macro name="flood-map-dem"/>
+                  </dc:when>
+                  <dc:when test="$out = 'floodmap_hws_panel'">
+                    <hws>
+                      <dc:call-macro name="flood-map-hws-lines"/>
+                      <dc:call-macro name="flood-map-hws-points"/>
+                    </hws>
+                  </dc:when>
+                  <dc:when test="$out = 'winfo_diff_twin_panel'">
+                    <dc:if test="$current-state-id != 'state.winfo.uesk.wsp'">
+                      <dc:call-macro name="basedata_0"/>
+                      <dc:call-macro name="basedata_1_additionals"/>
+                      <dc:call-macro name="basedata_2_fixations"/>
+                      <dc:call-macro name="basedata_4_heightmarks-points"/>
+                      <dc:call-macro name="basedata_5_flood-protections"/>
+                    </dc:if>
+                  </dc:when>
+                  <dc:when test="$out = 'waterlevels_panel'">
                     <dc:call-macro name="basedata_0"/>
                     <dc:call-macro name="basedata_1_additionals"/>
                     <dc:call-macro name="basedata_2_fixations"/>
                     <dc:call-macro name="basedata_3_officials"/>
                     <dc:call-macro name="basedata_4_heightmarks-points"/>
-                    <dc:call-macro name="cross_sections"/>
                     <dc:call-macro name="basedata_5_flood-protections"/>
-                    <dc:call-macro name="hyks"/>
                   </dc:when>
+                  <dc:comment> Longitudinal sections </dc:comment>
                   <dc:when test="$out = 'longitudinal_section'">
                     <dc:call-macro name="longitudinal-section-prototype"/>
                   </dc:when>
@@ -155,45 +158,9 @@
                   <dc:when test="$out = 'discharge_longitudinal_section'">
                     <dc:call-macro name="longitudinal-section-prototype"/>
                   </dc:when>
-                  <dc:when test="$out = 'historical_discharge_wq'">
-                    <dc:call-macro name="discharge-curve-prototype"/>
-                    <dc:call-macro name="basedata_5_flood-protections"/>
-                    <dc:call-macro name="basedata_0"/>
-                    <dc:call-macro name="basedata_1_additionals"/>
-                    <dc:call-macro name="basedata_4_heightmarks-points"/>
-                    <computed_discharge_curve>
-                      <dc:call-macro name="mainvalues"/>
-                    </computed_discharge_curve>
-                  </dc:when>
-                  <dc:when test="$out = 'discharge_curve'">
-                    <dc:call-macro name="discharge-prototype"/>
-                    <computed_discharge_curve>
-                      <dc:call-macro name="mainvalues"/>
-                    </computed_discharge_curve>
-                  </dc:when>
-                  <dc:when test="$out = 'duration_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                    <dc:call-macro name="basedata_2_fixations_relative_point"/>
-                    <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
-                    <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
-                  </dc:when>
-                  <dc:when test="$out = 'reference_curve'">
-                    <dc:call-macro name="mainvalues"/>
-                    <dc:call-macro name="annotations"/>
-                    <dc:call-macro name="basedata_1_additionals-relative_point"/>
-                    <dc:call-macro name="basedata_2_fixations_relative_point"/>
-                    <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
-                    <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
-                  </dc:when>
-                  <dc:when test="$out = 'fix_wq_curve'">
-                    <dc:call-macro name="discharge-prototype"/>
-                  </dc:when>
                   <dc:when test="$out = 'fix_longitudinal_section_curve'">
                     <dc:call-macro name="longitudinal-section-prototype"/>
                   </dc:when>
-                  <dc:when test="$out = 'map'">
-                    <dc:call-macro name="flood-map-complete"/>
-                  </dc:when>
                   <dc:when test="$out = 'flow_velocity'">
                     <dc:call-macro name="longitudinal-section-prototype"/>
                   </dc:when>
@@ -212,37 +179,25 @@
                   <dc:when test="$out = 'bed_difference_year'">
                     <dc:call-macro name="longitudinal-section-prototype"/>
                   </dc:when>
-                  <dc:when test="$out = 'floodmap'">
-                    <dc:choose>
-                      <dc:when test="dc:contains($parameters, 'dem')">
-                        <dc:call-macro name="flood-map-dem"/>
-                      </dc:when>
-                      <dc:when test="dc:contains($parameters, 'hws')">
-                        <hws>
-                          <dc:call-macro name="flood-map-hws-lines"/>
-                          <dc:call-macro name="flood-map-hws-points"/>
-                        </hws>
-                      </dc:when>
-                      <dc:otherwise>
-                        <dc:call-macro name="flood-map-complete"/>
-                      </dc:otherwise>
-                    </dc:choose>
+                  <dc:comment> Discharge curves </dc:comment>
+                  <dc:when test="$out = 'historical_discharge_wq'">
+                    <dc:call-macro name="discharge-curve-prototype"/>
+                    <dc:call-macro name="basedata_5_flood-protections"/>
+                    <dc:call-macro name="basedata_0"/>
+                    <dc:call-macro name="basedata_1_additionals"/>
+                    <dc:call-macro name="basedata_4_heightmarks-points"/>
+                    <computed_discharge_curve>
+                      <dc:call-macro name="mainvalues"/>
+                    </computed_discharge_curve>
                   </dc:when>
-                  <dc:when test="$out = 'floodmap-hws'">
-                    <dc:choose>
-                      <dc:when test="dc:contains($parameters, 'dem')">
-                        <dc:call-macro name="flood-map-dem"/>
-                      </dc:when>
-                      <dc:when test="dc:contains($parameters, 'hws')">
-                        <hws>
-                          <dc:call-macro name="flood-map-hws-lines"/>
-                          <dc:call-macro name="flood-map-hws-points"/>
-                        </hws>
-                      </dc:when>
-                      <dc:otherwise>
-                        <dc:call-macro name="flood-map-complete"/>
-                      </dc:otherwise>
-                    </dc:choose>
+                  <dc:when test="$out = 'discharge_curve'">
+                    <dc:call-macro name="discharge-prototype"/>
+                    <computed_discharge_curve>
+                      <dc:call-macro name="mainvalues"/>
+                    </computed_discharge_curve>
+                  </dc:when>
+                  <dc:when test="$out = 'fix_wq_curve'">
+                    <dc:call-macro name="discharge-prototype"/>
                   </dc:when>
                   <dc:when test="$out = 'computed_discharge_curve'">
                     <dc:call-macro name="discharge-curve-prototype"/>
@@ -253,34 +208,43 @@
                       <dc:call-macro name="mainvalues"/>
                     </computed_discharge_curve>
                   </dc:when>
-                  <dc:when test="$out = 'minfo-heights'">
-                    <dc:call-macro name="minfo-heights"/>
-                  </dc:when>
-                  <dc:when test="$out = 'minfo-heights-epoch'">
-                    <bedheights>
-                      <dc:call-macro name="bed-heights-epoch"/>
-                    </bedheights>
+                  <dc:when test="starts-with($out, 'sq_relation') or
+                                 $out = 'sq_overview'">
+                    <dc:call-macro name="sqrelations"/>
                   </dc:when>
-                  <dc:when test="$out = 'differenceable'">
-                    <dc:if test="$current-state-id != 'state.winfo.uesk.wsp'">
-                      <dc:call-macro name="basedata_0"/>
-                      <dc:call-macro name="basedata_1_additionals"/>
-                      <dc:call-macro name="basedata_2_fixations"/>
-                      <dc:call-macro name="basedata_4_heightmarks-points"/>
-                      <dc:call-macro name="basedata_5_flood-protections"/>
-                    </dc:if>
-                  </dc:when>
-                  <dc:when test="$out = 'waterlevels'">
+                  <dc:comment> Cross sections </dc:comment>
+                  <dc:when test="$out = 'cross_section'">
                     <dc:call-macro name="basedata_0"/>
                     <dc:call-macro name="basedata_1_additionals"/>
                     <dc:call-macro name="basedata_2_fixations"/>
                     <dc:call-macro name="basedata_3_officials"/>
                     <dc:call-macro name="basedata_4_heightmarks-points"/>
+                    <dc:call-macro name="cross_sections"/>
                     <dc:call-macro name="basedata_5_flood-protections"/>
+                    <dc:call-macro name="hyks"/>
                   </dc:when>
-                  <dc:when test="starts-with($out, 'sq_relation') or
-                                 $out = 'sq_overview'">
-                    <dc:call-macro name="sqrelations"/>
+                  <dc:comment> Duration curve </dc:comment>
+                  <dc:when test="$out = 'duration_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                    <dc:call-macro name="basedata_2_fixations_relative_point"/>
+                    <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
+                    <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
+                  </dc:when>
+                  <dc:comment> Reference curve </dc:comment>
+                  <dc:when test="$out = 'reference_curve'">
+                    <dc:call-macro name="mainvalues"/>
+                    <dc:call-macro name="annotations"/>
+                    <dc:call-macro name="basedata_1_additionals-relative_point"/>
+                    <dc:call-macro name="basedata_2_fixations_relative_point"/>
+                    <dc:call-macro name="basedata_4_heightmarks-points-relative_points"/>
+                    <dc:call-macro name="basedata_5_flood-protections_relative_points"/>
+                  </dc:when>
+                  <dc:comment> Maps </dc:comment>
+                  <dc:when test="$out = 'map'">
+                    <dc:call-macro name="flood-map-complete"/>
+                  </dc:when>
+                  <dc:when test="$out = 'floodmap'">
+                    <dc:call-macro name="flood-map-complete"/>
                   </dc:when>
                 </dc:choose>
               </dc:iterate>
@@ -314,6 +278,24 @@
                 </dc:comment>
                 <dc:iterate var="out" container="artifact-outs">
                   <dc:choose>
+                    <dc:comment> Inline datacage panels </dc:comment>
+                    <dc:when test="$out = 'winfo_diff_twin_panel'">
+                      <dc:call-macro name="differences-fix"/>
+                      <dc:call-macro name="differences"/>
+                      <dc:comment comment="Candidate for:">
+                        <dc:call-macro name="longitudinal-section-user-prototype"/>
+                      </dc:comment>
+                    </dc:when>
+                    <dc:when test="$out = 'waterlevels_panel'">
+                      <dc:call-macro name="waterlevels-fix"/>
+                      <dc:comment comment="Candidate for:">
+                        <dc:call-macro name="longitudinal-section-user-prototype"/>
+                      </dc:comment>
+                    </dc:when>
+                    <dc:when test="$out = 'floodmap_hws_panel'">
+                      <dc:call-macro name="floodmap-hws-user"/>
+                    </dc:when>
+                    <dc:comment> Longitudinal sections </dc:comment>
                     <dc:when test="$out = 'longitudinal_section'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
@@ -323,59 +305,12 @@
                     <dc:when test="$out = 'w_differences'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
-                    <dc:when test="$out = 'computed_discharge_curve'">
-                      <dc:call-macro name="computed-discharge-curve"/>
-                      <dc:call-macro name="fix-wq-curve"/>
-                      <dc:call-macro name="discharge-curve"/>
-                      <dc:call-macro name="extreme-wq-curve"/>
-                    </dc:when>
-                    <dc:when test="$out = 'fix_deltawt_curve'">
-                      <dc:call-macro name="delta-wt"/>
-                    </dc:when>
-                    <dc:when test="$out = 'reference_curve'">
-                      <dc:call-macro name="reference-curves"/>
-                    </dc:when>
-                    <dc:when test="$out = 'cross_section'">
-                      <dc:call-macro name="waterlevels"/>
-                    </dc:when>
                     <dc:when test="$out = 'fix_longitudinal_section_curve'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
-                    <dc:when test="$out = 'fix_derivate_curve'">
-                      <dc:call-macro name="fix-derivate-curve"/>
-                    </dc:when>
-                    <dc:when test="$out = 'fix_wq_curve'">
-                      <dc:call-macro name="fix-wq-curve"/>
-                      <dc:call-macro name="waterlevels-fix"/>
-                    </dc:when>
-                    <dc:when test="$out = 'duration_curve'">
-                      <dc:call-macro name="duration-curve"/>
-                    </dc:when>
-                    <dc:when test="$out = 'differenceable'">
-                      <dc:call-macro name="differenceable-fix"/>
-                      <dc:call-macro name="differences"/>
-                      <dc:comment comment="Candidate for:">
-                        <dc:call-macro name="longitudinal-section-user-prototype"/>
-                      </dc:comment>
-                    </dc:when>
-                    <dc:when test="$out = 'waterlevels'">
-                      <dc:call-macro name="waterlevels-fix"/>
-                      <dc:comment comment="Candidate for:">
-                        <dc:call-macro name="longitudinal-section-user-prototype"/>
-                      </dc:comment>
-                    </dc:when>
-                    <dc:when test="$out = 'floodmap'">
-                      <dc:call-macro name="flood-map"/>
-                    </dc:when>
-                    <dc:when test="$out = 'map'">
-                      <dc:call-macro name="flood-map"/>
-                    </dc:when>
                     <dc:when test="$out = 'bedheight_middle'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
-                    <dc:when test="$out = 'floodmap-hws'">
-                      <dc:call-macro name="floodmap-hws-user"/>
-                    </dc:when>
                     <dc:when test="$out = 'flow_velocity'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
@@ -391,8 +326,19 @@
                     <dc:when test="$out = 'bed_difference_height_year'">
                       <dc:call-macro name="longitudinal-section-user-prototype"/>
                     </dc:when>
-                    <dc:when test="$out = 'historical_discharge'">
-                      <dc:call-macro name="historical-discharge-user"/>
+                    <dc:comment> Discharge curves </dc:comment>
+                    <dc:when test="$out = 'computed_discharge_curve'">
+                      <dc:call-macro name="computed-discharge-curve"/>
+                      <dc:call-macro name="fix-wq-curve"/>
+                      <dc:call-macro name="discharge-curve"/>
+                      <dc:call-macro name="extreme-wq-curve"/>
+                    </dc:when>
+                    <dc:when test="$out = 'fix_derivate_curve'">
+                      <dc:call-macro name="fix-derivate-curve"/>
+                    </dc:when>
+                    <dc:when test="$out = 'fix_wq_curve'">
+                      <dc:call-macro name="fix-wq-curve"/>
+                      <dc:call-macro name="waterlevels-fix"/>
                     </dc:when>
                     <dc:when test="$out = 'historical_discharge_wq'">
                       <dc:call-macro name="historical-discharge-wq-user"/>
@@ -401,6 +347,32 @@
                                  $out = 'sq_overview'">
                       <dc:call-macro name="sqrelations_user"/>
                     </dc:when>
+                    <dc:comment> Time series </dc:comment>
+                    <dc:when test="$out = 'fix_deltawt_curve'">
+                      <dc:call-macro name="delta-wt"/>
+                    </dc:when>
+                    <dc:when test="$out = 'historical_discharge'">
+                      <dc:call-macro name="historical-discharge-user"/>
+                    </dc:when>
+                    <dc:comment> Cross sections </dc:comment>
+                    <dc:when test="$out = 'cross_section'">
+                      <dc:call-macro name="waterlevels"/>
+                    </dc:when>
+                    <dc:comment> Duration curve </dc:comment>
+                    <dc:when test="$out = 'duration_curve'">
+                      <dc:call-macro name="duration-curve"/>
+                    </dc:when>
+                    <dc:comment> Reference curve </dc:comment>
+                    <dc:when test="$out = 'reference_curve'">
+                      <dc:call-macro name="reference-curves"/>
+                    </dc:when>
+                    <dc:comment> Maps </dc:comment>
+                    <dc:when test="$out = 'floodmap'">
+                      <dc:call-macro name="flood-map"/>
+                    </dc:when>
+                    <dc:when test="$out = 'map'">
+                      <dc:call-macro name="flood-map"/>
+                    </dc:when>
                   </dc:choose>
                 </dc:iterate>
               </dc:otherwise>
@@ -859,13 +831,7 @@
     </dc:macro>
 
     <dc:comment comment="For building differences." />
-    <dc:macro name="differenceable-fix">
-      <dc:comment>
-        No diffs between beddiffs and others, for now.
-        <beddifferences>
-           <dc:call-macro name="bedheight_differences"/>
-        </beddifferences>
-      </dc:comment>
+    <dc:macro name="differences-fix">
       <dc:comment comment="Vollmer curves need own factory"/>
       <dc:filter expr="$a_state = 'state.fix.vollmer.compute' and $facet_name = 'longitudinal_section.w'">
         <dc:if test="dc:has-result()">
@@ -1441,49 +1407,59 @@
     </dc:macro>
 
     <dc:macro name="loads">
-     <dc:if test="dc:has-result()">
-       <dc:group expr="$fraction">
-         <dc:variable name="fraction_name" expr="concat('${', dc:group-key(), '}')"/>
-         <fraction description="{$fraction_name}">
-           <dc:for-each>
-             <dc:choose>
-               <dc:when test="string-length(dc:get('endyear')) = 0">
-                 <dc:variable name="timespan" type="string"
-                              expr="dc:date-format('yyyy', $startyear)"/>
-               </dc:when>
-               <dc:otherwise>
-                 <dc:variable name="timespan" type="string"
-                              expr="concat(dc:date-format('yyyy', $startyear),
-                                    '-', dc:date-format('yyyy', $endyear))"/>
-               </dc:otherwise>
-             </dc:choose>
-             <dc:if test="$kind = 'official'">
-               <dc:variable name="info" type="string"
-                            expr="concat('Amtliche Epoche&lt;BR&gt;', dc:get('info'))"/>
-             </dc:if>
-             <dc:macro-body/>
-           </dc:for-each>
-         </fraction>
-       </dc:group>
-     </dc:if>
+      <dc:if test="dc:has-result()">
+        <dc:group expr="concat('SQ ', dc:date-format('yyyy', $sqstart), '-',
+                        dc:date-format('yyyy', $sqstop))">
+          <sq_time description="{dc:group-key()}">
+            <dc:group expr="$fraction">
+              <dc:variable name="fraction_name"
+                           expr="concat('${', dc:group-key(), '}')"/>
+              <fraction description="{$fraction_name}">
+                <dc:for-each>
+                  <dc:choose>
+                    <dc:when test="string-length(dc:get('endyear')) = 0">
+                      <dc:variable name="timespan" type="string"
+                                   expr="dc:date-format('yyyy', $startyear)"/>
+                    </dc:when>
+                    <dc:otherwise>
+                      <dc:variable name="timespan" type="string"
+                                   expr="concat(dc:date-format('yyyy',
+                                         $startyear), '-',
+                                         dc:date-format('yyyy', $endyear))"/>
+                    </dc:otherwise>
+                  </dc:choose>
+                  <dc:if test="$kind = 'official'">
+                    <dc:variable name="info" type="string"
+                                 expr="concat('Amtliche Epoche&lt;BR&gt;',
+                                       dc:get('info'))"/>
+                  </dc:if>
+                  <dc:macro-body/>
+                </dc:for-each>
+              </fraction>
+            </dc:group>
+          </sq_time>
+        </dc:group>
+      </dc:if>
     </dc:macro>
 
     <dc:macro name="sedimentloads-filter">
-      <dc:group expr="concat('SQ ', dc:date-format('yyyy', $sqstart), '-',
-                      dc:date-format('yyyy', $sqstop))">
-        <sq_time description="{dc:group-key()}">
-          <years>
-            <dc:filter expr="string-length(dc:get('endyear')) = 0" >
-              <dc:macro-body/>
-            </dc:filter>
-          </years>
-          <epochs>
-            <dc:filter expr="string-length(dc:get('endyear')) &gt; 0" >
-              <dc:macro-body/>
-            </dc:filter>
-          </epochs>
-        </sq_time>
-      </dc:group>
+      <years>
+        <dc:filter expr="string-length(dc:get('endyear')) = 0 and
+                         $kind != 'official'" >
+          <dc:macro-body/>
+        </dc:filter>
+      </years>
+      <epochs>
+        <dc:filter expr="string-length(dc:get('endyear')) &gt; 0 and
+                         $kind != 'official'" >
+          <dc:macro-body/>
+        </dc:filter>
+      </epochs>
+      <off_epochs>
+        <dc:filter expr="$kind = 'official'" >
+          <dc:macro-body/>
+        </dc:filter>
+      </off_epochs>
     </dc:macro>
 
     <dc:macro name="sedimentloads">
--- a/artifacts/doc/conf/themes.xml	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/doc/conf/themes.xml	Mon Sep 22 17:11:20 2014 +0200
@@ -215,7 +215,6 @@
         <mapping from="flow_velocity.discharge" to="FlowVelocityDischarge" />
         <mapping from="flow_velocity.measurement" to="FlowVelocityDischarge" />
         <mapping from="bedheight_middle.single" to="MiddleBedHeightSingle" />
-        <mapping from="bedheight_middle.epoch" to="MiddleBedHeightEpoch" />
         <mapping from="bed_longitudinal_section.porosity_toplayer" to="PorosityTopLayer" />
         <mapping from="bed_longitudinal_section.porosity_sublayer" to="PorositySubLayer" />
         <mapping from="bed_longitudinal_section.sediment_density_toplayer" to="DensityTopLayer" />
--- a/artifacts/doc/conf/themes/default.xml	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/doc/conf/themes/default.xml	Mon Sep 22 17:11:20 2014 +0200
@@ -872,16 +872,6 @@
         </fields>
     </theme>
 
-    <theme name="MiddleBedHeightEpoch">
-        <inherits>
-            <inherit from="LongitudinalSection" />
-        </inherits>
-        <fields>
-            <field name="linecolor" type="Color" display="Linienfarbe"
-                default="0, 0, 102" />
-        </fields>
-    </theme>
-
     <!-- Bed Quality -->
     <theme name="PorosityTopLayer">
         <inherits>
--- a/artifacts/doc/conf/themes/second.xml	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/doc/conf/themes/second.xml	Mon Sep 22 17:11:20 2014 +0200
@@ -872,16 +872,6 @@
         </fields>
     </theme>
 
-    <theme name="MiddleBedHeightEpoch">
-        <inherits>
-            <inherit from="LongitudinalSection" />
-        </inherits>
-        <fields>
-            <field name="linecolor" type="Color" display="Linienfarbe"
-                default="0, 0, 102" />
-        </fields>
-    </theme>
-
     <!-- Bed Quality -->
     <theme name="PorosityTopLayer">
         <inherits>
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/FacetTypes.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/FacetTypes.java	Mon Sep 22 17:11:20 2014 +0200
@@ -49,8 +49,7 @@
             return type.equals(FLOW_VELOCITY_TAU);
         }
         public static boolean H(String type) {
-            return type.equals(MIDDLE_BED_HEIGHT_SINGLE)
-                || type.equals(MIDDLE_BED_HEIGHT_EPOCH);
+            return type.equals(MIDDLE_BED_HEIGHT_SINGLE);
         }
         public static boolean MANUALPOINTS(String type) {
             return type.endsWith("manualpoints");
@@ -313,7 +312,6 @@
     String FLOW_VELOCITY_WATERLEVEL            = "flow_velocity.waterlevel";
 
     String MIDDLE_BED_HEIGHT_SINGLE     = "bedheight_middle.single";
-    String MIDDLE_BED_HEIGHT_EPOCH      = "bedheight_middle.epoch";
     String MIDDLE_BED_HEIGHT_ANNOTATION = "bedheight_middle.annotation";
 
     String BED_QUALITY_POROSITY_TOPLAYER         = "bed_longitudinal_section.porosity_toplayer";
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MiddleBedHeightData.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/MiddleBedHeightData.java	Mon Sep 22 17:11:20 2014 +0200
@@ -28,10 +28,8 @@
     private static final Logger log = Logger.getLogger(MiddleBedHeightData.class);
 
     public static final String I18N_SINGLE_NAME = "facet.bedheight_middle.single";
-    public static final String I18N_EPOCH_NAME  = "facet.bedheight_middle.epoch";
 
-    private int    startYear;
-    private int    endYear;
+    private int    year;
     private String evaluatedBy;
     private String description;
 
@@ -50,12 +48,11 @@
     private ArrayList empty;
 
 
-    protected MiddleBedHeightData(int start, int end, String eval, String desc,
+    protected MiddleBedHeightData(int year, int end, String eval, String desc,
         String curElevationModel, String oldElevationModel,
         String riverElevationModel, String type,
         String locationSystem, Integer soundingWidth) {
-        this.startYear   = start;
-        this.endYear     = end;
+        this.year   = year;
         this.evaluatedBy = eval;
         this.description = desc;
         this.curElevationModel = curElevationModel;
@@ -86,12 +83,8 @@
     }
 
 
-    public int getStartYear() {
-        return startYear;
-    }
-
-    public int getEndYear() {
-        return endYear;
+    public int getYear() {
+        return year;
     }
 
     public String getEvaluatedBy() {
@@ -214,22 +207,11 @@
 
 
     public String getSoundingName(CallContext context) {
-        if (getStartYear() == getEndYear()) {
-            return Resources.getMsg(
-                context.getMeta(),
-                I18N_SINGLE_NAME,
-                I18N_SINGLE_NAME,
-                new Object[] { getStartYear() }
-            );
-        }
-        else {
-            return Resources.getMsg(
-                context.getMeta(),
-                I18N_EPOCH_NAME,
-                I18N_EPOCH_NAME,
-                new Object[] { getStartYear(), getEndYear() }
-            );
-        }
+        return Resources.getMsg(
+            context.getMeta(),
+            I18N_SINGLE_NAME,
+            new Object[] { getYear() }
+        );
     }
 
     @Override
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/MiddleBedHeight.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/MiddleBedHeight.java	Mon Sep 22 17:11:20 2014 +0200
@@ -71,56 +71,29 @@
         int    idx = 0;
 
         for (MiddleBedHeightData d: data) {
-            if (d.getStartYear() == d.getEndYear()) {
-                MiddleBedHeightFacet mf = new MiddleBedHeightFacet(
-                    idx,
-                    MIDDLE_BED_HEIGHT_SINGLE,
-                    d.getDescription(),
-                    ComputeType.ADVANCE,
-                    id,
-                    hash
-                );
-                mf.addMetaData(Resources.getMsg(
+            MiddleBedHeightFacet mf = new MiddleBedHeightFacet(
+                idx,
+                MIDDLE_BED_HEIGHT_SINGLE,
+                d.getDescription(),
+                ComputeType.ADVANCE,
+                id,
+                hash
+            );
+            mf.addMetaData(Resources.getMsg(
                     context.getMeta(),
                     "meta.bedheight.cur.elevation",
                     "Current elevation model"),
-                    d.getCurElevationModel());
-                mf.addMetaData(Resources.getMsg(
+                d.getCurElevationModel());
+            mf.addMetaData(Resources.getMsg(
                     context.getMeta(),
                     "meta.bedheight.old.elevation",
                     "Old elevation model"),
-                    d.getOldElevationModel());
-                mf.addMetaData(Resources.getMsg(
+                d.getOldElevationModel());
+            mf.addMetaData(Resources.getMsg(
                     context.getMeta(),
                     "meta.bedheight.river.elevation",
                     "River elevation model"), u.getName());
-                newFacets.add(mf);
-            }
-            else {
-                MiddleBedHeightFacet mf = new MiddleBedHeightFacet(
-                    idx,
-                    MIDDLE_BED_HEIGHT_EPOCH,
-                    d.getDescription(),
-                    ComputeType.ADVANCE,
-                    id,
-                    hash
-                );
-                mf.addMetaData(Resources.getMsg(
-                    context.getMeta(),
-                    "meta.bedheight.cur.elevation",
-                    "Current elevation model"),
-                    d.getCurElevationModel());
-                mf.addMetaData(Resources.getMsg(
-                    context.getMeta(),
-                    "meta.bedheight.old.elevation",
-                    "Old elevation model"),
-                    d.getOldElevationModel());
-                mf.addMetaData(Resources.getMsg(
-                    context.getMeta(),
-                    "meta.bedheight.river.elevation",
-                    "River elevation model"), u.getName());
-                newFacets.add(mf);
-            }
+            newFacets.add(mf);
 
             idx++;
         }
--- a/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java	Mon Sep 22 17:11:20 2014 +0200
@@ -167,17 +167,13 @@
         }
 
         for (int i: kmIndexMap.values()) {
-            int start = data.getStartYear();
-            int end   = data.getEndYear();
-
-            if (start == end) {
-                String uncert = !Double.isNaN(data.getUncertainty(i)) ?
-                    uncertF.format(data.getUncertainty(i)) : "";
-                String gap = !Double.isNaN(data.getDataGap(i)) ?
-                    gapF.format(data.getDataGap(i)) + "%" : "";
-                String sound = !Double.isNaN(data.getSoundingWidth(i)) ?
-                    soundF.format(data.getSoundingWidth(i)) : "";
-                writer.writeNext(new String[] {
+            String uncert = !Double.isNaN(data.getUncertainty(i)) ?
+                uncertF.format(data.getUncertainty(i)) : "";
+            String gap = !Double.isNaN(data.getDataGap(i)) ?
+                gapF.format(data.getDataGap(i)) + "%" : "";
+            String sound = !Double.isNaN(data.getSoundingWidth(i)) ?
+                soundF.format(data.getSoundingWidth(i)) : "";
+            writer.writeNext(new String[] {
                     kmF.format(data.getKM(i)),
                     data.getDescription(),
                     heightF.format(data.getMiddleHeight(i)),
@@ -187,49 +183,31 @@
                     widthF.format(data.getWidth(i)),
                     RiverUtils.getLocationDescription(flys, data.getKM(i)),
                 });
-            }
-            else {
-                writer.writeNext(new String[] {
-                    kmF.format(data.getKM(i)),
-                    data.getDescription(),
-                    heightF.format(data.getMiddleHeight(i)),
-                    "",
-                    "",
-                    "",
-                    "",
-                    RiverUtils.getLocationDescription(flys, data.getKM(i)),
-                });
-            }
-
         }
     }
 
 
     private void writeMetaData(CSVWriter writer, MiddleBedHeightData data) {
-         writer.writeNext(new String[]{"#"});
          String year = "";
-         if (data.getStartYear() != 0) {
-             year = String.valueOf(data.getStartYear());
+         if (data.getYear() != 0) {
+             year = String.valueOf(data.getYear());
          }
-         writer.writeNext(new String[]{"# " + msg(CSV_META_YEAR) +
-             ": " + year});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_TYPE) +
-             ": " + data.getType()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_LOC_SYSTEM) +
-             ": " + data.getLocationSystem()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_CUR_ELEV_MODEL) +
-             ": " + data.getCurElevationModel()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_OLD_ELEV_MODEL) +
-             ": " + data.getOldElevationModel()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_RIVER_ELEV_MODEL) +
-             ": " + data.getRiverElevationModel()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_SOUNDING_WIDTH) +
-             ": " + data.getSoundingWidth()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_RANGE) +
-             ": " + data.getStations().min() + " - " + data.getStations().max()});
-         writer.writeNext(new String[]{"# " + msg(CSV_META_EVAL_BY) +
-             ": " + data.getEvaluatedBy()});
-         writer.writeNext(new String[]{"#"});
+         writeCSVInfo(writer, new String[] {
+                 "", // blank meta-line to separate datasets in CSV
+                 msg(CSV_META_YEAR) + ": " + year,
+                 msg(CSV_META_TYPE) + ": " + data.getType(),
+                 msg(CSV_META_LOC_SYSTEM) + ": " + data.getLocationSystem(),
+                 msg(CSV_META_CUR_ELEV_MODEL) + ": " +
+                     data.getCurElevationModel(),
+                 msg(CSV_META_OLD_ELEV_MODEL) + ": " +
+                     data.getOldElevationModel(),
+                 msg(CSV_META_RIVER_ELEV_MODEL) + ": " +
+                     data.getRiverElevationModel(),
+                 msg(CSV_META_SOUNDING_WIDTH) + ": " + data.getSoundingWidth(),
+                 msg(CSV_META_RANGE) + ": " + data.getStations().min() +
+                     " - " + data.getStations().max(),
+                 msg(CSV_META_EVAL_BY) + ": " + data.getEvaluatedBy()
+             });
     }
 
     @Override
--- a/artifacts/src/main/java/org/dive4elements/river/exports/process/MiddleBedHeightProcessor.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/exports/process/MiddleBedHeightProcessor.java	Mon Sep 22 17:11:20 2014 +0200
@@ -91,7 +91,6 @@
         if (facetType == null) {
             return false;
         }
-        return facetType.equals(FacetTypes.MIDDLE_BED_HEIGHT_EPOCH) ||
-            facetType.equals(FacetTypes.MIDDLE_BED_HEIGHT_SINGLE);
+        return facetType.equals(FacetTypes.MIDDLE_BED_HEIGHT_SINGLE);
     }
 }
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.java	Mon Sep 22 17:11:20 2014 +0200
@@ -980,6 +980,8 @@
 
     String epochs();
 
+    String off_epochs();
+
     String densities();
 
     String sediment_load();
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants.properties	Mon Sep 22 17:11:20 2014 +0200
@@ -523,6 +523,7 @@
 sources_sinks = sources_sinks
 years = years
 epochs = epochs
+off_epochs = official epochs
 densities = Sediment Densities
 
 sediment_load = Sediment Load
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_de.properties	Mon Sep 22 17:11:20 2014 +0200
@@ -528,6 +528,7 @@
 sources_sinks = Quellen_Senken
 years = Einzeljahre
 epochs = Epochen
+off_epochs = Amtliche Epochen
 densities = Sedimentdichte
 
 sediment_load = Sedimentfracht
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/FLYSConstants_en.properties	Mon Sep 22 17:11:20 2014 +0200
@@ -508,6 +508,7 @@
 sources_sinks = sources_sinks
 years = years
 epochs = epochs
+off_epochs = official epochs
 densities = Sediment Densities
 
 sediment_load = Sediment Load
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Mon Sep 22 17:11:20 2014 +0200
@@ -175,7 +175,7 @@
         VLayout layout       = new VLayout();
         HLayout helperLayout = new HLayout();
         helperLayout.addMember(new DatacagePairWidget(this.artifact,
-            user, "differenceable", differencesList));
+            user, "winfo_diff_twin_panel", differencesList));
 
         layout.addMember(widget);
         layout.addMember(submit);
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DemDatacagePanel.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DemDatacagePanel.java	Mon Sep 22 17:11:20 2014 +0200
@@ -24,7 +24,7 @@
 
     private static final long serialVersionUID = -2301633938080411687L;
 
-    public static final String OUT        = "floodmap";
+    public static final String OUT        = "floodmap_dem_panel";
     public static final String PARAMETERS = "dem:true";
 
 
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/HWSDatacagePanel.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/HWSDatacagePanel.java	Mon Sep 22 17:11:20 2014 +0200
@@ -30,7 +30,7 @@
 public class HWSDatacagePanel
 extends DatacagePanel
 {
-    public static final String OUT        = "floodmap-hws";
+    public static final String OUT        = "floodmap_hws_panel";
     public static final String PARAMETERS = "hws:true;load-system:true";
 
 
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WspDatacagePanel.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WspDatacagePanel.java	Mon Sep 22 17:11:20 2014 +0200
@@ -41,7 +41,7 @@
 
     private static final long serialVersionUID = 2494432743877141135L;
 
-    public static final String WATERLEVEL_OUTS = "waterlevels";
+    public static final String WATERLEVEL_OUTS = "waterlevels_panel";
 
     public static final FLYSConstants MSG = GWT.create(FLYSConstants.class);
 
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/BedHeightsDatacagePanel.java	Mon Sep 22 17:10:23 2014 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/BedHeightsDatacagePanel.java	Mon Sep 22 17:11:20 2014 +0200
@@ -57,10 +57,6 @@
 
 // TODO Probably better to branch off AbstractUIProvider.
 // TODO Merge with other datacage-widget impls.
-/**
- * Panel containing a Grid and a "next" button. The Grid is fed by a
- * DatacagePairWidget which is put in the input-helper area.
- */
 public class BedHeightsDatacagePanel
 extends      DatacageTwinPanel {
 
@@ -122,11 +118,10 @@
     public Canvas create(DataList dataList) {
         GWT.log("createData()");
 
-        String filter = "minfo-heights-diff";
         Canvas widget = createWidget();
         Canvas submit = getNextButton();
         datacage = new DatacageWidget(
-            this.artifact, user, filter, "load-system:true", false);
+            this.artifact, user, "minfo_diff_panel", "load-system:true", false);
 
         Button plusBtn = new Button(MSG.datacage_add_pair());
         plusBtn.setAutoFit(true);

http://dive4elements.wald.intevation.org