Project

General

Profile

Windspeeds in Bayern, COSMO_REA6 vs. ERA5

Added by Denis Bzowy over 1 year ago

(Thia is not really CDO related -- if there's a better place, please move it)

For what it's worth, here are plots of average windspeeds in Bayern in January 2018 at 100m, \
COSMO_REA6 on its ~ 6 × 6 km grid \
ERA5 on its 0.25° × 0.25° grid. \
We see big differences over the Alps in the south and over hilly areas in north Bayern:


Data sources:
https://opendata.dwd.de/climate_environment/REA/COSMO_REA6/converted/hourly/2D/U_100/U_100m.2D.201801.nc4
https://confluence.ecmwf.int/display/CKB/ERA5

Of course, comparing two datasets doesn't tell us much about why they differ.
Experts in wind reanalysis might say, "of course, ERA5 is lower when ...";
I'd welcome reasons with runnable code.

Why January 2018 ?

Well, if you're comparing anything at all,
BIG differences are more interesting than little differences --
you don't see much if everything's grey.
In January 2018 there were 100 kmh storms across Europe,
[Storm David](https://en.wikipedia.org/wiki/Storm_David) aka
[Orkantief Friederike](https://de.wikipedia.org/wiki/Orkantief_Friederike).

Spot checks please

It's entirely possible that I've made mistakes along the way —
mostly home-made code sticking to numpy.
(COSMO_REA6 apparently has no CRS, so I regrid with KDTree,
don't like smoothing / interpolating timeseries.)
Spot checks are always good.
Can anyone post max windspeeds at some int lat/lons, please ?

Comments welcome
cheers
-- denis https://gist.github.com/denis-bz


Replies (11)

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

I expect different topographies being used for this. Hence large difference in hilly areas. makes sense?

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Denis Bzowy over 1 year ago

Hi Ralf
yes terrain roughness is a factor -- is it the biggest factor, overall ?

Looking at average windspeeds in Bayern over a whole year, 2014,
at the 133 points in Bayern on the ERA5 25° grid
and the COSMO points nearest them, I see big differences across all Bayern --

COSMO_REA6:   av 5.6  quantiles [10 50 90]: [5.3 5.5 5.8] m/s
ERA5 av ws:   av 4.38  quantiles [10 50 90]: [3.6 4.6 4.9]
COSMO - ERA5: av 1.23  quantiles [10 50 90]: [0.7 1.1 1.9
[[.  .   .   .   .  0.9  .   .   .   .   .   .   .   .   .   .   .   .   .]
 [.  .   .  0.9 1.0 1.0 1.1  .  1.0 0.9 0.6 0.5 0.2  .   .   .   .   .   .]
 [. 0.9 1.0 1.0 1.0 1.0 1.1 1.1 1.0 0.9 0.8 0.7 0.4 0.5  .   .   .   .   .]
 [. 0.9  .  0.9 0.9 0.9 0.9 1.0 1.0 0.9 0.9 0.8 0.6 0.6  .   .   .   .   .]
 [.  .   .   .   .  0.7 0.8 0.9 0.9 0.9 0.8 0.9 0.7 0.7 0.7  .   .   .   .]
 [.  .   .   .   .  0.7 0.7 0.9 0.9 0.9 0.9 0.8 0.8 1.0 1.1 1.3 1.4  .   .]
 [.  .   .   .   .   .  0.8 1.0 1.1 1.1 1.0 1.1 1.0 1.2 1.4 1.7 1.9 1.8  .]
 [.  .   .   .   .   .  1.2 1.2 1.3 1.3 1.3 1.3 1.0 1.1 1.3 1.6 1.7 1.8 1.6]
 [.  .   .   .   .  1.3 1.3 1.3 1.3 1.3 1.3 1.2 0.9 0.9 0.9 1.1 1.2 1.2  .]
 [.  .   .   .   .  1.1 1.1 1.1 1.1 1.2 1.1 1.0 1.2 1.2 1.3 1.2 1.2  .   .]
 [.  .   .   .   .  1.0 0.9 1.1 1.4 1.5 1.3 1.3 1.4 1.5 1.6 1.6  .   .   .]
 [.  .   .   .   .  1.8 1.9 2.3 2.4 2.5 2.3 2.3 2.2 2.5 2.6 2.6  .   .   .]
 [.  .   .   .  2.7 2.8  .   .  3.4 3.3  .   .   .   .   .   .   .   .   .]]

(The real question is: if COSMO windspeeds are considerably more accurate than ERA5,
how could we spread the word, get more people to use it ?)
What do you think ?
cheers
-- denis

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

Averaging in space or time always comes with damping, I guess. If the roughness is the decisive factor is hard to say without getting into the specifics of COSMO or ERA5. I cannot comment on this topic, sry.

If you think COSMO_REA6 has advantage over ERA5 in important use case, it might be worth an article.

cheers
ralf

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Denis Bzowy over 1 year ago

Averaging in space or time always comes with damping, I guess.
not necessarily, but interpolation people rarely look at their lowpass filters
Also, google "quantile-matching bias-correction" ...

worth an article
where, who for ? There seem to be various in-groups in climate modeling
and I'm not in any of them, not a PhD

On the software side, a lot of climate people seem to use xarray
but the 2d COSMO_REA6_CONST_withOUTsponge.nc sure isn't xarray-friendly
(bytheway what does "without sponge" mean) ?
cheers
-- denis

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

Denis Bzowy wrote in RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5:

Averaging in space or time always comes with damping, I guess.
not necessarily, but interpolation people rarely look at their lowpass filters
Also, google "quantile-matching bias-correction" ...

worth an article
where, who for ? There seem to be various in-groups in climate modeling
and I'm not in any of them, not a PhD

On the software side, a lot of climate people seem to use xarray
but the 2d COSMO_REA6_CONST_withOUTsponge.nc sure isn't xarray-friendly
(bytheway what does "without sponge" mean) ?

I have no clue ;-)

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Denis Bzowy over 1 year ago

Ralf,
do you know of anyone who's used xarray on your data
or does everyone there use cdo ?
How does cdo regrid / interpolate to wgs84 -- is there a short description ?

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

Denis Bzowy wrote in RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5:

Ralf,
do you know of anyone who's used xarray on your data

my data? wdym

or does everyone there use cdo ?

where?

How does cdo regrid / interpolate to wgs84 -- is there a short description ?

There is no shortcut. wgs84 is supported by the proj library (https://proj.org/en/9.2/usage/transformation.html#proj-4-x-5-x-paradigm) and CDO can make use of this library. so I think your should be able to change the projection or remap with CDO

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Denis Bzowy over 1 year ago

Sorry Ralf, I thought you had to do with the people who generated
https://opendata.dwd.de/climate_environment/REA/COSMO_REA6/converted/hourly/2D/U_100/U_100m.2D.201801.nc4
(right at the top of this thread)
If not so, where could I ask ?

On proj / pyproj: sure I'd use them, but what's the CRS of COSMO_REA6_CONST_withOUTsponge.nc ?
https://code.mpimet.mpg.de/boards/2/topics/6696?r=14512#message-14512
Convert COSMO REA 6 to a normal geographical projection
apparently didn't succeed in finding a CRS, can you help
Thanks

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

Denis Bzowy wrote in RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5:

Sorry Ralf, I thought you had to do with the people who generated
https://opendata.dwd.de/climate_environment/REA/COSMO_REA6/converted/hourly/2D/U_100/U_100m.2D.201801.nc4
(right at the top of this thread)
If not so, where could I ask ?

This is from the german weather service. you might get in contact with the climate/Environment group I think.

On proj / pyproj: sure I'd use them, but what's the CRS of COSMO_REA6_CONST_withOUTsponge.nc ?
https://code.mpimet.mpg.de/boards/2/topics/6696?r=14512#message-14512
Convert COSMO REA 6 to a normal geographical projection

Did you check the README next to the file https://opendata.dwd.de/climate_environment/REA/COSMO_REA6/constant/README ?

The two files COSMO_REA6_CONST_withOUTsponge.grb.bz2 and
COSMO_REA6_CONST_withOUTsponge.nc.bz2 contain constant parameters
the COSMO-EU model uses as input. These parameters are provided in
netCDF and in grb format.

Please use the parameters RLON and RLAT as the longitude and
latitude information for the final grid (e.g., when comparing
against measurement data). 

The parameter Z0 is constant only over the land surface. Over
the ocean, it is time dependent and depends on the height of
the waves due to near surface wind speed.

The file griddes_REA6.txt holds the grid description of the COSMO-REA6
data. It can be used together with the CDOs in order to convert the original
grib files into netCDF format and preserve the unstructured longitude and
latitude fields.

apparently didn't succeed in finding a CRS, can you help
Thanks

I can interpolate like

cdo -P 4 remapcon,global_10 COSMO_REA6_CONST_withOUTsponge.nc t.nc

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Denis Bzowy over 1 year ago

Sure I saw the Readme -- but cdo is HUGE
and not at all clear how it interpolates timeseries, (lat lon time) --
is there doc or a paper, small examples ? Are there tests/*.py, spot checks ?

I'd prefer to use pyproj, but repeat, what's the CRS / projstr of COSMO_REA6_CONST_withOUTsponge.nc ?
Thanks

RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5 - Added by Ralf Mueller over 1 year ago

Denis Bzowy wrote in RE: Windspeeds in Bayern, COSMO_REA6 vs. ERA5:

Sure I saw the Readme -- but cdo is HUGE
and not at all clear how it interpolates timeseries, (lat lon time) --
is there doc or a paper, small examples ? Are there tests/*.py, spot checks ?

https://code.mpimet.mpg.de/projects/cdo/embedded/cdo.pdf should cover it. There are a lot of examples in each section.

Everything is collected at https://code.mpimet.mpg.de/projects/cdo/wiki#Documentation

the CDO tarball comes with more than 800 tests. I guess you will find something.

I'd prefer to use pyproj, but repeat, what's the CRS / projstr of COSMO_REA6_CONST_withOUTsponge.nc ?
Thanks

Please contact DWD on this. I can't tell

    (1-11/11)