libTheSky
Routines to compute sky positions of Sun, Moon, planets and more
Loading...
Searching...
No Matches
Modules | Functions/Subroutines
visibility.f90 File Reference

(libTheSky version 0.4.2, revision 264, hash 4e52568, 2023-12-04)

Contains procedures to determine the visibility of objects for libTheSky. More...

Go to the source code of this file.

Modules

module  thesky_visibility
 Procedures to determine the visibility of objects.
 

Functions/Subroutines

subroutine thesky_visibility::best_planet_xsmag (jdin, plid, jdout, xsmag, rscwarn)
 Find the moment (JD) of optimal excess magnitude for a planet, i.e. the lowest mag - lim.mag.
 
real(double) function thesky_visibility::best_planet_visibility (jd, pl)
 Find a rough indication for the best moment (JD) to observe a planet on a given day (jd). Start out by demanding that Sun alt < -6deg, but relax this if problematic. This often results in the moment where Sun alt is indeed -6deg.
 
subroutine thesky_visibility::planet_visibility_tonight (jd, pl, sunalt, plalt, comp, plvis, plazs, rts, tts, sts, ras, tas, sas, rscwarn)
 Compute when a given planet is visible in a given night.
 
logical function thesky_visibility::comet_invisible (jd, cometid, mlim, minalt)
 Cheap function to determine whether a comet is invisible at a given time, based on a magnitude and altitude limit.
 
real(double) function thesky_visibility::transitalt (lat, dec)
 Compute the transit altitude of an object with given declination for an observer with a given geographic latitude.
 
subroutine thesky_visibility::best_obs_date_ra (year, ra, accuracy, mon, dy)
 Compute the best date in the year to observe an object with a given right ascension.
 
real(double) function thesky_visibility::get_dra_obj (jd)
 Compute the difference between a given right ascension and the RA of the Sun, used privately by best_obs_date_ra()
 
real(double) function thesky_visibility::airmass (alt)
 Compute the airmass for a celestial object with a given TRUE altitude.
 
real(double) function thesky_visibility::airmass_la (alt)
 Compute the airmass for a celestial object with a given apparent altitude; low-accuracy alternative for airmass()
 
real(double) function thesky_visibility::extinction_magpam (ele)
 Compute the extinction in magnitdes per unit airmass for an observer with given elevation.
 
real(double) function thesky_visibility::extinction_mag (alt, ele)
 Compute the extinction in magnitdes for an observer with given elevation and an object with given TRUE altitude.
 
real(double) function thesky_visibility::extinction_fac (alt, ele)
 Compute the extinction factor for an observer with given elevation and an object with given altitude.
 
real(double) function thesky_visibility::limmag_full (year, month, obselev, obslat, sunalt, sunelon, moonphase, moonalt, moonelon, objalt, humid, airtemp, snrat, verbosity)
 Calculate limiting magnitude based on Sun and Moon positions and phase, and on the altitude of the observed object.
 
subroutine thesky_visibility::limmag_extinction (month, obslat, obselev, objalt, relhum, temp, band1, band2, extcoef, extmag)
 Calculate limiting magnitude based on Sun altitude and Moon phase.
 
subroutine thesky_visibility::limmag_skybrightness (year, sunalt, sunelon, moonphase, moonalt, moonelon, objalt, band1, band2, extcoef, skybr)
 Calculate sky brightness based on Sun altitude and Moon phase.
 
real(double) function thesky_visibility::limmag_jd (jd, objra, objdec, objalt, lat, height)
 Calculate limiting magnitude based on JD and object altitude, wrapper for limmag_full()
 
real(double) function thesky_visibility::limmag_zenith_jd (jd, lat, lon, height)
 Calculate limiting magnitude for the local zenith, based on JD and observer's location.
 
real(double) function thesky_visibility::limmag_jd_pl (jd, pl)
 Calculate limiting magnitude based on JD and planet ID, wrapper for limmag_jd()
 
real(double) function thesky_visibility::limmag_sun_airmass (month, sunalt, sunaz, objalt, objaz, lat, height)
 Calculate limiting magnitude based on Sun altitude and object altitude (airmass). Assumes New Moon.
 
real(double) function thesky_visibility::limmag_sun (sunalt)
 Calculate limiting magnitude, based on the altitude of the Sun. Simplified version of limmag_full()
 
real(double) function thesky_visibility::pl_xsmag (jd, pl)
 Compute the excess magnitude for planet pl at JD, considering Sun, Moon and airmass.
 
real(double) function thesky_visibility::pl_xsmag_pl (jd)
 Compute the excess magnitude at JD, wrapper for pl_xsmag() for solvers. The planet ID pl0 is passed through module planetdata.
 
real(double) function thesky_visibility::pl_xsmag_la (jd, pl)
 Compute the excess magnitude for planet pl at JD, considering airmass and Sun alt - low-accuracy version of pl_xsmag()
 
real(double) function thesky_visibility::pl_xsmag_la_pl (jd)
 Compute the excess magnitude at JD, wrapper for pl_xsmag_la() for solvers. The planet ID pl0 is passed through module planetdata.
 
real(double) function thesky_visibility::aperture (xsmag, pupil, tc)
 Aperture diameter in centimetres needed to observe an object with given excess magnitude (0: no instrument needed)
 
real(double) function thesky_visibility::skybrightness_mas2_from_mlim (mlim)
 Convert naked-eye visual limiting magnitude (V) to sky surface brightness in (B) magnitudes per square arcsecond.
 
real(double) function thesky_visibility::skybrightness_mlim_from_mas2 (skybright)
 Convert sky surface brightness in (B) magnitudes per square arcsecond to naked-eye visual limiting magnitude (V)
 
elemental real(double) function thesky_visibility::skybrightness_mlim_from_cdm2 (cdm2)
 Convert sky brightness in candela per square meter to naked-eye visual limiting magnitude (V)
 
elemental real(double) function thesky_visibility::skybrightness_cdm2_from_mlim (mlim)
 Convert limiting visual magnitude to sky brightness in candela per square meter.
 
elemental real(double) function thesky_visibility::skybrightness_cdm2_from_nl (nl)
 Convert sky brightness in nanolambert to candela per square meter.
 
elemental real(double) function thesky_visibility::skybrightness_nl_from_cdm2 (cdm2)
 Convert sky brightness in candela per square meter to nanolambert.
 

Detailed Description

Contains procedures to determine the visibility of objects for libTheSky.

Definition in file visibility.f90.