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



[docs] def adjoint( transf, inout_datastore, controlvect, obsvect, mapper, di, df, mode, runsubdir, workdir, onlyinit=False, **kwargs ): ddi = min(di, df) if onlyinit: return # Constants Rdry = 287.05 Rvapor = 461.5 R = 8.314462 beta = (Rvapor - Rdry) / Rvapor trid_out = (transf.component[0], transf.parameter[0]) 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["inputs"][trid_out][ddi]["adj_out"] \ = inout_datastore["inputs"][trid_out][ddi]["adj_out"] * dry_coef