#!/bin/sh # (C) Copyright 2005- 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. # . ./include.ctest.sh #set -x sample_g1=$ECCODES_SAMPLES_PATH/GRIB1.tmpl sample_g2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl temp=temp.level.grib temp2=temp2.level.grib temp3=temp3.level.grib file=${data_dir}/regular_gaussian_pressure_level.grib1 cat >temp.level.good<level.filter< test.dump diff temp.level.good test.dump # Use of 'level' key for GRIB2 ${tools_dir}/grib_set -s typeOfFirstFixedSurface=103,level=24 $sample_g2 $temp grib_check_key_equals $temp level,scaledValueOfFirstFixedSurface,scaleFactorOfFirstFixedSurface '24 24 0' ${tools_dir}/grib_set -s typeOfFirstFixedSurface=103,level=2.4 $sample_g2 $temp grib_check_key_equals $temp level:d,scaledValueOfFirstFixedSurface,scaleFactorOfFirstFixedSurface '2.4 24 1' # Use a parameter which has two levels ${tools_dir}/grib_set -s paramId=228086,topLevel=1.3,bottomLevel=5.4 $sample_g2 $temp grib_check_key_equals $temp 'topLevel:d,bottomLevel:d' '1.3 5.4' grib_check_key_equals $temp scaleFactorOfFirstFixedSurface,scaledValueOfFirstFixedSurface '1 13' grib_check_key_equals $temp scaleFactorOfSecondFixedSurface,scaledValueOfSecondFixedSurface '1 54' # GRIB-492 ${tools_dir}/grib_set -s indicatorOfTypeOfLevel=110 $sample_g1 $temp res=`${tools_dir}/grib_get -p indicatorOfTypeOfLevel:l,topLevel,bottomLevel $temp` [ "$res" = "110 0 0" ] # GRIB-415 evaluate level as a double ${tools_dir}/grib_set -s scaledValueOfFirstFixedSurface=15,scaleFactorOfFirstFixedSurface=1 $sample_g2 $temp res=`${tools_dir}/grib_get -p level:d $temp` [ "$res" = "1.5" ] # ECC-1081: 'level' is not edition-independent for potential vorticity levels ${tools_dir}/grib_set -s typeOfLevel=potentialVorticity,shortName=q,level=1500 $sample_g1 $temp ${tools_dir}/grib_set -s edition=2 $temp $temp2 grib_check_key_equals $temp2 'mars.levelist,level,typeOfLevel' '1500 1500 potentialVorticity' grib_check_key_equals $temp2 'scaleFactorOfFirstFixedSurface,scaledValueOfFirstFixedSurface' '9 1500' ${tools_dir}/grib_set -s level=1500 $temp2 $temp3 grib_check_key_equals $temp3 level 1500 ${tools_dir}/grib_compare $temp2 $temp3 # GRIB-637 grib2 Potential vorticity surface input=${data_dir}/tigge_pf_ecmwf.grib2 res=`${tools_dir}/grib_get -wcount=7 -F%.20f -p level:d $input` [ "$res" = "2.00000000000000000000" ] # Setting productDefinitionTemplateNumber should keep level info ${tools_dir}/grib_set -s typeOfFirstFixedSurface=100,level=5 $sample_g2 $temp ${tools_dir}/grib_set -s productDefinitionTemplateNumber=1 $temp $temp2 grib_check_key_equals $temp2 level 5 # ECC-530: Setting typeOfSecondFixedSurface should not overwrite # scale factor and scaled value of first fixed surface # cat >level.filter<