27 type(
qg_geom),
intent(in) :: geom
28 real(kind_real),
intent(in) :: x(geom%nx,geom%ny,geom%nz)
29 real(kind_real),
intent(inout) :: v(geom%nx,geom%ny,geom%nz)
36 v(1:geom%nx-1,:,iz) = 0.5*x(2:geom%nx,:,iz)/geom%deltax
37 v(geom%nx,:,iz) = 0.5*x(1,:,iz)/geom%deltax
38 v(2:geom%nx,:,iz) = v(2:geom%nx,:,iz)-0.5*x(1:geom%nx-1,:,iz)/geom%deltax
39 v(1,:,iz) = v(1,:,iz)-0.5*x(geom%nx,:,iz)/geom%deltax
51 type(
qg_geom),
intent(in) :: geom
52 real(kind_real),
intent(in) :: x(geom%nx,geom%ny,geom%nz)
53 real(kind_real),
intent(out) :: v(geom%nx,geom%ny,geom%nz)
60 v(1:geom%nx-1,:,iz) = 0.5*x(2:geom%nx,:,iz)/geom%deltax
61 v(geom%nx,:,iz) = 0.5*x(1,:,iz)/geom%deltax
62 v(2:geom%nx,:,iz) = v(2:geom%nx,:,iz)-0.5*x(1:geom%nx-1,:,iz)/geom%deltax
63 v(1,:,iz) = v(1,:,iz)-0.5*x(geom%nx,:,iz)/geom%deltax
75 type(
qg_geom),
intent(in) :: geom
76 real(kind_real),
intent(in) :: v(geom%nx,geom%ny,geom%nz)
77 real(kind_real),
intent(inout) :: x(geom%nx,geom%ny,geom%nz)
83 x(geom%nx,:,iz) = x(geom%nx,:,iz)-0.5/geom%deltax*v(1,:,iz)
84 x(1:geom%nx-1,:,iz) = x(1:geom%nx-1,:,iz)-0.5/geom%deltax*v(2:geom%nx,:,iz)
85 x(1,:,iz) = x(1,:,iz)+0.5/geom%deltax*v(geom%nx,:,iz)
86 x(2:geom%nx,:,iz) = x(2:geom%nx,:,iz)+0.5/geom%deltax*v(1:geom%nx-1,:,iz)
subroutine, public convert_x_to_v(geom, x, v)
Convert streafunction to meridional wind.
subroutine, public convert_x_to_v_tl(geom, x, v)
Convert streafunction to meridional wind - tangent Linear.
subroutine, public convert_x_to_v_ad(geom, v, x)
Convert streafunction to meridional wind - adjoint.