SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
interp_grid_nat.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 !######################
7 !######################
8 
9 INTERFACE interp_grid_nat
10 
11 SUBROUTINE interp_grid_nat_1d(PDG1,PT1,PDG2,PT2)
12 !
13 REAL, DIMENSION(:,:), INTENT(IN) :: pdg1 ! input vertical grid
14 REAL, DIMENSION(:,:), INTENT(IN) :: pt1 ! input temperatures
15 REAL, DIMENSION(:), INTENT(IN) :: pdg2 ! output vertical grid
16 REAL, DIMENSION(:,:), INTENT(OUT) :: pt2 ! output temperatures
17 !
18 END SUBROUTINE interp_grid_nat_1d
19 !
20 SUBROUTINE interp_grid_nat_2d(PDG1,PT1,PDG2,PT2)
21 !
22 REAL, DIMENSION(:,:), INTENT(IN) :: pdg1 ! input vertical grid
23 REAL, DIMENSION(:,:), INTENT(IN) :: pt1 ! input temperatures
24 REAL, DIMENSION(:,:), INTENT(IN) :: pdg2 ! output vertical grid
25 REAL, DIMENSION(:,:), INTENT(OUT) :: pt2 ! output temperatures
26 !
27 END SUBROUTINE interp_grid_nat_2d
28 !
29 END INTERFACE
30 
31 END MODULE modi_interp_grid_nat
32 
33 ! ##########################################
34  SUBROUTINE interp_grid_nat_1d(PDG1,PT1,PDG2,PT2)
35 ! ##########################################
36 !
37 USE modi_vertical_grid_nat
38 !
39 USE yomhook ,ONLY : lhook, dr_hook
40 USE parkind1 ,ONLY : jprb
41 !
42 IMPLICIT NONE
43 !
44 !* 0.1 Declaration of dummy arguments
45 !
46 REAL, DIMENSION(:,:), INTENT(IN) :: pdg1 ! input vertical grid
47 REAL, DIMENSION(:,:), INTENT(IN) :: pt1 ! input temperatures
48 REAL, DIMENSION(:), INTENT(IN) :: pdg2 ! output vertical grid
49 REAL, DIMENSION(:,:), INTENT(OUT) :: pt2 ! output temperatures
50 !
51 !* 0.2 Declaration of local variables
52 !
53 REAL, DIMENSION(SIZE(PT2,1),SIZE(PT2,2)) :: zdg2
54 !
55 INTEGER :: jl
56 !
57 REAL(KIND=JPRB) :: zhook_handle
58 !-----------------------------------------------------------------------------
59 IF (lhook) CALL dr_hook('MODI_INTERP_GRID_NAT:INTERP_GRID_NAT_1D',0,zhook_handle)
60 !
61 DO jl=1,SIZE(pt2,2)
62  zdg2(:,jl) = pdg2(jl)
63 ENDDO
64 !
65  CALL vertical_grid_nat(pdg1,pt1,zdg2,pt2)
66 !
67 IF (lhook) CALL dr_hook('MODI_INTERP_GRID_NAT:INTERP_GRID_NAT_1D',1,zhook_handle)
68 !-----------------------------------------------------------------------------
69 END SUBROUTINE interp_grid_nat_1d
70 !
71 ! ##########################################
72  SUBROUTINE interp_grid_nat_2d(PDG1,PT1,PDG2,PT2)
73 ! ##########################################
74 !
75 USE modi_vertical_grid_nat
76 !
77 USE yomhook ,ONLY : lhook, dr_hook
78 USE parkind1 ,ONLY : jprb
79 !
80 IMPLICIT NONE
81 !
82 !* 0.1 Declaration of dummy arguments
83 !
84 REAL, DIMENSION(:,:), INTENT(IN) :: pdg1 ! input vertical grid
85 REAL, DIMENSION(:,:), INTENT(IN) :: pt1 ! input temperatures
86 REAL, DIMENSION(:,:), INTENT(IN) :: pdg2 ! output vertical grid
87 REAL, DIMENSION(:,:), INTENT(OUT) :: pt2 ! output temperatures
88 !
89 !* 0.2 Declaration of local variables
90 !
91 REAL(KIND=JPRB) :: zhook_handle
92 !
93 !-----------------------------------------------------------------------------
94 IF (lhook) CALL dr_hook('MODI_INTERP_GRID_NAT:INTERP_GRID_NAT_2D',0,zhook_handle)
95 !
96  CALL vertical_grid_nat(pdg1,pt1,pdg2,pt2)
97 !
98 IF (lhook) CALL dr_hook('MODI_INTERP_GRID_NAT:INTERP_GRID_NAT_2D',1,zhook_handle)
99 !-----------------------------------------------------------------------------
100 END SUBROUTINE interp_grid_nat_2d
subroutine interp_grid_nat_2d(PDG1, PT1, PDG2, PT2)
subroutine vertical_grid_nat(PDG1, PT1, PDG2, PT2)
subroutine interp_grid_nat_1d(PDG1, PT1, PDG2, PT2)