SUBROUTINE SUVNMB(KOUT)

!**** SUBROUTINE SUVNMB - CMA VARIABLE CODE NUMBERS

!        D. VASILJEVIC    ECMWF    17/10/1984

!**   PURPOSE
!     -------

!        SET CMA VARIABLE CODE NUMBERS

!**   INTERFACE
!     ---------

!        CALL SUVNMB(KOUT)
!     WHERE:
!            KOUT = OUTPUT UNIT

!        SUVNMB IS CALLED BY

!**   METHOD
!     ------

!        CMA VARIABLE'S NUMBERS ARE DEFINED.
!        CHANGE NOVARIB AND POSSIBLY NVNUMAX WHEN ADDING NEW VARIABLES

!     See also : ifs/module/pardimo.F90 for JPNUMV (defines JPMXVAR)
!          and   odb/ddl/varno.h for variable numbering in ECMA/CCMA-ODB
!     Modified : Eric Wattrelot 04/09/27 Add variable VARNO for reflectivity
!                David Tan    14-Mar-05  Add HLS wind (Doppler wind lidar)
!                A. Benedetti 14-Mar-05  Add aerosol optical depth
!                Antje Dethof 09-May-05  Add GRG variables
!                A. Benedetti 06-Sep-06  Add other aerosol-related observations
!                H. Hersbach  08-Dec-06  Add soil moisture
!                S. Saarinen  21-Nov-07  Two new variables from BoM/MetOffice ODB-port
!                T. Montmerle 09/08/07   Add radar radial velocity
!                R. Engelen   20-Oct-08  Move greenhouse gases to end of array
!                J. Munoz Sab 26-Nov-09  Add real and imaginary part TB (L-band)
!-----------------------------------------------------------------------

USE PARKIND1  ,ONLY : JPIM     ,JPRB
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK

USE PARCMA   , ONLY : JPMXVAR
USE YOMVNMB  , ONLY : NOVARIB  ,NVNUMB  ,NVNUMAX

!*       1.       CMA VARIABLE'S NUMBERING
!                 ------------------------

!*          1.0   NO. OF VARIABLES

IMPLICIT NONE

INTEGER(KIND=JPIM),INTENT(IN)    :: KOUT 
REAL(KIND=JPRB) :: ZHOOK_HANDLE

#include "abor1.intfb.h"

IF (LHOOK) CALL DR_HOOK('SUVNMB',0,ZHOOK_HANDLE)

NVNUMB(:) = -1
NOVARIB     =  98
NVNUMAX     = 215
IF(NOVARIB > JPMXVAR)        THEN
  WRITE(KOUT,'(''0ERROR IN SUBROUTINE SUVNMB'')')
  WRITE(KOUT,'('' NO. OF VARIABLES BIGGER THAN ALLOWED'')')
  WRITE(KOUT,'('' NO. OF VARIABLES     :'',I10)') NOVARIB
  WRITE(KOUT,'('' MAX. NO. OF VARIABLES:'',I10)') JPMXVAR
  CALL ABOR1('SUBROUTINE SUVNMB')
ENDIF

!*          1.1   UPPER AIR U COMPONENT

NVNUMB(  1) =   3

!*          1.2   UPPER AIR V COMPONENT

NVNUMB(  2) =   4

!*          1.3   GEOPOTENTIAL

NVNUMB(  3) =   1

!*          1.4   THICKNESS

NVNUMB(  4) =  57

!*          1.5   UPPER AIR REL. HUMIDITY

NVNUMB(  5) =  29

!*          1.6   PWC

NVNUMB(  6) =   9

!*          1.7   2M REL. HUMIDITY

NVNUMB(  7) =  58

!*          1.8   UPPER AIR TEMPERATURE

NVNUMB(  8) =   2

!*          1.9   UPPER AIR DEW POINT

NVNUMB(  9) =  59

!*          1.10  2M TEMPERATURE

NVNUMB( 10) =  39

!*          1.11  2M DEW POINT

NVNUMB( 11) =  40

!*          1.12  SURFACE TEMPERATURE

NVNUMB( 12) =  11

!*          1.13  PRESSURE TENDENCY

NVNUMB( 13) =  30

!*          1.14  PAST WEATHER (W)

NVNUMB( 14) =  60

!*          1.15  PRESENT WEATHER (WW)

NVNUMB( 15) =  61

!*          1.16  VISIBILITY

NVNUMB( 16) =  62

!*          1.17  TYPE OF HIGH CLOUDS (Ch)

NVNUMB( 17) =  63

!*          1.18  TYPE OF MIDDLE CLOUDS (Cm)

NVNUMB( 18) =  64

!*          1.19  TYPE OF LOW CLOUDS (Cl)

NVNUMB( 19) =  65

!*          1.20  CLOUD BASE HEIGHT (Nh)

NVNUMB( 20) =  66

!*          1.21  LOW CLOUD AMOUNT (N)

NVNUMB( 21) =  67

!*          1.22  ADDITIONAL CLOUD GROUP HEIGHT (hh)

NVNUMB( 22) =  68

!*          1.23  ADDITIONAL CLOUD GROUP TYPE (C)

NVNUMB( 23) =  69

!*          1.24  ADDITIONAL CLOUD GROUP AMOUNT (Ns)

NVNUMB( 24) =  70

!*          1.25  SNOW DEPTH

NVNUMB( 25) =  71

!*          1.26  STATE OF GROUND (E)

NVNUMB( 26) =  72

!*          1.27  GROUND TEMPERATURE (TgTg)

NVNUMB( 27) =  73

!*          1.28  SPECIAL PHENOMENA (SpSp)

NVNUMB( 28) =  74

!*          1.29  SPECIAL PHENOMENA (SpSp)

NVNUMB( 29) =  75

!*          1.30  ICE CODE TYPE (Rs)

NVNUMB( 30) =  76

!*          1.31  ICE THICKNESS (EsEs)

NVNUMB( 31) =  77

!*          1.32  ICE (Is)

NVNUMB( 32) =  78

!*          1.33  ORIGINAL TIME PERIOD OF RAIN OBS. (TrTr)

NVNUMB( 33) =  79

!*          1.34  6HR RAIN (LIQUID PART)

NVNUMB( 34) =  80

!*          1.35  MAX. TEMPERATURE (JJ)

NVNUMB( 35) =  81

!*          1.36  SHIP SPEED (Vs)

NVNUMB( 36) =  82

!*          1.37  SHIP DIRECTION (Ds)

NVNUMB( 37) =  83

!*          1.38  WAVE HEIGHT

NVNUMB( 38) =  84

!*          1.39  WAVE PERIOD

NVNUMB( 39) =  85

!*          1.40  WAVE DIRECTION

NVNUMB( 40) =  86

!*          1.41  GENERAL CLOUD GROUP

NVNUMB( 41) =  87

!*          1.42  REL. HUMIDITY FROM LOW CLOUDS

NVNUMB( 42) =  88

!*          1.43  REL. HUMIDITY FROM MIDDLE CLOUDS

NVNUMB( 43) =  89

!*          1.44  REL. HUMIDITY FROM HIGH CLOUDS

NVNUMB( 44) =  90

!*          1.45  TOTAL AMOUNT OF CLOUDS

NVNUMB( 45) =  91

!*          1.46  6HR SNOWFALL (SOLID PART OF RAIN)

NVNUMB( 46) =  92

!*          1.47  SURFACE PRESSURE

NVNUMB( 47) = 110

!*          1.48  WIND DIRECTION

NVNUMB( 48) = 111

!*          1.49  WIND FORCE

NVNUMB( 49) = 112

!*          1.50  BRIGHTNESS TEMPERATURE

NVNUMB( 50) = 119

!*          1.51  RAW RADIANCE

NVNUMB( 51) = 120

!*          1.52  CLOUD AMOUNT FROM SATELLITE

NVNUMB( 52) = 121

!*          1.53  SIGMA 0

NVNUMB( 53) = 122

!*          1.54  WIND SHEAR (DU)

NVNUMB( 54) =   5

!*          1.55  WIND SHEAR (DV)

NVNUMB( 55) =   6

!*          1.56  10M U COMPONENT

NVNUMB( 56) =  41

!*          1.57  10M V COMPONENT

NVNUMB( 57) =  42

!*          1.58  LAYER REL. HUMIDITY

NVNUMB( 58) =  19

!*          1.59  AUX. VARIABLE

NVNUMB( 59) = 200

!*          1.60  CLOUD LIQUID WATER

NVNUMB( 60) = 123

!*          1.61  AMBIGUOUS V COMPONENT

NVNUMB( 61) = 124

!*          1.62  AMBIGUOUS U COMPONENT

NVNUMB( 62) = 125

!*          1.63  SPECIFIC HUMIDITY (Q)

NVNUMB( 63) =   7

!*          1.64  Surface WIND DIRECTION

NVNUMB( 64) = 126

!*          1.65  Surface WIND SPEED

NVNUMB( 65) = 127

!*          1.66  VERTICAL SPEED

NVNUMB( 66) =   8

!*          1.67  VIRTUAL TEMPERATURE

NVNUMB( 67) =  56

!*          1.68  LAYER OZONE

NVNUMB( 68) = 206

!*          1.69  HEIGHT

NVNUMB( 69) = 156

!*          1.70  SSM/I 1D-VAR MULTILEVEL (PSEUDO)-VARIABLE

NVNUMB( 70) = 215

!*          1.71  PAST WEATHER 2 (used in synoptic maps)

NVNUMB( 71) = 160

!*          1.72  CHARACTERISTIC OF PRESSURE TENDENCY (used in synoptic maps)

NVNUMB( 72) = 130

!*          1.73  SEA WATER TEMPERATURE (used in synoptic maps)

NVNUMB( 73) = 12

!*          1.74  Radar Reflectivity

NVNUMB( 74) = 192

!*          1.75  ATM. PATH DELAY IN SATELLITE SIGNAL

NVNUMB( 75) = 128

!*          1.76 Radio occultation bending angle

NVNUMB( 76) = 162 

!*          1.77  Horizontal line-of-sight wind component

NVNUMB( 77) = 187

!*          1.78 Aerosol optical depth at 0.55 microns (AOD)

NVNUMB( 78) = 174 


!*          1.79 Limb Radiances

NVNUMB( 79) = 163 

!*          1.80-1.84 GEMS reactive gases, GRG 

NVNUMB( 80) = 181   !NO2
NVNUMB( 81) = 182   !SO2
NVNUMB( 82) = 183   !CO
NVNUMB( 83) = 184   !For
NVNUMB( 84) = 185   !GO3

!*          1.85 Cloud optical depth  (COD)

NVNUMB( 85) = 175

!*          1.86 Ratio of fine mode to total aerosol optical depth at 0.55 microns (RAO)

NVNUMB( 86) = 176

!*          1.87 Aerosol optical depth multi-channel (ODA)

NVNUMB( 87) = 177

!*          1.88  Aerosol reflectance multi-channel (RFA)

NVNUMB( 88) = 178

!*          1.89 Normalized Soil Moisture (0-100%)

NVNUMB( 89) = 179

!*          1.90 Soil Moisture

NVNUMB( 90) = 180
!*          1.91 Phase of aircraft flight (from BUFR-code 008004/BoM)

NVNUMB( 91) = 201

!*          1.92 Height assignment method (from BUFR-code 002231/BoM)

NVNUMB( 92) = 211

!*          1.93  Radar doppler wind

NVNUMB( 93) = 195

!*          1.94-1.95 GHG

NVNUMB( 94) = 186   !CO2
NVNUMB( 95) = 188   !CH4
NVNUMB( 96) = 189   !N2O

!*          1.96 Real and imaginary part TB L-band

NVNUMB( 97) = 190   ! real
NVNUMB( 98) = 191   ! imaginary
!*
!-----------------------------------------------------------------------

IF (LHOOK) CALL DR_HOOK('SUVNMB',1,ZHOOK_HANDLE)
END SUBROUTINE SUVNMB
