54 use sufr_kinds,
only: double
58 real(double),
intent(in) :: lat0,lon0,height, tz0
59 integer,
intent(in) :: dsttp
84 use sufr_kinds,
only: double
85 use sufr_constants,
only: jd1875, r2d,r2h
86 use sufr_angles,
only: rev
87 use sufr_system,
only: warn
93 real(double),
intent(in) :: jd,ra,dec
95 real(double) :: lra,ldec
129 call warn(
'const_id(): constellation ID was not found', 0)
153 use sufr_kinds,
only: double
154 use sufr_angles,
only: asep
160 real(double),
intent(in) :: jd0
161 integer,
intent(in) :: p1,p2
162 real(double) ::
plsep,jd,l1,l2,b1,b2
173 plsep = asep(l1,l2, b1,b2)
193 use sufr_kinds,
only: double
194 use sufr_angles,
only: calpa
200 real(double),
intent(in) :: jd0
201 integer,
intent(in) :: p1,p2
202 real(double) ::
plpa,jd,l1,l2,b1,b2
213 plpa = calpa(l1,l2, b1,b2)
231 character,
intent(in) :: myconabr*(*)
232 integer,
intent(out) :: myconid
237 if(trim(
conabr(con)).eq.trim(myconabr))
then
258 use sufr_kinds,
only: double
260 real(double),
intent(in) :: x
261 integer,
intent(in) :: tot,dgt
268 write(fmt,
'(A,2(I3.3,A,I3.3,A))')
'(A1,I',dec,
'.',dec,
',F',dgt+1,
'.',dgt,
')'
269 write(
fillfloat,trim(fmt))
'-', floor(abs(x)), abs(x)-floor(abs(x))
271 write(fmt,
'(A,2(I3.3,A,I3.3,A))')
'(I',dec,
'.',dec,
',F',dgt+1,
'.',dgt,
')'
272 write(
fillfloat,trim(fmt)) floor(x), abs(x)-floor(abs(x))
286 use sufr_kinds,
only: double
287 use sufr_constants,
only: au
290 real(double),
intent(in) :: d
293 write(
ds,
'(F11.8)') d
294 if(d.lt.0.01d0)
write(
ds,
'(F11.4)') d*au/1.d5
307 use sufr_kinds,
only: double
308 use sufr_constants,
only: au
311 real(double),
intent(in) :: d
314 write(
ds1,
'(F9.6)') d
315 if(d.lt.0.01d0)
write(
ds1,
'(F9.2)') d*au/1.d5
Procedures for coordinates.
subroutine precess_eq(jd1, jd2, a1, d1)
Compute the precession of the equinoxes in equatorial coordinates, from jd1 to jd2.
real(double) function plsep(jd0, p1, p2)
Calculates the angular separation between two planets.
subroutine conabr2conid(myconabr, myconid)
Convert a three-letter constellation abbreviation to a constellation ID number.
subroutine set_thesky_location(lat0, lon0, height, tz0, dsttp)
Set a location, using the variables in TheSky_local.
character function, dimension(99) fillfloat(x, tot, dgt)
Print a floating-point number with leading zeros in format (0...0)Ftot.dgt to a string.
real(double) function plpa(jd0, p1, p2)
Calculates the position angle of planet 2 with respect to planet 1, COUNTERCLOCKWISE from the north.
character function, dimension(11) ds(d)
Print planet distance in AU as a nice string, but use km for the Moon.
character function, dimension(9) ds1(d)
Print planet distance in AU as a nice string, but use km for the Moon - smaller string.
integer function const_id(jd, ra, dec)
Identify the constellation a,d lies in.
Local parameters for libTheSky: location, date, time.
real(double) tz
Current value of time zone, taking into account DST (hours; >0 is east of Greenwich)
real(double) height
Altitude of the observer above sea level (m)
real(double) tz0
Standard value of time zone, without DST ("winter time"; hours; >0 is east of Greenwich)
real(double) lon0
Longitude of the observer (rad)
real(double) lat0
Latitude of the observer (rad)
integer dsttp
DST type for current location (0: none, 1: EU, 2: USA+Canada (after 2007)
Planet data, needed to compute planet positions.
real(double), dimension(nplanpos) planpos
Planpos[] is an array with many different types of coordinates and related variables:
subroutine planet_position(jd, pl, lat, lon, hgt, lbaccur, raccur, ltime, aber, to_fk5, assume_jde, lunar_theory, nutat, magmdl, verbosity)
Compute the position, distance, etc of a planet.
Star and basic constellation data.
integer, parameter nconstel
Number of constellations.
real(double), dimension(nconid) coniddecl
Constellation lower declination boundary for ID.
real(double), dimension(nconid) conidrau
Constellation uppwer RA boundary for ID.
integer, dimension(nconid) conid
Constellation ID.
character, dimension(3) conabr
Abbreviations of the constellations.
real(double), dimension(nconid) conidral
Constellation lower RA boundary for ID.