@@ -430,7 +430,7 @@ 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
@@ -485,12 +485,12 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
485
485
data = cfa [term ]
486
486
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
487
487
term_ncvar = self ._cfa_write_term_variable (
488
- data , #cfa[term] ,
488
+ data ,
489
489
aggregated_data .get (term , f"cfa_{ term } " ),
490
490
location_ncdimensions ,
491
491
)
492
492
aggregated_data_attr .append (f"{ term } : { term_ncvar } " )
493
-
493
+
494
494
# File
495
495
term = "file"
496
496
if substitutions :
@@ -506,7 +506,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
506
506
data = cfa [term ]
507
507
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
508
508
term_ncvar = self ._cfa_write_term_variable (
509
- data , #cfa[term],
509
+ data ,
510
510
aggregated_data .get (term , f"cfa_{ term } " ),
511
511
fragment_ncdimensions ,
512
512
attributes = attributes ,
@@ -527,7 +527,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
527
527
data = cfa [term ]
528
528
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
529
529
term_ncvar = self ._cfa_write_term_variable (
530
- data , # cfa[term],
530
+ data ,
531
531
aggregated_data .get (term , f"cfa_{ term } " ),
532
532
dimensions ,
533
533
)
@@ -547,7 +547,7 @@ def _create_cfa_data(self, ncvar, ncdimensions, data, cfvar):
547
547
data = cfa [term ]
548
548
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
549
549
term_ncvar = self ._cfa_write_term_variable (
550
- data , #cfa[term],
550
+ data ,
551
551
aggregated_data .get (term , f"cfa_{ term } " ),
552
552
dimensions ,
553
553
)
@@ -819,7 +819,7 @@ def _cfa_write_non_standard_terms(
819
819
data = type (data )(dx )
820
820
self .implementation .nc_set_hdf5_chunksizes (data , data .shape )
821
821
term_ncvar = self ._cfa_write_term_variable (
822
- data = data , #type(data)(dx),
822
+ data = data ,
823
823
ncvar = aggregated_data .get (term , f"cfa_{ term } " ),
824
824
ncdimensions = fragment_ncdimensions ,
825
825
)
@@ -893,10 +893,7 @@ def _cfa_aggregation_instructions(self, data, cfvar):
893
893
from os .path import abspath , join , relpath
894
894
from pathlib import PurePath
895
895
from urllib .parse import urlparse
896
- import time # TODO
897
- print (f"\n { cfvar !r} " ) # TODO
898
- start = time .time () # TODO
899
-
896
+
900
897
g = self .write_vars
901
898
902
899
# Define the CFA file susbstitutions, giving precedence over
@@ -911,15 +908,12 @@ def _cfa_aggregation_instructions(self, data, cfvar):
911
908
# Size of the trailing dimension
912
909
n_trailing = 0
913
910
914
- start1 = time .time () # TODO
915
911
aggregation_file = []
916
912
aggregation_address = []
917
913
aggregation_format = []
918
- nnn = 0
919
914
for indices in data .chunk_indices ():
920
- nnn += 1
921
915
file_details = self ._cfa_get_file_details (data [indices ])
922
-
916
+
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
@@ -980,6 +972,8 @@ def _cfa_aggregation_instructions(self, data, cfvar):
980
972
):
981
973
n = n_trailing - len (filenames )
982
974
if n :
975
+ # This chunk has fewer fragment files than some
976
+ # others, so some padding is required.
983
977
pad = ("" ,) * n
984
978
aggregation_file [i ] = filenames + pad
985
979
aggregation_format [i ] = formats + pad
@@ -1023,7 +1017,6 @@ def _cfa_aggregation_instructions(self, data, cfvar):
1023
1017
# Return Data objects
1024
1018
# ------------------------------------------------------------
1025
1019
data = type (data )
1026
- print (f"_cfa_aggregation_instructions: { time .time () - start :.3} " )
1027
1020
return {
1028
1021
"location" : data (aggregation_location ),
1029
1022
"file" : data (aggregation_file ),
@@ -1074,13 +1067,12 @@ def _cfa_get_file_details(self, data):
1074
1067
{(('/home/file.pp',), (34556,), ('um',))}
1075
1068
1076
1069
"""
1077
- out = set ()
1070
+ out = []
1071
+ append = out .append
1078
1072
for a in data .todict ().values ():
1079
1073
try :
1080
- out .update (
1081
- ((a .get_filenames (), a .get_addresses (), a .get_formats ()),)
1082
- )
1074
+ append ((a .get_filenames (), a .get_addresses (), a .get_formats ()))
1083
1075
except AttributeError :
1084
1076
pass
1085
1077
1086
- return out
1078
+ return set ( out )
0 commit comments