diff --git a/tests/grib_mars_keys2.sh b/tests/grib_mars_keys2.sh index 2396e0236..224279019 100755 --- a/tests/grib_mars_keys2.sh +++ b/tests/grib_mars_keys2.sh @@ -11,7 +11,9 @@ . ./include.ctest.sh label="grib_mars_keys2_test" +tempOut=temp.${label}.out tempGrib=temp.${label}.grib +tempRef=temp.${label}.ref grib1_sample=$ECCODES_SAMPLES_PATH/GRIB1.tmpl grib2_sample=$ECCODES_SAMPLES_PATH/reduced_gg_pl_32_grib2.tmpl @@ -27,6 +29,82 @@ grib_check_key_equals $tempGrib mars.class,mars.type,mars.stream 'yt em dcwv' grib_check_key_equals $tempGrib marsClass:i,marsType:i,marsStream:i '18 17 1029' +# Check unalias +# ----------------- +${tools_dir}/grib_set -s stream=gfas,type=ga $grib2_sample $tempGrib +${tools_dir}/grib_ls -jm $tempGrib > $tempOut +cat > $tempRef << EOF +{ "messages" : [ + { + "domain": "g", + "date": 20100912, + "time": 1200, + "expver": "0001", + "class": "od", + "type": "ga", + "stream": "gfas", + "step": 0, + "levelist": 1000, + "levtype": "pl", + "param": 130 + } +]} +EOF +diff $tempRef $tempOut + +# This combo unaliases mars.levelist and mars.step +${tools_dir}/grib_set -s stream=gfas,type=gsd $grib2_sample $tempGrib +${tools_dir}/grib_ls -jm $tempGrib > $tempOut +cat > $tempRef << EOF +{ "messages" : [ + { + "domain": "g", + "date": 20100912, + "time": 1200, + "expver": "0001", + "class": "od", + "type": "gsd", + "stream": "gfas", + "param": 130 + } +]} +EOF +diff $tempRef $tempOut +${tools_dir}/grib_dump -Da $grib2_sample > $tempOut +grep -q "g2level level = 1000 .vertical.level, mars.levelist" $tempOut +${tools_dir}/grib_dump -Da $tempGrib > $tempOut +set +e +grep -w levelist $tempOut # dump should not show levelist +status=$? +set -e +[ $status -ne 0 ] + + +# GRIB1 +# This combo unaliases mars.step +${tools_dir}/grib_set -s localDefinitionNumber=31,stream=esmm,type=em $grib1_sample $tempGrib +${tools_dir}/grib_ls -jm $tempGrib > $tempOut +cat > $tempRef << EOF +{ "messages" : [ + { + "domain": "g", + "levtype": "pl", + "levelist": 500, + "time": 1200, + "param": 129.128, + "class": "od", + "type": "em", + "stream": "esmm", + "expver": "0001", + "fcmonth": 0, + "date": 0 + } +]} +EOF +diff $tempRef $tempOut + + + # Check all combinations # ------------------------ i=0 @@ -43,5 +121,6 @@ for cfg in $ECCODES_DEFINITION_PATH/mars/grib.*.*.def; do done echo "Checked $i files" + # Clean up -rm -f $tempGrib +rm -f $tempGrib $tempRef $tempOut