igeo
Class ISun

java.lang.Object
  extended by igeo.ISun

public class ISun
extends java.lang.Object

A solar analysis package providing direction of the sun in the spcecified location at the specified time.

Version:
0.7.0.0;
Author:
Satoru Sugihara

Nested Class Summary
static class ISun.City
           
static class ISun.DateIterator
           
static class ISun.DateRange
           
static class ISun.Location
           
static class ISun.SearchBuffer
           
 
Field Summary
static boolean aberrationCorrection
           
 double altitude
           
 double azimuth
           
 java.util.ArrayList<ISun.SearchBuffer> buffers
           
static int bufferSampleNum
          internal search buffer default sample num per a day
 int day
          input time info
 boolean daylightSaving
          switch to interpret hour as hour in daylight saving day
 IVec dir
           
 double elevation
          height(altitude) of the location
 double hour
          hour includes fraction of minutes and seconds
 double latitude
          input location info
 double longitude
          input location info
static boolean measureAzimuthFromSouth
           
 int month
          input time info
 IVec northDir
           
static boolean nutationCorrection
           
static boolean precessionCorrection
           
static boolean refractionCorrection
           
 double timeZone
          time zone as difference of hours from GMT; -12 - +12
 boolean updateAngle
           
 int year
          input time info
 
Constructor Summary
ISun()
           
ISun(double latitude, double longitude, double timeZone)
           
ISun(double latitude, double longitude, double elevation, double timeZone)
           
ISun(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
           
ISun(double latitude, double longitude, double elevation, double timeZone, IVec northDir)
           
ISun(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
           
ISun(double latitude, double longitude, double timeZone, IVec northDir)
           
ISun(ISun.City city)
           
ISun(ISun.City city, IVec northDir)
           
ISun(ISun.Location location)
           
ISun(ISun.Location location, IVec northDir)
           
 
Method Summary
static java.lang.String adstring(double ra)
           
 double altitude()
          calculate altitude angle
static double altitude(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
          calculate altitude angle at the given time and location hour can include fraction of minutes
 double altitude(int year, int month, int day, double hour)
          calculate altitude angle at the given time.
 double altitude(int year, int month, int day, double hour, boolean daylightSavingTime)
          calculate altitude angle at the given time.
 double altitude(int year, int month, int day, int hour, double minute)
          calculate altitude angle at the given time.
 double altitude(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
          calculate altitude angle at the given time.
 double altitude(int year, int month, int day, int hour, int minute, double second)
          calculate altitude angle at the given time.
 double altitude(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
          calculate altitude angle at the given time.
 double altitudeAt(double azimuth, int year, int month, int day)
          search altitude in the specified date when sun comes in the direction of azimuth
 double altitudeAt(double azimuth, int year, int month, int day, int sampleNumber)
          search altitude in the specified date when sun comes in the direction of azimuth
 double altitudeAt(IVec azimuthDir, int year, int month, int day)
          search altitude in the specified date when sun comes in the direction of azimuth
 double[] angles()
           
static double[] angles(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
          alias of calcAngle.
 double[] angles(int year, int month, int day, double hour)
           
 double[] angles(int year, int month, int day, double hour, boolean daylightSavingTime)
           
 double[] angles(int year, int month, int day, int hour, double minute)
           
 double[] angles(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
           
 double[] angles(int year, int month, int day, int hour, int minute, double second)
           
 double[] angles(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
           
 double azimuth()
          calculate azimuth.
static double azimuth(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
          calculate azimuth angle at the given time and location hour can include fraction of minutes
 double azimuth(int year, int month, int day, double hour)
          calculate azimuth at the given time.
 double azimuth(int year, int month, int day, double hour, boolean daylightSavingTime)
          calculate azimuth at the given time.
 double azimuth(int year, int month, int day, int hour, double minute)
          calculate azimuth at the given time.
 double azimuth(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
          calculate azimu at the given time.
 double azimuth(int year, int month, int day, int hour, int minute, double second)
          calculate azimuth at the given time.
 double azimuth(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
          calculate azimuth at the given time.
static double azimuth(IVec azimuthDir, IVec northDirection)
          conveting vector to azimuth angle
 ISun calc()
           
static double[] calcAngle(double latitude, double longitude, double elevation, double timeZone, int year, int month, int day, double hour, boolean daylightSavingTime)
          calculate altitude and azimuth angle.
static double[] calcEquatorialCoordinates(double julianDate)
           
static double[] calcHorizontalCoordinates(double rightAscension, double declination, double julianDate, double latitude, double longitude, double elevation, double eclipticLongitude)
           
static double[] coaberration(double julianDate, double rightAscension, double declination, double eps, double eclipticLongitude)
           
static double[] conutate(double julianDate, double rightAscension, double declination)
           
static double corefract(double altitudeAngle, double elevation)
           
static double corefractForward(double altitudeAngle, double pressure, double temperature)
           
static java.lang.String degStr(double deg)
           
 IVec dir()
           
static IVec dir(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
           
 IVec dir(int year, int month, int day, double hour)
           
 IVec dir(int year, int month, int day, double hour, boolean daylightSavingTime)
           
 IVec dir(int year, int month, int day, int hour, double minute)
           
 IVec dir(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
           
 IVec dir(int year, int month, int day, int hour, int minute, double second)
           
 IVec dir(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
           
 IVec dirAt(double azimuth, int year, int month, int day)
          solar direction vector at specified azimuth on the date
 IVec dirAt(double azimuth, int year, int month, int day, int sampleNumber)
          solar direction vector at specified azimuth on the date
 IVec dirAt(IVec azimuthDir, int year, int month, int day)
          solar direction vector at specified azimuth on the date
 IVec direction()
           
static IVec direction(double latitude, double longitude, double elevation, double timeZone, IVec northDir, int year, int month, int day, double hour, boolean daylightSavingTime)
           
static IVec direction(double altitude, double azimuth, IVec northDir)
          converting azimuth and altitude to XYZ vector
 IVec direction(int year, int month, int day, double hour)
           
 IVec direction(int year, int month, int day, double hour, boolean daylightSavingTime)
           
 IVec direction(int year, int month, int day, int hour, double minute)
           
 IVec direction(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
           
 IVec direction(int year, int month, int day, int hour, int minute, double second)
           
 IVec direction(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
           
 IVec directionAt(double azimuth, int year, int month, int day)
          solar direction vector at specified azimuth on the date
 IVec directionAt(double azimuth, int year, int month, int day, int sampleNumber)
          solar direction vector at specified azimuth on the date
 IVec directionAt(IVec azimuthDir, int year, int month, int day)
          solar direction vector at specified azimuth on the date
static int endDayOfMonth(int year, int month)
           
 IVec highestDirAt(double azimuth, int year)
          highest solar vector in the specified azimuth through the year
 IVec highestDirAt(double azimuth, ISun.DateRange dates)
          highest solar vector in the specified azimuth through the year
 IVec highestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          highest solar vector in the specified azimuth through the year
 IVec highestDirAt(IVec azimuthDir, int year)
          highest solar vector in the specified azimuth through the year
 IVec highestDirAt(IVec azimuthDir, ISun.DateRange dates)
          highest solar vector in the specified azimuth through the year
 double hourAt(double azimuth, int year, int month, int day, boolean daylightSavingTime)
          search hour in the specified date when sun comes in the direction of azimuth
 double hourAt(double azimuth, int year, int month, int day, boolean daylightSavingTime, int sampleNumber)
          search hour in the specified date when sun comes in the direction of azimuth
 double hourAt(IVec azimuthDir, int year, int month, int day, boolean daylightSavingTime)
          search hour in the specified date when sun comes in the direction of azimuth
static java.lang.String hourStr(double deg)
           
static boolean isLeapYear(int year)
          convert count of days from Jan 1st to month and date.
static double julianDate(int year, int month, int day, double hour)
          converting calender dates into julian dates.
static double localSiderealTime(double lng, double jd)
          convert from local civil time to local mean siderial time.
 ISun location(double latitude, double longitude, double timeZone)
          setting location
 ISun location(double latitude, double longitude, double elevation, double timeZone)
          setting location
 ISun location(double latitude, double longitude, double elevation, double timeZone, IVec northDir)
          setting location
 ISun location(double latitude, double longitude, double timeZone, IVec northDir)
          setting location
 ISun location(ISun.City city)
          setting location
 ISun location(ISun.City city, IVec northDir)
          setting location
 ISun location(ISun.Location location)
          setting location
 ISun location(ISun.Location location, IVec northDir)
          setting location
 IVec[] lowestAndHighestDirAt(double azimuth, int year)
          highest and lowest solar vector in the specified azimuth through the year
 IVec[] lowestAndHighestDirAt(double azimuth, ISun.DateRange dates)
          highest and lowest solar vector in the specified azimuth through the year
 IVec[] lowestAndHighestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          highest and lowest solar vector in the specified azimuth through the year
 IVec[] lowestAndHighestDirAt(IVec azimuthDir, int year)
          highest and lowest solar vector in the specified azimuth through the year
 IVec[] lowestAndHighestDirAt(IVec azimuthDir, ISun.DateRange dates)
          highest and lowest solar vector in the specified azimuth through the year
 IVec lowestDirAt(double azimuth, int year)
          lowest solar vector in the specified azimuth through the year
 IVec lowestDirAt(double azimuth, ISun.DateRange dates)
          lowest solar vector in the specified azimuth through the year
 IVec lowestDirAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          lowest solar vector in the specified azimuth through the year
 IVec lowestDirAt(IVec azimuthDir, int year)
          lowest solar vector in the specified azimuth through the year
 IVec lowestDirAt(IVec azimuthDir, ISun.DateRange dates)
          lowest solar vector in the specified azimuth through the year
static void main(java.lang.String[] args)
           
 double maxAltitudeAt(double azimuth, int year)
          max altitude angle in the specified azimuth through the year
 double maxAltitudeAt(double azimuth, ISun.DateRange dates)
          max altitude angle in the specified azimuth through the year
 double maxAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          max altitude angle in the specified azimuth through the year
 double maxAltitudeAt(IVec azimuthDir, int year)
          max altitude angle in the specified azimuth through the year
 double maxAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
          max altitude angle in the specified azimuth through the year
 double minAltitudeAt(double azimuth, int year)
          min altitude angle in the specified azimuth through the year
 double minAltitudeAt(double azimuth, ISun.DateRange dates)
          min altitude angle in the specified azimuth through the year
 double minAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          min altitude angle in the specified azimuth through the year
 double minAltitudeAt(IVec azimuthDir, int year)
          min altitude angle in the specified azimuth through the year
 double minAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
          min altitude angle in the specified azimuth through the year
 double[] minAndMaxAltitudeAt(double azimuth, int year)
          max altitude angle in the specified azimuth through the year
 double[] minAndMaxAltitudeAt(double azimuth, ISun.DateRange dates)
          max altitude angle in the specified azimuth through the year
 double[] minAndMaxAltitudeAt(double azimuth, ISun.DateRange dates, int sampleNumber)
          max altitude angle in the specified azimuth through the year
 double[] minAndMaxAltitudeAt(IVec azimuthDir, int year)
          max altitude angle in the specified azimuth through the year
 double[] minAndMaxAltitudeAt(IVec azimuthDir, ISun.DateRange dates)
          max altitude angle in the specified azimuth through the year
static double mod(double x, double mod)
          cyclic modulus operation including negative range
 ISun northDir(IVec northDirection)
          set north direction on XY plane
 ISun northDirection(IVec northDirection)
           
static double[] nutate(double julianDate)
           
static double[] precess(double rightAscension, double declination, double equinox1, double equinox2, boolean fk4)
           
static double[][] precessMatrix(double equinox1, double equinox2, boolean fk4)
           
 ISun time(int year, int month, int day, double hour)
          setting time
 ISun time(int year, int month, int day, double hour, boolean daylightSavingTime)
          setting time
 ISun time(int year, int month, int day, int hour, double minute)
          setting time
 ISun time(int year, int month, int day, int hour, double minute, boolean daylightSavingTime)
          setting time
 ISun time(int year, int month, int day, int hour, int minute, double second)
          setting time
 ISun time(int year, int month, int day, int hour, int minute, double second, boolean daylightSavingTime)
          setting time
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bufferSampleNum

public static int bufferSampleNum
internal search buffer default sample num per a day


latitude

public double latitude
input location info


longitude

public double longitude
input location info


elevation

public double elevation
height(altitude) of the location


timeZone

public double timeZone
time zone as difference of hours from GMT; -12 - +12


year

public int year
input time info


month

public int month
input time info


day

public int day
input time info


hour

public double hour
hour includes fraction of minutes and seconds


daylightSaving

public boolean daylightSaving
switch to interpret hour as hour in daylight saving day


dir

public IVec dir

azimuth

public double azimuth

altitude

public double altitude

updateAngle

public boolean updateAngle

northDir

public IVec northDir

buffers

public java.util.ArrayList<ISun.SearchBuffer> buffers

precessionCorrection

public static boolean precessionCorrection

nutationCorrection

public static boolean nutationCorrection

aberrationCorrection

public static boolean aberrationCorrection

refractionCorrection

public static boolean refractionCorrection

measureAzimuthFromSouth

public static boolean measureAzimuthFromSouth
Constructor Detail

ISun

public ISun()

ISun

public ISun(double latitude,
            double longitude,
            double elevation,
            double timeZone,
            IVec northDir,
            int year,
            int month,
            int day,
            double hour,
            boolean daylightSavingTime)

ISun

public ISun(double latitude,
            double longitude,
            double elevation,
            double timeZone,
            int year,
            int month,
            int day,
            double hour,
            boolean daylightSavingTime)

ISun

public ISun(double latitude,
            double longitude,
            double elevation,
            double timeZone,
            IVec northDir)

ISun

public ISun(double latitude,
            double longitude,
            double elevation,
            double timeZone)

ISun

public ISun(double latitude,
            double longitude,
            double timeZone,
            IVec northDir)

ISun

public ISun(double latitude,
            double longitude,
            double timeZone)

ISun

public ISun(ISun.City city,
            IVec northDir)

ISun

public ISun(ISun.City city)

ISun

public ISun(ISun.Location location,
            IVec northDir)

ISun

public ISun(ISun.Location location)
Method Detail

time

public ISun time(int year,
                 int month,
                 int day,
                 int hour,
                 int minute,
                 double second,
                 boolean daylightSavingTime)
setting time


time

public ISun time(int year,
                 int month,
                 int day,
                 int hour,
                 int minute,
                 double second)
setting time


time

public ISun time(int year,
                 int month,
                 int day,
                 int hour,
                 double minute,
                 boolean daylightSavingTime)
setting time


time

public ISun time(int year,
                 int month,
                 int day,
                 int hour,
                 double minute)
setting time


time

public ISun time(int year,
                 int month,
                 int day,
                 double hour,
                 boolean daylightSavingTime)
setting time


time

public ISun time(int year,
                 int month,
                 int day,
                 double hour)
setting time


location

public ISun location(double latitude,
                     double longitude,
                     double elevation,
                     double timeZone,
                     IVec northDir)
setting location


location

public ISun location(double latitude,
                     double longitude,
                     double elevation,
                     double timeZone)
setting location


location

public ISun location(double latitude,
                     double longitude,
                     double timeZone,
                     IVec northDir)
setting location


location

public ISun location(double latitude,
                     double longitude,
                     double timeZone)
setting location


location

public ISun location(ISun.City city,
                     IVec northDir)
setting location


location

public ISun location(ISun.City city)
setting location


location

public ISun location(ISun.Location location,
                     IVec northDir)
setting location


location

public ISun location(ISun.Location location)
setting location


northDir

public ISun northDir(IVec northDirection)
set north direction on XY plane


northDirection

public ISun northDirection(IVec northDirection)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      int hour,
                      int minute,
                      double second,
                      boolean daylightSavingTime)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      int hour,
                      int minute,
                      double second)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      int hour,
                      double minute,
                      boolean daylightSavingTime)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      int hour,
                      double minute)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      double hour,
                      boolean daylightSavingTime)

direction

public IVec direction(int year,
                      int month,
                      int day,
                      double hour)

direction

public IVec direction()

dir

public IVec dir(int year,
                int month,
                int day,
                int hour,
                int minute,
                double second,
                boolean daylightSavingTime)

dir

public IVec dir(int year,
                int month,
                int day,
                int hour,
                int minute,
                double second)

dir

public IVec dir(int year,
                int month,
                int day,
                int hour,
                double minute,
                boolean daylightSavingTime)

dir

public IVec dir(int year,
                int month,
                int day,
                int hour,
                double minute)

dir

public IVec dir(int year,
                int month,
                int day,
                double hour,
                boolean daylightSavingTime)

dir

public IVec dir(int year,
                int month,
                int day,
                double hour)

dir

public IVec dir()

azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      int hour,
                      int minute,
                      double second,
                      boolean daylightSavingTime)
calculate azimuth at the given time. second can include fraction of millisecond


azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      int hour,
                      int minute,
                      double second)
calculate azimuth at the given time. second can include fraction of millisecond


azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      int hour,
                      double minute,
                      boolean daylightSavingTime)
calculate azimu at the given time. minute can include fraction of second


azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      int hour,
                      double minute)
calculate azimuth at the given time. minute can include fraction of second


azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      double hour,
                      boolean daylightSavingTime)
calculate azimuth at the given time. hour can include fraction of minutes


azimuth

public double azimuth(int year,
                      int month,
                      int day,
                      double hour)
calculate azimuth at the given time. hour can include fraction of minutes


azimuth

public double azimuth()
calculate azimuth.


altitude

public double altitude(int year,
                       int month,
                       int day,
                       int hour,
                       int minute,
                       double second,
                       boolean daylightSavingTime)
calculate altitude angle at the given time. second can include fraction of millisecond


altitude

public double altitude(int year,
                       int month,
                       int day,
                       int hour,
                       int minute,
                       double second)
calculate altitude angle at the given time. second can include fraction of millisecond


altitude

public double altitude(int year,
                       int month,
                       int day,
                       int hour,
                       double minute,
                       boolean daylightSavingTime)
calculate altitude angle at the given time. minute can include fraction of second


altitude

public double altitude(int year,
                       int month,
                       int day,
                       int hour,
                       double minute)
calculate altitude angle at the given time. minute can include fraction of second


altitude

public double altitude(int year,
                       int month,
                       int day,
                       double hour,
                       boolean daylightSavingTime)
calculate altitude angle at the given time. hour can include fraction of minute


altitude

public double altitude(int year,
                       int month,
                       int day,
                       double hour)
calculate altitude angle at the given time. hour can include fraction of minute


altitude

public double altitude()
calculate altitude angle


angles

public double[] angles(int year,
                       int month,
                       int day,
                       int hour,
                       int minute,
                       double second,
                       boolean daylightSavingTime)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles(int year,
                       int month,
                       int day,
                       int hour,
                       int minute,
                       double second)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles(int year,
                       int month,
                       int day,
                       int hour,
                       double minute,
                       boolean daylightSavingTime)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles(int year,
                       int month,
                       int day,
                       int hour,
                       double minute)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles(int year,
                       int month,
                       int day,
                       double hour,
                       boolean daylightSavingTime)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles(int year,
                       int month,
                       int day,
                       double hour)
Returns:
array of 2 double, first azimuth and second altitude

angles

public double[] angles()
Returns:
array of 2 double, first azimuth and second altitude

calc

public ISun calc()

hourAt

public double hourAt(IVec azimuthDir,
                     int year,
                     int month,
                     int day,
                     boolean daylightSavingTime)
search hour in the specified date when sun comes in the direction of azimuth


hourAt

public double hourAt(double azimuth,
                     int year,
                     int month,
                     int day,
                     boolean daylightSavingTime)
search hour in the specified date when sun comes in the direction of azimuth


hourAt

public double hourAt(double azimuth,
                     int year,
                     int month,
                     int day,
                     boolean daylightSavingTime,
                     int sampleNumber)
search hour in the specified date when sun comes in the direction of azimuth


altitudeAt

public double altitudeAt(IVec azimuthDir,
                         int year,
                         int month,
                         int day)
search altitude in the specified date when sun comes in the direction of azimuth


altitudeAt

public double altitudeAt(double azimuth,
                         int year,
                         int month,
                         int day)
search altitude in the specified date when sun comes in the direction of azimuth


altitudeAt

public double altitudeAt(double azimuth,
                         int year,
                         int month,
                         int day,
                         int sampleNumber)
search altitude in the specified date when sun comes in the direction of azimuth


directionAt

public IVec directionAt(IVec azimuthDir,
                        int year,
                        int month,
                        int day)
solar direction vector at specified azimuth on the date


directionAt

public IVec directionAt(double azimuth,
                        int year,
                        int month,
                        int day)
solar direction vector at specified azimuth on the date


directionAt

public IVec directionAt(double azimuth,
                        int year,
                        int month,
                        int day,
                        int sampleNumber)
solar direction vector at specified azimuth on the date


dirAt

public IVec dirAt(IVec azimuthDir,
                  int year,
                  int month,
                  int day)
solar direction vector at specified azimuth on the date


dirAt

public IVec dirAt(double azimuth,
                  int year,
                  int month,
                  int day)
solar direction vector at specified azimuth on the date


dirAt

public IVec dirAt(double azimuth,
                  int year,
                  int month,
                  int day,
                  int sampleNumber)
solar direction vector at specified azimuth on the date


minAltitudeAt

public double minAltitudeAt(IVec azimuthDir,
                            int year)
min altitude angle in the specified azimuth through the year


minAltitudeAt

public double minAltitudeAt(double azimuth,
                            int year)
min altitude angle in the specified azimuth through the year


minAltitudeAt

public double minAltitudeAt(IVec azimuthDir,
                            ISun.DateRange dates)
min altitude angle in the specified azimuth through the year


minAltitudeAt

public double minAltitudeAt(double azimuth,
                            ISun.DateRange dates)
min altitude angle in the specified azimuth through the year


minAltitudeAt

public double minAltitudeAt(double azimuth,
                            ISun.DateRange dates,
                            int sampleNumber)
min altitude angle in the specified azimuth through the year


maxAltitudeAt

public double maxAltitudeAt(IVec azimuthDir,
                            int year)
max altitude angle in the specified azimuth through the year


maxAltitudeAt

public double maxAltitudeAt(double azimuth,
                            int year)
max altitude angle in the specified azimuth through the year


maxAltitudeAt

public double maxAltitudeAt(IVec azimuthDir,
                            ISun.DateRange dates)
max altitude angle in the specified azimuth through the year


maxAltitudeAt

public double maxAltitudeAt(double azimuth,
                            ISun.DateRange dates)
max altitude angle in the specified azimuth through the year


maxAltitudeAt

public double maxAltitudeAt(double azimuth,
                            ISun.DateRange dates,
                            int sampleNumber)
max altitude angle in the specified azimuth through the year


minAndMaxAltitudeAt

public double[] minAndMaxAltitudeAt(IVec azimuthDir,
                                    int year)
max altitude angle in the specified azimuth through the year


minAndMaxAltitudeAt

public double[] minAndMaxAltitudeAt(double azimuth,
                                    int year)
max altitude angle in the specified azimuth through the year


minAndMaxAltitudeAt

public double[] minAndMaxAltitudeAt(IVec azimuthDir,
                                    ISun.DateRange dates)
max altitude angle in the specified azimuth through the year


minAndMaxAltitudeAt

public double[] minAndMaxAltitudeAt(double azimuth,
                                    ISun.DateRange dates)
max altitude angle in the specified azimuth through the year


minAndMaxAltitudeAt

public double[] minAndMaxAltitudeAt(double azimuth,
                                    ISun.DateRange dates,
                                    int sampleNumber)
max altitude angle in the specified azimuth through the year


lowestDirAt

public IVec lowestDirAt(IVec azimuthDir,
                        int year)
lowest solar vector in the specified azimuth through the year


lowestDirAt

public IVec lowestDirAt(double azimuth,
                        int year)
lowest solar vector in the specified azimuth through the year


lowestDirAt

public IVec lowestDirAt(IVec azimuthDir,
                        ISun.DateRange dates)
lowest solar vector in the specified azimuth through the year


lowestDirAt

public IVec lowestDirAt(double azimuth,
                        ISun.DateRange dates)
lowest solar vector in the specified azimuth through the year


lowestDirAt

public IVec lowestDirAt(double azimuth,
                        ISun.DateRange dates,
                        int sampleNumber)
lowest solar vector in the specified azimuth through the year


highestDirAt

public IVec highestDirAt(IVec azimuthDir,
                         int year)
highest solar vector in the specified azimuth through the year


highestDirAt

public IVec highestDirAt(double azimuth,
                         int year)
highest solar vector in the specified azimuth through the year


highestDirAt

public IVec highestDirAt(IVec azimuthDir,
                         ISun.DateRange dates)
highest solar vector in the specified azimuth through the year


highestDirAt

public IVec highestDirAt(double azimuth,
                         ISun.DateRange dates)
highest solar vector in the specified azimuth through the year


highestDirAt

public IVec highestDirAt(double azimuth,
                         ISun.DateRange dates,
                         int sampleNumber)
highest solar vector in the specified azimuth through the year


lowestAndHighestDirAt

public IVec[] lowestAndHighestDirAt(IVec azimuthDir,
                                    int year)
highest and lowest solar vector in the specified azimuth through the year


lowestAndHighestDirAt

public IVec[] lowestAndHighestDirAt(double azimuth,
                                    int year)
highest and lowest solar vector in the specified azimuth through the year


lowestAndHighestDirAt

public IVec[] lowestAndHighestDirAt(IVec azimuthDir,
                                    ISun.DateRange dates)
highest and lowest solar vector in the specified azimuth through the year


lowestAndHighestDirAt

public IVec[] lowestAndHighestDirAt(double azimuth,
                                    ISun.DateRange dates)
highest and lowest solar vector in the specified azimuth through the year


lowestAndHighestDirAt

public IVec[] lowestAndHighestDirAt(double azimuth,
                                    ISun.DateRange dates,
                                    int sampleNumber)
highest and lowest solar vector in the specified azimuth through the year


azimuth

public static double azimuth(double latitude,
                             double longitude,
                             double elevation,
                             double timeZone,
                             int year,
                             int month,
                             int day,
                             double hour,
                             boolean daylightSavingTime)
calculate azimuth angle at the given time and location hour can include fraction of minutes


altitude

public static double altitude(double latitude,
                              double longitude,
                              double elevation,
                              double timeZone,
                              int year,
                              int month,
                              int day,
                              double hour,
                              boolean daylightSavingTime)
calculate altitude angle at the given time and location hour can include fraction of minutes


azimuth

public static double azimuth(IVec azimuthDir,
                             IVec northDirection)
conveting vector to azimuth angle


dir

public static IVec dir(double latitude,
                       double longitude,
                       double elevation,
                       double timeZone,
                       IVec northDir,
                       int year,
                       int month,
                       int day,
                       double hour,
                       boolean daylightSavingTime)

direction

public static IVec direction(double latitude,
                             double longitude,
                             double elevation,
                             double timeZone,
                             IVec northDir,
                             int year,
                             int month,
                             int day,
                             double hour,
                             boolean daylightSavingTime)

direction

public static IVec direction(double altitude,
                             double azimuth,
                             IVec northDir)
converting azimuth and altitude to XYZ vector


angles

public static double[] angles(double latitude,
                              double longitude,
                              double elevation,
                              double timeZone,
                              int year,
                              int month,
                              int day,
                              double hour,
                              boolean daylightSavingTime)
alias of calcAngle.


calcAngle

public static double[] calcAngle(double latitude,
                                 double longitude,
                                 double elevation,
                                 double timeZone,
                                 int year,
                                 int month,
                                 int day,
                                 double hour,
                                 boolean daylightSavingTime)
calculate altitude and azimuth angle.

Returns:
array of 2 double value; first is altitude, second is azimuth

calcEquatorialCoordinates

public static double[] calcEquatorialCoordinates(double julianDate)

calcHorizontalCoordinates

public static double[] calcHorizontalCoordinates(double rightAscension,
                                                 double declination,
                                                 double julianDate,
                                                 double latitude,
                                                 double longitude,
                                                 double elevation,
                                                 double eclipticLongitude)

corefract

public static double corefract(double altitudeAngle,
                               double elevation)

corefractForward

public static double corefractForward(double altitudeAngle,
                                      double pressure,
                                      double temperature)

localSiderealTime

public static double localSiderealTime(double lng,
                                       double jd)
convert from local civil time to local mean siderial time.


coaberration

public static double[] coaberration(double julianDate,
                                    double rightAscension,
                                    double declination,
                                    double eps,
                                    double eclipticLongitude)

nutate

public static double[] nutate(double julianDate)

julianDate

public static double julianDate(int year,
                                int month,
                                int day,
                                double hour)
converting calender dates into julian dates.

Parameters:
hour - and fraction of hour (including min, sec, ...

conutate

public static double[] conutate(double julianDate,
                                double rightAscension,
                                double declination)

precess

public static double[] precess(double rightAscension,
                               double declination,
                               double equinox1,
                               double equinox2,
                               boolean fk4)

precessMatrix

public static double[][] precessMatrix(double equinox1,
                                       double equinox2,
                                       boolean fk4)

degStr

public static java.lang.String degStr(double deg)

hourStr

public static java.lang.String hourStr(double deg)

adstring

public static java.lang.String adstring(double ra)

mod

public static double mod(double x,
                         double mod)
cyclic modulus operation including negative range


main

public static void main(java.lang.String[] args)

isLeapYear

public static boolean isLeapYear(int year)
convert count of days from Jan 1st to month and date. day count 1 is Jan 1st.

Returns:
array of int; first is month, second is date

endDayOfMonth

public static int endDayOfMonth(int year,
                                int month)