PVsyst standard format for hourly meteo data

<< Click to Display Table of Contents >>

Navigation:  Meteo Database > Import meteo data >

PVsyst standard format for hourly meteo data

Previous pageReturn to chapter overviewNext page

With the tool Import ASCII Meteo files, you can import Hourly Meteo data in virtually any ASCII format.

But if you have access to reliable and clean data in hourly values, you can also manage them in a spreadsheet (like EXCEL) according to the format specified below, so that they can be imported directly into PVsyst with the tool "Import meteo Data". The format also handles time-series.

Once your data has been prepared with EXCEL, you have to save it as a CSV (DOS) file.

NB: you have an example in the database:    \UserData\GeneveSTD.CSV

The advantage will be a simplification of the import process, as the Geographical site information is directly written in the file.

But this tool doesn't include all securities and error recoveries present in the   "Import ASCII meteo file"  tool. It is only suited for quite clean data.


Description of the PVsyst Standard format:

ASCII file: one time-step on one ASCII line (CR+LF line separators), all characters in the file should be plain ASCII.

CSV file: "Comma Separated Values"-like.  Should be easily managed in EXCEL, saved as "CSV(DOS)" file format.

1.    Separator = semicolon or comma (depending on the Windows international settings),

2.    Decimal character should be a dot.

Horizon: the data should be horizon free.


All header and comment lines begin by #

The header may have as many comment lines as desired.

First line: acts as a file format identifier:

#Meteo hourly data    or    #TMY hourly data

Files not beginning with these tags are not considered as PVsyst standard files.

The basic general information required for PVsyst in the header should have the form:

First cell:             #Tag

Second cell:         Value

Third cell:               May be anything (not used): comment, units, etc…

The mandatory fields are :  





#Data Source;


Free text, will appear in the PVsyst site / meteo lists.

#Time step;




Only required when not specified in the data.



Value in decimal degrees.



Value in decimal degrees (- toward west).



Value in m above seal level.

#Time Zone;


Value with respect to GMT (- toward west).


You may have to define additional fields :

#Time reference;


Required when the data time reference is not legal time (*).

#Hour Shift;


First flag proposed by PVSyst to shift the dataset. Expressed in hours.

#Time Shift;


Second flag proposed by PVSyst to shift the dataset. Expressed in minutes (**).

#Plane tilt;


Plane tilt if import of DPI (POA) data.



Yearly albedo.

#Summarization period;

01/01/1997; 31/12/2001

Flag that detects time series. Carefully specify first day and last day.


These tagged lines may appear in any order in the header.

You can add any additional comment defining your product, beginning by #.
(*)   : For example UT, UT+5, UT-3... (UT stands for Universal time).
(**) : Can not exceed the limit specified by the Hidden parameter 'Maximum allowed time shift in Meteo data' (category Miscellaneous : Meteo, Simulation)


1.First line includes column headers  (without # as first character).

2.Second line mentions units            (without # as first character).

3.Third line and next hold  data


Dates: as in EXCEL, the date format may differ according to the Windows international settings; we require one column for each element of date.

Columns with the following headers are required:

For Hourly data:

Year, Month, Day, Hour, (Minute),    the time is the beginning of the data interval,  the solar geometry will be computed at the middle of the interval.  


RMY, TMY: If the data are not  really measured at a determined date,  the year should be 1990 or 2059

Mandatory data (in any order):

Header = GHI

Horizontal global irradiation  [W/m2]

Header = Tamb

Ambient (dry bulb) air temperature [deg.C]


Additional data (optional, in any order)

Header = DHI

Diffuse horizontal irradiance [W/m2]  

Header = DNI

Direct normal irradiance [W/m2]

Header = GPI

Plane of Array irradiance [W/m2]

Header = WindVel

Wind velocity (at 10m altitude) [m/sec]

Header = WindDir*

Wind direction [°] (**)

Header = SnowDepth*

Snow depth [cm]

Header = Linke*

Linke turbidity coefficient

Header = Pw*

Precipitable water column height [cm]

Header = Aod*

Aerosol optical depth


Other columns with different data may be defined, but will not be used by PVsyst.

Leap years:

- Real data (with real year definition) should include 29 th February when necessary.

- Averaged data (with no specific year definition, i.e. 1990 or 2059) should never define 29th February.

In PVsyst, data which are not really measured (averaged months, synthetic generation) are marked with Year = 1990 or 2059.

Missing data:

The PVsyst simulation requires complete data (for relevant monthly or yearly sums).

Missing data should be labeled -99 (or less).  During the import, the missing values will be replaced by an average of the corresponding hour of the previous and the next day.

Night data:

The night data are mandatory. For a full year of data, PVsyst expects 8760 (8784 for leap years) lines.
(*) Not used yet in PVSyst.
(**) Wind direction in degrees clockwise from North ( N = 0 or 360, E = 90,  S = 180,W = 270 ).