code: @Override
      public void geoSewer() throws Exception {
          if (!foundMaxrainTime) {
              evaluateDischarge(lastTimeDischarge, lastTimeFillDegree, tpMaxCalibration);
          } else {
              /*
               *  start to evaluate the discharge from 15 minutes,evaluate the nearsted value to 15 minutes.
               */
              int minTime = (int) ModelsEngine.approximate2Multiple(INITIAL_TIME, dt);
              double qMax = 0;
              for( int i = minTime; i < tpMaxCalibration; i = i + dt ) {
                  tpMax = i;
                  double[][] timeDischarge = createMatrix();
                  double[][] timeFillDegree = createMatrix();
                  double q = evaluateDischarge(timeDischarge, timeFillDegree, i);
                  if (q > qMax) {
                      qMax = q;
                      lastTimeDischarge = timeDischarge;
                      lastTimeFillDegree = timeFillDegree;
                  } else if (q < qMax) {
                      break;
                  }
                  if (isFill) {
                      break;
                  }
              }
  
          }
          getNetData();
  
      }
docs: Estimate the discharge for each time and for each pipes.
  
  <p>
  It can work with a single rain time step (if there is an actual rain) or search the maximum rain time, if the rain is unknown and
  the rain data are builtthroghout the rain possibility curve.
  </p>
  <p>
  It work throgout 2 loop:
  <ol>
  *
  <li>The first on the head pipes.
  <li>The second on the pipes which are internal.
  
  </ol>
  </p>