2cb695388a4a6125e53c1127fb68433a8dacfb74
[MNH-git_open_source-lfs.git] / src / MNH / mnh2lpdm.f90
1 !MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
3 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
4 !MNH_LIC for details. version 1.
5 !     ######spl
6         PROGRAM MNH2LPDM
7 !       ##############
8 !-----------------------------------------------------------------------------
9 !****   MNH2DIF COUPLAGE MESO-NH / SPRAY.
10 !
11 !       Auteur   :   Michel Bouzom, DP/SERV/ENV
12 !       Creation :   16.07.2002
13 !       Modification  : 07.01.2006 (T.LAUVAUX, adaptation LPDM)
14 !       Modification  : 04.01.2009 (F. BONNARDOT, DP/SER/ENV )
15 !
16 !-----------------------------------------------------------------------------
17 !
18 !
19 !
20 !*      0.  DECLARATIONS.
21 !           -------------
22 !
23 !*      0.1 Modules.
24 !
25 USE MODD_MNH2LPDM
26 USE MODI_IO_LL
27 USE MODD_CONF, ONLY : CPROGRAM
28 !
29 USE MODI_MNH2LPDM_INI
30 USE MODI_MNH2LPDM_ECH
31 !
32 !
33 !*      0.2 Variables locales.
34 !
35 IMPLICIT NONE
36 !
37 CHARACTER(LEN=28) :: YFNML,YFLOG        ! Nom   NAMELIST et LOG.
38 INTEGER           :: IFNML,IFLOG        ! Unite NAMELIST et LOG.
39 INTEGER           :: IFMTO,IFGRI,IFDAT  ! Unite METEO et GRILLE.
40 INTEGER           :: IREP,IVERB,JFIC
41 !
42 !
43 !
44 !
45 !*      1.  INITIALISATION.
46 !           ---------------
47 !
48 !*      1.1 Variables generales.
49 !
50 YFLOG    = 'METEO.log'
51 YFNML    = 'MNH2LPDM1.nam'
52 IVERB    =  5
53  CFMNH(:) = 'VIDE'
54 IFLOG = 52
55 IFGRI = 51
56 IFDAT = 53
57 !
58 !
59 !*      1.2 Initialisation routines LL.
60 !
61 CALL INITIO_LL
62 !
63 !
64 !*      1.3 Ouverture du fichier log.
65 !
66 CALL OPEN_LL(UNIT=IFLOG,FILE=YFLOG,IOSTAT=IREP,FORM='FORMATTED', &
67      ACTION='WRITE',MODE='GLOBAL')
68 !
69 !
70 !*      1.4 Lecture des namelists.
71 !
72 CALL OPEN_LL(UNIT=IFNML,FILE=YFNML,IOSTAT=IREP,FORM='FORMATTED', &
73      ACTION='READ',MODE='GLOBAL')
74 print *,'Ouverture fichier Namlist OK'
75 READ(UNIT=IFNML,NML=NAM_TURB)
76 READ(UNIT=IFNML,NML=NAM_FIC)
77 print *,'Lecture de NAM_FIC OK.'
78 CALL CLOSE_LL(YFNML,IREP,'KEEP')
79 !
80 !
81 !*      1.5 Comptage des FM a traiter.
82 !
83 IF (CFMNH(1).NE.'VIDE') THEN
84    NBMNH=1
85    DO WHILE (CFMNH(NBMNH+1).NE.'VIDE')
86       NBMNH=NBMNH+1
87    END DO
88    print *,NBMNH,' fichiers a traiter.'
89 ELSE
90    STOP
91 ENDIF   
92 !
93 !
94 !
95 !
96 !*      2.  TRAITEMENTS.
97 !           ------------
98 !
99 !*      2.1 Ouverture des fichiers METEO et GRILLE et DATE.
100 !
101 CALL OPEN_LL(UNIT=IFGRI,FILE=CFGRI,IOSTAT=IREP,FORM='FORMATTED', &
102   ACTION='WRITE',MODE='GLOBAL')
103 CALL OPEN_LL(UNIT=IFDAT,FILE=CFDAT,IOSTAT=IREP,FORM='FORMATTED', &
104   ACTION='WRITE',MODE='GLOBAL')
105 !
106 !
107 !*      2.2 Preparation du couplage.
108 !
109 CALL MNH2LPDM_INI(CFMNH(1),CFMNH(NBMNH),YFLOG,IFLOG,IFGRI,IFDAT,IVERB)
110 !
111 !
112 !*      2.3 Traitement des echeances.
113 !
114 DO JFIC=1,NBMNH
115    IFMTO = JFIC+60
116    print*,"CFMTO(JFIC)=",CFMTO(JFIC)
117    CALL OPEN_LL(UNIT=IFMTO,FILE=CFMTO(JFIC),IOSTAT=IREP,FORM='UNFORMATTED', &
118       ACTION='WRITE',MODE='GLOBAL',RECL=100000000)
119    CALL MNH2LPDM_ECH(CFMNH(JFIC),IFMTO,YFLOG,IFLOG,IVERB)
120    print*,"CLOSE_LL(CFMTO(JFIC)"
121    CALL CLOSE_LL(CFMTO(JFIC),IREP,'KEEP')
122 END DO
123 !
124 !
125 !*      2.4 Fermeture des fichiers, METEO, GRILLE et LOG.
126 !
127 CALL CLOSE_LL(CFGRI,IREP,'KEEP')
128 CALL CLOSE_LL(CFDAT,IREP,'KEEP')
129 CALL CLOSE_LL(YFLOG,IREP,'KEEP')
130 !
131 !
132 !
133 END PROGRAM MNH2LPDM