SURFEX v8.1
General documentation of Surfex
hor_interpol_cartesian.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 ! #########
6 SUBROUTINE hor_interpol_cartesian(KLUOUT,PFIELDIN,PFIELDOUT)
7 ! #################################################################################
8 !
9 !
10 USE modd_surfex_mpi, ONLY : nrank, npio
12 USE modd_grid_cartesian, ONLY : xx, xy, nx, ny, xcx, xcy, ncij
13 USE modd_surf_par, ONLY : xundef
14 !
15 USE modi_bilin_value
16 USE modi_bilin_extrap
17 !
18 USE yomhook ,ONLY : lhook, dr_hook
19 USE parkind1 ,ONLY : jprb
20 !
21 IMPLICIT NONE
22 !
23 !* 0.1 declarations of arguments
24 !
25 INTEGER, INTENT(IN) :: KLUOUT ! logical unit of output listing
26 REAL, DIMENSION(:,:), INTENT(IN) :: PFIELDIN ! field to interpolate horizontally
27 REAL, DIMENSION(:,:), INTENT(OUT) :: PFIELDOUT ! interpolated field
28 !
29 !* 0.2 declarations of local variables
30 !
31 REAL(KIND=JPRB) :: ZHOOK_HANDLE
32 
33 !-------------------------------------------------------------------------------------
34 !
35 !* 1. Allocations
36 !
37 IF (lhook) CALL dr_hook('HOR_INTERPOL_CARTESIAN',0,zhook_handle)
38 !
39 !* 4. Interpolation with bilinear
40 !
41  CALL bilin_value(kluout,nx,ny,pfieldin,xcx,xcy,ncij(:,1),ncij(:,2),pfieldout)
42  CALL bilin_extrap(kluout,nx,ny,ncij,xx,xy,pfieldin,xx_out,xy_out,pfieldout,linterp)
43 !
44 IF (lhook) CALL dr_hook('HOR_INTERPOL_CARTESIAN',1,zhook_handle)
45 !
46 !-------------------------------------------------------------------------------------
47 END SUBROUTINE hor_interpol_cartesian
real, dimension(:), allocatable xlon_out
Definition: modd_prep.F90:48
real, dimension(:), allocatable xy
real, dimension(:), allocatable xx
real, dimension(:), allocatable xy_out
Definition: modd_prep.F90:51
real, parameter xundef
logical, dimension(:), allocatable linterp
Definition: modd_prep.F90:43
integer, parameter jprb
Definition: parkind1.F90:32
real, dimension(:), allocatable xlat_out
Definition: modd_prep.F90:47
subroutine hor_interpol_cartesian(KLUOUT, PFIELDIN, PFIELDOUT)
real, dimension(:,:), allocatable xcy
real, dimension(:), allocatable xx_out
Definition: modd_prep.F90:50
real, dimension(:,:), allocatable xcx
logical lhook
Definition: yomhook.F90:15
integer, dimension(:,:), allocatable ncij
subroutine bilin_value(KLUOUT, KX, KY, PFIELD1, PCX, PCY, KCI, KCJ, PFIELD2)
Definition: bilin_value.F90:7
subroutine bilin_extrap(KLUOUT, KX, KY, KCIJ, PX1, PY1, PFIELD1, PX2, PY2, PFIELD2, OINTERP)
Definition: bilin_extrap.F90:7