SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/write_diag_flaken.F90
Go to the documentation of this file.
00001 !     #########
00002 SUBROUTINE WRITE_DIAG_FLAKE_n(HPROGRAM,HWRITE)
00003 !     ###############################################################################
00004 !
00005 !!****  *WRITE_DIAG_FLAKE_n * - diagnostics for lakes
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !
00010 !!**  METHOD
00011 !!    ------
00012 !!
00013 !!    REFERENCE
00014 !!    ---------
00015 !!      
00016 !!
00017 !!    AUTHOR
00018 !!    ------
00019 !!     V. Masson 
00020 !!
00021 !!    MODIFICATIONS
00022 !!    -------------
00023 !!      Original    01/2004
00024 !!------------------------------------------------------------------
00025 !
00026 
00027 !
00028 USE MODD_SURF_PAR,       ONLY : XUNDEF
00029 USE MODD_FLAKE_n,      ONLY : TTIME
00030 USE MODD_DIAG_FLAKE_n, ONLY : XDIAG_TSTEP
00031 !
00032 USE MODI_WRITE_DIAG_SEB_FLAKE_n
00033 ! 
00034 !
00035 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00036 USE PARKIND1  ,ONLY : JPRB
00037 !
00038 USE MODI_WRITE_DIAG_MISC_FLAKE_n
00039 IMPLICIT NONE
00040 !
00041 !*      0.1    declarations of arguments
00042 !
00043  CHARACTER(LEN=6),   INTENT(IN)  :: HPROGRAM ! program calling surf. schemes
00044  CHARACTER(LEN=3),   INTENT(IN)  :: HWRITE   ! 'PGD' : only physiographic fields are written
00045 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00046 !                                           ! 'ALL' : all fields are written
00047 !
00048 !*      0.2    declarations of local variables
00049 !
00050 !-------------------------------------------------------------------------------------
00051 !
00052 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_FLAKE_N',0,ZHOOK_HANDLE)
00053 IF (HWRITE/='PGD') THEN
00054 !        
00055    IF (XDIAG_TSTEP==XUNDEF .OR. ABS(NINT(TTIME%TIME/XDIAG_TSTEP)*XDIAG_TSTEP-TTIME%TIME)<1.E-3 ) THEN
00056       CALL WRITE_DIAG_SEB_FLAKE_n(HPROGRAM)
00057       CALL WRITE_DIAG_MISC_FLAKE_n(HPROGRAM)
00058    END IF
00059 !        
00060 ENDIF
00061 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_FLAKE_N',1,ZHOOK_HANDLE)
00062 !-------------------------------------------------------------------------------------
00063 !
00064 END SUBROUTINE WRITE_DIAG_FLAKE_n