SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
close_namelist.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 close_namelist(HPROGRAM,KLUNAM)
7 ! #######################################################
8 !
9 !!**** *CLOSE_NAMELIST* - generic routine to close a namelist file
10 !!
11 !! PURPOSE
12 !! -------
13 !!
14 !!** METHOD
15 !! ------
16 !!
17 !! EXTERNAL
18 !! --------
19 !!
20 !!
21 !! IMPLICIT ARGUMENTS
22 !! ------------------
23 !!
24 !! REFERENCE
25 !! ---------
26 !!
27 !!
28 !! AUTHOR
29 !! ------
30 !! V. Masson *Meteo France*
31 !!
32 !! MODIFICATIONS
33 !! -------------
34 !! Original 01/2004
35 !-------------------------------------------------------------------------------
36 !
37 !* 0. DECLARATIONS
38 ! ------------
39 !
40 #ifdef SFX_ASC
41 USE modi_close_namelist_asc
42 #endif
43 #ifdef SFX_FA
44 USE modi_close_namelist_fa
45 #endif
46 #ifdef SFX_LFI
47 USE modi_close_namelist_lfi
48 #endif
49 #ifdef SFX_OL
50 USE modi_close_namelist_ol
51 #endif
52 #ifdef SFX_NC
53 USE modi_close_namelist_nc
54 #endif
55 #ifdef SFX_MNH
56 USE modi_mnhclose_namelist
57 #endif
58 !
59 USE yomhook ,ONLY : lhook, dr_hook
60 USE parkind1 ,ONLY : jprb
61 !
62 IMPLICIT NONE
63 !
64 !* 0.1 Declarations of arguments
65 ! -------------------------
66 !
67  CHARACTER(LEN=6), INTENT(IN) :: hprogram ! main program
68 INTEGER, INTENT(IN) :: klunam ! logical unit of namelist
69 REAL(KIND=JPRB) :: zhook_handle
70 !
71 !* 0.2 Declarations of local variables
72 ! -------------------------------
73 !
74 !-------------------------------------------------------------------------------
75 !
76 IF (lhook) CALL dr_hook('CLOSE_NAMELIST',0,zhook_handle)
77 !$OMP SINGLE
78 IF (hprogram=='MESONH') THEN
79 #ifdef SFX_MNH
80  CALL mnhclose_namelist(hprogram,klunam)
81 #endif
82 ELSE IF (hprogram=='OFFLIN') THEN
83 #ifdef SFX_OL
84  CALL close_namelist_ol(hprogram,klunam)
85 #endif
86 ELSE IF (hprogram=='ASCII ') THEN
87 #ifdef SFX_ASC
88  CALL close_namelist_asc(hprogram,klunam)
89 #endif
90 ELSE IF (hprogram=='AROME ') THEN
91 #ifdef SFX_ARO
92  CALL aroclose_namelist(hprogram,klunam)
93 #endif
94 ELSE IF (hprogram=='FA ') THEN
95 #ifdef SFX_FA
96  CALL close_namelist_fa(hprogram,klunam)
97 #endif
98 ELSE IF (hprogram=='LFI ') THEN
99 #ifdef SFX_LFI
100  CALL close_namelist_lfi(hprogram,klunam)
101 #endif
102 ELSE IF (hprogram=='NC ') THEN
103 #ifdef SFX_NC
104  CALL close_namelist_nc(hprogram,klunam)
105 #endif
106 END IF
107 !$OMP END SINGLE
108 IF (lhook) CALL dr_hook('CLOSE_NAMELIST',1,zhook_handle)
109 !
110 !-------------------------------------------------------------------------------
111 !
112 END SUBROUTINE close_namelist
subroutine close_namelist_lfi(HPROGRAM, KLUNAM)
subroutine close_namelist_asc(HPROGRAM, KLUNAM)
subroutine close_namelist_fa(HPROGRAM, KLUNAM)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine close_namelist_nc(HPROGRAM, KLUNAM)
subroutine close_namelist_ol(HPROGRAM, KLUNAM)