IPT_DATA
One means to pass-in the various required settings is via this variable. The format of the variable needs to be "LocationName Latitude Longitude UTCdiff AngleMethodNumber". For instance,
setenv IPT_DATA "Dubai 25.25 55.3 4 2"
An islamic prayer times calculator
ipraytime [--date
yyyymmdd]
[--latitude
real_num]
[--longitude
real_num]
[--utcdiff
real_num]
[--method
int_num]
[--ishaangle
real_num]
[--fajrangle
real_num]
[--dst
int_num]
[--dst-start
yyyymmdd]
[--dst-end
yyyymmdd]
[--round
int_num]
[--extreme
int_num]
[--sea-level
int_num]
[--month
[int_num]]
[--year
[int_num]]
[--file
pref_file]
[--end]
[--brief]
[--help]
ipraytime is a generator of Islamic prayer times for any given location. It is capable of generating daily, monthly, and yearly schedules based on user specified settings. In its single day output format, it can calculate the appropriate Qibla direction (heading towards the Kabaa) and Imsaak time (the time when one is to start fasting). ipraytime also has a minimalistic option to show a brief one-liner showing prayer times for a single day.
ipraytime is configured using a file in the user's home directory (~/.iprayrc). For configuration and usage samples, see the EXAMPLES section below. It is also possible to specify settings using an environment variable (IPT_DATA) or through passing arguments to the command line (which takes precedent over all other settings). If none of the above is found, ipraytime defaults to using Makkah's location with the host machine's current date settings.
A summary of all command-line arguments and configuration options are noted below:
-h, --help
Show summary of options.
-d, --date yyyymmdd
Specify the Gregorian date to use where `y' stands for year, `m' for month and `d' for day.
-lat, --latitude real_num
Specify the latitude setting to use during calculations. The value could be any real number.
-lon, --longitude real_num
Specify the longitude setting to use during calculations. The value could be any real number.
-sea, --sea-level real_num
Specify height above Sea level (in meters).
-u, --utcdiff real_num
Specify the difference between the specified timezone and that of GMT/UTC. The value could be any real number.
-a, --anglemethod [int_num]
Specify which angle method calculation to use. The angle methods that are currently supported by ipraytime are,
1Egyptian General Authority of Survey
Fajr/Isha Angle : 20/18
Used in : Africa, Indonesia, Iraq,
Jordan, Lebanon, Malaysia,
Singapore, Syria,
Parts of the USA
2University of Islamic Sciences, Karachi (Shaf'i)
Fajr/Isha Angle : 18/18
Used in : Iran, Kuwait,
Parts of Europe
3University of Islamic Sciences, Karachi (Hanafi)
Fajr/Isha Angle : 18/18
Used in : Afghanistan, Bangladesh,
India
4Islamic Society of North America
Fajr/Isha Angle : 15/15
Used in : Canada, Parts of UK,
Parts of USA
5Muslim World League (MWL)
Fajr/Isha Angle : 18/17
Used in : Parts of Europe,
Far East, Parts of USA
6Umm Al-Qurra University
Fajr/Isha Angl e : 19/0
Isha Interval : 90 minutes from Al-Maghrib
prayer but set to 120
during Ramadan.
Used in : Saudi Arabia
7Fixed Isha Angle Interval (always 90)
Fajr/Isha Angle : 19.5/0
Isha Interval : 90 minutes from Al-Maghrib
prayer
Used in : Bahrain, Oman, Qatar, UAE
8Egyptian General Authority of Survey (Egypt)
Fajr/Isha Angle : 19.5/17.5
Used in : Egypt
9Om Al-Qurra University (Ramadan)
Fajr/Isha Angle : 19/0
Isha Interval : 120 minutes from Al-Maghrib
prayer
Used in : Saudi Arabia (during Ramadan)
10Moonsighting Committee Worldwide (MWC)
Fajr/Isha Angle : 18/18 (used for comparison)
Fajr and Isha calculated with different values based on the season
Used in : parts of the United States, parts of the UK
11Morocco Awqaf Ministry
Fajr/Isha Angle : 19/17
Zuhr Offset : 5 min
Maghrib Offset : 5 min
Used in : Morocco
-fa, --fajrangle [real_num]
Specify which angle to use for Fajr. Will override the one set by the --anglemethod.
-ia, --ishaangle [real_num]
Specify which angle to use for Isha. Will override the one set by the --anglemethod.
-s, --dst [int_num]
By default, ipraytime uses the host's machine timezone information to determine whether daylight saving time is in effect or not. If this information is unavailable or not accurate, this option provides the means to explicitly set the DST status. Set this to 0 to completely disable daylight saving time. Set it to 1 to always add one hour to the computed prayer times.
-ss, --dst-start yyyymmdd
-se, --dst-end yyyymmdd
Specify a range of dates where day light saving time is in effect for your location. For example:
-m, --month [int_num]
Specify to print either current month's schedule or the passed-in value's month schedule.
-y, --year [int_num]
Specify to print either current year's schedule or the passed-in value's year schedule.
-f, --file pref_file
Specify filename to load which contains user's settings and preferences.
-e, --end
Specify to continue with schedule printing until the end of specified month.
-b, --brief
Specify to print a brief one-liner output for single day mode.
-h12, --regular-hour
Display the prayer times in regular time instead of military time.
-r, --round [int_num]
Specify a method for rounding seconds. The supported methods are,
0No Rounding. Completely ignore the computed seconds value.
1Regular Rounding. If seconds are equal to 30 or above, add 1 minute.
2Special Rounding. Similar to regular rounding but we always round down for Shurooq and Imsaak times. (This is the default method).
3Aggressive Rounding. Similar to Special Rounding but we add 1 minute if the seconds value are equal to 1 second or more.
-x, --extreme [int_num]
Specify a method for prayer times calculations at high (49+) or extreme (66+) latitudes. Prayer times calculations relies heavily on astronomical events. At these latitudes some of those events do not occur at all, or are impossible to precisely calculate using conventional means. For example, at certain locations the sun never moves below the horizon to the position of the amount of Fajr angle degrees specified, therefore there will be no real Fajr time at that location. The supported extreme methods are:
Note: Methods that have the If Invalid keyword are applied only when ipraytime is unable to calculate these times. Methods that have the Always keyword are applied always.
0None. If unable to calculate, leave as 99:99
1Nearest Latitude (Aqrab Al-Bilaad): All prayers [Always]
2Nearest Latitude (Aqrab Al-Bilaad): Fajr and Isha [Always]
3Nearest Latitude (Aqrab Al-Bilaad): All prayers [If Invalid]
4Nearest Good Day (Aqrab Al-Ayyam): All prayers [Always]
5Nearest Good Day (Aqrab Al-Ayyam): All prayers [If Invalid] (This is the default method)
Note: All the extreme methods following below do not have a proof in traditional Shari'a (Fiqh) resources. These methods were introduced by modern day Muslim scholars and scientists for practical reasons only.
6Seventh of Night: Fajr and Isha [Always]
7Seventh of Night: Fajr and Isha [If Invalid]
8Seventh of Day: Fajr and Isha [Always]
9Seventh of Day: Fajr and Isha [If Invalid]
10Half of the Night: Fajr and Isha [Always]
11Half of the Night: Fajr and Isha [If Invalid]
Note: To use the next two methods, you will need to specify FajrInterval and IshaInterval in your configuration file.
12Minutes from Shorooq/Maghrib: Fajr and Isha [Always]
13Minutes from Shorooq/Maghrib: Fajr and Isha [If invalid]
14Nearest Good Day: Fajr and Ishaa if either is invalid
15Angle based: Fajr and Ishaa if invalid
ipraytime is capable of loading settings from a configuration file (~/.iprayrc). The default location of the configuration file can be changed using the --file option. The content of the file should be in the following syntax `variable_string: value'. See the EXAMPLES section for usage examples. Below is a list of all the supported settings which can be used in the configuration file:
CitySpecifies an informational city name string to be displayed for reference.
LatitudeSpecify the latitude setting to use during calculations. The value could be any real number.
LongitudeSpecify the longitude setting to use during calculations. The value could be any real number.
Specify the difference between the specified timezone and that of GMT/UTC. The value could be any real number.
SeaLevelSpecify height above Sea level (in meters).
PressureSpecify the atmospheric pressure in millibars. The default value is 1010.
TemperatureSpecify the temperature in Celsius degree. The default value is 10.
AngleMethodSpecify which angle method calculation to use. The value needs to be a positive integer of one of the supported methods. See the --anglemethod option for more information.
MathhabSpecify which mathhab to use in one's calculations. The current supported value are 1 for Shaf'i and 2 for Hanafi.
OffsetListSpecify a list of values in minutes to add or subtract any amount of minutes from the daily computed prayer times. For example, If you want to add 30 seconds to Maghrib and subtract 2 minutes from Isha, you will set this option to `0 0 0 0 0.5 -2'.
FajrAngleSpecify the fajr angle to use during calculations. Will override the values of the specified method.
IshaAngleSpecify the isha angle to use during calculations. Will override the values of the specified method.
ImsaakAngleSpecify imsaak and fajr angle difference. The default value is 1.5 degrees.
FajrIntervalSpecify the number of minutes between fajr and shorooq. This should be a positive integer.
IshaIntervalSpecify the number of minutes between Isha and Maghrib. This should be a positive integer.
ImsaakIntervalSpecify a difference in minutes between imsaak and fajr. The default Imsaak interval from fajr is 10 minutes if the FajrInterval is set.
ExtremeMethodSpecify which method to use for high and extreme latitudes. The value needs to be an integer of one of the supported extreme methods. See descriptions of the --extreme option for a list of the supported methods.
NearestLatitudeSpecify the latitude Used for the `Nearest Latitude' extreme methods. The default is at 48.5 degrees.
RoundMethodSpecify which method to use for rounding seconds. The value needs to be an integer of one of the supported rounding methods. See the --round option for a list of the supported methods.
By default, ipraytime uses the host's machine timezone information to determine whether daylight saving time is in effect or not. If this information is unavailable or not accurate, these options provide the means to explicitly set the DST status.
Specify the current DST status. Set this to 0 to completely disable daylight saving time. Set it to 1 to always add one hour to the computed prayer times.
DST-StartSpecify the start date when daylight saving time adjustment is in effect for your location. This value should be a valid date in yyyymmdd form.
DST-EndSpecify the date when daylight saving time adjustment period ends. This value should be a valid date in yyyymmdd form.
HourFormatSpecify a time format for displaying the prayer times. The value should be 12 (regular time) or 24 (military time).
IPT_DATA
One means to pass-in the various required settings is via this variable. The format of the variable needs to be "LocationName Latitude Longitude UTCdiff AngleMethodNumber". For instance,
setenv IPT_DATA "Dubai 25.25 55.3 4 2"
~/.iprayrc User configuration file.
~/.iprayrc) showing how options are set:City: Brussels, Belguim Latitude: 50.8333 Longitude: 4.3333 UTC: 1 AngleMethod: 2 Mathhab: 1 OffsetList: 0 0 1 2.21 3 -1
ipraytime -y 2007 ipraytime -f /home/user/.iprayrc-Oman ipraytime -lat 29.5000 -lon 47.7500 -u 3 --anglemethod 2 -d 20071229 -h12
11 releases since Debian 3.1 (Sarge); the text changed 2 times.
--fajrangle since Debian 6.0 (Squeeze);
--ishaangle since Debian 6.0 (Squeeze);
-fa since Debian 6.0 (Squeeze);
-ia since Debian 6.0 (Squeeze).