ECC-1829: Added efi, es and em types to oper stream plus added to test

Remaining to decide is behaviour between using endStep vs. using stepRange consistently and consequences.
This commit is contained in:
Matthew Griffith 2024-05-16 15:03:51 +00:00 committed by shahramn
parent 6882914944
commit cf2a975b31
4 changed files with 21 additions and 6 deletions

View File

@ -0,0 +1 @@
alias mars.step = stepRange;

View File

@ -0,0 +1 @@
alias mars.step = stepRange;

View File

@ -0,0 +1 @@
alias mars.step = stepRange;

View File

@ -19,20 +19,32 @@ temp_grib=temp.$label.grib
mars_sample=temp.$label.mars.grib
sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
# Setup ensemble GRIB2 message with MARS keys
# Setup GRIB2 message with MARS keys
${tools_dir}/grib_set -s setLocalDefinition=1,grib2LocalSectionNumber=1 $sample_grib2 $mars_sample
# Set ensemble related keys and check number key is present
${tools_dir}/grib_set -s productDefinitionTemplateNumber=1,stream=oper,type=pf $mars_sample $temp_grib
# Now set ensemble related keys and check number key is present
${tools_dir}/grib_set -s stream=oper,type=pf,productDefinitionTemplateNumber=1 $mars_sample $temp_grib
grib_check_key_exists $temp_grib mars.number
# Now check stepRange is used for mars.step for o2d and o3d fields, and that number is still present
${tools_dir}/grib_set -s productDefinitionTemplateNumber=11,stream=oper,type=pf,param=263101,typeOfLevel=oceanSurface,startStep=0,endStep=6 $mars_sample $temp_grib
# Now set keys and check stepRange is used for mars.step for o2d and o3d fields, and that number is still present
${tools_dir}/grib_set -s stream=oper,type=pf,productDefinitionTemplateNumber=11,param=263101,typeOfLevel=oceanSurface,startStep=0,endStep=6 $mars_sample $temp_grib
grib_check_key_exists $temp_grib mars.number
grib_check_key_equals $temp_grib "step" "0-6"
${tools_dir}/grib_set -s productDefinitionTemplateNumber=11,stream=oper,type=pf,param=263501,typeOfLevel=oceanModel,level=1,startStep=0,endStep=6 $mars_sample $temp_grib
${tools_dir}/grib_set -s stream=oper,type=pf,productDefinitionTemplateNumber=11,param=263501,typeOfLevel=oceanModel,level=1,startStep=0,endStep=6 $mars_sample $temp_grib
grib_check_key_exists $temp_grib mars.number
grib_check_key_equals $temp_grib "step" "0-6"
# Now set keys and check stepRange is used for type efi data (just need any template with stat proc keys)
${tools_dir}/grib_set -s stream=oper,type=efi,productDefinitionTemplateNumber=12,startStep=0,endStep=6 $mars_sample $temp_grib
grib_check_key_equals $temp_grib "step" "0-6"
# Now set keys and check stepRange is used for type em data
${tools_dir}/grib_set -s stream=oper,type=em,productDefinitionTemplateNumber=12,startStep=0,endStep=6 $mars_sample $temp_grib
grib_check_key_equals $temp_grib "step" "0-6"
# Now set keys and check stepRange is used for type es data
${tools_dir}/grib_set -s stream=oper,type=es,productDefinitionTemplateNumber=12,startStep=0,endStep=6 $mars_sample $temp_grib
grib_check_key_equals $temp_grib "step" "0-6"
# Clean up
rm -f $temp_grib $mars_sample