code: def _download(self):
          
          # reproject GSSHA grid and get bounds
          min_x, max_x, min_y, max_y = self.gssha_grid.bounds(as_geographic=True)
          if self.era_download_data == 'era5':
              log.info("Downloading ERA5 data ...")
              download_era5_for_gssha(self.lsm_input_folder_path,
                                      self.download_start_datetime,
                                      self.download_end_datetime,
                                      leftlon=min_x-0.5,
                                      rightlon=max_x+0.5,
                                      toplat=max_y+0.5,
                                      bottomlat=min_y-0.5)
          else:
              log.info("Downloading ERA Interim data ...")
              download_interim_for_gssha(self.lsm_input_folder_path,
                                         self.download_start_datetime,
                                         self.download_end_datetime,
                                         leftlon=min_x-1,
                                         rightlon=max_x+1,
                                         toplat=max_y+1,
                                         bottomlat=min_y-1)
docs: download ERA5 data for GSSHA domain