LMDz prescribed concentrations LMDZ/prescrconcs

LMDz prescribed concentrations LMDZ/prescrconcs#

Description#

This plugin reads LMDz prescribed concentrations

Example of use for CH4 chemical sinks on a 96 x 96 horizontal grid with 39 pressure levels with a 1 day time resolution:

datavect:
  plugin:
    name: standard
    version: std

  components:
    prescrconcs:
    plugin:
      type: field
      name: LMDZ
      version: prescrconcs
    file_freq: 1D
    parameters:
      OH:
        dir: /path/to/OH/directory
        file: OH_field_%m.nc
      O1D:
        dir: /path/to/O1D/directory
        file: O1D_field_%m.nc
      Cl:
        dir: /path/to/CL/directory
        file: CL_field_%m.nc

The following structure is excepted for the NetCDF files, here OH_field_01.nc:

dimensions:
  time_counter = 30 ;
  lat = 96 ;
  lon = 96 ;
  presnivs = 39 ;
variables:
  double time_centered(time_counter) ;
    time_centered:standard_name = "time" ;
    time_centered:long_name = "Time axis" ;
    time_centered:time_origin = "1850-01-01 00:00:00" ;
    time_centered:bounds = "time_centered_bounds" ;
    time_centered:units = "seconds since 1850-01-01" ;
    time_centered:calendar = "noleap" ;
  float lat(lat) ;
    lat:axis = "Y" ;
    lat:standard_name = "latitude" ;
    lat:long_name = "Latitude" ;
    lat:units = "degrees_north" ;
  float lon(lon) ;
    lon:axis = "X" ;
    lon:standard_name = "longitude" ;
    lon:long_name = "Longitude" ;
    lon:units = "degrees_east" ;
  float presnivs(presnivs) ;
    presnivs:name = "presnivs" ;
    presnivs:standard_name = "Vertical levels" ;
    presnivs:units = "Pa" ;
  double time_counter(time_counter) ;
    time_counter:axis = "T" ;
    time_counter:standard_name = "time" ;
    time_counter:long_name = "Time axis" ;
    time_counter:time_origin = "1850-01-01 00:00:00" ;
    time_counter:bounds = "time_counter_bounds" ;
    time_counter:units = "seconds since 1850-01-01" ;
    time_counter:calendar = "noleap" ;
  float OH(time_counter, presnivs, lat, lon) ;
    OH:long_name = "Cl Volume Mixing Ratio" ;
    OH:units = "mol mol-1" ;
    OH:online_operation = "average" ;
    OH:interval_operation = "1800 s" ;
    OH:interval_write = "1 d" ;
    OH:cell_methods = "time: mean (interval: 1800 s)" ;
    OH:coordinates = "time_centered" ;
    OH:missing_value = 9.96921e+36f ;

The concentrations field variable must have the same name as the corresponding species.

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:

Optional arguments#

dir : str, optional, default “”

Path to the corresponding component. This value is used if not provided in parameters

file : str, optional, default “”

File format in the given directory. This value is used if not provided in parameters

varname : str, optional, default “”

Variable name to use to read data filesinstead of the parameter name if different to the parameter name

file_freq : str, optional, default “”

Temporal frequency to fetch files

split_freq : str, optional

Force splitting the processing at a given frequency different to file_freq

Requirements#

The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version

domain

Domain

False

False

LMDZ

std

YAML template#

Please find below a template for a YAML configuration:

 1field:
 2  plugin:
 3    name: LMDZ
 4    version: prescrconcs
 5    type: field
 6
 7  # Optional arguments
 8  dir: XXXXX  # str
 9  file: XXXXX  # str
10  varname: XXXXX  # str
11  file_freq: XXXXX  # str
12  split_freq: XXXXX  # str