40    REAL, 
DIMENSION(:,:,:), 
POINTER :: &
 
   44    REAL, 
DIMENSION(:,:,:,:), 
POINTER :: &
 
   66    print *,
"DEBUG INFO in marray_cellscalar::CreateMArray_cellscalar: creating new cellscalar" 
   69    IF (new_cs%Init(16)) 
return  
   71    print *,
"ERROR in marray_cellscalar::CreateMArray: cellscalar initialization failed" 
   83    print *,
"DEBUG INFO in marray_cellscalar::AssignPointers: assigning pointers" 
   85    success = this%marray_base%AssignPointers()
 
   88      this%center  => this%RemapBounds(this%data4d(:,:,:,1))
 
   89      this%bcenter => this%RemapBounds(this%data4d(:,:,:,2))
 
   90      this%faces   => this%RemapBounds(this%data4d(:,:,:,3:8))
 
   91      this%corners => this%RemapBounds(this%data4d(:,:,:,9:16))
 
   94      print *,
"ERROR in marray_cellscalar::AssignPointers: pointer assignment failed" 
  104    LOGICAL, 
OPTIONAL :: called_from_finalize
 
  107    print *,
"DEBUG INFO in marray_cellscalar::Destroy: nullify pointers" 
  109    NULLIFY(this%center,this%bcenter,this%faces,this%corners)
 
  111    IF (
PRESENT(called_from_finalize)) 
THEN 
  112       IF (called_from_finalize) 
RETURN 
  114    CALL this%marray_base%Destroy()
 
  124    print *,
"DEBUG INFO in marray_cellscalar::Finalize called" 
  126    CALL this%Destroy(.true.)
 
base class for mesh arrays
 
logical function assignpointers(this)
assign pointers of different shapes to the 1D data
 
subroutine finalize(this)
 
subroutine destroy(this, called_from_finalize)
basic destructor of mesh arrays - this is called automatically if deallocate is invoked
 
derived mesh array class for scalar cell data
 
type(marray_cellscalar) function createmarray_cellscalar()