Dharam,
This is a simple Pascal routine that will do for conversion for you. Note:
This is modified for RSA. eg: DALEN represents the max sunshine hour for a
particular month. In this case RSA.
The function takes as input:
1: sunshine hours (of type extend or float in C) for a particular day, and
2: the Julian day count (of type integer)
It returns the solar radiation for the given day.
You will have to modify this however. I suppose you could use the latitude
to determine the maximum sunshine hours at any given location on earth. Such
an equation you will easily get of the internet.
function Radiation(sun: extended; daycnt : integer) : double;
const DALEN : array[0..13] of extended = (0.0, 13.8, 13.1, 12.3, 11.4, 10.7,
10.3, 10.5, 11.1, 11.9, 12.8, 13.6, 14.0, 14.0);
var
Xo, SOLK, ALPHA, BETHA, DAYFRC, RFD, RFDM : extended;
JDA, NMNTH : integer;
begin
JDA := daycnt;
Xo := ((JDA + 10.0) / 365.0) * 360.0;
Xo := Xo * 0.01745;
SOLK := 30.85 + 12.65 * cos(Xo);
SOLK := SOLK * 1E+6;
ALPHA := 0.21;
BETHA := 0.71;
NMNTH := round(daycnt / 30 + 1);
DAYFRC := sun / DALEN[NMNTH];
if (DAYFRC > 0.5) then
begin
ALPHA := 0.29;
BETHA := 0.5;
end;
RFD := SOLK * (ALPHA + BETHA * DAYFRC);
RFDM := RFD / (DALEN[NMNTH] * 3600.0*24);
Result := RFDMKep;
end;
----- Original Message -----
From: "Dr Dharam Singh Dabas" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Wednesday, April 17, 2002 6:11 AM
Subject: How to convert bright sunshine hours to solar radiation.
> Dear friends,
>
> I have sunshine hours data. Can somebody suggest me the way, reference to
> the logic or some program/utility to convert the sunshine hours to solar
> radiation for simulation in DSSAT?
>
> Thanks in advance,
>
> Dharam S Dabas
> CCS HAU, Hisar
>
|