A C program (ProgFuzzy. c) that computes the daily global solar irradiation using these fuzzy procedures, is included on the CD. The membership functions of the linguistic variables air temperature amplitude and Julian day are defined as in Fig. 7.6. To compute the membership function of At attributes Eqs. (7.18) and (7.19) are used. For this a data file “stationtemperatures. pm” is read from disk. It should contain 365 rows with the daily air temperatures organized in 4 tab-delimited columns as follows:
Julian day Mean Maxima Minima
The data is used to calculate the coefficients Ci = Ati and c7 = max(At) in Eq. (7.18) for At attributes and yearly average At and t in Eq. (7.19) for | factor. This file (stationtemperatures. pm) should be prepared by the user. For this, a large on-line database, Global Surface Summary of Day Data, from National Climatic Data Center – NCDC, Asheville, USA, which contains surface meteorological parameters collected over 8000 stations around the world, including air temperature mean maxima and minima is available at http://www. ncdc. noaa. gov.
The program has been designed to compute the global solar irradiation in a given day and for a given air temperature amplitude. The user is asked to input the local latitude (in degrees), Julian day, air temperature maxima and minima (in Celsius). The program will return the global solar energy (in KWh/m2/day).
The C source file ProgFuzzy. c can be easy modified to meet user requirements. For example, the stationtemperatures. pm file in given example could be extended for a better account of local meteo-climate particularities by adding data of several years. One can build a loop to compute the solar irradiance in a period, by reading the data from a new input file instead of asking for the input from keyboard.