DIAGMET meteorological processing for CHIMERE (diagmet / std)

Description

This transform replicates what was done in the historical diagmet.f90 script associated to CHIMERE. It processes variables from ECMWF grib files to produce variables required by CHIMERE.

Warning

At the moment, the yaml is not convenient to use. Every input parameter must be included. In the future, something equivalent to ecm_par.f90 should be implemented.

For the time being, please use the following yaml sample in your datavect paragraph:

meteo:
  plugin:
    name: CHIMERE
    version: std
    type: meteo
  file_freq: 3H
  dir: /home/comdata1/Meteo/europe160/%Y/%m/
  regrid:
    method: mass-conservation
  vertical_interpolation:
    method: weight
  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

Yaml arguments

The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:

Mandatory arguments

file_landuse: (mandatory)

Path to the LANDUSE file (computed elsewhere)

accepted type: str

file_landpar: (mandatory)

Path to the LANDPAR file

accepted type: str

Optional arguments

parameter: (optional)

Parameter name on which the transform works on

accepted type: str

component: (optional)

Component name on which the transform works on

accepted type: str

orig_parameter_plg: (optional)

Plugin object on which the transform works on

accepted type: Plugin

orig_component_plg: (optional)

Corresponding component object on which the transform works on

accepted type: Plugin

successor: (optional)

Name of the successor transform

accepted type: str

precursor: (optional)

Name of the precursor transform

accepted type: str

pblmin: (optional): 20

Minimum PBL height

accepted type: float

uwinfac: (optional): False

Use urban wind correction in the surface layer.

Warning

In the original diagmet, the values were inverted. One should use 1 to disable the function and 0 to activate it. Now, True means using it and False not using it.

accepted type: bool

uflxadd: (optional): False

Use additional urban heat flux

accepted type: bool

upblmin: (optional): False

Use urban correction for minimal urban PBL height

accepted type: bool

cice: (optional): True

Use cloud ice water in addition to cloud liquid water

accepted type: bool

rain: (optional): False

Use rain water in addition to cloud liquid water

accepted type: bool

clol: (optional): 0

Use low clouds: 0 = read, 1 = use liquid water, 2 = use relative humidity

accepted type: int

clom: (optional): 0

Use medium clouds: 0 = read, 1 = use liquid water, 2 = use relative humidity

accepted type: int

cloh: (optional): 0

Use high clouds: 0 = read, 1 = use liquid water, 2 = use relative humidity

accepted type: int

usta: (optional): recompute

Read Ustar or recompute from Louis 1982

accepted values: [‘read’, ‘recompute’]

deep_convection: (optional): True

Read deep convection (it False, put all DP fluxes at 0)

accepted type: bool

Requirements

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

model

Model

False

False

CHIMERE

std

Yaml template

Please find below a template for a Yaml configuration:

 1transform:
 2  plugin:
 3    name: diagmet
 4    version: std
 5    type: transform
 6
 7  # Mandatory arguments
 8  file_landuse: XXXXX  # str
 9  file_landpar: XXXXX  # str
10
11  # Optional arguments
12  parameter: XXXXX  # str
13  component: XXXXX  # str
14  orig_parameter_plg: XXXXX  # Plugin
15  orig_component_plg: XXXXX  # Plugin
16  successor: XXXXX  # str
17  precursor: XXXXX  # str
18  pblmin: XXXXX  # float
19  uwinfac: XXXXX  # bool
20  uflxadd: XXXXX  # bool
21  upblmin: XXXXX  # bool
22  cice: XXXXX  # bool
23  rain: XXXXX  # bool
24  clol: XXXXX  # int
25  clom: XXXXX  # int
26  cloh: XXXXX  # int
27  usta: XXXXX  # read|recompute
28  deep_convection: XXXXX  # bool