@@ -280,7 +280,6 @@ def kernel_staggered_2d(model, u, v, **kwargs):
280280 epsilon = 1 + 2 * epsilon
281281 delta = sqrt (1 + 2 * delta )
282282 s = model .grid .stepping_dim .spacing
283- x , z = model .grid .dimensions
284283
285284 # Get source
286285 qu = kwargs .get ('qu' , 0 )
@@ -291,31 +290,31 @@ def kernel_staggered_2d(model, u, v, **kwargs):
291290
292291 if forward :
293292 # Stencils
294- phdx = costheta * u .dx - sintheta * u .dyc
293+ phdx = costheta * u .dx - sintheta * u .dy
295294 u_vx = Eq (vx .forward , dampl * vx - dampl * s * phdx )
296295
297- pvdz = sintheta * v .dxc + costheta * v .dy
296+ pvdz = sintheta * v .dx + costheta * v .dy
298297 u_vz = Eq (vz .forward , dampl * vz - dampl * s * pvdz )
299298
300- dvx = costheta * vx .forward .dx - sintheta * vx .forward .dyc
301- dvz = sintheta * vz .forward .dxc + costheta * vz .forward .dy
299+ dvx = costheta * vx .forward .dx - sintheta * vx .forward .dy
300+ dvz = sintheta * vz .forward .dx + costheta * vz .forward .dy
302301
303302 # u and v equations
304303 pv_eq = Eq (v .forward , dampl * (v - s / m * (delta * dvx + dvz )) + s / m * qv )
305304 ph_eq = Eq (u .forward , dampl * (u - s / m * (epsilon * dvx + delta * dvz )) +
306305 s / m * qu )
307306 else :
308307 # Stencils
309- phdx = (( costheta * epsilon * u ). dx - ( sintheta * epsilon * u ). dyc +
310- (costheta * delta * v ).dx - (sintheta * delta * v ). dyc )
308+ a = epsilon * u + delta * v
309+ phdx = (costheta * a ).dx - (sintheta * a ). dy
311310 u_vx = Eq (vx .backward , dampl * vx + dampl * s * phdx )
312311
313- pvdz = (( sintheta * delta * u ). dxc + ( costheta * delta * u ). dy +
314- (sintheta * v ). dxc + (costheta * v ).dy )
312+ b = delta * u + v
313+ pvdz = (sintheta * b ). dx + (costheta * b ).dy
315314 u_vz = Eq (vz .backward , dampl * vz + dampl * s * pvdz )
316315
317- dvx = (costheta * vx .backward ).dx - (sintheta * vx .backward ).dyc
318- dvz = (sintheta * vz .backward ).dxc + (costheta * vz .backward ).dy
316+ dvx = (costheta * vx .backward ).dx - (sintheta * vx .backward ).dy
317+ dvz = (sintheta * vz .backward ).dx + (costheta * vz .backward ).dy
319318
320319 # u and v equations
321320 pv_eq = Eq (v .backward , dampl * (v + s / m * dvz ))
@@ -356,24 +355,24 @@ def kernel_staggered_3d(model, u, v, **kwargs):
356355 if forward :
357356 # Stencils
358357 phdx = (costheta * cosphi * u .dx +
359- costheta * sinphi * u .dyc -
360- sintheta * u .dzc )
358+ costheta * sinphi * u .dy -
359+ sintheta * u .dz )
361360 u_vx = Eq (vx .forward , dampl * vx - dampl * s * phdx )
362361
363- phdy = - sinphi * u .dxc + cosphi * u .dy
362+ phdy = - sinphi * u .dx + cosphi * u .dy
364363 u_vy = Eq (vy .forward , dampl * vy - dampl * s * phdy )
365364
366- pvdz = (sintheta * cosphi * v .dxc +
367- sintheta * sinphi * v .dyc +
365+ pvdz = (sintheta * cosphi * v .dx +
366+ sintheta * sinphi * v .dy +
368367 costheta * v .dz )
369368 u_vz = Eq (vz .forward , dampl * vz - dampl * s * pvdz )
370369
371370 dvx = (costheta * cosphi * vx .forward .dx +
372- costheta * sinphi * vx .forward .dyc -
373- sintheta * vx .forward .dzc )
374- dvy = - sinphi * vy .forward .dxc + cosphi * vy .forward .dy
375- dvz = (sintheta * cosphi * vz .forward .dxc +
376- sintheta * sinphi * vz .forward .dyc +
371+ costheta * sinphi * vx .forward .dy -
372+ sintheta * vx .forward .dz )
373+ dvy = - sinphi * vy .forward .dx + cosphi * vy .forward .dy
374+ dvz = (sintheta * cosphi * vz .forward .dx +
375+ sintheta * sinphi * vz .forward .dy +
377376 costheta * vz .forward .dz )
378377 # u and v equations
379378 pv_eq = Eq (v .forward , dampl * (v - s / m * (delta * (dvx + dvy ) + dvz )) +
@@ -383,30 +382,27 @@ def kernel_staggered_3d(model, u, v, **kwargs):
383382 delta * dvz )) + s / m * qu )
384383 else :
385384 # Stencils
386- phdx = ((costheta * cosphi * epsilon * u ).dx +
387- (costheta * sinphi * epsilon * u ).dyc -
388- (sintheta * epsilon * u ).dzc + (costheta * cosphi * delta * v ).dx +
389- (costheta * sinphi * delta * v ).dyc -
390- (sintheta * delta * v ).dzc )
385+ a = epsilon * u + delta * v
386+ phdx = ((costheta * cosphi * a ).dx +
387+ (costheta * sinphi * a ).dy -
388+ (sintheta * a ).dz )
391389 u_vx = Eq (vx .backward , dampl * vx + dampl * s * phdx )
392390
393- phdy = (- (sinphi * epsilon * u ).dxc + (cosphi * epsilon * u ).dy -
394- (sinphi * delta * v ).dxc + (cosphi * delta * v ).dy )
391+ phdy = (- (sinphi * a ).dx + (cosphi * a ).dy )
395392 u_vy = Eq (vy .backward , dampl * vy + dampl * s * phdy )
396393
397- pvdz = ((sintheta * cosphi * delta * u ).dxc +
398- (sintheta * sinphi * delta * u ).dyc +
399- (costheta * delta * u ).dz + (sintheta * cosphi * v ).dxc +
400- (sintheta * sinphi * v ).dyc +
401- (costheta * v ).dz )
394+ b = delta * u + v
395+ pvdz = ((sintheta * cosphi * b ).dx +
396+ (sintheta * sinphi * b ).dy +
397+ (costheta * b ).dz )
402398 u_vz = Eq (vz .backward , dampl * vz + dampl * s * pvdz )
403399
404400 dvx = ((costheta * cosphi * vx .backward ).dx +
405- (costheta * sinphi * vx .backward ).dyc -
406- (sintheta * vx .backward ).dzc )
407- dvy = (- sinphi * vy .backward ).dxc + (cosphi * vy .backward ).dy
408- dvz = ((sintheta * cosphi * vz .backward ).dxc +
409- (sintheta * sinphi * vz .backward ).dyc +
401+ (costheta * sinphi * vx .backward ).dy -
402+ (sintheta * vx .backward ).dz )
403+ dvy = (- sinphi * vy .backward ).dx + (cosphi * vy .backward ).dy
404+ dvz = ((sintheta * cosphi * vz .backward ).dx +
405+ (sintheta * sinphi * vz .backward ).dy +
410406 (costheta * vz .backward ).dz )
411407 # u and v equations
412408 pv_eq = Eq (v .backward , dampl * (v + s / m * dvz ))
0 commit comments