@@ -19,11 +19,11 @@ def AdvectionRK4(particle, fieldset, time): # pragma: no cover
1919 dt = particle .dt / np .timedelta64 (1 , "s" ) # noqa TODO improve API for converting dt to seconds
2020 (u1 , v1 ) = fieldset .UV [particle ]
2121 lon1 , lat1 = (particle .lon + u1 * 0.5 * dt , particle .lat + v1 * 0.5 * dt )
22- (u2 , v2 ) = fieldset .UV [time + 0.5 * dt , particle .depth , lat1 , lon1 , particle ]
22+ (u2 , v2 ) = fieldset .UV [time + 0.5 * particle . dt , particle .depth , lat1 , lon1 , particle ]
2323 lon2 , lat2 = (particle .lon + u2 * 0.5 * dt , particle .lat + v2 * 0.5 * dt )
24- (u3 , v3 ) = fieldset .UV [time + 0.5 * dt , particle .depth , lat2 , lon2 , particle ]
24+ (u3 , v3 ) = fieldset .UV [time + 0.5 * particle . dt , particle .depth , lat2 , lon2 , particle ]
2525 lon3 , lat3 = (particle .lon + u3 * dt , particle .lat + v3 * dt )
26- (u4 , v4 ) = fieldset .UV [time + dt , particle .depth , lat3 , lon3 , particle ]
26+ (u4 , v4 ) = fieldset .UV [time + particle . dt , particle .depth , lat3 , lon3 , particle ]
2727 particle_dlon += (u1 + 2 * u2 + 2 * u3 + u4 ) / 6.0 * dt # noqa
2828 particle_dlat += (v1 + 2 * v2 + 2 * v3 + v4 ) / 6.0 * dt # noqa
2929
@@ -35,15 +35,15 @@ def AdvectionRK4_3D(particle, fieldset, time): # pragma: no cover
3535 lon1 = particle .lon + u1 * 0.5 * dt
3636 lat1 = particle .lat + v1 * 0.5 * dt
3737 dep1 = particle .depth + w1 * 0.5 * dt
38- (u2 , v2 , w2 ) = fieldset .UVW [time + 0.5 * dt , dep1 , lat1 , lon1 , particle ]
38+ (u2 , v2 , w2 ) = fieldset .UVW [time + 0.5 * particle . dt , dep1 , lat1 , lon1 , particle ]
3939 lon2 = particle .lon + u2 * 0.5 * dt
4040 lat2 = particle .lat + v2 * 0.5 * dt
4141 dep2 = particle .depth + w2 * 0.5 * dt
42- (u3 , v3 , w3 ) = fieldset .UVW [time + 0.5 * dt , dep2 , lat2 , lon2 , particle ]
42+ (u3 , v3 , w3 ) = fieldset .UVW [time + 0.5 * particle . dt , dep2 , lat2 , lon2 , particle ]
4343 lon3 = particle .lon + u3 * dt
4444 lat3 = particle .lat + v3 * dt
4545 dep3 = particle .depth + w3 * dt
46- (u4 , v4 , w4 ) = fieldset .UVW [time + dt , dep3 , lat3 , lon3 , particle ]
46+ (u4 , v4 , w4 ) = fieldset .UVW [time + particle . dt , dep3 , lat3 , lon3 , particle ]
4747 particle_dlon += (u1 + 2 * u2 + 2 * u3 + u4 ) / 6 * dt # noqa
4848 particle_dlat += (v1 + 2 * v2 + 2 * v3 + v4 ) / 6 * dt # noqa
4949 particle_ddepth += (w1 + 2 * w2 + 2 * w3 + w4 ) / 6 * dt # noqa
@@ -63,21 +63,21 @@ def AdvectionRK4_3D_CROCO(particle, fieldset, time): # pragma: no cover
6363 sig_dep1 = sig_dep + w1 * 0.5 * dt
6464 dep1 = sig_dep1 * fieldset .H [time , 0 , lat1 , lon1 ]
6565
66- (u2 , v2 , w2 ) = fieldset .UVW [time + 0.5 * dt , dep1 , lat1 , lon1 , particle ]
66+ (u2 , v2 , w2 ) = fieldset .UVW [time + 0.5 * particle . dt , dep1 , lat1 , lon1 , particle ]
6767 w2 *= sig_dep1 / fieldset .H [time , 0 , lat1 , lon1 ]
6868 lon2 = particle .lon + u2 * 0.5 * dt
6969 lat2 = particle .lat + v2 * 0.5 * dt
7070 sig_dep2 = sig_dep + w2 * 0.5 * dt
7171 dep2 = sig_dep2 * fieldset .H [time , 0 , lat2 , lon2 ]
7272
73- (u3 , v3 , w3 ) = fieldset .UVW [time + 0.5 * dt , dep2 , lat2 , lon2 , particle ]
73+ (u3 , v3 , w3 ) = fieldset .UVW [time + 0.5 * particle . dt , dep2 , lat2 , lon2 , particle ]
7474 w3 *= sig_dep2 / fieldset .H [time , 0 , lat2 , lon2 ]
7575 lon3 = particle .lon + u3 * dt
7676 lat3 = particle .lat + v3 * dt
7777 sig_dep3 = sig_dep + w3 * dt
7878 dep3 = sig_dep3 * fieldset .H [time , 0 , lat3 , lon3 ]
7979
80- (u4 , v4 , w4 ) = fieldset .UVW [time + dt , dep3 , lat3 , lon3 , particle ]
80+ (u4 , v4 , w4 ) = fieldset .UVW [time + particle . dt , dep3 , lat3 , lon3 , particle ]
8181 w4 *= sig_dep3 / fieldset .H [time , 0 , lat3 , lon3 ]
8282 lon4 = particle .lon + u4 * dt
8383 lat4 = particle .lat + v4 * dt
@@ -127,27 +127,27 @@ def AdvectionRK45(particle, fieldset, time): # pragma: no cover
127127
128128 (u1 , v1 ) = fieldset .UV [particle ]
129129 lon1 , lat1 = (particle .lon + u1 * A [0 ][0 ] * dt , particle .lat + v1 * A [0 ][0 ] * dt )
130- (u2 , v2 ) = fieldset .UV [time + c [0 ] * dt , particle .depth , lat1 , lon1 , particle ]
130+ (u2 , v2 ) = fieldset .UV [time + c [0 ] * particle . dt , particle .depth , lat1 , lon1 , particle ]
131131 lon2 , lat2 = (
132132 particle .lon + (u1 * A [1 ][0 ] + u2 * A [1 ][1 ]) * dt ,
133133 particle .lat + (v1 * A [1 ][0 ] + v2 * A [1 ][1 ]) * dt ,
134134 )
135- (u3 , v3 ) = fieldset .UV [time + c [1 ] * dt , particle .depth , lat2 , lon2 , particle ]
135+ (u3 , v3 ) = fieldset .UV [time + c [1 ] * particle . dt , particle .depth , lat2 , lon2 , particle ]
136136 lon3 , lat3 = (
137137 particle .lon + (u1 * A [2 ][0 ] + u2 * A [2 ][1 ] + u3 * A [2 ][2 ]) * dt ,
138138 particle .lat + (v1 * A [2 ][0 ] + v2 * A [2 ][1 ] + v3 * A [2 ][2 ]) * dt ,
139139 )
140- (u4 , v4 ) = fieldset .UV [time + c [2 ] * dt , particle .depth , lat3 , lon3 , particle ]
140+ (u4 , v4 ) = fieldset .UV [time + c [2 ] * particle . dt , particle .depth , lat3 , lon3 , particle ]
141141 lon4 , lat4 = (
142142 particle .lon + (u1 * A [3 ][0 ] + u2 * A [3 ][1 ] + u3 * A [3 ][2 ] + u4 * A [3 ][3 ]) * dt ,
143143 particle .lat + (v1 * A [3 ][0 ] + v2 * A [3 ][1 ] + v3 * A [3 ][2 ] + v4 * A [3 ][3 ]) * dt ,
144144 )
145- (u5 , v5 ) = fieldset .UV [time + c [3 ] * dt , particle .depth , lat4 , lon4 , particle ]
145+ (u5 , v5 ) = fieldset .UV [time + c [3 ] * particle . dt , particle .depth , lat4 , lon4 , particle ]
146146 lon5 , lat5 = (
147147 particle .lon + (u1 * A [4 ][0 ] + u2 * A [4 ][1 ] + u3 * A [4 ][2 ] + u4 * A [4 ][3 ] + u5 * A [4 ][4 ]) * dt ,
148148 particle .lat + (v1 * A [4 ][0 ] + v2 * A [4 ][1 ] + v3 * A [4 ][2 ] + v4 * A [4 ][3 ] + v5 * A [4 ][4 ]) * dt ,
149149 )
150- (u6 , v6 ) = fieldset .UV [time + c [4 ] * dt , particle .depth , lat5 , lon5 , particle ]
150+ (u6 , v6 ) = fieldset .UV [time + c [4 ] * particle . dt , particle .depth , lat5 , lon5 , particle ]
151151
152152 lon_4th = (u1 * b4 [0 ] + u2 * b4 [1 ] + u3 * b4 [2 ] + u4 * b4 [3 ] + u5 * b4 [4 ]) * dt
153153 lat_4th = (v1 * b4 [0 ] + v2 * b4 [1 ] + v3 * b4 [2 ] + v4 * b4 [3 ] + v5 * b4 [4 ]) * dt
0 commit comments