GSICS SRF NetCDF Convention

Instrument Spectral Response Function (SRF) characterizes the sensitivity of instrument’s each spectral band. The SRF files are provided by instrument vendors, satellite operators or user communities in various forms such as csv, xml, MS Excel and flat file. In 2013, GDWG developed a tool to convert such SRF files to netCDF in support of GSICS activities. The user community has used these netCDF SRF files, for example the GIRO (GSICS Implementation of the ROLO model) adopts these files as one of the inputs.

The following is a template as of July 2018 (Option#1 shown in Discussion section). It was agreed by GSICS members to use this convention, but it could be updated in future because the current one does not fully follow CF and WMO conventions.

File Names

The netCDF SRF file naming (as of July 2018) basically follows GSICS File Naming Convention. The following is an example of Himawari-8/AHI.


Other examples are available on Spectral Response Function (SRF) netCDF for GIRO application page. Please be aware that the current naming convention has several issues for further consideration. It is noted in the following Discussion section.

File Contents (netCDF Convention)

In a similar way to the file naming, netCDF SRF follows GSICS netCDF Convention, which is compliant with CF (Climate and Forecast) Conventions and Metadata.

Global Attributes

 :Conventions = "CF-1.6";

 :Metadata_Conventions = "Unidata Dataset Discovery v1.0" ;

 :standard_name_vocabulary = "CF Standard Name Table (v24, 27 June 2013)" ;

 :project = "Global Space-based Inter-Calibration System <>" ;

 :license = "This file was produced in support of GSICS activities. Any publication using this file should acknowledge both GSICS and the data's relevant organization. Neither the data creator, nor the data publisher, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information." ;
 :title = "SATELLITE INSTRUMENT Normalized Spectral Response Data" ;

 :summary = "Normalized spectral response functions (SRF) for all channels of the SATELLITE INSTRUMENT are stored in this file. The data came from the official files (see the source global attribute)." ;

 :naming_authority = "REVERSE DNS OF YOUR DOMAIN" ;

 :id = "FILE NAME" ;



 :creator_email = "DATA PRODUCER'S CONTACT EMAIL" ;



 :publisher_email = "DATA PUBLISHER'S CONTACT EMAIL" ;

 :publisher_url = "DATA PUBLISHER'S WEBSITE" ;

 :date_created = "FILE CREATION TIME IN YYYY-MM-DDThh:mm:ssZ" ;

 :date_modified = "FILE MODIFICATION TIME IN YYYY-MM-DDThh:mm:ssZ" ;



 :platform = "SATELLITE NAME" ;

 :instrument = "INSTRUMENT NAME" ;

 :wmo_satellite_code = WMO_SATELLITE_CODE ; // type short

 :wmo_satellite_instrument_code = WMO_INSTRUMENT_CODE ; // type short


  channel = X ; // # of channels included in the netCDF file 

  sample = Y ; // Max # of SRF samples among channels in the netCDF file 


   double channel(channel) ;
     :units = "um" ;
     :long_name = "nominal channel central wavelength" ;
     :valid_min = MIN WAVELENGTH ;
     :valid_max = MAX WAVELENGTH ;

   string channel_id(channel) ;
     :long_name = "channel identifier" ;
     :standard_name = "sensor_band_identifier" ;

   ubyte origin(channel) ; // flag representing original sample domain ("1" denotes original SRF was measured in wavelength unit)
     :flag_meanings = "wavelength wavenumber" ;
     :long_name = "original sample domain" ;
     :valid_min = 1UB ;
     :valid_max = 2UB ;
     :flag_values = 1UB, 2UB ;

   double wavelength(sample, channel) ;
     :_FillValue = -9999. ;
     :units = "um" ;
     :long_name = "wavelength" ;
     :valid_min = MIN WAVELENGTH ;
     :valid_max = MAX WAVELENGTH ;
     :ancillary_variables = "origin" ;

   double wavenumber(sample, channel) ;
     :_FillValue = -9999. ;
     :comment = "Values are in descending order." ;
     :ancillary_variables = "origin" ;
     :units = "cm-1" ;
     :long_name = "wavenumber" ;
     :valid_min = MIN WAVENUMBER ;
     :valid_max = MAN WAVENUMBER ;

   double srf(sample, channel) ;
     :_FillValue = -9999. ;
     :units = "1" ;
     :long_name = "normalized spectral response" ;
     :valid_min = MIN NORMALIZED SRF VALUE ;
     :valid_max = MAX NORMALIZED SRF VALUE ;


In order to standardize the netCDF SRF as one of GSICS Deliverables, the current file naming and its netCDF Convention have been reviewed by GSICS members (e.g. 2017 GRWG/GDWG Annual Meeting). Known issues and a proposal to update the netCDF SRF file naming and contents are described in the following attachment.

The following three options were proposed, and Option#1 was selected through a discussion of gsics-dev mailing list. Option#2 could be discussed in future if required.

  • Option#1: keeping the current convention until we have real requirements to change.
  • Option#2: adopting the proposal which follows WMO GTS File Naming Convention.
  • Option#3: defining a new convention which is not relevant to WMO Convention.

Templates and Examples

As of Jul 2018 (Option#1)

Please note Option#1 is the files listed on the FIRST bullet. Those on the SECOND bullet with brackets are just the examples which follow CF-1.6 (i.e. data type string and unsigned byte are changed to char and byte). Existing applications such as GIRO may not handle them.

Proposal for Future Convention (Option#2)

Topic revision: r3 - 04 Oct 2018, MasayaTakahashi
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSICS Wiki? Send feedback