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 you are a new CIF user or are using a raw data type for the first time, follow these steps:
Prepare a YAML for generating boundary conditions only (as shown above).
Run the system with this YAML.
Check the generated inputs, as explained in Checking the input files:.
Principles#
Supported raw inputs are those handled by the available plugins for boundary conditions, found under datastreams of type Field (see also the cheat-sheet).
To specify different input sources for different boundary species,
list these species as parameters of inicond, latcond, and topcond
(three independent datastreams), with names matching those in
ACTIVE_SPECIES.
Each parameter inherits the component plugin settings by default,
but all settings, including the plugin, can be overridden individually, as shown in the examples below.
The required information is:
The name, type, and version of the plugin used to read the raw files, along with any plugin-specific arguments found in the plugin’s documentation.
Up to four pieces of information for the component as expected by
datavect(see CHIMERE usual inputs and datavect). Note thatvarnameis almost always needed, since raw external files rarely use the same species names as CHIMERE.Recipes for building the transformations from raw data to CHIMERE inputs — i.e. the spatial and temporal interpolations and the unit conversion. Each recipe is a keyword with arguments that the CIF internally maps to plugins (this is why the documentation links point to plugins, even though users do not reference them directly in the YAML).
the regrid recipe for spatial interpolation. If
regridis not specified, the CIF applies bilinear regridding by default.if required, the vertical_interpolation recipe for vertical interpolation. If not specified, linear interpolation is used by default.
the time_interpolation recipe for temporal interpolation. (No options available yet; under construction.)
the unit_conversion recipe for unit conversion.
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