31 module horiz_interp_mod
42 use mpp_mod,
only: input_nml_file, warning,
mpp_pe, mpp_root_pe
43 use constants_mod,
only: pi
55 use platform_mod,
only: r4_kind, r8_kind
88 module procedure horiz_interp_new_1d_r4
89 module procedure horiz_interp_new_1d_r8
91 module procedure horiz_interp_new_1d_src_r4
92 module procedure horiz_interp_new_1d_src_r8
94 module procedure horiz_interp_new_2d_r4
95 module procedure horiz_interp_new_2d_r8
97 module procedure horiz_interp_new_1d_dst_r4
98 module procedure horiz_interp_new_1d_dst_r8
107 module procedure horiz_interp_read_weights_r4
108 module procedure horiz_interp_read_weights_r8
151 module procedure horiz_interp_base_2d_r4
152 module procedure horiz_interp_base_2d_r8
153 module procedure horiz_interp_base_3d_r4
154 module procedure horiz_interp_base_3d_r8
155 module procedure horiz_interp_solo_1d_r4
156 module procedure horiz_interp_solo_1d_r8
157 module procedure horiz_interp_solo_1d_src_r4
158 module procedure horiz_interp_solo_1d_src_r8
159 module procedure horiz_interp_solo_2d_r4
160 module procedure horiz_interp_solo_2d_r8
161 module procedure horiz_interp_solo_1d_dst_r4
162 module procedure horiz_interp_solo_1d_dst_r8
163 module procedure horiz_interp_solo_old_r4
164 module procedure horiz_interp_solo_old_r8
172 module procedure is_lat_lon_r4
173 module procedure is_lat_lon_r8
178 module procedure horiz_interp_solo_1d_r4
179 module procedure horiz_interp_solo_1d_r8
193 #include<file_version.h>
206 integer :: iunit, ierr, io
209 call write_version_number(
"HORIZ_INTERP_MOD", version)
211 read (input_nml_file, horiz_interp_nml, iostat=io)
213 if (
mpp_pe() == mpp_root_pe() )
then
215 write (iunit, nml=horiz_interp_nml)
219 call mpp_error(fatal,
"horiz_interp_mod: You have overridden the default value of " // &
220 "reproduce_siena and set it to .true. in horiz_interp_nml. This was a temporary workaround to " // &
221 "allow for consistency in continuing experiments and is no longer supported. " // &
222 "Please remove this namelist.")
225 call horiz_interp_conserve_init
226 call horiz_interp_bilinear_init
227 call horiz_interp_bicubic_init
228 call horiz_interp_spherical_init
248 select case(interp % interp_method)
252 call horiz_interp_bilinear_del(interp )
259 interp%I_am_initialized = .false.
273 #include "horiz_interp_r4.fh"
274 #include "horiz_interp_r8.fh"
276 end module horiz_interp_mod
integer function, public check_nml_error(IOSTAT, NML_NAME)
Checks the iostat argument that is returned after reading a namelist and determines if the error code...
subroutine, public write_version_number(version, tag, unit)
Prints to the log file (or a specified unit) the version id string and tag name.
logical function, public fms_error_handler(routine, message, err_msg)
Facilitates the control of fatal error conditions.
subroutine, public horiz_interp_bicubic_del(Interp)
subroutine, public horiz_interp_bicubic_init
Generic interface to horiz_interp_bicubic_* to interpolate data using the weights stored in Interp....
subroutine, public horiz_interp_bilinear_del(Interp)
Deallocates memory used by "horiz_interp_type" variables.
subroutine, public horiz_interp_bilinear_init
Generic interface to interpolate data from a source grid to target grid using the weights stored in I...
Generic interface to populate Interp from a weight file generated from fregrid. Calls horiz_interp_re...
subroutine, public horiz_interp_conserve_init
subroutine, public horiz_interp_conserve_del(Interp)
Generic interface to interpolate data from source grid to target grid from the weights stored in Inte...
subroutine, public horiz_interp_del(Interp)
logical reproduce_siena
is a namelist flag to reproduces siena results if set to .true. Else, defaults to false to decrease t...
subroutine, public horiz_interp_init
logical module_is_initialized
is an internally used flag to prevent module re-initialization
subroutine, public horiz_interp_end
Generic interface to horiz_interp_read_weights_r4 and horiz_interp_read_weights_r8 to read in weight ...
Old interfaces, not recommended.
Internally used subroutine to determine if the grid is a lat-lon grid. Calls is_lat_lon_r4 if grids a...
subroutine, public horiz_interp_spherical_init
subroutine, public horiz_interp_spherical_del(Interp)
Generic interface to compute interpolation weights and mapping indices. Calls horiz_interp_spherical_...
integer, parameter, public bilinear
is an internally used parameter to mark bilinear interpolation
integer, parameter, public bicubic
is an internally used parameter to mark bicubic interpolation
integer, parameter, public spherical
is an internally used parameter to mark spherical interpolation
Datatype holding interpolation weights, mapping indices, and metadata for horizontal interpolation....
integer function stdout()
This function returns the current standard fortran unit numbers for output.
integer function stdlog()
This function returns the current standard fortran unit numbers for log messages. Log messages,...
integer function mpp_pe()
Returns processor ID.
Reduction operations. Find the min of scalar a from the PEs in pelist result is also automatically br...
Generic interface to horiz_interp_bicubic_new_* to compute interpolation weights and,...
Generic interface to compute interpolation weights and mapping indices. Member subroutines and their ...
Generic interface to compute interpolation weights and mapping indices. Member subroutines and their ...
Generic interface to interpolate data from source grid to target grid from the weights stored in Inte...