|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--CSolar
Rutinas de estimación de radiación solar. El código de esta clase ha sido adaptado por Agustín Delgado dentro del proyecto Fotorred.
Inner Class Summary | |
class |
CSolar.CGeo
Localización geográfica del emplazamiento a simular. |
class |
CSolar.CSolarParam
Parámetros para la simulación de radiación solar. |
Field Summary | |
double |
alt
|
(package private) double |
bet
|
static double |
CAU
|
static double |
CDH
|
static double |
CDR
|
static double |
CDY
|
static double |
CHD
|
static double |
CHR
|
static double |
CPI
|
static double |
CRD
|
static double |
CRH
|
static double |
CSC
|
(package private) double |
gam
|
(package private) CSolar.CGeo |
geopos
|
(package private) int |
IHB
|
(package private) int |
IHD
|
(package private) int |
IHG
|
(package private) double |
Kt
|
double |
lat
|
double |
lon
|
double |
mer
|
(package private) java.lang.String |
name
|
(package private) double |
rho
|
(package private) CSolar.CSolarParam |
solarparam
|
double |
sum
|
double |
win
|
Constructor Summary | |
CSolar()
|
Method Summary | |
(package private) double |
AngToHour(double ang)
Convierte valores ang (rad) en horas LAT absolutas Devuelve el valor en horas. |
(package private) double |
AngToNoon(double w)
Convierte valores w (rad) en hora LAT con respecto a mediod¡a Devuelve el valor en horas. |
(package private) double |
CosIncidAng(double b,
double g,
double w,
double d,
double l)
It calculates the value of the Math.cos(incidence angle) for a surface at a SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for an hour angle 'w' (omega,rad), a local latitude 'l' (phi,rad) and for the declination 'd' (delta,rad). |
(package private) double |
cosSolZenith(double w,
double d,
double l)
It calculates the value of the Math.cos(SolarZenith)=Math.sin(SolarAlt) from the hour angle 'w' (rad), the declination 'd' (rad) and the local latitude 'l' (rad). |
(package private) double |
DayAngle(int j)
It calculates the day angle from the year day number. |
int |
DayNumber(int day,
int mon)
Calculates the year day number from the ordinary month day and month numbers. |
(package private) double |
DeclinCoop(int j)
Cooper's formula for declination. |
(package private) double |
DeclinPerr(int j)
Perrin de Brichambaut's formula for declination. |
double |
DeclinSpen(int j)
Spencer's formula for declination. |
(package private) double |
EccenCorrDuff(int j)
Duffie & Beckman's formula for Eccentricity Correction Factor. |
(package private) double |
EccenCorrSpen(int j)
Spencer's formula for Eccentricity Correction Factor. |
(package private) double |
ExtDayRad(double b,
double g,
double l,
int j,
int mode)
|
(package private) double |
ExtDayRadCor(double b,
double g,
double l,
int j)
Calculates the extraterrestrial daily irradiation over a surface oriented at an SolarAzimuth 'g'(gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the day number 'jday' of the year. |
(package private) double |
ExtDayRadStd(double b,
double g,
double l,
int j)
Calculates the extraterrestrial daily irradiation over a surface oriented at an SolarAzimuth 'g'(gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the day number 'jday' of the year. |
(package private) double |
ExtHourRad(double b,
double g,
double wi,
double l,
int j,
int mode)
Calculates the extraterrestrial hourly irradiation of a surface oriented at an SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the day number 'j' of the year. |
double |
ExtHourRadCor(double b,
double g,
double wi,
double l,
int j)
Corrected version of ExtHourRad function. |
(package private) double |
ExtHourRadStd(double b,
double g,
double wi,
double l,
int j)
Calculates the extraterrestrial hourly irradiation of a surface oriented at an SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the day number 'j' of the year. |
(package private) double |
ExtIrrad(double b,
double g,
double w,
double l,
int j)
It calculates the instantaneous extraterrestrial irradiance of a surface oriented at an SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for an hour angle 'w' (omega,rad), a latitude 'l' (phi,rad) and for the day number 'j' of the year. |
(package private) double |
ExtMADayRad(int m,
double b,
double g,
double l,
int mode)
Calculates the extraterrestrial monthly average daily (emad) radiation for a particular hour 'w' (omega,rad) over a surface oriented at an SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the month number 'm' of the year. |
(package private) double |
ExtMAHourRad(int m,
double b,
double g,
double l,
double wi,
int mode)
Calculates the extraterrestrial monthly average hourly (mah) radiation for a particular hour 'w' (omega,rad) over a surface oriented at an SolarAzimuth 'g' (gamma,rad) from the south, tilted an angle 'b' (beta,rad) towards the Equator from the horizontal, for a latitude 'l' (phi,rad) and for the month number 'm' of the year. |
(package private) double |
HDayLength(double d,
double l)
It calculates the day length for horizontal surface, from the declination 'd' (delta,rad) and the local latitude 'l' (phi,rad). |
(package private) void |
HorHDC_Boes(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the Boes correlation, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation values 'Ihg'. |
(package private) void |
HorHDC_Erbs(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the Erbs correlation, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation values 'Ihg'. |
(package private) void |
HorHDC_Madrid1(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the first Macagnan correlation for Madrid, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation value 'Ihg'. |
(package private) void |
HorHDC_Madrid2(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the second Macagnan correlation for Madrid, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation value 'Ihg'. |
(package private) void |
HorHDC_Orgill(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the Orgill & Hollands correlation, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation values 'Ihg'. |
(package private) void |
HorHDC_Reindl2(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the first reduced Reindl correlation, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation value 'Ihg'. |
(package private) void |
HorHDC_Reindl3(double w,
double l,
int j,
double[] radhor,
int mode)
Calculates the diffuse and beam radiation on a horizontal surface using the second reduced Reindl correlation, at an midhour 'w', for the day 'j', for a point at latitude 'l' and a given global radiation value 'Ihg'. |
void |
HorHDC(double w,
double l,
int j,
double[] radhor,
int mode,
int corr)
HORIZONTAL HOURLY DIFFUSE RADIATION CORRELATIONS |
(package private) double |
HorSunrise(double d,
double l)
It calculates the sunrise hour angle for horizontal surface, from the declination 'd' (delta,rad) and the local latitude 'l' (phi,rad). |
(package private) double |
HorSunset(double d,
double l)
It calculates the sunset hour angle for horizontal surface, from the declination 'd' (delta,rad) and the local latitude 'l' (phi,rad). |
double |
HourAngle(double hor)
Calcula el angulo horario a partir de la hora y del angulo diario Devuelve el valor en radianes. |
(package private) double |
IncidAng(double b,
double g,
double w,
double d,
double l)
It calculates the Incidence Angle from the 'CosIncidAng' function. |
(package private) boolean |
InRanBt(double x,
double a,
double b)
|
(package private) boolean |
InRange(double x,
double a,
double b)
|
(package private) boolean |
InRanTp(double x,
double a,
double b)
|
(package private) boolean |
InRanWt(double x,
double a,
double b)
|
(package private) double |
LatTime(int jday,
double LST,
CSolar.CGeo gd)
It calculates the Local Aparent Time 'LAT' from the Local Standard Time 'LST'. |
(package private) double |
LstTime(int jday,
double LAT,
CSolar.CGeo gd)
It calculates the Local Standard Time 'LST'from the Local Aparent Time 'LAT'. |
(package private) double |
OffTime(int jday,
double LAT,
CSolar.CGeo gd)
It calculates the Official Hour from a given LAT hour |
(package private) java.lang.String |
PstTime(double h,
java.lang.String hh)
Returns a string with the hour in standard format |
(package private) double |
RbDayRad(double b,
double g,
double l,
int j,
int mode)
Calculates the ratio of the daily irradiation on an inclined surface to that to an horizontal surface in the absence of the earth's atmosphere. |
(package private) double |
RbHourRad(double b,
double g,
double wi,
double l,
int j,
int mode)
Calculates the ratio of the hourly irradiation on an inclined surface to that to an horizontal surface in the absence of the earth's atmosphere. |
(package private) double |
RbIrrad(double b,
double g,
double w,
double l,
int j)
Calculates the ratio of the irradiance on an inclined surface to that to an horizontal surface in the absence of the earth's atmosphere. |
(package private) double |
RbMADayRad(double b,
double g,
double l,
int m,
int mode)
Calculates the ratio of the monthly average daily irradiation on an inclined surface to that to an horizontal surface in the absence of the earth's atmosphere. |
(package private) double |
RbMAHourRad(double b,
double g,
double wi,
double l,
int m,
int mode)
Calculates the ratio of the monthly average hourly irradiation on an inclined surface to that to an horizontal surface in the absence of the earth's atmosphere. |
double |
readLat()
Devuelve la latitud del emplazamiento elegido. |
void |
SetParams(CSolar.CGeo geo,
CSolar.CSolarParam param)
Establece los parámetros de estimación de radiación solar y los detalles del emplazamiento elegido. |
(package private) double |
SinSolAlt(double w,
double d,
double l)
It calculates the value of the Math.sin(SolarAlt)=Math.cos(SolarZenith) from the hour angle 'w' (rad), the declination 'd' (rad) and the local latitude 'l' (rad). |
double |
SolarAltitude(double w,
double d,
double l)
It calculates the value of the Solar Altitude from the hour angle 'w' (rad), the declination 'd' (rad) and the local latitude 'l' (rad). |
double |
SolarAzimuth(double w,
double d,
double l)
It calculates the value of the Solar Azimuth angle from the hour angle 'w' (rad), the declination 'd' (rad) and the local latitude 'l' (rad). |
double |
SolarZenith(double w,
double d,
double l)
It calculates the value of the solar zenith angle from the hour angle 'w' (rad), the declination 'd' (rad) and the local latitude 'l' (rad). |
(package private) double |
SolTime(int jday,
double hor,
CSolar.CGeo gd)
It calculates the LAT (Solar Time) from the Official Hour |
(package private) double |
TilBeamDay(double b,
double g,
double l,
int j,
double Ihb,
int mode)
|
double |
TilBeamHour(double b,
double g,
double wi,
double l,
int j,
double Ihb,
int mode)
|
(package private) double |
TilBeamIrrad(double b,
double g,
double w,
double l,
int j,
double Ihb)
TILTED SURFACE BEAM RADIATION |
(package private) double |
TilBeamMADay(double b,
double g,
double l,
int m,
double Ihb,
int mode)
|
(package private) double |
TilBeamMAHour(double b,
double g,
double wi,
double l,
int m,
double Ihb,
int mode)
|
(package private) double |
TilDayLength(double b,
double g,
double d,
double l)
Calcula la duracion del "dia" para plano inclinado Devuelve el valor en radianes. |
double |
TilGroundRad(double b,
double Ihg,
double rho)
TILTED SURFACE GROUND RADIATION |
double |
TilHDC(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg,
int mode,
int corr)
TILTED SURFACE HOURLY DIFFUSE RADIATION |
(package private) double |
TilHDifHay(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg,
int mode)
Hourly Diffuse Radiation for Tilted Surface. |
double |
TilHDifIsotrop(double b,
double Ihd)
Hourly Diffuse Radiation for Tilted Surface. |
(package private) double |
TilHDifKlucher(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg)
Hourly Diffuse Radiation for Tilted Surface. |
double |
TilHDifPerez1Pnt(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg,
int mode)
Hourly Diffuse Radiation for Tilted Surface. |
(package private) double |
TilHDifPerez2Pnt(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg,
int mode)
Hourly Diffuse Radiation for Tilted Surface. |
(package private) double |
TilHDifReindl(double b,
double g,
double wi,
double l,
int j,
double Ihd,
double Ihg,
int mode)
Hourly Diffuse Radiation for Tilted Surface. |
(package private) double |
TilHDifTemps(double b,
double g,
double wi,
double l,
int j,
double Ihd)
Hourly Diffuse Radiation for Tilted Surface. |
(package private) double |
TilSunrise(double b,
double g,
double d,
double l)
Calcula el angulo en el que el sol empieza a incidir en una superficie con angulos 'b' (beta,rad) sobre la horizontal y 'g' (gamma,rad) desde el sur, a partir de la declinacion 'd' (delta,rad) y de la latitud 'l' (phi,rad). |
(package private) double |
TilSunset(double b,
double g,
double d,
double l)
Calcula el angulo en el que el sol terMath.mina de incidir en una superficie con angulos 'b' (beta,rad) sobre la horizontal y 'g' (gamma,rad) desde el sur, a partir de la declinacion 'd' (delta,rad) y de la latitud 'l' (phi,rad). |
(package private) double |
TimeEquat(int j)
Spencer's formula for Time Equation. |
Methods inherited from class java.lang.Object |
|
Field Detail |
public static final double CPI
public static final double CDY
public static final double CSC
public static final double CAU
public static final double CHD
public static final double CDH
public static final double CRH
public static final double CHR
public static final double CDR
public static final double CRD
final int IHG
final int IHB
final int IHD
double Kt
double bet
double gam
double rho
java.lang.String name
public double lat
public double lon
public double mer
public double alt
public double sum
public double win
CSolar.CGeo geopos
CSolar.CSolarParam solarparam
Constructor Detail |
public CSolar()
Method Detail |
public void SetParams(CSolar.CGeo geo, CSolar.CSolarParam param)
public double readLat()
public int DayNumber(int day, int mon)
public double DeclinSpen(int j)
double DeclinCoop(int j)
double DeclinPerr(int j)
double DayAngle(int j)
double TimeEquat(int j)
double EccenCorrSpen(int j)
double EccenCorrDuff(int j)
public double SolarZenith(double w, double d, double l)
double cosSolZenith(double w, double d, double l)
public double SolarAltitude(double w, double d, double l)
double SinSolAlt(double w, double d, double l)
public double SolarAzimuth(double w, double d, double l)
double CosIncidAng(double b, double g, double w, double d, double l)
double IncidAng(double b, double g, double w, double d, double l)
double HorSunrise(double d, double l)
double HorSunset(double d, double l)
double HDayLength(double d, double l)
double TilSunrise(double b, double g, double d, double l)
double TilSunset(double b, double g, double d, double l)
double TilDayLength(double b, double g, double d, double l)
double LatTime(int jday, double LST, CSolar.CGeo gd)
double LstTime(int jday, double LAT, CSolar.CGeo gd)
double OffTime(int jday, double LAT, CSolar.CGeo gd)
double SolTime(int jday, double hor, CSolar.CGeo gd)
java.lang.String PstTime(double h, java.lang.String hh)
public double HourAngle(double hor)
double AngToNoon(double w)
double AngToHour(double ang)
double ExtIrrad(double b, double g, double w, double l, int j)
double ExtHourRad(double b, double g, double wi, double l, int j, int mode)
double ExtHourRadStd(double b, double g, double wi, double l, int j)
public double ExtHourRadCor(double b, double g, double wi, double l, int j)
double ExtDayRad(double b, double g, double l, int j, int mode)
double ExtDayRadStd(double b, double g, double l, int j)
double ExtDayRadCor(double b, double g, double l, int j)
double ExtMAHourRad(int m, double b, double g, double l, double wi, int mode)
double ExtMADayRad(int m, double b, double g, double l, int mode)
double RbIrrad(double b, double g, double w, double l, int j)
double RbHourRad(double b, double g, double wi, double l, int j, int mode)
double RbDayRad(double b, double g, double l, int j, int mode)
double RbMAHourRad(double b, double g, double wi, double l, int m, int mode)
double RbMADayRad(double b, double g, double l, int m, int mode)
public void HorHDC(double w, double l, int j, double[] radhor, int mode, int corr)
void HorHDC_Erbs(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Orgill(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Boes(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Reindl2(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Reindl3(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Madrid1(double w, double l, int j, double[] radhor, int mode)
void HorHDC_Madrid2(double w, double l, int j, double[] radhor, int mode)
double TilBeamIrrad(double b, double g, double w, double l, int j, double Ihb)
public double TilBeamHour(double b, double g, double wi, double l, int j, double Ihb, int mode)
double TilBeamDay(double b, double g, double l, int j, double Ihb, int mode)
double TilBeamMAHour(double b, double g, double wi, double l, int m, double Ihb, int mode)
double TilBeamMADay(double b, double g, double l, int m, double Ihb, int mode)
public double TilGroundRad(double b, double Ihg, double rho)
public double TilHDC(double b, double g, double wi, double l, int j, double Ihd, double Ihg, int mode, int corr)
public double TilHDifIsotrop(double b, double Ihd)
double TilHDifTemps(double b, double g, double wi, double l, int j, double Ihd)
double TilHDifKlucher(double b, double g, double wi, double l, int j, double Ihd, double Ihg)
double TilHDifHay(double b, double g, double wi, double l, int j, double Ihd, double Ihg, int mode)
double TilHDifReindl(double b, double g, double wi, double l, int j, double Ihd, double Ihg, int mode)
public double TilHDifPerez1Pnt(double b, double g, double wi, double l, int j, double Ihd, double Ihg, int mode)
double TilHDifPerez2Pnt(double b, double g, double wi, double l, int j, double Ihd, double Ihg, int mode)
boolean InRange(double x, double a, double b)
boolean InRanWt(double x, double a, double b)
boolean InRanTp(double x, double a, double b)
boolean InRanBt(double x, double a, double b)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |