@@ -45,20 +45,20 @@ def _sample_salinity(particles, fieldset):
4545
4646
4747def _ctd_sinking (particles , fieldset ):
48- def ctd_lowering ( p ):
49- p . dz = - particles . winch_speed * p . dt / np . timedelta64 ( 1 , "s" )
50- p . raising = np . where ( p . z + p . dz < p . max_depth , 1 , p . raising )
51- p . dz = np . where ( p . z + p .dz < p .max_depth , - p . dz , p . dz )
52-
53- ctd_lowering ( particles [particles . raising == 0 ])
48+ for i in range ( len ( particles ) ):
49+ if particles [ i ]. raising == 0 :
50+ particles [ i ]. dz = - particles [ i ]. winch_speed * particles [ i ]. dt / np . timedelta64 ( 1 , "s" )
51+ if particles [ i ]. z + particles [ i ] .dz < particles [ i ] .max_depth :
52+ particles [ i ]. raising = 1
53+ particles [i ]. dz = - particles [ i ]. dz
5454
5555
5656def _ctd_rising (particles , fieldset ):
57- def ctd_rising ( p ):
58- p . dz = p . winch_speed * p . dt / np . timedelta64 ( 1 , "s" )
59- p . state = np . where ( p . z + p .dz > p . min_depth , StatusCode . Delete , p . state )
60-
61- ctd_rising ( particles [particles . raising == 1 ])
57+ for i in range ( len ( particles ) ):
58+ if particles [ i ]. raising == 1 :
59+ particles [ i ] .dz = particles [ i ]. winch_speed * particles [ i ]. dt / np . timedelta64 ( 1 , "s" )
60+ if particles [ i ]. z + particles [ i ]. dz > particles [ i ]. min_depth :
61+ particles [i ]. state = StatusCode . Delete
6262
6363
6464def simulate_ctd (
0 commit comments