@@ -542,6 +542,33 @@ def close_network(self, other, nb_obs_min=10, **kwargs):
542
542
m [other .network_slice (i )] = True
543
543
return other .extract_with_mask (m )
544
544
545
+ def normalize_longitude (self ):
546
+ """Normalize all longitude
547
+
548
+ Normalize longitude field and in the same range :
549
+ - longitude_max
550
+ - contour_lon_e (how to do if in raw)
551
+ - contour_lon_s (how to do if in raw)
552
+ """
553
+ i_start , i_stop , _ = self .index_network
554
+ lon0 = (self .lon [i_start ] - 180 ).repeat (i_stop - i_start )
555
+ logger .debug ("Normalize longitude" )
556
+ self .lon [:] = (self .lon - lon0 ) % 360 + lon0
557
+ if "lon_max" in self .obs .dtype .names :
558
+ logger .debug ("Normalize longitude_max" )
559
+ self .lon_max [:] = (self .lon_max - self .lon + 180 ) % 360 + self .lon - 180
560
+ if not self .raw_data :
561
+ if "contour_lon_e" in self .obs .dtype .names :
562
+ logger .debug ("Normalize effective contour longitude" )
563
+ self .contour_lon_e [:] = (
564
+ (self .contour_lon_e .T - self .lon + 180 ) % 360 + self .lon - 180
565
+ ).T
566
+ if "contour_lon_s" in self .obs .dtype .names :
567
+ logger .debug ("Normalize speed contour longitude" )
568
+ self .contour_lon_s [:] = (
569
+ (self .contour_lon_s .T - self .lon + 180 ) % 360 + self .lon - 180
570
+ ).T
571
+
545
572
def numbering_segment (self , start = 0 ):
546
573
"""
547
574
New numbering of segment
0 commit comments