Source code for icenet.data.processors.cmip

from icenet.data.cli import process_args, process_date_args
from icenet.data.process import IceNetPreProcessor
from icenet.data.sic.mask import Masks
from icenet.data.processors.utils import sic_interpolate
"""

"""


[docs] class IceNetCMIPPreProcessor(IceNetPreProcessor): """ :param source: :param member: """ def __init__(self, source: str, member: str, *args, **kwargs): cmip_source = "{}.{}".format(source, member) super().__init__(*args, identifier="cmip6.{}".format(cmip_source), **kwargs)
[docs] def pre_normalisation(self, var_name: str, da: object): """ :param var_name: :param da: :return: """ if var_name == "siconca": masks = Masks(north=self.north, south=self.south) return sic_interpolate(da, masks) return da
[docs] def main(): args = process_args(extra_args=[ (["source"], dict(type=str)), (["member"], dict(type=str)), ],) dates = process_date_args(args) cmip = IceNetCMIPPreProcessor( args.source, args.member, args.abs, args.anom, args.name, dates["train"], dates["val"], dates["test"], linear_trends=args.trends, linear_trend_days=args.trend_lead, north=args.hemisphere == "north", parallel_opens=args.parallel_opens, ref_procdir=args.ref, south=args.hemisphere == "south", update_key=args.update_key, ) cmip.init_source_data(lag_days=args.lag,) cmip.process()