Generating meteo from ECMWF

The present tutorial explains how to generate meteo files from ECMWF data. Further information on the file formats and on how to download the necessary data fro ECMWF is given here.

The meteo is generated using the transform diagmet, which is a modernized Python version of the old diagmet.F90 program.

It is possible to generate METEO files using the yaml below:

Show/Hide Code

pycif_data_root: &pycif_data_root /home/chimereges/PYCIF_TEST_DATA/CHIMERE
pycif_root: &pycif_root /home/users/aberchet/CIF/

verbose : 1

logfile: test_std

workdir: &workdir /home/chimereges/aberchet/test_ipison_strato3/

datei : 2011-03-22 00:00:00

datef : 2011-03-22 03:00:00

obsoperator:
  plugin:
    name: standard
    version: std
  autorestart: True
  save_debug: True
  init_inputs:
    components:
      meteo: []

model :
  plugin:
    name    : CHIMERE
    version : std

  periods: 3H
  direxec: !join [*pycif_root, /model_sources/chimereGES/]
  nphour_ref : 6
  ichemstep : 1
  ideepconv: 0
  nivout: 17
  nlevemis: 7

chemistry :
  dir_precomp : !join [*pycif_data_root, /chemical_schemes/]
  schemeid : univ.melchior2

domain :
  plugin:
   name    : CHIMERE
   version : std
  domid : ACADOK
  repgrid : !join [*pycif_data_root, /domains/]
  nlev: 17
  p1: 997
  pmax: 200

controlvect:
  plugin:
    name: standard
    version: std

  transform_pipe:
    diagmet:
      plugin:
        name: diagmet
        version: std
        type: transform
      file_landuse: /home/chimereges/PYCIF_TEST_DATA/CHIMERE/domains/LANDUSE/LANDUSE_ACADOK
      file_landpar: /home/chimereges/PYCIF_TEST_DATA/CHIMERE/domains/LANDPAR

datavect:
  plugin:
    name: standard
    version: std
  components:
    meteo:
      plugin:
        name: CHIMERE
        version: std
        type: meteo
      file_freq: 3H
      dir: /home/comdata1/Meteo/europe160/%Y/%m/
      regrid:
        method: mass-conservation
      parameters:
        winm:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: v
          file: uvtqc.160europe.%Y%m%d{di}00%H.grb2
        winz:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: u
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: uvtqc.160europe.%Y%m%d{di}00%H.grb2
        temp:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: t
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: uvtqc.160europe.%Y%m%d{di}00%H.grb2
        sphu:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: q
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: uvtqc.160europe.%Y%m%d{di}00%H.grb2
        clwc:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: clwc
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: uvtqc.160europe.%Y%m%d{di}00%H.grb2
        dpdu:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: p106.162
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: deepconv.160europe.%Y%m%d{di}00%H.grb2
          decumul: True
          unit_conversion:
            scale: 9.259259259259259e-05
        upfl:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: p104.162
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: deepconv.160europe.%Y%m%d{di}00%H.grb2
          decumul: True
          unit_conversion:
            scale: 9.259259259259259e-05
        dwfl:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: p105.162
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: deepconv.160europe.%Y%m%d{di}00%H.grb2
          decumul: True
          unit_conversion:
            scale: 9.259259259259259e-05
        dpdd:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: p107.162
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: deepconv.160europe.%Y%m%d{di}00%H.grb2
          decumul: True
          unit_conversion:
            scale: 9.259259259259259e-05
        psurf:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: sp
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        hght:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: blh
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        u10m:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: u10
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        v10m:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: v10
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        tem2:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: t2m
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        sshf:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: sshf
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
          decumul: True
          unit_conversion:
            scale: -9.259259259259259e-05
        slhf:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: slhf
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
          decumul: True
          unit_conversion:
            scale: -9.259259259259259e-05
        lspc:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: lsp
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
          decumul: True
          unit_conversion:
            scale: 333.333
        copc:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: cp
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
          decumul: True
          unit_conversion:
            scale: 333.333
        clol:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: lcc
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        clom:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: mcc
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True
        cloh:
          plugin:
            name: ECMWF
            version: grib2
            type: field
          varname: hcc
          dir: /home/comdata1/Meteo/europe160/%Y/%m/
          file: 2d.160europe.%Y%m%d{di}00%H.grb2
          surface: True

The yaml will generate meteo files in ${WORKDIR}/obsoperator/fwd_0000/, therein in sub-folders by date.

Good practices

If your are a new user of the CIF or if you use raw files for the fist time, it is safer to follow the steps:

  1. Prepare a yaml for only generating the meteorology (as shown above).

  2. Run the system with this yaml.

  3. Check the generated inputs, as explained in Checking the input files:.

Todo

Test todo in tutorial