Source code for pycif.plugins.datastreams.backgrounds.tm5_background.write

from .....utils.classes.fluxes import Flux
import numpy as np
import os
import xarray as xr


[docs] def write(self, prescr_file, prescr, typefile, mode="a", **kwargs): """Write prescribed species files for LMDZ Args: self (Fluxes): the Fluxes plugin prescr_file (str): the file where to write fluxes prescr (xarray.DataArray): prescribed species data to write mode (str): 'w' to overwrite, 'a' to append """ if typefile == 'bin': prescr_fwd = prescr["fwd"].values prescr_tl = prescr["tl"].values np.transpose([prescr_fwd, prescr_tl], axes=(0, 4, 3, 2, 1)).T.tofile(prescr_file) if typefile == 'nc': # option mode = 'a' does not work -> do it "manually" if os.path.exists(prescr_file): ds = xr.open_dataset(prescr_file) append_data = xr.merge([ds, prescr]) append_data.to_netcdf(prescr_file, format="NETCDF3_CLASSIC", mode = 'w') else: prescr.to_netcdf(prescr_file, format="NETCDF3_CLASSIC", mode = 'w')