FMS
2025.04
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 113 of file horiz_interp_bicubic.F90.
Private Member Functions | |
bcucof_r4 | |
bcucof_r8 | |
interface horiz_interp_bicubic_mod::bcuint |
Definition at line 108 of file horiz_interp_bicubic.F90.
Private Member Functions | |
bcuint_r4 | |
bcuint_r8 | |
interface horiz_interp_bicubic_mod::fill_xy |
Definition at line 103 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 65 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 119 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 125 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 200 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 25 of file horiz_interp_bicubic.inc.