Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Children Display

Impact on Users

Mass density of air

At the moment almost all of the chemical and aerosol species we disseminate and archive are expressed as mass mixing ratios. While this might be sufficient for most of the users, some would prefer to use mass concentration data.

The conversion formula is simple enough but due to data licence restrictions which govern most of ECMWF meteorological forecast data we are not able to offer temperature forecasts.

To bypass this limitation we are adding air density as a new parameter to the CAMS global dissemination stream. The new parameters is available on pressure and model levels in both GRIB and NetCDF format. New files are named as follows:

Code Block
z_cams_c_ecmf_20180425000000_prod_an_ml_000_den.grib
z_cams_c_ecmf_20180425000000_prod_an_ml_000_den.nc
z_cams_c_ecmf_20180425000000_prod_an_pl_000_den.grib
z_cams_c_ecmf_20180425000000_prod_an_pl_000_den.nc
...
z_cams_c_ecmf_20180425000000_prod_fc_ml_012_den.grib
z_cams_c_ecmf_20180425000000_prod_fc_ml_012_den.nc
z_cams_c_ecmf_20180425000000_prod_fc_pl_012_den.grib
z_cams_c_ecmf_20180425000000_prod_fc_pl_012_den.nc
...

To compute mass concentration you can use the scripts below.

Compute mass concentration of a chemical specie on pressure level from NetCDF output

Code Block
languagebash
titlecompute_nc_concentration.sh
#!/bin/sh
set -ex
module load cdo

DATADIR=/path-to-datadir
LEVEL=1000  # select pressure level
PARAM=co  # select parameter

# extract single level field
cdo -sellevel,${LEVEL} ${DATADIR}/z_cams_c_ecmf_20180425000000_prod_fc_pl_012_${PARAM}.nc ${PARAM}_mmr_${LEVEL}.nc
cdo -sellevel,${LEVEL} ${DATADIR}/z_cams_c_ecmf_20180425000000_prod_fc_pl_012_den.nc den_${LEVEL}.nc

# unpack NetCDF data
cdo -b f32 copy ${PARAM}_mmr_${LEVEL}.nc ${PARAM}_mmr_${LEVEL}_32.nc
cdo -b f32 copy den_${LEVEL}.nc den_${LEVEL}_32.nc

# compute concentration = mmr * air_density
cdo mul ${PARAM}_mmr_${LEVEL}_32.nc den_${LEVEL}_32.nc ${PARAM}_conc_${LEVEL}.nc

Compute mass concentration of a chemical specie on model level from GRIB file

Code Block
languagebash
titlecompute_grib_concentration.sh
#!/bin/sh
set -ex
module load eccodes
module load cdo

DATADIR=/path-to-datadir
LEVEL=60       # select model level
PARAM=no2    # select parameter

# extract single level field
grib_copy -w level=${LEVEL} ${DATADIR}/z_cams_c_ecmf_20180425000000_prod_fc_pl_012_${PARAM}.grib ${PARAM}_mmr_${LEVEL}.grib
grib_copy -w level=${LEVEL} ${DATADIR}/z_cams_c_ecmf_20180425000000_prod_fc_pl_012_den.grib den_${LEVEL}.grib

# compute concentration = mmr * air_density
cdo mul ${PARAM}_mmr_${LEVEL}.grib den_${LEVEL}.grib ${PARAM}_conc_${LEVEL}.grib

Lowest model level

 Another frequent request we receive is from users who are interested in surface Due to the nature of data organisation

Additional aerosol parameters in archive