D&B (DALEC-BETHY) dynamic meteorological forcing NetCDF file dalecbethy/std

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 that fromcontrol inherits for this tracer. For minimal memory usage, match it to the consuming model’s own periodicity: a finer value costs an extra time_interpolation bridge 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

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