16 integer,
intent(in) :: nx
17 integer,
intent(in) :: ny
18 real(kind=kind_real),
intent(inout) :: x(nx,ny,2)
19 real(kind=kind_real),
intent(inout) :: pv(nx,ny,2)
20 real(kind=kind_real),
intent(in) :: deltax
21 real(kind=kind_real),
intent(in) :: deltay
22 real(kind=kind_real),
intent(in) :: F1
23 real(kind=kind_real),
intent(in) :: F2
25 real(kind=kind_real) :: pv_nobc(nx,ny,2)
30 x(:,:,1) = -f1*x(:,:,1)
31 x(:,:,2) = -f2*x(:,:,2)
35 x(:,:,:) = 0.0_kind_real
36 pv(:,:,1) = pv(:,:,1) + pv_nobc(:,:,1)*(-1.0_kind_real/f1)
37 pv(:,:,2) = pv(:,:,2) + pv_nobc(:,:,2)*(-1.0_kind_real/f2)
subroutine invert_pv_ad(x, pv, nx, ny, deltax, deltay, F1, F2)
Invert potential vorticity - Adjoint.
subroutine solve_elliptic_system(x, pv, nx, ny, deltax, deltay, F1, F2)
Solves the elliptic system that arises when inverting potential vorticity.