docs: def getAsKmlGridAnimation(self, session, projectFile=None, path=None, documentName=None, colorRamp=None, alpha=1.0, noDataValue=0.0):
          """
          Retrieve the WMS dataset as a gridded time stamped KML string.
  
          Args:
              session (:mod:`sqlalchemy.orm.session.Session`): SQLAlchemy session object bound to PostGIS enabled database.
              projectFile(:class:`gsshapy.orm.ProjectFile`): Project file object for the GSSHA project to which the WMS dataset belongs.
              path (str, optional): Path to file where KML file will be written. Defaults to None.
              documentName (str, optional): Name of the KML document. This will be the name that appears in the legend.
                  Defaults to 'Stream Network'.
              colorRamp (:mod:`mapkit.ColorRampGenerator.ColorRampEnum` or dict, optional): Use ColorRampEnum to select a
                  default color ramp or a dictionary with keys 'colors' and 'interpolatedPoints' to specify a custom color
                  ramp. The 'colors' key must be a list of RGB integer tuples (e.g.: (255, 0, 0)) and the
                  'interpolatedPoints' must be an integer representing the number of points to interpolate between each
                  color given in the colors list.
              alpha (float, optional): Set transparency of visualization. Value between 0.0 and 1.0 where 1.0 is 100%
                  opaque and 0.0 is 100% transparent. Defaults to 1.0.
              noDataValue (float, optional): The value to treat as no data when generating visualizations of rasters.
                  Defaults to 0.0.
  
          Returns:
              str: KML string
          """
          # Prepare rasters
          timeStampedRasters = self._assembleRasterParams(projectFile, self.rasters)
  
          # Create a raster converter
          converter = RasterConverter(sqlAlchemyEngineOrSession=session)
  
          # Configure color ramp
          if isinstance(colorRamp, dict):
              converter.setCustomColorRamp(colorRamp['colors'], colorRamp['interpolatedPoints'])
          else:
              converter.setDefaultColorRamp(colorRamp)
  
          if documentName is None:
              documentName = self.fileExtension
  
          kmlString = converter.getAsKmlGridAnimation(tableName=WMSDatasetRaster.tableName,
                                                      timeStampedRasters=timeStampedRasters,
                                                      rasterIdFieldName='id',
                                                      rasterFieldName='raster',
                                                      documentName=documentName,
                                                      alpha=alpha,
                                                      noDataValue=noDataValue)
  
          if path:
              with open(path, 'w') as f:
                  f.write(kmlString)
  
          return kmlString