Preparing of CAMS data to WRF-Chem

Hello dasa damaskova ,

I can confirm that in the example given on page: How to run the WRF-Chem model using CAMS data as initial and boundary conditions (BC)?

MACC_BC2MOZART.ncl is not processing temperature on model levels from file even if the field is present.

Temperature is needed in meteorological input and boundary conditions.

Hello all,

In the example: How to run the WRF-Chem model using CAMS data as initial and boundary conditions (BC)?

I don't know why levels are cut out from level 7 to 60 (from top) in MACC_BC2MOZART.ncl, and it may not consider to convert kg/kg to mol/mol for gases.

Many thanks for any suggestion. 

Thank you.

Hello there,

I am trying to download CAMS data using the GRG python script but I got the following error message

ecmwfapi.api.APIException: 'ecmwf.API error 1: Resource not found: datasets/cams_reanalysis'

Did the name of the dataset change to a new one?


Dear all Xiaobo Yang Bojan Kasic Liz Coleman  ,

I downloaded CAMS data from global atmospheric composition forecast for a simulation with WRF-Chem following the instructions How to run the WRF-Chem model using CAMS data as initial and boundary conditions (BC)?#Step4Runningthemodel

The process of downloading the grib data with a python request, converting it to netcdf using the script of section 2.2 of the instructions worked well for 2021-08-01 data. So, I could follow next instructions to finally run mozbc and wrf.exe incorporating successfully BC from CAMS to WRF-Chem.

However, when I downloaded same kind of data for 2022 or 2023 (python request attached before) I got problems converting grib data to netcdf. Specifically running the command  cdo -f nc -b 32 -invertlat   GRG_XXXX.grib   GRG_XXXX.netcdf.

  • I got this warning and netcdf output. 

  • There is a problem with parameter pan, which is not defined at timestep 1, although I retrieved and downloaded this parameter inside the same request as the other 7 parameters (see the python request attached)
  • It seems that only 2 of 8 variables were correctly recognized but time dimension were not incorporated for these two variables.
  • Last parameter converted only show param2.20.0. Then I noticed that the grib format of certain chemical parameters changed from mid 2021 between grib edition 1 to grib edition 2

  •  Then I downloaded the last version of cdo but it didn't also recognize the parameter NO2. I also attempted to create my own Parameter table (gribtab) as follows according to the wiki: but I got probelms with the id for NO and NO2 which are the same in grib2 edition.
  • Finally I tried to convert grib to netcdf using last eccode version with command grib_to_netcdf.  This command worked well recognising the parameters but it didn't incorporate the hybrid coordinates hyai, hybi, hyam, hybm to the netcdf which are essential to follow next steps and run mozbc and wrf.exe.

I wonder how could I convert grib data to netcdf for NO2, NO, CO, SO2, pan, CH2O CAMS forecast composition chemical species (for 2022 and 2023), obtaining all the parameters with 4 dimensions (time, lev, lat, lon) and the hybrid coordinates hyai, hybi, hyam, hybm in the same output nc file.

Many thanks,

Kind regards,


Dear Maria Francisca Cardell ,

Thank you for your detail report. The issue with CDO conversion:

cdo -f nc -b 32 -invertlat cams.fc.0p40.2023010100.grib

of GRG parameters from latest CAMS is happening because your CDO is built with one of the older versions of ecCodes libraries which isn't compatible with new parameters definition. This can be solved by re-installing CDO against ecCodes 2.28.0.
I have tested with cdo/2.1.1 build with ecCodes/2.28.0 and the conversion to netcdf worked for both, old and new CAMS GRG data.

I hope this helps.

Kind regards,


Thank you very much for your help and you promt response Bojan Kasic !

I could finally fix the error following your instructions,

Kind regards,


Dear Bojan Kasic Xiaobo Yang Liz Coleman 

I'm presently using the CAMS global forecast compostion to update the boundary conditions of gaseous species in WRF-Chem using mozbc utility, and found it to be very useful. Now is working using the MOZART option.

I also want to update the aerosol species from CAMS to use the mozcart option to simulate dust storm episodes. Is there a mapping of mozbc utility to convert the aerosol species from CAMS aerosol module to MOZCART aerosol schemes of WRF-Chem?

Here is the list of aerosol species available from CAMS.

Short name      Long name

aermr01              Sea Salt Aerosol (0.03 - 0.5 um) Mixing Ratio
aermr02              Sea Salt Aerosol (0.5 - 5 um) Mixing Ratio
aermr03              Sea Salt Aerosol (5 - 20 um) Mixing Ratio
aermr04              Dust Aerosol (0.03 - 0.55 um) Mixing Ratio
aermr05              Dust Aerosol (0.55 - 0.9 um) Mixing Ratio
aermr06              Dust Aerosol (0.9 - 20 um) Mixing Ratio
aermr07              Hydrophobic Organic Matter Aerosol Mixing Ratio
aermr08              Hydrophilic Organic Matter Aerosol Mixing Ratio
aermr09              Hydrophobic Black Carbon Aerosol Mixing Ratio
aermr10      Hydrophilic Black Carbon Aerosol Mixing Ratio
aermr11              Sulphate Aerosol Mixing Ratio

I've seen that there is a mozbc namelist to convert aerosol data from MOZART global model to use it in WRF-Chem with MOZCART option. Find it attached

However, I do not know how to compute these mapping factors since CAMS only has 3 dust bins and 3 sea salt bins while MOZCART WRF-Chem has 5 dust bins and 4 sea salt bins.


Many thanks,

Best regards,


Sorry for the reply, Maria. I've asked our scientist to have a look.

Hi Xiaobo Yang 
Aren't there any updates about my last question ?
The mapping of mozbc utility to convert the aerosol species from CAMS aerosol module to MOZCART aerosol schemes of WRF-Chem ?

Many thanks,


Hi Maria Francisca Cardell,

Unfortunately I haven't got any rely. I sent another message today. I will keep you updated.

Sorry about the delay.



Dear Maria, 

Please note, the aerosol and chemistry modelling has been upgraded in June 2023 (48r1). We have now a more detailed representation of aerosols including nitrates, ammonium and secondary aerosols.  Please have a look into the newly written documentation (Part 8) .

I can not advice you on the mapping on the dust bin from CAMS to MOZCART. But, all the required information about the size distribution for the CAMS dust and sea salt is given in the documentation.  Please note, that sea salt in CAMS is at RH=80%. To calculate dry seal salt you have to convert radius and mass mixing ratio. 


Hello Liz!

How can I get access to the code you shared for converting GRIB to NetCDF? For some reason when I click on the link, I am redirected to a “page not found” site. Is the link expired?

Thank you in advance for any insight!

Hi there, is it this file you need?

I use cdo to convert grib to netcdf.

I can dig out the file if you need it.


Hello Liz!

Thank you for your response! Would be great if you could share the file with me, I am working on converting GRIB to NetCDF and I think your script would be great help.