FV3 Bundle
type_linop Module Reference

Data Types

type  linop_type
 

Functions/Subroutines

subroutine linop_alloc (linop, nvec)
 
subroutine linop_dealloc (linop)
 
type(linop_type) function linop_copy (linop)
 
subroutine linop_reorder (linop, mpl)
 
subroutine linop_read (linop, mpl, ncid)
 
subroutine linop_write (linop, mpl, ncid)
 
subroutine linop_apply (linop, mpl, fld_src, fld_dst, ivec, mssrc, msdst)
 
subroutine linop_apply_ad (linop, mpl, fld_dst, fld_src, ivec)
 
subroutine linop_apply_sym (linop, mpl, fld, ivec)
 
subroutine linop_add_op (linop, n_s, row, col, S)
 
subroutine linop_gather (linop, mpl, n_s_arr, linop_arr)
 
subroutine linop_interp_from_lat_lon (linop, mpl, rng, n_src, lon_src, lat_src, mask_src, n_dst, lon_dst, lat_dst, mask_dst, interp_type)
 
subroutine linop_interp_from_mesh_kdtree (linop, mpl, mesh, kdtree, n_src, mask_src, n_dst, lon_dst, lat_dst, mask_dst, interp_type)
 
subroutine linop_interp_grid (linop, mpl, rng, geom, il0i, nc1, c1_to_c0, mask_check, vbot, vtop, interp_type, interp_base)
 
subroutine linop_interp_check_mask (linop, mpl, geom, valid, il0, lon_row, lat_row, lon_col, lat_col)
 
subroutine linop_interp_missing (linop, mpl, n_dst, lon_dst, lat_dst, mask_dst, interp_type)
 

Variables

logical, parameter check_data = .false.
 
integer, parameter reorder_max = 1000000
 
integer, parameter nnatmax = 40
 
real(kind_real), parameter s_inf = 1.0e-2_kind_real
 

Function/Subroutine Documentation

◆ linop_add_op()

subroutine type_linop::linop_add_op ( class(linop_type), intent(inout)  linop,
integer, intent(inout)  n_s,
integer, intent(in)  row,
integer, intent(in)  col,
real(kind_real), intent(in)  S 
)
private

Definition at line 554 of file type_linop.F90.

◆ linop_alloc()

subroutine type_linop::linop_alloc ( class(linop_type), intent(inout)  linop,
integer, intent(in), optional  nvec 
)
private

Definition at line 72 of file type_linop.F90.

◆ linop_apply()

subroutine type_linop::linop_apply ( class(linop_type), intent(in)  linop,
type(mpl_type), intent(in)  mpl,
real(kind_real), dimension(linop%n_src), intent(in)  fld_src,
real(kind_real), dimension(linop%n_dst), intent(out)  fld_dst,
integer, intent(in), optional  ivec,
logical, intent(in), optional  mssrc,
logical, intent(in), optional  msdst 
)
private

Definition at line 348 of file type_linop.F90.

◆ linop_apply_ad()

subroutine type_linop::linop_apply_ad ( class(linop_type), intent(in)  linop,
type(mpl_type), intent(in)  mpl,
real(kind_real), dimension(linop%n_dst), intent(in)  fld_dst,
real(kind_real), dimension(linop%n_src), intent(out)  fld_src,
integer, intent(in), optional  ivec 
)
private

Definition at line 434 of file type_linop.F90.

◆ linop_apply_sym()

subroutine type_linop::linop_apply_sym ( class(linop_type), intent(in)  linop,
type(mpl_type), intent(in)  mpl,
real(kind_real), dimension(linop%n_src), intent(inout)  fld,
integer, intent(in), optional  ivec 
)
private

Definition at line 488 of file type_linop.F90.

◆ linop_copy()

type(linop_type) function type_linop::linop_copy ( class(linop_type), intent(in)  linop)
private

Definition at line 132 of file type_linop.F90.

◆ linop_dealloc()

subroutine type_linop::linop_dealloc ( class(linop_type), intent(inout)  linop)
private

Definition at line 113 of file type_linop.F90.

◆ linop_gather()

subroutine type_linop::linop_gather ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(in)  mpl,
integer, dimension(mpl%nthread), intent(in)  n_s_arr,
type(linop_type), dimension(mpl%nthread), intent(in)  linop_arr 
)
private

Definition at line 599 of file type_linop.F90.

◆ linop_interp_check_mask()

subroutine type_linop::linop_interp_check_mask ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(inout)  mpl,
type(geom_type), intent(in)  geom,
logical, dimension(linop%n_s), intent(inout)  valid,
integer  il0,
real(kind_real), dimension(linop%n_dst), intent(in), optional  lon_row,
real(kind_real), dimension(linop%n_dst), intent(in), optional  lat_row,
real(kind_real), dimension(linop%n_src), intent(in), optional  lon_col,
real(kind_real), dimension(linop%n_src), intent(in), optional  lat_col 
)
private

Definition at line 1056 of file type_linop.F90.

◆ linop_interp_from_lat_lon()

subroutine type_linop::linop_interp_from_lat_lon ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
integer, intent(in)  n_src,
real(kind_real), dimension(n_src), intent(in)  lon_src,
real(kind_real), dimension(n_src), intent(in)  lat_src,
logical, dimension(n_src), intent(in)  mask_src,
integer, intent(in)  n_dst,
real(kind_real), dimension(n_dst), intent(in)  lon_dst,
real(kind_real), dimension(n_dst), intent(in)  lat_dst,
logical, dimension(n_dst), intent(in)  mask_dst,
character(len=*), intent(in)  interp_type 
)
private

Definition at line 633 of file type_linop.F90.

Here is the caller graph for this function:

◆ linop_interp_from_mesh_kdtree()

subroutine type_linop::linop_interp_from_mesh_kdtree ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(inout)  mpl,
type(mesh_type), intent(in)  mesh,
type(kdtree_type), intent(in)  kdtree,
integer, intent(in)  n_src,
logical, dimension(n_src), intent(in)  mask_src,
integer, intent(in)  n_dst,
real(kind_real), dimension(n_dst), intent(in)  lon_dst,
real(kind_real), dimension(n_dst), intent(in)  lat_dst,
logical, dimension(n_dst), intent(in)  mask_dst,
character(len=*), intent(in)  interp_type 
)
private

Definition at line 702 of file type_linop.F90.

Here is the caller graph for this function:

◆ linop_interp_grid()

subroutine type_linop::linop_interp_grid ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(inout)  mpl,
type(rng_type), intent(inout)  rng,
type(geom_type), intent(in)  geom,
integer, intent(in)  il0i,
integer, intent(in)  nc1,
integer, dimension(nc1), intent(in)  c1_to_c0,
logical, intent(in)  mask_check,
integer, dimension(nc1), intent(in)  vbot,
integer, dimension(nc1), intent(in)  vtop,
character(len=*), intent(in)  interp_type,
type(linop_type), intent(inout)  interp_base 
)
private

Definition at line 921 of file type_linop.F90.

Here is the caller graph for this function:

◆ linop_interp_missing()

subroutine type_linop::linop_interp_missing ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(in)  mpl,
integer, intent(in)  n_dst,
real(kind_real), dimension(n_dst), intent(in)  lon_dst,
real(kind_real), dimension(n_dst), intent(in)  lat_dst,
logical, dimension(n_dst), intent(in)  mask_dst,
character(len=*), intent(in)  interp_type 
)
private

Definition at line 1143 of file type_linop.F90.

◆ linop_read()

subroutine type_linop::linop_read ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(in)  mpl,
integer, intent(in)  ncid 
)
private

Definition at line 230 of file type_linop.F90.

◆ linop_reorder()

subroutine type_linop::linop_reorder ( class(linop_type), intent(inout)  linop,
type(mpl_type), intent(in)  mpl 
)
private

Definition at line 172 of file type_linop.F90.

◆ linop_write()

subroutine type_linop::linop_write ( class(linop_type), intent(in)  linop,
type(mpl_type), intent(in)  mpl,
integer, intent(in)  ncid 
)
private

Definition at line 290 of file type_linop.F90.

Variable Documentation

◆ check_data

logical, parameter type_linop::check_data = .false.

Definition at line 26 of file type_linop.F90.

◆ nnatmax

integer, parameter type_linop::nnatmax = 40

Definition at line 28 of file type_linop.F90.

◆ reorder_max

integer, parameter type_linop::reorder_max = 1000000

Definition at line 27 of file type_linop.F90.

◆ s_inf

real(kind_real), parameter type_linop::s_inf = 1.0e-2_kind_real

Definition at line 29 of file type_linop.F90.