module comb_csky_mod ! Uses use s2_types_mod use s2_error_mod use s2_sky_mod use s2_pl_mod use s2_cmb_mod use s2_wnoise_mod use comb_error_mod use comb_obj_mod ! Types public type comb_csky ! Interfaces public interface comb_csky_init ! Subroutines and functions private function comb_csky_init_mother (obj, nobj, amplitude, dilation, alpha, beta, gamma, cmb, wnoise, beam, lmax, mmax) result (csky) private function comb_csky_init_array (obj, cmb, wnoise) result (csky) public subroutine comb_csky_free (csky) private subroutine comb_csky_compute_sky_obj (csky) private subroutine comb_csky_compute_sky_full (csky) public subroutine comb_csky_write_param (csky, filename) public subroutine comb_csky_write_sky_obj (csky, filename, comment) public subroutine comb_csky_write_sky_full (csky, filename, comment) public subroutine comb_csky_write_sky_cmb (csky, filename, comment) public subroutine comb_csky_write_sky_wnoise (csky, filename, comment) public subroutine comb_csky_set_cmb (csky, cmb) public subroutine comb_csky_set_wnoise (csky, wnoise) public function comb_csky_get_init (csky) result (init) public function comb_csky_get_nobj (csky) result (nobj) public function comb_csky_get_nside (csky) result (nside) public function comb_csky_get_obj (csky, iobj) result (obj) public function comb_csky_get_sky_obj (csky) result (sky_obj) public function comb_csky_get_sky_full (csky) result (sky_full) public function comb_csky_get_cmb (csky) result (cmb) public function comb_csky_get_wnoise (csky) result (wnoise) public function comb_csky_get_cmb_status (csky) result (cmb_status) public function comb_csky_get_wnoise_status (csky) result (wnoise_status) end module comb_csky_modProvides funcitonality to support a COMB csky object. The csky object defines a full sky map consisting of embedded compact objects (COMB obj objects) and optional primodial cmb and noise realisations. Output maps may be produced contained the sum of all these components or each component map may also be written individually. An output parameter file may also be written to specify the compact object positions and other parameters, in addition to the cmb, beam and noise properties.
Author: J. D. McEwen (mcewen[AT]mrao.cam.ac.uk)
Version: 0.1 August 2004
public type comb_csky private logical :: init = .false. integer :: nobj = 0 integer :: nside = 0 type (comb_obj), allocatable, dimension (:) :: obj type (s2_sky) :: sky_obj type (s2_sky) :: sky_full type (s2_cmb) :: cmb type (s2_wnoise) :: wnoise logical :: cmb_status = .false. logical :: wnoise_status = .false. end type comb_csky
public interface comb_csky_init module procedure comb_csky_init_mother module procedure comb_csky_init_array end interface comb_csky_init
private function comb_csky_init_mother (obj, nobj, amplitude, dilation, alpha, beta, gamma, cmb, wnoise, beam, lmax, mmax) result (csky) type (comb_obj), intent(in) :: obj integer, intent(in) :: nobj real (kind=s2_sp), intent(in), dimension (:) :: amplitude real (kind=s2_sp), intent(in), dimension (:) :: dilation real (kind=s2_sp), intent(in), dimension (:) :: alpha real (kind=s2_sp), intent(in), dimension (:) :: beta real (kind=s2_sp), intent(in), dimension (:) :: gamma type (s2_cmb), optional, intent(in) :: cmb type (s2_wnoise), optional, intent(in) :: wnoise type (s2_pl), optional, intent(in) :: beam integer, optional, intent(in) :: lmax integer, optional, intent(in) :: mmax type (comb_csky) :: csky ! Calls: comb_csky_compute_sky_full, comb_csky_compute_sky_obj, comb_csky_set_cmb, comb_csky_set_wnoise, comb_error, comb_obj_compute_alm, comb_obj_conv, s2_error, s2_sky_free end function comb_csky_init_motherInitialise a csky from a mother obj and arrays of parameters specifying properties of each object to add to the obj array. Cmb and wnoise objects may also be optionally added.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_init_array
private function comb_csky_init_array (obj, cmb, wnoise) result (csky) type (comb_obj), intent(in), dimension (:) :: obj type (s2_cmb), optional, intent(in) :: cmb type (s2_wnoise), optional, intent(in) :: wnoise type (comb_csky) :: csky ! Calls: comb_csky_compute_sky_full, comb_csky_compute_sky_obj, comb_csky_set_cmb, comb_csky_set_wnoise, comb_error, s2_error, s2_sky_free end function comb_csky_init_arrayInitialise csky from an array of already defined objs. Cmb and wnoise objects may also be optionally added.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_free
public subroutine comb_csky_free (csky) type (comb_csky), intent(inout) :: csky ! Calls: comb_error, comb_obj_free, s2_cmb_free, s2_sky_free, s2_wnoise_free end subroutine comb_csky_freeFree all data associated with an initialised csky and reset all other attributes.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_compute_sky_obj
private subroutine comb_csky_compute_sky_obj (csky) type (comb_csky), intent(inout) :: csky ! Calls: comb_error, s2_sky_free end subroutine comb_csky_compute_sky_objCompute the full sky obj representation consisting of the sum of all individual objs contained in the csky obj array.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_compute_sky_full
private subroutine comb_csky_compute_sky_full (csky) type (comb_csky), intent(inout) :: csky ! Calls: comb_error, s2_sky_free end subroutine comb_csky_compute_sky_fullCompute full sky map consisting of the full sky obj representation and the cmb and noise realisation (if present).
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_write_param
public subroutine comb_csky_write_param (csky, filename) type (comb_csky), intent(in) :: csky character (len=*), intent(in) :: filename ! Calls: date_and_time end subroutine comb_csky_write_paramWrite text parameter file describing csky attributes. All compact object parameters are written (eg. alplitude, dilation and Euler angles), plus limited cmb and noise parameters).
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_write_sky_obj
public subroutine comb_csky_write_sky_obj (csky, filename, comment) type (comb_csky), intent(in) :: csky character (len=*), intent(in) :: filename character (len=*), optional, intent(in) :: comment ! Calls: comb_error, s2_sky_write_map_file end subroutine comb_csky_write_sky_objWrite csky compact object full sky representation to fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_write_sky_full
public subroutine comb_csky_write_sky_full (csky, filename, comment) type (comb_csky), intent(in) :: csky character (len=*), intent(in) :: filename character (len=*), optional, intent(in) :: comment ! Calls: comb_error, s2_sky_write_map_file end subroutine comb_csky_write_sky_fullWrite csky full sky representation consisting of all present components to fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_write_sky_cmb
public subroutine comb_csky_write_sky_cmb (csky, filename, comment) type (comb_csky), intent(in) :: csky character (len=*), intent(in) :: filename character (len=*), optional, intent(in) :: comment ! Calls: comb_error, s2_cmb_write_sky end subroutine comb_csky_write_sky_cmbWrite cmb sky map (if present) to fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_write_sky_wnoise
public subroutine comb_csky_write_sky_wnoise (csky, filename, comment) type (comb_csky), intent(in) :: csky character (len=*), intent(in) :: filename character (len=*), optional, intent(in) :: comment ! Calls: comb_error, s2_wnoise_write_sky_file end subroutine comb_csky_write_sky_wnoiseWrite wnoise sky map (if present) to fits file.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_set_cmb
public subroutine comb_csky_set_cmb (csky, cmb) type (comb_csky), intent(inout) :: csky type (s2_cmb), intent(in) :: cmb ! Calls: comb_csky_compute_sky_full, comb_error, s2_cmb_free end subroutine comb_csky_set_cmbSet the csky cmb object to that passed as an argument (actually create a copy of this cmb). The full sky csky map is then recomputed with the new cmb included.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_set_wnoise
public subroutine comb_csky_set_wnoise (csky, wnoise) type (comb_csky), intent(inout) :: csky type (s2_wnoise) :: wnoise ! Calls: comb_csky_compute_sky_full, comb_error, s2_wnoise_free end subroutine comb_csky_set_wnoiseSet the csky wnoise object to that passed as an argument (actually create a copy of this wnoise). The full sky csky map is then recomputed with the new wnoise included.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_init
public function comb_csky_get_init (csky) result (init) type (comb_csky), intent(in) :: csky logical :: init end function comb_csky_get_initGet init variable from the passed csky object.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_nobj
public function comb_csky_get_nobj (csky) result (nobj) type (comb_csky), intent(in) :: csky integer :: nobj ! Calls: s2_error end function comb_csky_get_nobjGet nobj variable from the passed csky object.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_nside
public function comb_csky_get_nside (csky) result (nside) type (comb_csky), intent(in) :: csky integer :: nside ! Calls: s2_error end function comb_csky_get_nsideGet nside variable from the passed csky object.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_obj
public function comb_csky_get_obj (csky, iobj) result (obj) type (comb_csky), intent(in) :: csky integer, intent(in) :: iobj type (comb_obj) :: obj ! Calls: s2_error end function comb_csky_get_objGet compact object variable at specified index from the passed csky object.
Notes:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_sky_obj
public function comb_csky_get_sky_obj (csky) result (sky_obj) type (comb_csky), intent(in) :: csky type (s2_sky) :: sky_obj ! Calls: s2_error end function comb_csky_get_sky_objGet sky_obj variable from the passed csky object.
Notes:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_sky_full
public function comb_csky_get_sky_full (csky) result (sky_full) type (comb_csky), intent(in) :: csky type (s2_sky) :: sky_full ! Calls: s2_error end function comb_csky_get_sky_fullGet sky_full variable from the passed csky object.
Notes:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_cmb
public function comb_csky_get_cmb (csky) result (cmb) type (comb_csky), intent(in) :: csky type (s2_cmb) :: cmb ! Calls: s2_error end function comb_csky_get_cmbGet cmb variable from the passed csky object.
Notes:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_wnoise
public function comb_csky_get_wnoise (csky) result (wnoise) type (comb_csky), intent(in) :: csky type (s2_wnoise) :: wnoise ! Calls: s2_error end function comb_csky_get_wnoiseGet wnoise variable from the passed csky object.
Notes:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_cmb_status
public function comb_csky_get_cmb_status (csky) result (cmb_status) type (comb_csky), intent(in) :: csky logical :: cmb_status ! Calls: s2_error end function comb_csky_get_cmb_statusGet cmb_status variable from the passed csky object.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004
comb_csky_get_wnoise_status
public function comb_csky_get_wnoise_status (csky) result (wnoise_status) type (comb_csky), intent(in) :: csky logical :: wnoise_status ! Calls: s2_error end function comb_csky_get_wnoise_statusGet wnoise_status variable from the passed csky object.
Variables:
Author: J. D. McEwen
Version: 0.1 August 2004