SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/OFFLIN/init_outfn_isban.F90
Go to the documentation of this file.
00001 !     #########
00002        SUBROUTINE INIT_OUTFN_ISBA_n(HPROGRAM,KLUOUT)
00003 !     ###############################
00004 !
00005 !
00006 !!****  *INIT_OUTFN_ISBA_n* -  create output files and defines variables
00007 !!
00008 !!    PURPOSE
00009 !!    -------
00010 !!
00011 !!**  METHOD
00012 !!    ------
00013 !!
00014 !!    EXTERNAL
00015 !!    --------
00016 !!
00017 !!
00018 !!    IMPLICIT ARGUMENTS
00019 !!    ------------------
00020 !!
00021 !!    REFERENCE
00022 !!    ---------
00023 !!
00024 !!
00025 !!    AUTHOR
00026 !!    ------
00027 !!      F. Habets   *Meteo France*
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    07-03
00032 !!      modified    11-03, by P. Le Moigne   *Meteo France*
00033 !!      modified    05-04, by P. Le Moigne : surf_atm diagnostics moved at the
00034 !!                                           right place
00035 !!      modified    10-04, by P. Le Moigne : add new diagnostics
00036 !!      modified    10-04, by P. Le Moigne : add Halstead coefficient
00037 !!      modified     2008, by B. Decharme  : limit the number of diag
00038 !!                                           Add floodplains diag
00039 !!      modified    04-09, by A.L. Gibelin : Add respiration diagnostics
00040 !!      modified    05-09, by A.L. Gibelin : Add carbon spinup
00041 !!      modified    07-09, by A.L. Gibelin : Add carbon prognostic variables
00042 !!      modified    12-11, by B. Decharme  : correct some bug
00043 !!      modified    09-12, by B. Decharme  : delete LPROVAR_TO_DIAG for prognostic variables
00044 !!                                           delete NWG_LAYER
00045 !!                                           Erroneous description in diag comments
00046 !!
00047 !-------------------------------------------------------------------------------
00048 !
00049 !*       0.    DECLARATIONS
00050 !              ------------
00051 !
00052 USE MODD_DIAG_SURF_ATM_n,  ONLY : LPROVAR_TO_DIAG
00053 !
00054 USE MODD_SURF_PAR,         ONLY : NUNDEF
00055 USE MODD_DATA_COVER_PAR,   ONLY : NVEGTYPE
00056 USE MODD_OL_FILEID,        ONLY : XVAR_TO_FILEOUT, XID, XOUT
00057 USE MODD_ISBA_n,           ONLY : CISBA, CPHOTO, LTR_ML, CRUNOFF, CRAIN,        &
00058                                   CRESPSL, LCANOPY, LFLOOD, LGLACIER, LTEMP_ARP,&
00059                                   NTEMPLAYER_ARP, TSNOW, TTIME, CHORT, NPATCH,  &
00060                                   CSOC
00061 USE MODD_ISBA_CANOPY_n,    ONLY : NLVL
00062 USE MODD_DIAG_ISBA_n
00063 USE MODD_DIAG_EVAP_ISBA_n
00064 USE MODD_DIAG_MISC_ISBA_n ,ONLY : LSURF_MISC_BUDGET, LSURF_MISC_DIF
00065 USE MODD_ASSIM ,           ONLY : LASSIM, CASSIM
00066 USE MODD_AGRI  ,           ONLY : LAGRIP
00067 USE MODD_DIAG_ISBA_n,      ONLY : LPGD
00068 !
00069 USE MODN_IO_OFFLINE,       ONLY : XTSTEP_OUTPUT
00070 !
00071 USE MODI_GET_DIM_FULL_n
00072 USE MODI_GET_ISBA_CONF_n
00073 USE MODI_OL_DEFINE_DIM
00074 USE MODI_GET_DATE_OL
00075 USE MODI_CREATE_FILE
00076 USE MODI_DEF_VAR_NETCDF
00077 USE MODI_OL_WRITE_COORD
00078 !
00079 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00080 USE PARKIND1  ,ONLY : JPRB
00081 !
00082 IMPLICIT NONE
00083 include 'netcdf.inc'
00084 
00085  CHARACTER(LEN=6), INTENT(IN) :: HPROGRAM
00086 INTEGER,          INTENT(IN) :: KLUOUT
00087 !
00088 !*       0.2   Declarations of local variables
00089 !              -------------------------------
00090 !
00091 INTEGER                          :: INI, INPATCH, INLVLD, INLVLS, INBIOMASS, 
00092                                     INLITTER, INLITTLEVS, INSOILCARB
00093 INTEGER                          :: IDIM1, INDIMS
00094  CHARACTER(LEN=13),DIMENSION(1)   :: YUNIT1, YUNIT2
00095 REAL,DIMENSION(:), POINTER       :: ZX, ZY
00096 INTEGER, DIMENSION(:), POINTER   :: IDIMS, IDDIM  
00097  CHARACTER(LEN=100), DIMENSION(:), POINTER :: YNAME_DIM
00098 !
00099 INTEGER, DIMENSION(:), ALLOCATABLE :: JDIM 
00100  CHARACTER(LEN=40),DIMENSION(1)   :: YDATE
00101 INTEGER                          :: IFILE_ID
00102  CHARACTER(LEN=50)                :: YFILE
00103  CHARACTER(LEN=100), DIMENSION(1) :: YATT_TITLE, YATT
00104 INTEGER                          :: IL
00105  CHARACTER(LEN=3)                 :: YPAS, YLVL
00106  CHARACTER(LEN=2)                 :: YLVLV
00107 INTEGER                          :: JLAYER, JVEG, JNBIOMASS, JNLITTER, JNLITTLEVS, JNSOILCARB  
00108 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00109 !
00110 !-------------------------------------------------------------------------------
00111 
00112 ! 1. Compute output lenght dimension
00113 !-----------------------------------
00114 
00115 IF (LHOOK) CALL DR_HOOK('INIT_OUTFN_ISBA_N',0,ZHOOK_HANDLE)
00116  CALL GET_DIM_FULL_n(INI)
00117  CALL GET_ISBA_CONF_n(INPATCH, INLVLD, INLVLS, INBIOMASS, &
00118                        INLITTER, INLITTLEVS, INSOILCARB)  
00119 !
00120  CALL OL_DEFINE_DIM(HPROGRAM, KLUOUT, INI, IDIM1, YUNIT1, YUNIT2, &
00121                    ZX, ZY, IDIMS, IDDIM, YNAME_DIM, KNPATCH=INPATCH)
00122  CALL GET_DATE_OL(TTIME,XTSTEP_OUTPUT,YDATE(1))
00123 !
00124 INDIMS = SIZE(IDDIM)
00125 ALLOCATE(JDIM(INDIMS-1))
00126 !
00127 ! 4. Create output file for prognostic variables
00128 !----------------------------------------------------------
00129 !
00130 IF (ALLOCATED(XVAR_TO_FILEOUT)) DEALLOCATE(XVAR_TO_FILEOUT)
00131 IF (ALLOCATED(XID)) DEALLOCATE(XID)
00132 ALLOCATE(XVAR_TO_FILEOUT(0))
00133 ALLOCATE(XID(0))
00134 XOUT=0
00135 !
00136 !
00137 YFILE='ISBA_PROGNOSTIC.OUT.nc'
00138  CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00139 !
00140 IF (IDIM1.NE.0) THEN
00141   JDIM(1)=IDDIM(1)
00142   JDIM(2)=IDDIM(2)
00143   JDIM(3)=IDDIM(4)
00144 ELSE
00145   JDIM(1)=IDDIM(1)
00146   JDIM(2)=IDDIM(3)
00147 ENDIF
00148 !
00149 IF(LTEMP_ARP)THEN
00150   IL=NTEMPLAYER_ARP
00151 ELSE
00152   IL=INLVLD
00153 ENDIF
00154 !
00155 YATT_TITLE(1)='units'
00156 ! 
00157 DO JLAYER=1,IL
00158   WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00159   CALL DEF_VAR_NETCDF(IFILE_ID, 'TG'//YLVL , 'Soil_temp_layer_'//YLVL  , IDDIM, YATT_TITLE, (/'Kelvin'/))
00160 ENDDO
00161 !
00162 IL=INLVLD
00163 !
00164 DO JLAYER=1,IL
00165   WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00166   CALL DEF_VAR_NETCDF(IFILE_ID, 'WG'//YLVL , 'Soil_liquid_layer_'//YLVL, IDDIM, YATT_TITLE, (/'m3/m3'/))
00167 ENDDO
00168 !  
00169 IF(CISBA/='DIF')THEN
00170    IL=INLVLD-1
00171 ENDIF
00172 DO JLAYER=1,IL
00173   WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00174   CALL DEF_VAR_NETCDF(IFILE_ID, 'WGI'//YLVL, 'Soil_ice_layer_'//YLVL, IDDIM, YATT_TITLE, (/'m3/m3'/))
00175 ENDDO  
00176 !
00177  CALL DEF_VAR_NETCDF(IFILE_ID, 'WR'  , 'Interception_reservoir', IDDIM, YATT_TITLE, (/'mm'/))
00178  CALL DEF_VAR_NETCDF(IFILE_ID, 'RESA', 'Aerodynamic_resistance', IDDIM, YATT_TITLE, (/'s/m'/))
00179 !
00180 IF(LGLACIER)THEN
00181   CALL DEF_VAR_NETCDF(IFILE_ID, 'ICE_STO',   'Glacier_reservoir',        IDDIM, YATT_TITLE, (/'Kg/m2'/))
00182 ENDIF
00183 !
00184 DO JLAYER=1,INLVLS
00185   WRITE(YPAS,'(I3)') JLAYER
00186   YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00187   !
00188   CALL DEF_VAR_NETCDF(IFILE_ID, 'WSN_VEG'//YLVL, 'Snow_Water_Equivalent_layer_'//YLVL, IDDIM, YATT_TITLE, (/'Kg/m2'/))
00189   CALL DEF_VAR_NETCDF(IFILE_ID, 'RSN_VEG'//YLVL, 'Snow_density_layer_'//YLVL ,         IDDIM, YATT_TITLE, (/'Kg/m3'/))
00190   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN   
00191     CALL DEF_VAR_NETCDF(IFILE_ID, 'HSN_VEG'//YLVL,  'Snow_heat_layer'//YLVL,              IDDIM, YATT_TITLE, (/'J/m2'/))
00192   ELSE
00193     CALL DEF_VAR_NETCDF(IFILE_ID, 'TSN_VEG'//YLVL,  'Snow_temp_layer'//YLVL,              IDDIM, YATT_TITLE, (/'K'/))
00194   ENDIF
00195   IF (TSNOW%SCHEME=='CRO') THEN   
00196     CALL DEF_VAR_NETCDF(IFILE_ID, 'SG1_VEG'//YLVL, 'Snow_grain_parameter1_layer_'//YLVL, IDDIM, YATT_TITLE, (/'-'/))
00197     CALL DEF_VAR_NETCDF(IFILE_ID, 'SG2_VEG'//YLVL, 'Snow_grain_parameter2_layer_'//YLVL, IDDIM, YATT_TITLE, (/'-'/))
00198     CALL DEF_VAR_NETCDF(IFILE_ID, 'SHI_VEG'//YLVL,  'Snow_historical_param_layer_'//YLVL, IDDIM, YATT_TITLE, (/'-'/))
00199     CALL DEF_VAR_NETCDF(IFILE_ID, 'SAG_VEG'//YLVL,   'Snow_age_param_layer_'//YLVL       , IDDIM, YATT_TITLE,&
00200          (/'days since snowfall'/))
00201   ENDIF
00202 ENDDO
00203 !
00204  CALL DEF_VAR_NETCDF(IFILE_ID, 'ASNOW_VEG', 'Snow_albedo', IDDIM, YATT_TITLE, (/'-'/))
00205 !
00206 IF (CPHOTO /= 'NON') THEN
00207   CALL DEF_VAR_NETCDF(IFILE_ID, 'AN'   , 'Net CO2 Assimilation'      , IDDIM, YATT_TITLE, (/'kgCO2/kgair m/s'/))
00208   CALL DEF_VAR_NETCDF(IFILE_ID, 'ANFM' , 'Leaf CO2 Assimilation'     , IDDIM, YATT_TITLE, (/'kgCO2/kgair m/s'/))
00209   CALL DEF_VAR_NETCDF(IFILE_ID, 'ANDAY', 'Daily Net CO2 Assimilation', IDDIM, YATT_TITLE, (/'kgCO2/m2/day'/))
00210 ENDIF
00211 !
00212 IF (CPHOTO == 'NIT' .OR. CPHOTO == 'NCB') THEN
00213   DO JNBIOMASS=1,INBIOMASS
00214     WRITE(YPAS,'(I3)') JNBIOMASS
00215     YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00216     CALL DEF_VAR_NETCDF(IFILE_ID, 'BIOMA'//YLVL, 'Plant biomass'//YLVL, IDDIM, YATT_TITLE, (/'kgDM/m2'/))
00217   END DO
00218 ENDIF
00219 !
00220 IF (CRESPSL=='CNT') THEN
00221   DO JNLITTER=1,INLITTER
00222     DO JNLITTLEVS=1,INLITTLEVS
00223       WRITE(YPAS,'(I1,A1,I1)') JNLITTER,'_',JNLITTLEVS
00224       YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00225       CALL DEF_VAR_NETCDF(IFILE_ID, 'LITTER'//YLVL, 'Litter pool'//YLVL, IDDIM, YATT_TITLE, (/'gC/m2'/))
00226     END DO
00227   END DO  
00228   DO JNSOILCARB=1,INSOILCARB
00229     WRITE(YPAS,'(I3)') JNSOILCARB
00230     YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00231     CALL DEF_VAR_NETCDF(IFILE_ID, 'SOILCARB'//YLVL, 'Soil carbon pool'//YLVL, IDDIM, YATT_TITLE, (/'gC/m2'/))
00232   END DO
00233   DO JNLITTLEVS=1,INLITTLEVS
00234     WRITE(YPAS,'(I3)') JNLITTLEVS
00235     YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00236     CALL DEF_VAR_NETCDF(IFILE_ID, 'LIGNIN_STR'//YLVL, 'Ratio Lignin/Carbon in structural litter'//YLVL, &
00237       IDDIM, YATT_TITLE, (/'gC/m2'/))
00238   END DO
00239 ENDIF
00240 !
00241 IF (LCANOPY) THEN
00242   DO JLAYER=1,NLVL
00243     WRITE(YLVLV,'(i2.2)') JLAYER
00244     CALL DEF_VAR_NETCDF(IFILE_ID, 'ISBA_CAN_Z'//YLVLV, 'Canopy height'  , JDIM, YATT_TITLE, (/'m'/))
00245     CALL DEF_VAR_NETCDF(IFILE_ID, 'ISBA_CAN_U'//YLVLV, 'Canopy wind'    , JDIM, YATT_TITLE, (/'m/s'/))
00246     CALL DEF_VAR_NETCDF(IFILE_ID, 'ISBA_CAN_T'//YLVLV, 'Canopy temp'    , JDIM, YATT_TITLE, (/'K'/))
00247     CALL DEF_VAR_NETCDF(IFILE_ID, 'ISBA_CAN_Q'//YLVLV, 'Canopy humidity', JDIM, YATT_TITLE, (/'kg/m3'/))
00248     CALL DEF_VAR_NETCDF(IFILE_ID, 'ISBA_CAN_E'//YLVLV, 'Canopy TKE'     , JDIM, YATT_TITLE, (/'m2/s2'/))
00249   END DO
00250 ENDIF
00251 !
00252  CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00253 !
00254 !
00255 ! 4. Create output file for fluxes values
00256 !----------------------------------------------------------
00257 !
00258 YFILE='ISBA_DIAGNOSTICS.OUT.nc'
00259  CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00260 YATT = 'dimensionless'
00261 !
00262 IF (IDIM1.NE.0) THEN
00263   JDIM(1)=IDDIM(1)
00264   JDIM(2)=IDDIM(2)
00265   JDIM(3)=IDDIM(4)
00266 ELSE
00267   JDIM(1)=IDDIM(1)
00268   JDIM(2)=IDDIM(3)
00269 ENDIF
00270 !
00271 IF (LCOEF) THEN
00272   YATT = 'W/s2'
00273   CALL DEF_VAR_NETCDF(IFILE_ID, 'CD_ISBA' , 'Drag_Coefficient_For_Momentum   ', JDIM, YATT_TITLE, YATT)
00274   YATT = 'W/s'
00275   CALL DEF_VAR_NETCDF(IFILE_ID, 'CH_ISBA' , 'Drag_Coefficient_For_Heat       ', JDIM, YATT_TITLE, YATT)
00276   YATT = 'W/s/K'
00277   CALL DEF_VAR_NETCDF(IFILE_ID, 'CE_ISBA' , 'Drag_Coefficient_For_Evaporation', JDIM, YATT_TITLE, YATT)
00278   YATT = 'm'
00279   CALL DEF_VAR_NETCDF(IFILE_ID, 'Z0_ISBA' , 'Roughness_Length_For_Momentum'   , JDIM, YATT_TITLE, YATT)
00280   YATT = 'm'
00281   CALL DEF_VAR_NETCDF(IFILE_ID, 'Z0H_ISBA', 'Roughness_Length_For_Heat'       , JDIM, YATT_TITLE, YATT)
00282 ENDIF
00283 !
00284 IF (LSURF_VARS) THEN
00285   YATT = 'kg/kg'
00286   CALL DEF_VAR_NETCDF(IFILE_ID,'QS_ISBA' , 'Surface_Humidity   '             , JDIM, YATT_TITLE, YATT)
00287 ENDIF
00288 !
00289 IF (N2M>0) THEN
00290   !
00291   YATT = 'dimensionless'
00292   CALL DEF_VAR_NETCDF(IFILE_ID,'RI_ISBA' , 'Averaged_Richardson_Number'      , JDIM, YATT_TITLE, YATT) 
00293   YATT = 'K'
00294   CALL DEF_VAR_NETCDF(IFILE_ID, 'T2M_ISBA'    , '2m_Temperature         '      , JDIM, YATT_TITLE, YATT)
00295   CALL DEF_VAR_NETCDF(IFILE_ID, 'T2MMIN_ISBA' , 'Minimum_2m_Temperature '      , JDIM, YATT_TITLE, YATT)
00296   CALL DEF_VAR_NETCDF(IFILE_ID, 'T2MMAX_ISBA' , 'Maximum_2m_Temperature '      , JDIM, YATT_TITLE, YATT)
00297   YATT = 'kg/kg'
00298   CALL DEF_VAR_NETCDF(IFILE_ID, 'Q2M_ISBA'    , '2m_Specific_Humidity   '      , JDIM, YATT_TITLE, YATT)
00299   YATT = '(-)'
00300   CALL DEF_VAR_NETCDF(IFILE_ID, 'HU2M_ISBA'   , '2m_Relative_Humidity   '      , JDIM, YATT_TITLE, YATT)
00301   CALL DEF_VAR_NETCDF(IFILE_ID, 'HU2MMIN_ISBA', 'Minimum_2m_Relative_Humidity ', JDIM, YATT_TITLE, YATT)
00302   CALL DEF_VAR_NETCDF(IFILE_ID, 'HU2MMAX_ISBA', 'Maximum_2m_Relative_Humidity ', JDIM, YATT_TITLE, YATT)
00303   YATT = 'm/s'
00304   CALL DEF_VAR_NETCDF(IFILE_ID, 'ZON10M_ISBA' , '10m_Zonal_wind       '        , JDIM, YATT_TITLE, YATT)
00305   CALL DEF_VAR_NETCDF(IFILE_ID, 'MER10M_ISBA' , '10m_Meridian_Wind     '       , JDIM, YATT_TITLE, YATT)
00306   CALL DEF_VAR_NETCDF(IFILE_ID, 'W10M_ISBA'   , '10m_Wind     '                , JDIM, YATT_TITLE, YATT)
00307   CALL DEF_VAR_NETCDF(IFILE_ID, 'W10MMAX_ISBA', 'Maximum_10m_Wind     '        , JDIM, YATT_TITLE, YATT)
00308   !
00309   IF(LPATCH_BUDGET) THEN
00310     YATT='K'
00311     CALL DEF_VAR_NETCDF(IFILE_ID,'T2M_P'   ,'2m_Temperature'        ,IDDIM,YATT_TITLE,YATT)
00312     YATT='kg/kg'
00313     CALL DEF_VAR_NETCDF(IFILE_ID,'Q2M_P'   ,'2m_Specific_Humidity'  ,IDDIM,YATT_TITLE,YATT)
00314     YATT='(-)'
00315     CALL DEF_VAR_NETCDF(IFILE_ID,'HU2M_P'  ,'2m_Relative_Humidity'  ,IDDIM,YATT_TITLE,YATT)
00316     YATT='m/s'
00317     CALL DEF_VAR_NETCDF(IFILE_ID,'ZON10M_P','10m_Zonal_wind'        ,IDDIM,YATT_TITLE,YATT)
00318     CALL DEF_VAR_NETCDF(IFILE_ID,'MER10M_P','10m_Meridian_Wind'     ,IDDIM,YATT_TITLE,YATT)
00319     CALL DEF_VAR_NETCDF(IFILE_ID,'W10M_P'  ,'10m_Wind'              ,IDDIM,YATT_TITLE,YATT)
00320   ENDIF
00321   !
00322 ENDIF
00323 !
00324 IF (LSURF_BUDGET)  THEN
00325   !
00326   YATT = 'W/m2'
00327   CALL DEF_VAR_NETCDF(IFILE_ID, 'RN_ISBA'     , 'Averaged_Net_Radiation'                , JDIM, YATT_TITLE, YATT)
00328   CALL DEF_VAR_NETCDF(IFILE_ID, 'H_ISBA'      , 'Averaged_Sensible_Heat_Flux'           , JDIM, YATT_TITLE, YATT)
00329   CALL DEF_VAR_NETCDF(IFILE_ID, 'LE_ISBA'     , 'Averaged_Total_Latent_Heat_Flux  '     , JDIM, YATT_TITLE, YATT)
00330   CALL DEF_VAR_NETCDF(IFILE_ID, 'LEI_ISBA'    , 'Averaged_Sublimation_Latent_Heat_Flux ', JDIM, YATT_TITLE, YATT)
00331   CALL DEF_VAR_NETCDF(IFILE_ID, 'GFLUX_ISBA'  , 'Averaged_Ground_Heat_Flux  '           , JDIM, YATT_TITLE, YATT)
00332   !
00333   IF(LRAD_BUDGET)THEN
00334     CALL DEF_VAR_NETCDF(IFILE_ID, 'SWD_ISBA'  , 'Averaged_Downward_SW       '           , JDIM, YATT_TITLE, YATT)
00335     CALL DEF_VAR_NETCDF(IFILE_ID, 'SWU_ISBA'  , 'Averaged_Upward_SW         '           , JDIM, YATT_TITLE, YATT)
00336     CALL DEF_VAR_NETCDF(IFILE_ID, 'LWD_ISBA'  , 'Averaged_Downward_LW       '           , JDIM, YATT_TITLE, YATT)
00337     CALL DEF_VAR_NETCDF(IFILE_ID, 'LWU_ISBA'  , 'Averaged_Upward_LW         '           , JDIM, YATT_TITLE, YATT)
00338   ENDIF
00339   !
00340   YATT = 'Pa'
00341   CALL DEF_VAR_NETCDF(IFILE_ID, 'FMU_ISBA'    , 'Averaged_Zonal_Wind_Stress '           , JDIM, YATT_TITLE, YATT)
00342   CALL DEF_VAR_NETCDF(IFILE_ID, 'FMV_ISBA'    , 'Averaged_Merid_Wind_Stress '           , JDIM, YATT_TITLE, YATT)
00343   !
00344   IF (LPATCH_BUDGET) THEN
00345     !
00346     YATT = 'W/m2'
00347     CALL DEF_VAR_NETCDF(IFILE_ID,'RN_P'        ,'Net_Radiation'                               ,IDDIM,YATT_TITLE,YATT)    
00348     CALL DEF_VAR_NETCDF(IFILE_ID,'H_P'         ,'Sensible_Heat_Flux'                          ,IDDIM,YATT_TITLE,YATT)
00349     CALL DEF_VAR_NETCDF(IFILE_ID,'LE_P'        ,'Total_Latent_Heat_Flux'                      ,IDDIM,YATT_TITLE,YATT)
00350     CALL DEF_VAR_NETCDF(IFILE_ID,'LEI_P'       ,'Sublimatiob_Latent_Heat_Flux'                ,IDDIM,YATT_TITLE,YATT)
00351     CALL DEF_VAR_NETCDF(IFILE_ID,'GFLUX_P'     ,'Ground_Heat_Flux'                            ,IDDIM,YATT_TITLE,YATT)
00352     !
00353     IF(LRAD_BUDGET) THEN
00354       CALL DEF_VAR_NETCDF(IFILE_ID,'SWD_P'    ,'Downward_SW       '                           ,IDDIM,YATT_TITLE,YATT)
00355       CALL DEF_VAR_NETCDF(IFILE_ID,'SWU_P'    ,'Upward_SW         '                           ,IDDIM,YATT_TITLE,YATT)
00356       CALL DEF_VAR_NETCDF(IFILE_ID,'LWD_P'    ,'Downward_LW       '                           ,IDDIM,YATT_TITLE,YATT)
00357       CALL DEF_VAR_NETCDF(IFILE_ID,'LWU_P'    ,'Upward_LW         '                           ,IDDIM,YATT_TITLE,YATT)
00358     ENDIF
00359     !
00360     YATT = 'Pa'
00361     CALL DEF_VAR_NETCDF(IFILE_ID,'FMU_P'      ,'Zonal_Wind_Stress '                           ,IDDIM,YATT_TITLE,YATT)
00362     CALL DEF_VAR_NETCDF(IFILE_ID,'FMV_P'      ,'Merid_Wind_Stress '                           ,IDDIM,YATT_TITLE,YATT)
00363     !
00364   ENDIF
00365   !
00366 ENDIF
00367 !
00368 !
00369 IF (LPATCH_BUDGET.AND.LAGRIP .AND. (CPHOTO=='NIT' .OR. CPHOTO=='LAI' .OR. CPHOTO=='LST' .OR. CPHOTO=='NCB')) THEN
00370   CALL DEF_VAR_NETCDF(IFILE_ID, 'IRRISEUIL'   , 'Irrigation_Threshold'                 , IDDIM, YATT_TITLE, YATT)
00371 ENDIF
00372 !
00373 IF (LSURF_EVAP_BUDGET) THEN
00374   !
00375   YATT = 'W/m2'
00376   CALL DEF_VAR_NETCDF(IFILE_ID,'LEG_ISBA'    ,'Averaged_Ground_Evaporation_Heat_Flux'               ,JDIM,YATT_TITLE,YATT)
00377   CALL DEF_VAR_NETCDF(IFILE_ID,'LEGI_ISBA'   ,'Averaged_Soil_Ice_Sublimation'                       ,JDIM,YATT_TITLE,YATT)
00378   CALL DEF_VAR_NETCDF(IFILE_ID,'LEV_ISBA'    ,'Averaged_Vegetation_Evaporation_Heat_Flux'           ,JDIM,YATT_TITLE,YATT)
00379   CALL DEF_VAR_NETCDF(IFILE_ID,'LES_ISBA'    ,'Averaged_Snow_Sublimation_Heat_Flux'                 ,JDIM,YATT_TITLE,YATT)
00380   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') &
00381      CALL DEF_VAR_NETCDF(IFILE_ID,'LESL_ISBA'   ,'Averaged_Snow_Evaporation_Heat_Flux'              ,JDIM,YATT_TITLE,YATT)
00382   CALL DEF_VAR_NETCDF(IFILE_ID,'LER_ISBA'    ,'Averaged_Canopy_Direct_Evaporation_Heat_Flux'        ,JDIM,YATT_TITLE,YATT)
00383   CALL DEF_VAR_NETCDF(IFILE_ID,'LETR_ISBA'   ,'Averaged_Vegetation_Transpiration_Heat_Flux'         ,JDIM,YATT_TITLE,YATT)
00384   YATT = 'kg/m2s'
00385   CALL DEF_VAR_NETCDF(IFILE_ID,'EVAP_ISBA'   ,'Averaged_Evapotranspiration'                         ,JDIM,YATT_TITLE,YATT)
00386   CALL DEF_VAR_NETCDF(IFILE_ID,'DRAIN_ISBA'  ,'Averaged_Soil_Drainage_Flux'                         ,JDIM,YATT_TITLE,YATT)
00387   CALL DEF_VAR_NETCDF(IFILE_ID,'RUNOFF_ISBA' ,'Averaged_Supersaturation_Runoff'                     ,JDIM,YATT_TITLE,YATT)
00388   CALL DEF_VAR_NETCDF(IFILE_ID,'HORTON_ISBA' ,'Averaged_Horton_Surface_Runoff'                      ,JDIM,YATT_TITLE,YATT)
00389   CALL DEF_VAR_NETCDF(IFILE_ID,'DRIVEG_ISBA'  ,'Averaged_Dripping_from_the_vegetation_reservoir'   ,JDIM,YATT_TITLE,YATT)
00390   !
00391   CALL DEF_VAR_NETCDF(IFILE_ID,'RRVEG_ISBA'   ,'Averaged_Precipitation_Intercepted_by_Vegetation'  ,JDIM,YATT_TITLE,YATT)
00392   CALL DEF_VAR_NETCDF(IFILE_ID,'SNOMLT_ISBA'  ,'Averaged_Snow_melt_flux'                           ,JDIM,YATT_TITLE,YATT)
00393   IF(LAGRIP) CALL DEF_VAR_NETCDF(IFILE_ID,'IRRIG_ISBA'   ,'Averaged_irrigation_rate'              ,JDIM,YATT_TITLE,YATT)
00394   !
00395   IF(LFLOOD) THEN
00396     YATT = 'kg/m2s'
00397     CALL DEF_VAR_NETCDF(IFILE_ID,'IFLOOD_ISBA'  ,'Averaged_Floodplains_infiltration'                    ,JDIM,YATT_TITLE,YATT)
00398     CALL DEF_VAR_NETCDF(IFILE_ID,'PFLOOD_ISBA'  ,'Averaged_Precipitation_intercepted_by_the floodplains',JDIM,YATT_TITLE,YATT)
00399     YATT = 'W/m2'
00400     CALL DEF_VAR_NETCDF(IFILE_ID,'LEF_ISBA'     ,'Averaged_Floodplains_evaporation_Heat_Flux'           ,JDIM,YATT_TITLE,YATT)
00401     CALL DEF_VAR_NETCDF(IFILE_ID,'LEIF_ISBA'    ,'Averaged_Floodplains_Frozen_evaporation_Heat_Flux'    ,JDIM,YATT_TITLE,YATT)
00402   ENDIF        
00403   IF(CPHOTO/='NON')THEN
00404     YATT = 'kgCO2/m2/s'
00405     CALL DEF_VAR_NETCDF(IFILE_ID,'GPP_ISBA'     ,'Averaged_gross_primary_production '  ,JDIM,YATT_TITLE,YATT)
00406     CALL DEF_VAR_NETCDF(IFILE_ID,'R_AUTO_ISBA'  ,'Averaged_autotrophic_respiration  '  ,JDIM,YATT_TITLE,YATT)
00407     CALL DEF_VAR_NETCDF(IFILE_ID,'R_ECO_ISBA'   ,'Averaged_ecosystem_respiration    '  ,JDIM,YATT_TITLE,YATT)
00408   ENDIF
00409   IF(LWATER_BUDGET)THEN 
00410     YATT = 'kg/m2s'
00411     CALL DEF_VAR_NETCDF(IFILE_ID,'RAINF_ISBA'   ,'Averaged_input_rainfall_rate             '  ,JDIM,YATT_TITLE,YATT)
00412     CALL DEF_VAR_NETCDF(IFILE_ID,'SNOWF_ISBA'   ,'Averaged_input_snowfall_rate             '  ,JDIM,YATT_TITLE,YATT)
00413     CALL DEF_VAR_NETCDF(IFILE_ID,'DWG_ISBA'     ,'Averaged_change_in_liquid_soil_moisture  '  ,JDIM,YATT_TITLE,YATT)
00414     CALL DEF_VAR_NETCDF(IFILE_ID,'DWGI_ISBA'    ,'Averaged_change_in_solid_soil_moisture   '  ,JDIM,YATT_TITLE,YATT)
00415     CALL DEF_VAR_NETCDF(IFILE_ID,'DWR_ISBA'     ,'Averaged_change_in_canopy_water          '  ,JDIM,YATT_TITLE,YATT)
00416     CALL DEF_VAR_NETCDF(IFILE_ID,'DSWE_ISBA'    ,'Averaged_change_in_snow_water_equivalent '  ,JDIM,YATT_TITLE,YATT)
00417     CALL DEF_VAR_NETCDF(IFILE_ID,'WATBUD_ISBA'  ,'Averaged_isba_water_budget_as_residue    '  ,JDIM,YATT_TITLE,YATT)
00418   ENDIF
00419   !
00420   IF(LPATCH_BUDGET) THEN      
00421     YATT = 'W/m2'
00422     CALL DEF_VAR_NETCDF(IFILE_ID,'LEG_P'    ,'Ground_Evaporation_Heat_Flux'                        ,IDDIM,YATT_TITLE,YATT)
00423     CALL DEF_VAR_NETCDF(IFILE_ID,'LEGI_P'   ,'Soil_Ice_Sublimation'                                ,IDDIM,YATT_TITLE,YATT)
00424     CALL DEF_VAR_NETCDF(IFILE_ID,'LEV_P'    ,'Vegetation_Evaporation_Heat_Flux'                    ,IDDIM,YATT_TITLE,YATT)
00425     CALL DEF_VAR_NETCDF(IFILE_ID,'LES_P'    ,'Snow_Sublimation_Heat_Flux'                          ,IDDIM,YATT_TITLE,YATT)
00426     IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') &
00427        CALL DEF_VAR_NETCDF(IFILE_ID,'LESL_P'   ,'Snow_Evaporation_Heat_Flux'                       ,IDDIM,YATT_TITLE,YATT)
00428     CALL DEF_VAR_NETCDF(IFILE_ID,'LER_P'    ,'Canopy_Direct_Evaporation_Heat_Flux'                 ,IDDIM,YATT_TITLE,YATT)
00429     CALL DEF_VAR_NETCDF(IFILE_ID,'LETR_P'   ,'Vegetation_Transpiration_Heat_Flux'                  ,IDDIM,YATT_TITLE,YATT)
00430     YATT = 'kg/m2s'
00431     CALL DEF_VAR_NETCDF(IFILE_ID,'EVAP_P'   ,'Evapotranspiration'                                  ,IDDIM,YATT_TITLE,YATT)
00432     CALL DEF_VAR_NETCDF(IFILE_ID,'DRAIN_P'  ,'Soil_Drainage_Flux'                                  ,IDDIM,YATT_TITLE,YATT)
00433     CALL DEF_VAR_NETCDF(IFILE_ID,'RUNOFF_P' ,'Supersaturation_Runoff'                              ,IDDIM,YATT_TITLE,YATT)
00434     CALL DEF_VAR_NETCDF(IFILE_ID,'HORTON_P' ,'Horton_Surface_Runoff'                               ,IDDIM,YATT_TITLE,YATT)  
00435     CALL DEF_VAR_NETCDF(IFILE_ID,'DRIVEG_P' ,'Dripping_from_the_vegetation_reservoir'              ,IDDIM,YATT_TITLE,YATT)
00436     !
00437     CALL DEF_VAR_NETCDF(IFILE_ID,'RRVEG_P'  ,'Precipitation_Intercepted_by_Vegetation'             ,IDDIM,YATT_TITLE,YATT)    
00438     CALL DEF_VAR_NETCDF(IFILE_ID,'SNOMLT_P' ,'Snow_melt_flux'                                      ,IDDIM,YATT_TITLE,YATT)
00439     IF(LAGRIP) CALL DEF_VAR_NETCDF(IFILE_ID,'IRRIG_P'  ,'Irrigation_rate'                          ,IDDIM,YATT_TITLE,YATT)
00440     !
00441     IF(LFLOOD)THEN
00442       YATT = 'kg/m2s'
00443       CALL DEF_VAR_NETCDF(IFILE_ID,'IFLOOD_P' ,'Floodplains_infiltration'                          ,IDDIM,YATT_TITLE,YATT)
00444       CALL DEF_VAR_NETCDF(IFILE_ID,'PFLOOD_P' ,'Precipitation_intercepted_by_the_floodplains'      ,IDDIM,YATT_TITLE,YATT)
00445       YATT = 'W/m2'
00446       CALL DEF_VAR_NETCDF(IFILE_ID,'LEF_P'    ,'Floodplains_evaporation_Heat_Flux'                 ,IDDIM,YATT_TITLE,YATT)
00447       CALL DEF_VAR_NETCDF(IFILE_ID,'LEIF_P'   ,'Floodplains_Frozen_evaporation_Heat_Flux'          ,IDDIM,YATT_TITLE,YATT)
00448     ENDIF 
00449     IF(CPHOTO/='NON')THEN
00450       YATT = 'kgCO2/m2/s'
00451       CALL DEF_VAR_NETCDF(IFILE_ID,'GPP_P'     ,'gross_primary_production '  ,IDDIM,YATT_TITLE,YATT)
00452       CALL DEF_VAR_NETCDF(IFILE_ID,'R_AUTO_P'  ,'autotrophic_respiration  '  ,IDDIM,YATT_TITLE,YATT)
00453       CALL DEF_VAR_NETCDF(IFILE_ID,'R_ECO_P'   ,'ecosystem_respiration    '  ,IDDIM,YATT_TITLE,YATT)
00454     ENDIF
00455     IF(LWATER_BUDGET)THEN 
00456       YATT = 'kg/m2s'
00457       CALL DEF_VAR_NETCDF(IFILE_ID,'DWG_P'     ,'change_in_liquid_soil_moisture  '  ,IDDIM,YATT_TITLE,YATT)
00458       CALL DEF_VAR_NETCDF(IFILE_ID,'DWGI_P'    ,'change_in_solid_soil_moisture   '  ,IDDIM,YATT_TITLE,YATT)
00459       CALL DEF_VAR_NETCDF(IFILE_ID,'DWR_P'     ,'change_in_water_on_canopy       '  ,IDDIM,YATT_TITLE,YATT)
00460       CALL DEF_VAR_NETCDF(IFILE_ID,'DSWE_P'    ,'change_in_snow_water_equivalent '  ,IDDIM,YATT_TITLE,YATT)
00461       CALL DEF_VAR_NETCDF(IFILE_ID,'WATBUD_P'  ,'isba_water_budget_as_residue    '  ,IDDIM,YATT_TITLE,YATT)
00462     ENDIF    
00463     !
00464   ENDIF
00465   !
00466 ENDIF
00467 !
00468 IF (LSURF_MISC_BUDGET) THEN
00469   !
00470   IL=INLVLD
00471   !
00472   DO JLAYER=1,IL
00473      WRITE(YPAS,'(I3)') JLAYER
00474      YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00475      CALL DEF_VAR_NETCDF(IFILE_ID, 'SWI'//YLVL(:LEN_TRIM(YLVL))//'_ISBA',  &
00476         'Soil_Wetness_Index'//YLVL       , JDIM, YATT_TITLE, (/'-'/))  
00477      CALL DEF_VAR_NETCDF(IFILE_ID, 'TSWI'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', &
00478         'Total_SWI_(liquid+solid)'//YLVL , JDIM, YATT_TITLE, (/'-'/))  
00479      IF(LPATCH_BUDGET)THEN      
00480        CALL DEF_VAR_NETCDF(IFILE_ID, 'SWI'//YLVL,  'Soil_Wetness_Index'//YLVL      , IDDIM, YATT_TITLE, (/'-'/))
00481        CALL DEF_VAR_NETCDF(IFILE_ID, 'TSWI'//YLVL, 'Total_SWI_(liquid+solid)'//YLVL, IDDIM, YATT_TITLE, (/'-'/))
00482      ENDIF
00483   ENDDO
00484   !  
00485   YATT = '-'
00486   CALL DEF_VAR_NETCDF(IFILE_ID,'TSWI_T_ISBA'    ,'Total_SWI_over_entire_soil '                  ,JDIM,YATT_TITLE,YATT)
00487   IF(CISBA=='DIF'.AND.LSURF_MISC_DIF)THEN
00488     CALL DEF_VAR_NETCDF(IFILE_ID,'TSWI_S_ISBA'    ,'Total_SWI_over_surface                    ',JDIM,YATT_TITLE,YATT)
00489     CALL DEF_VAR_NETCDF(IFILE_ID,'TSWI_R_ISBA'    ,'Total_SWI_over_root_zone                  ',JDIM,YATT_TITLE,YATT)
00490     CALL DEF_VAR_NETCDF(IFILE_ID,'TSWI_D2_ISBA'   ,'Total_SWI_over_comparable_FR-DG2_reservoir',JDIM,YATT_TITLE,YATT)
00491     CALL DEF_VAR_NETCDF(IFILE_ID,'TSWI_D3_ISBA'   ,'Total_SWI_over_comparable_FR-DG3_reservoir',JDIM,YATT_TITLE,YATT)
00492   ENDIF  
00493   !
00494   YATT = 'kg/m2'
00495   CALL DEF_VAR_NETCDF(IFILE_ID,'WGTOT_T_ISBA'  , 'Total_soil_water_reservoir_(liquid+solid)'  ,JDIM,YATT_TITLE,YATT)
00496   CALL DEF_VAR_NETCDF(IFILE_ID,'WGI_T_ISBA'    , 'Total_soil_ice_reservoir'                   ,JDIM,YATT_TITLE,YATT)
00497   IF(CISBA=='DIF'.AND.LSURF_MISC_DIF)THEN
00498     CALL DEF_VAR_NETCDF(IFILE_ID,'WGTOT_R_ISBA','Total_soil_water_reservoir_(liquid+solid)_over_root_zone   ',JDIM,YATT_TITLE,YATT)
00499     CALL DEF_VAR_NETCDF(IFILE_ID,'WGI_R_ISBA'  ,'Total_soil_ice_reservoir_over_root_zone                    ',JDIM,YATT_TITLE,YATT)
00500     YATT = 'm3/m3'
00501     CALL DEF_VAR_NETCDF(IFILE_ID,'WG_S_ISBA'   ,'soil_liquid_water_reservoir_over_surface          ',JDIM,YATT_TITLE,YATT)
00502     CALL DEF_VAR_NETCDF(IFILE_ID,'WGI_S_ISBA'  ,'soil_ice_reservoir_over_surface                   ',JDIM,YATT_TITLE,YATT)
00503     CALL DEF_VAR_NETCDF(IFILE_ID,'WG_D2_ISBA'  ,'soil_liquid_water_over_comparable_FR-DG2_reservoir',JDIM,YATT_TITLE,YATT)
00504     CALL DEF_VAR_NETCDF(IFILE_ID,'WGI_D2_ISBA' ,'soil_ice_over_comparable_FR-DG2_reservoir         ',JDIM,YATT_TITLE,YATT)
00505     CALL DEF_VAR_NETCDF(IFILE_ID,'WG_D3_ISBA'  ,'soil_liquid_water_comparable_FR-DG3_reservoir     ',JDIM,YATT_TITLE,YATT)
00506     CALL DEF_VAR_NETCDF(IFILE_ID,'WGI_D3_ISBA' ,'soil_ice_over_comparable_FR-DG3_reservoir         ',JDIM,YATT_TITLE,YATT)
00507   ENDIF  
00508   IF(CISBA=='DIF')THEN
00509     YATT = 'm'
00510     CALL DEF_VAR_NETCDF(IFILE_ID,'ALT_ISBA'    ,'permafrost_active_layer_thickness'                          ,JDIM,YATT_TITLE,YATT)
00511     CALL DEF_VAR_NETCDF(IFILE_ID,'FLT_ISBA'    ,'non-permafrost_frozen_layer_thickness'                      ,JDIM,YATT_TITLE,YATT)
00512   ENDIF
00513   !
00514   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') THEN
00515     YATT = 'K'          
00516     CALL DEF_VAR_NETCDF(IFILE_ID,'TS_ISBA' ,'Surface_Temperature_(isba+snow3l)    ' ,JDIM, YATT_TITLE,YATT)
00517     IF (LPATCH_BUDGET) THEN
00518       CALL DEF_VAR_NETCDF(IFILE_ID,'TS_P' ,'Surface_Temperature_(isba+snow3l)'   ,IDDIM,YATT_TITLE,YATT)
00519       CALL DEF_VAR_NETCDF(IFILE_ID,'TTSRAD_P' ,'total_radiative_surface_Temperature_(isba+snow3l)',IDDIM,YATT_TITLE,YATT)
00520     ENDIF
00521   ENDIF
00522   !
00523   DO JLAYER=1,INLVLS
00524     WRITE(YPAS,'(I3)') JLAYER
00525     YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00526     IF (TSNOW%SCHEME=='3-L') THEN  
00527       CALL DEF_VAR_NETCDF(IFILE_ID, 'SNOWTEMP'//YLVL,  'Snow_Temp_layer'//YLVL         , IDDIM, YATT_TITLE, (/'K'/))
00528       CALL DEF_VAR_NETCDF(IFILE_ID, 'SNOWLIQ'//YLVL,   'Snow_liquid_water_layer_'//YLVL, IDDIM, YATT_TITLE, (/'m'/))
00529     ELSEIF (TSNOW%SCHEME/='CRO') THEN
00530       CALL DEF_VAR_NETCDF(IFILE_ID, 'TSNOW_VEG'//YLVL, 'Snow_Temp_layer'//YLVL         , IDDIM, YATT_TITLE, (/'K'/))
00531     ENDIF
00532   ENDDO
00533   ! 
00534   IF(CRAIN=='SGH ')THEN
00535     YATT = '-'
00536     CALL DEF_VAR_NETCDF(IFILE_ID,'MUF_ISBA'    , 'Fraction_of_rainfall_reaching_the ground_(SGH)',JDIM,YATT_TITLE,YATT)  
00537   ENDIF  
00538   !
00539   YATT = '-'
00540   CALL DEF_VAR_NETCDF(IFILE_ID,'PSNG_ISBA'      , 'Snow_frac_over_ground      '               ,JDIM,YATT_TITLE,YATT)
00541   CALL DEF_VAR_NETCDF(IFILE_ID,'PSNV_ISBA'      , 'Snow_frac_over_veg         '               ,JDIM,YATT_TITLE,YATT)
00542   CALL DEF_VAR_NETCDF(IFILE_ID,'PSN_ISBA '      , 'Snow_fraction              '               ,JDIM,YATT_TITLE,YATT)
00543   CALL DEF_VAR_NETCDF(IFILE_ID,'TALB_ISBA'      , 'Surface total albedo       '               ,JDIM,YATT_TITLE,YATT)
00544   CALL DEF_VAR_NETCDF(IFILE_ID,'HV_ISBA'        , 'Halstead_coefficient       '               ,JDIM,YATT_TITLE,YATT)
00545   IF(CPHOTO/='NON')THEN
00546     YATT = 'kg/kg'
00547     CALL DEF_VAR_NETCDF(IFILE_ID,'LAI_ISBA'     ,'leaf_area_index             '               ,JDIM,YATT_TITLE,YATT) 
00548   ENDIF 
00549   YATT = 'kg/m2'
00550   CALL DEF_VAR_NETCDF(IFILE_ID,'WSNOW_T_ISBA'  , 'Total_snow_reservoir '                      ,JDIM,YATT_TITLE,YATT)
00551   YATT = 'm'
00552   CALL DEF_VAR_NETCDF(IFILE_ID,'DSNOW_T_ISBA'  , 'Total_snow_depth '                          ,JDIM,YATT_TITLE,YATT)
00553   YATT = 'K'
00554   CALL DEF_VAR_NETCDF(IFILE_ID,'TSNOW_T_ISBA'  , 'Total_snow_temperature '                    ,JDIM,YATT_TITLE,YATT)  
00555   !
00556   IF(CRUNOFF=='SGH '.OR.CRUNOFF=='DT92')THEN
00557     YATT = '-'
00558     CALL DEF_VAR_NETCDF(IFILE_ID,'FSAT_ISBA'      ,'Soil_saturated_grid-cell_fraction' ,JDIM,YATT_TITLE,YATT)
00559   ENDIF   
00560   !
00561   IF(LFLOOD)THEN
00562     YATT = '-'
00563     CALL DEF_VAR_NETCDF(IFILE_ID,'FFG_ISBA'     ,'flood_frac_over_ground      '            ,JDIM,YATT_TITLE,YATT)
00564     CALL DEF_VAR_NETCDF(IFILE_ID,'FFV_ISBA'     ,'flood_frac_over_veg         '            ,JDIM,YATT_TITLE,YATT)
00565     CALL DEF_VAR_NETCDF(IFILE_ID,'FF_ISBA '     ,'flood_fraction              '            ,JDIM,YATT_TITLE,YATT)
00566     YATT = '-'
00567     CALL DEF_VAR_NETCDF(IFILE_ID,'FFLOOD_ISBA'  ,'Potential_floodplain_grid-cell_fraction' ,JDIM,YATT_TITLE,YATT)
00568     YATT (1)='kg/m2s'
00569     CALL DEF_VAR_NETCDF(IFILE_ID,'PIFLOOD_ISBA' ,'Potential_floodplain_infiltration',JDIM,YATT_TITLE,YATT)     
00570   ENDIF
00571   ! 
00572   IF(LPATCH_BUDGET)THEN
00573     ! 
00574     YATT (1)='-'
00575     CALL DEF_VAR_NETCDF(IFILE_ID,'PSNG_P' ,'snow_fraction_per_patch_over_ground'    ,IDDIM,YATT_TITLE,YATT)
00576     CALL DEF_VAR_NETCDF(IFILE_ID,'PSNV_P' ,'snow_fraction_per_patch_over_vegetation',IDDIM,YATT_TITLE,YATT)
00577     CALL DEF_VAR_NETCDF(IFILE_ID,'PSN_P'  ,'total_snow_fraction_per_patch'          ,IDDIM,YATT_TITLE,YATT)
00578     CALL DEF_VAR_NETCDF(IFILE_ID,'TALB_P' ,'total_albedo_per_patch'                 ,IDDIM,YATT_TITLE,YATT)
00579     CALL DEF_VAR_NETCDF(IFILE_ID,'HV_P'   ,'Halstead_coefficient_per_patch'         ,IDDIM,YATT_TITLE,YATT)
00580     YATT      (1)='kg/m2'
00581     CALL DEF_VAR_NETCDF(IFILE_ID,'WSNOW_VEGT_P','Total_snow_reservoir_per_patch '   ,IDDIM,YATT_TITLE,YATT)
00582     YATT      (1)='m'
00583     CALL DEF_VAR_NETCDF(IFILE_ID,'DSNOW_VEGT_P','Total_snow_depth_per_patch '       ,IDDIM,YATT_TITLE,YATT)
00584     YATT      (1)='K'
00585     CALL DEF_VAR_NETCDF(IFILE_ID,'TSNOW_VEGT_P','Total_snow_temperature_per_patch ' ,IDDIM,YATT_TITLE,YATT)
00586    ! 
00587     IF(CRUNOFF=='SGH '.OR.CRUNOFF=='DT92')THEN
00588       YATT(1)='-'
00589       CALL DEF_VAR_NETCDF(IFILE_ID,'FSAT_P','Soil_saturated_fraction_per_patch',IDDIM,YATT_TITLE,YATT)
00590     ENDIF
00591     !
00592     IF(CISBA=='DIF')THEN
00593       YATT = 'm'
00594       CALL DEF_VAR_NETCDF(IFILE_ID,'ALT_P' ,'permafrost_active_layer_thickness_per_patch    ',IDDIM,YATT_TITLE,YATT)
00595       CALL DEF_VAR_NETCDF(IFILE_ID,'FLT_P' ,'non-permafrost_frozen_layer_thickness_per_patch',IDDIM,YATT_TITLE,YATT)
00596     ENDIF
00597     !
00598     IF(LFLOOD)THEN
00599       YATT(1)='-'
00600       CALL DEF_VAR_NETCDF(IFILE_ID,'FFG_P','flood_frac_per_patch_over_ground',IDDIM,YATT_TITLE,YATT)
00601       CALL DEF_VAR_NETCDF(IFILE_ID,'FFV_P','flood_frac_per_patch_over_veg'   ,IDDIM,YATT_TITLE,YATT)
00602       CALL DEF_VAR_NETCDF(IFILE_ID,'FF_P' ,'total_flood_fraction_per_patch'  ,IDDIM,YATT_TITLE,YATT)
00603     ENDIF
00604     ! 
00605     IF (LTR_ML) THEN
00606       YATT (1)='(-)'
00607       CALL DEF_VAR_NETCDF(IFILE_ID,'FAPAR'    ,'Fapar of vegetation',IDDIM,YATT_TITLE,YATT)
00608       YATT (1)='(-)'
00609       CALL DEF_VAR_NETCDF(IFILE_ID,'FAPIR'    ,'Fapir of vegetation',IDDIM,YATT_TITLE,YATT)
00610       YATT (1)='(-)'
00611       CALL DEF_VAR_NETCDF(IFILE_ID,'DFAPARC'    ,'Fapar of vegetation (daily cumul)',IDDIM,YATT_TITLE,YATT)
00612       YATT (1)='(-)'
00613       CALL DEF_VAR_NETCDF(IFILE_ID,'DFAPIRC'    ,'Fapir of vegetation (daily cumul)',IDDIM,YATT_TITLE,YATT)      
00614       YATT (1)='(-)'
00615       CALL DEF_VAR_NETCDF(IFILE_ID,'FAPAR_BS' ,'Fapar of bare soil',IDDIM,YATT_TITLE,YATT)
00616       YATT (1)='(-)'
00617       CALL DEF_VAR_NETCDF(IFILE_ID,'FAPIR_BS' ,'Fapir of bare soil',IDDIM,YATT_TITLE,YATT)      
00618       YATT (1)='m2/m2'
00619       CALL DEF_VAR_NETCDF(IFILE_ID,'DLAI_EFFC'  ,'Effective LAI (daily cumul)',IDDIM,YATT_TITLE,YATT)
00620     ENDIF
00621     !
00622   ENDIF
00623   !  
00624 ENDIF
00625 !
00626 IF(LPROVAR_TO_DIAG)THEN
00627   !
00628   IF(LTEMP_ARP)THEN
00629     IL=NTEMPLAYER_ARP
00630   ELSEIF(CISBA/='DIF')THEN
00631      IL=INLVLD-1    
00632   ELSE
00633     IL=INLVLD
00634   ENDIF
00635   !
00636   YATT = 'K'
00637   DO JLAYER=1,IL
00638      WRITE(YPAS,'(I3)') JLAYER
00639      YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00640      CALL DEF_VAR_NETCDF(IFILE_ID,'TG'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Soil_temp_layer_'//YLVL,JDIM,YATT_TITLE,YATT)
00641   ENDDO
00642   !
00643   IL=INLVLD
00644   !
00645   YATT = 'm3/m3'
00646   DO JLAYER=1,IL
00647      WRITE(YPAS,'(I3)') JLAYER
00648      YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00649      CALL DEF_VAR_NETCDF(IFILE_ID,'WG'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Soil_liquid_layer_'//YLVL,JDIM,YATT_TITLE,YATT)
00650   ENDDO
00651   YATT = 'kg/m2'
00652   DO JLAYER=1,IL
00653      WRITE(YPAS,'(I3)') JLAYER
00654      YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00655      CALL DEF_VAR_NETCDF(IFILE_ID,'SOILM'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Soil_moisture_(liquid)_layer_'//YLVL, &
00656                                                                                                   JDIM,YATT_TITLE,YATT)
00657   ENDDO  
00658   !  
00659   IF(CISBA/='DIF')THEN
00660     IL=INLVLD-1
00661   ENDIF
00662   !
00663   YATT = 'm3/m3'
00664   DO JLAYER=1,IL
00665     WRITE(YPAS,'(I3)') JLAYER
00666     YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00667     CALL DEF_VAR_NETCDF(IFILE_ID,'WGI'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Soil_ice_layer_'//YLVL,JDIM,YATT_TITLE,YATT)
00668   ENDDO
00669   YATT = 'kg/m2'
00670   DO JLAYER=1,IL
00671      WRITE(YPAS,'(I3)') JLAYER
00672      YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00673      CALL DEF_VAR_NETCDF(IFILE_ID,'SOILI'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Soil_ice_mass_layer_'//YLVL,JDIM,YATT_TITLE,YATT)
00674   ENDDO  
00675   !
00676   YATT = 'kg/m2'
00677   CALL DEF_VAR_NETCDF(IFILE_ID,'WR_ISBA','Interception_reservoir',JDIM,YATT_TITLE,YATT) 
00678   !  
00679   IF(LGLACIER)THEN
00680      YATT = 'kg/m2'
00681      CALL DEF_VAR_NETCDF(IFILE_ID,'ICE_STO_ISBA','Glacier_reservoir',JDIM,YATT_TITLE,YATT)
00682   ENDIF
00683   !
00684   YATT='-'
00685   CALL DEF_VAR_NETCDF(IFILE_ID,'ASNOW_ISBA','Snow_Albedo',JDIM,YATT_TITLE,YATT)
00686   !
00687   IF(TSNOW%SCHEME=='3-L'  .OR. TSNOW%SCHEME=='CRO')THEN
00688     DO JLAYER=1,INLVLS   
00689        WRITE(YPAS,'(I3)') JLAYER
00690        YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00691        YATT = 'kg/m2'
00692        CALL DEF_VAR_NETCDF(IFILE_ID, 'WSNOW_'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', &
00693                              'Snow_Water_Equivalent_layer_'//YLVL, JDIM, YATT_TITLE, YATT)  
00694        YATT = 'm'                  
00695        CALL DEF_VAR_NETCDF(IFILE_ID, 'DSNOW_'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', &
00696                              'Snow_Depth_layer_'//YLVL           , JDIM, YATT_TITLE, YATT)  
00697         YATT = 'K'                        
00698         CALL DEF_VAR_NETCDF(IFILE_ID, 'TSNOW_'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', &
00699                              'Snow_Temperature_layer_'//YLVL     , JDIM, YATT_TITLE, YATT)                          
00700     ENDDO 
00701   ENDIF
00702   !
00703   IF(CPHOTO=='NIT'.OR.CPHOTO=='NCB')THEN
00704     YATT = 'kgDM/m2'
00705     DO JNBIOMASS=1,INBIOMASS
00706        WRITE(YPAS,'(I3)') JNBIOMASS
00707        YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00708        CALL DEF_VAR_NETCDF(IFILE_ID,'BIOM'//YLVL(:LEN_TRIM(YLVL))//'_ISBA','Biomass_reservoir_'//YLVL,JDIM,YATT_TITLE,YATT)
00709     ENDDO
00710   ENDIF
00711   !
00712   IF(CRESPSL=='CNT')THEN
00713     YATT = 'gC/m2'
00714     DO JNLITTER=1,INLITTER
00715       DO JNLITTLEVS=1,INLITTLEVS
00716         WRITE(YPAS,'(I1,A1,I1)') JNLITTER,'_',JNLITTLEVS
00717         YLVL = ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00718         CALL DEF_VAR_NETCDF(IFILE_ID, 'LIT'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', 'Litter_pool'//YLVL,JDIM,YATT_TITLE,YATT)
00719       END DO
00720     END DO  
00721     DO JNSOILCARB=1,INSOILCARB
00722       WRITE(YPAS,'(I3)') JNSOILCARB
00723       YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00724       CALL DEF_VAR_NETCDF(IFILE_ID, 'SCARB'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', 'Soil_carbon_pool'//YLVL,JDIM,YATT_TITLE,YATT)
00725     END DO
00726     YATT = '-'
00727     DO JNLITTLEVS=1,INLITTLEVS
00728       WRITE(YPAS,'(I3)') JNLITTLEVS
00729       YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00730       CALL DEF_VAR_NETCDF(IFILE_ID, 'LIGSTR'//YLVL(:LEN_TRIM(YLVL))//'_ISBA', 'Ratio_Lignin/Carbon_in_structural_litter'//YLVL, &
00731                           JDIM,YATT_TITLE,YATT)
00732     END DO          
00733   ENDIF
00734 ENDIF    
00735 !
00736  CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00737 !
00738 !
00739 IF (LSURF_BUDGETC) THEN
00740   !
00741   YFILE='ISBA_DIAG_CUMUL.OUT.nc'
00742   CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00743   YATT      (1)='dimensionless'
00744   !
00745   IF(LPATCH_BUDGET)THEN      
00746     YATT='J/m2'
00747     CALL DEF_VAR_NETCDF(IFILE_ID,'RNC_P'    ,'Cumulated_Net_Radiation'                            ,IDDIM,YATT_TITLE,YATT)
00748     CALL DEF_VAR_NETCDF(IFILE_ID,'HC_P'     ,'Cumulated_Sensible_Heat_Flux'                       ,IDDIM,YATT_TITLE,YATT)
00749     CALL DEF_VAR_NETCDF(IFILE_ID,'LEC_P'    ,'Cumulated_Total_Latent_Heat_Flux'                   ,IDDIM,YATT_TITLE,YATT)
00750     CALL DEF_VAR_NETCDF(IFILE_ID,'LEIC_P'   ,'Cumulated_Sublimation_Latent_Heat_Flux'             ,IDDIM,YATT_TITLE,YATT)
00751     CALL DEF_VAR_NETCDF(IFILE_ID,'GFLUXC_P' ,'Cumulated_Ground_Heat_Flux'                         ,IDDIM,YATT_TITLE,YATT)
00752     CALL DEF_VAR_NETCDF(IFILE_ID,'LEGC_P'   ,'Cumulated_Ground_Evaporation_Heat_Flux'             ,IDDIM,YATT_TITLE,YATT)
00753     CALL DEF_VAR_NETCDF(IFILE_ID,'LEGIC_P'  ,'Cumulated_Soil_Ice_Sublimation'                     ,IDDIM,YATT_TITLE,YATT)
00754     CALL DEF_VAR_NETCDF(IFILE_ID,'LEVC_P'   ,'Cumulated_Vegetation_Evaporation_Heat_Flux'         ,IDDIM,YATT_TITLE,YATT)
00755     CALL DEF_VAR_NETCDF(IFILE_ID,'LESC_P'   ,'Cumulated_Snow_Sublimation_Heat_Flux'               ,IDDIM,YATT_TITLE,YATT)
00756     IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') &
00757        CALL DEF_VAR_NETCDF(IFILE_ID,'LESLC_P'  ,'Cumulated_Snow_Evaporation_Heat_Flux'            ,IDDIM,YATT_TITLE,YATT)
00758     CALL DEF_VAR_NETCDF(IFILE_ID,'LERC_P'   ,'Cumulated_Canopy_Direct_Evaporation_Heat_Flux'      ,IDDIM,YATT_TITLE,YATT)
00759     CALL DEF_VAR_NETCDF(IFILE_ID,'LETRC_P'  ,'Cumulated_Vegetation_Transpiration_Heat_Flux'       ,IDDIM,YATT_TITLE,YATT)
00760     IF(LRAD_BUDGET)THEN
00761       CALL DEF_VAR_NETCDF(IFILE_ID,'SWDC_P' ,'Cumulated_Downward_SW       '                       ,IDDIM,YATT_TITLE,YATT)
00762       CALL DEF_VAR_NETCDF(IFILE_ID,'SWUC_P' ,'Cumulated_Upward_SW         '                       ,IDDIM,YATT_TITLE,YATT)
00763       CALL DEF_VAR_NETCDF(IFILE_ID,'LWDC_P' ,'Cumulated_Downward_LW       '                       ,IDDIM,YATT_TITLE,YATT)
00764       CALL DEF_VAR_NETCDF(IFILE_ID,'LWUC_P' ,'Cumulated_Upward_LW         '                       ,IDDIM,YATT_TITLE,YATT)
00765     ENDIF
00766     !
00767     YATT='Pa.s'
00768     CALL DEF_VAR_NETCDF(IFILE_ID,'FMUC_P'   ,'Cumulated_Zonal_Wind_Stress '                       ,IDDIM,YATT_TITLE,YATT)
00769     CALL DEF_VAR_NETCDF(IFILE_ID,'FMVC_P'   ,'Cumulated_Merid_Wind_Stress '                       ,IDDIM,YATT_TITLE,YATT)  
00770     YATT='kg/m2'  
00771     CALL DEF_VAR_NETCDF(IFILE_ID,'EVAPC_P'  ,'Cumulated_Evapotranspiration'                       ,IDDIM,YATT_TITLE,YATT)
00772     CALL DEF_VAR_NETCDF(IFILE_ID,'DRAINC_P' ,'Cumulated_Soil_Drainage_Flux'                       ,IDDIM,YATT_TITLE,YATT)
00773     CALL DEF_VAR_NETCDF(IFILE_ID,'RUNOFFC_P','Cumulated_Supersaturation_Runoff'                   ,IDDIM,YATT_TITLE,YATT)
00774     CALL DEF_VAR_NETCDF(IFILE_ID,'HORTONC_P','Cumulated_Horton_Runoff'                            ,IDDIM,YATT_TITLE,YATT)
00775     CALL DEF_VAR_NETCDF(IFILE_ID,'DRIVEGC_P','Cumulated_Dripping_from_the_vegetation_reservoir'   ,IDDIM,YATT_TITLE,YATT)
00776     CALL DEF_VAR_NETCDF(IFILE_ID,'SNOMLTC_P','Cumulated_Snow_melt_flux'                           ,IDDIM,YATT_TITLE,YATT)
00777     CALL DEF_VAR_NETCDF(IFILE_ID,'RRVEGC_P' ,'Cumulated_Precipitation_Intercepted_by_Vegetation'  ,IDDIM,YATT_TITLE,YATT)
00778     IF(LAGRIP) CALL DEF_VAR_NETCDF(IFILE_ID,'IRRIGC_P' ,'Cumulated_irrigation_rate'               ,IDDIM,YATT_TITLE,YATT)
00779     !
00780     IF(LGLACIER) THEN
00781       YATT='kg/m2'  
00782       CALL DEF_VAR_NETCDF(IFILE_ID,'ICE_FC_P' ,'Cumulated_Glacier_ice_flux'                         ,IDDIM,YATT_TITLE,YATT)
00783     ENDIF
00784     IF(LFLOOD) THEN
00785       YATT='kg/m2'  
00786       CALL DEF_VAR_NETCDF(IFILE_ID,'IFLOODC_P','Cumulated_Floodplains_infiltration'                    ,IDDIM,YATT_TITLE,YATT)
00787       CALL DEF_VAR_NETCDF(IFILE_ID,'PFLOODC_P','Cumulated_Precipitation_intercepted_by_the_floodplains',IDDIM,YATT_TITLE,YATT)
00788       YATT='J/m2'
00789       CALL DEF_VAR_NETCDF(IFILE_ID,'LEFC_P'   ,'Cumulated_Floodplains_evaporation_Heat_Flux'        ,IDDIM,YATT_TITLE,YATT)
00790       CALL DEF_VAR_NETCDF(IFILE_ID,'LEIFC_P'  ,'Cumulated_Floodplains_Frozen_evaporation_Heat_Flux' ,IDDIM,YATT_TITLE,YATT)
00791     ENDIF
00792     IF(CPHOTO/='NON')THEN
00793       YATT = 'kgCO2/m2'
00794       CALL DEF_VAR_NETCDF(IFILE_ID,'GPPC_P'     ,'Cumulated_gross_primary_production '  ,IDDIM,YATT_TITLE,YATT)
00795       CALL DEF_VAR_NETCDF(IFILE_ID,'RC_AUTO_P'   ,'Cumulated_autotrophic_respiration  '  ,IDDIM,YATT_TITLE,YATT)
00796       CALL DEF_VAR_NETCDF(IFILE_ID,'RC_ECO_P'    ,'Cumulated_ecosystem_respiration    '  ,IDDIM,YATT_TITLE,YATT)
00797     ENDIF
00798     IF(LWATER_BUDGET)THEN 
00799       YATT = 'kg/m2'
00800       CALL DEF_VAR_NETCDF(IFILE_ID,'DWGC_P'     ,'Cumulated_change_in_liquid_soil_moisture  '  ,IDDIM,YATT_TITLE,YATT)
00801       CALL DEF_VAR_NETCDF(IFILE_ID,'DWGIC_P'    ,'Cumulated_change_in_solid_soil_moisture   '  ,IDDIM,YATT_TITLE,YATT)
00802       CALL DEF_VAR_NETCDF(IFILE_ID,'DWRC_P'     ,'Cumulated_change_in_canopy_water          '  ,IDDIM,YATT_TITLE,YATT)
00803       CALL DEF_VAR_NETCDF(IFILE_ID,'DSWEC_P'    ,'Cumulated_change_in_snow_water_equivalent '  ,IDDIM,YATT_TITLE,YATT)
00804       CALL DEF_VAR_NETCDF(IFILE_ID,'WATBUDC_P'  ,'Cumulated_isba_water_budget_as_residue    '  ,IDDIM,YATT_TITLE,YATT)
00805     ENDIF
00806   ENDIF
00807   !  
00808   YATT='J/m2'
00809   CALL DEF_VAR_NETCDF(IFILE_ID,'LEGC_ISBA'   ,'Averaged_Cumulated_Ground_Evaporation_Heat_Flux'     ,JDIM,YATT_TITLE,YATT)
00810   CALL DEF_VAR_NETCDF(IFILE_ID,'LEGIC_ISBA'  ,'Averaged_Cumulated_Soil_Ice_Sublimation'             ,JDIM,YATT_TITLE,YATT)
00811   CALL DEF_VAR_NETCDF(IFILE_ID,'LEVC_ISBA'   ,'Averaged_Cumulated_Vegetation_Evaporation_Heat_Flux' ,JDIM,YATT_TITLE,YATT)
00812   CALL DEF_VAR_NETCDF(IFILE_ID,'LESC_ISBA'   ,'Averaged_Cumulated_Snow_Sublimation_Heat_Flux'       ,JDIM,YATT_TITLE,YATT)
00813   IF (TSNOW%SCHEME=='3-L' .OR. TSNOW%SCHEME=='CRO') &
00814      CALL DEF_VAR_NETCDF(IFILE_ID,'LESLC_ISBA'  ,'Averaged_Cumulated_Snow_Evaporation_Heat_Flux'    ,JDIM,YATT_TITLE,YATT)
00815   CALL DEF_VAR_NETCDF(IFILE_ID,'LERC_ISBA'   ,'Averaged_Cumulated_Canopy_Direct_Evaporation_Heat_Flux',JDIM,YATT_TITLE,YATT)
00816   CALL DEF_VAR_NETCDF(IFILE_ID,'LETRC_ISBA'  ,'Averaged_Cumulated_Vegetation_Transpiration_Heat_Flux',JDIM,YATT_TITLE,YATT)
00817   YATT='kg/m2'  
00818   CALL DEF_VAR_NETCDF(IFILE_ID,'EVAPC_ISBA'  ,'Averaged_Cumulated_Evapotranspiration'               ,JDIM,YATT_TITLE,YATT)
00819   CALL DEF_VAR_NETCDF(IFILE_ID,'DRAINC_ISBA' ,'Averaged_Cumulated_Soil_Drainage_Flux'               ,JDIM,YATT_TITLE,YATT)
00820   CALL DEF_VAR_NETCDF(IFILE_ID,'RUNOFFC_ISBA','Averaged_Cumulated_Supersaturation_Runoff'           ,JDIM,YATT_TITLE,YATT)
00821   CALL DEF_VAR_NETCDF(IFILE_ID,'HORTONC_ISBA','Averaged_Cumulated_Horton_Surface_Runoff'            ,JDIM,YATT_TITLE,YATT)
00822   CALL DEF_VAR_NETCDF(IFILE_ID,'DRIVEGC_ISBA','Averaged_Dripping_from_the_vegetation_reservoir'     ,JDIM,YATT_TITLE,YATT)
00823   CALL DEF_VAR_NETCDF(IFILE_ID,'SNOMLTC_ISBA','Averaged_Cumulated_Snow_melt_flux'                   ,JDIM,YATT_TITLE,YATT)
00824   CALL DEF_VAR_NETCDF(IFILE_ID,'RRVEGC_ISBA' ,'Averaged_Cumulated_Precipitation_Intercepted_by_Vegetation',&
00825          JDIM,YATT_TITLE,YATT)     
00826   IF(LAGRIP) CALL DEF_VAR_NETCDF(IFILE_ID,'IRRIGC_ISBA' ,'Averaged_Cumulated_irrigation_rate'       ,JDIM,YATT_TITLE,YATT)     
00827   !
00828   IF(LGLACIER)THEN
00829   YATT='kg/m2'  
00830   CALL DEF_VAR_NETCDF(IFILE_ID,'ICE_FC_ISBA' ,'Averaged_Cumulated_Glacier_ice_flux'                      ,JDIM,YATT_TITLE,YATT)
00831   ENDIF
00832   IF(LFLOOD)THEN
00833   YATT='kg/m2'  
00834   CALL DEF_VAR_NETCDF(IFILE_ID,'IFLOODC_ISBA','Averaged_Cumulated_Floodplains_infiltration'              ,JDIM,YATT_TITLE,YATT)
00835   CALL DEF_VAR_NETCDF(IFILE_ID,'PFLOODC_ISBA','Averaged_Cumulated_Precip_intercepted_by_the_floodplains' ,JDIM,YATT_TITLE,YATT)
00836   YATT='J/m2'
00837   CALL DEF_VAR_NETCDF(IFILE_ID,'LEFC_ISBA'   ,'Averaged_Cumulated_Flood_evaporation_Heat_Flux'           ,JDIM,YATT_TITLE,YATT)
00838   CALL DEF_VAR_NETCDF(IFILE_ID,'LEIFC_ISBA'  ,'Averaged_Cumulated_Flood_Frozen_evaporation_Heat_Flux'    ,JDIM,YATT_TITLE,YATT)
00839   ENDIF 
00840   IF(CPHOTO/='NON')THEN
00841     YATT = 'kgCO2/m2'
00842     CALL DEF_VAR_NETCDF(IFILE_ID,'GPPC_ISBA'     ,'Averaged_Cumulated_gross_primary_production '  ,JDIM,YATT_TITLE,YATT)
00843     CALL DEF_VAR_NETCDF(IFILE_ID,'RC_AUTO_ISBA'  ,'Averaged_Cumulated_autotrophic_respiration  '  ,JDIM,YATT_TITLE,YATT)
00844     CALL DEF_VAR_NETCDF(IFILE_ID,'RC_ECO_ISBA'   ,'Averaged_Cumulated_ecosystem_respiration    '  ,JDIM,YATT_TITLE,YATT)
00845   ENDIF
00846   IF(LWATER_BUDGET)THEN 
00847     YATT = 'kg/m2'
00848     CALL DEF_VAR_NETCDF(IFILE_ID,'RAINFC_ISBA'   ,'Averaged_Cumulated_input_rainfall_rate             '  ,JDIM,YATT_TITLE,YATT)
00849     CALL DEF_VAR_NETCDF(IFILE_ID,'SNOWFC_ISBA'   ,'Averaged_Cumulated_input_snowfall_rate             '  ,JDIM,YATT_TITLE,YATT)
00850     CALL DEF_VAR_NETCDF(IFILE_ID,'DWGC_ISBA'     ,'Averaged_Cumulated_change_in_liquid_soil_moisture  '  ,JDIM,YATT_TITLE,YATT)
00851     CALL DEF_VAR_NETCDF(IFILE_ID,'DWGIC_ISBA'    ,'Averaged_Cumulated_change_in_solid_soil_moisture   '  ,JDIM,YATT_TITLE,YATT)
00852     CALL DEF_VAR_NETCDF(IFILE_ID,'DWRC_ISBA'     ,'Averaged_Cumulated_change_in_canopy_water          '  ,JDIM,YATT_TITLE,YATT)
00853     CALL DEF_VAR_NETCDF(IFILE_ID,'DSWEC_ISBA'    ,'Averaged_Cumulated_change_in_snow_water_equivalent '  ,JDIM,YATT_TITLE,YATT)
00854     CALL DEF_VAR_NETCDF(IFILE_ID,'WATBUDC_ISBA'  ,'Averaged_Cumulated_isba_water_budget_as_residue    '  ,JDIM,YATT_TITLE,YATT)
00855   ENDIF
00856   !
00857   YATT='J/m2'
00858   CALL DEF_VAR_NETCDF(IFILE_ID,'RNC_ISBA'    ,'Averaged_Cumulated_Net_Radiation'                         ,JDIM,YATT_TITLE,YATT)
00859   CALL DEF_VAR_NETCDF(IFILE_ID,'HC_ISBA'     ,'Averaged_Cumulated_Sensible_Heat_Flux'                    ,JDIM,YATT_TITLE,YATT)
00860   CALL DEF_VAR_NETCDF(IFILE_ID,'LEC_ISBA'    ,'Averaged_Cumulated_Total_Latent_Heat_Flux'                ,JDIM,YATT_TITLE,YATT)
00861   CALL DEF_VAR_NETCDF(IFILE_ID,'LEIC_ISBA'   ,'Averaged_Cumulated_Sublimation_Latent_Heat_Flux'          ,JDIM,YATT_TITLE,YATT)
00862   CALL DEF_VAR_NETCDF(IFILE_ID,'GFLUXC_ISBA' ,'Averaged_Cumulated_Ground_Heat_Flux'                      ,JDIM,YATT_TITLE,YATT)
00863   IF(LRAD_BUDGET)THEN
00864     CALL DEF_VAR_NETCDF(IFILE_ID,'SWDC_ISBA' ,'Averaged_Cumulated_Downward_SW       '                    ,JDIM,YATT_TITLE,YATT)
00865     CALL DEF_VAR_NETCDF(IFILE_ID,'SWUC_ISBA' ,'Averaged_Cumulated_Upward_SW         '                    ,JDIM,YATT_TITLE,YATT)
00866     CALL DEF_VAR_NETCDF(IFILE_ID,'LWDC_ISBA' ,'Averaged_Cumulated_Downward_LW       '                    ,JDIM,YATT_TITLE,YATT)
00867     CALL DEF_VAR_NETCDF(IFILE_ID,'LWUC_ISBA' ,'Averaged_Cumulated_Upward_LW         '                    ,JDIM,YATT_TITLE,YATT)
00868   ENDIF
00869   YATT='Pa.s'
00870   CALL DEF_VAR_NETCDF(IFILE_ID,'FMUC_ISBA'   ,'Averaged_Cumulated_Zonal_Wind_Stress '                ,JDIM,YATT_TITLE,YATT)
00871   CALL DEF_VAR_NETCDF(IFILE_ID,'FMVC_ISBA'   ,'Averaged_Cumulated_Merid_Wind_Stress '                ,JDIM,YATT_TITLE,YATT)
00872   !  
00873   CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00874   !
00875 ENDIF
00876 
00877 
00878 ! 6. Create file for vegetation parameter values
00879 !----------------------------------------------------------
00880 
00881 IF(LASSIM) THEN
00882   IF(CASSIM=='PLUS ') THEN
00883     YFILE='ISBA_VEG_EVOLUTION_P.OUT.nc'
00884     CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00885     YATT='dimensionless'
00886     CALL DEF_VAR_NETCDF(IFILE_ID,'LAIp'   ,'Output_LAI_ISBA' ,IDDIM,YATT_TITLE,YATT)
00887     CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00888   ELSEIF(CASSIM=='AVERA') THEN
00889     YFILE='ISBA_VEG_EVOLUTION_A.OUT.nc'
00890     CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00891     YATT ='dimensionless'     
00892     CALL DEF_VAR_NETCDF(IFILE_ID,'LAIa'   ,'Output_LAI_ISBA' ,IDDIM,YATT_TITLE,YATT)
00893     CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00894   ELSEIF(CASSIM=='2DVAR') THEN
00895     YFILE='ISBA_VEG_EVOLUTION.OUT.nc'
00896     CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)
00897     YATT='dimensionless'
00898     CALL DEF_VAR_NETCDF(IFILE_ID,'LAI'   ,'Output_LAI_ISBA' ,IDDIM,YATT_TITLE,YATT)
00899     CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00900   ENDIF
00901 ELSEIF(LPGD)THEN
00902   YFILE='ISBA_VEG_EVOLUTION.OUT.nc'
00903   CALL CREATE_FILE(YFILE,IDIMS,YNAME_DIM,IFILE_ID,IDDIM)  
00904   YATT ='dimensionless'
00905   !
00906   CALL DEF_VAR_NETCDF(IFILE_ID,'VEG'         ,'Output_vegetation_fraction'         ,IDDIM,YATT_TITLE,YATT)
00907   CALL DEF_VAR_NETCDF(IFILE_ID,'LAI'         ,'Output_LAI_per_patch'               ,IDDIM,YATT_TITLE,YATT)
00908   CALL DEF_VAR_NETCDF(IFILE_ID,'Z0VEG'       ,'Roughness_Length_Vegetation'        ,IDDIM,YATT_TITLE,YATT)
00909   CALL DEF_VAR_NETCDF(IFILE_ID,'PATCH'       ,'Fraction_Of_Patch'                  ,IDDIM(1:INDIMS-1),YATT_TITLE,YATT)
00910   !
00911   CALL DEF_VAR_NETCDF(IFILE_ID,'Z0REL'       ,'orography_roughness_length',IDDIM(1:2),YATT_TITLE,(/'m'/))
00912   !
00913   DO JLAYER=1,INLVLD
00914     WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00915     CALL DEF_VAR_NETCDF(IFILE_ID,'DG'//YLVL   ,'soil_depth_layer_'//YLVL ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00916   ENDDO
00917   !
00918   DO JLAYER=1,INLVLD
00919     WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00920     CALL DEF_VAR_NETCDF(IFILE_ID,'WSAT'//YLVL ,'soil_porosity_layer_'//YLVL,IDDIM(1:2),YATT_TITLE,(/'m3/m3'/))
00921     CALL DEF_VAR_NETCDF(IFILE_ID,'WFC'//YLVL  ,'field_capacity_layer_'//YLVL,IDDIM(1:2),YATT_TITLE,(/'m3/m3'/)) 
00922     CALL DEF_VAR_NETCDF(IFILE_ID,'WWILT'//YLVL,'wilting_point_layer_'//YLVL,IDDIM(1:2),YATT_TITLE,(/'m3/m3'/))
00923   ENDDO
00924   !
00925   IF(CISBA=='DIF')THEN
00926     CALL DEF_VAR_NETCDF(IFILE_ID,'DROOT_DIF' ,'Root_depth_in_ISBA-DIF'                   ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00927     CALL DEF_VAR_NETCDF(IFILE_ID,'DG2_DIF'   ,'DG2_depth_in_ISBA-DIF'                    ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00928     CALL DEF_VAR_NETCDF(IFILE_ID,'RUNOFFD'   ,'Runoff_depth_in_ISBA-DIF'                 ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00929     CALL DEF_VAR_NETCDF(IFILE_ID,'DTOT_DIF'  ,'Total_soil_depth_for_moisture_in_ISBA-DIF',IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00930     DO JLAYER=1,INLVLD
00931       WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00932       CALL DEF_VAR_NETCDF(IFILE_ID,'ROOTFRAC'//YLVL,'root_fraction_layer_'//YLVL ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'-'/))           
00933     ENDDO
00934     IF(CSOC=='SGH')THEN
00935       DO JLAYER=1,INLVLD
00936          WRITE(YPAS,'(I3)') JLAYER ; YLVL=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00937          CALL DEF_VAR_NETCDF(IFILE_ID,'FRACSOC'//YLVL,'SOC_fraction_layer_'//YLVL,IDDIM(1:2),YATT_TITLE,(/'-'/))
00938       ENDDO
00939     ENDIF
00940   ENDIF
00941   !
00942   IF(CHORT=='SGH')THEN
00943     CALL DEF_VAR_NETCDF(IFILE_ID,'DICE','soil_ice_depth_for_runoff',IDDIM(1:INDIMS-1),YATT_TITLE,(/'m'/))
00944   ENDIF   
00945   !    
00946   DO JVEG=1,NVEGTYPE
00947     WRITE(YPAS,'(i2)') JVEG 
00948     YLVLV=ADJUSTL(YPAS(:LEN_TRIM(YPAS)))
00949     CALL DEF_VAR_NETCDF(IFILE_ID,'VEGTYPE_P'//YLVLV,'fraction_of_vegetation_type_'//YLVLV ,IDDIM(1:INDIMS-1),YATT_TITLE,(/'-'/))
00950   ENDDO
00951   !
00952   CALL DEF_VAR_NETCDF(IFILE_ID,'EMIS_ISBA'   ,'Emissivity_Of_Vegetation'           ,IDDIM,YATT_TITLE,YATT)
00953   CALL DEF_VAR_NETCDF(IFILE_ID,'RSMIN'       ,'Minimal_Stomatal_Resistance'        ,IDDIM,YATT_TITLE,YATT)
00954   CALL DEF_VAR_NETCDF(IFILE_ID,'GAMMA'       ,'Coefficient_Computation_Rsmin'      ,IDDIM,YATT_TITLE,YATT)
00955   CALL DEF_VAR_NETCDF(IFILE_ID,'CV'          ,'Vegetal_Thermal_Inertia'            ,IDDIM,YATT_TITLE,YATT)
00956   CALL DEF_VAR_NETCDF(IFILE_ID,'RGL'         ,'Max_Solar_Radiation_Photosynthesis' ,IDDIM,YATT_TITLE,YATT)
00957   CALL DEF_VAR_NETCDF(IFILE_ID,'WRMAX_CF'    ,'Coefficient_Max_Water_Interception' ,IDDIM,YATT_TITLE,YATT)
00958   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBNIR_SOIL' ,'Output_ALBNIR_SOIL'                 ,IDDIM(1:INDIMS-1),YATT_TITLE,YATT)
00959   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBVIS_SOIL' ,'Output_ALBVIS_SOIL'                 ,IDDIM(1:INDIMS-1),YATT_TITLE,YATT)
00960   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBUV_SOIL'  ,'soil_UV_albedo'                     ,IDDIM(1:INDIMS-1),YATT_TITLE,YATT)
00961   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBNIR_ISBA' ,'total_near-infra-red albedo'        ,IDDIM,YATT_TITLE,YATT)
00962   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBVIS_ISBA' ,'total_visible_albedo'               ,IDDIM,YATT_TITLE,YATT)
00963   CALL DEF_VAR_NETCDF(IFILE_ID,'ALBUV_ISBA'  ,'total_UV_albedo'                    ,IDDIM,YATT_TITLE,YATT)
00964   !  
00965   IF (LAGRIP .AND. (CPHOTO=='NIT' .OR. CPHOTO=='LAI' .OR. CPHOTO=='LST' .OR. CPHOTO=='NCB') ) THEN
00966     CALL DEF_VAR_NETCDF(IFILE_ID,'WATSUP' ,'Water_Supply_Irrigation' ,IDDIM,YATT_TITLE,YATT)
00967     CALL DEF_VAR_NETCDF(IFILE_ID,'IRRIG'  ,'Fraction_Of_Irrigated_Vegetation' ,IDDIM,YATT_TITLE,YATT)
00968     !CALL DEF_VAR_NETCDF(IFILE_ID,'SEED'  ,'Seeding_Date' ,IDDIM,YATT_TITLE,YATT)
00969     !CALL DEF_VAR_NETCDF(IFILE_ID,'REAP'  ,'Reaping_Date' ,IDDIM,YATT_TITLE,YATT)
00970   END IF
00971   !
00972   CALL OL_WRITE_COORD(YFILE,IFILE_ID,IDDIM,YATT_TITLE,YNAME_DIM,YUNIT1,YUNIT2,IDIM1,YDATE,ZX,ZY)
00973   !
00974 ENDIF
00975 !
00976 DEALLOCATE(JDIM)
00977 !
00978 IF (LHOOK) CALL DR_HOOK('INIT_OUTFN_ISBA_N',1,ZHOOK_HANDLE)
00979 !
00980 END SUBROUTINE INIT_OUTFN_ISBA_n