SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
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, &
7  pcover,ocover,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_data_cover, ONLY : xdata_soilrc_so2, xdata_soilrc_o3
49 !
50 USE modd_data_cover_par, ONLY : nvegtype, jpcover
51 !
52 USE modi_av_pgd
53 !
54 !
55 USE yomhook ,ONLY : lhook, dr_hook
56 USE parkind1 ,ONLY : jprb
57 !
58 IMPLICIT NONE
59 !
60 !* 0.1 Declaration of arguments
61 ! ------------------------
62 !
63 !
64 TYPE(data_cover_t), INTENT(INOUT) :: dtco
65 !
66 REAL, DIMENSION(:,:), INTENT(IN) :: pcover
67 LOGICAL, DIMENSION(:), INTENT(IN) :: ocover
68 
69 REAL, DIMENSION(:,:), INTENT(OUT) :: psoilrc_so2
70 REAL, DIMENSION(:,:), INTENT(OUT) :: psoilrc_o3
71 REAL(KIND=JPRB) :: zhook_handle
72 !
73 !
74 !* 0.2 Declaration of local variables
75 ! ------------------------------
76 !
77 !-------------------------------------------------------------------------------
78 !
79 IF (lhook) CALL dr_hook('CONVERT_COVER_CH_ISBA',0,zhook_handle)
80 !
81 IF (ASSOCIATED(dtco%XDATA_WEIGHT)) DEALLOCATE(dtco%XDATA_WEIGHT)
82 !
83  CALL av_pgd(dtco, &
84  psoilrc_so2 ,pcover ,xdata_soilrc_so2(:,:) ,'NAT','ARI',ocover,kdecade=1)
85  CALL av_pgd(dtco, &
86  psoilrc_o3 ,pcover ,xdata_soilrc_o3(:,:) ,'NAT','ARI',ocover,kdecade=1)
87 !
88 IF (ASSOCIATED(dtco%XDATA_WEIGHT)) DEALLOCATE(dtco%XDATA_WEIGHT)
89 !
90 IF (lhook) CALL dr_hook('CONVERT_COVER_CH_ISBA',1,zhook_handle)
91 !
92 !-------------------------------------------------------------------------------
93 !
94 END SUBROUTINE convert_cover_ch_isba
subroutine convert_cover_ch_isba(DTCO, PCOVER, OCOVER, PSOILRC_SO2, PSOILRC_O3)