UV index and UV dose: netCDF data file structure
|
|
Main data product description page |
netCDF data file structure
The daily data of UV index and UV dose fields is stored in four yearly netCDF data files.This page describes the format of yearly netCDF files with daily data.
The daily HDF-4 files with daily data are described here.
Similar files are used for climatologies, i.e. long-term term averages over the data.
These files can be downloaded directly from:
* this page for operational UV data, and
* this page for MSR-2 based UV data.Simply said, such files have the following structure:
Files in the netCDF format, an expanded version of HDF-5, can be read by a multitude of modern programs, including Python, R, Fortran, C, IDL. The UV index and UV dose files can be viewed with the Panoply netCDF, HDF and GRIB Data Viewer.
- A set of global attributes
these specify the product name, data, version, etc.- A group
ALGORITHM_SETTINGS
with a set of group attributes
these list a number of settings used in the TEMIS UV algorithm- A group
PRODUCT
that contains the data variables:
- Latitude and longitude of grid cell centres and grid cell corners
- Information on the date of the data stored
- The data sets of the file, depending on which file is selected:
where the UV index and UV dose are accompanied by an error estimate.
- Erythemal UV index & ozone column data
- Erythemal or Vitamin-D or DNA-damage UV dose cloud-free & cloud-modified
Yearly UV index & UV dose netCDF data file structureThe following table gives as an overview of the yearly netCDF file structure for daily UV index & UV dose data in four sections:
Per entry multiple lines are used to list the different possibilities, where:
- The global attributes of the netCDF file
- The
ALGORITHM_SETTINGS
group attributes- The data sets with daily data and their attributes
- The data sets with climatological data and their attributes
* Entries with white background are UV index & ozone data entries
* Entries with blue background are UV dose data entries
* Entries with page colour background are common entriesFor the data files from the MSR-2 record:
* Entries that differ from those of the operational data are in italic
* There is no cloud-modified data
* There is no climatological dataNote that each netCDF files comes in two versions: one with data covering the whole world and one with data covering only (a large part of) Europe; see the global attributes "data_geo_coverage" and "id".
Global attribute Value
* YYYY = product year of daily data
* Differences between daily data and climatological data is shown by sub-columns
* Differences in geographic coverage are separated by ||
* Entries different for the MSR-2 data are in italictitle TEMIS UV index and UV dose operational data products TEMIS UV index and UV dose Multi-Sensor Re-analysis data products institution KNMI / ESA project TEMIS UV authors M. van Weele & J. van Geffen affiliation KNMI (Royal Netherlands Meteorological Institute) weelevm@knmi.nl & geffen@knmi.nl doi 10.21944/temis-uv-oper-v2 10.21944/temis-uv-msr2-v2 reference http://www.temis.nl/uvradiation/ data_description Daily data Daily climatology data_geo_coverage World || Europe data_period [1] YYYY 2004-2020 data_period_minimum_count [1] -- 12 data_version [2] 2.0 naming_authority nl.knmi data_product Erythemal UV index & ozone column data_product Erythemal UV dose cloud-free & cloud-modified
Vitamin-D UV dose cloud-free & cloud-modified
DNA-damage UV dose cloud-free & cloud-modifiedErythemal UV dose cloud-free
Vitamin-D UV dose cloud-free
DNA-damage UV dose cloud-freedata_product_code [3] tiefdv tiefdc miefdv -- data_product_code [3] tdecdv
tdvcdv
tddcdvtdecdc
tdvcdc
tddcdcmdecdv
mdvcdv
mddcdv-- id [4] uviefYYYY_world || uviefYYYY_europe uviefclim_world || uviefclim_europe uviefYYYY_msr_world || uviefYYYY_msr_europe -- id [4] uvdecYYYY_world || uvdecYYYY_europe
uvdvcYYYY_world || uvdvcYYYY_europe
uvddcYYYY_world || uvddcYYYY_europeuvdecclim_world || uvdecclim_europe
uvdvcclim_world || uvdvcclim_europe
uvddcclim_world || uvddcclim_europeuvdecYYYY_world || uvdecYYYY_europe
uvdvcYYYY_world || uvdvcYYYY_europe
uvddcYYYY_world || uvddcYYYY_europe-- geospatial_lat_max 90. || 70. geospatial_lat_min -90. || 30. geospatial_lon_max 180. || 45. geospatial_lon_min -180. || -25. geospatial_lat_resolution 0.25 degree geospatial_lon_resolution 0.25 degree geospatial_lat_units degrees_north geospatial_lon_units degrees_east
- The climatology is an average over the data_period with a data_period_minimum_count
set to the required number of available data points (i.e. years) for each day.- The data_version for all netCDF files is currently 2.0, even though at some point the
data processing was updated; see this list for a version overview.- See this page for info on the meaning of the product code.
- The 'id' is the filename withouth the file extension.
Algorithm attribute Value Aerosol_AOD_368nm 0.3 Aerosol_ssa 0.9 Cloud_modification Derived from MSG CPP surface downwelling solar radiation (SDS) data Cloud-free datasets only Data_created_by [1] TM3-DAM, version 4.3 & temisuv, version 2.0 Earth-Sun_factor ( D / D_0 )^2 with D/D_0 computed with Kepler's first from the
perihelion and eccentricity of the Earths orbit for each dayOzone_data Assimilated global ozone field at local solar noon Ozone_data_source TEMIS operational ozone processing, started 01 July 2002 Multi-Sensor Re-analysis (MSR) ozone record, version 2 Surface_albedo GOME-2A based 0.25x0.25 degree surface albedo at 340nm,
interpolated to the data daySurface_albedo_version [2] Product algorithm version 2.1 Surface_albedo_data http://www.temis.nl/uvradiation/product/albedo.php Surface_albedo_correction ( 1.0-0.25*0.09 ) / ( 1.0-0.25*albedo ) w.r.t. De Bilt=0.09 Surface_elevation GMTED2010 elevation data regridded at 0.250 degree resolution Surface_elevation_correction ( 1.0+0.5*elevation ) with elevation given in km Surface_elevation_data http://temis.nl/data/gmted2010/
- See note above on the 'temisuv' data_version for all netCDF files; the TM3-DAM version may be slightly different.
- As of data_version 2.1 the Surface_albedo_version is actually 3.1;
this algorithm attribute has not been updated accordingly.Daily data Data set -- data type
AttributeRank --> dimensions
Value
* Size of dimensions is only mentioned at first occurrence
* Differences in geographic coverage are separated by ||latitude -- float == dimension
long_name
units
bounds
axis
_FillValue1 --> latitude == 720 || 160
grid cell centre latitude
degrees_north
latitude_bounds
Y
9.96921e+36flongitude -- float == dimension
long_name
units
bounds
axis
_FillValue1 --> longitude == 1440 || 280
grid cell centre longitude
degrees_east
longitude_bounds
X
9.96921e+36fcorner -- ubyte == dimension
long_name
comment
units
_FillValue1 --> corner == 4
grid cell corner index
The indices for the grid cell corners (counter-clockwise).
1
255UByear -- int == dimension
long_name
comment
units
_FillValue1 --> year == 1
year
The current year.
1
-1days -- int == dimension
long_name
comment
units
_FillValue1 --> days == 365 or 366
day number
The day in the current year.
1
-1latitude_index -- int
long_name
comment
units
axis
_FillValue1 --> latitude
grid cell centre latitude index (0-based)
latitude_index = round ( latitude + 90.0 - dlat/2.0 ) / dlat ,
with dlat = 0.25 degrees.
1
Y
-1longitude_index -- int
long_name
comment
units
axis
_FillValue1 --> longitude
grid cell centre longitude index (0-based)
longitude_index = round ( longitude + 180.0 - dlon/2.0 ) / dlon ,
with dlon = 0.25 degrees.
1
X
-1latitude_bounds -- float
long_name
units
_FillValue2 --> latitude, corner
grid cell corner latitude
degrees_north
9.96921e+36flongitude_bounds -- float
long_name
units
_FillValue2 --> longitude, corner
grid cell corner longitude
degrees_east
9.96921e+36fdate -- int
long_name
comment
units
_FillValue1 --> days
date of the day number
Format is YYYYMMDD, stored as integer.
1
-1date_string -- string
long_name
comment
units
_FillValue1 --> days
date of the day number
Format is YYYYMMDD, stored as string.
1
""date_month -- int
long_name
comment
units
_FillValue1 --> days
month number for each day
""
1
-1uvi_clear -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon
1
-1.0
latitude longitude
-1.0uvi_clear_error -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon error estimate
1
-1.0
latitude longitude
-1.0ozone_column -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Ozone column at local solar noon
DU
-1.0
latitude longitude
-1.0uvd_clear -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free
Vitamin-D UV dose cloud-free
DNA-damage UV dose cloud-free
kJ/m2
-1.0
latitude longitude
-1.0uvd_clear_error -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free error estimate
Vitamin-D UV dose cloud-free error estimate
DNA-damage UV dose cloud-free error estimate
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified
Vitamin-D UV dose cloud-modified
DNA-damage UV dose cloud-modified
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy_error -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified error estimate
Vitamin-D UV dose cloud-modified error estimate
DNA-damage UV dose cloud-modified error estimate
kJ/m2
-1.0
latitude longitude
-1.0cloud_mod_factor -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
average cloud modification factor
1
-1.0
latitude longitude
-1.0earth_sun_factor -- float
long_name
units
_FillValue3 --> days, latitude, longitude
sun-earth distance correction factor
1
-1.0Climatological data Data set -- data type
AttributeRank --> dimensions
Valuelatitude -- float == dimension
long_name
units
bounds
axis
_FillValue1 --> latitude == 720 || 160
grid cell centre latitude
degrees_north
latitude_bounds
Y
9.96921e+36flongitude -- float == dimension
long_name
units
bounds
axis
_FillValue1 --> longitude == 1440 || 280
grid cell centre longitude
degrees_east
longitude_bounds
X
9.96921e+36fcorner -- ubyte == dimension
long_name
comment
units
_FillValue1 --> corner == 4
grid cell corner index
The indices for the grid cell corners (counter-clockwise).
1
255UBdays -- int == dimension
long_name
comment
units
_FillValue1 --> days == 365
day number
The day in the year; leapday 29 Feb. is skipped.
1
-1latitude_index -- int
long_name
comment
units
axis
_FillValue1 --> latitude
grid cell centre latitude index (0-based)
latitude_index = round ( latitude + 90.0 - dlat/2.0 ) / dlat ,
with dlat = 0.25 degrees.
1
Y
-1longitude_index -- int
long_name
comment
units
axis
_FillValue1 --> longitude
grid cell centre longitude index (0-based)
longitude_index = round ( longitude + 180.0 - dlon/2.0 ) / dlon ,
with dlon = 0.25 degrees.
1
X
-1latitude_bounds -- float
long_name
units
_FillValue2 --> latitude, corner
grid cell corner latitude
degrees_north
9.96921e+36flongitude_bounds -- float
long_name
units
_FillValue2 --> longitude, corner
grid cell corner longitude
degrees_east
9.96921e+36fdate -- int
long_name
comment
units
_FillValue1 --> days
month and day of the day number
Format is MMDD, stored as integer.
1
-1date_string -- string
long_name
comment
units
_FillValue1 --> days
month and day of the day number
Format is MMDD, stored as string.
1
""date_month -- int
long_name
comment
units
_FillValue1 --> days
month number for each day
""
1
-1uvi_clear_mean -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon average
1
-1.0
latitude longitude
-1.0uvi_clear_stddev -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon standard deviation
1
-1.0
latitude longitude
-1.0uvi_clear_min -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon minimum
1
-1.0
latitude longitude
-1.0uvi_clear_max -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV index (cloud-free) at local solar noon maximum
1
-1.0
latitude longitude
-1.0ozone_column_mean -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Ozone column at local solar noon average
DU
-1.0
latitude longitude
-1.0ozone_column_stddev -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Ozone column at local solar noon standard deviation
DU
-1.0
latitude longitude
-1.0ozone_column_min -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Ozone column at local solar noon minimum
DU
-1.0
latitude longitude
-1.0ozone_column_max -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Ozone column at local solar noon maximum
DU
-1.0
latitude longitude
-1.0uvd_clear_mean -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free at local solar noon average
Vitamin-D UV dose cloud-free at local solar noon average
DNA-damage UV dose cloud-free at local solar noon average
kJ/m2
-1.0
latitude longitude
-1.0uvd_clear_stddev -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free at local solar noon standard deviation
Vitamin-D UV dose cloud-free at local solar noon standard deviation
DNA-damage UV dose cloud-free at local solar noon standard deviation
kJ/m2
-1.0
latitude longitude
-1.0uvd_clear_min -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free at local solar noon minimum
Vitamin-D UV dose cloud-free at local solar noon minimum
DNA-damage UV dose cloud-free at local solar noon minimum
kJ/m2
-1.0
latitude longitude
-1.0uvd_clear_max -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-free at local solar noon maximum
Vitamin-D UV dose cloud-free at local solar noon maximum
DNA-damage UV dose cloud-free at local solar noon maximum
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy_mean -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified at local solar noon average
Vitamin-D UV dose cloud-modified at local solar noon average
DNA-damage UV dose cloud-modified at local solar noon average
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy_stddev -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified at local solar noon standard deviation
Vitamin-D UV dose cloud-modified at local solar noon standard deviation
DNA-damage UV dose cloud-modified at local solar noon standard deviation
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy_min -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified at local solar noon minimum
Vitamin-D UV dose cloud-modified at local solar noon minimum
DNA-damage UV dose cloud-modified at local solar noon minimum
kJ/m2
-1.0
latitude longitude
-1.0uvd_cloudy_max -- int
long_name
units
no_data_value
coordinates
_FillValue3 --> days, latitude, longitude
Erythemal UV dose cloud-modified at local solar noon maximum
Vitamin-D UV dose cloud-modified at local solar noon maximum
DNA-damage UV dose cloud-modified at local solar noon maximum
kJ/m2
-1.0
latitude longitude
-1.0
last modified: 20 February 2024
data product contact:
Jos van Geffen & Michiel van Weele &
Ronald van der A
Copyright © KNMI / TEMIS