SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/writesurf_pgd_isba_parn.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE WRITESURF_PGD_ISBA_PAR_n(HPROGRAM)
00003 !     ################################################
00004 !
00005 !!****  *WRITESURF_PGD_ISBA_PAR_n* - writes ISBA physiographic fields
00006 !!                        
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 !!      V. Masson   *Meteo France*      
00028 !!
00029 !!    MODIFICATIONS
00030 !!    -------------
00031 !!      Original    01/2003 
00032 !!      P. Le Moigne 12/2004 : add type of photosynthesis 
00033 !-------------------------------------------------------------------------------
00034 !
00035 !*       0.    DECLARATIONS
00036 !              ------------
00037 !
00038 USE MODD_DATA_ISBA_n,    ONLY : NTIME, XPAR_VEG, XPAR_LAI,XPAR_RSMIN,XPAR_GAMMA,XPAR_WRMAX_CF, &
00039                                 XPAR_RGL,XPAR_CV,XPAR_DG,XPAR_Z0,XPAR_Z0_O_Z0H,         &
00040                                 XPAR_ALBNIR_VEG,XPAR_ALBVIS_VEG, XPAR_ALBUV_VEG,          &
00041                                 XPAR_ALBNIR_SOIL,XPAR_ALBVIS_SOIL, XPAR_ALBUV_SOIL,       &
00042                                 XPAR_EMIS, XPAR_DICE,                                     &
00043                                 XPAR_VEGTYPE,XPAR_ROOTFRAC,                                &
00044                                 XPAR_GMES,XPAR_BSLAI,XPAR_LAIMIN,XPAR_SEFOLD,XPAR_GC,   &
00045                                 XPAR_DMAX, XPAR_F2I, LDATA_STRESS, XPAR_H_TREE,XPAR_RE25,&
00046                                 XPAR_CE_NITRO,XPAR_CF_NITRO,XPAR_CNA_NITRO, &
00047                                 XPAR_GROUND_DEPTH, XPAR_ROOT_DEPTH,               &
00048                                 XPAR_ROOT_EXTINCTION, XPAR_ROOT_LIN,              &
00049                                 LPAR_STRESS, XPAR_IRRIG, XPAR_WATSUP, &
00050                                 LDATA_VEGTYPE, LDATA_LAI, LDATA_H_TREE, LDATA_DG, LDATA_ROOTFRAC,&  
00051                                 LDATA_VEG, LDATA_Z0, LDATA_EMIS, LDATA_DICE, &
00052                                 LDATA_RSMIN, LDATA_GAMMA, LDATA_WRMAX_CF, LDATA_RGL, &
00053                                 LDATA_CV, LDATA_Z0_O_Z0H, &
00054                                 LDATA_ALBNIR_VEG, LDATA_ALBVIS_VEG, LDATA_ALBUV_VEG, &
00055                                 LDATA_ALBVIS_SOIL, LDATA_ALBNIR_SOIL, LDATA_ALBUV_SOIL, &
00056                                 LDATA_GMES, LDATA_BSLAI, LDATA_SEFOLD, LDATA_GC, LDATA_DMAX, &
00057                                 LDATA_RE25, LDATA_LAIMIN, LDATA_F2I, &
00058                                 LDATA_CE_NITRO,LDATA_CF_NITRO, LDATA_CNA_NITRO,&
00059                                 LDATA_STRESS, LDATA_IRRIG, LDATA_WATSUP,             &   
00060                                 LDATA_GROUND_DEPTH, LDATA_ROOT_DEPTH,             &
00061                                 LDATA_ROOT_EXTINCTION, LDATA_ROOT_LIN
00062   
00063 !
00064 USE MODI_WRITE_SURF
00065 !
00066 !
00067 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00068 USE PARKIND1  ,ONLY : JPRB
00069 !
00070 IMPLICIT NONE
00071 !
00072 !*       0.1   Declarations of arguments
00073 !              -------------------------
00074 !
00075  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
00076 !
00077 !*       0.2   Declarations of local variables
00078 !              -------------------------------
00079 !
00080 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
00081  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
00082  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
00083 INTEGER           :: JTIME          ! loop index
00084 INTEGER           :: JLAYER         ! loop index
00085 INTEGER           :: JPATCH         ! loop index
00086 REAL,    DIMENSION(:,:), ALLOCATABLE :: ZWORK
00087 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00088 !
00089 !-------------------------------------------------------------------------------
00090 !
00091 IF (LHOOK) CALL DR_HOOK('WRITESURF_PGD_ISBA_PAR_N',0,ZHOOK_HANDLE)
00092 YRECFM='L_VEGTYPE'
00093 YCOMMENT=YRECFM
00094  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_VEGTYPE,IRESP,HCOMMENT=YCOMMENT)
00095 IF (LDATA_VEGTYPE) THEN
00096   YRECFM='D_VEGTYPE'
00097   YCOMMENT='X_Y_DATA_VEGTYPE'
00098   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_VEGTYPE(:,:),IRESP,HCOMMENT=YCOMMENT)
00099 ENDIF
00100 !
00101 IF (LDATA_LAI .OR. LDATA_VEG .OR. LDATA_Z0 .OR. LDATA_EMIS) THEN
00102   YRECFM='NDATA_TIME'
00103   YCOMMENT='(-)'
00104   CALL WRITE_SURF(HPROGRAM,YRECFM,NTIME,IRESP,HCOMMENT=YCOMMENT)
00105 ENDIF
00106 !
00107 YRECFM='L_VEG'
00108 YCOMMENT=YRECFM
00109  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_VEG,IRESP,HCOMMENT=YCOMMENT)
00110 IF (LDATA_VEG) THEN
00111   DO JTIME=1,NTIME
00112     WRITE(YRECFM,FMT='(A7,I2.2)') 'D_VEG_T',JTIME
00113     YCOMMENT='X_Y_D_VEG'
00114     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_VEG(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00115   END DO
00116 ENDIF
00117 !
00118 YRECFM='L_LAI'
00119 YCOMMENT=YRECFM
00120  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_LAI,IRESP,HCOMMENT=YCOMMENT)
00121 IF (LDATA_LAI) THEN
00122   DO JTIME=1,NTIME
00123     WRITE(YRECFM,FMT='(A7,I2.2)') 'D_LAI_T',JTIME
00124     YCOMMENT='X_Y_D_LAI'
00125     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_LAI(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00126   END DO
00127 ENDIF
00128 !
00129 YRECFM='L_Z0'
00130 YCOMMENT=YRECFM
00131  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_Z0,IRESP,HCOMMENT=YCOMMENT)
00132 IF (LDATA_Z0) THEN
00133   DO JTIME=1,NTIME
00134     WRITE(YRECFM,FMT='(A6,I2.2)') 'D_Z0_T',JTIME
00135     YCOMMENT='X_Y_D_Z0'
00136     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_Z0(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00137   END DO
00138 ENDIF
00139 !
00140 YRECFM='L_EMIS'
00141 YCOMMENT=YRECFM
00142  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_EMIS,IRESP,HCOMMENT=YCOMMENT)
00143 IF (LDATA_EMIS) THEN
00144   DO JTIME=1,NTIME
00145     WRITE(YRECFM,FMT='(A8,I2.2)') 'D_EMIS_T',JTIME
00146     YCOMMENT='X_Y_D_EMIS'
00147     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_EMIS(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00148   END DO
00149 ENDIF
00150 !
00151 YRECFM='L_RSMIN'
00152 YCOMMENT=YRECFM
00153  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_RSMIN,IRESP,HCOMMENT=YCOMMENT)
00154 IF (LDATA_RSMIN) THEN
00155   YRECFM='D_RSMIN'
00156   YCOMMENT='X_Y_D_RSMIN'
00157   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_RSMIN(:,:),IRESP,HCOMMENT=YCOMMENT)
00158 ENDIF
00159 !
00160 YRECFM='L_GAMMA'
00161 YCOMMENT=YRECFM
00162  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GAMMA,IRESP,HCOMMENT=YCOMMENT)
00163 IF (LDATA_GAMMA) THEN
00164   YRECFM='D_GAMMA'
00165   YCOMMENT='X_Y_D_GAMMA'
00166   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GAMMA(:,:),IRESP,HCOMMENT=YCOMMENT)
00167 ENDIF
00168 !
00169 YRECFM='L_WRMAX_CF'
00170 YCOMMENT=YRECFM
00171  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_WRMAX_CF,IRESP,HCOMMENT=YCOMMENT)
00172 IF (LDATA_WRMAX_CF) THEN
00173   YRECFM='D_WRMAX_CF'
00174   YCOMMENT='X_Y_D_WRMAX_CF'
00175   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_WRMAX_CF(:,:),IRESP,HCOMMENT=YCOMMENT)
00176 ENDIF
00177 !
00178 YRECFM='L_RGL'
00179 YCOMMENT=YRECFM
00180  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_RGL,IRESP,HCOMMENT=YCOMMENT)
00181 IF (LDATA_RGL) THEN
00182   YRECFM='D_RGL'
00183   YCOMMENT='X_Y_D_RGL'
00184   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_RGL(:,:),IRESP,HCOMMENT=YCOMMENT)
00185 ENDIF
00186 !
00187 YRECFM='L_CV'
00188 YCOMMENT=YRECFM
00189  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CV,IRESP,HCOMMENT=YCOMMENT)
00190 IF (LDATA_CV) THEN
00191   YRECFM='D_CV'
00192   YCOMMENT='X_Y_D_CV'
00193   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CV(:,:),IRESP,HCOMMENT=YCOMMENT)
00194 ENDIF
00195 !
00196 YRECFM='L_Z0_O_Z0H'
00197 YCOMMENT=YRECFM
00198  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_Z0_O_Z0H,IRESP,HCOMMENT=YCOMMENT)
00199 IF (LDATA_Z0_O_Z0H) THEN
00200   YRECFM='D_Z0_O_Z0H'
00201   YCOMMENT='X_Y_D_Z0_O_Z0H'
00202   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_Z0_O_Z0H(:,:),IRESP,HCOMMENT=YCOMMENT)
00203 ENDIF
00204 !
00205 YRECFM='L_DG'
00206 YCOMMENT=YRECFM
00207  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_DG,IRESP,HCOMMENT=YCOMMENT)
00208 IF (LDATA_DG) THEN
00209   ALLOCATE(ZWORK(SIZE(XPAR_DG,1),SIZE(XPAR_DG,3)))
00210   DO JLAYER=1,SIZE(XPAR_DG,2)
00211     IF (JLAYER<10)  WRITE(YRECFM,FMT='(A4,I1.1)') 'D_DG',JLAYER
00212     IF (JLAYER>=10) WRITE(YRECFM,FMT='(A4,I2.2)') 'D_DG',JLAYER
00213     YCOMMENT='X_Y_'//YRECFM
00214     DO JPATCH=1,SIZE(XPAR_DG,3)
00215       ZWORK(:,JPATCH) = XPAR_DG(:,JLAYER,JPATCH)
00216     END DO
00217     CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK,IRESP,HCOMMENT=YCOMMENT)
00218   END DO
00219   DEALLOCATE(ZWORK)
00220 ENDIF
00221 !
00222 YRECFM='L_ROOTFRAC'
00223 YCOMMENT=YRECFM
00224  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROOTFRAC,IRESP,HCOMMENT=YCOMMENT)
00225 IF (LDATA_ROOTFRAC) THEN
00226   ALLOCATE(ZWORK(SIZE(XPAR_ROOTFRAC,1),SIZE(XPAR_ROOTFRAC,3)))
00227   DO JLAYER=1,SIZE(XPAR_ROOTFRAC,2)
00228     IF (JLAYER<10)  WRITE(YRECFM,FMT='(A10,I1.1)') 'D_ROOTFRAC',JLAYER
00229     IF (JLAYER>=10) WRITE(YRECFM,FMT='(A10,I2.2)') 'D_ROOTFRAC',JLAYER
00230     YCOMMENT='X_Y_'//YRECFM
00231     DO JPATCH=1,SIZE(XPAR_ROOTFRAC,3)
00232       ZWORK(:,JPATCH) = XPAR_ROOTFRAC(:,JLAYER,JPATCH)
00233     END DO
00234     CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK,IRESP,HCOMMENT=YCOMMENT)
00235   END DO
00236   DEALLOCATE(ZWORK)
00237 ENDIF
00238 !
00239 YRECFM='L_GROUND_DPT'
00240 YCOMMENT=YRECFM
00241  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GROUND_DEPTH,IRESP,HCOMMENT=YCOMMENT)
00242 IF (LDATA_GROUND_DEPTH) THEN
00243   YRECFM='D_GROUND_DPT'
00244   YCOMMENT='X_Y_'//YRECFM
00245   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GROUND_DEPTH(:,:),IRESP,HCOMMENT=YCOMMENT)
00246 ENDIF
00247 !
00248 YRECFM='L_ROOT_DEPTH'
00249 YCOMMENT=YRECFM
00250  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROOT_DEPTH,IRESP,HCOMMENT=YCOMMENT)
00251 IF (LDATA_ROOT_DEPTH) THEN
00252   YRECFM='D_ROOT_DEPTH'
00253   YCOMMENT='X_Y_'//YRECFM
00254   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROOT_DEPTH(:,:),IRESP,HCOMMENT=YCOMMENT)
00255 ENDIF
00256 !
00257 YRECFM='L_ROOT_EXT'
00258 YCOMMENT=YRECFM
00259  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROOT_EXTINCTION,IRESP,HCOMMENT=YCOMMENT)
00260 IF (LDATA_ROOT_EXTINCTION) THEN
00261   YRECFM='D_ROOT_EXT'
00262   YCOMMENT='X_Y_'//YRECFM
00263   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROOT_EXTINCTION(:,:),IRESP,HCOMMENT=YCOMMENT)
00264 ENDIF
00265 !
00266 YRECFM='L_ROOT_LIN'
00267 YCOMMENT=YRECFM
00268  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ROOT_LIN,IRESP,HCOMMENT=YCOMMENT)
00269 IF (LDATA_ROOT_LIN) THEN
00270   YRECFM='D_ROOT_LIN'
00271   YCOMMENT='X_Y_'//YRECFM
00272   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ROOT_LIN(:,:),IRESP,HCOMMENT=YCOMMENT)
00273 ENDIF
00274 !
00275 YRECFM='L_DICE'
00276 YCOMMENT=YRECFM
00277  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_DICE,IRESP,HCOMMENT=YCOMMENT)
00278 IF (LDATA_DICE) THEN
00279   YRECFM='D_DICE'
00280   YCOMMENT='X_Y_'//YRECFM
00281   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_DICE(:,:),IRESP,HCOMMENT=YCOMMENT)
00282 ENDIF
00283 !
00284 YRECFM='L_ALBNIR_VEG'
00285 YCOMMENT=YRECFM
00286  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBNIR_VEG,IRESP,HCOMMENT=YCOMMENT)
00287 IF (LDATA_ALBNIR_VEG) THEN
00288   YRECFM='D_ALBNIR_VEG'
00289   YCOMMENT='X_Y_'//YRECFM
00290   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBNIR_VEG(:,:),IRESP,HCOMMENT=YCOMMENT)
00291 ENDIF
00292 !
00293 YRECFM='L_ALBVIS_VEG'
00294 YCOMMENT=YRECFM
00295  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBVIS_VEG,IRESP,HCOMMENT=YCOMMENT)
00296 IF (LDATA_ALBVIS_VEG) THEN
00297   YRECFM='D_ALBVIS_VEG'
00298   YCOMMENT='X_Y_'//YRECFM
00299   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBVIS_VEG(:,:),IRESP,HCOMMENT=YCOMMENT)
00300 ENDIF
00301 !
00302 YRECFM='L_ALBUV_VEG'
00303 YCOMMENT=YRECFM
00304  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBUV_VEG,IRESP,HCOMMENT=YCOMMENT)
00305 IF (LDATA_ALBUV_VEG) THEN
00306   YRECFM='D_ALBUV_VEG'
00307   YCOMMENT='X_Y_'//YRECFM
00308   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBUV_VEG(:,:),IRESP,HCOMMENT=YCOMMENT)
00309 ENDIF
00310 !
00311 YRECFM='L_ALBNIR_SOI'
00312 YCOMMENT=YRECFM
00313  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBNIR_SOIL,IRESP,HCOMMENT=YCOMMENT)
00314 IF (LDATA_ALBNIR_SOIL) THEN
00315   YRECFM='D_ALBNIR_SOI'
00316   YCOMMENT='X_Y_'//YRECFM
00317   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBNIR_SOIL(:,:),IRESP,HCOMMENT=YCOMMENT)
00318 ENDIF
00319 !
00320 YRECFM='L_ALBVIS_SOI'
00321 YCOMMENT=YRECFM
00322  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBVIS_SOIL,IRESP,HCOMMENT=YCOMMENT)
00323 IF (LDATA_ALBVIS_SOIL) THEN
00324   YRECFM='D_ALBVIS_SOI'
00325   YCOMMENT='X_Y_'//YRECFM
00326   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBVIS_SOIL(:,:),IRESP,HCOMMENT=YCOMMENT)
00327 ENDIF
00328 !
00329 YRECFM='L_ALBUV_SOI'
00330 YCOMMENT=YRECFM
00331  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_ALBUV_SOIL,IRESP,HCOMMENT=YCOMMENT)
00332 IF (LDATA_ALBUV_SOIL) THEN
00333   YRECFM='D_ALBUV_SOI'
00334   YCOMMENT='X_Y_'//YRECFM
00335   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_ALBUV_SOIL(:,:),IRESP,HCOMMENT=YCOMMENT)
00336 ENDIF
00337 !
00338 YRECFM='L_GMES'
00339 YCOMMENT=YRECFM
00340  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GMES,IRESP,HCOMMENT=YCOMMENT)
00341 IF (LDATA_GMES) THEN
00342   YRECFM='D_GMES'
00343   YCOMMENT='X_Y_'//YRECFM
00344   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GMES(:,:),IRESP,HCOMMENT=YCOMMENT)
00345 ENDIF
00346 !
00347 YRECFM='L_BSLAI'
00348 YCOMMENT=YRECFM
00349  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_BSLAI,IRESP,HCOMMENT=YCOMMENT)
00350 IF (LDATA_BSLAI) THEN
00351   YRECFM='D_BSLAI'
00352   YCOMMENT='X_Y_'//YRECFM
00353   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_BSLAI(:,:),IRESP,HCOMMENT=YCOMMENT)
00354 ENDIF
00355 !
00356 YRECFM='L_LAIMIN'
00357 YCOMMENT=YRECFM
00358  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_LAIMIN,IRESP,HCOMMENT=YCOMMENT)
00359 IF (LDATA_LAIMIN) THEN
00360   YRECFM='D_LAIMIN'
00361   YCOMMENT='X_Y_'//YRECFM
00362   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_LAIMIN(:,:),IRESP,HCOMMENT=YCOMMENT)
00363 ENDIF
00364 !
00365 YRECFM='L_SEFOLD'
00366 YCOMMENT=YRECFM
00367  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_SEFOLD,IRESP,HCOMMENT=YCOMMENT)
00368 IF (LDATA_SEFOLD) THEN
00369   YRECFM='D_SEFOLD'
00370   YCOMMENT='X_Y_'//YRECFM
00371   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_SEFOLD(:,:),IRESP,HCOMMENT=YCOMMENT)
00372 ENDIF
00373 !
00374 YRECFM='L_GC'
00375 YCOMMENT=YRECFM
00376  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_GC,IRESP,HCOMMENT=YCOMMENT)
00377 IF (LDATA_GC) THEN
00378   YRECFM='D_GC'
00379   YCOMMENT='X_Y_'//YRECFM
00380   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_GC(:,:),IRESP,HCOMMENT=YCOMMENT)
00381 ENDIF
00382 !
00383 YRECFM='L_DMAX'
00384 YCOMMENT=YRECFM
00385  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_DMAX,IRESP,HCOMMENT=YCOMMENT)
00386 IF (LDATA_DMAX) THEN
00387   YRECFM='D_DMAX'
00388   YCOMMENT='X_Y_'//YRECFM
00389   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_DMAX(:,:),IRESP,HCOMMENT=YCOMMENT)
00390 ENDIF
00391 !
00392 YRECFM='L_F2I'
00393 YCOMMENT=YRECFM
00394  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_F2I,IRESP,HCOMMENT=YCOMMENT)
00395 IF (LDATA_F2I) THEN
00396   YRECFM='D_F2I'
00397   YCOMMENT='X_Y_'//YRECFM
00398   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_F2I(:,:),IRESP,HCOMMENT=YCOMMENT)
00399 ENDIF
00400 !
00401 YRECFM='L_STRESS'
00402 YCOMMENT=YRECFM
00403  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_STRESS,IRESP,HCOMMENT=YCOMMENT)
00404 IF (LDATA_STRESS) THEN
00405   ALLOCATE(ZWORK(SIZE(LPAR_STRESS,1),SIZE(LPAR_STRESS,2)))
00406   ZWORK=0.
00407   WHERE(LPAR_STRESS) ZWORK=1.
00408   YRECFM='D_STRESS'
00409   YCOMMENT='X_Y_'//YRECFM
00410   CALL WRITE_SURF(HPROGRAM,YRECFM,ZWORK(:,:),IRESP,HCOMMENT=YCOMMENT)
00411   DEALLOCATE(ZWORK)
00412 ENDIF
00413 !
00414 YRECFM='L_H_TREE'
00415 YCOMMENT=YRECFM
00416  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_H_TREE,IRESP,HCOMMENT=YCOMMENT)
00417 IF (LDATA_H_TREE) THEN
00418   YRECFM='D_H_TREE'
00419   YCOMMENT='X_Y_'//YRECFM
00420   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_H_TREE(:,:),IRESP,HCOMMENT=YCOMMENT)
00421 ENDIF
00422 !
00423 YRECFM='L_RE25'
00424 YCOMMENT=YRECFM
00425  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_RE25,IRESP,HCOMMENT=YCOMMENT)
00426 IF (LDATA_RE25) THEN
00427   YRECFM='D_RE25'
00428   YCOMMENT='X_Y_'//YRECFM
00429   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_RE25(:,:),IRESP,HCOMMENT=YCOMMENT)
00430 ENDIF
00431 !
00432 YRECFM='L_CE_NITRO'
00433 YCOMMENT=YRECFM
00434  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CE_NITRO,IRESP,HCOMMENT=YCOMMENT)
00435 IF (LDATA_CE_NITRO) THEN
00436   YRECFM='D_CE_NITRO'
00437   YCOMMENT='X_Y_'//YRECFM
00438   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CE_NITRO(:,:),IRESP,HCOMMENT=YCOMMENT)
00439 ENDIF
00440 !
00441 YRECFM='L_CF_NITRO'
00442 YCOMMENT=YRECFM
00443  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CF_NITRO,IRESP,HCOMMENT=YCOMMENT)
00444 IF (LDATA_CF_NITRO) THEN
00445   YRECFM='D_CF_NITRO'
00446   YCOMMENT='X_Y_'//YRECFM
00447   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CF_NITRO(:,:),IRESP,HCOMMENT=YCOMMENT)
00448 ENDIF
00449 !
00450 YRECFM='L_CNA_NITRO'
00451 YCOMMENT=YRECFM
00452  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_CNA_NITRO,IRESP,HCOMMENT=YCOMMENT)
00453 IF (LDATA_CNA_NITRO) THEN
00454   YRECFM='D_CNA_NITRO'
00455   YCOMMENT='X_Y_'//YRECFM
00456   CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_CNA_NITRO(:,:),IRESP,HCOMMENT=YCOMMENT)
00457 ENDIF
00458 !
00459 YRECFM='L_IRRIG'
00460 YCOMMENT=YRECFM
00461  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_IRRIG,IRESP,HCOMMENT=YCOMMENT)
00462 IF (LDATA_IRRIG) THEN
00463   DO JTIME=1,NTIME
00464     WRITE(YRECFM,FMT='(A9,I2.2)') 'D_IRRIG_T',JTIME
00465     YCOMMENT='X_Y_IRRIG'
00466     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_IRRIG(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00467   ENDDO
00468 ENDIF
00469 !
00470 YRECFM='L_WATSUP'
00471 YCOMMENT=YRECFM
00472  CALL WRITE_SURF(HPROGRAM,YRECFM,LDATA_WATSUP,IRESP,HCOMMENT=YCOMMENT)
00473 IF (LDATA_WATSUP) THEN
00474   DO JTIME=1,NTIME
00475     WRITE(YRECFM,FMT='(A10,I2.2)') 'D_WATSUP_T',JTIME
00476     YCOMMENT='X_Y_WATSUP'
00477     CALL WRITE_SURF(HPROGRAM,YRECFM,XPAR_WATSUP(:,JTIME,:),IRESP,HCOMMENT=YCOMMENT)
00478   ENDDO
00479 ENDIF
00480 !
00481 IF (LHOOK) CALL DR_HOOK('WRITESURF_PGD_ISBA_PAR_N',1,ZHOOK_HANDLE)
00482 !
00483 !-------------------------------------------------------------------------------
00484 !
00485 END SUBROUTINE WRITESURF_PGD_ISBA_PAR_n