# © Copyright 1996-2012 ECMWF.
# 
# This software is licensed under the terms of the Apache Licence Version 2.0
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
# In applying this licence, ECMWF does not waive the privileges and immunities 
# granted to it by virtue of its status as an intergovernmental organisation nor
# does it submit to any jurisdiction.

#
# PARAM {
#    value1 ;  alias1 ; alias; alias ....
#    /  if list ok
#    @ any
#    " quotted string
#    * number 
#    BY
#    TO
# } = default
#
#


GRIB;  Local grib definition; DWD
{
	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	DATE {
		*
		/
		ALL
	} = 0

	RKI { 
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		@
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
     E128A 
     GRIBS 
     I128A 
     I128F 
     R128A 
     R128F 
     SGGM0 
     SGGM1 
     YBOVE 
     YHOVE 
     LM1AN 
     LM1MO 
     SGLM0 
     E192A 
     I192A 
     I192F 
     I256A 
     I256F 
     KWB02 
     KWB03 
     R192A 
     R192F 
     R256A 
     R256F 
     SGBSH 
     YBLKL 
     YDCOV 
     YROUT 
     YSTAT 
     ANALY 
     AN2MO 
     B106A 
     B106V 
     DM3AN 
     DM3MO 
     DM4AN 
     DM4MO 
     ECENS 
     ECMFM 
     EGMES 
     EM3AN 
     EM3MO 
     KWBCM 
     KWB01 
     LFMES 
     LFMOD 
     LFPWM 
     MOMI3 
     NORMW 
     NORM3 
     P106A 
     SGBAL 
     SGESH 
     SGGLO 
     SGMED 
     SGNAT 
     S106A 
     S106V 
     WAFSZ 
     WAFTF 
     WAMIT 
     XSYNO 
     YAERO 
     YAREW 
     YBLTZ 
     YCLIM 
     YDAER 
     YEAER 
     YGAER 
     YKORR 
     YPBLA 
     YPGT4 
     YRADA 
     YSATT 
     YSATW 
     YSWAM 
     YTBUS 
     YTRAJ 
     YTROP 
     YWMON 
     YWZNP 
     ZABUF 
     ZAGRA 
     ZAIRP 
     ZBUFR 
     ZCLIM 
     ZFCEC 
     ZMETA 
     ZMGEC 
     ZPAOB 
     ZPSYN 
     ZRADA 
     ZRADI 
     ZSASU 
     ZSATB 
     ZSATM 
     ZSATW 
     ZSAVS 
     ZSYNO 
     ZTEMP 
     ZTRAB 
     ZVAIR 
     ZVSAM 
     ZVSYN 
     ZVTEM 
     ZVWPR 
     ZWIEU 
     ZWPRO 
     BKFMO 
     RBKFM 
     BKNMO 
     RBKNM 
     RAN2M 
     ASSMO 
     RASSM 
     MITLM 
     RMITL 
     IGELM 
     RIGEL 
     GLMIT 
     B021V 
     B042V 
     B063V 
     G106S 
     S021V 
     S042V 
     S063V 
     G106H 
     AN1MO 
     RAN1M 
     EM4AN 
     EM4MO 
     EM3DA 
     ECSMO 
     EGRRM 
     EGRRS 
     WAFST 
     GLFPW 
     B021A 
     B042A 
     B063A 
     S021A 
     S042A 
     S063A 
     DKMIT 
     SAFTA 
     EZKLM 
     EWOLF 
     P021A 
     P042A 
     P063A 
     P106R 
     P021V 
     P042V 
     P063V 
     P106V 
     MEEM3 
     ME106 
     MEBKF 
     GLOBA 
     RMEM3 
     RM106 
     RMBKF 
     GLOBV 
     EMRHM 
     BM1AN 
     BM1MO 
     TFSAN 
     TFSMO 
     LM1RA 
     LM2AN 
     LM2MO 
     LM2RA 
     LM3AN 
     LM3MO 
     LM3RA 
     I032A 
     I032F 
     I048A 
     I048F 
     I064A 
     I064F 
     I096A 
     I096F 
     R032A 
     R032F 
     R048A 
     R048F 
     R064A 
     R064F 
     R096A 
     R096F 
     G032A 
     G032F 
     G048A 
     G048F 
     G064A 
     G064F 
     G096A 
     G096F 
     G128A 
     G128F 
     I016A 
     I016F 
     G016A 
     G016F 
     G192A 
     G192F 
     G256A 
     G256F 
     R016A 
     R016F 
     E016A 
     E032A 
     E048A 
     E064A 
     E096A 
     E256A 
     SGGM2 
     SGGM3 
	 I384A
	 I384F
	 R384A
	 R384F
	 E384A
	 ALL
	} = R128F

    LEVTYPE { 
		SFC
		ML
		PL
		* 
		/	
		ALL
	} 


} ! END OF GRIB


ARCHIVE ;   Archives data   ;   DWD
{

    CLASS  { 
		MS
	} = MS

	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	RKI { 
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		@
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
	&GRIB&TY
	} = R128F

    EXPVER  
    {
        *       
    } 
    
    LEVTYPE { 
		SFC
		ML
		PL
		* 
		/	
		ALL
	} 

    PARAM { 
		* 
		/
		ALL
	} 

	TIME {
		*
		/
		ALL
	}

	DATE {
		*
		/
		ALL
	}

    STEP { 
		* 
		/
		ALL
	} 


    LEVELIST  
    {
		TO ; TO
		BY ; BY 
        OFF ;   OFF
        *       
        /       
		ALL
    } 
    

    SOURCE
    {
		@
		/
        "   
    } = ""
    
    DISP
    {
        NEW ;   N
        OLD ;   OLD
		FAIL 
		REMOVE
    } = NEW
    
	DATABASE
	{
		@
		/
	} = marsms

	EXPECT [ priority = 0 ]
	{
		ANY
		*
		OFF ; OFF
	} = OFF


	PASSWORD {
		@
	}

	STREAM {
		@
	}

	TYPE {
		@
	}

	REPRES {
		@
	}

	DOMAIN {
		@
	}

	GRIB {
		@
	}

	DUPLICATE {
		@
	}

} ! END OF ARCHIVE

LIST ;   list data   ;   DWD
{

    CLASS  { 
		MS
	} = MS

	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	RKI  {
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		*
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
	&GRIB&TY
	} = R128F

    EXPVER  
    {
		@
        *       
    } 
    
    LEVTYPE { 
		* 
		/
		ALL
	} 

    PARAM { 
		* 
		/
		ALL
	} 

	TIME {
		*
		/
		TO
		BY
		ALL
	}

	DATE {
        JANUARY     ;   JAN
        FEBRUARY    ;   FEB
        MARCH       ;   MAR
        APRIL       ;   APR
        MAY         ;   MAY
        JUNE        ;   JUN
        JULY        ;   JUL
        AUGUST      ;   AUG
        SEPTEMBER   ;   SEP
        OCTOBER     ;   OCT
        NOVEMBER    ;   NOV
        DECEMBER    ;   DEC
        *
        CURRENT DATE ; 0
        YESTERDAY    ; -1
        TO          ; TO
        BY          ;   BY
        /
		ALL
	}

    STEP { 
		* 
		/
		TO
		BY
		ALL
	} 


    LEVELIST  
    {
		TO ; TO
		BY ; BY 
        OFF ;   OFF
        *       
        /       
		ALL
    } 
    

    TARGET
    {
		@
		/
        "   
    } = ""
    
    DISP
    {
        NEW ;   N
        OLD ;   OLD
		FAIL 
		REMOVE
    } = NEW
    
	DATABASE
	{
		@
		/
	} = marsms

	EXPECT [ priority = 0 ]
	{
		ANY
		*
		OFF ; OFF
	} = OFF


	PASSWORD {
		@
	}

	STREAM {
		@
	}

	TYPE {
		@
	}

	REPRES {
		@
	}

	DOMAIN {
		@
	}

	OUTPUT {
		TABLE
		BROWSER	
		COST
		SEARCH
		TREE
	} = TABLE

	SHOW
	{
		@
		/
	}

	HIDE
	{
		@
		/
	}

	GRID {
		*
		/
	}

	PADDING
	{
		AUTOMATIC   ; AUTO
		NONE        ; N    ; 0
		OFF
		*
	} 

	AREA {
        GLOBE               ;  GLOBE;  G
        EUROPE              ;  EUROPE; E
		*
		/
	}


} ! END OF LIST

FLUSH ;   flush data   ;   DWD
{

    CLASS  { 
		MS
	} = MS

	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	RKI  {
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		*
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
	&GRIB&TY
	} = R128F

    EXPVER  
    {
		@
        *       
    } 
    
    LEVTYPE { 
		* 
		/
		ALL
	} 

    PARAM { 
		* 
		/
		ALL
	} 

	TIME {
		*
		/
		ALL
	}

	DATE {
		*
		/
		ALL
	}

    STEP { 
		* 
		/
		ALL
	} 

    LEVELIST  
    {
		TO ; TO
		BY ; BY 
        OFF ;   OFF
        *       
        /       
		ALL
    } 
    

    TARGET
    {
		@
		/
        "   
    } = ""
    
    DISP
    {
        NEW ;   N
        OLD ;   OLD
		FAIL 
		REMOVE
    } = NEW
    
	DATABASE
	{
		@
		/
	} = marsms

	EXPECT [ priority = 0 ]
	{
		ANY
		*
		OFF ; OFF
	} = OFF


	PASSWORD {
		@
	}

	STREAM {
		@
	}

	TYPE {
		@
	}

	REPRES {
		@
	}

	DOMAIN {
		@
	}

    ! Only for FLUSH

    WAIT
    {
        TRUE
        FALSE
    } = FALSE

    DECACHE
    {
        TRUE
        FALSE
    } = FALSE

} ! END OF FLUSH

RETRIEVE ;   Archives data   ;   DWD
{

    CLASS  { 
		MS
	} = MS

	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	RKI  {
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		*
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
	&GRIB&TY
	} = R128F

    EXPVER  
    {
        *       
    }  = 1
    
    LEVTYPE { 
		* 
		/
		ALL
	}  = 1

    PARAM { 
		* 
		/
		ALL
	}  = 11

	TIME {
		*
		/
		TO
		BY
		ALL
	} = 12

	DATE {
		*
		/
		TO
		BY
		ALL
	} = 0

    STEP { 
		TO
		BY
		* 
		/
		ALL
	} = 0


    LEVELIST  
    {
		TO ; TO
		BY ; BY 
        OFF ;   OFF
        *       
        /       
		ALL
    } = 0
    

    TARGET
    {
		@
		/
        "   
    } = ""

	GRIB 
	{
		ORIGINAL
		ECMWF
	} = ORIGINAL
    
	PADDING
	{
		AUTOMATIC   ; AUTO
		NONE        ; N    ; 0
		OFF
		*
	} = NONE

    DISP
    {
        NEW ;   N
        OLD ;   OLD
		FAIL 
		REMOVE
    } = NEW
    
	DATABASE
	{
		@
		/
	} = marsms

	EXPECT [ priority = 0 ]
	{
		ANY
		*
		OFF ; OFF
	} = OFF


	PASSWORD {
		@
	}

	STREAM {
		@
	}

	TYPE {
		@
	}

	REPRES {
		@
	}

	DOMAIN {
		@
	}

	GRID {
		*
		/
	}

	AREA {
        GLOBE               ;  GLOBE;  G
        EUROPE              ;  EUROPE; E
		*
		/
	}

	YEAR { * } 

} ! END OF ARCHIVE


REMOVE ;   Removes data   ;   DWD
{

    CLASS  { 
		MS
	} = MS

	COUNTRY {
		DE
		ALL
	} = DE

	DBASE {
	   NUMEX
	   LME
	   GME
	   PEGASUS
	   ALL
	} = NUMEX

	RKI { 
		ROUTI
		MOMIT
		NOTFA
		TRAJ
		75x50
		150xy
		RLM01
		RLM03
		RLM02
		COVER
		MIXED
		QUALI
		TEMPO
		POLAR
		@
		ALL
	} = ROUTI

	RTY [ namespace = dwd, split = 1, type = string ]  {
		ASSIMILATION; A
		B
		C
		D
		H
		HAUPTLAUF; MAIN RUN ; M
		N
		P
		R
		T
		V
		ALL

	} = M

    TY {
	&GRIB&TY
	} = R128F

    EXPVER  
    {
        *       
    } 
    
    LEVTYPE { 
		SFC
		ML
		PL
		* 
		/	
		ALL
	} 

    PARAM { 
		* 
		/
		ALL
	} 

	TIME {
		*
		/
		ALL
	}

	DATE {
		*
		/
		ALL
	}

    STEP { 
		* 
		/
		ALL
	} 


    LEVELIST  
    {
		TO ; TO
		BY ; BY 
        OFF ;   OFF
        *       
        /       
		ALL
    } 
    

    SOURCE
    {
		@
		/
        "   
    } = ""
    
    DISP
    {
        NEW ;   N
        OLD ;   OLD
		FAIL 
		REMOVE
    } = NEW
    
	DATABASE
	{
		@
		/
	} = marsms

	EXPECT [ priority = 0 ]
	{
		ANY
		*
		OFF ; OFF
	} = OFF


	PASSWORD {
		@
	}

	STREAM {
		@
	}

	TYPE {
		@
	}

	REPRES {
		@
	}

	DOMAIN {
		@
	}

	GRIB {
		@
	}

	DUPLICATE {
		@
	}

} ! END OF REMOVE
