SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
init_outfn_isban.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 init_outfn_isba_n (CHI, DGEI, DGI, DGMI, DGU, GB, ICP, I, UG, U, &
7  hprogram,kluout)
8 ! ###############################
9 !
10 !
11 !!**** *INIT_OUTFN_ISBA_n* - create output files and defines variables
12 !!
13 !! PURPOSE
14 !! -------
15 !!
16 !!** METHOD
17 !! ------
18 !!
19 !! EXTERNAL
20 !! --------
21 !!
22 !!
23 !! IMPLICIT ARGUMENTS
24 !! ------------------
25 !!
26 !! REFERENCE
27 !! ---------
28 !!
29 !!
30 !! AUTHOR
31 !! ------
32 !! F. Habets *Meteo France*
33 !!
34 !! MODIFICATIONS
35 !! -------------
36 !! Original 07-03
37 !! modified 11-03, by P. Le Moigne *Meteo France*
38 !! modified 05-04, by P. Le Moigne : surf_atm diagnostics moved at the
39 !! right place
40 !! modified 10-04, by P. Le Moigne : add new diagnostics
41 !! modified 10-04, by P. Le Moigne : add Halstead coefficient
42 !! modified 2008, by B. Decharme : limit the number of diag
43 !! Add floodplains diag
44 !! modified 04-09, by A.L. Gibelin : Add respiration diagnostics
45 !! modified 05-09, by A.L. Gibelin : Add carbon spinup
46 !! modified 07-09, by A.L. Gibelin : Add carbon prognostic variables
47 !! modified 12-11, by B. Decharme : correct some bug
48 !! modified 09-12, by B. Decharme : delete LPROVAR_TO_DIAG for prognostic variables
49 !! delete NWG_LAYER
50 !! Erroneous description in diag comments
51 !! modified 06-13, by B. Decharme : good dimension for Tg, Wg, et Wgi
52 !! bug : TSN_VEG if Snowlayer = 1 ;
53 !! bug : TSRAD_P and not TTSRAD_P
54 !! add diag (Qsb, Subl) and Snow noted SN
55 !! modified 10-14, by P. Samuelsson: Added MEB output
56 !!
57 !-------------------------------------------------------------------------------
58 !
59 !* 0. DECLARATIONS
60 ! ------------
61 !
62 !
63 !
64 !
65 !
66 USE modd_ch_isba_n, ONLY : ch_isba_t
68 USE modd_diag_isba_n, ONLY : diag_isba_t
71 USE modd_gr_biog_n, ONLY : gr_biog_t
72 USE modd_isba_canopy_n, ONLY : isba_canopy_t
73 USE modd_isba_n, ONLY : isba_t
75 USE modd_surf_atm_n, ONLY : surf_atm_t
76 !
77 USE modd_surf_par, ONLY : nundef
78 USE modd_data_cover_par, ONLY : nvegtype
79 USE modd_ol_fileid, ONLY : xvar_to_fileout, xid, xout
80 USE modd_assim , ONLY : lassim, cassim
81 USE modd_agri , ONLY : lagrip
82 !
83 !
84 USE modn_io_offline, ONLY : xtstep_output
85 !
86 USE modi_get_dim_full_n
87 USE modi_get_isba_conf_n
88 USE modi_ol_define_dim
89 USE modi_get_date_ol
90 USE modi_create_file
91 USE modi_def_var_netcdf
92 USE modi_ol_write_coord
93 !
94 USE yomhook ,ONLY : lhook, dr_hook
95 USE parkind1 ,ONLY : jprb
96 !
97 IMPLICIT NONE
98 include 'netcdf.inc'
99 
100 !
101 TYPE(ch_isba_t), INTENT(INOUT) :: chi
102 TYPE(diag_evap_isba_t), INTENT(INOUT) :: dgei
103 TYPE(diag_isba_t), INTENT(INOUT) :: dgi
104 TYPE(diag_misc_isba_t), INTENT(INOUT) :: dgmi
105 TYPE(diag_surf_atm_t), INTENT(INOUT) :: dgu
106 TYPE(gr_biog_t), INTENT(INOUT) :: gb
107 TYPE(isba_canopy_t), INTENT(INOUT) :: icp
108 TYPE(isba_t), INTENT(INOUT) :: i
109 TYPE(surf_atm_grid_t), INTENT(INOUT) :: ug
110 TYPE(surf_atm_t), INTENT(INOUT) :: u
111 !
112  CHARACTER(LEN=6), INTENT(IN) :: hprogram
113 INTEGER, INTENT(IN) :: kluout
114 !
115 !* 0.2 Declarations of local variables
116 ! -------------------------------
117 !
118  CHARACTER(LEN=100), DIMENSION(:), POINTER :: yname_dim
119  CHARACTER(LEN=100), DIMENSION(1) :: yatt_title, yatt
120  CHARACTER(LEN=40),DIMENSION(1) :: ydate
121  CHARACTER(LEN=13),DIMENSION(1) :: yunit1, yunit2
122  CHARACTER(LEN=100) :: ycomment
123  CHARACTER(LEN=50) :: yfile
124  CHARACTER(LEN=12) :: yrecfm
125  CHARACTER(LEN=3) :: ypas, ylvl
126  CHARACTER(LEN=3) :: yisba
127  CHARACTER(LEN=2) :: ylvlv
128 !
129 REAL,DIMENSION(:), POINTER :: zx, zy
130 !
131 INTEGER, DIMENSION(:), POINTER :: idims, iddim
132 INTEGER, DIMENSION(:), ALLOCATABLE :: jdim
133 INTEGER :: ini, inpatch, inlvld, inlvls, inbiomass, &
134  inlitter, inlittlevs, insoilcarb
135 INTEGER :: jlayer, jveg, jnbiomass, jnlitter, jnlittlevs, jnsoilcarb
136 INTEGER :: idim1, indims
137 INTEGER :: ifile_id, idimid, jsv
138 INTEGER :: il, jret
139 INTEGER :: isize_lmeb_patch ! Number of patches where multi-energy balance should be applied
140 REAL(KIND=JPRB) :: zhook_handle
141 !
142 !-------------------------------------------------------------------------------
143 
144 ! 1. Compute output lenght dimension
145 !-----------------------------------
146 
147 IF (lhook) CALL dr_hook('INIT_OUTFN_ISBA_N',0,zhook_handle)
148 !
149 isize_lmeb_patch=count(i%LMEB_PATCH(:))
150 !
151  CALL get_dim_full_n(u, &
152  ini)
153  CALL get_isba_conf_n(i, &
154  yisba, inpatch, inlvld, inlvls, inbiomass, &
155  inlitter, inlittlevs, insoilcarb)
156 !
157  CALL ol_define_dim(ug, u, &
158  hprogram, kluout, ini, idim1, yunit1, yunit2, &
159  zx, zy, idims, iddim, yname_dim, knpatch=inpatch)
160  CALL get_date_ol(i%TTIME,xtstep_output,ydate(1))
161 !
162 indims = SIZE(iddim)
163 ALLOCATE(jdim(indims-1))
164 !
165 ! 4. Create output file for prognostic variables
166 !----------------------------------------------------------
167 !
168 IF (ALLOCATED(xvar_to_fileout)) DEALLOCATE(xvar_to_fileout)
169 IF (ALLOCATED(xid)) DEALLOCATE(xid)
170 ALLOCATE(xid(0))
171 xout=0
172 !
173 !
174 yfile='ISBA_PROGNOSTIC.OUT.nc'
175  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
176 jret=nf_redef(ifile_id)
177 !
178 IF (idim1.NE.0) THEN
179  jdim(1)=iddim(1)
180  jdim(2)=iddim(2)
181  jdim(3)=iddim(4)
182 ELSE
183  jdim(1)=iddim(1)
184  jdim(2)=iddim(3)
185 ENDIF
186 !
187 IF(i%LTEMP_ARP)THEN
188  il=i%NTEMPLAYER_ARP
189 ELSEIF(i%CISBA=='DIF')THEN
190  il=inlvld
191 ELSE
192  il=2
193 ENDIF
194 !
195 yatt_title(1)='units'
196 !
197 DO jlayer=1,il
198  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
199  CALL def_var_netcdf(dgu, &
200  ifile_id, 'TG'//ylvl , 'Soil_temp_layer_'//ylvl , iddim, yatt_title, (/'Kelvin'/))
201 ENDDO
202 !
203 il=inlvld
204 !
205 DO jlayer=1,il
206  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
207  CALL def_var_netcdf(dgu, &
208  ifile_id, 'WG'//ylvl , 'Soil_liquid_layer_'//ylvl, iddim, yatt_title, (/'m3/m3'/))
209 ENDDO
210 !
211 IF(i%CISBA/='DIF')THEN
212  il=2
213 ENDIF
214 DO jlayer=1,il
215  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
216  CALL def_var_netcdf(dgu, &
217  ifile_id, 'WGI'//ylvl, 'Soil_ice_layer_'//ylvl, iddim, yatt_title, (/'m3/m3'/))
218 ENDDO
219 !
220  CALL def_var_netcdf(dgu, &
221  ifile_id, 'WR' , 'Interception_reservoir', iddim, yatt_title, (/'mm'/))
222  CALL def_var_netcdf(dgu, &
223  ifile_id, 'RESA', 'Aerodynamic_resistance', iddim, yatt_title, (/'s/m'/))
224 !
225 IF (isize_lmeb_patch>0) THEN
226  CALL def_var_netcdf(dgu, &
227  ifile_id, 'WRV' , 'MEB: water intercepted on canopy vegetation leaves', &
228  iddim, yatt_title, (/'mm'/))
229  CALL def_var_netcdf(dgu, &
230  ifile_id, 'WRVN' , 'MEB: snow intercepted on canopy vegetation leaves', &
231  iddim, yatt_title, (/'mm'/))
232  CALL def_var_netcdf(dgu, &
233  ifile_id, 'TV' , 'MEB: canopy vegetation temperature', &
234  iddim, yatt_title, (/'K'/))
235  CALL def_var_netcdf(dgu, &
236  ifile_id, 'TC' , 'MEB: vegetation canopy air temperature', &
237  iddim, yatt_title, (/'K'/))
238  CALL def_var_netcdf(dgu, &
239  ifile_id, 'QC' , 'MEB: vegetation canopy specifc humidity', &
240  iddim, yatt_title, (/'kg/kg'/))
241 ENDIF
242 !
243 IF(i%LGLACIER)THEN
244  CALL def_var_netcdf(dgu, &
245  ifile_id, 'ICE_STO', 'Glacier_reservoir', iddim, yatt_title, (/'Kg/m2'/))
246 ENDIF
247 !
248 DO jlayer=1,inlvls
249  WRITE(ypas,'(I3)') jlayer
250  ylvl = adjustl(ypas(:len_trim(ypas)))
251  !
252  CALL def_var_netcdf(dgu, &
253  ifile_id, 'WSN_VEG'//ylvl, 'Snow_Water_Equivalent_layer_'//ylvl, iddim, yatt_title, (/'Kg/m2'/))
254  CALL def_var_netcdf(dgu, &
255  ifile_id, 'RSN_VEG'//ylvl, 'Snow_density_layer_'//ylvl , iddim, yatt_title, (/'Kg/m3'/))
256  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
257  CALL def_var_netcdf(dgu, &
258  ifile_id, 'HSN_VEG'//ylvl, 'Snow_heat_layer'//ylvl, iddim, yatt_title, (/'J/m2'/))
259  CALL def_var_netcdf(dgu, &
260  ifile_id, 'SAG_VEG'//ylvl,'Snow_age_param_layer_'//ylvl, iddim, yatt_title,(/'days_since_snowfall'/))
261  ELSEIF(i%TSNOW%SCHEME=='1-L') THEN
262  CALL def_var_netcdf(dgu, &
263  ifile_id, 'TSN_VEG'//ylvl, 'Snow_temp_layer'//ylvl, iddim, yatt_title, (/'K'/))
264  ENDIF
265  IF (i%TSNOW%SCHEME=='CRO') THEN
266  CALL def_var_netcdf(dgu, &
267  ifile_id, 'SG1_VEG'//ylvl,'Snow_grain_parameter1_layer_'//ylvl, iddim, yatt_title, (/'-'/))
268  CALL def_var_netcdf(dgu, &
269  ifile_id, 'SG2_VEG'//ylvl,'Snow_grain_parameter2_layer_'//ylvl, iddim, yatt_title, (/'-'/))
270  CALL def_var_netcdf(dgu, &
271  ifile_id, 'SHI_VEG'//ylvl,'Snow_historical_param_layer_'//ylvl, iddim, yatt_title, (/'-'/))
272  ENDIF
273 ENDDO
274 !
275  CALL def_var_netcdf(dgu, &
276  ifile_id, 'ASN_VEG', 'Snow_albedo', iddim, yatt_title, (/'-'/))
277 !
278 IF (i%CPHOTO /= 'NON') THEN
279  CALL def_var_netcdf(dgu, &
280  ifile_id, 'AN' , 'Net CO2 Assimilation' , iddim, yatt_title, (/'kgCO2/kgair m/s'/))
281  CALL def_var_netcdf(dgu, &
282  ifile_id, 'ANFM' , 'Leaf CO2 Assimilation' , iddim, yatt_title, (/'kgCO2/kgair m/s'/))
283  CALL def_var_netcdf(dgu, &
284  ifile_id, 'ANDAY', 'Daily Net CO2 Assimilation', iddim, yatt_title, (/'kgCO2/m2/day'/))
285 ENDIF
286 !
287 IF (i%CPHOTO == 'NIT' .OR. i%CPHOTO == 'NCB') THEN
288  DO jnbiomass=1,inbiomass
289  WRITE(ypas,'(I3)') jnbiomass
290  ylvl = adjustl(ypas(:len_trim(ypas)))
291  CALL def_var_netcdf(dgu, &
292  ifile_id, 'BIOMA'//ylvl, 'Plant biomass'//ylvl, iddim, yatt_title, (/'kgDM/m2'/))
293  END DO
294 ENDIF
295 !
296 IF (i%CRESPSL=='CNT') THEN
297  DO jnlitter=1,inlitter
298  DO jnlittlevs=1,inlittlevs
299  WRITE(ypas,'(I1,A1,I1)') jnlitter,'_',jnlittlevs
300  ylvl = adjustl(ypas(:len_trim(ypas)))
301  CALL def_var_netcdf(dgu, &
302  ifile_id, 'LITTER'//ylvl, 'Litter pool'//ylvl, iddim, yatt_title, (/'gC/m2'/))
303  END DO
304  END DO
305  DO jnsoilcarb=1,insoilcarb
306  WRITE(ypas,'(I3)') jnsoilcarb
307  ylvl=adjustl(ypas(:len_trim(ypas)))
308  CALL def_var_netcdf(dgu, &
309  ifile_id, 'SOILCARB'//ylvl, 'Soil carbon pool'//ylvl, iddim, yatt_title, (/'gC/m2'/))
310  END DO
311  DO jnlittlevs=1,inlittlevs
312  WRITE(ypas,'(I3)') jnlittlevs
313  ylvl=adjustl(ypas(:len_trim(ypas)))
314  CALL def_var_netcdf(dgu, &
315  ifile_id, 'LIGNIN_STR'//ylvl, 'Ratio Lignin/Carbon in structural litter'//ylvl, &
316  iddim, yatt_title, (/'gC/m2'/))
317  END DO
318 ENDIF
319 !
320 IF (i%LCANOPY) THEN
321  DO jlayer=1,icp%NLVL
322  WRITE(ylvlv,'(i2.2)') jlayer
323  CALL def_var_netcdf(dgu, &
324  ifile_id, 'ISBA_CAN_Z'//ylvlv, 'Canopy height' , jdim, yatt_title, (/'m'/))
325  CALL def_var_netcdf(dgu, &
326  ifile_id, 'ISBA_CAN_U'//ylvlv, 'Canopy wind' , jdim, yatt_title, (/'m/s'/))
327  CALL def_var_netcdf(dgu, &
328  ifile_id, 'ISBA_CAN_T'//ylvlv, 'Canopy temp' , jdim, yatt_title, (/'K'/))
329  CALL def_var_netcdf(dgu, &
330  ifile_id, 'ISBA_CAN_Q'//ylvlv, 'Canopy humidity', jdim, yatt_title, (/'kg/m3'/))
331  CALL def_var_netcdf(dgu, &
332  ifile_id, 'ISBA_CAN_E'//ylvlv, 'Canopy TKE' , jdim, yatt_title, (/'m2/s2'/))
333  END DO
334 ENDIF
335 !
336  CALL ol_write_coord(dgu, &
337  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
338 !
339 !
340 ! 4. Create output file for fluxes values
341 !----------------------------------------------------------
342 !
343 yfile='ISBA_DIAGNOSTICS.OUT.nc'
344  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
345 jret=nf_redef(ifile_id)
346 yatt = 'dimensionless'
347 !
348 IF (idim1.NE.0) THEN
349  jdim(1)=iddim(1)
350  jdim(2)=iddim(2)
351  jdim(3)=iddim(4)
352 ELSE
353  jdim(1)=iddim(1)
354  jdim(2)=iddim(3)
355 ENDIF
356 !
357 IF (dgi%LCOEF) THEN
358  yatt = 'W/s2'
359  CALL def_var_netcdf(dgu, &
360  ifile_id, 'CD_ISBA' , 'Drag_Coefficient_For_Momentum ', jdim, yatt_title, yatt)
361  yatt = 'W/s'
362  CALL def_var_netcdf(dgu, &
363  ifile_id, 'CH_ISBA' , 'Drag_Coefficient_For_Heat ', jdim, yatt_title, yatt)
364  yatt = 'W/s/K'
365  CALL def_var_netcdf(dgu, &
366  ifile_id, 'CE_ISBA' , 'Drag_Coefficient_For_Evaporation', jdim, yatt_title, yatt)
367  yatt = 'm'
368  CALL def_var_netcdf(dgu, &
369  ifile_id, 'Z0_ISBA' , 'Roughness_Length_For_Momentum' , jdim, yatt_title, yatt)
370  yatt = 'm'
371  CALL def_var_netcdf(dgu, &
372  ifile_id, 'Z0H_ISBA', 'Roughness_Length_For_Heat' , jdim, yatt_title, yatt)
373 ENDIF
374 !
375 IF (dgi%LSURF_VARS) THEN
376  yatt = 'kg/kg'
377  CALL def_var_netcdf(dgu, &
378  ifile_id,'QS_ISBA' , 'Surface_Humidity ' , jdim, yatt_title, yatt)
379 ENDIF
380 !
381 IF (dgi%N2M>0) THEN
382  !
383  yatt = 'dimensionless'
384  CALL def_var_netcdf(dgu, &
385  ifile_id,'RI_ISBA' , 'Averaged_Richardson_Number' , jdim, yatt_title, yatt)
386  yatt = 'K'
387  CALL def_var_netcdf(dgu, &
388  ifile_id, 'T2M_ISBA' , '2m_Temperature ' , jdim, yatt_title, yatt)
389  CALL def_var_netcdf(dgu, &
390  ifile_id, 'T2MMIN_ISBA' , 'Minimum_2m_Temperature ' , jdim, yatt_title, yatt)
391  CALL def_var_netcdf(dgu, &
392  ifile_id, 'T2MMAX_ISBA' , 'Maximum_2m_Temperature ' , jdim, yatt_title, yatt)
393  yatt = 'kg/kg'
394  CALL def_var_netcdf(dgu, &
395  ifile_id, 'Q2M_ISBA' , '2m_Specific_Humidity ' , jdim, yatt_title, yatt)
396  yatt = '(-)'
397  CALL def_var_netcdf(dgu, &
398  ifile_id, 'HU2M_ISBA' , '2m_Relative_Humidity ' , jdim, yatt_title, yatt)
399  CALL def_var_netcdf(dgu, &
400  ifile_id, 'HU2MMIN_ISBA', 'Minimum_2m_Relative_Humidity ', jdim, yatt_title, yatt)
401  CALL def_var_netcdf(dgu, &
402  ifile_id, 'HU2MMAX_ISBA', 'Maximum_2m_Relative_Humidity ', jdim, yatt_title, yatt)
403  yatt = 'm/s'
404  CALL def_var_netcdf(dgu, &
405  ifile_id, 'ZON10M_ISBA' , '10m_Zonal_wind ' , jdim, yatt_title, yatt)
406  CALL def_var_netcdf(dgu, &
407  ifile_id, 'MER10M_ISBA' , '10m_Meridian_Wind ' , jdim, yatt_title, yatt)
408  CALL def_var_netcdf(dgu, &
409  ifile_id, 'W10M_ISBA' , '10m_Wind ' , jdim, yatt_title, yatt)
410  CALL def_var_netcdf(dgu, &
411  ifile_id, 'W10MMAX_ISBA', 'Maximum_10m_Wind ' , jdim, yatt_title, yatt)
412  !
413  IF(dgi%LPATCH_BUDGET) THEN
414  yatt='K'
415  CALL def_var_netcdf(dgu, &
416  ifile_id,'T2M_P' ,'2m_Temperature' ,iddim,yatt_title,yatt)
417  CALL def_var_netcdf(dgu, &
418  ifile_id,'T2MMIN_P','Minimum_2m_Temperature',iddim,yatt_title,yatt)
419  CALL def_var_netcdf(dgu, &
420  ifile_id,'T2MMAX_P','Maximum_2m_Temperature',iddim,yatt_title,yatt)
421  yatt='kg/kg'
422  CALL def_var_netcdf(dgu, &
423  ifile_id,'Q2M_P' ,'2m_Specific_Humidity' ,iddim,yatt_title,yatt)
424  yatt='(-)'
425  CALL def_var_netcdf(dgu, &
426  ifile_id,'HU2M_P' ,'2m_Relative_Humidity' ,iddim,yatt_title,yatt)
427  yatt='m/s'
428  CALL def_var_netcdf(dgu, &
429  ifile_id,'ZON10M_P','10m_Zonal_wind' ,iddim,yatt_title,yatt)
430  CALL def_var_netcdf(dgu, &
431  ifile_id,'MER10M_P','10m_Meridian_Wind' ,iddim,yatt_title,yatt)
432  CALL def_var_netcdf(dgu, &
433  ifile_id,'W10M_P' ,'10m_Wind' ,iddim,yatt_title,yatt)
434  ENDIF
435  !
436 ENDIF
437 !
438 IF (dgi%LSURF_BUDGET) THEN
439  !
440  yatt = 'W/m2'
441  CALL def_var_netcdf(dgu, &
442  ifile_id, 'RN_ISBA' , 'Averaged_Net_Radiation' , jdim, yatt_title, yatt)
443  CALL def_var_netcdf(dgu, &
444  ifile_id, 'H_ISBA' , 'Averaged_Sensible_Heat_Flux' , jdim, yatt_title, yatt)
445  CALL def_var_netcdf(dgu, &
446  ifile_id, 'LE_ISBA' , 'Averaged_Total_Latent_Heat_Flux ' , jdim, yatt_title, yatt)
447  CALL def_var_netcdf(dgu, &
448  ifile_id, 'LEI_ISBA' , 'Averaged_Sublimation_Latent_Heat_Flux ', jdim, yatt_title, yatt)
449  CALL def_var_netcdf(dgu, &
450  ifile_id, 'GFLUX_ISBA' , 'Averaged_Ground_Heat_Flux ' , jdim, yatt_title, yatt)
451  !
452  IF(dgi%LRAD_BUDGET)THEN
453  CALL def_var_netcdf(dgu, &
454  ifile_id, 'SWD_ISBA' , 'Averaged_Downward_SW ' , jdim, yatt_title, yatt)
455  CALL def_var_netcdf(dgu, &
456  ifile_id, 'SWU_ISBA' , 'Averaged_Upward_SW ' , jdim, yatt_title, yatt)
457  CALL def_var_netcdf(dgu, &
458  ifile_id, 'LWD_ISBA' , 'Averaged_Downward_LW ' , jdim, yatt_title, yatt)
459  CALL def_var_netcdf(dgu, &
460  ifile_id, 'LWU_ISBA' , 'Averaged_Upward_LW ' , jdim, yatt_title, yatt)
461  ENDIF
462  !
463  yatt = 'Pa'
464  CALL def_var_netcdf(dgu, &
465  ifile_id, 'FMU_ISBA' , 'Averaged_Zonal_Wind_Stress ' , jdim, yatt_title, yatt)
466  CALL def_var_netcdf(dgu, &
467  ifile_id, 'FMV_ISBA' , 'Averaged_Merid_Wind_Stress ' , jdim, yatt_title, yatt)
468  !
469  IF (dgi%LPATCH_BUDGET) THEN
470  !
471  yatt = 'W/m2'
472  CALL def_var_netcdf(dgu, &
473  ifile_id,'RN_P' ,'Net_Radiation' ,iddim,yatt_title,yatt)
474  CALL def_var_netcdf(dgu, &
475  ifile_id,'H_P' ,'Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
476  CALL def_var_netcdf(dgu, &
477  ifile_id,'LE_P' ,'Total_Latent_Heat_Flux' ,iddim,yatt_title,yatt)
478  CALL def_var_netcdf(dgu, &
479  ifile_id,'LEI_P' ,'Sublimatiob_Latent_Heat_Flux' ,iddim,yatt_title,yatt)
480  CALL def_var_netcdf(dgu, &
481  ifile_id,'GFLUX_P' ,'Ground_Heat_Flux' ,iddim,yatt_title,yatt)
482  !
483  IF(dgi%LRAD_BUDGET) THEN
484  CALL def_var_netcdf(dgu, &
485  ifile_id,'SWD_P' ,'Downward_SW ' ,iddim,yatt_title,yatt)
486  CALL def_var_netcdf(dgu, &
487  ifile_id,'SWU_P' ,'Upward_SW ' ,iddim,yatt_title,yatt)
488  CALL def_var_netcdf(dgu, &
489  ifile_id,'LWD_P' ,'Downward_LW ' ,iddim,yatt_title,yatt)
490  CALL def_var_netcdf(dgu, &
491  ifile_id,'LWU_P' ,'Upward_LW ' ,iddim,yatt_title,yatt)
492  ENDIF
493  !
494  yatt = 'Pa'
495  CALL def_var_netcdf(dgu, &
496  ifile_id,'FMU_P' ,'Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
497  CALL def_var_netcdf(dgu, &
498  ifile_id,'FMV_P' ,'Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
499  !
500  ENDIF
501  !
502 ENDIF
503 !
504 !
505 IF (dgi%LPATCH_BUDGET.AND.lagrip .AND. (i%CPHOTO=='NIT' .OR. i%CPHOTO=='LAI' .OR. i%CPHOTO=='LST' .OR. i%CPHOTO=='NCB')) THEN
506  CALL def_var_netcdf(dgu, &
507  ifile_id, 'IRRISEUIL' , 'Irrigation_Threshold' , iddim, yatt_title, yatt)
508 ENDIF
509 !
510 IF (dgei%LSURF_EVAP_BUDGET) THEN
511  !
512  yatt = 'W/m2'
513  CALL def_var_netcdf(dgu, &
514  ifile_id,'LEG_ISBA' ,'Averaged_Ground_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
515  CALL def_var_netcdf(dgu, &
516  ifile_id,'LEGI_ISBA' ,'Averaged_Soil_Ice_Sublimation' ,jdim,yatt_title,yatt)
517  CALL def_var_netcdf(dgu, &
518  ifile_id,'LEV_ISBA' ,'Averaged_Vegetation_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
519  CALL def_var_netcdf(dgu, &
520  ifile_id,'LES_ISBA' ,'Averaged_Snow_Sublimation_Heat_Flux' ,jdim,yatt_title,yatt)
521  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
522  CALL def_var_netcdf(dgu, &
523  ifile_id,'LESL_ISBA' ,'Averaged_Snow_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
524  ENDIF
525  CALL def_var_netcdf(dgu, &
526  ifile_id,'LER_ISBA' ,'Averaged_Canopy_Direct_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
527  CALL def_var_netcdf(dgu, &
528  ifile_id,'LETR_ISBA' ,'Averaged_Vegetation_Transpiration_Heat_Flux' ,jdim,yatt_title,yatt)
529  yatt = 'kg/m2s'
530  CALL def_var_netcdf(dgu, &
531  ifile_id,'EVAP_ISBA' ,'Averaged_Evapotranspiration' ,jdim,yatt_title,yatt)
532  CALL def_var_netcdf(dgu, &
533  ifile_id,'SUBL_ISBA' ,'Averaged_Sublimation_of_ice/snow' ,jdim,yatt_title,yatt)
534  CALL def_var_netcdf(dgu, &
535  ifile_id,'DRAIN_ISBA' ,'Averaged_Soil_Drainage_Flux' ,jdim,yatt_title,yatt)
536  CALL def_var_netcdf(dgu, &
537  ifile_id,'RUNOFF_ISBA' ,'Averaged_Supersaturation_Runoff' ,jdim,yatt_title,yatt)
538  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
539  CALL def_var_netcdf(dgu, &
540  ifile_id,'SNDRIF_ISBA' ,'Averaged_blowing_snow_sublimation' ,jdim,yatt_title,yatt)
541  ENDIF
542  IF(i%CRUNOFF=='SGH'.AND.i%CISBA=='DIF')THEN
543  CALL def_var_netcdf(dgu, &
544  ifile_id,'QSB_ISBA' ,'Averaged_lateral_subsurface_flow' ,jdim,yatt_title,yatt)
545  ENDIF
546  CALL def_var_netcdf(dgu, &
547  ifile_id,'HORTON_ISBA' ,'Averaged_Horton_Surface_Runoff' ,jdim,yatt_title,yatt)
548  CALL def_var_netcdf(dgu, &
549  ifile_id,'DRIVEG_ISBA' ,'Averaged_Dripping_from_the_vegetation_reservoir' ,jdim,yatt_title,yatt)
550  !
551  CALL def_var_netcdf(dgu, &
552  ifile_id,'RRVEG_ISBA' ,'Averaged_Precipitation_Intercepted_by_Vegetation' ,jdim,yatt_title,yatt)
553  CALL def_var_netcdf(dgu, &
554  ifile_id,'SNOMLT_ISBA' ,'Averaged_Snow_melt_flux' ,jdim,yatt_title,yatt)
555  IF(lagrip) CALL def_var_netcdf(dgu, &
556  ifile_id,'IRRIG_ISBA' ,'Averaged_irrigation_rate' ,jdim,yatt_title,yatt)
557  !
558  IF (isize_lmeb_patch>0) THEN
559  yatt = 'W/m2'
560  CALL def_var_netcdf(dgu, &
561  ifile_id,'LEVCV_ISBA' ,'MEB: total evapotranspiration from vegetation canopy overstory' ,iddim, &
562  yatt_title,yatt)
563  CALL def_var_netcdf(dgu, &
564  ifile_id,'LESC_ISBA' ,'MEB: total snow sublimation from vegetation canopy overstory' ,iddim, &
565  yatt_title,yatt)
566  CALL def_var_netcdf(dgu, &
567  ifile_id,'LETRGV_ISBA' ,'MEB: transpiration from understory vegetation' ,iddim, &
568  yatt_title,yatt)
569  CALL def_var_netcdf(dgu, &
570  ifile_id,'LETRCV_ISBA' ,'MEB: transpiration from overstory canopy vegetation' ,iddim, &
571  yatt_title,yatt)
572  CALL def_var_netcdf(dgu, &
573  ifile_id,'LERGV_ISBA' ,'MEB: interception evaporation from understory vegetation' ,iddim, &
574  yatt_title,yatt)
575  CALL def_var_netcdf(dgu, &
576  ifile_id,'LERCV_ISBA' ,'MEB: interception evaporation from overstory canopy vegetation' ,iddim, &
577  yatt_title,yatt)
578  CALL def_var_netcdf(dgu, &
579  ifile_id,'LE_V_C_ISBA' ,'MEB: latent heat flux from vegetation canopy overstory' ,iddim, &
580  yatt_title,yatt)
581  CALL def_var_netcdf(dgu, &
582  ifile_id,'LE_G_C_ISBA' ,'MEB: latent heat flux from understory' ,iddim, &
583  yatt_title,yatt)
584  CALL def_var_netcdf(dgu, &
585  ifile_id,'LE_C_A_ISBA' ,'MEB: latent heat flux from canopy air space to the atmosphere' ,iddim, &
586  yatt_title,yatt)
587  CALL def_var_netcdf(dgu, &
588  ifile_id,'LE_N_C_ISBA' ,'MEB: latent heat flux from the snow on the ground' ,iddim, &
589  yatt_title,yatt)
590  CALL def_var_netcdf(dgu, &
591  ifile_id,'SWNET_V_ISBA' ,'MEB: net vegetation canopy shortwave radiation' ,iddim, &
592  yatt_title,yatt)
593  CALL def_var_netcdf(dgu, &
594  ifile_id,'SWNET_G_ISBA' ,'MEB: net ground shortwave radiation' ,iddim, &
595  yatt_title,yatt)
596  CALL def_var_netcdf(dgu, &
597  ifile_id,'SWNET_N_ISBA' ,'MEB: net snow shortwave radiation' ,iddim, &
598  yatt_title,yatt)
599  CALL def_var_netcdf(dgu, &
600  ifile_id,'SWNET_NS_ISBA' ,'MEB: net snow shortwave radiation for surface layer' ,iddim, &
601  yatt_title,yatt)
602  CALL def_var_netcdf(dgu, &
603  ifile_id,'LWNET_V_ISBA' ,'MEB: net vegetation canopy longwave radiation' ,iddim, &
604  yatt_title,yatt)
605  CALL def_var_netcdf(dgu, &
606  ifile_id,'LWNET_G_ISBA' ,'MEB: net ground longwave radiation' ,iddim, &
607  yatt_title,yatt)
608  CALL def_var_netcdf(dgu, &
609  ifile_id,'LWNET_N_ISBA' ,'MEB: net snow longwave radiation' ,iddim, &
610  yatt_title,yatt)
611  CALL def_var_netcdf(dgu, &
612  ifile_id,'H_V_C_ISBA' ,'MEB: sensible heat flux from vegetation canopy overstory' ,iddim, &
613  yatt_title,yatt)
614  CALL def_var_netcdf(dgu, &
615  ifile_id,'H_G_C_ISBA' ,'MEB: sensible heat flux from understory' ,iddim, &
616  yatt_title,yatt)
617  CALL def_var_netcdf(dgu, &
618  ifile_id,'H_C_A_ISBA' ,'MEB: sensible heat flux from canopy air space to the atmosphere' ,iddim, &
619  yatt_title,yatt)
620  CALL def_var_netcdf(dgu, &
621  ifile_id,'H_N_C_ISBA' ,'MEB: sensible heat flux from the snow on the ground' ,iddim, &
622  yatt_title,yatt)
623  CALL def_var_netcdf(dgu, &
624  ifile_id,'SWDOWN_GN_ISBA' ,'MEB: SW reaching the snowpack/ground understory' ,iddim, &
625  yatt_title,yatt)
626  CALL def_var_netcdf(dgu, &
627  ifile_id,'LWDOWN_GN_ISBA' ,'MEB: LW reaching the snowpack/ground understory' ,iddim, &
628  yatt_title,yatt)
629  yatt = 'kg/m2s'
630  CALL def_var_netcdf(dgu, &
631  ifile_id,'EVAP_N_C_ISBA','MEB: Total evap from snow on the ground to canopy air space' ,iddim, &
632  yatt_title,yatt)
633  CALL def_var_netcdf(dgu, &
634  ifile_id,'EVAP_G_C_ISBA','MEB: Total evap from ground to canopy air space' ,iddim, &
635  yatt_title,yatt)
636  CALL def_var_netcdf(dgu, &
637  ifile_id,'SR_GN_ISBA','MEB: total snow reaching the ground snow' ,iddim, &
638  yatt_title,yatt)
639  CALL def_var_netcdf(dgu, &
640  ifile_id,'MELTCV_ISBA','MEB: snow melt rate from the overstory snow reservoir' ,iddim, &
641  yatt_title,yatt)
642  CALL def_var_netcdf(dgu, &
643  ifile_id,'FRZCV_ISBA','MEB: snow refreeze rate from the overstory snow reservoir' ,iddim, &
644  yatt_title,yatt)
645  ENDIF
646  !
647  IF(i%LFLOOD) THEN
648  yatt = 'kg/m2s'
649  CALL def_var_netcdf(dgu, &
650  ifile_id,'IFLOOD_ISBA' ,'Averaged_Floodplains_infiltration' ,jdim,yatt_title,yatt)
651  CALL def_var_netcdf(dgu, &
652  ifile_id,'PFLOOD_ISBA' ,'Averaged_Precipitation_intercepted_by_the floodplains',jdim,yatt_title,yatt)
653  yatt = 'W/m2'
654  CALL def_var_netcdf(dgu, &
655  ifile_id,'LEF_ISBA' ,'Averaged_Floodplains_evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
656  CALL def_var_netcdf(dgu, &
657  ifile_id,'LEIF_ISBA' ,'Averaged_Floodplains_Frozen_evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
658  ENDIF
659  IF(i%CPHOTO/='NON')THEN
660  yatt = 'kgCO2/m2/s'
661  CALL def_var_netcdf(dgu, &
662  ifile_id,'GPP_ISBA' ,'Averaged_gross_primary_production ' ,jdim,yatt_title,yatt)
663  CALL def_var_netcdf(dgu, &
664  ifile_id,'R_AUTO_ISBA' ,'Averaged_autotrophic_respiration ' ,jdim,yatt_title,yatt)
665  CALL def_var_netcdf(dgu, &
666  ifile_id,'R_ECO_ISBA' ,'Averaged_ecosystem_respiration ' ,jdim,yatt_title,yatt)
667  ENDIF
668  IF(dgei%LWATER_BUDGET)THEN
669  yatt = 'kg/m2s'
670  CALL def_var_netcdf(dgu, &
671  ifile_id,'RAINF_ISBA' ,'Averaged_input_rainfall_rate ' ,jdim,yatt_title,yatt)
672  CALL def_var_netcdf(dgu, &
673  ifile_id,'SNOWF_ISBA' ,'Averaged_input_snowfall_rate ' ,jdim,yatt_title,yatt)
674  CALL def_var_netcdf(dgu, &
675  ifile_id,'DWG_ISBA' ,'Averaged_change_in_liquid_soil_moisture ' ,jdim,yatt_title,yatt)
676  CALL def_var_netcdf(dgu, &
677  ifile_id,'DWGI_ISBA' ,'Averaged_change_in_solid_soil_moisture ' ,jdim,yatt_title,yatt)
678  CALL def_var_netcdf(dgu, &
679  ifile_id,'DWR_ISBA' ,'Averaged_change_in_canopy_water ' ,jdim,yatt_title,yatt)
680  CALL def_var_netcdf(dgu, &
681  ifile_id,'DSWE_ISBA' ,'Averaged_change_in_snow_water_equivalent ' ,jdim,yatt_title,yatt)
682  CALL def_var_netcdf(dgu, &
683  ifile_id,'WATBUD_ISBA' ,'Averaged_isba_water_budget_as_residue ' ,jdim,yatt_title,yatt)
684  ENDIF
685  !
686  IF(dgi%LPATCH_BUDGET) THEN
687  yatt = 'W/m2'
688  CALL def_var_netcdf(dgu, &
689  ifile_id,'LEG_P' ,'Ground_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
690  CALL def_var_netcdf(dgu, &
691  ifile_id,'LEGI_P' ,'Soil_Ice_Sublimation' ,iddim,yatt_title,yatt)
692  CALL def_var_netcdf(dgu, &
693  ifile_id,'LEV_P' ,'Vegetation_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
694  CALL def_var_netcdf(dgu, &
695  ifile_id,'LES_P' ,'Snow_Sublimation_Heat_Flux' ,iddim,yatt_title,yatt)
696  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
697  CALL def_var_netcdf(dgu, &
698  ifile_id,'LESL_P' ,'Snow_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
699  ENDIF
700  CALL def_var_netcdf(dgu, &
701  ifile_id,'LER_P' ,'Canopy_Direct_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
702  CALL def_var_netcdf(dgu, &
703  ifile_id,'LETR_P' ,'Vegetation_Transpiration_Heat_Flux' ,iddim,yatt_title,yatt)
704  yatt = 'kg/m2s'
705  CALL def_var_netcdf(dgu, &
706  ifile_id,'EVAP_P' ,'Evapotranspiration' ,iddim,yatt_title,yatt)
707  CALL def_var_netcdf(dgu, &
708  ifile_id,'SUBL_P' ,'Sublimation_of_ice/snow' ,iddim,yatt_title,yatt)
709  CALL def_var_netcdf(dgu, &
710  ifile_id,'DRAIN_P' ,'Soil_Drainage_Flux' ,iddim,yatt_title,yatt)
711  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
712  CALL def_var_netcdf(dgu, &
713  ifile_id,'SNDRIF_P' ,'blowing_snow_sublimation' ,iddim,yatt_title,yatt)
714  ENDIF
715  IF(i%CRUNOFF=='SGH'.AND.i%CISBA=='DIF')THEN
716  CALL def_var_netcdf(dgu, &
717  ifile_id,'QSB_P' ,'lateral_subsurface_flow' ,iddim,yatt_title,yatt)
718  ENDIF
719  CALL def_var_netcdf(dgu, &
720  ifile_id,'RUNOFF_P' ,'Supersaturation_Runoff' ,iddim,yatt_title,yatt)
721  CALL def_var_netcdf(dgu, &
722  ifile_id,'HORTON_P' ,'Horton_Surface_Runoff' ,iddim,yatt_title,yatt)
723  CALL def_var_netcdf(dgu, &
724  ifile_id,'DRIVEG_P' ,'Dripping_from_the_vegetation_reservoir' ,iddim,yatt_title,yatt)
725  !
726  CALL def_var_netcdf(dgu, &
727  ifile_id,'RRVEG_P' ,'Precipitation_Intercepted_by_Vegetation' ,iddim,yatt_title,yatt)
728  CALL def_var_netcdf(dgu, &
729  ifile_id,'SNOMLT_P' ,'Snow_melt_flux' ,iddim,yatt_title,yatt)
730  IF(lagrip) CALL def_var_netcdf(dgu, &
731  ifile_id,'IRRIG_P' ,'Irrigation_rate' ,iddim,yatt_title,yatt)
732  !
733  IF (isize_lmeb_patch>0) THEN
734  yatt = 'W/m2'
735  CALL def_var_netcdf(dgu, &
736  ifile_id,'LEVCV_P' ,'MEB: total evapotranspiration from vegetation canopy overstory' ,iddim, &
737  yatt_title,yatt)
738  CALL def_var_netcdf(dgu, &
739  ifile_id,'LESC_P' ,'MEB: total snow sublimation from vegetation canopy overstory' ,iddim, &
740  yatt_title,yatt)
741  CALL def_var_netcdf(dgu, &
742  ifile_id,'LETRGV_P' ,'MEB: transpiration from understory vegetation' ,iddim, &
743  yatt_title,yatt)
744  CALL def_var_netcdf(dgu, &
745  ifile_id,'LETRCV_P' ,'MEB: transpiration from overstory canopy vegetation' ,iddim, &
746  yatt_title,yatt)
747  CALL def_var_netcdf(dgu, &
748  ifile_id,'LERGV_P' ,'MEB: interception evaporation from understory vegetation' ,iddim, &
749  yatt_title,yatt)
750  CALL def_var_netcdf(dgu, &
751  ifile_id,'LERCV_P' ,'MEB: interception evaporation from overstory canopy vegetation' ,iddim, &
752  yatt_title,yatt)
753  CALL def_var_netcdf(dgu, &
754  ifile_id,'LE_V_C_P' ,'MEB: latent heat flux from vegetation canopy overstory' ,iddim, &
755  yatt_title,yatt)
756  CALL def_var_netcdf(dgu, &
757  ifile_id,'LE_G_C_P' ,'MEB: latent heat flux from understory' ,iddim, &
758  yatt_title,yatt)
759  CALL def_var_netcdf(dgu, &
760  ifile_id,'LE_C_A_P' ,'MEB: latent heat flux from canopy air space to the atmosphere' ,iddim, &
761  yatt_title,yatt)
762  CALL def_var_netcdf(dgu, &
763  ifile_id,'LE_N_C_P' ,'MEB: latent heat flux from the snow on the ground' ,iddim, &
764  yatt_title,yatt)
765  CALL def_var_netcdf(dgu, &
766  ifile_id,'SWNET_V_P' ,'MEB: net vegetation canopy shortwave radiation' ,iddim, &
767  yatt_title,yatt)
768  CALL def_var_netcdf(dgu, &
769  ifile_id,'SWNET_G_P' ,'MEB: net ground shortwave radiation' ,iddim, &
770  yatt_title,yatt)
771  CALL def_var_netcdf(dgu, &
772  ifile_id,'SWNET_N_P' ,'MEB: net snow shortwave radiation' ,iddim, &
773  yatt_title,yatt)
774  CALL def_var_netcdf(dgu, &
775  ifile_id,'SWNET_NS_P' ,'MEB: net snow shortwave radiation for surface layer' ,iddim, &
776  yatt_title,yatt)
777  CALL def_var_netcdf(dgu, &
778  ifile_id,'LWNET_V_P' ,'MEB: net vegetation canopy longwave radiation' ,iddim, &
779  yatt_title,yatt)
780  CALL def_var_netcdf(dgu, &
781  ifile_id,'LWNET_G_P' ,'MEB: net ground longwave radiation' ,iddim, &
782  yatt_title,yatt)
783  CALL def_var_netcdf(dgu, &
784  ifile_id,'LWNET_N_P' ,'MEB: net snow longwave radiation' ,iddim, &
785  yatt_title,yatt)
786  CALL def_var_netcdf(dgu, &
787  ifile_id,'H_V_C_P' ,'MEB: sensible heat flux from vegetation canopy overstory' ,iddim, &
788  yatt_title,yatt)
789  CALL def_var_netcdf(dgu, &
790  ifile_id,'H_G_C_P' ,'MEB: sensible heat flux from understory' ,iddim, &
791  yatt_title,yatt)
792  CALL def_var_netcdf(dgu, &
793  ifile_id,'H_C_A_P' ,'MEB: sensible heat flux from canopy air space to the atmosphere' ,iddim, &
794  yatt_title,yatt)
795  CALL def_var_netcdf(dgu, &
796  ifile_id,'H_N_C_P' ,'MEB: sensible heat flux from the snow on the ground' ,iddim, &
797  yatt_title,yatt)
798  CALL def_var_netcdf(dgu, &
799  ifile_id,'SWDOWN_GN_P' ,'MEB: SW reaching the snowpack/ground understory' ,iddim, &
800  yatt_title,yatt)
801  CALL def_var_netcdf(dgu, &
802  ifile_id,'LWDOWN_GN_P' ,'MEB: LW reaching the snowpack/ground understory' ,iddim, &
803  yatt_title,yatt)
804  yatt = 'kg/m2s'
805  CALL def_var_netcdf(dgu, &
806  ifile_id,'EVAP_N_C_P','MEB: Total evap from snow on the ground to canopy air space' ,iddim, &
807  yatt_title,yatt)
808  CALL def_var_netcdf(dgu, &
809  ifile_id,'EVAP_G_C_P','MEB: Total evap from ground to canopy air space' ,iddim, &
810  yatt_title,yatt)
811  CALL def_var_netcdf(dgu, &
812  ifile_id,'SR_GN_P','MEB: total snow reaching the ground snow' ,iddim, &
813  yatt_title,yatt)
814  CALL def_var_netcdf(dgu, &
815  ifile_id,'MELTCV_P','MEB: snow melt rate from the overstory snow reservoir' ,iddim, &
816  yatt_title,yatt)
817  CALL def_var_netcdf(dgu, &
818  ifile_id,'FRZCV_P','MEB: snow refreeze rate from the overstory snow reservoir' ,iddim, &
819  yatt_title,yatt)
820  ENDIF
821  !
822  IF(i%LFLOOD)THEN
823  yatt = 'kg/m2s'
824  CALL def_var_netcdf(dgu, &
825  ifile_id,'IFLOOD_P' ,'Floodplains_infiltration' ,iddim,yatt_title,yatt)
826  CALL def_var_netcdf(dgu, &
827  ifile_id,'PFLOOD_P' ,'Precipitation_intercepted_by_the_floodplains' ,iddim,yatt_title,yatt)
828  yatt = 'W/m2'
829  CALL def_var_netcdf(dgu, &
830  ifile_id,'LEF_P' ,'Floodplains_evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
831  CALL def_var_netcdf(dgu, &
832  ifile_id,'LEIF_P' ,'Floodplains_Frozen_evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
833  ENDIF
834  IF(i%CPHOTO/='NON')THEN
835  yatt = 'kgCO2/m2/s'
836  CALL def_var_netcdf(dgu, &
837  ifile_id,'GPP_P' ,'gross_primary_production ' ,iddim,yatt_title,yatt)
838  CALL def_var_netcdf(dgu, &
839  ifile_id,'R_AUTO_P' ,'autotrophic_respiration ' ,iddim,yatt_title,yatt)
840  CALL def_var_netcdf(dgu, &
841  ifile_id,'R_ECO_P' ,'ecosystem_respiration ' ,iddim,yatt_title,yatt)
842  ENDIF
843  IF(dgei%LWATER_BUDGET)THEN
844  yatt = 'kg/m2s'
845  CALL def_var_netcdf(dgu, &
846  ifile_id,'DWG_P' ,'change_in_liquid_soil_moisture ' ,iddim,yatt_title,yatt)
847  CALL def_var_netcdf(dgu, &
848  ifile_id,'DWGI_P' ,'change_in_solid_soil_moisture ' ,iddim,yatt_title,yatt)
849  CALL def_var_netcdf(dgu, &
850  ifile_id,'DWR_P' ,'change_in_water_on_canopy ' ,iddim,yatt_title,yatt)
851  CALL def_var_netcdf(dgu, &
852  ifile_id,'DSWE_P' ,'change_in_snow_water_equivalent ' ,iddim,yatt_title,yatt)
853  CALL def_var_netcdf(dgu, &
854  ifile_id,'WATBUD_P' ,'isba_water_budget_as_residue ' ,iddim,yatt_title,yatt)
855  ENDIF
856  !
857  ENDIF
858  !
859 ENDIF
860 !
861 IF (dgmi%LSURF_MISC_BUDGET) THEN
862  !
863  il=inlvld
864  !
865  DO jlayer=1,il
866  WRITE(ypas,'(I3)') jlayer
867  ylvl = adjustl(ypas(:len_trim(ypas)))
868  CALL def_var_netcdf(dgu, &
869  ifile_id, 'SWI'//ylvl(:len_trim(ylvl))//'_ISBA', &
870  'Soil_Wetness_Index'//ylvl , jdim, yatt_title, (/'-'/))
871  CALL def_var_netcdf(dgu, &
872  ifile_id, 'TSWI'//ylvl(:len_trim(ylvl))//'_ISBA', &
873  'Total_SWI_(liquid+solid)'//ylvl , jdim, yatt_title, (/'-'/))
874  IF(dgi%LPATCH_BUDGET)THEN
875  CALL def_var_netcdf(dgu, &
876  ifile_id, 'SWI'//ylvl, 'Soil_Wetness_Index'//ylvl , iddim, yatt_title, (/'-'/))
877  CALL def_var_netcdf(dgu, &
878  ifile_id, 'TSWI'//ylvl, 'Total_SWI_(liquid+solid)'//ylvl, iddim, yatt_title, (/'-'/))
879  ENDIF
880  ENDDO
881  !
882  yatt = '-'
883  CALL def_var_netcdf(dgu, &
884  ifile_id,'SWI_T_ISBA' ,'SWI_over_entire_soil ' ,jdim,yatt_title,yatt)
885  CALL def_var_netcdf(dgu, &
886  ifile_id,'TSWI_T_ISBA' ,'Total_SWI_over_entire_soil ' ,jdim,yatt_title,yatt)
887  IF(i%CISBA=='DIF'.AND.dgmi%LSURF_MISC_DIF)THEN
888  CALL def_var_netcdf(dgu, &
889  ifile_id,'TSWI_D2_ISBA' ,'Total_SWI_over_comparable_FR-DG2_reservoir',jdim,yatt_title,yatt)
890  CALL def_var_netcdf(dgu, &
891  ifile_id,'TSWI_D3_ISBA' ,'Total_SWI_over_comparable_FR-DG3_reservoir',jdim,yatt_title,yatt)
892  ENDIF
893  !
894  yatt = 'kg/m2'
895  CALL def_var_netcdf(dgu, &
896  ifile_id,'WGTOT_T_ISBA' , 'Total_soil_water_reservoir_(liquid+solid)' ,jdim,yatt_title,yatt)
897  CALL def_var_netcdf(dgu, &
898  ifile_id,'WGI_T_ISBA' , 'Total_soil_ice_reservoir' ,jdim,yatt_title,yatt)
899  yatt = 'm3/m3'
900  CALL def_var_netcdf(dgu, &
901  ifile_id,'WGTOT_ISBA' , 'Total_volumetric_soil_water_content_(liquid+solid)' ,jdim,yatt_title,yatt)
902  CALL def_var_netcdf(dgu, &
903  ifile_id,'WGI_ISBA' , 'Total_volumetric_soil_ice_content' ,jdim,yatt_title,yatt)
904  IF(i%CISBA=='DIF'.AND.dgmi%LSURF_MISC_DIF)THEN
905  yatt = 'm3/m3'
906  CALL def_var_netcdf(dgu, &
907  ifile_id,'WG_D2_ISBA' ,'soil_liquid_water_over_comparable_FR-DG2_reservoir',jdim,yatt_title,yatt)
908  CALL def_var_netcdf(dgu, &
909  ifile_id,'WGI_D2_ISBA' ,'soil_ice_over_comparable_FR-DG2_reservoir ',jdim,yatt_title,yatt)
910  CALL def_var_netcdf(dgu, &
911  ifile_id,'WG_D3_ISBA' ,'soil_liquid_water_comparable_FR-DG3_reservoir ',jdim,yatt_title,yatt)
912  CALL def_var_netcdf(dgu, &
913  ifile_id,'WGI_D3_ISBA' ,'soil_ice_over_comparable_FR-DG3_reservoir ',jdim,yatt_title,yatt)
914  ENDIF
915  IF(i%CISBA=='DIF')THEN
916  yatt = 'm'
917  CALL def_var_netcdf(dgu, &
918  ifile_id,'ALT_ISBA' ,'permafrost_active_layer_thickness' ,jdim,yatt_title,yatt)
919  CALL def_var_netcdf(dgu, &
920  ifile_id,'FLT_ISBA' ,'non-permafrost_frozen_layer_thickness' ,jdim,yatt_title,yatt)
921  ENDIF
922  !
923  IF(i%LGW)THEN
924  yatt = '-'
925  CALL def_var_netcdf(dgu, &
926  ifile_id,'FWTD_ISBA' ,'grid-cell_fraction_of_water_table_to_rise' ,jdim,yatt_title,yatt)
927  yatt = 'm'
928  CALL def_var_netcdf(dgu, &
929  ifile_id,'WTD_ISBA' ,'water_table_depth_from_RRM_model_or_observation' ,jdim,yatt_title,yatt)
930  ENDIF
931  !
932  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
933  yatt = 'K'
934  CALL def_var_netcdf(dgu, &
935  ifile_id,'TS_ISBA' ,'Surface_Temperature_(isba+snow3l) ' ,jdim, yatt_title,yatt)
936  CALL def_var_netcdf(dgu, &
937  ifile_id,'TSRAD_ISBA' ,'Surface_Radiative_Temperature_(isba+snow3l) ' ,jdim, yatt_title,yatt)
938  IF (dgi%LPATCH_BUDGET) THEN
939  CALL def_var_netcdf(dgu, &
940  ifile_id,'TS_P' ,'Surface_Temperature_(isba+snow3l)' ,iddim,yatt_title,yatt)
941  CALL def_var_netcdf(dgu, &
942  ifile_id,'TSRAD_P' ,'total_radiative_surface_Temperature_(isba+snow3l)',iddim,yatt_title,yatt)
943  ENDIF
944  ENDIF
945  !
946  DO jlayer=1,inlvls
947  WRITE(ypas,'(I3)') jlayer
948  ylvl = adjustl(ypas(:len_trim(ypas)))
949  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
950  CALL def_var_netcdf(dgu, &
951  ifile_id, 'SNOWTEMP'//ylvl, 'Snow_Temp_layer'//ylvl , iddim, yatt_title, (/'K'/))
952  CALL def_var_netcdf(dgu, &
953  ifile_id, 'SNOWLIQ'//ylvl, 'Snow_liquid_water_layer_'//ylvl, iddim, yatt_title, (/'m'/))
954  ENDIF
955  ENDDO
956  !
957  IF(i%CRAIN=='SGH ')THEN
958  yatt = '-'
959  CALL def_var_netcdf(dgu, &
960  ifile_id,'MUF_ISBA' , 'Fraction_of_rainfall_reaching_the ground_(SGH)',jdim,yatt_title,yatt)
961  ENDIF
962  !
963  yatt = '-'
964  CALL def_var_netcdf(dgu, &
965  ifile_id,'PSNG_ISBA' , 'Snow_frac_over_ground ' ,jdim,yatt_title,yatt)
966  CALL def_var_netcdf(dgu, &
967  ifile_id,'PSNV_ISBA' , 'Snow_frac_over_veg ' ,jdim,yatt_title,yatt)
968  CALL def_var_netcdf(dgu, &
969  ifile_id,'PSN_ISBA ' , 'Snow_fraction ' ,jdim,yatt_title,yatt)
970  CALL def_var_netcdf(dgu, &
971  ifile_id,'TALB_ISBA' , 'Surface total albedo ' ,jdim,yatt_title,yatt)
972  CALL def_var_netcdf(dgu, &
973  ifile_id,'HV_ISBA' , 'Halstead_coefficient ' ,jdim,yatt_title,yatt)
974  IF(i%CPHOTO/='NON')THEN
975  yatt = 'kg/kg'
976  CALL def_var_netcdf(dgu, &
977  ifile_id,'LAI_ISBA' ,'leaf_area_index ' ,jdim,yatt_title,yatt)
978  ENDIF
979  yatt = 'kg/m2'
980  CALL def_var_netcdf(dgu, &
981  ifile_id,'WSN_T_ISBA' , 'Total_snow_reservoir ' ,jdim,yatt_title,yatt)
982  yatt = 'm'
983  CALL def_var_netcdf(dgu, &
984  ifile_id,'DSN_T_ISBA' , 'Total_snow_depth ' ,jdim,yatt_title,yatt)
985  yatt = 'K'
986  CALL def_var_netcdf(dgu, &
987  ifile_id,'TSN_T_ISBA' , 'Total_snow_temperature ' ,jdim,yatt_title,yatt)
988  !
989  IF(i%CRUNOFF=='SGH '.OR.i%CRUNOFF=='DT92')THEN
990  yatt = '-'
991  CALL def_var_netcdf(dgu, &
992  ifile_id,'FSAT_ISBA' ,'Soil_saturated_grid-cell_fraction' ,jdim,yatt_title,yatt)
993  ENDIF
994  !
995  IF(i%LFLOOD)THEN
996  yatt = '-'
997  CALL def_var_netcdf(dgu, &
998  ifile_id,'FFG_ISBA' ,'flood_frac_over_ground ' ,jdim,yatt_title,yatt)
999  CALL def_var_netcdf(dgu, &
1000  ifile_id,'FFV_ISBA' ,'flood_frac_over_veg ' ,jdim,yatt_title,yatt)
1001  CALL def_var_netcdf(dgu, &
1002  ifile_id,'FF_ISBA ' ,'flood_fraction ' ,jdim,yatt_title,yatt)
1003  yatt = '-'
1004  CALL def_var_netcdf(dgu, &
1005  ifile_id,'FFLOOD_ISBA' ,'Potential_floodplain_grid-cell_fraction' ,jdim,yatt_title,yatt)
1006  yatt(1)='kg/m2/s'
1007  CALL def_var_netcdf(dgu, &
1008  ifile_id,'PIFLOOD_ISBA' ,'Potential_floodplain_infiltration',jdim,yatt_title,yatt)
1009  ENDIF
1010  !
1011  IF(dgi%LPATCH_BUDGET)THEN
1012  !
1013  yatt(1)='-'
1014  CALL def_var_netcdf(dgu, &
1015  ifile_id,'PSNG_P' ,'snow_fraction_per_patch_over_ground' ,iddim,yatt_title,yatt)
1016  CALL def_var_netcdf(dgu, &
1017  ifile_id,'PSNV_P' ,'snow_fraction_per_patch_over_vegetation',iddim,yatt_title,yatt)
1018  CALL def_var_netcdf(dgu, &
1019  ifile_id,'PSN_P' ,'total_snow_fraction_per_patch' ,iddim,yatt_title,yatt)
1020  CALL def_var_netcdf(dgu, &
1021  ifile_id,'TALB_P' ,'total_albedo_per_patch' ,iddim,yatt_title,yatt)
1022  CALL def_var_netcdf(dgu, &
1023  ifile_id,'HV_P' ,'Halstead_coefficient_per_patch' ,iddim,yatt_title,yatt)
1024  yatt(1)='kg/m2'
1025  CALL def_var_netcdf(dgu, &
1026  ifile_id,'WSN_T_P','Total_snow_reservoir_per_patch ' ,iddim,yatt_title,yatt)
1027  yatt(1)='m'
1028  CALL def_var_netcdf(dgu, &
1029  ifile_id,'DSN_T_P','Total_snow_depth_per_patch ' ,iddim,yatt_title,yatt)
1030  yatt(1)='K'
1031  CALL def_var_netcdf(dgu, &
1032  ifile_id,'TSN_T_P','Total_snow_temperature_per_patch ' ,iddim,yatt_title,yatt)
1033  !
1034  IF(i%CRUNOFF=='SGH '.OR.i%CRUNOFF=='DT92')THEN
1035  yatt(1)='-'
1036  CALL def_var_netcdf(dgu, &
1037  ifile_id,'FSAT_P','Soil_saturated_fraction_per_patch',iddim,yatt_title,yatt)
1038  ENDIF
1039  !
1040  IF(i%CISBA=='DIF')THEN
1041  yatt = 'm'
1042  CALL def_var_netcdf(dgu, &
1043  ifile_id,'ALT_P' ,'permafrost_active_layer_thickness_per_patch ',iddim,yatt_title,yatt)
1044  CALL def_var_netcdf(dgu, &
1045  ifile_id,'FLT_P' ,'non-permafrost_frozen_layer_thickness_per_patch',iddim,yatt_title,yatt)
1046  ENDIF
1047  !
1048  IF(i%LFLOOD)THEN
1049  yatt(1)='-'
1050  CALL def_var_netcdf(dgu, &
1051  ifile_id,'FFG_P','flood_frac_per_patch_over_ground',iddim,yatt_title,yatt)
1052  CALL def_var_netcdf(dgu, &
1053  ifile_id,'FFV_P','flood_frac_per_patch_over_veg' ,iddim,yatt_title,yatt)
1054  CALL def_var_netcdf(dgu, &
1055  ifile_id,'FF_P' ,'total_flood_fraction_per_patch' ,iddim,yatt_title,yatt)
1056  ENDIF
1057  !
1058  IF (i%LTR_ML) THEN
1059  yatt(1)='(-)'
1060  CALL def_var_netcdf(dgu, &
1061  ifile_id,'FAPAR' ,'Fapar of vegetation',iddim,yatt_title,yatt)
1062  yatt(1)='(-)'
1063  CALL def_var_netcdf(dgu, &
1064  ifile_id,'FAPIR' ,'Fapir of vegetation',iddim,yatt_title,yatt)
1065  yatt(1)='(-)'
1066  CALL def_var_netcdf(dgu, &
1067  ifile_id,'DFAPARC' ,'Fapar of vegetation (daily cumul)',iddim,yatt_title,yatt)
1068  yatt(1)='(-)'
1069  CALL def_var_netcdf(dgu, &
1070  ifile_id,'DFAPIRC' ,'Fapir of vegetation (daily cumul)',iddim,yatt_title,yatt)
1071  yatt(1)='(-)'
1072  CALL def_var_netcdf(dgu, &
1073  ifile_id,'FAPAR_BS' ,'Fapar of bare soil',iddim,yatt_title,yatt)
1074  yatt(1)='(-)'
1075  CALL def_var_netcdf(dgu, &
1076  ifile_id,'FAPIR_BS' ,'Fapir of bare soil',iddim,yatt_title,yatt)
1077  yatt(1)='m2/m2'
1078  CALL def_var_netcdf(dgu, &
1079  ifile_id,'DLAI_EFFC' ,'Effective LAI (daily cumul)',iddim,yatt_title,yatt)
1080  ENDIF
1081  !
1082  ENDIF
1083  !
1084 ENDIF
1085 !
1086 IF (chi%SVI%NBEQ>0 .AND. chi%CCH_DRY_DEP=="WES89 ") THEN
1087  !
1088  yatt="(m/s)"
1089  !
1090  DO jsv = 1,SIZE(chi%CCH_NAMES,1)
1091  !
1092  yrecfm = 'DV_NAT_'//trim(chi%CCH_NAMES(jsv))
1093  WRITE(ycomment,'(A7,I3.3)')'DV_NAT_',jsv
1094  CALL def_var_netcdf(dgu, &
1095  ifile_id,yrecfm,ycomment,iddim,yatt_title,yatt)
1096  !
1097  ENDDO
1098  !
1099 END IF
1100 !
1101 IF (chi%SVI%NBEQ>0 .AND. chi%LCH_BIO_FLUX) THEN
1102  !
1103  IF (ASSOCIATED(gb%XFISO)) THEN
1104  yrecfm='FISO'
1105  WRITE(ycomment,'(A21)')'FISO (molecules/m2/s)'
1106  CALL def_var_netcdf(dgu, &
1107  ifile_id,yrecfm,ycomment,jdim,yatt_title,yatt)
1108  END IF
1109  !
1110  IF (ASSOCIATED(gb%XFISO)) THEN
1111  yrecfm='FMONO'
1112  WRITE(ycomment,'(A22)')'FMONO (molecules/m2/s)'
1113  CALL def_var_netcdf(dgu, &
1114  ifile_id,yrecfm,ycomment,jdim,yatt_title,yatt)
1115  END IF
1116  !
1117 ENDIF
1118 !
1119 IF (chi%LCH_NO_FLUX) THEN
1120  !
1121  IF (ASSOCIATED(gb%XNOFLUX)) THEN
1122  yrecfm='NOFLUX'
1123  WRITE(ycomment,'(A21)')'NOFLUX (molecules/m2/s)'
1124  CALL def_var_netcdf(dgu, &
1125  ifile_id,yrecfm,ycomment,jdim,yatt_title,yatt)
1126  END IF
1127  !
1128 END IF
1129 !
1130 IF(dgu%LPROVAR_TO_DIAG)THEN
1131  !
1132  IF(i%LTEMP_ARP)THEN
1133  il=i%NTEMPLAYER_ARP
1134  ELSEIF(i%CISBA=='DIF')THEN
1135  il=inlvld
1136  ELSE
1137  il=2
1138  ENDIF
1139  !
1140  yatt = 'K'
1141  DO jlayer=1,il
1142  WRITE(ypas,'(I3)') jlayer
1143  ylvl=adjustl(ypas(:len_trim(ypas)))
1144  CALL def_var_netcdf(dgu, &
1145  ifile_id,'TG'//ylvl(:len_trim(ylvl))//'_ISBA','Soil_temp_layer_'//ylvl,jdim,yatt_title,yatt)
1146  ENDDO
1147  !
1148  il=inlvld
1149  !
1150  yatt = 'm3/m3'
1151  DO jlayer=1,il
1152  WRITE(ypas,'(I3)') jlayer
1153  ylvl=adjustl(ypas(:len_trim(ypas)))
1154  CALL def_var_netcdf(dgu, &
1155  ifile_id,'WG'//ylvl(:len_trim(ylvl))//'_ISBA','Soil_liquid_layer_'//ylvl,jdim,yatt_title,yatt)
1156  ENDDO
1157  yatt = 'kg/m2'
1158  DO jlayer=1,il
1159  WRITE(ypas,'(I3)') jlayer
1160  ylvl=adjustl(ypas(:len_trim(ypas)))
1161  CALL def_var_netcdf(dgu, &
1162  ifile_id,'SOILM'//ylvl(:len_trim(ylvl))//'_ISBA','Soil_moisture_(liquid)_layer_'//ylvl, &
1163  jdim,yatt_title,yatt)
1164  ENDDO
1165  !
1166  IF(i%CISBA/='DIF')THEN
1167  il=2
1168  ENDIF
1169  !
1170  yatt = 'm3/m3'
1171  DO jlayer=1,il
1172  WRITE(ypas,'(I3)') jlayer
1173  ylvl=adjustl(ypas(:len_trim(ypas)))
1174  CALL def_var_netcdf(dgu, &
1175  ifile_id,'WGI'//ylvl(:len_trim(ylvl))//'_ISBA','Soil_ice_layer_'//ylvl,jdim,yatt_title,yatt)
1176  ENDDO
1177  yatt = 'kg/m2'
1178  DO jlayer=1,il
1179  WRITE(ypas,'(I3)') jlayer
1180  ylvl=adjustl(ypas(:len_trim(ypas)))
1181  CALL def_var_netcdf(dgu, &
1182  ifile_id,'SOILI'//ylvl(:len_trim(ylvl))//'_ISBA','Soil_ice_mass_layer_'//ylvl,jdim,yatt_title,yatt)
1183  ENDDO
1184  !
1185  yatt = 'kg/m2'
1186  CALL def_var_netcdf(dgu, &
1187  ifile_id,'WR_ISBA','Interception_reservoir',jdim,yatt_title,yatt)
1188  !
1189  IF(i%LGLACIER)THEN
1190  yatt = 'kg/m2'
1191  CALL def_var_netcdf(dgu, &
1192  ifile_id,'ICE_STO_ISBA','Glacier_reservoir',jdim,yatt_title,yatt)
1193  ENDIF
1194  !
1195  yatt='-'
1196  CALL def_var_netcdf(dgu, &
1197  ifile_id,'ASN_ISBA','Snow_Albedo',jdim,yatt_title,yatt)
1198  !
1199  IF(i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO')THEN
1200  DO jlayer=1,inlvls
1201  WRITE(ypas,'(I3)') jlayer
1202  ylvl=adjustl(ypas(:len_trim(ypas)))
1203  yatt = 'kg/m2'
1204  CALL def_var_netcdf(dgu, &
1205  ifile_id, 'WSN_'//ylvl(:len_trim(ylvl))//'_ISBA', &
1206  'Snow_Water_Equivalent_layer_'//ylvl, jdim, yatt_title, yatt)
1207  yatt = 'm'
1208  CALL def_var_netcdf(dgu, &
1209  ifile_id, 'DSN_'//ylvl(:len_trim(ylvl))//'_ISBA', &
1210  'Snow_Depth_layer_'//ylvl , jdim, yatt_title, yatt)
1211  yatt = 'K'
1212  CALL def_var_netcdf(dgu, &
1213  ifile_id, 'TSN_'//ylvl(:len_trim(ylvl))//'_ISBA', &
1214  'Snow_Temperature_layer_'//ylvl , jdim, yatt_title, yatt)
1215  yatt = 'day_since_snowfall'
1216  CALL def_var_netcdf(dgu, &
1217  ifile_id, 'AGSN_'//ylvl(:len_trim(ylvl))//'_ISBA', &
1218  'Snow_age_layer_'//ylvl , jdim, yatt_title, yatt)
1219  ENDDO
1220  ENDIF
1221  !
1222  IF(i%CPHOTO=='NIT'.OR.i%CPHOTO=='NCB')THEN
1223  yatt = 'kgDM/m2'
1224  DO jnbiomass=1,inbiomass
1225  WRITE(ypas,'(I3)') jnbiomass
1226  ylvl=adjustl(ypas(:len_trim(ypas)))
1227  CALL def_var_netcdf(dgu, &
1228  ifile_id,'BIOM'//ylvl(:len_trim(ylvl))//'_ISBA','Biomass_reservoir_'//ylvl,jdim,yatt_title,yatt)
1229  ENDDO
1230  ENDIF
1231  !
1232  IF(i%CRESPSL=='CNT')THEN
1233  yatt = 'gC/m2'
1234  DO jnlitter=1,inlitter
1235  DO jnlittlevs=1,inlittlevs
1236  WRITE(ypas,'(I1,A1,I1)') jnlitter,'_',jnlittlevs
1237  ylvl = adjustl(ypas(:len_trim(ypas)))
1238  CALL def_var_netcdf(dgu, &
1239  ifile_id, 'LIT'//ylvl(:len_trim(ylvl))//'_ISBA', 'Litter_pool'//ylvl,jdim,yatt_title,yatt)
1240  END DO
1241  END DO
1242  DO jnsoilcarb=1,insoilcarb
1243  WRITE(ypas,'(I3)') jnsoilcarb
1244  ylvl=adjustl(ypas(:len_trim(ypas)))
1245  CALL def_var_netcdf(dgu, &
1246  ifile_id, 'SCARB'//ylvl(:len_trim(ylvl))//'_ISBA', 'Soil_carbon_pool'//ylvl,jdim,yatt_title,yatt)
1247  END DO
1248  yatt = '-'
1249  DO jnlittlevs=1,inlittlevs
1250  WRITE(ypas,'(I3)') jnlittlevs
1251  ylvl=adjustl(ypas(:len_trim(ypas)))
1252  CALL def_var_netcdf(dgu, &
1253  ifile_id, 'LIGSTR'//ylvl(:len_trim(ylvl))//'_ISBA', 'Ratio_Lignin/Carbon_in_structural_litter'//ylvl, &
1254  jdim,yatt_title,yatt)
1255  END DO
1256  ENDIF
1257 ENDIF
1258 !
1259  CALL ol_write_coord(dgu, &
1260  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1261 !
1262 IF (dgei%LSURF_BUDGETC) THEN
1263  !
1264  yfile='ISBA_DIAG_CUMUL.OUT.nc'
1265  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
1266  jret=nf_redef(ifile_id)
1267  yatt(1)='dimensionless'
1268  !
1269  IF(dgi%LPATCH_BUDGET)THEN
1270  yatt='J/m2'
1271  CALL def_var_netcdf(dgu, &
1272  ifile_id,'RNC_P' ,'Cumulated_Net_Radiation' ,iddim,yatt_title,yatt)
1273  CALL def_var_netcdf(dgu, &
1274  ifile_id,'HC_P' ,'Cumulated_Sensible_Heat_Flux' ,iddim,yatt_title,yatt)
1275  CALL def_var_netcdf(dgu, &
1276  ifile_id,'LEC_P' ,'Cumulated_Total_Latent_Heat_Flux' ,iddim,yatt_title,yatt)
1277  CALL def_var_netcdf(dgu, &
1278  ifile_id,'LEIC_P' ,'Cumulated_Sublimation_Latent_Heat_Flux' ,iddim,yatt_title,yatt)
1279  CALL def_var_netcdf(dgu, &
1280  ifile_id,'GFLUXC_P' ,'Cumulated_Ground_Heat_Flux' ,iddim,yatt_title,yatt)
1281  CALL def_var_netcdf(dgu, &
1282  ifile_id,'LEGC_P' ,'Cumulated_Ground_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1283  CALL def_var_netcdf(dgu, &
1284  ifile_id,'LEGIC_P' ,'Cumulated_Soil_Ice_Sublimation' ,iddim,yatt_title,yatt)
1285  CALL def_var_netcdf(dgu, &
1286  ifile_id,'LEVC_P' ,'Cumulated_Vegetation_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1287  CALL def_var_netcdf(dgu, &
1288  ifile_id,'LESC_P' ,'Cumulated_Snow_Sublimation_Heat_Flux' ,iddim,yatt_title,yatt)
1289  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
1290  CALL def_var_netcdf(dgu, &
1291  ifile_id,'LESLC_P' ,'Cumulated_Snow_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1292  ENDIF
1293  CALL def_var_netcdf(dgu, &
1294  ifile_id,'LERC_P' ,'Cumulated_Canopy_Direct_Evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1295  CALL def_var_netcdf(dgu, &
1296  ifile_id,'LETRC_P' ,'Cumulated_Vegetation_Transpiration_Heat_Flux' ,iddim,yatt_title,yatt)
1297  IF(dgi%LRAD_BUDGET)THEN
1298  CALL def_var_netcdf(dgu, &
1299  ifile_id,'SWDC_P' ,'Cumulated_Downward_SW ' ,iddim,yatt_title,yatt)
1300  CALL def_var_netcdf(dgu, &
1301  ifile_id,'SWUC_P' ,'Cumulated_Upward_SW ' ,iddim,yatt_title,yatt)
1302  CALL def_var_netcdf(dgu, &
1303  ifile_id,'LWDC_P' ,'Cumulated_Downward_LW ' ,iddim,yatt_title,yatt)
1304  CALL def_var_netcdf(dgu, &
1305  ifile_id,'LWUC_P' ,'Cumulated_Upward_LW ' ,iddim,yatt_title,yatt)
1306  ENDIF
1307  !
1308  yatt='Pa.s'
1309  CALL def_var_netcdf(dgu, &
1310  ifile_id,'FMUC_P' ,'Cumulated_Zonal_Wind_Stress ' ,iddim,yatt_title,yatt)
1311  CALL def_var_netcdf(dgu, &
1312  ifile_id,'FMVC_P' ,'Cumulated_Merid_Wind_Stress ' ,iddim,yatt_title,yatt)
1313  yatt='kg/m2'
1314  CALL def_var_netcdf(dgu, &
1315  ifile_id,'EVAPC_P' ,'Cumulated_Evapotranspiration' ,iddim,yatt_title,yatt)
1316  CALL def_var_netcdf(dgu, &
1317  ifile_id,'SUBLC_P' ,'Cumulated_Sublimation_of_ice/snow' ,iddim,yatt_title,yatt)
1318  CALL def_var_netcdf(dgu, &
1319  ifile_id,'DRAINC_P' ,'Cumulated_Soil_Drainage_Flux' ,iddim,yatt_title,yatt)
1320  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
1321  CALL def_var_netcdf(dgu, &
1322  ifile_id,'SNDRIFC_P' ,'Cumulated_blowing_snow_sublimation' ,iddim,yatt_title,yatt)
1323  ENDIF
1324  IF(i%CRUNOFF=='SGH'.AND.i%CISBA=='DIF')THEN
1325  CALL def_var_netcdf(dgu, &
1326  ifile_id,'QSBC_P' ,'Cumulated_lateral_subsurface_flow' ,iddim,yatt_title,yatt)
1327  ENDIF
1328  CALL def_var_netcdf(dgu, &
1329  ifile_id,'RUNOFFC_P','Cumulated_Supersaturation_Runoff' ,iddim,yatt_title,yatt)
1330  CALL def_var_netcdf(dgu, &
1331  ifile_id,'HORTONC_P','Cumulated_Horton_Runoff' ,iddim,yatt_title,yatt)
1332  CALL def_var_netcdf(dgu, &
1333  ifile_id,'DRIVEGC_P','Cumulated_Dripping_from_the_vegetation_reservoir' ,iddim,yatt_title,yatt)
1334  CALL def_var_netcdf(dgu, &
1335  ifile_id,'SNOMLTC_P','Cumulated_Snow_melt_flux' ,iddim,yatt_title,yatt)
1336  CALL def_var_netcdf(dgu, &
1337  ifile_id,'RRVEGC_P' ,'Cumulated_Precipitation_Intercepted_by_Vegetation' ,iddim,yatt_title,yatt)
1338  IF(lagrip) CALL def_var_netcdf(dgu, &
1339  ifile_id,'IRRIGC_P' ,'Cumulated_irrigation_rate' ,iddim,yatt_title,yatt)
1340  !
1341  IF(i%LGLACIER) THEN
1342  yatt='kg/m2'
1343  CALL def_var_netcdf(dgu, &
1344  ifile_id,'ICE_FC_P' ,'Cumulated_Glacier_ice_flux' ,iddim,yatt_title,yatt)
1345  ENDIF
1346  IF(i%LFLOOD) THEN
1347  yatt='kg/m2'
1348  CALL def_var_netcdf(dgu, &
1349  ifile_id,'IFLOODC_P','Cumulated_Floodplains_infiltration' ,iddim,yatt_title,yatt)
1350  CALL def_var_netcdf(dgu, &
1351  ifile_id,'PFLOODC_P','Cumulated_Precipitation_intercepted_by_the_floodplains',iddim,yatt_title,yatt)
1352  yatt='J/m2'
1353  CALL def_var_netcdf(dgu, &
1354  ifile_id,'LEFC_P' ,'Cumulated_Floodplains_evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1355  CALL def_var_netcdf(dgu, &
1356  ifile_id,'LEIFC_P' ,'Cumulated_Floodplains_Frozen_evaporation_Heat_Flux' ,iddim,yatt_title,yatt)
1357  ENDIF
1358  IF(i%CPHOTO/='NON')THEN
1359  yatt = 'kgCO2/m2'
1360  CALL def_var_netcdf(dgu, &
1361  ifile_id,'GPPC_P' ,'Cumulated_gross_primary_production ' ,iddim,yatt_title,yatt)
1362  CALL def_var_netcdf(dgu, &
1363  ifile_id,'RC_AUTO_P' ,'Cumulated_autotrophic_respiration ' ,iddim,yatt_title,yatt)
1364  CALL def_var_netcdf(dgu, &
1365  ifile_id,'RC_ECO_P' ,'Cumulated_ecosystem_respiration ' ,iddim,yatt_title,yatt)
1366  ENDIF
1367  IF(dgei%LWATER_BUDGET)THEN
1368  yatt = 'kg/m2'
1369  CALL def_var_netcdf(dgu, &
1370  ifile_id,'DWGC_P' ,'Cumulated_change_in_liquid_soil_moisture ' ,iddim,yatt_title,yatt)
1371  CALL def_var_netcdf(dgu, &
1372  ifile_id,'DWGIC_P' ,'Cumulated_change_in_solid_soil_moisture ' ,iddim,yatt_title,yatt)
1373  CALL def_var_netcdf(dgu, &
1374  ifile_id,'DWRC_P' ,'Cumulated_change_in_canopy_water ' ,iddim,yatt_title,yatt)
1375  CALL def_var_netcdf(dgu, &
1376  ifile_id,'DSWEC_P' ,'Cumulated_change_in_snow_water_equivalent ' ,iddim,yatt_title,yatt)
1377  CALL def_var_netcdf(dgu, &
1378  ifile_id,'WATBUDC_P' ,'Cumulated_isba_water_budget_as_residue ' ,iddim,yatt_title,yatt)
1379  ENDIF
1380  ENDIF
1381  !
1382  yatt='J/m2'
1383  CALL def_var_netcdf(dgu, &
1384  ifile_id,'LEGC_ISBA' ,'Averaged_Cumulated_Ground_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
1385  CALL def_var_netcdf(dgu, &
1386  ifile_id,'LEGIC_ISBA' ,'Averaged_Cumulated_Soil_Ice_Sublimation' ,jdim,yatt_title,yatt)
1387  CALL def_var_netcdf(dgu, &
1388  ifile_id,'LEVC_ISBA' ,'Averaged_Cumulated_Vegetation_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
1389  CALL def_var_netcdf(dgu, &
1390  ifile_id,'LESC_ISBA' ,'Averaged_Cumulated_Snow_Sublimation_Heat_Flux' ,jdim,yatt_title,yatt)
1391  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
1392  CALL def_var_netcdf(dgu, &
1393  ifile_id,'LESLC_ISBA' ,'Averaged_Cumulated_Snow_Evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
1394  ENDIF
1395  CALL def_var_netcdf(dgu, &
1396  ifile_id,'LERC_ISBA' ,'Averaged_Cumulated_Canopy_Direct_Evaporation_Heat_Flux',jdim,yatt_title,yatt)
1397  CALL def_var_netcdf(dgu, &
1398  ifile_id,'LETRC_ISBA' ,'Averaged_Cumulated_Vegetation_Transpiration_Heat_Flux',jdim,yatt_title,yatt)
1399  yatt='kg/m2'
1400  CALL def_var_netcdf(dgu, &
1401  ifile_id,'EVAPC_ISBA' ,'Averaged_Cumulated_Evapotranspiration' ,jdim,yatt_title,yatt)
1402  CALL def_var_netcdf(dgu, &
1403  ifile_id,'SUBLC_ISBA' ,'Averaged_Cumulated_Sublimation_of_ice/snow' ,jdim,yatt_title,yatt)
1404  IF (i%TSNOW%SCHEME=='3-L' .OR. i%TSNOW%SCHEME=='CRO') THEN
1405  CALL def_var_netcdf(dgu, &
1406  ifile_id,'SNDRIFC_ISBA' ,'Averaged_Cumulated_blowing_snow_sublimation' ,jdim,yatt_title,yatt)
1407  ENDIF
1408  IF(i%CRUNOFF=='SGH'.AND.i%CISBA=='DIF')THEN
1409  CALL def_var_netcdf(dgu, &
1410  ifile_id,'QSBC_ISBA' ,'Averaged_Cumulated_lateral_subsurface_flow' ,jdim,yatt_title,yatt)
1411  ENDIF
1412  CALL def_var_netcdf(dgu, &
1413  ifile_id,'DRAINC_ISBA' ,'Averaged_Cumulated_Soil_Drainage_Flux' ,jdim,yatt_title,yatt)
1414  CALL def_var_netcdf(dgu, &
1415  ifile_id,'RUNOFFC_ISBA','Averaged_Cumulated_Supersaturation_Runoff' ,jdim,yatt_title,yatt)
1416  CALL def_var_netcdf(dgu, &
1417  ifile_id,'HORTONC_ISBA','Averaged_Cumulated_Horton_Surface_Runoff' ,jdim,yatt_title,yatt)
1418  CALL def_var_netcdf(dgu, &
1419  ifile_id,'DRIVEGC_ISBA','Averaged_Dripping_from_the_vegetation_reservoir' ,jdim,yatt_title,yatt)
1420  CALL def_var_netcdf(dgu, &
1421  ifile_id,'SNOMLTC_ISBA','Averaged_Cumulated_Snow_melt_flux' ,jdim,yatt_title,yatt)
1422  CALL def_var_netcdf(dgu, &
1423  ifile_id,'RRVEGC_ISBA' ,'Averaged_Cumulated_Precipitation_Intercepted_by_Vegetation',&
1424  jdim,yatt_title,yatt)
1425  IF(lagrip) CALL def_var_netcdf(dgu, &
1426  ifile_id,'IRRIGC_ISBA' ,'Averaged_Cumulated_irrigation_rate' ,jdim,yatt_title,yatt)
1427  !
1428  IF(i%LGLACIER)THEN
1429  yatt='kg/m2'
1430  CALL def_var_netcdf(dgu, &
1431  ifile_id,'ICE_FC_ISBA' ,'Averaged_Cumulated_Glacier_ice_flux' ,jdim,yatt_title,yatt)
1432  ENDIF
1433  IF(i%LFLOOD)THEN
1434  yatt='kg/m2'
1435  CALL def_var_netcdf(dgu, &
1436  ifile_id,'IFLOODC_ISBA','Averaged_Cumulated_Floodplains_infiltration' ,jdim,yatt_title,yatt)
1437  CALL def_var_netcdf(dgu, &
1438  ifile_id,'PFLOODC_ISBA','Averaged_Cumulated_Precip_intercepted_by_the_floodplains' ,jdim,yatt_title,yatt)
1439  yatt='J/m2'
1440  CALL def_var_netcdf(dgu, &
1441  ifile_id,'LEFC_ISBA' ,'Averaged_Cumulated_Flood_evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
1442  CALL def_var_netcdf(dgu, &
1443  ifile_id,'LEIFC_ISBA' ,'Averaged_Cumulated_Flood_Frozen_evaporation_Heat_Flux' ,jdim,yatt_title,yatt)
1444  ENDIF
1445  IF(i%CPHOTO/='NON')THEN
1446  yatt = 'kgCO2/m2'
1447  CALL def_var_netcdf(dgu, &
1448  ifile_id,'GPPC_ISBA' ,'Averaged_Cumulated_gross_primary_production ' ,jdim,yatt_title,yatt)
1449  CALL def_var_netcdf(dgu, &
1450  ifile_id,'RC_AUTO_ISBA' ,'Averaged_Cumulated_autotrophic_respiration ' ,jdim,yatt_title,yatt)
1451  CALL def_var_netcdf(dgu, &
1452  ifile_id,'RC_ECO_ISBA' ,'Averaged_Cumulated_ecosystem_respiration ' ,jdim,yatt_title,yatt)
1453  ENDIF
1454  IF(dgei%LWATER_BUDGET)THEN
1455  yatt = 'kg/m2'
1456  CALL def_var_netcdf(dgu, &
1457  ifile_id,'RAINFC_ISBA' ,'Averaged_Cumulated_input_rainfall_rate ' ,jdim,yatt_title,yatt)
1458  CALL def_var_netcdf(dgu, &
1459  ifile_id,'SNOWFC_ISBA' ,'Averaged_Cumulated_input_snowfall_rate ' ,jdim,yatt_title,yatt)
1460  CALL def_var_netcdf(dgu, &
1461  ifile_id,'DWGC_ISBA' ,'Averaged_Cumulated_change_in_liquid_soil_moisture ' ,jdim,yatt_title,yatt)
1462  CALL def_var_netcdf(dgu, &
1463  ifile_id,'DWGIC_ISBA' ,'Averaged_Cumulated_change_in_solid_soil_moisture ' ,jdim,yatt_title,yatt)
1464  CALL def_var_netcdf(dgu, &
1465  ifile_id,'DWRC_ISBA' ,'Averaged_Cumulated_change_in_canopy_water ' ,jdim,yatt_title,yatt)
1466  CALL def_var_netcdf(dgu, &
1467  ifile_id,'DSWEC_ISBA' ,'Averaged_Cumulated_change_in_snow_water_equivalent ' ,jdim,yatt_title,yatt)
1468  CALL def_var_netcdf(dgu, &
1469  ifile_id,'WATBUDC_ISBA' ,'Averaged_Cumulated_isba_water_budget_as_residue ' ,jdim,yatt_title,yatt)
1470  ENDIF
1471  !
1472  yatt='J/m2'
1473  CALL def_var_netcdf(dgu, &
1474  ifile_id,'RNC_ISBA' ,'Averaged_Cumulated_Net_Radiation' ,jdim,yatt_title,yatt)
1475  CALL def_var_netcdf(dgu, &
1476  ifile_id,'HC_ISBA' ,'Averaged_Cumulated_Sensible_Heat_Flux' ,jdim,yatt_title,yatt)
1477  CALL def_var_netcdf(dgu, &
1478  ifile_id,'LEC_ISBA' ,'Averaged_Cumulated_Total_Latent_Heat_Flux' ,jdim,yatt_title,yatt)
1479  CALL def_var_netcdf(dgu, &
1480  ifile_id,'LEIC_ISBA' ,'Averaged_Cumulated_Sublimation_Latent_Heat_Flux' ,jdim,yatt_title,yatt)
1481  CALL def_var_netcdf(dgu, &
1482  ifile_id,'GFLUXC_ISBA' ,'Averaged_Cumulated_Ground_Heat_Flux' ,jdim,yatt_title,yatt)
1483  IF(dgi%LRAD_BUDGET)THEN
1484  CALL def_var_netcdf(dgu, &
1485  ifile_id,'SWDC_ISBA' ,'Averaged_Cumulated_Downward_SW ' ,jdim,yatt_title,yatt)
1486  CALL def_var_netcdf(dgu, &
1487  ifile_id,'SWUC_ISBA' ,'Averaged_Cumulated_Upward_SW ' ,jdim,yatt_title,yatt)
1488  CALL def_var_netcdf(dgu, &
1489  ifile_id,'LWDC_ISBA' ,'Averaged_Cumulated_Downward_LW ' ,jdim,yatt_title,yatt)
1490  CALL def_var_netcdf(dgu, &
1491  ifile_id,'LWUC_ISBA' ,'Averaged_Cumulated_Upward_LW ' ,jdim,yatt_title,yatt)
1492  ENDIF
1493  yatt='Pa.s'
1494  CALL def_var_netcdf(dgu, &
1495  ifile_id,'FMUC_ISBA' ,'Averaged_Cumulated_Zonal_Wind_Stress ' ,jdim,yatt_title,yatt)
1496  CALL def_var_netcdf(dgu, &
1497  ifile_id,'FMVC_ISBA' ,'Averaged_Cumulated_Merid_Wind_Stress ' ,jdim,yatt_title,yatt)
1498  !
1499  CALL ol_write_coord(dgu, &
1500  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1501  !
1502 ENDIF
1503 
1504 
1505 ! 6. Create file for vegetation parameter values
1506 !----------------------------------------------------------
1507 
1508 IF(lassim) THEN
1509  IF(cassim=='PLUS ') THEN
1510  yfile='ISBA_VEG_EVOLUTION_P.OUT.nc'
1511  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
1512  jret=nf_redef(ifile_id)
1513  yatt='dimensionless'
1514  CALL def_var_netcdf(dgu, &
1515  ifile_id,'LAIp' ,'Output_LAI_ISBA' ,iddim,yatt_title,yatt)
1516  CALL ol_write_coord(dgu, &
1517  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1518  ELSEIF(cassim=='AVERA') THEN
1519  yfile='ISBA_VEG_EVOLUTION_A.OUT.nc'
1520  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
1521  jret=nf_redef(ifile_id)
1522  yatt ='dimensionless'
1523  CALL def_var_netcdf(dgu, &
1524  ifile_id,'LAIa' ,'Output_LAI_ISBA' ,iddim,yatt_title,yatt)
1525  CALL ol_write_coord(dgu, &
1526  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1527  ELSEIF(cassim=='2DVAR') THEN
1528  yfile='ISBA_VEG_EVOLUTION.OUT.nc'
1529  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
1530  jret=nf_redef(ifile_id)
1531  yatt='dimensionless'
1532  CALL def_var_netcdf(dgu, &
1533  ifile_id,'LAI' ,'Output_LAI_ISBA' ,iddim,yatt_title,yatt)
1534  CALL ol_write_coord(dgu, &
1535  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1536  ENDIF
1537 ELSEIF(dgi%LPGD)THEN
1538  yfile='ISBA_VEG_EVOLUTION.OUT.nc'
1539  CALL create_file(yfile,idims,yname_dim,ifile_id,iddim)
1540  jret=nf_redef(ifile_id)
1541  yatt ='dimensionless'
1542  !
1543  CALL def_var_netcdf(dgu, &
1544  ifile_id,'VEG' ,'Output_vegetation_fraction' ,iddim,yatt_title,yatt)
1545  CALL def_var_netcdf(dgu, &
1546  ifile_id,'LAI' ,'Output_LAI_per_patch' ,iddim,yatt_title,yatt)
1547  CALL def_var_netcdf(dgu, &
1548  ifile_id,'Z0VEG' ,'Roughness_Length_Vegetation' ,iddim,yatt_title,yatt)
1549  CALL def_var_netcdf(dgu, &
1550  ifile_id,'PATCH' ,'Fraction_Of_Patch' ,iddim(1:indims-1),yatt_title,yatt)
1551  !
1552  CALL def_var_netcdf(dgu, &
1553  ifile_id,'Z0REL' ,'orography_roughness_length',iddim(1:1),yatt_title,(/'m'/))
1554  !
1555  IF (isize_lmeb_patch>0) THEN
1556  CALL def_var_netcdf(dgu, &
1557  ifile_id,'VEGGV' ,'MEB: Output_understory_vegetation_fraction' ,iddim,yatt_title,yatt)
1558  CALL def_var_netcdf(dgu, &
1559  ifile_id,'LAIGV' ,'MEB: Output_understory_LAI_per_patch' ,iddim,yatt_title,yatt)
1560  CALL def_var_netcdf(dgu, &
1561  ifile_id,'Z0VEGGV' ,'MEB: Understory_Roughness_Length_Vegetation' ,iddim,yatt_title,yatt)
1562  ENDIF
1563  !
1564  DO jlayer=1,inlvld
1565  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
1566  CALL def_var_netcdf(dgu, &
1567  ifile_id,'DG'//ylvl ,'soil_depth_layer_'//ylvl ,iddim(1:indims-1),yatt_title,(/'m'/))
1568  IF(inpatch>1)THEN
1569  CALL def_var_netcdf(dgu, &
1570  ifile_id,'DG'//ylvl(:len_trim(ylvl))//'_ISBA', &
1571  'averaged_soil_depth_layer_'//ylvl,iddim(1:1),yatt_title,(/'m'/))
1572  ENDIF
1573  ENDDO
1574  !
1575  DO jlayer=1,inlvld
1576  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
1577  CALL def_var_netcdf(dgu, &
1578  ifile_id,'WSAT'//ylvl ,'soil_porosity_layer_'//ylvl,iddim(1:1),yatt_title,(/'m3/m3'/))
1579  CALL def_var_netcdf(dgu, &
1580  ifile_id,'WFC'//ylvl ,'field_capacity_layer_'//ylvl,iddim(1:1),yatt_title,(/'m3/m3'/))
1581  CALL def_var_netcdf(dgu, &
1582  ifile_id,'WWILT'//ylvl,'wilting_point_layer_'//ylvl,iddim(1:1),yatt_title,(/'m3/m3'/))
1583  ENDDO
1584  !
1585  IF(i%CISBA=='DIF')THEN
1586  CALL def_var_netcdf(dgu, &
1587  ifile_id,'DROOT_DIF' ,'Root_depth_in_ISBA-DIF' ,iddim(1:indims-1),yatt_title,(/'m'/))
1588  CALL def_var_netcdf(dgu, &
1589  ifile_id,'DG2_DIF' ,'DG2_depth_in_ISBA-DIF' ,iddim(1:indims-1),yatt_title,(/'m'/))
1590  CALL def_var_netcdf(dgu, &
1591  ifile_id,'RUNOFFD' ,'Runoff_depth_in_ISBA-DIF' ,iddim(1:indims-1),yatt_title,(/'m'/))
1592  CALL def_var_netcdf(dgu, &
1593  ifile_id,'DTOT_DIF' ,'Total_soil_depth_for_moisture_in_ISBA-DIF',iddim(1:indims-1),yatt_title,(/'m'/))
1594  IF(inpatch>1)THEN
1595  CALL def_var_netcdf(dgu, &
1596  ifile_id,'DG2_DIF_ISBA','averaged_DG2_depth_in_ISBA-DIF' ,iddim(1:1),yatt_title,(/'m'/))
1597  CALL def_var_netcdf(dgu, &
1598  ifile_id,'DTOTDF_ISBA' ,'averaged_Total_soil_depth_for_moisture_in_ISBA-DIF',iddim(1:1),yatt_title,(/'m'/))
1599  ENDIF
1600  DO jlayer=1,inlvld
1601  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
1602  CALL def_var_netcdf(dgu, &
1603  ifile_id,'ROOTFRAC'//ylvl,'root_fraction_layer_'//ylvl ,iddim(1:indims-1),yatt_title,(/'-'/))
1604  ENDDO
1605  IF (isize_lmeb_patch>0) THEN
1606  DO jlayer=1,inlvld
1607  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
1608  CALL def_var_netcdf(dgu, &
1609  ifile_id,'ROOTFRACGV'//ylvl,'MEB: understory_root_fraction_layer_'//ylvl ,&
1610  iddim(1:indims-1),yatt_title,(/'-'/))
1611  ENDDO
1612  ENDIF
1613  IF(i%LSOC)THEN
1614  DO jlayer=1,inlvld
1615  WRITE(ypas,'(I3)') jlayer ; ylvl=adjustl(ypas(:len_trim(ypas)))
1616  CALL def_var_netcdf(dgu, &
1617  ifile_id,'FRACSOC'//ylvl,'SOC_fraction_layer_'//ylvl,iddim(1:2),yatt_title,(/'-'/))
1618  ENDDO
1619  ENDIF
1620  ENDIF
1621  !
1622  IF(i%CHORT=='SGH')THEN
1623  CALL def_var_netcdf(dgu, &
1624  ifile_id,'DICE','soil_ice_depth_for_runoff',iddim(1:indims-1),yatt_title,(/'m'/))
1625  ENDIF
1626  !
1627  DO jveg=1,nvegtype
1628  WRITE(ypas,'(i2)') jveg
1629  ylvlv=adjustl(ypas(:len_trim(ypas)))
1630  CALL def_var_netcdf(dgu,&
1631  ifile_id,'VEGTYPE'//ylvlv,'fraction_of_vegtype_in_the_grid_cell',iddim(1:1),yatt_title,(/'-'/))
1632  ENDDO
1633  !
1634  IF(inpatch>1.AND.nvegtype/=inpatch)THEN
1635  DO jveg=1,nvegtype
1636  WRITE(ypas,'(i2)') jveg
1637  ylvlv=adjustl(ypas(:len_trim(ypas)))
1638  CALL def_var_netcdf(dgu,&
1639  ifile_id,'VEGTY_P'//ylvlv,'fraction_of_vegtype_in_each_patch'//ylvlv,iddim(1:indims-1),yatt_title,(/'-'/))
1640  ENDDO
1641  ENDIF
1642  !
1643  CALL def_var_netcdf(dgu, &
1644  ifile_id,'EMIS_ISBA' ,'Emissivity_Of_Vegetation' ,iddim,yatt_title,yatt)
1645  CALL def_var_netcdf(dgu, &
1646  ifile_id,'RSMIN' ,'Minimal_Stomatal_Resistance' ,iddim,yatt_title,yatt)
1647  CALL def_var_netcdf(dgu, &
1648  ifile_id,'GAMMA' ,'Coefficient_Computation_Rsmin' ,iddim,yatt_title,yatt)
1649  CALL def_var_netcdf(dgu, &
1650  ifile_id,'CV' ,'Vegetal_Thermal_Inertia' ,iddim,yatt_title,yatt)
1651  CALL def_var_netcdf(dgu, &
1652  ifile_id,'RGL' ,'Max_Solar_Radiation_Photosynthesis' ,iddim,yatt_title,yatt)
1653  CALL def_var_netcdf(dgu, &
1654  ifile_id,'WRMAX_CF' ,'Coefficient_Max_Water_Interception' ,iddim,yatt_title,yatt)
1655  CALL def_var_netcdf(dgu, &
1656  ifile_id,'ALBNIR_SOIL' ,'Output_ALBNIR_SOIL' ,iddim(1:indims-1),yatt_title,yatt)
1657  CALL def_var_netcdf(dgu, &
1658  ifile_id,'ALBVIS_SOIL' ,'Output_ALBVIS_SOIL' ,iddim(1:indims-1),yatt_title,yatt)
1659  CALL def_var_netcdf(dgu, &
1660  ifile_id,'ALBUV_SOIL' ,'soil_UV_albedo' ,iddim(1:indims-1),yatt_title,yatt)
1661  CALL def_var_netcdf(dgu, &
1662  ifile_id,'ALBNIR_ISBA' ,'total_near-infra-red albedo' ,iddim,yatt_title,yatt)
1663  CALL def_var_netcdf(dgu, &
1664  ifile_id,'ALBVIS_ISBA' ,'total_visible_albedo' ,iddim,yatt_title,yatt)
1665  CALL def_var_netcdf(dgu, &
1666  ifile_id,'ALBUV_ISBA' ,'total_UV_albedo' ,iddim,yatt_title,yatt)
1667  !
1668  IF (isize_lmeb_patch>0) THEN
1669  CALL def_var_netcdf(dgu, &
1670  ifile_id,'RSMINGV' ,'MEB: Understory_Minimal_Stomatal_Resistance' ,iddim,yatt_title,yatt)
1671  CALL def_var_netcdf(dgu, &
1672  ifile_id,'GAMMAGV' ,'MEB: Understory_Coefficient_Computation_Rsmin' ,iddim,yatt_title,yatt)
1673  CALL def_var_netcdf(dgu, &
1674  ifile_id,'RGLGV' ,'MEB: Understory_Max_Solar_Radiation_Photosynthesis' ,iddim,yatt_title,yatt)
1675  CALL def_var_netcdf(dgu, &
1676  ifile_id,'WRMAX_CFGV' ,'MEB: Understory_Coefficient_Max_Water_Interception' ,iddim,yatt_title,yatt)
1677  CALL def_var_netcdf(dgu, &
1678  ifile_id,'ZF_TALLVEG' ,'MEB: identification_variable_for tall_vegetation' ,iddim,yatt_title,yatt)
1679  CALL def_var_netcdf(dgu, &
1680  ifile_id,'H_VEG' ,'MEB: height_of_vegetation' ,iddim,yatt_title,yatt)
1681  ENDIF
1682  !
1683  IF (lagrip .AND. (i%CPHOTO=='NIT' .OR. i%CPHOTO=='LAI' .OR. i%CPHOTO=='LST' .OR. i%CPHOTO=='NCB') ) THEN
1684  CALL def_var_netcdf(dgu, &
1685  ifile_id,'WATSUP' ,'Water_Supply_Irrigation' ,iddim,yatt_title,yatt)
1686  CALL def_var_netcdf(dgu, &
1687  ifile_id,'IRRIG' ,'Fraction_Of_Irrigated_Vegetation' ,iddim,yatt_title,yatt)
1688  !CALL DEF_VAR_NETCDF(IFILE_ID,'SEED' ,'Seeding_Date' ,IDDIM,YATT_TITLE,YATT)
1689  !CALL DEF_VAR_NETCDF(IFILE_ID,'REAP' ,'Reaping_Date' ,IDDIM,YATT_TITLE,YATT)
1690  END IF
1691  !
1692  CALL ol_write_coord(dgu, &
1693  yfile,ifile_id,iddim,yatt_title,yname_dim,yunit1,yunit2,idim1,ydate,zx,zy)
1694  !
1695 ENDIF
1696 !
1697 DEALLOCATE(jdim)
1698 !
1699 IF (lhook) CALL dr_hook('INIT_OUTFN_ISBA_N',1,zhook_handle)
1700 !
1701 END SUBROUTINE init_outfn_isba_n
subroutine create_file(HFILE, KDIMS, HNAME_DIM, KFILE_ID, KDIM_ID)
Definition: create_file.F90:6
subroutine get_dim_full_n(U, KDIM_FULL)
subroutine ol_write_coord(DGU, HFILE, KFILE_ID, KDDIM, HATT_TITLE, HNAME_DIM, HUNIT1, HUNIT2, KDIM1, HDATE, PX, PY)
subroutine get_date_ol(TPTIME, PTSTEP, HDATE)
Definition: get_date_ol.F90:6
subroutine get_isba_conf_n(I, HISBA, KPATCH, KGROUND_LAYER, KSNOW_LAYER, KNBIOMASS, KNLITTER, KNLITTLEVS, KNSOILCARB)
subroutine init_outfn_isba_n(CHI, DGEI, DGI, DGMI, DGU, GB, ICP, I, UG, U, HPROGRAM, KLUOUT)
subroutine ol_define_dim(UG, U, HPROGRAM, KLUOUT, KNI, KDIM1, HUNIT1, HUNIT2, PX, PY, KDIMS, KDDIM, HNAME_DIM, KNPATCH)
subroutine def_var_netcdf(DGU, KFILE_ID, HNAME, HLONG_NAME, KDIM_ID, HATT_TITLE, HATT_TEXT, KVAR_ID, KTYPE, KLEN)