Class SOLlocation

java.lang.Object
  |
  +--SOLlocation

public class SOLlocation
extends java.lang.Object
implements CWmonitorable

This class represents a location on the surface of planet Earth. Its class variables define a position on Earth and its time zone. Methods for this class deal with solar time and the position of the sun in the sky at this location.

At this location can be defined one or more orientations, defined by the SOLorientation object, of surfaces exposed to the sun. These are all contained the linked list "orientations" attached to this location object.


Field Summary
 double elevation
          Elevation at this location, in meters.
static int[] field_types
           
static java.lang.String[] fields
          Values accessible using the getValue() method.
 double latitude
          Latitude of the surface, in degrees.
 double longitude
          Longitude of the surface, in degrees.
 java.lang.String name
          Name of this location.
 java.util.Vector orientations
          List of orientations associated with this location.
 int time_zone
          Longitude of the standard time zone in degrees.
 TMYdata tmystuff
           
 
Constructor Summary
SOLlocation(double latitude, double longitude, int time_zone, double elevation, java.lang.String name)
          Create an SOLlocation object, which represents a location on the surface of planet Earth.
 
Method Summary
 double getDeclination(int daynum)
          Returns solar declination, in degrees (angle between ecliptic and equator), given a day number.
 double getElevation()
          Returns the elevation of the location.
 java.lang.String[] getFields()
          Returns the list of monitorable fields.
 int[] getFieldTypes()
          Returns the list of types of the monitorable fields.
 double getHourAngle(int solar_time)
          Returns Hour Angle, in degrees.
 double getLatitude()
          Returns the latitude of the location station.
 double getLongitude()
          Returns the longitude of the location.
 java.lang.String getName()
           
 double getSolarAltitude(double decl, int solar_time)
          Returns solar altitude, in degrees, given solar time and declination.
 double getSolarAltitude(int daynum, int solar_time)
          Returns solar altitude, in degrees, given solar time and day number.
 double getSolarAzimuth(double decl, int solar_time)
          Returns solar azimuth, in degrees, given solar time and declination.
 double getSolarAzimuth(int daynum, int solar_time)
          Returns solar azimuth, in degrees, given solar time and day number.
 int getSolarTime(int daynum, int standard_time)
          Returns local solar time, in seconds, given the day number (in the year) and the local standard time (in seconds).
 int getTimeZone()
          Returns the time zone of the data location, in degrees (longitude of standard meridian).
 double getValue(int month, int day, int hour, int fieldnum)
          Provides access to this classes methods in common getValue() format.
 int timeInSeconds(int hour, int minute, int second)
          Returns time of day in seconds.
static double toDegrees(double angle)
           
static double toRadians(double angle)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fields

public static final java.lang.String[] fields
Values accessible using the getValue() method.

field_types

public static final int[] field_types

latitude

public double latitude
Latitude of the surface, in degrees.

longitude

public double longitude
Longitude of the surface, in degrees.

time_zone

public int time_zone
Longitude of the standard time zone in degrees.

elevation

public double elevation
Elevation at this location, in meters.

name

public java.lang.String name
Name of this location.

orientations

public java.util.Vector orientations
List of orientations associated with this location.

tmystuff

public TMYdata tmystuff
Constructor Detail

SOLlocation

public SOLlocation(double latitude,
                   double longitude,
                   int time_zone,
                   double elevation,
                   java.lang.String name)

Create an SOLlocation object, which represents a location on the surface of planet Earth. The parameters defining the location are its:

Method Detail

toRadians

public static double toRadians(double angle)

toDegrees

public static double toDegrees(double angle)

getLatitude

public double getLatitude()
Returns the latitude of the location station.

getLongitude

public double getLongitude()
Returns the longitude of the location.

getTimeZone

public int getTimeZone()
Returns the time zone of the data location, in degrees (longitude of standard meridian).

getElevation

public double getElevation()
Returns the elevation of the location.

getName

public java.lang.String getName()
Specified by:
getName in interface CWmonitorable

getFields

public java.lang.String[] getFields()
Returns the list of monitorable fields. Part of the CWmonitorable interface.
Specified by:
getFields in interface CWmonitorable

getFieldTypes

public int[] getFieldTypes()
Returns the list of types of the monitorable fields. Part of the CWmonitorable interface. Used for unit conversions. Types are defined in class UnitConverter.
Specified by:
getFieldTypes in interface CWmonitorable

getDeclination

public double getDeclination(int daynum)
Returns solar declination, in degrees (angle between ecliptic and equator), given a day number.

getSolarTime

public int getSolarTime(int daynum,
                        int standard_time)
Returns local solar time, in seconds, given the day number (in the year) and the local standard time (in seconds).

timeInSeconds

public int timeInSeconds(int hour,
                         int minute,
                         int second)
Returns time of day in seconds. Inputs are the hour of the day (0-23), the minute of the hour (0-59), and second of the minute (0-59).

getHourAngle

public double getHourAngle(int solar_time)
Returns Hour Angle, in degrees. Input is the local solar time, in seconds.

getSolarAltitude

public double getSolarAltitude(double decl,
                               int solar_time)
Returns solar altitude, in degrees, given solar time and declination.

getSolarAltitude

public double getSolarAltitude(int daynum,
                               int solar_time)
Returns solar altitude, in degrees, given solar time and day number.

getSolarAzimuth

public double getSolarAzimuth(double decl,
                              int solar_time)
Returns solar azimuth, in degrees, given solar time and declination.

getSolarAzimuth

public double getSolarAzimuth(int daynum,
                              int solar_time)
Returns solar azimuth, in degrees, given solar time and day number.

getValue

public double getValue(int month,
                       int day,
                       int hour,
                       int fieldnum)
Provides access to this classes methods in common getValue() format.
Specified by:
getValue in interface CWmonitorable