Merge branch 'LIBTOOLS-master' into MNH-52X
[MNH-git_open_source-lfs.git] / src / SURFEX / write_diag_seb_oceann.F90
1 !SURFEX_LIC Copyright 1994-2014 Meteo-France 
2 !SURFEX_LIC This is part of the SURFEX software governed by the CeCILL-C  licence
3 !SURFEX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SURFEX_LIC for details. version 1.
5 !     #########
6       SUBROUTINE WRITE_DIAG_SEB_OCEAN_n(HPROGRAM)
7 !     #################################
8 !
9 !!****  *WRITE_DIAG_SEB_OCEAN_n* - write the oceanic diagnostic fields
10 !!
11 !!    PURPOSE
12 !!    -------
13 !!
14 !!
15 !!**  METHOD
16 !!    ------
17 !!
18 !!    REFERENCE
19 !!    ---------
20 !!
21 !!
22 !!    AUTHOR
23 !!    ------
24 !!      C. Lebeaupin Brossier   *Meteo France*  
25 !!
26 !!    MODIFICATIONS
27 !!    -------------
28 !!      Original    04/2007
29 !-------------------------------------------------------------------------------
30 !
31 !*       0.    DECLARATIONS
32 !              ------------
33 !
34 USE MODD_OCEAN_n, ONLY : XSEAHMO
35 USE MODD_DIAG_OCEAN_n
36 !
37 USE MODI_INIT_IO_SURF_n
38 USE MODI_WRITE_SURF
39 USE MODI_END_IO_SURF_n
40 !
41 !
42 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
43 USE PARKIND1  ,ONLY : JPRB
44 !
45 IMPLICIT NONE
46 !
47 !*       0.1   Declarations of arguments
48 !              -------------------------
49 !
50  CHARACTER(LEN=6),  INTENT(IN)  :: HPROGRAM ! program calling
51 !
52 !*       0.2   Declarations of local variables
53 !              -------------------------------
54 !
55 INTEGER           :: IRESP          ! IRESP  : return-code if a problem appears
56  CHARACTER(LEN=12) :: YRECFM         ! Name of the article to be read
57  CHARACTER(LEN=100):: YCOMMENT       ! Comment string
58 REAL(KIND=JPRB) :: ZHOOK_HANDLE
59 !
60 !-------------------------------------------------------------------------------
61 !
62 !         Initialisation for IO
63 !
64 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_SEB_OCEAN_N',0,ZHOOK_HANDLE)
65  CALL INIT_IO_SURF_n(HPROGRAM,'SEA   ','SEAFLX','WRITE')
66 !
67 !
68 !*       2.     Mean values in OML :
69 !               --------------------
70 !
71   YRECFM='TOML'
72   YCOMMENT='X_Y_'//YRECFM
73 !
74   CALL WRITE_SURF(HPROGRAM,YRECFM,XTOCMOY(:),IRESP,HCOMMENT=YCOMMENT)
75 !
76   YRECFM='SOML'
77   YCOMMENT='X_Y_'//YRECFM
78 !
79   CALL WRITE_SURF(HPROGRAM,YRECFM,XSOCMOY(:),IRESP,HCOMMENT=YCOMMENT)
80 !
81   YRECFM='UOML'
82   YCOMMENT='X_Y_'//YRECFM
83 !
84   CALL WRITE_SURF(HPROGRAM,YRECFM,XUOCMOY(:),IRESP,HCOMMENT=YCOMMENT)
85 !
86   YRECFM='VOML'
87   YCOMMENT='X_Y_'//YRECFM
88 !
89   CALL WRITE_SURF(HPROGRAM,YRECFM,XVOCMOY(:),IRESP,HCOMMENT=YCOMMENT)
90 !
91   YRECFM='DOML'
92   YCOMMENT='X_Y_'//YRECFM
93 !
94   CALL WRITE_SURF(HPROGRAM,YRECFM,XDOCMOY(:),IRESP,HCOMMENT=YCOMMENT)
95 !------------------------------------------------------------------------------
96 !
97 !         End of IO
98 !
99  CALL END_IO_SURF_n(HPROGRAM)
100 IF (LHOOK) CALL DR_HOOK('WRITE_DIAG_SEB_OCEAN_N',1,ZHOOK_HANDLE)
101 !
102 !
103 END SUBROUTINE WRITE_DIAG_SEB_OCEAN_n