code: public double calculateSubsuperficialDischarge( double subSuperficialDischarge,
              double saturatedAreaPercentage, long timeInMillis ) {
          distributeIncomingSubSuperficialDischarge(subSuperficialDischarge, saturatedAreaPercentage,
                  timeInMillis);
          return subSuperficialDischargeArray[indexFromTimeInMillis(timeInMillis)];
      }
docs: Calculates the current subsuperficial discharge.
  
  <p>
  The discharge takes into account the distribution
  of all the distributed discharge contributions
  in the prior timesteps.
  </p>
  
  @param subSuperficialDischarge the non distributed discharge value.
  @param saturatedAreaPercentage the percentage of saturated area.
  @param timeInMillis the current timestep.
  @return the calculated discharge.