code: def get_data_range(self, name):
          
          mini, maxi = np.inf, -np.inf
          for i in range(self.n_blocks):
              data = self[i]
              if data is None:
                  continue
              # get the scalar if availble
              arr = get_scalar(data, name)
              if arr is None:
                  continue
              tmi, tma = np.nanmin(arr), np.nanmax(arr)
              if tmi < mini:
                  mini = tmi
              if tma > maxi:
                  maxi = tma
          return mini, maxi
docs: Gets the min/max of a scalar given its name across all blocks