IXFrebin xy dataset 2d

From LIBISIS
Jump to navigation Jump to search

This function will rebin an IXTdataset_2d object along both the x and y dimensions according to the supplied optional arguments to give an IXTdataset_2d object result. The four possible optional arguments are defined as follows:


  • Xref is an IXTdataset_2d object, if it is supplied then the dataset_1d object will be rebinned along the x dimension according to the binning of Xref
  • Xdesc is an array of bin boundaries and intervals along the x dimension with a simple and more general form.
    • basic form (xlo,dx,xhi)
      • dx > 0 constant bin width = dx
      • dx < 0 logarithmic binning x(m+1) = x(m) *(1+|dx|)
      • dx = 0 retain original bin boundaries
    • general form (x_1,dx_1,x_2,dx_2,...,x_n,dx_n,x_n+1)
      • dx_i > 0 constant bin width = dx_i
      • dx_i < 0 logarithmic binning x(m+1) = x(m) *(1+|dx_i|)
      • dx_i = 0 retain original bin boundaries
  • Yref is an IXTdataset_2dobject, if it is supplied then the dataset_2d object will be rebinned along the y dimension according to the binning of Yref
  • Ydesc is an array of bin boundaries and intervals along the y dimension with a simple and more general form.
    • basic form (ylo,dy,yhi)
      • dy > 0 constant bin width = dy
      • dy < 0 logarithmic binning y(m+1) = y(m) *(1+|dy|)
      • dy = 0 retain original bin boundaries
    • general form (y_1,dy_1,y_2,dy_2,...,y_n,dy_n,y_n+1)
      • dy_i > 0 constant bin width = dy_i
      • dy_i < 0 logarithmic binning y(m+1) = y(m) *(1+|dy_i|)
      • dy_i = 0 retain original bin boundaries


F90 syntax

use IXMdataset_2d

type(IXTdataset_2d):: input_d2d, result_d2d
type(IXTstatus)::status
!optional arguments
type(IXTdataset_2d):: Xref,Yref
real(dp)::Xdesc(:),Ydesc(:)
:
:
! there are 4 different permutations for the calling of IXFrebin_xy_dataset_2d. Keywords must be used each time
! since all the arguments are optional
call IXFrebin_xy_dataset_2d(wres,status,w1,Xdesc=Xdesc,Ydesc=Ydesc)
call IXFrebin_xy_dataset_2d(wres,status,w1,Xdesc=Xdesc,Yref=Yref)
call IXFrebin_xy_dataset_2d(wres,status,w1,Xref=Xref,Ydesc=Ydesc)
call IXFrebin_xy_dataset_2d(wres,status,w1,Xref=Xref,Yref=Yref)