SURFEX v8.1
General documentation of Surfex
convert_cover_ch_isba.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 convert_cover_ch_isba (DTCO, PCOVER, OCOVER, KNPATCH, KPATCH, PK, &
7  PSOILRC_SO2, PSOILRC_O3)
8 ! ##############################################################
9 !
10 !!**** *CONVERT_COVER* convert surface cover classes into secondary
11 !! physiographic variables for ISBA
12 !!
13 !! PURPOSE
14 !! -------
15 !!
16 !! METHOD
17 !! ------
18 !!
19 !! EXTERNAL
20 !! --------
21 !!
22 !! IMPLICIT ARGUMENTS
23 !! ------------------
24 !!
25 !! REFERENCE
26 !! ---------
27 !!
28 !! AUTHOR
29 !! ------
30 !!
31 !! V. Masson Meteo-France
32 !!
33 !! MODIFICATION
34 !! ------------
35 !!
36 !! Original 01/2004
37 !
38 !
39 !----------------------------------------------------------------------------
40 !
41 !* 0. DECLARATION
42 ! -----------
43 !
44 !
45 !
47 !
48 USE modd_isba_n, ONLY : isba_p_t
49 !
51 !
52 USE modd_data_cover_par, ONLY : nvegtype, jpcover
53 !
55 !
56 USE yomhook ,ONLY : lhook, dr_hook
57 USE parkind1 ,ONLY : jprb
58 !
59 IMPLICIT NONE
60 !
61 !* 0.1 Declaration of arguments
62 ! ------------------------
63 !
64 !
65 TYPE(data_cover_t), INTENT(INOUT) :: DTCO
66 !
67 INTEGER, INTENT(IN) :: KNPATCH
68 INTEGER, INTENT(IN) :: KPATCH
69 !
70 TYPE(isba_p_t), INTENT(INOUT) :: PK
71 !
72 REAL, DIMENSION(:,:), INTENT(IN) :: PCOVER
73 LOGICAL, DIMENSION(:), INTENT(IN) :: OCOVER
74 
75 REAL, DIMENSION(:), INTENT(OUT) :: PSOILRC_SO2
76 REAL, DIMENSION(:), INTENT(OUT) :: PSOILRC_O3
77 REAL(KIND=JPRB) :: ZHOOK_HANDLE
78 !
79 !
80 !* 0.2 Declaration of local variables
81 ! ------------------------------
82 !
83 !-------------------------------------------------------------------------------
84 !
85 IF (lhook) CALL dr_hook('CONVERT_COVER_CH_ISBA',0,zhook_handle)
86 !
87 IF (ASSOCIATED(dtco%XDATA_WEIGHT)) DEALLOCATE(dtco%XDATA_WEIGHT)
88 !
89  CALL av_pgd_1p(dtco, psoilrc_so2 ,pcover, xdata_soilrc_so2(:,:), 'NAT', 'ARI', ocover,&
90  pk%NR_P, knpatch, kpatch, kdecade=1)
91  CALL av_pgd_1p(dtco, psoilrc_o3, pcover ,xdata_soilrc_o3(:,:), 'NAT', 'ARI', ocover,&
92  pk%NR_P, knpatch, kpatch, kdecade=1)
93 !
94 IF (ASSOCIATED(dtco%XDATA_WEIGHT)) DEALLOCATE(dtco%XDATA_WEIGHT)
95 !
96 IF (lhook) CALL dr_hook('CONVERT_COVER_CH_ISBA',1,zhook_handle)
97 !
98 !-------------------------------------------------------------------------------
99 !
100 END SUBROUTINE convert_cover_ch_isba
real, dimension(:,:), allocatable xdata_soilrc_so2
subroutine convert_cover_ch_isba(DTCO, PCOVER, OCOVER, KNPATCH, K
integer, parameter jprb
Definition: parkind1.F90:32
logical lhook
Definition: yomhook.F90:15
real, dimension(:,:), allocatable xdata_soilrc_o3