Class SOLsurface

java.lang.Object
  |
  +--SOLsurfaceBase
        |
        +--SOLsurface
Direct Known Subclasses:
SOLwindow

public class SOLsurface
extends SOLsurfaceBase
implements CWmonitorable

This class extends the SOLsurfaceBase class, which defines basic operations for a surface. This class includes reference to a TMYdata class, and versions of the methods that use data from the TMYdata class.


Field Summary
static java.lang.String[] base_fields
           
static int DIFFUSE_IRRADIANCE
           
static int DIFFUSE_IRRADIANCE_SIMPLE
           
static int DIFFUSE_RADATION_SIMPLE
           
static int DIFFUSE_RADIATION
           
static int DIRECT_IRRADIANCE
           
static int DIRECT_RADIATION
           
static int[] field_types
           
static int GROUND_REFLECTED_IRRADIANCE
           
static int GROUND_REFLECTED_RADIATION
           
 TMYdata tmystuff
           
static int TOTAL_RADIATION
           
 
Fields inherited from class SOLsurfaceBase
area, location, name, orientation, rho
 
Constructor Summary
SOLsurface(TMYdata tmystuff, SOLorientation orientation, double area, double rho, java.lang.String name)
          Create a SOLsurface object, given A SOLorientation object, The area of the surface (m2), The ground reflectance.
SOLsurface(TMYdata tmystuff, SOLorientation orientation, double area, double rho, java.lang.String name, java.lang.String[] fields)
          Create a SOLsurface object, given A SOLorientation object, The area of the surface (m2), The ground reflectance.
 
Method Summary
 double getDiffuseIrradiance(int month, int day, int hour)
          Return diffuse irradiance on the surface (Watts/m2), calculated according to Perez (1990), given The Month number, The Day number, The Hour number.
 double getDiffuseIrradianceSimple(int month, int day, int hour)
          Return diffuse irradiance (in Watts/m2) by the simple formula, given The Month number, The Day number, The Hour number.
 double getDiffuseRadiation(int month, int day, int hour)
          Return diffuse radiation on the surface (in Watts), calculated according to Perez (1990), given The Month number, The Day number, The Hour number.
 double getDiffuseRadiationSimple(int month, int day, int hour)
          Return diffuse radiation by the simple formula, given A TMYdata object, The month number, The day number, The Hour number.
 double getDirectIrradiance(int month, int day, int hour)
          Return the direct irradiance on the surface (in W/m2), given The month number, The day number, The hour number.
 double getDirectRadiation(int month, int day, int hour)
          Return the direct radiation on the surface (in Watts), given A TMYdata object, The month number, The day number, The hour number.
 java.lang.String[] getFields()
          Part of the CWmonitorable interface.
 int[] getFieldTypes()
          Returns the list of types of the monitorable fields.
 double getGroundReflectedIrradiance(double Ih)
          Return ground reflected irradiance on the surface (in Watts/m2), given The global horizontal irradiance (W/m2) The ground reflectance.
 double getGroundReflectedIrradiance(int month, int day, int hour)
          Return ground reflected irradiance on the surface (in Watts/m2), given The Month number, The Day number, The Hour number, The ground reflectance.
 double getGroundReflectedRadiation(double Ih)
          Return ground reflected radiation on the surface, given The global horizontal irradiance (in Watts) The ground reflectance.
 double getGroundReflectedRadiation(int month, int day, int hour)
          Return ground reflected radiation on the surface (in Watts), given , The Month number, The Day number, The Hour number, The ground reflectance.
 double getTotalIncidentRadiation(int month, int day, int hour)
          Return the total radiation on the surface (in Watts), given Month number, Day number, Hour number.
 double getValue(int month, int day, int hour, int fieldnum)
          Access to all of the methods using TMY data using same method name as for accessing values from the solar classes.
static int nextInstanceNumber()
           
 
Methods inherited from class SOLsurfaceBase
getArea, getDiffuseIrradiance, getDiffuseIrradianceSimple, getDiffuseRadiation, getDiffuseRadiationSimple, getDirectIrradiance, getDirectRadiation, getName, getTotalIncidentRadiation, setArea, setRho
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIFFUSE_IRRADIANCE

public static final int DIFFUSE_IRRADIANCE

DIFFUSE_RADIATION

public static final int DIFFUSE_RADIATION

DIFFUSE_IRRADIANCE_SIMPLE

public static final int DIFFUSE_IRRADIANCE_SIMPLE

DIFFUSE_RADATION_SIMPLE

public static final int DIFFUSE_RADATION_SIMPLE

GROUND_REFLECTED_IRRADIANCE

public static final int GROUND_REFLECTED_IRRADIANCE

GROUND_REFLECTED_RADIATION

public static final int GROUND_REFLECTED_RADIATION

DIRECT_IRRADIANCE

public static final int DIRECT_IRRADIANCE

DIRECT_RADIATION

public static final int DIRECT_RADIATION

TOTAL_RADIATION

public static final int TOTAL_RADIATION

base_fields

public static java.lang.String[] base_fields

field_types

public static int[] field_types

tmystuff

public TMYdata tmystuff
Constructor Detail

SOLsurface

public SOLsurface(TMYdata tmystuff,
                  SOLorientation orientation,
                  double area,
                  double rho,
                  java.lang.String name)
Create a SOLsurface object, given

SOLsurface

public SOLsurface(TMYdata tmystuff,
                  SOLorientation orientation,
                  double area,
                  double rho,
                  java.lang.String name,
                  java.lang.String[] fields)
Create a SOLsurface object, given
Method Detail

nextInstanceNumber

public static int nextInstanceNumber()

getDiffuseIrradiance

public double getDiffuseIrradiance(int month,
                                   int day,
                                   int hour)
Return diffuse irradiance on the surface (Watts/m2), calculated according to Perez (1990), given

getDiffuseRadiation

public double getDiffuseRadiation(int month,
                                  int day,
                                  int hour)
Return diffuse radiation on the surface (in Watts), calculated according to Perez (1990), given

getDiffuseIrradianceSimple

public double getDiffuseIrradianceSimple(int month,
                                         int day,
                                         int hour)
Return diffuse irradiance (in Watts/m2) by the simple formula, given

getDiffuseRadiationSimple

public double getDiffuseRadiationSimple(int month,
                                        int day,
                                        int hour)
Return diffuse radiation by the simple formula, given

getGroundReflectedIrradiance

public double getGroundReflectedIrradiance(double Ih)
Return ground reflected irradiance on the surface (in Watts/m2), given
Overrides:
getGroundReflectedIrradiance in class SOLsurfaceBase

getGroundReflectedRadiation

public double getGroundReflectedRadiation(double Ih)
Return ground reflected radiation on the surface, given
Overrides:
getGroundReflectedRadiation in class SOLsurfaceBase

getGroundReflectedIrradiance

public double getGroundReflectedIrradiance(int month,
                                           int day,
                                           int hour)
Return ground reflected irradiance on the surface (in Watts/m2), given

getGroundReflectedRadiation

public double getGroundReflectedRadiation(int month,
                                          int day,
                                          int hour)
Return ground reflected radiation on the surface (in Watts), given

getDirectIrradiance

public double getDirectIrradiance(int month,
                                  int day,
                                  int hour)
Return the direct irradiance on the surface (in W/m2), given

getDirectRadiation

public double getDirectRadiation(int month,
                                 int day,
                                 int hour)
Return the direct radiation on the surface (in Watts), given

getTotalIncidentRadiation

public double getTotalIncidentRadiation(int month,
                                        int day,
                                        int hour)
Return the total radiation on the surface (in Watts), given

getValue

public double getValue(int month,
                       int day,
                       int hour,
                       int fieldnum)
Access to all of the methods using TMY data using same method name as for accessing values from the solar classes.
Specified by:
getValue in interface CWmonitorable

getFields

public java.lang.String[] getFields()
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