D&B (DALEC-BETHY) dynamic meteorological forcing NetCDF file dalecbethy/std#
Description#
Reads DALEC-BETHY (D&B) hourly dynamic meteorological forcing NetCDF files
(D&B’s dynforcing.nc, e.g. global_dynforcing.nc; see
model_sources/dalecbethy/src/ncread_forcing.f90::ncread_dynamic_forcing).
This feeds the ("meteo", <component>) mapper inputs declared by
pycif.plugins.models.dalecbethy.ini_mapper (swrad,
temperature, precipitation, lwdown, soil_temperature): each
of these variable names is read as-is from the forcing file, no
renaming/unit conversion is performed.
Unlike CHIMERE’s AEMISSIONS/BEMISSIONS convention (one file per period), D&B
writes its whole hourly forcing to a single NetCDF file, with a real
time coordinate and a flat ng grid-cell dimension (D&B’s raw grid
cells, not yet split into per-PFT sample points). Rows are selected with the
same active sample-point indices as
pycif.plugins.domains.dalecbethy, so the data returned by read
lines up 1-to-1 with the tracer’s domain.zlon/domain.zlat.
write builds/appends the same native (ng, time) layout, scattering
each tracer’s active sample points back to their original ng row (see
pycif.plugins.models.dalecbethy.io.inputs.make_forcing, which uses it
to (re)assemble a per-sub-simulation input/dynforcing.nc).
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 “global_dynforcing.nc”
D&B dynamic forcing NetCDF file name (e.g. ‘global_dynforcing.nc’ or ‘<domain_name>_dynforcing-<forcing_source>_*.nc’, see model_sources/dalecbethy/Makefile ‘FORCE_SELECT’).
- 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
Re-bucket this tracer’s fetched dates/files onto a fixed pandas-frequency grid (e.g.
'1D','1MS','1YS'), independently of the native frequency the files were found at (file_freq). This fixes the sub-simulation boundaries thatfromcontrolinherits for this tracer. For minimal memory usage, match it to the consuming model’s own periodicity: a finer value costs an extratime_interpolationbridge for no memory benefit, while a coarser value keeps the tracer’s data resident in memory across every one of the model’s sub-simulations it spans. See the ‘Splitting the temporal grid’ section on the observation operator page for the full mechanism and worked examples.
Requirements#
The current plugin requires the present plugins to run properly:
Requirement name |
Requirement type |
Explicit definition |
Any valid |
Default name |
Default version |
|---|---|---|---|---|---|
domain |
False |
False |
dalecbethy |
std |
YAML template#
Please find below a template for a YAML configuration:
1flux:
2 plugin:
3 name: dalecbethy
4 version: std
5 type: flux
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
See also