def prepare_hmet_lsm(self, lsm_data_var_map_array,
                         hmet_ascii_output_folder=None,
                         netcdf_file_path=None):
        """
        Prepares HMET data for GSSHA simulation from land surface model data.

        Parameters:
            lsm_data_var_map_array(str): Array with connections for LSM output and GSSHA input. See: :func:`~gsshapy.grid.GRIDtoGSSHA.`
            hmet_ascii_output_folder(Optional[str]): Path to diretory to output HMET ASCII files. Mutually exclusice with netcdf_file_path. Default is None.
            netcdf_file_path(Optional[str]): If you want the HMET data output as a NetCDF4 file for input to GSSHA. Mutually exclusice with hmet_ascii_output_folder. Default is None.
        """
        if self.l2g is None:
            raise ValueError("LSM converter not loaded ...")

        with tmp_chdir(self.project_manager.project_directory):
            # GSSHA simulation does not work after HMET data is finished
            self._update_simulation_end_from_lsm()

            # HMET CARDS
            if netcdf_file_path is not None:
                self.l2g.lsm_data_to_subset_netcdf(netcdf_file_path, lsm_data_var_map_array)
                self._update_card("HMET_NETCDF", netcdf_file_path, True)
                self.project_manager.deleteCard('HMET_ASCII', self.db_session)
            else:
                if "{0}" in hmet_ascii_output_folder and "{1}" in hmet_ascii_output_folder:
                    hmet_ascii_output_folder = hmet_ascii_output_folder.format(self.simulation_start.strftime("%Y%m%d%H%M"),
                                                                               self.simulation_end.strftime("%Y%m%d%H%M"))
                self.l2g.lsm_data_to_arc_ascii(lsm_data_var_map_array,
                                               main_output_folder=os.path.join(self.gssha_directory,
                                                                          hmet_ascii_output_folder))
                self._update_card("HMET_ASCII", os.path.join(hmet_ascii_output_folder, 'hmet_file_list.txt'), True)
                self.project_manager.deleteCard('HMET_NETCDF', self.db_session)

            # UPDATE GMT CARD
            self._update_gmt()
Prepares HMET data for GSSHA simulation from land surface model data.

        Parameters:
            lsm_data_var_map_array(str): Array with connections for LSM output and GSSHA input. See: :func:`~gsshapy.grid.GRIDtoGSSHA.`
            hmet_ascii_output_folder(Optional[str]): Path to diretory to output HMET ASCII files. Mutually exclusice with netcdf_file_path. Default is None.
            netcdf_file_path(Optional[str]): If you want the HMET data output as a NetCDF4 file for input to GSSHA. Mutually exclusice with hmet_ascii_output_folder. Default is None.