@@ -430,10 +430,11 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
430
430
431
431
`None`
432
432
433
- """
433
+ """
434
434
g = self .write_vars
435
435
436
436
ndim = data .ndim
437
+
437
438
cfa = self ._cfa_aggregation_instructions (data , cfvar )
438
439
439
440
# ------------------------------------------------------------
@@ -485,12 +486,12 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
485
486
data = cfa [term ]
486
487
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
487
488
term_ncvar = self ._cfa_write_term_variable (
488
- data , #cfa[term] ,
489
+ data ,
489
490
aggregated_data .get (term , f"cfa_{ term } " ),
490
491
location_ncdimensions ,
491
492
)
492
493
aggregated_data_attr .append (f"{ term } : { term_ncvar } " )
493
-
494
+
494
495
# File
495
496
term = "file"
496
497
if substitutions :
@@ -506,7 +507,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
506
507
data = cfa [term ]
507
508
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
508
509
term_ncvar = self ._cfa_write_term_variable (
509
- data , #cfa[term],
510
+ data ,
510
511
aggregated_data .get (term , f"cfa_{ term } " ),
511
512
fragment_ncdimensions ,
512
513
attributes = attributes ,
@@ -527,7 +528,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
527
528
data = cfa [term ]
528
529
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
529
530
term_ncvar = self ._cfa_write_term_variable (
530
- data , # cfa[term],
531
+ data ,
531
532
aggregated_data .get (term , f"cfa_{ term } " ),
532
533
dimensions ,
533
534
)
@@ -547,7 +548,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
547
548
data = cfa [term ]
548
549
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
549
550
term_ncvar = self ._cfa_write_term_variable (
550
- data , #cfa[term],
551
+ data ,
551
552
aggregated_data .get (term , f"cfa_{ term } " ),
552
553
dimensions ,
553
554
)
@@ -819,7 +820,7 @@ def _cfa_write_non_standard_terms(
819
820
data = type (data )(dx )
820
821
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
821
822
term_ncvar = self ._cfa_write_term_variable (
822
- data = data , #type(data)(dx),
823
+ data = data ,
823
824
ncvar = aggregated_data .get (term , f"cfa_{ term } " ),
824
825
ncdimensions = fragment_ncdimensions ,
825
826
)
@@ -893,10 +894,7 @@ def _cfa_aggregation_instructions(self, data, cfvar):
893
894
from os .path import abspath , join , relpath
894
895
from pathlib import PurePath
895
896
from urllib .parse import urlparse
896
- import time # TODO
897
- print (f"\n { cfvar !r} " ) # TODO
898
- start = time .time () # TODO
899
-
897
+
900
898
g = self .write_vars
901
899
902
900
# Define the CFA file susbstitutions, giving precedence over
@@ -911,15 +909,11 @@ def _cfa_aggregation_instructions(self, data, cfvar):
911
909
# Size of the trailing dimension
912
910
n_trailing = 0
913
911
914
- start1 = time .time () # TODO
915
912
aggregation_file = []
916
913
aggregation_address = []
917
914
aggregation_format = []
918
- nnn = 0
919
915
for indices in data .chunk_indices ():
920
- nnn += 1
921
916
file_details = self ._cfa_get_file_details (data [indices ])
922
-
923
917
if len (file_details ) != 1 :
924
918
if file_details :
925
919
raise ValueError (
@@ -964,9 +958,7 @@ def _cfa_aggregation_instructions(self, data, cfvar):
964
958
aggregation_file .append (tuple (filenames2 ))
965
959
aggregation_address .append (addresses )
966
960
aggregation_format .append (formats )
967
- print ('len(data.chunk_indices()) =' ,nnn )
968
- print (f"loop 1: { time .time () - start1 :.3} " )
969
-
961
+
970
962
# Pad each value of the aggregation instruction arrays so that
971
963
# it has 'n_trailing' elements
972
964
a_shape = data .numblocks
@@ -1023,7 +1015,6 @@ def _cfa_aggregation_instructions(self, data, cfvar):
1023
1015
# Return Data objects
1024
1016
# ------------------------------------------------------------
1025
1017
data = type (data )
1026
- print (f"_cfa_aggregation_instructions: { time .time () - start :.3} " )
1027
1018
return {
1028
1019
"location" : data (aggregation_location ),
1029
1020
"file" : data (aggregation_file ),
@@ -1074,13 +1065,14 @@ def _cfa_get_file_details(self, data):
1074
1065
{(('/home/file.pp',), (34556,), ('um',))}
1075
1066
1076
1067
"""
1077
- out = set ()
1068
+ out = []
1069
+ out_append = out .append
1078
1070
for a in data .todict ().values ():
1079
1071
try :
1080
- out . update (
1081
- (( a .get_filenames (), a .get_addresses (), a .get_formats ()), )
1072
+ out_append (
1073
+ (a .get_filenames (), a .get_addresses (), a .get_formats ())
1082
1074
)
1083
1075
except AttributeError :
1084
1076
pass
1085
1077
1086
- return out
1078
+ return set ( out )
0 commit comments