Newer
Older
!SURFEX_LIC Copyright 1994-2014 Meteo-France
!SURFEX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
!SURFEX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!SURFEX_LIC for details. version 1.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
! #########################
SUBROUTINE ECOCLIMAP2_LAI
! #########################
!
!!**** *ECOCLIMAP2_LAI* initializes cover-field correspondance arrays
!!
!! PURPOSE
!! -------
!!
!! METHOD
!! ------
!!
!!
!! EXTERNAL
!! --------
!!
!! IMPLICIT ARGUMENTS
!! ------------------
!!
!! REFERENCE
!! ---------
!!
!! AUTHOR
!! ------
!!
!! V. Masson Meteo-France
!!
!! MODIFICATION
!! ------------
!!
!! Original 09/2008
!----------------------------------------------------------------------------
!
!* 0. DECLARATION
! -----------
!
USE MODD_SURF_PAR, ONLY : XUNDEF
!
USE MODD_DATA_COVER_n, ONLY : XDATA_VEGTYPE, NYEAR
USE MODD_DATA_COVER, ONLY : XDATA_LAI, XDATA_LAI_ALL_YEARS, LCLIM_LAI, &
NECO2_START_YEAR, NECO2_END_YEAR
USE MODD_DATA_COVER_PAR, ONLY : NVEGTYPE, JPCOVER
!
!
USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
USE PARKIND1 ,ONLY : JPRB
!
IMPLICIT NONE
!
!* 0.1 Declaration of arguments
! ------------------------
!
!* 0.2 Declaration of local variables
! ------------------------------
!
!
INTEGER :: IYEAR ! year index
INTEGER :: JCOVER,JVEGTYPE ! loop counters on covers and decades
INTEGER :: JYEAR ! loop counter on years
REAL(KIND=JPRB) :: ZHOOK_HANDLE
!
!-------------------------------------------------------------------------------
!
!* 1. definition of LAI data
! ----------------------
!
IF (LHOOK) CALL DR_HOOK('ECOCLIMAP2_LAI',0,ZHOOK_HANDLE)
XDATA_LAI(301:,:,:) = XUNDEF
!
!* 2. if averaged LAI
! ---------------
!
IF (LCLIM_LAI .OR. NYEAR<NECO2_START_YEAR .OR. NYEAR>NECO2_END_YEAR) THEN
!
DO JCOVER=301,JPCOVER
DO JVEGTYPE=1,NVEGTYPE
IF (XDATA_VEGTYPE(JCOVER,JVEGTYPE).ne.0.) THEN
XDATA_LAI(JCOVER,:,JVEGTYPE) = 0.
DO JYEAR=1,5
XDATA_LAI(JCOVER,:,JVEGTYPE)=XDATA_LAI(JCOVER,:,JVEGTYPE) &
+XDATA_LAI_ALL_YEARS(JCOVER,(JYEAR-1)*36+1:JYEAR*36,JVEGTYPE)/5.
END DO
ENDIF
END DO
END DO
!
!* 3. if LAI of a specific year
! -------------------------
ELSE
!
IYEAR = NYEAR - NECO2_START_YEAR
DO JCOVER=301,JPCOVER
DO JVEGTYPE=1,NVEGTYPE
IF (XDATA_VEGTYPE(JCOVER,JVEGTYPE).ne.0.) THEN
XDATA_LAI(JCOVER,:,JVEGTYPE)=XDATA_LAI_ALL_YEARS(JCOVER,IYEAR*36+1:(IYEAR+1)*36,JVEGTYPE)
ENDIF
ENDDO
ENDDO
!
END IF
IF (LHOOK) CALL DR_HOOK('ECOCLIMAP2_LAI',1,ZHOOK_HANDLE)
!
!
!-------------------------------------------------------------------------------
!
END SUBROUTINE ECOCLIMAP2_LAI