anchor.diff:  !        * all timesteps in one file
   !      * netcdf / hdf5 files
   !
  +!    TODO: for HDF support:
  +!     scan_hdf
  +!     derived types (if no qvpert, use qv-q00 from basestate)
   !==========================================================================!
   
   
  
positive.code: 
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
            open_cm1 = self%scan_hdf(hdfmetadatatime)
    integer function scan_hdf(self, hdfmetatime)
      implicit none
      class(cm1)          :: self
      integer, intent(in) :: hdfmetatime
    end function scan_hdf
  
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  
negative.code: 
           procedure, pass(self) :: cm1_set_nodes
           procedure, pass(self) :: read_ctl
           procedure, pass(self) :: scan_hdf
           procedure, pass(self) :: read3DXYSlice
           procedure, pass(self) :: check_open
           procedure, pass(self) :: check_mult
  