# Concept MTG2Switch
# 0 = pre-MTG2 encoding used
# 1 = post-MTG2 encoding used
# 2 = post-MTG2 encoding with paramId + chemId used
# Model version cannot be used in this concept because its concept is only evaluated at the end of Section 4,
# and in many cases we use the value of the MTG2Switch earlier. Therefore we must use the backgroundProcess
# and generatingProcessIdentifier key directly. The values for IFS are:
# backgroundProcess=255
# 'cy50r2' = { generatingProcessIdentifier = 162; }
# 'cy50r1' = { generatingProcessIdentifier = 161; }
# 'cy49r2' = { generatingProcessIdentifier = 159; }
# 'cy49r1' = { generatingProcessIdentifier = 158; }
# We also need the wave model for cy50r1. The values for the wave model are:
# generatingProcessIdentifier = 109; # cy50r1 wave global
# generatingProcessIdentifier = 209; # cy50r1 wave global


# We only need the concepts which differ from the default below.
# These are all for 50r1 (255 + 161, 255 + 109, 255 + 209; GRIBmix), where we have the newer model but still want the pre-MTG2 behaviour
# and for AIFS, where we have the newer tablesVersion but still want the pre-MTG2 behaviour
# ECC-2241: Data has already been produced as cy50r1 with tablesVersion 34, and tablesVersion 36 may also be used.
#           To this end we should extend the 50r1 switch functionality to include tablesVersion 34 and 36.

## OD 50r1 ##
# tv34
0 = {tablesVersion=34; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=34; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=34; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=209;}
# tv35
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=209;}
# tv36
0 = {tablesVersion=36; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=36; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=36; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=209;}
## OD 50r3 ##
# tv35 only
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=163;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=111;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=211;}
## RD 50r1 ##
# tv34
0 = {tablesVersion=34; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=34; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=34; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=209;}
# tv35
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=209;}
# tv36
0 = {tablesVersion=36; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=161;}
0 = {tablesVersion=36; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=109;}
0 = {tablesVersion=36; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=209;}
## RD 50r3 ##
# tv35 only
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=163;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=111;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=211;}
## MC ##
# tv35 only
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=161; marsClass=19;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=109; marsClass=19;}
0 = {tablesVersion=35; productionStatusOfProcessedData=0; backgroundProcess=255; generatingProcessIdentifier=209; marsClass=19;}
## CR ##
# tv35 only
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=161; marsClass=36;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=109; marsClass=36;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=209; marsClass=36;}
## GG ##
# tv35 only
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=161; marsClass=44;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=109; marsClass=44;}
0 = {tablesVersion=35; productionStatusOfProcessedData=2; backgroundProcess=255; generatingProcessIdentifier=209; marsClass=44;}
## AI ##
# tv34
0 = {tablesVersion=34; productionStatusOfProcessedData=0; marsClass=51;}
# tv35
0 = {tablesVersion=35; productionStatusOfProcessedData=0; marsClass=51;}
# tv36
0 = {tablesVersion=36; productionStatusOfProcessedData=0; marsClass=51;}
# 50r1 as input data for ecPoint
0 = {tablesVersion=35; productionStatusOfProcessedData=0; inputProcessIdentifier=16; inputOriginatingCentre=98; typeOfGeneratingProcess=13; typeOfPostProcessing=206;}
# ERA5 as input data for ecPoint
0 = {tablesVersion=35; productionStatusOfProcessedData=0; inputProcessIdentifier=65533; inputOriginatingCentre=98; typeOfGeneratingProcess=13; typeOfPostProcessing=206;}
