class_docstr: Precipitation clouds compositor.
class_docstr_tok: ["Precipitation","clouds","compositor","."]
docstr: Make an RGB image out of the three probability categories of the NWCSAF precip product.
docstr_tok: ["Make","an","RGB","image","out","of","the","three","probability","categories","of","the","NWCSAF","precip","product","."]
code: def __call__(self, projectables, *args, **kwargs):
      """Make an RGB image out of the three probability categories of the NWCSAF precip product."""
      projectables = self.match_data_arrays(projectables)
      light = projectables[0]
      moderate = projectables[1]
      intense = projectables[2]
      status_flag = projectables[3]
  
      if np.bitwise_and(status_flag, 4).any():
          # AMSU is used
          maxs1 = 70
          maxs2 = 70
          maxs3 = 100
      else:
          # avhrr only
          maxs1 = 30
          maxs2 = 50
          maxs3 = 40
  
      scalef3 = 1.0 / maxs3 - 1 / 255.0
      scalef2 = 1.0 / maxs2 - 1 / 255.0
      scalef1 = 1.0 / maxs1 - 1 / 255.0
  
      p1data = (light * scalef1).where(light != 0)
      p1data = p1data.where(light != light.attrs["_FillValue"])
      p1data.attrs = light.attrs
      data = moderate * scalef2
      p2data = data.where(moderate != 0)
      p2data = p2data.where(moderate != moderate.attrs["_FillValue"])
      p2data.attrs = moderate.attrs
      data = intense * scalef3
      p3data = data.where(intense != 0)
      p3data = p3data.where(intense != intense.attrs["_FillValue"])
      p3data.attrs = intense.attrs
  
      res = super(PrecipCloudsRGB, self).__call__(
          (p3data, p2data, p1data), *args, **kwargs
      )
      return res
  
file_path: satpy/satpy/composites/cloud_products.py
imports: import numpy
  from satpy.composites import GenericCompositor, SingleBandCompositor
label_desc: Use image node_id 1 for calling the PrecipCloudsRGB obj's underlying member method code with example usage: obj.__call__(projectables) and returns: res