netcdf zawada_AMT_rtm_comparison_data_v1 {

group: model_data {
  dimensions:
  	solar = 9 ;
  	stokes = 4 ;
  	albedo = 3 ;
  	composition = 3 ;
  	wavelength = 11 ;
  	test_case = 3 ;
  	altitude = 80 ;
  	model = 7 ;
  variables:
  	int64 solar(solar) ;
  	string stokes(stokes) ;
  		stokes:description = "Stokes vector component" ;
  	double albedo(albedo) ;
  		albedo:_FillValue = NaN ;
  		albedo:description = "Equivalent Lambertian surface reflectence of the ground." ;
  	string composition(composition) ;
  		composition:description = "Atmospheric constitutuents" ;
  	int64 wavelength(wavelength) ;
  		wavelength:description = "Wavelength in [nm]" ;
  	int64 test_case(test_case) ;
  		test_case:description = "Test case 0: Single scatter only, refraction disabled.  Test case 1: All orders of scatter, refraction disabled.  Test case 2: All orders of scatter, refraction enabled." ;
  	double altitude(altitude) ;
  		altitude:_FillValue = NaN ;
  		altitude:description = "Straight line (un-refracted) tangent altitude in [km]." ;
  	double radiance(model, test_case, solar, composition, albedo, wavelength, altitude, stokes) ;
  		radiance:_FillValue = NaN ;
  		radiance:description = "Solar normalized radiance (to a solar irradiance of 1) [/ster]" ;
  	int64 sza(solar) ;
  		sza:description = "Solar zenith angle at the straight line (un-refracted) tangent point." ;
  	int64 saa(solar) ;
  		saa:description = "Solar azimuth angle at the straight line (un-refracted) tangent point." ;
  	string model(model) ;
  		model:description = "RTM name" ;
  	byte included_in_mmm(model, test_case, solar, composition, albedo, wavelength, altitude, stokes) ;
  		included_in_mmm:description = "Flag if each model is included in the MMM calculation" ;
  		included_in_mmm:dtype = "bool" ;
  	double mmm(test_case, solar, composition, albedo, wavelength, altitude, stokes) ;
  		mmm:_FillValue = NaN ;
  		mmm:Description = "Multi model mean radiance [/ster]" ;
  	double mmm_std(test_case, solar, composition, albedo, wavelength, altitude, stokes) ;
  		mmm_std:_FillValue = NaN ;
  		mmm_std:Description = "Standard deviation of all models composing the MMM [/ster]" ;
  	double relative_precision_percent(model, wavelength, altitude) ;
  		relative_precision_percent:_FillValue = NaN ;
  		relative_precision_percent:description = "Relative precision in percent (1 sigma values) for the monte carlo models in I.  Calculated for the SZA=70, SAA=30 case with rayleigh scattering, ozone absorption, and aerosol scattering, and a lambertian surface albedo of 1.  Values for SASKTRAN-MC, MYSTIC, and SMART-G are estimated directly by the model, while values for Siro are estimating by repeating the calculation 20 times and taking the standard deviation." ;
  } // group model_data

group: ancillary_data {
  dimensions:
  	altitude = 101 ;
  	wavelength = 11 ;
  	cos_scatter_angle = 5400 ;
  	pmdim1 = 4 ;
  	pmdim2 = 4 ;
  	phase_moment = 129 ;
  variables:
  	double ozone_numden(altitude) ;
  		ozone_numden:_FillValue = NaN ;
  		ozone_numden:description = "Ozone number density [/cm3] as a function of altitude" ;
  		ozone_numden:units = "1/cm3" ;
  	double aerosol_numden(altitude) ;
  		aerosol_numden:_FillValue = NaN ;
  		aerosol_numden:description = "Aerosol number density [/cm3] as a function of altitude" ;
  		aerosol_numden:units = "1/cm3" ;
  	double temperature(altitude) ;
  		temperature:_FillValue = NaN ;
  		temperature:description = "Temperature profile [K] as a function of altitude" ;
  		temperature:units = "K" ;
  	double air_numden(altitude) ;
  		air_numden:_FillValue = NaN ;
  	double pressure(altitude) ;
  		pressure:_FillValue = NaN ;
  		pressure:description = "Pressure profile [Pa] as a function of altitude" ;
  		pressure:units = "Pa" ;
  	double aerosol_phase_matrix(wavelength, cos_scatter_angle, pmdim1, pmdim2) ;
  		aerosol_phase_matrix:_FillValue = NaN ;
  		aerosol_phase_matrix:description = "Aerosol scattering phase matrix" ;
  		aerosol_phase_matrix:units = "unitless" ;
  	double rayleigh_scattering_cross_section(wavelength) ;
  		rayleigh_scattering_cross_section:_FillValue = NaN ;
  		rayleigh_scattering_cross_section:description = "Scattering cross section [/cm2] for Rayleigh scattering" ;
  		rayleigh_scattering_cross_section:units = "/cm2" ;
  	double ozone_absorption_cross_section(wavelength) ;
  		ozone_absorption_cross_section:_FillValue = NaN ;
  		ozone_absorption_cross_section:description = "Absorption cross section [/cm2] for ozone molecules" ;
  		ozone_absorption_cross_section:units = "/cm2" ;
  	double aerosol_scattering_cross_section(wavelength) ;
  		aerosol_scattering_cross_section:_FillValue = NaN ;
  		aerosol_scattering_cross_section:description = "Scattering cross section [/cm2] for aerosol particles" ;
  		aerosol_scattering_cross_section:units = "/cm2" ;
  	double aerosol_absorption_cross_section(wavelength) ;
  		aerosol_absorption_cross_section:_FillValue = NaN ;
  		aerosol_absorption_cross_section:description = "Absorption cross section [/cm2] for aerosol particles" ;
  		aerosol_absorption_cross_section:units = "/cm2" ;
  	int altitude(altitude) ;
  		altitude:description = "Altitude above the wgs84 geoid in [m]" ;
  	int wavelength(wavelength) ;
  		wavelength:description = "Wavelength in [nm]" ;
  	double cos_scatter_angle(cos_scatter_angle) ;
  		cos_scatter_angle:_FillValue = NaN ;
  		cos_scatter_angle:description = "Cosine of the scattering angle" ;
  	double aerosol_phase_moments(wavelength, phase_moment, pmdim1, pmdim2) ;
  		aerosol_phase_moments:_FillValue = NaN ;
  		aerosol_phase_moments:description = "Legendre polynomial coefficients including 2l+1 factor." ;
  } // group ancillary_data

group: geometry_data {
  dimensions:
  	solar_condition = 9 ;
  	tangent_altitude = 80 ;
  variables:
  	double toa_saa(solar_condition, tangent_altitude) ;
  		toa_saa:_FillValue = NaN ;
  		toa_saa:description = "Relative azimuth angle between the look direction and the solar direction at the top of the atmosphere (100 km) in degrees.  0 degrees is forward scatter, 180 degrees is backscatter." ;
  		toa_saa:units = "degrees" ;
  		toa_saa:coordinates = "tangent_saa tangent_sza" ;
  	double toa_sza(solar_condition, tangent_altitude) ;
  		toa_sza:_FillValue = NaN ;
  		toa_sza:description = "Solar zenith angle in degrees at the top of the atmosphere (100 km)" ;
  		toa_sza:units = "degrees" ;
  		toa_sza:coordinates = "tangent_saa tangent_sza" ;
  	double toa_mu(solar_condition, tangent_altitude) ;
  		toa_mu:_FillValue = NaN ;
  		toa_mu:description = "Cosine of the viewing angle relative to true nadir.  mu=1 would be true nadir." ;
  		toa_mu:units = "Unitless" ;
  		toa_mu:coordinates = "tangent_saa tangent_sza" ;
  	double tangent_altitude(tangent_altitude) ;
  		tangent_altitude:_FillValue = NaN ;
  		tangent_altitude:description = "Unrefracted tangent altitude in km." ;
  		tangent_altitude:units = "km" ;
  	int tangent_sza(solar_condition) ;
  		tangent_sza:description = "Tangent altitude solar zenith angle in degrees" ;
  		tangent_sza:units = "degrees" ;
  	int tangent_saa(solar_condition) ;
  		tangent_saa:description = "Tangent altitude solar azimuth angle in degrees." ;
  		tangent_saa:units = "degrees" ;
  } // group geometry_data
}
