User Tools

Site Tools


codes:errorbudget

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
codes:errorbudget [2020/12/13 22:15]
fparraro
codes:errorbudget [2024/03/22 13:31] (current)
jlsolano [Introduction]
Line 17: Line 17:
  
  
-In this document we present the uncertainty estimation of the total ozone measured by the Brewer spectrophotometers focusing on the instrumental parameters. The uncertainty model was developed during the ATMOZ project. This model describe the uncertainty model reference instruments:​ that is the instruments that are absolutely calibrated by Langley method (Redondas et al., [[#​ref-redondas_evaluation_2014|2014]][[#​ref-redondas_evaluation_2014|a]]) at the conditions of the 2016 ATMOZ campaign refered as IZO16 (Cuevas et al., [[#​ref-cuevas_izanatmospheric_2015|2015]]). The objective of the project is to extend this model to network instruments of the using the observations stored at EUBREWNET ([[#​ref-COST1207_site|Anon,​ [[#​ref-COST1207_site|n.d.]][[#​ref-COST1207_site|a]]]]; [[#​ref-eubrewnet_site|Anon,​ [[#​ref-eubrewnet_site|n.d.]][[#​ref-eubrewnet_site|b]]]]).+In this document we present the uncertainty estimation of the total ozone measured by the Brewer spectrophotometers focusing on the instrumental parameters. The uncertainty model was developed during the ATMOZ project. This model describe the uncertainty model reference instruments:​ that is the instruments that are absolutely calibrated by Langley method (Redondas et al., [[#​ref-redondas_evaluation_2014|2014]][[#​ref-redondas_evaluation_2014|a]]) at the conditions of the 2016 ATMOZ campaign refered as IZO16 (Cuevas et al., [[#​ref-cuevas_izanatmospheric_2015|2015]]). The objective of the project is to extend this model to network instruments of the using the observations stored at EUBREWNET ([[#​ref-COST1207_site|Anon]], [[#​ref-COST1207_site|n.d.]][[#​ref-COST1207_site|a]];​ [[#​ref-eubrewnet_site|Anon]], [[#​ref-eubrewnet_site|n.d.]][[#​ref-eubrewnet_site|b]]).
  
 On this report we summarize the developments of the first step which is focused on the instrumental parameters that affect the model, considering the Langley calibration and the calibration transfer to the network instruments. On this report we summarize the developments of the first step which is focused on the instrumental parameters that affect the model, considering the Langley calibration and the calibration transfer to the network instruments.
Line 410: Line 410:
 The uncertainties of the due the atmospheric parameters used on this report are calculated for the conditions during IZO16 campaign, the influence of this parameters is the will be detailed on the next working package report. The uncertainties of the due the atmospheric parameters used on this report are calculated for the conditions during IZO16 campaign, the influence of this parameters is the will be detailed on the next working package report.
  
-The Eubrewnet database has been adapted and an access function provide the instrumental data necessary to obtain the uncertainty of the TOC through of Brewer spectrophotometers has been developed. (for example[[ http://rbcce.aemet.es/​eubrewnet/​data_test/​uncert_input?​brewerid=185&​date=2016-09-21&​format=text| http:%%//%%rbcce.aemet.es/​eubrewnet/​data_test/​uncert_input?​brewerid=185&​date=2016-09-21&​format=text]]). The Python library which implement the error calculation is now on development.+The Eubrewnet database has been adapted and an access function provide the instrumental data necessary to obtain the uncertainty of the TOC through of Brewer spectrophotometers has been developed. (for example[[ http://eubrewnet.aemet.es/​eubrewnet/​data_test/​uncert_input?​brewerid=185&​date=2016-09-21&​format=text| http:%%//%%eubrewnet.aemet.es/​eubrewnet/​data_test/​uncert_input?​brewerid=185&​date=2016-09-21&​format=text]]). The Python library which implement the error calculation is now on development.
  
 ====== Conclusions ====== ====== Conclusions ======
Line 431: Line 431:
 ==Bibliography== ==Bibliography==
  
-Anon: EUBREWNET COST ES1207 website, [online] Available from: http://www.eubrewnet.org/cost1207 (Accessed October 2016a), n.d.+Anon: EUBREWNET COST ES1207 website, [online] Available from: http://​eubrewnet.aemet.es/cost1207 (Accessed October 2016a), n.d.
  
  
-Anon: EUBREWNET data server, [online] Available from: http://rbcce.aemet.es/​eubrewnet (Accessed June 2016b), n.d.+Anon: EUBREWNET data server, [online] Available from: http://eubrewnet.aemet.es/​eubrewnet (Accessed June 2016b), n.d.
  
  
Line 609: Line 609:
 ^ ’rho_o3_m’ | Cross correlation coefficient between o3 and Rayleigh optical mass ^ ^ ’rho_o3_m’ | Cross correlation coefficient between o3 and Rayleigh optical mass ^
 ^ ’rho_o3_p’ | Cross correlation coefficient between o3 and pressure ^ ^ ’rho_o3_p’ | Cross correlation coefficient between o3 and pressure ^
-^ ’rho_o3_etc’ | Cross correlation coefficient between o3 and ETC+^ ’rho_o3_etc’ | Cross correlation coefficient between o3 and ETC 
 ^ ’rho_mu_B’ | Cross correlation coefficient between ozone optical mass and weighted Rayleigh depth ^ ^ ’rho_mu_B’ | Cross correlation coefficient between ozone optical mass and weighted Rayleigh depth ^
 ^ ’rho_mu_m’ | Cross correlation coefficient between ozone optical mass and Rayleigh optical mass ^ ^ ’rho_mu_m’ | Cross correlation coefficient between ozone optical mass and Rayleigh optical mass ^
 ^ ’rho_mu_p’ | Cross correlation coefficient between ozone optical mass and pressure ^ ^ ’rho_mu_p’ | Cross correlation coefficient between ozone optical mass and pressure ^
-^ ’rho_mu_etc’ | Cross correlation coefficient between ozone optical mass and ETC+^ ’rho_mu_etc’ | Cross correlation coefficient between ozone optical mass and ETC ^
 ^ ’rho_B_m’ | Cross correlation coefficient between weighted Rayleigh depth and Rayleigh optical mass ^ ^ ’rho_B_m’ | Cross correlation coefficient between weighted Rayleigh depth and Rayleigh optical mass ^
 ^ ’rho_B_p’ | Cross correlation coefficient between weighted Rayleigh depth and pressure ^ ^ ’rho_B_p’ | Cross correlation coefficient between weighted Rayleigh depth and pressure ^
Line 654: Line 654:
  
 * //​zenith_angle_uncertainty//​. This is calculated as the output of //​sza_unc()//​ function. * //​zenith_angle_uncertainty//​. This is calculated as the output of //​sza_unc()//​ function.
 +
 * //​airmass_uncertainty//​. This is defined as the ozone air mass uncertainty,​ and is calculated as the output of //​brewer_airmass_unc()//,​ using //​zenith_angle//,​ //​zenith_angle_uncertainty//,​ a height of 22 km and a height uncertainty of 2.24 km as input. * //​airmass_uncertainty//​. This is defined as the ozone air mass uncertainty,​ and is calculated as the output of //​brewer_airmass_unc()//,​ using //​zenith_angle//,​ //​zenith_angle_uncertainty//,​ a height of 22 km and a height uncertainty of 2.24 km as input.
 +
 * //​airmass_rayleigh_uncertainty//​. This is defined as the Rayleigh air mass uncertainty,​ and is calculated as the output of //​brewer_airmass_unc()//,​ using //​zenith_angle//,​ //​zenith_angle_uncertainty//,​ a height of 5 km and a height uncertainty of 0.2 km as input. * //​airmass_rayleigh_uncertainty//​. This is defined as the Rayleigh air mass uncertainty,​ and is calculated as the output of //​brewer_airmass_unc()//,​ using //​zenith_angle//,​ //​zenith_angle_uncertainty//,​ a height of 5 km and a height uncertainty of 0.2 km as input.
  
Line 682: Line 684:
 * ’//​single_ratio1//​’,​ ’//​single_ratio2//​’,​ ’//​single_ratio3//​’ and ’//​single_ratio4//​’. These fields are calculates as: * ’//​single_ratio1//​’,​ ’//​single_ratio2//​’,​ ’//​single_ratio3//​’ and ’//​single_ratio4//​’. These fields are calculates as:
  
-        ​$single\_ratio1 = f_4 f_1+   ​* ​$single\_ratio1 = f_{4} f_{1}
-        $single\_ratio2 = f_4 f_2+   * $single\_ratio2 = f_{4} f_{2}
-        $single\_ratio3 = f_4 f_3+   * $single\_ratio3 = f_{4} f_{3}
-        $single\_ratio4 = f_5 f_4+   * $single\_ratio4 = f_{5} f_{4}
  
 * ’//​double_ratio2//​’ and ’//​double_ratio2_unc//​’. These fields are calculated as: * ’//​double_ratio2//​’ and ’//​double_ratio2_unc//​’. These fields are calculated as:
  
-        ​$double\_ratio2 = \sum_i f_i * w\_o3_{i+1}$ +   ​* ​$double\_ratio2 = \sum_{i} f_{i} * w\_o3_{i+1}$ 
-        $double\_ratio2\_unc = double\_ratio2 * \sum_i \frac{u_{fi}}{f_{i}} * w\_o3_{i+1}$+   * $double\_ratio2\_unc = double\_ratio2 * \sum_{i} ​\frac{u_{fi}}{f_{i}} * w\_o3_{i+1}$
  
 * '//​measure//'​ and '//​measure\_unc//'​. These fields are obtained as: * '//​measure//'​ and '//​measure\_unc//'​. These fields are obtained as:
  
-        ​$measure = double\_ratio2 + LF[p]$ +   ​* ​$measure = double\_ratio2 + LF[p]$ 
-        $measure\_unc = \sqrt{\left(1+\frac{slope\_wavelength}{100}\right)^{2}*double\_ratio2\_unc^{2} + \left(\frac{measure}{100}\right)^{2}*slope\_wavelength\_unc^{2}}$+   * $measure\_unc = \sqrt{\left(1+\frac{slope\_wavelength}{100}\right)^{2}*double\_ratio2\_unc^{2} + \left(\frac{measure}{100}\right)^{2}*slope\_wavelength\_unc^{2}}$
  
 === combined() === === combined() ===
Line 710: Line 712:
     ​     ​
     out = combined( measure, config )     out = combined( measure, config )
-    print("u_o3: &​quot; ​+ str(out['​u_o3'​])) +    print("u_o3: " ​+ str(out['​u_o3'​])) 
-    print(&quot;o3 : &quot;+str(out['​o3'​]))</​pre>​+    print("o3 : " ​+str(out['​o3'​]))
  
 The fields ’//​measure\_unc//​’,​ ’//​airmass//​’,​ ’//​airmass_uncertainty//​’,​ ’//​airmass_rayleigh//​’,​ ’//​airmass_rayleigh_uncertainty//​’,​ ’//​o3//​’,​ ’//​pre//​’ and ’//​u_pre//​’ are used from measure, and ’//​o3o3rate//​’,​ ’//​B//​’,​ ’//​u_B//​’,​ '//​u_A1//​’,​ ’//​u_etc//​’,​ ’//​w_o3_0//​’,​ ’//​w_o3_2//​’,​ ’//​w_o3_3//​’,​ ’//​w_o3_4//​’,​ ’//​w_o3_5//​’,​ ’//​w_o3_6//​’,​’//​rho_A_o3//​’,​ ’//​rho_A_mu//​’,​ ’//​rho_A_B//​’,​ ’//​rho_A_m//​’,​ ’//​rho_A_p//​’,​ ’//​rho_A_etc//​’,​ ’//​rho_o3_mu//​’,​ ’//​rho_o3_B//​’,​ ’//​rho_o3_m//​’,​ ’//​rho_o3_p//​’,​ ’//​rho_o3_etc//​’,​ ’//​rho_mu_B//​’,​ ’//​rho_mu_m//​’,​ ’//​rho_mu_p//​’,​ ’//​rho_mu_etc//​’,​ ’//​rho_B_m//​’,​ ’//​rho_B_p//>​’,​ ’//​rho_B_etc//>​’,​ ’//​rho_m_p//​’,​ ’//​rho_m_etc//​’,​ ’//​rho_p_etc//​’ are used from config. The fields ’//​measure\_unc//​’,​ ’//​airmass//​’,​ ’//​airmass_uncertainty//​’,​ ’//​airmass_rayleigh//​’,​ ’//​airmass_rayleigh_uncertainty//​’,​ ’//​o3//​’,​ ’//​pre//​’ and ’//​u_pre//​’ are used from measure, and ’//​o3o3rate//​’,​ ’//​B//​’,​ ’//​u_B//​’,​ '//​u_A1//​’,​ ’//​u_etc//​’,​ ’//​w_o3_0//​’,​ ’//​w_o3_2//​’,​ ’//​w_o3_3//​’,​ ’//​w_o3_4//​’,​ ’//​w_o3_5//​’,​ ’//​w_o3_6//​’,​’//​rho_A_o3//​’,​ ’//​rho_A_mu//​’,​ ’//​rho_A_B//​’,​ ’//​rho_A_m//​’,​ ’//​rho_A_p//​’,​ ’//​rho_A_etc//​’,​ ’//​rho_o3_mu//​’,​ ’//​rho_o3_B//​’,​ ’//​rho_o3_m//​’,​ ’//​rho_o3_p//​’,​ ’//​rho_o3_etc//​’,​ ’//​rho_mu_B//​’,​ ’//​rho_mu_m//​’,​ ’//​rho_mu_p//​’,​ ’//​rho_mu_etc//​’,​ ’//​rho_B_m//​’,​ ’//​rho_B_p//>​’,​ ’//​rho_B_etc//>​’,​ ’//​rho_m_p//​’,​ ’//​rho_m_etc//​’,​ ’//​rho_p_etc//​’ are used from config.
Line 811: Line 813:
 $u_{out}^{2} = u^{2}[i] + tc^{2}[i]*u_{t}^{2} + t^{2}*u_{tc}^{2}[i]$ $u_{out}^{2} = u^{2}[i] + tc^{2}[i]*u_{t}^{2} + t^{2}*u_{tc}^{2}[i]$
  
-where //u_{t}// is the temperature uncertainty which usially is //1/sqrt(3)//.+where $u_{t}is the temperature uncertainty which usially is $1/sqrt(3)$.
  
 **Example** **Example**
Line 817: Line 819:
     brewer_unc.temp_unc( u2_f, t, tc, u_tc )     brewer_unc.temp_unc( u2_f, t, tc, u_tc )
     ​     ​
-The input parameter //u2_f// is a list of five floats with the uncertainties. //tc// is list of five floats with the temperature coefficients. //t// is a float with the temperature of the system in Celsius degrees. u_tc// is list of five floats with the temperature coefficient uncerainties.+The input parameter //u2_f// is a list of five floats with the uncertainties. //tc// is list of five floats with the temperature coefficients. //t// is a float with the temperature of the system in Celsius degrees. ​//u_tc// is list of five floats with the temperature coefficient uncerainties.
  
 The //​temp_unc()//​ function returns a list with the temperature corrected uncertainties in counts per second. The //​temp_unc()//​ function returns a list with the temperature corrected uncertainties in counts per second.
Line 920: Line 922:
     import brewer     import brewer
     ​     ​
-    config = {'​w_o3_3':​ -1.0,'​w_o3_2':​ 0.0, '​w_o3_6':​ -1.7, '​w_o3_5':​ 2.2, '​w_o3_4':​ 0.5,'​be3':​ 4620, '​be6':​ 4040, '​be4':​ 4410, '​be5':​ 4220, '​be2':​ 4870}+    config = {'​w_o3_3':​ -1.0,'​w_o3_2':​ 0.0, '​w_o3_6':​ -1.7, '​w_o3_5':​ 2.2, '​w_o3_4':​ 0.5,'​be3':​ 4620, '​be6':​ 4040, '​be4':​ 4410, '​be5':​ 4220, '​be2':​ 4870 }
     unc = 0.01     unc = 0.01
     ​     ​
Line 932: Line 934:
  
 * ’//​B//​’. This field is the weighted Rayleigh scattering coefficient. * ’//​B//​’. This field is the weighted Rayleigh scattering coefficient.
 +
 * ’//​u_B//​’. This field is the weighted Rayleigh scattering coefficient uncertainty. * ’//​u_B//​’. This field is the weighted Rayleigh scattering coefficient uncertainty.
  
  
  
codes/errorbudget.1607897715.txt.gz · Last modified: 2020/12/13 22:15 by fparraro