MODULE YOMCMDDR

USE PARKIND1  ,ONLY : JPIM

IMPLICIT NONE

SAVE

!*    COMDECK YOMCMDDR - CMA FIRST AND SECOND DDR FORMATS

!        D. VASILJEVIC     ECMWF   08/09/1994

!*     YOMCMD1 - CMA FIRST DDR FORMAT

!     INTEGER SECTION 
!     ---------------
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLENCD1      I     LEN. OF FIRST CMA DDR
!     SELF-DEF  NLEND1I      I     LEN. OF FIRST CMA DDR INTEGER SEC.
!         1     NCD1LN       I     FIRST DDR LEN.
!         2     NCD1NIS      I     NO. OF NON INTEGER SECTIONS
!         3     NCD1TF       I     TYPE OF FIRST NON INTEGER SECTION
!         4     NCD1TS       I     TYPE OF SECOND NON INTEGER SECTION
!         5     NCD1IL       I     LEN. OF INTEGER SECTION
!         6     NCD1LFS      I     LEN. OF FIRST NON INTEGER SECTION
!         7     NCD1LSS      I     LEN. OF SECOND NON INTEGER SECTION
!         8     NCD1NL       I     LEN. OF NEXT DDR
!         9     NCD1CT       IP    CREATION TIME
!        10     NCD1CD       IP    CREATION DATE
!        11     NCD1OT       IP    TIME OF THE MIDDLE OF OBS. PERIOD
!        12     NCD1OD       IP    DATE OF THE MIDDLE OF OBS. PERIOD
!        13     NCD1NS       I     NO. OF SEC. PER TIME UNIT
!        14     NCD1OP       I     LEN. OF OBS. PERIOD
!        15     NCD1NPU      I     NO. OF PLANNED UPDATES
!        16     NCD1NUP      I     NO. OF PERFORMED UPDATES
!        17     NCD1AD       I     NO. OF ADDITIONAL DEPARTURES
!        18     NCD1ND       I     NO. OF DDRS
!        19     NCD1DR       I     NO. OF DATA RECORDS
!        20     NCD1LD       I     MAX. LEN. OF DDR
!        21     NCD1MR       I     MAX. LEN. OF DATA REC.
!        22     NCD1RM       I     MAX. LEN. OF ECMA REPORT
!        23     NCD1NF       I     TOTAL NO. OF ECMA FILES
!        24     NCD1SQ       I     ECMA FILE SQ. NO.
!        25     NCD1TM       I     NO. OF TIME SLOTS
!        26     NCD1MOT      I     MAX. NO. OF OBS. TYPES
!        27     NCD1TO       I     TOTAL NO. OF OBS.
!        28     NCD1NSY      I     NO. OF SYNOP OBS.
!        29     NCD1NAI      I     NO. OF AIREP OBS.
!        30     NCD1NSA      I     NO. OF SATOB OBS.
!        31     NCD1NDB      I     NO. OF DRIBU OBS.
!        32     NCD1NTE      I     NO. OF TEMP OBS.
!        33     NCD1NPI      I     NO. OF PILOT OBS.
!        34     NCD1NSM      I     NO. OF SATEM (NON-RADIANCE) OBS.
!        35     NCD1NT       I     NO. OF SATEM (TOVS RADIANCE) OBS.
!        36     NCD1NPA      I     NO. OF PAOB OBS.
!        37     NCD1SC       I     NO. OF SCATT. OBS.
!        38     NCD1NLM      I     NO. OF LIMB OBS.
!        39     NCD1NSSM     I     NO. OF SSMI OBS.
!        40     NCD1NAT      I     NO. OF SATEM (ATOVS; LEVEL 1C/GEOS
!                                  RADIANCE) OBS.
!        41     NCD1NRO3     I     NO. OF SATEM (RETRIEVED OZONE LAYERS) OBS.
!        42     NCD1NRAD     I     NO. OF RADAR REFL.
!        43-50               I     RESERVED
!        51     NCD1AL       I     TOTAL LENGTH OF ECMA
!        52     NCD1TVA      I     TYPE OF VAR. ANAL.
!        53     NCD1CON      I     IFS CONF. NO.
!        54     NCD1NST      I     IFS NO. OF TIME STEPS
!        55     NCD1NC       I     BASIC LEN. OF REP. HEADER
!        56     NCD1BLB      I     BASIC LEN. OF REP. BODY ENTRY
!        57     NCD11DL      I     NO. OF 1D VAR (TOVS) RETRIEVED LEVELS
!        58     NCD11DV      I     NO. OF 1D VAR (TOVS) UPPER AIR
!                                  RETRIEVED VARIABLES
!        59     NCD11DS      I     NO. OF 1D VAR (TOVS) SINGLE LEVEL
!                                  RETRIEVED VARIABLES
!        60     NCD1MPF      I     MODEL PROFILE IND.
!        61     NCD1MSV      I     NO. OF MODEL SURFACE VARIABLES
!        62     NCD1MLV      I     NO. OF MODEL LEVELS
!        63     NCD1MUV      I     NO. OF MODEL UPPERAIR VARIABLES
!        64     NCD1NBS      I     NO. OF INPUT/OUTPUT BUFR FILES - 
!                                  6HR TIME SLOTS
!        65     NCD11BSD     I     FIRST BUFR 6HR TIME SLOT DATE
!        66     NCD11BST     I     FIRST BUFR 6HR TIME SLOT TIME
!        67     NCD12BSD     I     SECOND BUFR 6HR TIME SLOT DATE
!        68     NCD12BST     I     SECOND BUFR 6HR TIME SLOT TIME
!        69     NCD13BSD     I     THIRD BUFR 6HR TIME SLOT DATE
!        70     NCD13BST     I     THIRD BUFR 6HR TIME SLOT TIME
!        71     NCD14BSD     I     FOURTH BUFR 6HR TIME SLOT DATE
!        72     NCD14BST     I     FOURTH BUFR 6HR TIME SLOT TIME
!        73     NCD15BSD     I     FIFTH BUFR 6HR TIME SLOT DATE
!        74     NCD15BST     I     FIFTH BUFR 6HR TIME SLOT TIME
!        75     NCD11DLS     I     NO. OF 1D VAR (SSMI) RETRIEVED LEVELS
!        76     NCD11DVS     I     NO. OF 1D VAR (SSMI) UPPER AIR
!                                  RETRIEVED VARIABLES
!        77     NCD11DSS     I     NO. OF 1D VAR (SSMI) SINGLE LEVEL
!                                  RETRIEVED VARIABLES
!        78     NCD11DLA     I     NO. OF 1D VAR (ATOVS; LEVEL 1C/GEOS)
!                                  RETRIEVED LEVELS
!        79     NCD11DVA     I     NO. OF 1D VAR (ATOVS; LEVLE 1C/GEOS)
!                                  UPPER AIR
!                                  RETRIEVED VARIABLES
!        80     NCD11DSA     I     NO. OF 1D VAR (ATOVS; LEVEL 1C/GEOS)
!                                  SINGLE LEVEL
!        81     NCD1SOH      I     TOVS/SSMI/ATOVS(LEVEL 1C/GEOS) OPTIONAL
!                                  HEADER CONTENT PRESENCE IND.
!        82-100              I     NOT DEFINED
!     SELF-DEF  NTSL_STEPSIZE
!                            I     NO. OF WORDS PER TIMESLOT: 10 + JPMXOTP (or MAX. OBS. TYPE)
!       101     NCD1TSL_NUMSLOTS
!                            I     NO. OF TIMESLOT INFORMATION PRESENT
!       102     NCD1TSL_WORDS
!                            I     ACTUAL NO. OF WORDS PER TIMESLOT
!       103     NCD1TSL_INIT_DATE
!                            IP    START DATE OF THE WHOLE ASSIMILATION PERIOD
!       104     NCD1TSL_INIT_TIME
!                            IP    START TIME OF THE WHOLE ASSIMILATION PERIOD
!       105     NCD1TSL_BACKWARD_TIME
!                            I     BACKWARD TIME (ANALYSIS TIME to ASSIM. START; <= 0)
!       106     NCD1TSL_FORWARD_TIME
!                            I     FORWARD TIME (ANALYSIS TO ASSIM. END TIME; >= 0) 
!       107     NCD1TSL_TIME_DELTA
!                            I     NOMINAL DELTA TIME OF A TIMESLOT

!--   The following NCD1TSL_WORDS are repeated for each timeslot <= JPXTSL
!     Consequently, the pointer to the DDR-array is incremented by NCD1_WORDS,
!     if defined. Otherwise incremented by the precompiled value NTSL_STEPSIZE.

!**   NCD1TSL_WORDS OF DATA FOR EACH TIMESLOT
!     The next free slot in DDR#1 is at 107 + JPXTSL * NTSL_STEPSIZE + 1
!     If we assume that JPXTSL is 25, NTSL_STEPSIZE is 20 (10+10), then it is 
!     at position 608.

!       108     NCD1TSL_TIMESLOT_NO
!                            I     THE TIMESLOT NUMBER IN CONCERN
!       109     NCD1TSL_END_DATE
!                            IP    END DATE
!       110     NCD1TSL_END_TIME
!                            IP    END TIME
!       111     NCD1TSL_DATALEN
!                            I     CMA LENGTH
!       112     NCD1TSL_NOBS
!                            I     NO. OF OBS.
!       113     NCD1TSL_WEIGHT
!                            I     APPROX. OBS. WEIGHT FOR PARTITION
!       114     NCD1TSL_NWLAT 
!                            I     NORTH-WEST MILLILATITUDE OF THE PARTITION
!       115     NCD1TSL_NWLON
!                            I     NORTH-WEST MILLILONGITUDE OF THE PARTITION
!       116     NCD1TSL_SELAT
!                            I     SOUTH-EAST MILLILATITUDE OF THE PARTITION
!       117     NCD1TSL_SELON
!                            I     SOUTH-EAST MILLILONGITUDE OF THE PARTITION
!       118     NCD1TSL_OBSTYPE1
!                            I     NO. OF OBS. OF THE TYPE#1
!       119     NCD1TSL_OBSTYPE2
!                            I     NO. OF OBS. OF THE TYPE#2
!       120     NCD1TSL_OBSTYPE3
!                            I     NO. OF OBS. OF THE TYPE#3
!       121     NCD1TSL_OBSTYPE4
!                            I     NO. OF OBS. OF THE TYPE#4
!       122     NCD1TSL_OBSTYPE5
!                            I     NO. OF OBS. OF THE TYPE#5
!       123     NCD1TSL_OBSTYPE6
!                            I     NO. OF OBS. OF THE TYPE#6
!       124     NCD1TSL_OBSTYPE7
!                            I     NO. OF OBS. OF THE TYPE#7
!       125     NCD1TSL_OBSTYPE8
!                            I     NO. OF OBS. OF THE TYPE#8
!       126     NCD1TSL_OBSTYPE9
!                            I     NO. OF OBS. OF THE TYPE#9
!       127     NCD1TSL_OBSTYPE10
!                            I     NO. OF OBS. OF THE TYPE#10
!       608-1024             I     NOT DEFINED 

!     REAL SECTION
!     ------------ 
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLEND1R      I     LEN. OF FIRST CMA DDR REAL SEC.
!     1-1024                 R     NOT DEFINED

!     CHARACTER SECTION
!     -----------------
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLEND1C      I     LEN. OF FIRST CMA DDR CHARACTER SEC.
!         1     NCD1PV1      C     PRE-PROCESSOR VERSION NO.
!         2     NCD1PV2      C     PRE-PROCESSOR VERSION NO.
!         3     NCD1PV3      C     PRE-PROCESSOR VERSION NO.
!         4     NCD1PV4      C     PRE-PROCESSOR VERSION NO.
!         5     NCD1PV5      C     PRE-PROCESSOR VERSION NO.
!         6     NCD1PV6      C     PRE-PROCESSOR VERSION NO.
!         7     NCD1PV7      C     PRE-PROCESSOR VERSION NO.
!         8     NCD1PV8      C     PRE-PROCESSOR VERSION NO.
!         9     NCD1EN1      C     EXPERIMENT NAME
!        10     NCD1EN2      C     EXPERIMENT NAME
!        12     NCD1EN3      C     EXPERIMENT NAME
!        13     NCD1EN4      C     EXPERIMENT NAME
!        14     NCD1EN5      C     EXPERIMENT NAME
!        15     NCD1EN6      C     EXPERIMENT NAME
!        16     NCD1EN7      C     EXPERIMENT NAME
!        17     NCD1EN8      C     EXPERIMENT NAME
!        18     NCD1EN9      C     EXPERIMENT NAME
!        19     NCD1EN10     C     EXPERIMENT NAME
!        20     NCD1EN11     C     EXPERIMENT NAME
!        21     NCD1EN12     C     EXPERIMENT NAME
!        22     NCD1EN13     C     EXPERIMENT NAME
!        23     NCD1EN14     C     EXPERIMENT NAME
!        24     NCD1EN15     C     EXPERIMENT NAME
!        25     NCD1EN16     C     EXPERIMENT NAME
!        26     NCD1VAT      C     VARIATIONAL JOB TYPE
!        27-1024             C     NOT DEFINED

INTEGER(KIND=JPIM) :: NLENCD1
INTEGER(KIND=JPIM) :: NLEND1I
INTEGER(KIND=JPIM) :: NLEND1R
INTEGER(KIND=JPIM) :: NLEND1C
INTEGER(KIND=JPIM) :: NCD1LN            ! L
INTEGER(KIND=JPIM) :: NCD1NIS           ! I
INTEGER(KIND=JPIM) :: NCD1TF            ! I
INTEGER(KIND=JPIM) :: NCD1TS            ! I
INTEGER(KIND=JPIM) :: NCD1IL            ! L
INTEGER(KIND=JPIM) :: NCD1LFS           ! L
INTEGER(KIND=JPIM) :: NCD1LSS           ! L
INTEGER(KIND=JPIM) :: NCD1NL            ! L
INTEGER(KIND=JPIM) :: NCD1CT            ! I
INTEGER(KIND=JPIM) :: NCD1CD            ! I
INTEGER(KIND=JPIM) :: NCD1OT            ! I
INTEGER(KIND=JPIM) :: NCD1OD            ! I
INTEGER(KIND=JPIM) :: NCD1NS            ! I
INTEGER(KIND=JPIM) :: NCD1OP            ! I
INTEGER(KIND=JPIM) :: NCD1NPU           ! I
INTEGER(KIND=JPIM) :: NCD1NUP           ! I
INTEGER(KIND=JPIM) :: NCD1AD            ! I
INTEGER(KIND=JPIM) :: NCD1ND            ! I
INTEGER(KIND=JPIM) :: NCD1DR            ! I
INTEGER(KIND=JPIM) :: NCD1LD            ! I
INTEGER(KIND=JPIM) :: NCD1MR            ! I
INTEGER(KIND=JPIM) :: NCD1RM            ! I
INTEGER(KIND=JPIM) :: NCD1NF            ! I
INTEGER(KIND=JPIM) :: NCD1SQ            ! I
INTEGER(KIND=JPIM) :: NCD1TM            ! I
INTEGER(KIND=JPIM) :: NCD1MOT           ! I
INTEGER(KIND=JPIM) :: NCD1TO            ! I
INTEGER(KIND=JPIM) :: NCD1NSY           ! I
INTEGER(KIND=JPIM) :: NCD1NAI           ! I
INTEGER(KIND=JPIM) :: NCD1NSA           ! I
INTEGER(KIND=JPIM) :: NCD1NDB           ! I
INTEGER(KIND=JPIM) :: NCD1NTE           ! I
INTEGER(KIND=JPIM) :: NCD1NPI           ! I
INTEGER(KIND=JPIM) :: NCD1NSM           ! I
INTEGER(KIND=JPIM) :: NCD1NT            ! I
INTEGER(KIND=JPIM) :: NCD1NPA           ! I
INTEGER(KIND=JPIM) :: NCD1SC            ! I
INTEGER(KIND=JPIM) :: NCD1NLM           ! I
INTEGER(KIND=JPIM) :: NCD1NSSM          ! I
INTEGER(KIND=JPIM) :: NCD1NAT           ! I
INTEGER(KIND=JPIM) :: NCD1NRO3          ! I
INTEGER(KIND=JPIM) :: NCD1NRAD          ! I
INTEGER(KIND=JPIM) :: NCD1AL            ! I
INTEGER(KIND=JPIM) :: NCD1TVA           ! I
INTEGER(KIND=JPIM) :: NCD1CON           ! I
INTEGER(KIND=JPIM) :: NCD1NST           ! I
INTEGER(KIND=JPIM) :: NCD1NC            ! I
INTEGER(KIND=JPIM) :: NCD1BLB           ! I
INTEGER(KIND=JPIM) :: NCD11DL           ! I
INTEGER(KIND=JPIM) :: NCD11DV           ! I
INTEGER(KIND=JPIM) :: NCD11DS           ! I
INTEGER(KIND=JPIM) :: NCD1MPF           ! I
INTEGER(KIND=JPIM) :: NCD1MSV           ! I
INTEGER(KIND=JPIM) :: NCD1MLV           ! I
INTEGER(KIND=JPIM) :: NCD1MUV           ! I
INTEGER(KIND=JPIM) :: NCD1NBS           ! I
INTEGER(KIND=JPIM) :: NCD11BSD          ! I
INTEGER(KIND=JPIM) :: NCD11BST          ! I
INTEGER(KIND=JPIM) :: NCD12BSD          ! I
INTEGER(KIND=JPIM) :: NCD12BST          ! I
INTEGER(KIND=JPIM) :: NCD13BSD          ! I
INTEGER(KIND=JPIM) :: NCD13BST          ! I
INTEGER(KIND=JPIM) :: NCD14BSD          ! I
INTEGER(KIND=JPIM) :: NCD14BST          ! I
INTEGER(KIND=JPIM) :: NCD15BSD          ! I
INTEGER(KIND=JPIM) :: NCD15BST          ! I
INTEGER(KIND=JPIM) :: NCD11DLS          ! I
INTEGER(KIND=JPIM) :: NCD11DVS          ! I
INTEGER(KIND=JPIM) :: NCD11DSS          ! I
INTEGER(KIND=JPIM) :: NCD11DLA          ! I
INTEGER(KIND=JPIM) :: NCD11DVA          ! I
INTEGER(KIND=JPIM) :: NCD11DSA          ! I
INTEGER(KIND=JPIM) :: NCD1SOH           ! I
INTEGER(KIND=JPIM) :: NCD1PV1           ! C
INTEGER(KIND=JPIM) :: NCD1PV2           ! C
INTEGER(KIND=JPIM) :: NCD1PV3           ! C
INTEGER(KIND=JPIM) :: NCD1PV4           ! C
INTEGER(KIND=JPIM) :: NCD1PV5           ! C
INTEGER(KIND=JPIM) :: NCD1PV6           ! C
INTEGER(KIND=JPIM) :: NCD1PV7           ! C
INTEGER(KIND=JPIM) :: NCD1PV8           ! C
INTEGER(KIND=JPIM) :: NCD1EN1           ! C
INTEGER(KIND=JPIM) :: NCD1EN2           ! C
INTEGER(KIND=JPIM) :: NCD1EN3           ! C
INTEGER(KIND=JPIM) :: NCD1EN4           ! C
INTEGER(KIND=JPIM) :: NCD1EN5           ! C
INTEGER(KIND=JPIM) :: NCD1EN6           ! C
INTEGER(KIND=JPIM) :: NCD1EN7           ! C
INTEGER(KIND=JPIM) :: NCD1EN8           ! C
INTEGER(KIND=JPIM) :: NCD1EN9           ! C
INTEGER(KIND=JPIM) :: NCD1EN10          ! C
INTEGER(KIND=JPIM) :: NCD1EN11          ! C
INTEGER(KIND=JPIM) :: NCD1EN12          ! C
INTEGER(KIND=JPIM) :: NCD1EN13          ! C
INTEGER(KIND=JPIM) :: NCD1EN14          ! C
INTEGER(KIND=JPIM) :: NCD1EN15          ! C
INTEGER(KIND=JPIM) :: NCD1EN16          ! C
INTEGER(KIND=JPIM) :: NCD1VAT           ! C
INTEGER(KIND=JPIM) :: NTSL_STEPSIZE
INTEGER(KIND=JPIM) :: NCD1TSL_WORDS         ! I
INTEGER(KIND=JPIM) :: NCD1TSL_INIT_DATE     ! I
INTEGER(KIND=JPIM) :: NCD1TSL_INIT_TIME     ! I
INTEGER(KIND=JPIM) :: NCD1TSL_BACKWARD_TIME ! I
INTEGER(KIND=JPIM) :: NCD1TSL_FORWARD_TIME  ! I
INTEGER(KIND=JPIM) :: NCD1TSL_TIME_DELTA    ! I
INTEGER(KIND=JPIM) :: NCD1TSL_NUMSLOTS      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_TIMESLOT_NO   ! I
INTEGER(KIND=JPIM) :: NCD1TSL_END_DATE      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_END_TIME      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_DATALEN       ! I
INTEGER(KIND=JPIM) :: NCD1TSL_NOBS          ! I
INTEGER(KIND=JPIM) :: NCD1TSL_WEIGHT        ! I
INTEGER(KIND=JPIM) :: NCD1TSL_NWLAT         ! I
INTEGER(KIND=JPIM) :: NCD1TSL_NWLON         ! I
INTEGER(KIND=JPIM) :: NCD1TSL_SELAT         ! I
INTEGER(KIND=JPIM) :: NCD1TSL_SELON         ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE1      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE2      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE3      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE4      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE5      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE6      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE7      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE8      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE9      ! I
INTEGER(KIND=JPIM) :: NCD1TSL_OBSTYPE10     ! I

!-----------------------------------------------------------------------

!*     YOMCMD1P - CMA FIRST DDR PACKED INFO. FORMAT

!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     NCD1CT+   NCMD1HO      I     HOUR OFFSET
!     NCD1OT    NCMD1MIO     I     MINUTE OFFSET
!               NCMD1SO      I     SECONDE OFFSET

!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     NCD1CD+   NCMD1YO      I     YEAR OFFSET
!     NCD1OD    NCMD1MOO     I     MONTH OFFSET
!               NCMD1DO      I     DAY OFFSET

INTEGER(KIND=JPIM) :: NCMD1HO           ! I
INTEGER(KIND=JPIM) :: NCMD1MIO          ! I
INTEGER(KIND=JPIM) :: NCMD1SO           ! I
INTEGER(KIND=JPIM) :: NCMD1YO           ! I
INTEGER(KIND=JPIM) :: NCMD1MOO          ! I
INTEGER(KIND=JPIM) :: NCMD1DO           ! I

!-----------------------------------------------------------------------

!*     YOMCMD2 - CMA SECOND DDR FORMAT

!     INTEGER SECTION
!     ---------------
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLENCD2      I     LEN. OF SECOND CMA DDR
!     SELF-DEF  NLEND2I      I     LEN. OF SECOND CMA DDR INTEGER SEC.
!         1     NCD2LN       I     LEN. OF SECOND DDR
!         2     NCD2NI       I     NO. OF NON-INTEGER SECTIONS
!         3     NCD2T1       I     TYPE OF FIRST NON-INTEGER SECTION
!         4     NCD2T2       I     TYPE OF SECOND NON-INTEGER SECTION
!         5     NCD2IL       I     LEN. OF INTEGER SECTION
!         6     NCD2LFS      I     LEN. OF FIRST NON-INTEGER SECTION
!         7     NCD2LSS      I     LEN. OF SECOND NON-INTEGER SECTION
!         8     NCD2LND      I     LEN. OF NEXT DDR
!         9     NCD2TL       I     NO. OF CLEAR SATEM THICK LAYERS
!        10     NCD2TY       I     NO. OF CLOUDY SATEM THICK LAYERS
!        11     NCD2TM       I     NO. OF MICROWAVE SATEM THICK LAYERS
!        12     NCD2SAI1     I     SATELLITE X ID.
!        13     NCD2SAT1     I     NO. OF SATELLITE X REPORTS PRESENT
!        14     NCD2SAI2     I     SATELLITE Y ID.
!        15     NCD2SAT2     I     NO. OF SATELLITE Y REPORTS PRESENT
!        16     NCD2SAI3     I     SATELLITE Z ID.
!        17     NCD2SAT3     I     NO. OF SATELLITE Z REPORTS PRESENT
!        18     NCD2SAI4     I     SATELLITE P ID.
!        19     NCD2SAT4     I     NO. OF SATELLITE P REPORTS PRESENT
!        20     NCD2SAI5     I     SATELLITE R ID.
!        21     NCD2SAT5     I     NO. OF SATELLITE R REPORTS PRESENT
!        22     NCD2SAI6     I     SATELLITE Q ID.
!        23     NCD2SAT6     I     NO. OF SATELLITE Q REPORTS PRESENT
!        24-25               I     RESERVED
!        26     NCD2NS       I     NO. OF SIMULATIONS PERFORMED
!        27     NCD2SD       I     NO. OF THE FOLLOWING WORDS USED TO
!                                  STORE BIT MAP INDICATING ADDITIONAL
!                                  DEPARTURS CREATED
!        28-NS               I     BIT MAP
!        NS-1024             I     NOT DEFINED

!     REAL SECTION
!     ------------
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLEND2R      I     LEN. OF SECOND CMA DDR REAL SEC.
!     1-1024                 R     NOT DEFINED

!     CHARACTER SECTION
!     -----------------
!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------
!     SELF-DEF  NLEND2C      I     LEN. OF SECOND CMA DDR CHAR. SEC.
!         1-1024             C     NOT-DEFINED

INTEGER(KIND=JPIM) :: NLENCD2
INTEGER(KIND=JPIM) :: NLEND2I
INTEGER(KIND=JPIM) :: NLEND2R
INTEGER(KIND=JPIM) :: NLEND2C
INTEGER(KIND=JPIM) :: NCD2LN            ! L
INTEGER(KIND=JPIM) :: NCD2NI            ! I
INTEGER(KIND=JPIM) :: NCD2T1            ! I
INTEGER(KIND=JPIM) :: NCD2T2            ! I
INTEGER(KIND=JPIM) :: NCD2IL            ! L
INTEGER(KIND=JPIM) :: NCD2LFS           ! L
INTEGER(KIND=JPIM) :: NCD2LSS           ! L
INTEGER(KIND=JPIM) :: NCD2LND           ! L
INTEGER(KIND=JPIM) :: NCD2TL            ! I
INTEGER(KIND=JPIM) :: NCD2TY            ! I
INTEGER(KIND=JPIM) :: NCD2TM            ! I
INTEGER(KIND=JPIM) :: NCD2SAI1          ! I
INTEGER(KIND=JPIM) :: NCD2SAT1          ! I
INTEGER(KIND=JPIM) :: NCD2SAI2          ! I
INTEGER(KIND=JPIM) :: NCD2SAT2          ! I
INTEGER(KIND=JPIM) :: NCD2SAI3          ! I
INTEGER(KIND=JPIM) :: NCD2SAT3          ! I
INTEGER(KIND=JPIM) :: NCD2SAI4          ! I
INTEGER(KIND=JPIM) :: NCD2SAT4          ! I
INTEGER(KIND=JPIM) :: NCD2SAI5          ! I
INTEGER(KIND=JPIM) :: NCD2SAT5          ! I
INTEGER(KIND=JPIM) :: NCD2SAI6          ! I
INTEGER(KIND=JPIM) :: NCD2SAT6          ! I
INTEGER(KIND=JPIM) :: NCD2NS            ! I
INTEGER(KIND=JPIM) :: NCD2SD            ! I

!-----------------------------------------------------------------------

!*     YOMCMD2P - CMA SECOND DDR PACKED INFO. FORMAT

!     WORD NO./ VARIABLE / TYPE /                MEANING               /
!     --------  --------   ----                  -------

!                            /YOMCMD2P/

!-----------------------------------------------------------------------

!ODB pk5int:ddrno@ddrs AS ROBDDR
!ODB pk5int:wordno@ddrs AS ROBDDR
!ODB pk2real:bulkdata@ddrs AS ROBDDR

!ODB YYYYMMDD:andate@desc AS ROBHDR
!ODB HHMMSS:antime@desc AS ROBHDR
!ODB LINK desc TO ddrs
!ODB LINK desc TO index

END MODULE YOMCMDDR
