SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_coupling_topd.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 ! ###########################
7 ! ###########################
8 !
9 !!**** *MODD_COUPLING_TOPD - declaration of exchanged variables from Topodyn to ISBA
10 !!
11 !! PURPOSE
12 !! -------
13 !
14 !!
15 !!** IMPLICIT ARGUMENTS
16 !! ------------------
17 !! None
18 !!
19 !! REFERENCE
20 !! ---------
21 !!
22 !! AUTHOR
23 !! ------
24 !! F. Habets and K. Chancibault
25 !!
26 !! MODIFICATIONS
27 !! -------------
28 !! Original 29/09/03
29 !! 03/2014 (B. Vincendon) new variable to create a mask for N patches
30 !
31 !* 0. DECLARATIONS
32 ! ------------
33 !
34 IMPLICIT NONE
35 !
36 !-------------------------------------------------------------------------------
37 !
38 LOGICAL :: LCOUPL_TOPD !if T, performs coupling with Topmodel
39 LOGICAL :: LBUDGET_TOPD !if T, computes budget
40 LOGICAL :: LTOPD_STEP
41 !
42 INTEGER :: NTOPD_STEP
43 INTEGER :: NFREQ_MAPS_WG !frequency of output WG maps
44 INTEGER :: NFREQ_MAPS_ASAT !frequency of output ASAT maps
45 INTEGER :: NFREQ_MAPS_RUNOFF !frequency of output RUNOFF maps
46 !
47 INTEGER :: NNB_TOPD ! Ratio between Time steps of Topmodel and ISBA
48 !
49 INTEGER :: NIMAX ! number of ISBA grid points on
50  ! abscissa axis
51 INTEGER :: NJMAX ! number of ISBA grid points on ordinate
52  ! axis
53 REAL, ALLOCATABLE, DIMENSION(:) :: XXI ! Extended Lambert II coordinates of Isba
54 REAL, ALLOCATABLE, DIMENSION(:) :: XYI ! nodes
55 !
56 INTEGER, ALLOCATABLE, DIMENSION(:) :: NNPIX ! Number of Topmodel pixels in an ISBA mesh
57 INTEGER, ALLOCATABLE, DIMENSION(:,:,:) :: NMASKI ! pixel number of each catchment in each isba mesh
58 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: NMASKT ! mask
59 INTEGER, ALLOCATABLE, DIMENSION(:) :: NMASKT_PATCH ! mask
60 !
61 REAL, ALLOCATABLE, DIMENSION(:) :: XAS_NATURE ! Packed contributive area fraction on Nature grid
62 REAL, ALLOCATABLE, DIMENSION(:) :: XATOP ! Packed area fraction WITH TOPMODEL on Nature grid
63 !
64 INTEGER, ALLOCATABLE, DIMENSION(:,:) :: NNBV_IN_MESH ! Number of pixel of a partical cathment in an ISBA mesh
65 REAL, ALLOCATABLE, DIMENSION(:,:) :: XBV_IN_MESH ! Area of the ISBA meshes covered by a partical cathment
66 REAL, ALLOCATABLE, DIMENSION(:) :: XTOTBV_IN_MESH ! Area of the ISBA meshes covered by all cathments
67 !
68 REAL, ALLOCATABLE, DIMENSION(:) :: XDTOPI ! depth of the soil for lateral
69  ! distribution on ISBA grid (m)
70 REAL, ALLOCATABLE, DIMENSION(:,:) :: XDTOPT ! depth of the Isba soil on TOP-LAT
71  ! grid (m)
72 !
73 REAL, ALLOCATABLE, DIMENSION(:) :: XWG_FULL ! Water content from Isba on the full domain
74 REAL, ALLOCATABLE, DIMENSION(:,:) :: XWGT ! ISBA water content
75 !
76 REAL, ALLOCATABLE, DIMENSION(:) :: XWSTOPI ! total water content at saturation (m3/m3)
77  ! on XDTOPI on ISBA grid
78 REAL, ALLOCATABLE, DIMENSION(:,:) :: XWSTOPT ! total water content at saturation (m3/m3)
79  ! on XDTOPT on TOP-LAT grid
80 REAL, ALLOCATABLE, DIMENSION(:) :: XWFCTOPI ! total field capacity on XDTOPI (m3/m3)
81 REAL, ALLOCATABLE, DIMENSION(:,:) :: XWFCTOPT ! total field capacity on XDTOPT (m3/m3)
82 REAL, ALLOCATABLE, DIMENSION(:) :: XCSTOPI ! hydraulic conductivity at saturation on
83  ! Isba grid, on XDTOPI
84 REAL, ALLOCATABLE, DIMENSION(:,:) :: XWTOPT ! water storage on TOP-LAT grid, after
85  ! lateral distribution
86 !
87 ! * pour bilans
88 REAL, ALLOCATABLE, DIMENSION(:) :: XAVG_RUNOFFCM !cumulated runoff (kg/m2) at t-dt
89 REAL, ALLOCATABLE, DIMENSION(:) :: XAVG_DRAINCM ! cumulated drainage calculated from Isba (kg/m2) at t-dt
90 !
91 REAL, ALLOCATABLE, DIMENSION(:,:) :: XKA_PRE ! Hydrological indexes at the previous time step
92 REAL, ALLOCATABLE, DIMENSION(:) :: XKAC_PRE ! Hydrological index at saturation at the previous time step
93 !
94 REAL, ALLOCATABLE, DIMENSION(:,:) :: XDMAXFC ! Deficit at the field capacity level
95 REAL, ALLOCATABLE, DIMENSION(:) :: XWSUPSAT ! pour calculer le volume d'eau perdu au-dessus de la saturation
96 !
97 REAL, ALLOCATABLE, DIMENSION(:) :: XDRAIN_TOP ! Value of drainage on TOPMODEL grid
98 REAL, ALLOCATABLE, DIMENSION(:) :: XRUNOFF_TOP! Value of runoff on TOPMODEL grid
99 !
100 REAL, ALLOCATABLE, DIMENSION(:) :: XFRAC_D2 ! fraction of the second layer concerned with lateral transferts
101 REAL, ALLOCATABLE, DIMENSION(:) :: XFRAC_D3 ! fraction of the third layer concerned with lateral transferts
102 !
103 REAL, ALLOCATABLE, DIMENSION(:) :: XWGI_FULL ! soil ice content
104 !
105 REAL, ALLOCATABLE, DIMENSION(:,:) :: XRUN_TOROUT,XDR_TOROUT
106 !
107 LOGICAL :: LSTOCK_TOPD ! true to stock runoff and drainage values (for another simulation)
108 !
109 INTEGER :: NNB_STP_RESTART ! number of time step to restart from a previous simulation
110 INTEGER :: NNB_STP_STOCK ! number of time step to write for the next simulation
111 !
112 INTEGER, DIMENSION(:), ALLOCATABLE :: NYEAR ! Year of the beginning of the simulation.
113 INTEGER, DIMENSION(:), ALLOCATABLE :: NMONTH ! Month of the beginning of the simulation.
114 INTEGER, DIMENSION(:), ALLOCATABLE :: NDAY ! Date of the beginning of the simulation.
115 INTEGER, DIMENSION(:), ALLOCATABLE :: NH ! Hour of the beginning of the simulation.
116 INTEGER, DIMENSION(:), ALLOCATABLE :: NM ! Minutes of the beginning of the simulation.
117 !
118 ! **** For special f, dc exponential profile
119 REAL, DIMENSION(:), ALLOCATABLE :: XF_PARAM
120 REAL, DIMENSION(:), ALLOCATABLE :: XC_DEPTH_RATIO
121 !
122 END MODULE modd_coupling_topd
123