@@ -39,14 +39,15 @@ def interpolate_l1b_w(self,dataset_l1a_rad,dataset_l1b_uprad, dataset_l1b_irr):
39
39
dataset_l1b ["acquisition_time" ] = dataset_l1a_rad ["acquisition_time" ].sel (scan = upscan )
40
40
# is this correct????
41
41
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 )
43
44
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" ]
45
47
46
- print ("interpolate sky radiance" )
47
- print (dataset_l1b )
48
+ self .context .logger .info ("interpolate sky radiance" )
48
49
dataset_l1b = self .interpolate_skyradiance (dataset_l1b , dataset_l1b_uprad )
49
- print ("interpolate irradiances" )
50
+ self . context . logger . info ("interpolate irradiances" )
50
51
dataset_l1b = self .interpolate_irradiance (dataset_l1b , dataset_l1b_irr )
51
52
52
53
if self .context .get_config_value ("write_l1b" ):
@@ -57,7 +58,6 @@ def interpolate_l1c(self,dataset_l1b_rad,dataset_l1b_irr):
57
58
58
59
59
60
dataset_l1c = self .templ .l1c_from_l1b_dataset (dataset_l1b_rad )
60
- print (dataset_l1b_rad ["acquisition_time" ])
61
61
dataset_l1c ["acquisition_time" ].values = dataset_l1b_rad ["acquisition_time" ].values
62
62
63
63
dataset_l1c ["radiance" ].values = dataset_l1b_rad ["radiance" ].values
@@ -83,12 +83,14 @@ def interpolate_irradiance(self,dataset_l1c,dataset_l1b_irr):
83
83
84
84
acqui_irr = dataset_l1b_irr ['acquisition_time' ].values
85
85
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 )
86
88
cov_indep = punpy .convert_corr_to_cov (
87
89
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 ) )
89
91
cov_corr = punpy .convert_corr_to_cov (
90
92
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 ) )
92
94
93
95
dataset_l1c = self .process_measurement_function ("irradiance" ,dataset_l1c ,interpolation_function .function ,
94
96
[acqui_rad ,acqui_irr ,dataset_l1b_irr ['irradiance' ].values ],
@@ -106,10 +108,27 @@ def interpolate_skyradiance(self,dataset_l1c,dataset_l1a_skyrad):
106
108
acqui_irr = dataset_l1a_skyrad ['acquisition_time' ].values
107
109
acqui_rad = dataset_l1c ['acquisition_time' ].values
108
110
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 ])
113
132
return dataset_l1c
114
133
115
134
def process_measurement_function (self ,measurandstring ,dataset ,measurement_function ,
@@ -118,22 +137,49 @@ def process_measurement_function(self,measurandstring,dataset,measurement_functi
118
137
u_systematic_input_quantities_corr ,
119
138
cov_systematic_input_quantities_indep ,
120
139
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 )
121
165
measurand = measurement_function (* input_quantities )
122
166
with warnings .catch_warnings ():
123
167
warnings .simplefilter ("ignore" )
124
168
u_random_measurand = self .prop .propagate_random (measurement_function ,
125
169
input_quantities ,
126
170
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 )
128
174
u_syst_measurand_indep ,corr_syst_measurand_indep = self .prop .propagate_systematic (
129
175
measurement_function ,input_quantities ,
130
176
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 )
133
179
u_syst_measurand_corr ,corr_syst_measurand_corr = self .prop .propagate_systematic (
134
180
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 )
137
183
dataset [measurandstring ].values = measurand
138
184
dataset ["u_random_" + measurandstring ].values = u_random_measurand
139
185
dataset ["u_systematic_indep_" + measurandstring ].values = u_syst_measurand_indep
@@ -146,9 +192,3 @@ def process_measurement_function(self,measurandstring,dataset,measurement_functi
146
192
"corr_systematic_corr_rad_irr_" + measurandstring ].values = corr_syst_measurand_corr
147
193
148
194
return dataset
149
-
150
-
151
-
152
-
153
-
154
-
0 commit comments