Source code for pycif.plugins.transforms.complex.moist2dry.forward

import xarray as xr


[docs] def forward( transf, inout_datastore, controlvect, obsvect, mapper, di, df, mode, runsubdir, workdir, onlyinit=False, **kwargs ): ddi = min(di, df) # Constants Rdry = 287.05 Rvapor = 461.5 R = 8.314462 beta = (Rvapor - Rdry) / Rvapor # Converts to dry trid_out = (transf.component[0], transf.parameter[0]) spec = inout_datastore["inputs"][trid_out][ddi]["spec"] q = inout_datastore["inputs"][ ("specific_humidity", transf.parameter[0])][ddi]["spec"] dry_coef = (1 - beta * q / (1 - q)) \ * R / Rdry / transf.molmass * 1000 * 1e9 inout_datastore["outputs"][trid_out][ddi] = xr.Dataset( {"spec": spec * dry_coef}) if mode == "tl": inout_datastore["outputs"][trid_out][ddi]["incr"] = \ inout_datastore["inputs"][trid_out][ddi]["incr"] * dry_coef