Generating boundary condition files from raw data#
The inicond
, latcond
and topcond
components are characterized by their
comp_type
; otherwise, their specifications follow the same principles as flux
, as described previously.
Good practices#
If your are a new user of the CIF or if you use a raw type of data for the fist time, it is safer to follow the steps:
Prepare a yaml for only generating the boundary conditions (as shown above).
Run the system with this yaml.
Check the generated inputs, as explained in Checking the input files:.
Principles#
The supported raw inputs are the ones supported by the various available plugins for the boundary conditions, which are found in datastreams of type Field (see also cheat-sheet).
To specify different input sources for the various species at the boundaries,
these species must be listed as parameters of inicond
, latcond
and topcond
(three independent datatreams) and their names must match the names in
ACTIVE_SPECIES.
For each parameter, the specifications of the component plugin are inherited by default
but it is possible to individualize everything, including the plugin to use, as shown in the following examples.
The information to be provided are:
along the name, type and version of the plugin chosen to deal with the raw files, the information relative to the chosen plugin, which is particular to each plugin and found in the plugin’s documentation.
the up to four pieces of information relative to the component as expected by datavect (see CHIMERE usual inputs and datavact). Note that it is very probable that varname is used since the data of raw outside files have a very small probability of using the same species names as CHIMERE.
recipes to build the transformations from the raw data to CHIMERE’s inputs, i.e. the spatial and temporal interpolations from the initial data to the domain’s grid and the unit conversion. Each recipe is actually a key-word and arguments which are, in the core of the CIF, linked to plugins - this is why the links in the documentation point to plugins, which are not actually accessed by the user in the yaml.
the recipe for building the transformation regrid for the spatial interpolation. If no
regrid
is specified, the CIF will do a bilinear regridding by default.if required, the recipe for building the transformation vertical_interpolation for the vertical interpolation. Same as above, if not specified, the default is linear
the recipe for building the transformation time_interpolation for the temporal interpolation. no option yet. under construction
the recipe for building the transformation unit_conversion for converting units
Examples#
Only one species, taken from various raw fields#
datavect: plugin: name: standard version: std components: inicond: parameters: CH4: plugin: name: ECMWF version: grib2 type: field dir: /home/comdata1/Meteo/1280franceArgonaut/%Y/%m/ file: macc.1280franceArgonaut.%Y%m%d0000%H.grb2 file_2d: 2dmacc.1280franceArgonaut.%Y%m%d0000%H.grb2 file_freq: 3H varname: ch4 unit_conversion: # Conversion from kg/kg to ppb scale: 1810375000.0 latcond: parameters: CH4: plugin: name: CAMS version: netcdf type: field is_lbc: True dir: /home/chimereicos/ipison/grib_CAMS_N2O_chimere_cif/ file: z_cams_l_nilu_%Y%m_v17r1_ra_ml_3h_n2o.nc file_freq: 3H varname: CH4 time_interpolation: methode: linear topcond: parameters: CH4: plugin: name: ECMWF version: grib2 type: field is_top: True dir: /home/comdata1/Meteo/1280franceArgonaut/%Y/%m/ file: macc.1280franceArgonaut.%Y%m%d0000%H.grb2 file_2d: 2dmacc.1280franceArgonaut.%Y%m%d0000%H.grb2 file_freq: 3H varname: ch4 unit_conversion: # Conversion from kg/kg to ppb scale: 1810375000.0 time_interpolation: methode: linear