class_docstr: Handler for the regular band channels.
docstr: Replace saturation-related values with max reflectance.
  
  If the file handler was created with ``mask_saturated`` set to
  ``True`` then all invalid/fill values are set to NaN. If ``False``
  then the fill values 65528 and 65533 are set to the maximum valid
  value. These values correspond to "can't aggregate" and "saturation".
  
  Fill values:
  
  * 65535 Fill Value (includes reflective band data at night mode
    and completely missing L1A scans)
  * 65534 L1A DN is missing within a scan
  * 65533 Detector is saturated
  * 65532 Cannot compute zero point DN, e.g., SV is saturated
  * 65531 Detector is dead (see comments below)
  * 65530 RSB dn** below the minimum of the scaling range
  * 65529 TEB radiance or RSB dn exceeds the maximum of the scaling range
  * 65528 Aggregation algorithm failure
  * 65527 Rotation of Earth view Sector from nominal science collection position
  * 65526 Calibration coefficient b1 could not be computed
  * 65525 Subframe is dead
  * 65524 Both sides of the PCLW electronics on simultaneously
  * 65501 - 65523 (reserved for future use)
  * 65500 NAD closed upper limit
docstr_tok: ["Replace","saturation-related","values","with","max","reflectance",".","If","the","file","handler","was","created","with","``","mask_saturated","``","set","to","``","True","``","then","all","invalid\/fill","values","are","set","to","NaN",".","If","``","False","``","then","the","fill","values","65528","and","65533","are","set","to","the","maximum","valid","value",".","These","values","correspond","to","``","ca","n't","aggregate","''","and","``","saturation","''",".","Fill","values",":","*","65535","Fill","Value","(","includes","reflective","band","data","at","night","mode","and","completely","missing","L1A","scans",")","*","65534","L1A","DN","is","missing","within","a","scan","*","65533","Detector","is","saturated","*","65532","Can","not","compute","zero","point","DN",",","e.g.",",","SV","is","saturated","*","65531","Detector","is","dead","(","see","comments","below",")","*","65530","RSB","dn","*","*","below","the","minimum","of","the","scaling","range","*","65529","TEB","radiance","or","RSB","dn","exceeds","the","maximum","of","the","scaling","range","*","65528","Aggregation","algorithm","failure","*","65527","Rotation","of","Earth","view","Sector","from","nominal","science","collection","position","*","65526","Calibration","coefficient","b1","could","not","be","computed","*","65525","Subframe","is","dead","*","65524","Both","sides","of","the","PCLW","electronics","on","simultaneously","*","65501","-","65523","(","reserved","for","future","use",")","*","65500","NAD","closed","upper","limit"]
code: def _fill_saturated(self, array, valid_max):
      """Replace saturation-related values with max reflectance.
  
      If the file handler was created with ``mask_saturated`` set to
      ``True`` then all invalid/fill values are set to NaN. If ``False``
      then the fill values 65528 and 65533 are set to the maximum valid
      value. These values correspond to "can't aggregate" and "saturation".
  
      Fill values:
  
      * 65535 Fill Value (includes reflective band data at night mode
        and completely missing L1A scans)
      * 65534 L1A DN is missing within a scan
      * 65533 Detector is saturated
      * 65532 Cannot compute zero point DN, e.g., SV is saturated
      * 65531 Detector is dead (see comments below)
      * 65530 RSB dn** below the minimum of the scaling range
      * 65529 TEB radiance or RSB dn exceeds the maximum of the scaling range
      * 65528 Aggregation algorithm failure
      * 65527 Rotation of Earth view Sector from nominal science collection position
      * 65526 Calibration coefficient b1 could not be computed
      * 65525 Subframe is dead
      * 65524 Both sides of the PCLW electronics on simultaneously
      * 65501 - 65523 (reserved for future use)
      * 65500 NAD closed upper limit
  
      """
      return array.where((array != 65533) & (array != 65528), valid_max)
  
imports: import logging
  import numpy
  import xarray
  from satpy.readers.hdf4_utils import from_sds
  from satpy.readers.hdfeos_base import HDFEOSBaseFileReader, HDFEOSGeoReader
label_desc: Use image node_id 5 for calling the HDFEOSBandReader obj's underlying member method code with example usage: obj._fill_saturated(array, valid_max) and returns: array