Newer
Older
!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
!-----------------------------------------------------------------
!--------------- special set of characters for RCS information
!-----------------------------------------------------------------
! $Source$ $Revision$
! MASDEV4_7 surfex 2006/05/18 13:07:25
!-----------------------------------------------------------------
! #########################
MODULE MODI_MNHGET_DESFM_n
! #########################
INTERFACE
SUBROUTINE MNHGET_DESFM_n(HACTION,KLUDES)
!
CHARACTER(LEN=5), INTENT(IN) :: HACTION ! 'READ ', 'WRITE'
INTEGER, INTENT(OUT) :: KLUDES ! logical unit of .des file
!
END SUBROUTINE MNHGET_DESFM_n
!
END INTERFACE
END MODULE MODI_MNHGET_DESFM_n
!
! #######################################################
SUBROUTINE MNHGET_DESFM_n(HACTION,KLUDES)
! #######################################################
!
!!**** *MNHGET_DESFM* - routine to open .des file
!!
!! PURPOSE
!! -------
!!
!!** METHOD
!! ------
!!
!! EXTERNAL
!! --------
!!
!!
!! IMPLICIT ARGUMENTS
!! ------------------
!!
!! REFERENCE
!! ---------
!!
!!
!! AUTHOR
!! ------
!! S.Malardel *Meteo France*
!!
!! MODIFICATIONS
!! -------------
!! Original 09/2003
!-------------------------------------------------------------------------------
!
!* 0. DECLARATIONS
! ------------
!
!
USE MODD_CONF, ONLY : CPROGRAM
USE MODD_LUNIT_n, ONLY : CINIFILE
USE MODD_LUNIT, ONLY : CLUOUT0, COUTFMFILE, CPGDFILE
!
USE MODE_FM
USE MODE_ll
USE MODE_MODELN_HANDLER
!
!
IMPLICIT NONE
!
!* 0.1 Declarations of arguments
! -------------------------
!
CHARACTER(LEN=5), INTENT(IN) :: HACTION ! 'READ ', 'WRITE'
INTEGER, INTENT(OUT) :: KLUDES ! logical unit of .des file
!
!* 0.2 Declarations of local variables
! -------------------------------
!
INTEGER :: ILUOUT !
INTEGER :: IRESP ! IRESP : return-code if a problem appears
! at the open of the file in LFI routines
INTEGER :: IMI ! model index
!
CHARACTER(LEN=16) :: YLUOUT ! output listing file name
CHARACTER(LEN=32) :: YDESFM ! .des file name
!
!-------------------------------------------------------------------------------
!
!
!* 1. initialisation of logical unit of output listing
!
SELECT CASE(CPROGRAM)
CASE('REAL ','IDEAL ','DIAG ')
YLUOUT = CLUOUT0
CASE('MESONH','SPAWN ')
IMI = GET_CURRENT_MODEL_INDEX()
WRITE(YLUOUT,FMT='(A14,I1,A1)') 'OUTPUT_LISTING',IMI,' '

WAUTELET Philippe
committed
CASE DEFAULT
YLUOUT = ''
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
END SELECT
!
CALL FMLOOK_ll(YLUOUT,YLUOUT,ILUOUT,IRESP)
!
!* 2. initialisation of logical units of .des files
!
YDESFM =' '
KLUDES=0
IF (HACTION=='READ ') THEN
SELECT CASE(CPROGRAM)
CASE('MESONH','DIAG ')
YDESFM=ADJUSTL(ADJUSTR(CINIFILE)//'.des')
CALL FMLOOK_ll(YDESFM,YLUOUT,KLUDES,IRESP)
CASE('REAL ')
YDESFM=ADJUSTL(ADJUSTR(CPGDFILE)//'.des')
CALL FMLOOK_ll(YDESFM,YLUOUT,KLUDES,IRESP)
CASE('IDEAL ')
KLUDES = 0
END SELECT
ELSE IF (HACTION=='WRITE') THEN
IF (CPROGRAM == 'PGD ' .OR. CPROGRAM =='NESPGD' .OR. &
CPROGRAM == 'ZOOMPG' .OR. CPROGRAM =='DIAG ' ) THEN
KLUDES = 0
ELSE
YDESFM=ADJUSTL(ADJUSTR(COUTFMFILE)//'.des')
CALL FMLOOK_ll(YDESFM,YLUOUT,KLUDES,IRESP)
END IF
END IF
!
!
!-------------------------------------------------------------------------------
!
END SUBROUTINE MNHGET_DESFM_n