input: Write a python function to download GLEAM ET data and save it as a TIFF file for a specified date range and geographic boundary.
  assert DownloadData('C:/file/to/path/', '2003-01-01', '2003-01-31', [-10, 10], [-20, 20], 1, False, 'daily') == True
  assert DownloadData('C:/file/to/path/', '2003-01-01', '2003-12-31', [-50, 50], [-180, 180], 1, 2, 'monthly') == True
output: def DownloadData(filepath, start_date, end_date, lat_range, lon_range, product, scale, frequency):
      import os
      import requests
      from osgeo import gdal
      import numpy as np
      from datetime import datetime, timedelta
  
      base_url = "https://www.gleam.eu/data"
  
      def generate_urls(start_date, end_date, frequency):
          start = datetime.strptime(start_date, '%Y-%m-%d')
          end = datetime.strptime(end_date, '%Y-%m-%d')
          urls = []
          while start <= end:
              date_str = start.strftime('%Y%m%d')
              url = f"{base_url}/{frequency}/ET_{date_str}.nc"
              urls.append(url)
              if frequency == 'daily':
                  start += timedelta(days=1)
              elif frequency == 'monthly':
                  start += timedelta(days=30)
          return urls
  
      def download_data(urls, filepath):
          for url in urls:
              local_filename = os.path.join(filepath, url.split('/')[-1])
              with requests.get(url, stream=True) as r:
                  r.raise_for_status()
                  with open(local_filename, 'wb') as f:
                      for chunk in r.iter_content(chunk_size=8192):
                          f.write(chunk)
          return True
  
      def convert_to_tiff(filepath):
          for nc_file in os.listdir(filepath):
              if nc_file.endswith(".nc"):
                  nc_file_path = os.path.join(filepath, nc_file)
                  dataset = gdal.Open(f"NETCDF:{nc_file_path}")
                  tiff_file_path = nc_file_path.replace(".nc", ".tiff")
                  gdal.Translate(tiff_file_path, dataset)
          return True
  
      urls = generate_urls(start_date, end_date, frequency)
      if download_data(urls, filepath):
          if convert_to_tiff(filepath):
              return True
      return False