@@ -166,19 +166,34 @@ def BESS_JPL(
166
166
167
167
# Check for None values and size mismatches
168
168
reference_size = None
169
+ missing_radiative_transfer_variables = []
170
+ need_radiative_transfer = False
171
+
169
172
for name , var in variables_to_check .items ():
173
+ if var is None :
174
+ logger .info (f"{ name } : None" )
175
+ else :
176
+ logger .info (f"{ name } : { var .shape } " )
177
+
170
178
if var is None :
171
179
logger .warning (f"Variable '{ name } ' is None." )
180
+ missing_radiative_transfer_variables = missing_radiative_transfer_variables .append (name )
172
181
else :
173
182
# Get the size of the variable if it's a numpy array
174
183
size = var .shape if isinstance (var , np .ndarray ) else None
184
+
175
185
if reference_size is None :
176
186
reference_size = size # Set the first non-None size as the reference
177
187
elif size != reference_size :
178
188
logger .warning (f"Variable '{ name } ' has a different size: { size } (expected: { reference_size } )." )
189
+ missing_radiative_transfer_variables = missing_radiative_transfer_variables .append (name )
190
+
191
+ if len (missing_radiative_transfer_variables ) > 0 :
192
+ need_radiative_transfer = True
179
193
180
194
# check if any of the FLiES outputs are not given
181
- if None in (Rg , VISdiff , VISdir , NIRdiff , NIRdir , UV , albedo_visible , albedo_NIR ):
195
+ if need_radiative_transfer :
196
+ logger .info (f"running FLiES for missing variables: { ', ' .join (missing_radiative_transfer_variables )} " )
182
197
# load cloud optical thickness if not provided
183
198
if COT is None :
184
199
COT = GEOS5FP_connection .COT (time_UTC = time_UTC , geometry = geometry , resampling = resampling )
0 commit comments