@@ -39,14 +39,15 @@ def interpolate_l1b_w(self,dataset_l1a_rad,dataset_l1b_uprad, dataset_l1b_irr):
3939 dataset_l1b ["acquisition_time" ] = dataset_l1a_rad ["acquisition_time" ].sel (scan = upscan )
4040 # is this correct????
4141 dataset_l1b ["u_random_upwelling_radiance" ] = dataset_l1a_rad ["u_random_radiance" ].sel (scan = upscan )
42- dataset_l1b ["u_systematic_upwelling_radiance" ] = dataset_l1a_rad ["u_systematic_radiance" ].sel (scan = upscan )
42+ dataset_l1b ["u_systematic_indep_upwelling_radiance" ] = dataset_l1a_rad ["u_systematic_indep_radiance" ].sel (scan = upscan )
43+ dataset_l1b ["u_systematic_corr_rad_irr_upwelling_radiance" ] = dataset_l1a_rad ["u_systematic_corr_rad_irr_radiance" ].sel (scan = upscan )
4344 dataset_l1b ["corr_random_upwelling_radiance" ] = dataset_l1a_rad ["corr_random_radiance" ]
44- dataset_l1b ["corr_systematic_upwelling_radiance" ] = dataset_l1a_rad ["corr_systematic_radiance" ]
45+ dataset_l1b ["corr_systematic_indep_upwelling_radiance" ] = dataset_l1a_rad ["corr_systematic_indep_radiance" ]
46+ dataset_l1b ["corr_systematic_corr_rad_irr_upwelling_radiance" ] = dataset_l1a_rad ["corr_systematic_corr_rad_irr_radiance" ]
4547
46- print ("interpolate sky radiance" )
47- print (dataset_l1b )
48+ self .context .logger .info ("interpolate sky radiance" )
4849 dataset_l1b = self .interpolate_skyradiance (dataset_l1b , dataset_l1b_uprad )
49- print ("interpolate irradiances" )
50+ self . context . logger . info ("interpolate irradiances" )
5051 dataset_l1b = self .interpolate_irradiance (dataset_l1b , dataset_l1b_irr )
5152
5253 if self .context .get_config_value ("write_l1b" ):
@@ -57,7 +58,6 @@ def interpolate_l1c(self,dataset_l1b_rad,dataset_l1b_irr):
5758
5859
5960 dataset_l1c = self .templ .l1c_from_l1b_dataset (dataset_l1b_rad )
60- print (dataset_l1b_rad ["acquisition_time" ])
6161 dataset_l1c ["acquisition_time" ].values = dataset_l1b_rad ["acquisition_time" ].values
6262
6363 dataset_l1c ["radiance" ].values = dataset_l1b_rad ["radiance" ].values
@@ -83,12 +83,14 @@ def interpolate_irradiance(self,dataset_l1c,dataset_l1b_irr):
8383
8484 acqui_irr = dataset_l1b_irr ['acquisition_time' ].values
8585 acqui_rad = dataset_l1c ['acquisition_time' ].values
86+ print ("times" ,acqui_rad ,acqui_irr )
87+ print (dataset_l1b_irr ["u_systematic_indep_irradiance" ].values .shape )
8688 cov_indep = punpy .convert_corr_to_cov (
8789 dataset_l1b_irr ["corr_systematic_indep_irradiance" ].values ,
88- dataset_l1b_irr ["u_systematic_indep_irradiance" ].values )
90+ np . mean ( dataset_l1b_irr ["u_systematic_indep_irradiance" ].values , axis = 1 ) )
8991 cov_corr = punpy .convert_corr_to_cov (
9092 dataset_l1b_irr ["corr_systematic_corr_rad_irr_irradiance" ].values ,
91- dataset_l1b_irr ["u_systematic_corr_rad_irr_irradiance" ].values )
93+ np . mean ( dataset_l1b_irr ["u_systematic_corr_rad_irr_irradiance" ].values , axis = 1 ) )
9294
9395 dataset_l1c = self .process_measurement_function ("irradiance" ,dataset_l1c ,interpolation_function .function ,
9496 [acqui_rad ,acqui_irr ,dataset_l1b_irr ['irradiance' ].values ],
@@ -106,10 +108,27 @@ def interpolate_skyradiance(self,dataset_l1c,dataset_l1a_skyrad):
106108 acqui_irr = dataset_l1a_skyrad ['acquisition_time' ].values
107109 acqui_rad = dataset_l1c ['acquisition_time' ].values
108110
109- dataset_l1c = self .process_measurement_function ("downwelling_radiance" ,dataset_l1c ,interpolation_function .function ,
110- [acqui_rad ,acqui_irr ,dataset_l1a_skyrad ['radiance' ].values ],
111- [None ,None ,dataset_l1a_skyrad ['u_random_radiance' ].values ],
112- [None ,None ,dataset_l1a_skyrad ['u_systematic_radiance' ].values ])
111+ cov_indep = punpy .convert_corr_to_cov (
112+ dataset_l1a_skyrad ["corr_systematic_indep_radiance" ].values ,
113+ np .mean (dataset_l1a_skyrad ["u_systematic_indep_radiance" ].values ,axis = 1 ))
114+ cov_corr = punpy .convert_corr_to_cov (
115+ dataset_l1a_skyrad ["corr_systematic_corr_rad_irr_radiance" ].values ,
116+ np .mean (dataset_l1a_skyrad ["u_systematic_corr_rad_irr_radiance" ].values ,
117+ axis = 1 ))
118+
119+ dataset_l1c = self .process_measurement_function ("downwelling_radiance" ,dataset_l1c ,
120+ interpolation_function .function ,
121+ [acqui_rad ,acqui_irr ,
122+ dataset_l1a_skyrad [
123+ 'radiance' ].values ],
124+ [None ,None ,dataset_l1a_skyrad [
125+ 'u_random_radiance' ].values ],
126+ [None ,None ,dataset_l1a_skyrad [
127+ 'u_systematic_indep_radiance' ].values ],
128+ [None ,None ,dataset_l1a_skyrad [
129+ 'u_systematic_corr_rad_irr_radiance' ].values ],
130+ [None ,None ,cov_indep ],
131+ [None ,None ,cov_corr ])
113132 return dataset_l1c
114133
115134 def process_measurement_function (self ,measurandstring ,dataset ,measurement_function ,
@@ -118,22 +137,49 @@ def process_measurement_function(self,measurandstring,dataset,measurement_functi
118137 u_systematic_input_quantities_corr ,
119138 cov_systematic_input_quantities_indep ,
120139 cov_systematic_input_quantities_corr ):
140+
141+ # datashape = input_quantities[0].shape
142+ # for i in range(len(input_quantities)):
143+ # if len(input_quantities[i].shape) > len(datashape):
144+ # datashape = input_quantities[0].shape
145+ #
146+ # for i in range(len(input_quantities)):
147+ # print(input_quantities[i].shape)
148+ # if len(input_quantities[i].shape) < len(datashape):
149+ # if input_quantities[i].shape[0]==datashape[1]:
150+ # input_quantities[i] = np.tile(input_quantities[i],(datashape[0],1))
151+ # else:
152+ # input_quantities[i] = np.tile(input_quantities[i],(datashape[1],1)).T
153+ # print(input_quantities[i].shape)
154+ #
155+ # if u_random_input_quantities[i] is not None:
156+ # if len(u_random_input_quantities[i].shape) < len(datashape):
157+ # u_random_input_quantities[i] = np.tile(u_random_input_quantities[i], (datashape[1], 1)).T
158+ # if u_systematic_input_quantities_indep[i] is not None:
159+ # if len(u_systematic_input_quantities_indep[i].shape) < len(datashape):
160+ # u_systematic_input_quantities_indep[i] = np.tile(u_systematic_input_quantities_indep[i], (datashape[1], 1)).T
161+ # if u_systematic_input_quantities_corr[i] is not None:
162+ # if len(u_systematic_input_quantities_corr[i].shape) < len(datashape):
163+ # u_systematic_input_quantities_corr[i] = np.tile(u_systematic_input_quantities_corr[i], (datashape[1], 1)).T
164+ print (* input_quantities )
121165 measurand = measurement_function (* input_quantities )
122166 with warnings .catch_warnings ():
123167 warnings .simplefilter ("ignore" )
124168 u_random_measurand = self .prop .propagate_random (measurement_function ,
125169 input_quantities ,
126170 u_random_input_quantities ,
127- repeat_dims = 1 )
171+ param_fixed = [False ,True ,True ],
172+ repeat_dims = 1 )
173+ print ("shapes" , cov_systematic_input_quantities_indep [2 ].shape ,input_quantities [2 ].shape ,u_systematic_input_quantities_indep [2 ].shape )
128174 u_syst_measurand_indep ,corr_syst_measurand_indep = self .prop .propagate_systematic (
129175 measurement_function ,input_quantities ,
130176 u_systematic_input_quantities_indep ,
131- cov_x = cov_systematic_input_quantities_indep ,return_corr = True ,
132- repeat_dims = 1 , corr_axis = 0 )
177+ cov_x = [ 'rand' ] * len ( u_random_input_quantities ) ,return_corr = True ,
178+ corr_axis = 0 , param_fixed = [ False , True , True ], repeat_dims = 1 )
133179 u_syst_measurand_corr ,corr_syst_measurand_corr = self .prop .propagate_systematic (
134180 measurement_function ,input_quantities ,u_systematic_input_quantities_corr ,
135- cov_x = cov_systematic_input_quantities_corr ,return_corr = True ,
136- repeat_dims = 1 , corr_axis = 0 )
181+ cov_x = [ 'rand' ] * len ( u_random_input_quantities ) ,return_corr = True ,
182+ corr_axis = 0 , param_fixed = [ False , True , True ], repeat_dims = 1 )
137183 dataset [measurandstring ].values = measurand
138184 dataset ["u_random_" + measurandstring ].values = u_random_measurand
139185 dataset ["u_systematic_indep_" + measurandstring ].values = u_syst_measurand_indep
@@ -146,9 +192,3 @@ def process_measurement_function(self,measurandstring,dataset,measurement_functi
146192 "corr_systematic_corr_rad_irr_" + measurandstring ].values = corr_syst_measurand_corr
147193
148194 return dataset
149-
150-
151-
152-
153-
154-
0 commit comments