@@ -616,7 +616,7 @@ def merge(self, until=-1, raw_data=True):
616
616
# Set type of eddy with first file
617
617
eddies .sign_type = self .current_obs .sign_type
618
618
# Fields to copy
619
- fields = self .current_obs .obs .dtype .descr
619
+ fields = self .current_obs .obs .dtype .names
620
620
621
621
# To know if the track start
622
622
first_obs_save_in_tracks = zeros (self .i_current_by_tracks .shape , dtype = bool_ )
@@ -639,10 +639,9 @@ def merge(self, until=-1, raw_data=True):
639
639
index_in = self [i ]["in" ][m_first_obs ]
640
640
# Copy all variable
641
641
for field in fields :
642
- var = field [0 ]
643
- if var == "cost_association" :
642
+ if field == "cost_association" :
644
643
continue
645
- eddies [var ][index_final [m_first_obs ]] = self .previous_obs [var ][
644
+ eddies [field ][index_final [m_first_obs ]] = self .previous_obs [field ][
646
645
index_in
647
646
]
648
647
# Increment
@@ -666,13 +665,11 @@ def merge(self, until=-1, raw_data=True):
666
665
# Index in the current file
667
666
index_current = self [i ]["out" ]
668
667
668
+ if "cost_association" in eddies .obs .dtype .names :
669
+ eddies ["cost_association" ][index_final - 1 ] = self [i ]["cost_value" ]
669
670
# Copy all variable
670
671
for field in fields :
671
- var = field [0 ]
672
- if var == "cost_association" :
673
- eddies [var ][index_final - 1 ] = self [i ]["cost_value" ]
674
- else :
675
- eddies [var ][index_final ] = self .current_obs [var ][index_current ]
672
+ eddies [field ][index_final ] = self .current_obs [field ][index_current ]
676
673
677
674
# Add increment for each index used
678
675
self .i_current_by_tracks [i_id ] += 1
0 commit comments