SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
convert_cover_frac.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_frac (DTCO, &
7  pcover, ocover, &
8  psea,pnature,ptown,pwater )
9 ! ##############################################################
10 !
11 !!**** *CONVERT_COVER* convert surface cover classes into secondary
12 !! physiographic variables
13 !!
14 !! PURPOSE
15 !! -------
16 !!
17 !! METHOD
18 !! ------
19 !!
20 !! EXTERNAL
21 !! --------
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !! AUTHOR
30 !! ------
31 !!
32 !! V. Masson Meteo-France
33 !!
34 !! MODIFICATION
35 !! ------------
36 !!
37 !! Original 01/2004
38 !
39 !----------------------------------------------------------------------------
40 !
41 !* 0. DECLARATION
42 ! -----------
43 !
44 !
46 !
47 USE modd_surf_par, ONLY : xundef
48 !
49 USE modi_av_pgd
50 !
51 !
52 USE yomhook ,ONLY : lhook, dr_hook
53 USE parkind1 ,ONLY : jprb
54 !
55 IMPLICIT NONE
56 !
57 !* 0.1 Declaration of arguments
58 ! ------------------------
59 !
60 !
61 TYPE(data_cover_t), INTENT(INOUT) :: dtco
62 !
63 REAL, DIMENSION(:,:), INTENT(IN) :: pcover
64 LOGICAL, DIMENSION(:), INTENT(IN) :: ocover
65 REAL, DIMENSION(:), INTENT(OUT) :: psea
66 REAL, DIMENSION(:), INTENT(OUT) :: pnature
67 REAL, DIMENSION(:), INTENT(OUT) :: ptown
68 REAL, DIMENSION(:), INTENT(OUT) :: pwater
69 REAL(KIND=JPRB) :: zhook_handle
70 !
71 !
72 !-------------------------------------------------------------------------------
73 !
74 !* 1. cover main type fractions
75 ! -------------------------
76 !
77 IF (lhook) CALL dr_hook('CONVERT_COVER_FRAC',0,zhook_handle)
78  CALL av_pgd(dtco, &
79  psea ,pcover(:,:),dtco%XDATA_SEA (:),'ALL','ARI',ocover(:))
80  CALL av_pgd(dtco, &
81  ptown ,pcover(:,:),dtco%XDATA_TOWN (:),'ALL','ARI',ocover(:))
82  CALL av_pgd(dtco, &
83  pnature ,pcover(:,:),dtco%XDATA_NATURE (:),'ALL','ARI',ocover(:))
84  CALL av_pgd(dtco, &
85  pwater ,pcover(:,:),dtco%XDATA_WATER (:),'ALL','ARI',ocover(:))
86 
87 !
88 WHERE (psea(:) == xundef) psea(:) = 0.
89 WHERE (pnature(:) == xundef) pnature(:) = 0.
90 WHERE (ptown(:) == xundef) ptown(:) = 0.
91 WHERE (pwater(:) == xundef) pwater(:) = 0.
92 IF (lhook) CALL dr_hook('CONVERT_COVER_FRAC',1,zhook_handle)
93 !
94 !-------------------------------------------------------------------------------
95 !
96 END SUBROUTINE convert_cover_frac
subroutine convert_cover_frac(DTCO, PCOVER, OCOVER, PSEA, PNATURE, PTOWN, PWATER)