SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
read_eco2_irrig.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 read_eco2_irrig (&
7  dtco, &
8  hprogram)
9 ! #######################
10 !
11 !
12 !
13 !
14 !
16 !
18 !
19 USE modd_data_cover, ONLY : tdata_seed, tdata_reap, xdata_watsup, xdata_irrig,&
20  ldata_irrig
21 USE modd_data_cover_par, ONLY : jpcover, nvt_irr
22 !
23 !
24 USE yomhook ,ONLY : lhook, dr_hook
25 USE parkind1 ,ONLY : jprb
26 !
27 IMPLICIT NONE
28 !
29 !* dummy arguments
30 ! ---------------
31 !
32 !
33 !
34 !
35 TYPE(data_cover_t), INTENT(INOUT) :: dtco
36 !
37  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! program calling surf. schemes
38 !
39 !
40 !* local variables
41 ! ---------------
42 !
43  CHARACTER(LEN=12) :: yrecfm ! Name of the article to be read
44 INTEGER :: iresp ! reading return code
45 !
46 INTEGER :: iversion ! surface version
47 INTEGER :: ibugfix ! surface bugfix
48 !
49 INTEGER :: jcover ! loop counter
50 !
51 REAL, DIMENSION(6) :: zwork
52 REAL(KIND=JPRB) :: zhook_handle
53 !------------------------------------------------------------------------------
54 !
55 IF (lhook) CALL dr_hook('READ_ECO2_IRRIG',0,zhook_handle)
56 yrecfm='VERSION'
57  CALL read_surf(&
58  hprogram,yrecfm,iversion,iresp)
59 yrecfm='BUG'
60  CALL read_surf(&
61  hprogram,yrecfm,ibugfix,iresp)
62 !
63 IF (iversion<4 .OR. iversion==4 .AND. ibugfix<2) THEN
64  ldata_irrig = .false.
65  IF (lhook) CALL dr_hook('READ_ECO2_IRRIG',1,zhook_handle)
66  RETURN
67 END IF
68 !
69 yrecfm='DATA_IRRIG'
70  CALL read_surf(&
71  hprogram,yrecfm,ldata_irrig,iresp)
72 !
73 IF (.NOT. ldata_irrig .AND. lhook) CALL dr_hook('READ_ECO2_IRRIG',1,zhook_handle)
74 IF (.NOT. ldata_irrig) RETURN
75 !
76 DO jcover=1,jpcover
77  IF (dtco%XDATA_VEGTYPE(jcover,nvt_irr)==0.) cycle
78  WRITE(yrecfm,fmt='(A6,I3.3)') 'IRRIG_',jcover
79  CALL read_surf(&
80  hprogram,yrecfm,zwork,iresp,hdir='-')
81  tdata_seed(jcover,nvt_irr)%TDATE%MONTH = nint(zwork(1))
82  tdata_seed(jcover,nvt_irr)%TDATE%DAY = nint(zwork(2))
83  tdata_reap(jcover,nvt_irr)%TDATE%MONTH = nint(zwork(3))
84  tdata_reap(jcover,nvt_irr)%TDATE%DAY = nint(zwork(4))
85  xdata_watsup(jcover,nvt_irr) = zwork(5)
86  xdata_irrig(jcover,nvt_irr) = zwork(6)
87  tdata_seed(jcover,nvt_irr)%TDATE%YEAR = 9999
88  tdata_seed(jcover,nvt_irr)%TIME = 0.
89  tdata_reap(jcover,nvt_irr)%TDATE%YEAR = 9999
90  tdata_reap(jcover,nvt_irr)%TIME = 0.
91 END DO
92 IF (lhook) CALL dr_hook('READ_ECO2_IRRIG',1,zhook_handle)
93 !
94 !------------------------------------------------------------------------------
95 !
96 END SUBROUTINE read_eco2_irrig
subroutine read_eco2_irrig(DTCO, HPROGRAM)