FMS
2024.03
Flexible Modeling System
|
Delivers methods for bicubic interpolation from a coarse regular grid on a fine regular grid. More...
Data Types | |
interface | bcucof |
interface | bcuint |
interface | fill_xy |
interface | horiz_interp_bicubic_new |
Creates a new horiz_interp_type for bicubic interpolation. Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights. More... | |
interface | indl |
find the lower neighbour of xf in field xc, return is the index More... | |
interface | indu |
find the upper neighbour of xf in field xc, return is the index More... | |
Functions/Subroutines | |
subroutine | bcucof_ (y, y1, y2, y12, d1, d2, c) |
bcucof_r4 | |
bcucof_r8 | |
subroutine | bcuint_ (y, y1, y2, y12, x1l, x1u, x2l, x2u, t, u, ansy, ansy1, ansy2) |
bcuint_r4 | |
bcuint_r8 | |
subroutine | fill_xy_ (fi, ics, ice, jcs, jce, mask, maxpass) |
fill_xy_r4 | |
fill_xy_r8 | |
subroutine | horiz_interp_bicubic_ (Interp, data_in, data_out, verbose, mask_in, mask_out, missing_value, missing_permit) |
Perform bicubic horizontal interpolation. | |
subroutine, public | horiz_interp_bicubic_del (Interp) |
Free memory from a horiz_interp_type used for bicubic interpolation (allocated via horiz_bicubic_new) | |
subroutine, public | horiz_interp_bicubic_init |
Initializes module and writes version number to logfile.out. | |
subroutine | horiz_interp_bicubic_new_1d_ (Interp, lon_in, lat_in, lon_out, lat_out, verbose, src_modulo) |
Creates a new horiz_interp_type. More... | |
subroutine | horiz_interp_bicubic_new_1d_s_ (Interp, lon_in, lat_in, lon_out, lat_out, verbose, src_modulo) |
Creates a new horiz_interp_type. More... | |
integer function | indl_ (xc, xf) |
find the lower neighbour of xf in field xc, return is the index | |
indl_r4 | |
indl_r8 | |
integer function | indu_ (xc, xf) |
find the upper neighbour of xf in field xc, return is the index | |
indu_r4 | |
indu_r8 | |
Variables | |
logical | module_is_initialized = .FALSE. |
real(r8_kind) | tpi |
integer | verbose_bicubic = 0 |
Delivers methods for bicubic interpolation from a coarse regular grid on a fine regular grid.
This module delivers methods for bicubic interpolation from a coarse regular grid on a fine regular grid. Subroutines
are methods taken from
W. H. Press, S. A. Teukolski, W. T. Vetterling and B. P. Flannery, Numerical Recipies in FORTRAN, The Art of Scientific Computing. Cambridge University Press, 1992
written by marti (2004) revised by n.sc hmidt @io- warne muen de.demarti (2004) n.sc hmidt @io- warne muen de.de
Version 1.0.0.2005-07-06 The module is thought to interact with MOM-4. Alle benotigten Felder werden extern von MOM verwaltet, da sie nicht fur alle interpolierten Daten die gleiche Dimension haben mussen.
interface horiz_interp_bicubic_mod::bcucof |
Definition at line 114 of file horiz_interp_bicubic.F90.
Private Member Functions | |
bcucof_r4 | |
bcucof_r8 | |
interface horiz_interp_bicubic_mod::bcuint |
Definition at line 109 of file horiz_interp_bicubic.F90.
Private Member Functions | |
bcuint_r4 | |
bcuint_r8 | |
interface horiz_interp_bicubic_mod::fill_xy |
Definition at line 104 of file horiz_interp_bicubic.F90.
Private Member Functions | |
fill_xy_r4 | |
fill_xy_r8 | |
interface horiz_interp_bicubic_mod::horiz_interp_bicubic_new |
Creates a new horiz_interp_type for bicubic interpolation. Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights.
Definition at line 66 of file horiz_interp_bicubic.F90.
Private Member Functions | |
horiz_interp_bicubic_new_1d_r4 | |
horiz_interp_bicubic_new_1d_r8 | |
horiz_interp_bicubic_new_1d_s_r4 | |
horiz_interp_bicubic_new_1d_s_r8 | |
interface horiz_interp_bicubic_mod::indl |
find the lower neighbour of xf in field xc, return is the index
Definition at line 120 of file horiz_interp_bicubic.F90.
Private Member Functions | |
indl_r4 | |
indl_r8 | |
interface horiz_interp_bicubic_mod::indu |
find the upper neighbour of xf in field xc, return is the index
Definition at line 126 of file horiz_interp_bicubic.F90.
Private Member Functions | |
indu_r4 | |
indu_r8 | |
subroutine horiz_interp_bicubic_new_1d_ | ( | type(horiz_interp_type), intent(inout) | Interp, |
real(fms_hi_kind_), dimension(:), intent(in) | lon_in, | ||
real(fms_hi_kind_), dimension(:), intent(in) | lat_in, | ||
real(fms_hi_kind_), dimension(:), intent(in) | lon_out, | ||
real(fms_hi_kind_), dimension(:), intent(in) | lat_out, | ||
integer, intent(in), optional | verbose, | ||
logical, intent(in), optional | src_modulo | ||
) |
Creates a new horiz_interp_type.
Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights.
Definition at line 201 of file horiz_interp_bicubic.inc.
subroutine horiz_interp_bicubic_new_1d_s_ | ( | type(horiz_interp_type), intent(inout) | Interp, |
real(fms_hi_kind_), dimension(:), intent(in) | lon_in, | ||
real(fms_hi_kind_), dimension(:), intent(in) | lat_in, | ||
real(fms_hi_kind_), dimension(:,:), intent(in) | lon_out, | ||
real(fms_hi_kind_), dimension(:,:), intent(in) | lat_out, | ||
integer, intent(in), optional | verbose, | ||
logical, intent(in), optional | src_modulo | ||
) |
Creates a new horiz_interp_type.
Allocates space and initializes a derived-type variable that contains pre-computed interpolation indices and weights.
[in,out] | interp | A derived-type variable containing indices and weights used for subsequent interpolations. To reinitialize this variable for a different grid-to-grid interpolation you must first use the HORIZ_INTERP_BICUBIC_NEW__del interface. |
[in] | lon_in | Longitude (radians) for source data grid |
[in] | lat_in | Latitude (radians) for source data grid |
[in] | lon_out | Longitude (radians) for output data grid |
[in] | lat_out | Latitude (radians) for output data grid |
[in] | verbose | flag for print output amount |
[in] | src_modulo | indicates if the boundary condition along zonal boundary is cyclic or not. Zonal boundary condition is cyclic when true |
Definition at line 26 of file horiz_interp_bicubic.inc.