Kippzonen BSRN Scientific Solar Monitoring System Manual do Utilizador Página 179

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 188
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 178
167
Subroutine Solar: Equations based upon the paper of Michalsky (1988) and the approximate equations
given in the Astronomical Almanac.
Note: Subroutine call is to be a single line
SUB AstroAlm (year, jd, GMT, Lat, Lon, StnHeight, Az, El, EOT, SolarTime$, Decdegrees, Airmass$,
HaDegrees)
' ===========================================================================
' The following subroutine calculates the approxim ate solar position and is
' based on the following paper:
' Joseph J. Michalsky: The astronomical almanac's algorithm for approximate
' solar position (1950-2050). Solar Energy 40 (3), 227-235 (1988).
' Note also that an Errata notice appeared in Solar Energy Vol. 41, No. 1,
' p. 113, 1988 concerning a correction to the above algorithm . This
' correction has been incorporated into the subroutine that follows.
' In the original subroutine, a division by latitude in the determination of
' of 'elc' (critical elevation) caused a divide by zero error for equatorial
' calculations. This code has been replacedby equivalent code for deter-
' mining solar azimuth.
' This subroutine calculates the local azimuth and elevation of the sun at
' a specific location and time using an approximation to equations used to
' generate tables in The Astronomical Almanac. Refraction correction is added
' so sun position is the apparent one.
' The Astronomical Almanac, U.S. Government Printing Office, Washington, DC
' Input parameters:
' Year = year (e.g., 1986)
' JD = day of year (e.g., Feb. 1 = 32)
' GMT = Greenwich Mean Time (decimal hours)
' Lat = latitude in degrees (north is positive)
' Lon = longitude in degrees (west is positive)
' StnHeight = height of station in metres above sea level
' Output parameters:
' Az = sun azimuth angle
' (measured east from north, 0 to 360 degrees)
' El = sun elevation angle (degrees) plus others, but note the
' units indicated before return to calling routine
' EOT = equation of time (seconds)
' TST = True Solar Time (hours)
' SolarTime$ = solar time (HH:MM:SS)
' Decdegrees = declination in degrees
' Airmass$ = airmass as an alphanumeric string
'
' Notes: 1) The algorithm included in the above-mentioned paper was written
' in Fortran and has been translated into QuickBasic V4.5.
' 2) Since QuickBasic V4.5 does not contain the arcsin function, the
' following substitute relationship is used:
' arcsin(x) = ATN(X / SQR(1 - X ^ 2))
' where ATN is the arctangent.
' 3) The MOD (modulus) function provided by QuickBasic V4.5 is not
' used since it does not yield the same result as the modulus
' function in Fortran. For example:
' in QuickBasic V4.5 19 MOD 6.7 = 5.0 (decimal portion truncated)
' in Fortran 19 MOD 6.7 = 5.6
' As a result, the Fortran modulus function has been rewritten
' using the equivalent:
Vista de página 178
1 2 ... 174 175 176 177 178 179 180 181 182 183 184 ... 187 188

Comentários a estes Manuais

Sem comentários