3 import binning_utils
as bu
4 import predefined_configs
as pconf
5 from collections
import defaultdict
6 from copy
import deepcopy
17 obsBinVars = defaultdict(list)
18 obsBinVars[vu.obsVarQC] += [bu.goodQCMethod, bu.badQCMethod, bu.allQCMethod]
19 obsBinVars[vu.obsVarLat] += [bu.identityBinMethod, bu.latbandsMethod]
20 obsBinVars[vu.obsVarLT] += [bu.identityBinMethod]
21 obsBinVars[vu.obsVarNormErr] += [bu.identityBinMethod]
22 obsBinVars[vu.obsRegionBinVar] += [
'CONUS']
23 obsBinVars[vu.obsRegionBinVar] += [bu.geoirlatlonboxMethod]
29 surfBinVars = deepcopy(obsBinVars)
35 profPressBinVars = deepcopy(obsBinVars)
36 profPressBinVars[vu.obsVarPrs] += [bu.identityBinMethod, bu.PjetMethod]
37 profPressBinVars[vu.obsVarLat] += [bu.PjetMethod]
40 for latBand
in pconf.namedLatBands[
'values']:
41 profPressBinVars[vu.obsVarPrs] += [latBand]
47 profAltBinVars = deepcopy(obsBinVars)
48 profAltBinVars[vu.obsVarAlt] += [bu.identityBinMethod, bu.altjetMethod]
49 profAltBinVars[vu.obsVarLat] += [bu.altjetMethod]
52 for latBand
in pconf.namedLatBands[
'values']:
53 profAltBinVars[vu.obsVarAlt] += [latBand]
59 radianceBinVars = deepcopy(obsBinVars)
60 radianceBinVars[vu.obsVarGlint] += [bu.identityBinMethod]
61 radianceBinVars[vu.obsVarSenZen] += [bu.identityBinMethod]
68 radianceBinVars[vu.obsVarLandFrac] += [bu.identityBinMethod,
77 polmwBinVars = deepcopy(radianceBinVars)
78 polmwBinVars[vu.obsVarACI] += [bu.identityBinMethod]
79 polmwBinVars[vu.obsVarSCI] += [bu.OkamotoMethod]
87 geoirBinVars = deepcopy(radianceBinVars)
88 geoirBinVars[vu.obsVarACI] += [bu.identityBinMethod]
89 geoirBinVars[vu.obsVarCldFrac] += [bu.identityBinMethod,
93 for var
in pconf.cldfracBinVars.keys():
94 if var != vu.obsVarLandFrac
or binBYLandFrac:
95 geoirBinVars[var] += [bu.clrskyMethod]
96 geoirBinVars[var] += [bu.cldskyMethod]
100 for var
in pconf.landfracBinVars.keys():
101 for surfBand
in pconf.namedLandFracBands[
'values']:
102 geoirBinVars[var] += [surfBand]
107 bu.ScaleOkamotoMethod,
112 for method
in geoirSCIMethods:
113 geoirBinVars[vu.obsVarSCI] += [method]
122 modelBinVars = defaultdict(list)
123 modelBinVars[vu.noBinVar] += [bu.noBinMethod]
124 modelBinVars[vu.modVarLat] += [bu.identityBinMethod]
125 modelBinVars[vu.modVarLat] += [bu.latbandsMethod]
126 modelBinVars[vu.modVarLev] += [bu.identityBinMethod]
128 for latBand
in pconf.namedLatBands[
'values']:
129 modelBinVars[vu.modVarLev] += [latBand]
130 modelBinVars[vu.modelRegionBinVar] += [bu.geoirlatlonboxMethod]
137 nullBinVars = {vu.miss_s: []}
139 nullDiagSpaceInfo = {
140 'DiagSpaceGrp': vu.miss_s,
142 'binVarConfigs': nullBinVars,
146 profile_s =
'profile'
148 radiance_s =
'radiance'
156 amsuacldGrp =
'amsuacld'
161 convGrp: {
'npwork': 36,
'npread': 36,
'analyze_walltime':
'00:10:00'},
162 abiGrp: {
'npwork': 12,
'npread': 36,
'analyze_walltime':
'01:00:00'},
163 ahiGrp: {
'npwork': 12,
'npread': 36,
'analyze_walltime':
'01:00:00'},
164 amsuaGrp: {
'npwork': 36,
'npread': 36,
'analyze_walltime':
'00:12:00'},
165 amsuacldGrp: {
'npwork': 36,
'npread': 36,
'analyze_walltime':
'00:12:00'},
166 mhsGrp: {
'npwork': 36,
'npread': 36,
'analyze_walltime':
'00:08:00'},
167 modelGrp: {
'npwork': 10,
'npread': 36,
'analyze_walltime':
'03:30:00'},
185 'DiagSpaceGrp': profile_s,
188 'binVarConfigs': profPressBinVars,
189 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
192 'DiagSpaceGrp': profile_s,
195 'binVarConfigs': profAltBinVars,
196 'diagNames': pconf.relativeDiagnostics+pconf.sigmaDiagnostics,
199 'DiagSpaceGrp': profile_s,
202 'binVarConfigs': profAltBinVars,
203 'diagNames': pconf.relativeDiagnostics+pconf.sigmaDiagnostics,
206 'DiagSpaceGrp': profile_s,
209 'binVarConfigs': profAltBinVars,
210 'diagNames': pconf.relativeDiagnostics+pconf.sigmaDiagnostics,
213 'DiagSpaceGrp': profile_s,
216 'binVarConfigs': profPressBinVars,
217 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
220 'DiagSpaceGrp': sfc_s,
223 'binVarConfigs': surfBinVars,
224 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
227 'DiagSpaceGrp': profile_s,
230 'binVarConfigs': profPressBinVars,
231 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
235 'DiagSpaceGrp': radiance_s,
238 'binVarConfigs': geoirBinVars,
239 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
240 'channels': [8,9,10,11,13,14,15,16],
243 'DiagSpaceGrp': radiance_s,
246 'binVarConfigs': geoirBinVars,
247 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
248 'channels': [8,9,10,11,13,14,15,16],
251 'DiagSpaceGrp': radiance_s,
254 'binVarConfigs': geoirBinVars,
255 'diagNames': pconf.defaultDiagnostics,
256 'channels': [8,9,10,11,13,14,15,16],
258 'ahi-clr_himawari8': {
259 'DiagSpaceGrp': radiance_s,
262 'binVarConfigs': geoirBinVars,
263 'diagNames': pconf.defaultDiagnostics,
264 'channels': [8,9,10,11,13,14,15,16],
267 'DiagSpaceGrp': radiance_s,
269 'binVarConfigs': radianceBinVars,
270 'diagNames': pconf.defaultDiagnostics,
274 'DiagSpaceGrp': radiance_s,
277 'binVarConfigs': radianceBinVars,
278 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
282 'DiagSpaceGrp': radiance_s,
285 'binVarConfigs': radianceBinVars,
286 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
290 'DiagSpaceGrp': radiance_s,
293 'binVarConfigs': radianceBinVars,
294 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
298 'DiagSpaceGrp': radiance_s,
301 'binVarConfigs': radianceBinVars,
302 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
303 'channels': [5,6,7,8,9],
306 'DiagSpaceGrp': radiance_s,
309 'binVarConfigs': radianceBinVars,
310 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
311 'channels': [5,6,7,8,9],
314 'DiagSpaceGrp': radiance_s,
317 'binVarConfigs': radianceBinVars,
318 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
319 'channels': [5,6,7,9],
321 'amsua_n19--hydro': {
322 'DiagSpaceGrp': radiance_s,
324 'binVarConfigs': radianceBinVars,
325 'diagNames': pconf.defaultDiagnostics,
326 'channels': [1,2,3,15],
328 'amsua_n19--nohydro': {
329 'DiagSpaceGrp': radiance_s,
331 'binVarConfigs': radianceBinVars,
332 'diagNames': pconf.defaultDiagnostics,
333 'channels': [4,5,6,7,9,10,11,12,13,14],
336 'DiagSpaceGrp': radiance_s,
338 'anGrp': amsuacldGrp,
339 'binVarConfigs': polmwBinVars,
340 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
341 'channels': [1,2,3,4,15],
343 'amsua-cld_metop-a': {
344 'DiagSpaceGrp': radiance_s,
346 'anGrp': amsuacldGrp,
347 'binVarConfigs': polmwBinVars,
348 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
349 'channels': [1,2,3,4,15],
351 'amsua-cld_metop-b': {
352 'DiagSpaceGrp': radiance_s,
354 'anGrp': amsuacldGrp,
355 'binVarConfigs': polmwBinVars,
356 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
357 'channels': [1,2,3,4,15],
360 'DiagSpaceGrp': radiance_s,
362 'anGrp': amsuacldGrp,
363 'binVarConfigs': polmwBinVars,
364 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
365 'channels': [1,2,3,4,15],
368 'DiagSpaceGrp': radiance_s,
370 'anGrp': amsuacldGrp,
371 'binVarConfigs': polmwBinVars,
372 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
373 'channels': [1,2,3,4,15],
376 'DiagSpaceGrp': radiance_s,
378 'anGrp': amsuacldGrp,
379 'binVarConfigs': polmwBinVars,
380 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
381 'channels': [1,2,3,4,15],
384 'DiagSpaceGrp': radiance_s,
386 'binVarConfigs': radianceBinVars,
387 'diagNames': pconf.defaultDiagnostics,
388 'channels': [24,26,28,32,37,39],
391 'DiagSpaceGrp': radiance_s,
393 'binVarConfigs': radianceBinVars,
394 'diagNames': pconf.defaultDiagnostics,
395 'channels': range(1,16),
398 'DiagSpaceGrp': radiance_s,
400 'binVarConfigs': radianceBinVars,
401 'diagNames': pconf.defaultDiagnostics,
402 'channels': [16,29,32,35,38,41,44],
405 'DiagSpaceGrp': radiance_s,
408 'binVarConfigs': radianceBinVars,
409 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
410 'channels': range(1,6),
413 'DiagSpaceGrp': radiance_s,
416 'binVarConfigs': radianceBinVars,
417 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
418 'channels': range(1,6),
421 'DiagSpaceGrp': radiance_s,
424 'binVarConfigs': radianceBinVars,
425 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
426 'channels': range(1,6),
429 'DiagSpaceGrp': radiance_s,
432 'binVarConfigs': radianceBinVars,
433 'diagNames': pconf.defaultDiagnostics+pconf.sigmaDiagnostics,
434 'channels': range(1,6),
437 'DiagSpaceGrp': radiance_s,
439 'binVarConfigs': radianceBinVars,
440 'diagNames': pconf.defaultDiagnostics,
444 'DiagSpaceGrp': radiance_s,
446 'binVarConfigs': radianceBinVars,
447 'diagNames': pconf.defaultDiagnostics,
448 'channels': range(1,16),
451 'DiagSpaceGrp': radiance_s,
453 'binVarConfigs': radianceBinVars,
454 'diagNames': pconf.defaultDiagnostics,
455 'channels': range(1,16),
458 'DiagSpaceGrp': radiance_s,
460 'binVarConfigs': radianceBinVars,
461 'diagNames': pconf.defaultDiagnostics,
462 'channels': range(1,16),
465 'DiagSpaceGrp': radiance_s,
467 'binVarConfigs': radianceBinVars,
468 'diagNames': pconf.defaultDiagnostics,
469 'channels': range(1,16),
473 'DiagSpaceGrp': model_s,
476 'binVarConfigs': modelBinVars,
477 'diagNames': pconf.modelDiags,