Module s2_dl_mod

module s2_dl_mod

        ! Uses
    use s2_types_mod, only: s2_dp

        ! Subroutines and functions
    public subroutine s2_dl_beta_operator (dl, beta, l)
    private subroutine s2_dl_beta_operator_core (dl, beta, l)
    private subroutine s2_dl_beta_operator_fill (dl, l)

end module s2_dl_mod
Functionality to compute specified plane of the Wigner dl matrix used to perform rotations in harmonic space.

Author: D. J. Mortlock

Version: 0.1 Compiled in s2 library by JDM September 2005


Description of Subroutines and Functions

s2_dl_beta_operator

public subroutine s2_dl_beta_operator (dl, beta, l)
    real (kind=s2_dp), pointer, dimension (:, :) :: dl
    real (kind=s2_dp), intent(in) :: beta
    integer, intent(in) :: l
    ! Calls: s2_dl_beta_operator_core, s2_dl_beta_operator_fill
end subroutine s2_dl_beta_operator
Calculate the lth plane of a d-matrix using Turok & Bucher's operator-based method.

Variables:

Author: D. J. Mortlock

Version: 0.1 Compiled in s2 library by JDM September 2005

s2_dl_beta_operator_core

private subroutine s2_dl_beta_operator_core (dl, beta, l)
    real (kind=s2_dp), pointer, dimension (:, :) :: dl
    real (kind=s2_dp), intent(in) :: beta
    integer, intent(in) :: l
end subroutine s2_dl_beta_operator_core
Does the left quarter of the d-matrix. Beta is the angle of rotation, l is the plane of the matrix required and dl is the two dimensional array representing the lth plane of the matrix. This array must be already allocated on entry with dimensions given by the command allocate(dl(- lmax: lmax, - lmax: lmax)) where lmax >= l.

Variables:

Author: D. J. Mortlock

Version: 0.1 Compiled in s2 library by JDM September 2005

s2_dl_beta_operator_fill

private subroutine s2_dl_beta_operator_fill (dl, l)
    real (kind=s2_dp), pointer, dimension (:, :) :: dl
    integer, intent(in) :: l
end subroutine s2_dl_beta_operator_fill
Computes the three remaining (top, bottom and right) quarters of the d-matrix, given the left quarter.

Variables:

Author: D. J. Mortlock

Version: 0.1 Compiled in s2 library by JDM September 2005