code: def enforce_drop(self):
          
          ub = self.ubnd
          lb = self.lbnd
          drop = []
          for id in self.index:
              #mx = (ub - self.loc[id,:]).min()
              #mn = (lb - self.loc[id,:]).max()
              if (ub - self.loc[id,:]).min() < 0.0 or\
                              (lb - self.loc[id,:]).max() > 0.0:
                  drop.append(id)
          self.loc[drop,:] = np.NaN
          self.dropna(inplace=True)
docs: enforce parameter bounds on the ensemble by dropping
          violating realizations