docs: def lsm_data_to_arc_ascii(self, data_var_map_array,
                                      main_output_folder=""):
          """Writes extracted data to Arc ASCII file format into folder
          to be read in by GSSHA. Also generates the HMET_ASCII card file
          for GSSHA in the folder named 'hmet_file_list.txt'.
  
          .. warning:: For GSSHA 6 Versions, for GSSHA 7 or greater, use lsm_data_to_subset_netcdf.
  
          .. note::
              GSSHA CARDS:
                  * HMET_ASCII pointing to the hmet_file_list.txt
                  * LONG_TERM (see: http://www.gsshawiki.com/Long-term_Simulations:Global_parameters)
  
          Parameters:
              data_var_map_array(list): Array to map the variables in the LSM file to the
                                        matching required GSSHA data.
              main_output_folder(Optional[str]): This is the path to place the generated ASCII files.
                                          If not included, it defaults to
                                          os.path.join(self.gssha_project_folder, "hmet_ascii_data").
  
          GRIDtoGSSHA Example:
  
          .. code:: python
  
              from gsshapy.grid import GRIDtoGSSHA
  
              #STEP 1: Initialize class
              g2g = GRIDtoGSSHA(gssha_project_folder='/path/to/gssha_project',
                                gssha_project_file_name='gssha_project.prj',
                                lsm_input_folder_path='/path/to/wrf-data',
                                lsm_search_card='*.nc',
                                lsm_lat_var='XLAT',
                                lsm_lon_var='XLONG',
                                lsm_time_var='Times',
                                lsm_lat_dim='south_north',
                                lsm_lon_dim='west_east',
                                lsm_time_dim='Time',
                                )
  
              #STEP 2: Generate ASCII DATA
  
              #SEE: http://www.meteo.unican.es/wiki/cordexwrf/OutputVariables
  
              #EXAMPLE DATA ARRAY 1: WRF GRID DATA BASED
              data_var_map_array = [
                                    ['precipitation_acc', ['RAINC', 'RAINNC']],
                                    ['pressure', 'PSFC'],
                                    ['relative_humidity', ['Q2', 'PSFC', 'T2']], #MUST BE IN ORDER: ['SPECIFIC HUMIDITY', 'PRESSURE', 'TEMPERATURE']
                                    ['wind_speed', ['U10', 'V10']], #['U_VELOCITY', 'V_VELOCITY']
                                    ['direct_radiation', ['SWDOWN', 'DIFFUSE_FRAC']], #MUST BE IN ORDER: ['GLOBAL RADIATION', 'DIFFUSIVE FRACTION']
                                    ['diffusive_radiation', ['SWDOWN', 'DIFFUSE_FRAC']], #MUST BE IN ORDER: ['GLOBAL RADIATION', 'DIFFUSIVE FRACTION']
                                    ['temperature', 'T2'],
                                    ['cloud_cover' , 'CLDFRA'], #'CLOUD_FRACTION'
                                   ]
  
              g2g.lsm_data_to_arc_ascii(data_var_map_array)
  
          HRRRtoGSSHA Example:
  
          .. code:: python
  
              from gsshapy.grid import HRRRtoGSSHA
  
              #STEP 1: Initialize class
              h2g = HRRRtoGSSHA(
                                #YOUR INIT PARAMETERS HERE
                               )
  
              #STEP 2: Generate ASCII DATA
  
              #EXAMPLE DATA ARRAY 1: HRRR GRID DATA BASED
              data_var_map_array = [
                                    ['precipitation_rate', 'prate'],
                                    ['pressure', 'sp'],
                                    ['relative_humidity', '2r'],
                                    ['wind_speed', ['10u', '10v']],
                                    ['direct_radiation_cc', ['dswrf', 'tcc']],
                                    ['diffusive_radiation_cc', ['dswrf', 'tcc']],
                                    ['temperature', 't'],
                                    ['cloud_cover_pc' , 'tcc'],
                                   ]
  
              h2g.lsm_data_to_arc_ascii(data_var_map_array)
  
          """
          self._check_lsm_input(data_var_map_array)
  
          if not main_output_folder:
              main_output_folder = path.join(self.gssha_project_folder, "hmet_ascii_data")
  
          try:
              mkdir(main_output_folder)
          except OSError:
              pass
  
          log.info("Outputting HMET data to {0}".format(main_output_folder))
  
          #PART 2: DATA
          for data_var_map in data_var_map_array:
              gssha_data_var, lsm_data_var = data_var_map
              gssha_data_hmet_name = self.netcdf_attributes[gssha_data_var]['hmet_name']
              gssha_data_var_name = self.netcdf_attributes[gssha_data_var]['gssha_name']
  
              self._load_converted_gssha_data_from_lsm(gssha_data_var, lsm_data_var, 'ascii')
              self._convert_data_to_hourly(gssha_data_var_name)
              self.data = self.data.lsm.to_projection(gssha_data_var_name,
                                                      projection=self.gssha_grid.projection)
  
              for time_idx in range(self.data.dims['time']):
                  arr_grid = ArrayGrid(in_array=self.data[gssha_data_var_name][time_idx].values,
                                       wkt_projection=self.data.lsm.projection.ExportToWkt(),
                                       geotransform=self.data.lsm.geotransform,
                                       nodata_value=-9999)
                  date_str = self._time_to_string(self.data.lsm.datetime[time_idx], "%Y%m%d%H")
                  ascii_file_path = path.join(main_output_folder, "{0}_{1}.asc".format(date_str, gssha_data_hmet_name))
                  arr_grid.to_arc_ascii(ascii_file_path)
  
          #PART 3: HMET_ASCII card input file with ASCII file list
          hmet_card_file_path = path.join(main_output_folder, 'hmet_file_list.txt')
          self._write_hmet_card_file(hmet_card_file_path, main_output_folder)