Philippe 23/02/2016: lfi2cdf: modif for JPHEXT/=1
[MNH-git_open_source-lfs.git] / tools / diachro / src / EXTRACTDIA / from_computing_units.f90
1 !     ############################################################
2       MODULE MODI_FROM_COMPUTING_UNITS
3 !     ############################################################
4 !
5 INTERFACE
6       SUBROUTINE FROM_COMPUTING_UNITS(HCHAMP,HUNITS)
7 !
8 CHARACTER(LEN=*) , intent(in)    :: HCHAMP     ! Nom du champ 
9 CHARACTER(LEN=*) , intent(inout) :: HUNITS     ! Unite
10 !
11 END SUBROUTINE FROM_COMPUTING_UNITS
12 END INTERFACE
13 END MODULE MODI_FROM_COMPUTING_UNITS
14 !
15 !------------------------------------------------------------------------------
16 !
17 !     ################
18       SUBROUTINE FROM_COMPUTING_UNITS(HCHAMP,HUNITS)
19 !     ################
20 !
21 !!****  *FROM_COMPUTING_UNITS* - 
22 !! 
23 !!
24 !!    PURPOSE
25 !!    -------
26 !  Retour vers l'unite initiale apres un passage a une unite adaptee au calcul
27 !  dans la routine To_Computing_Units(YCHAMP,CUNIT) 
28 !
29 !!**  METHOD
30 !   mettre a jour suivant les variables Mesonh qui necessitent ce passage
31 ! AU 01/2005 : les reflectivités radarexprimees en dBz
32 !              les temperatures de brillance
33 !! 
34 !!    AUTHORS
35 !!    -------
36 !!     N. Asencio * CNRM*
37 !!
38 !!    Copyright 2003,  Meteo-France and Laboratoire d'Aerologie
39 !!    All Rights Reserved
40 !!
41 !!    MODIFICATIONS
42 !!    -------------
43 !!      Original  25/01/2005  (N. Asencio)
44 !-------------------------------------------------------------------------------
45 !
46 !*       0.    DECLARATIONS
47 !              ------------
48 !
49 USE MODD_PARAMETERS, ONLY:XUNDEF
50 USE MODD_ALLOC_FORDIACHRO, ONLY: XVAR
51 IMPLICIT NONE
52 !
53 !*       0.1   Arguments d'appel
54 !
55 CHARACTER(LEN=*) , intent(in)    :: HCHAMP     ! Nom du champ 
56 CHARACTER(LEN=*) , intent(inout) :: HUNITS     ! Unite
57 !
58 !*       0.2 variables locales
59 !
60 !
61 !-------------------------------------------------------------------------------
62 !
63 !print *,'entree FROM_COMPUTING_UNITS ',TRIM(HCHAMP),' ',TRIM(HUNITS)
64 !
65 !
66 ! Critère= Unite modifiee dans To_Computing_Units
67 !
68 SELECT CASE (HUNITS)
69   CASE ('Ze_to_DBZ','Ze_listOBS')
70     ! Reflectivités radar
71     WHERE ( XVAR <= 0. ) XVAR=XUNDEF
72     WHERE ( XVAR /= XUNDEF ) XVAR=10*alog10(XVAR) 
73     ! Retour a l unite initiale
74     HUNITS='dBZ'
75     print *,'**** FROM_COMPUTING_UNITS:Passage Ze a DBZ avant ecriture ****'
76   CASE ('W_to_C')
77          ! finir les modd voulus et utiliser cet appel
78          ! Mesonh
79          ! passage rad -> temp brillance pour le satellite KGEO
80          ! call MAKE_RADSAT(KYEARF, KMONTHF, KDAYF, PSECF, &
81          !                  KGEO, KLON, PRADB, PRADF)
82          ! Viviane
83          !ZOBS est en radiance, je la transforme en tempe de brillance
84          ! IF (ZRADMOY > 0. .AND. (ALOG(ZRADMOY)-PCOEFA) /=  0. ) THEN
85          !  ZOBS(JILOOP,JJLOOP)=PCOEFB/(ALOG(ZRADMOY)-PCOEFA)
86
87
88          !WHERE ( XVAR /= XUNDEF .AND. XVAR > 0. .AND. (ALOG(XVAR)-PCOEFA) /=  0.) &
89          !XVAR=PCOEFB/(ALOG(XVAR)-PCOEFA)
90                  XVAR=XVAR
91          ! Retour à l unité initiale
92     HUNITS='C'
93     print *,'****FROM_COMPUTING_UNITS:Passage Radiance vers Temperature de Brillance avant ecriture ****'
94     print *, ' Ce passage est inactif pour l instant'
95
96 END SELECT
97 !
98 END SUBROUTINE FROM_COMPUTING_UNITS