module s2dw_fileio_mod
! Uses
use s2dw_types_mod
use s2dw_error_mod
use s2dw_core_mod
! Interfaces
public interface s2dw_fileio_matlab_wav_write
public interface s2dw_fileio_matlab_wav_read
public interface s2dw_fileio_fits_wav_write
public interface s2dw_fileio_fits_wav_read
! Subroutines and functions
private subroutine s2dw_fileio_matlab_wav_write_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
private subroutine s2dw_fileio_matlab_wav_write_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
private subroutine s2dw_fileio_matlab_wav_read_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename)
private subroutine s2dw_fileio_matlab_wav_read_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename)
private subroutine s2dw_fileio_fits_wav_write_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
private subroutine s2dw_fileio_fits_wav_write_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
private subroutine s2dw_fileio_fits_wav_read_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename)
private subroutine s2dw_fileio_fits_wav_read_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename)
private subroutine s2dw_fileio_fits_error_check (status, halt)
private subroutine s2dw_fileio_fits_exists (filename, status, exists)
private subroutine s2dw_fileio_fits_del (filename, status)
end module s2dw_fileio_mod
Functionality to read and write S2DW formatted fits and matlab files
containing wavelet and scaling coefficients. Both statically and
dynamically allocated wavelet coefficients may be written and read from
files (both data types have the same fits file format).
Author: J. D. McEwen (mcewen@mrao.cam.ac.uk)
Version: 0.1 November 2007
public interface s2dw_fileio_matlab_wav_write
module procedure s2dw_fileio_matlab_wav_write_static
module procedure s2dw_fileio_matlab_wav_write_dynamic
end interface s2dw_fileio_matlab_wav_write
public interface s2dw_fileio_matlab_wav_read
module procedure s2dw_fileio_matlab_wav_read_static
module procedure s2dw_fileio_matlab_wav_read_dynamic
end interface s2dw_fileio_matlab_wav_read
public interface s2dw_fileio_fits_wav_write
module procedure s2dw_fileio_fits_wav_write_static
module procedure s2dw_fileio_fits_wav_write_dynamic
end interface s2dw_fileio_fits_wav_write
public interface s2dw_fileio_fits_wav_read
module procedure s2dw_fileio_fits_wav_read_static
module procedure s2dw_fileio_fits_wav_read_dynamic
end interface s2dw_fileio_fits_wav_read
private subroutine s2dw_fileio_matlab_wav_write_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
real (kind=dp), intent(in), dimension (0:J, 0:2*B-2, 0:2*B-1, 0:N-1) :: wav
complex (kind=dpc), intent(in), dimension (0:bl_scoeff-1, 0:bl_scoeff-1) :: scoeff
integer, intent(in) :: J
integer, intent(in) :: B
integer, intent(in) :: N
integer, intent(in) :: bl_scoeff
real (kind=dp), intent(in) :: alpha
character (len=*), intent(in) :: filename
character (len=*), optional, intent(in) :: comment
end subroutine s2dw_fileio_matlab_wav_write_static
Writes (statically allocated) wavelet and scaling coefficients to an
output S2DW formatted .m matlab file and corresponding .dat data files.
Variables:
Author: J. D. McEwen
Version: 0.1 - May 2008
s2dw_fileio_matlab_wav_write_dynamic
private subroutine s2dw_fileio_matlab_wav_write_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
type (s2dw_wav_abg), intent(in), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), intent(in), dimension (0:bl_scoeff-1, 0:bl_scoeff-1) :: scoeff
integer, intent(in) :: J
integer, intent(in) :: B
integer, intent(in) :: N
integer, intent(in) :: bl_scoeff
real (kind=dp), intent(in) :: alpha
character (len=*), intent(in) :: filename
character (len=*), optional, intent(in) :: comment
end subroutine s2dw_fileio_matlab_wav_write_dynamic
Writes (dynamically allocated) wavelet and scaling coefficients to an
output S2DW formatted .m matlab file ad corresponding data .dat file.
Variables:
Author: J. D. McEwen
Version: 0.1 - June 2008
s2dw_fileio_matlab_wav_read_static
private subroutine s2dw_fileio_matlab_wav_read_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename)
real (kind=dp), allocatable, intent(out), dimension (:,:,:,:) :: wav
complex (kind=dpc), allocatable, intent(out), dimension (:,:) :: scoeff
integer, intent(out) :: J
integer, intent(out) :: B
integer, intent(out) :: N
integer, intent(out) :: bl_scoeff
real (kind=dp), intent(out) :: alpha
character (len=*), intent(in) :: filename
! Calls: s2dw_error
end subroutine s2dw_fileio_matlab_wav_read_static
Reads (statically allocated) wavelet and scaling coefficients from a
S2DW formatted .m matlab file and corresponding .dat data files.
Notes:
Author: J. D. McEwen
Version: 0.1 - May 2008
s2dw_fileio_matlab_wav_read_dynamic
private subroutine s2dw_fileio_matlab_wav_read_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename)
type (s2dw_wav_abg), intent(out), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), allocatable, intent(out), dimension (:,:) :: scoeff
integer, intent(out) :: J
integer, intent(out) :: B
integer, intent(out) :: N
integer, intent(out) :: bl_scoeff
real (kind=dp), intent(out) :: alpha
character (len=*), intent(in) :: filename
! Calls: s2dw_error
end subroutine s2dw_fileio_matlab_wav_read_dynamic
Reads (dynamically allocated) wavelet and scaling coefficients from a
S2DW formatted .m matlab file and corresponding .dat data files.
Notes:
Author: J. D. McEwen
Version: 0.1 - May 2008
s2dw_fileio_fits_wav_write_static
private subroutine s2dw_fileio_fits_wav_write_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
real (kind=dp), intent(in), dimension (0:J, 0:2*B-2, 0:2*B-1, 0:N-1) :: wav
complex (kind=dpc), intent(in), dimension (0:bl_scoeff-1, 0:bl_scoeff-1) :: scoeff
integer, intent(in) :: J
integer, intent(in) :: B
integer, intent(in) :: N
integer, intent(in) :: bl_scoeff
real (kind=dp), intent(in) :: alpha
character (len=*), intent(in) :: filename
character (len=*), optional, intent(in) :: comment
! Calls: ftclos, ftfiou, ftgiou, ftiimg, ftinit, ftp2dd, ftp3dd, ftpcom, ftpdat, ftphpr, ftpkyd, ftpkyj, ftpkys, s2dw_error, s2dw_fileio_fits_error_check, s2dw_fileio_fits_exists
end subroutine s2dw_fileio_fits_wav_write_static
Writes (statically allocated) wavelet and scaling coefficients to an
output S2DW formatted fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 - November 2007
s2dw_fileio_fits_wav_write_dynamic
private subroutine s2dw_fileio_fits_wav_write_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename, comment)
type (s2dw_wav_abg), intent(in), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), intent(in), dimension (0:bl_scoeff-1, 0:bl_scoeff-1) :: scoeff
integer, intent(in) :: J
integer, intent(in) :: B
integer, intent(in) :: N
integer, intent(in) :: bl_scoeff
real (kind=dp), intent(in) :: alpha
character (len=*), intent(in) :: filename
character (len=*), optional, intent(in) :: comment
! Calls: ftclos, ftfiou, ftgiou, ftiimg, ftinit, ftp2dd, ftp3dd, ftpcom, ftpdat, ftphpr, ftpkyd, ftpkyj, ftpkys, s2dw_error, s2dw_fileio_fits_error_check, s2dw_fileio_fits_exists
end subroutine s2dw_fileio_fits_wav_write_dynamic
Writes (dynamically allocated) wavelet and scaling coefficients to an output S2DW formatted
fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 - February 2008
s2dw_fileio_fits_wav_read_static
private subroutine s2dw_fileio_fits_wav_read_static (wav, scoeff, J, B, N, bl_scoeff, alpha, filename)
real (kind=dp), allocatable, intent(out), dimension (:,:,:,:) :: wav
complex (kind=dpc), allocatable, intent(out), dimension (:,:) :: scoeff
integer, intent(out) :: J
integer, intent(out) :: B
integer, intent(out) :: N
integer, intent(out) :: bl_scoeff
real (kind=dp), intent(out) :: alpha
character (len=*), intent(in) :: filename
! Calls: ftclos, ftfiou, ftg2dd, ftg3dd, ftgiou, ftgkyd, ftgkyj, ftmahd, ftopen, ftthdu, s2dw_error, s2dw_fileio_fits_error_check, s2dw_fileio_fits_exists
end subroutine s2dw_fileio_fits_wav_read_static
Reads (statically allocated) wavelet and scaling coefficients from a
S2DW formatted fits file.
Notes:
Author: J. D. McEwen
Version: 0.1 - November 2007
s2dw_fileio_fits_wav_read_dynamic
private subroutine s2dw_fileio_fits_wav_read_dynamic (wavdyn, scoeff, J, B, N, bl_scoeff, alpha, filename)
type (s2dw_wav_abg), intent(out), allocatable, dimension (:) :: wavdyn
complex (kind=dpc), allocatable, intent(out), dimension (:,:) :: scoeff
integer, intent(out) :: J
integer, intent(out) :: B
integer, intent(out) :: N
integer, intent(out) :: bl_scoeff
real (kind=dp), intent(out) :: alpha
character (len=*), intent(in) :: filename
! Calls: ftclos, ftfiou, ftg2dd, ftg3dd, ftgiou, ftgkyd, ftgkyj, ftmahd, ftopen, ftthdu, s2dw_error, s2dw_fileio_fits_error_check, s2dw_fileio_fits_exists
end subroutine s2dw_fileio_fits_wav_read_dynamic
Reads (dynamically allocated) wavelet and scaling coefficients from a
S2DW formatted fits file.
Notes:
Author: J. D. McEwen
Version: 0.1 - February 2008
s2dw_fileio_fits_error_check
private subroutine s2dw_fileio_fits_error_check (status, halt)
integer, intent(inout) :: status
logical, intent(in) :: halt
! Calls: ftgerr, ftgmsg
end subroutine s2dw_fileio_fits_error_check
Checks if a fits error has occured and print error message. Halt
program execution if halt flag is set.
Variables:
Author: J. D. McEwen
Version: 0.1 - November 2007
s2dw_fileio_fits_exists
private subroutine s2dw_fileio_fits_exists (filename, status, exists)
character (len=*), intent(in) :: filename
integer, intent(inout) :: status
logical, intent(out) :: exists
! Calls: ftclos, ftfiou, ftgiou, ftopen, s2dw_fileio_fits_error_check
end subroutine s2dw_fileio_fits_exists
Checks if a fits file exists.
Variables:
Author: J. D. McEwen
Version: 0.1 - November 2007
s2dw_fileio_fits_del
private subroutine s2dw_fileio_fits_del (filename, status)
character (len=*), intent(in) :: filename
integer, intent(inout) :: status
! Calls: ftcmsg, ftdelt, ftfiou, ftgiou, ftopen
end subroutine s2dw_fileio_fits_del
Deletes a fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 - November 2007