aovper Module

State-of-art routines for period search in unevenly sampled time series. Package contains routines for phase folding and binning, Fourier series fit power spectrum and search of planetary transits, for weighted and unweighted observations.

Calling:
Demo calling example is contained in AovDrv routine in this file. Because of numerical considerations times of observations need to be shifted by subtraction of EPOCH time so that they span 0. This is not done within aovperroutines to enable the user use of one value of EPOCH for independent runs.
All routines come in two flavours: for weighted and unweighted observations. Their calling sequences are uniform, though depending on routine some parameters are ignored.
CHAR sptype - determines type of frequency spectrum returned from routine; for RAW, AOV, MODEL, RESID the spectrum obeys: none, F, beta and another beta probability distributions
INT no - number of observations
TIMES t(No) - times of observations
FLOAT v(no) - values of observations
FLOAT w(no) - weights of observations
INT npar - input number of parameters of mathematical model in use;
INT ncov - input number of different phase origins employed to smooth effects of time discretization
SPEC_T spec - on input contains spectrum array th(no) and parameters of its frequency grid nfr, fr0, frs, where freq=ifr*frs+fr0, ifr=0,...,nfr-1; on output th contains resultant frequency spectrum.

Methods:
The Aov package contains routines for period search and planetary transit search by phase folding and binning of light curves and/or by multi-harmonic Fourier series fit. For a particular set up these routines reproduce popular box-least squares and generalised Lomb Scargle algorithm, ableit in a more efficient implementations involving sub bins or orthogonal projections.

The period routines split into two groups: (i) AOV/TR & AOVMH calculate quadratic norm of a fitted model. As such their results obey Parceval theorem. Depending on SPTYPE parameter the result spectrum may be converted to classical statistics: either aov (Fisher F) spectrum or the corresponding beta statistics spectra of normalized 'model power' or 'residual chi2' flavour.
(i.A) AOV/TR: Depending on sign of npar: for npar>0 aov/tr routine fits folded light curve with a histogram of npar bins, for npar<0 aov/tr routine fits light curve with just two phase bins: in- and out-of suspect transit. The transit width is fixed by npar while its position is fine-tuned depending on ncov. (Reference: A.Schwarzenberg-Czerny, 1989, MNRAS 241, 153; A.Schwarzenberg-Czerny, & J.-Ph. Beaulieu, 2006, MNRAS 365, 165.
(i.B) AOVMH fits Fourier series of npar terms by orthogonal projection on Szego polynomials. Reference: A.Schwarzenberg-Czerny, 1996, ApJ 460L, 107. In particular for npar=3 AOVMH returns Generalised Lomb-Scargle spectrum of Ferraz-Mello, 1981 and Zechmeister & Kurster, 2009.
(ii) The other two routines, PWSP & PWSPW, return squared amplitude of a fitted sinusoid. The underlying algorithms differ from each other even for unary weights. For uneven sampling the result power spectra obey no Parceval theorem hence power spectra obey no classical probability distribution. Provided all input values are 1 PWSP returns window function (PWSPW does not).
Several general utility routines are provided:
GRID, PEAK and PEAKRM to set up frequency spectrum and analyse its peaks. NORM_TIMES from module AovObs may be used to subtract EPOCH from times.
Copyrights:
This package is subject to copyrights by its author, (C) A. Schwarzenberg-Czerny 1998-2018, alex@camk.edu.pl Its distribution is free, except that distribution of modifications is prohibited. Please acknowlege use by citation of papers listed in the corresponding routines.



Contents


Functions

public function aovdrv(method, sptype, t, v, w, npar, ncov, spec)

AOVDRV driver routine for AovPer frequency spectrum routines Purpose: example calling of spectrum routines.

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: method

periodogram method

character(len=*), intent(in) :: sptype

type of returned spectrum

real(kind=TIME), intent(in) :: t(:)

times

real(kind=SP), intent(in) :: v(:)

values

real(kind=SP), intent(in) :: w(:)

weights or errors, depending on ERRIN

integer, intent(in) :: npar

number of parameters

integer, intent(in) :: ncov

number of phase coverages

type(SPEC_T) :: spec

frequency grid and result spectrum

Return Value integer

status