mirror of https://github.com/ecmwf/eccodes.git
55 lines
1.7 KiB
Bash
Executable File
55 lines
1.7 KiB
Bash
Executable File
#!/bin/ksh
|
|
|
|
set -eu
|
|
|
|
set -A files \
|
|
reduced_latlon_surface.grib1 \
|
|
reduced_gaussian_pressure_level.grib1 \
|
|
regular_gaussian_pressure_level.grib1 \
|
|
reduced_gaussian_model_level.grib1 \
|
|
regular_gaussian_model_level.grib1 \
|
|
reduced_gaussian_surface.grib1 \
|
|
regular_gaussian_surface.grib1 \
|
|
regular_latlon_surface.grib1 \
|
|
spherical_pressure_level.grib1 \
|
|
spherical_model_level.grib1
|
|
|
|
set -A rets \
|
|
"ret,stream=wave,levtype=sfc,param=swh," \
|
|
"ret,stream=oper,level=1000,gaussian=reduced,grid=32,param=t," \
|
|
"ret,level=1000,gaussian=regular,grid=32,param=t," \
|
|
"ret,levtype=ml,level=1,gaussian=reduced,grid=32,param=t," \
|
|
"ret,levtype=ml,level=1,gaussian=regular,grid=32,param=t," \
|
|
"ret,levtype=sfc,param=2t,gaussian=reduced,grid=32," \
|
|
"ret,levtype=sfc,param=2t,gaussian=regular,grid=32," \
|
|
"ret,levtype=sfc,param=2t,grid=2/2,area=60/0/0/30," \
|
|
"ret,class=od,type=an,stream=da,expver=0001,levtype=pl,levelist=1000,param=130,time=1200,step=00,domain=g,resol=63,param=t," \
|
|
"ret,class=od,type=an,stream=da,expver=0001,levtype=ml,levelist=1,param=130,time=1200,step=00,domain=g,resol=63,param=t,"
|
|
|
|
set -A precision 2 2 2 2 2 2 2 -1 -1 -1
|
|
|
|
[[ ${#files[@]} -eq ${#rets[@]} ]] && [[ ${#rets[@]} -eq ${#precision[@]} ]]
|
|
|
|
for (( i=0; i< ${#files[@]}; i++ ))
|
|
do
|
|
|
|
mars << EOF
|
|
${rets[i]}
|
|
tar="full_${files[i]}"
|
|
EOF
|
|
|
|
if [[ ${precision[i]} -gt 0 ]]
|
|
then
|
|
grib_set -r -s bitsPerValue=0,decimalScaleFactor=${precision[i]} full_${files[i]} ${files[i]}
|
|
rm -f full_${files[i]}
|
|
else
|
|
mv full_${files[i]} ${files[i]}
|
|
fi
|
|
|
|
grib_dump ${files[i]} > /dev/null
|
|
grib2=`basename ${files[i]} .grib1`.grib2
|
|
grib_set -s editionNumber=2 ${files[i]} $grib2
|
|
grib_dump ${grib2} > /dev/null
|
|
|
|
done
|