37 integer,
intent(in) :: nx
38 integer,
intent(in) :: ny
39 real(kind=kind_real),
intent(out) :: x(nx,ny,2)
40 real(kind=kind_real),
intent(in) :: pv(nx,ny,2)
41 real(kind=kind_real),
intent(in) :: deltax
42 real(kind=kind_real),
intent(in) :: deltay
43 real(kind=kind_real),
intent(in) :: F1
44 real(kind=kind_real),
intent(in) :: F2
46 real(kind=kind_real) :: rhs(nx,ny), del2x1(nx,ny)
51 rhs(:,:) = rhs(:,:) - f2*pv(:,:,1) - f1*pv(:,:,2)
57 call solve_helmholz (x(:,:,1),del2x1,0.0_kind_real,nx,ny,deltax,deltay)
61 x(:,:,2) = x(:,:,1) + (pv(:,:,1)-del2x1(:,:))*(1.0_kind_real/f1)
subroutine solve_helmholz(x, b, c, nx, ny, deltax, deltay)
Solve a Helmholz equation.
subroutine solve_elliptic_system(x, pv, nx, ny, deltax, deltay, F1, F2)
Solves the elliptic system that arises when inverting potential vorticity.
subroutine laplacian_2d(x, del2x, nx, ny, deltax, deltay)
Horizontal Laplacian operator.