Object Oriented Prediction System (OOPS)#

AlgoComponents for OOPS.

class vortex.nwp.algo.oopsroot.EnsSizeAlgoComponentError(nominal_ens_size, actual_ens_size, min_ens_size)[source]#

Exception raised when the ensemble is too small.

class vortex.nwp.algo.oopsroot.OOPSMemberDecoMixin(*args, **kwargs)[source]#

Add a member footprints’ attribute and use it in the configuration files.

Note

The following documentation is automatically generated. From a developer point of view, using the present mixin class will result in the following actions:

The following footprints will be applied to the target classes:

Footprint:

dict( 
    attr = dict( 
        member = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = None,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'The current member's number (may be omitted in deterministic configurations).',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = int,  
            values = set([]), 
        ), 
    ),  
    bind = [],  
    info = 'Not documented',  
    only = dict(),  
    priority = dict( 
        level = footprints.priorities.PriorityLevel::DEFAULT (rank=1), 
    ), 
) 

The following method(s) will be called after the original prepare method:

  • <function OOPSMemberDecoMixin._algo_member_deco_setup at 0x7b0e2aa26fc0>

class vortex.nwp.algo.oopsroot.OOPSMembersTermsDetectDecoMixin(*args, **kwargs)[source]#

Tries to detect a members/terms list using the sequence’s inputs

This mixin class is intended to be used with AlgoComponent classes. It will automatically add footprints’ attributes related to this feature, crawl into the sequence’s input after the prepare step and, depending on the result of the members/terms detection add members and effterms entries into the configuration file substitutions dictionary _generic_config_subs.

Note:

Effective terms are considered (i.e term - (current_date - resource_date))

Note

The following documentation is automatically generated. From a developer point of view, using the present mixin class will result in the following actions:

The following footprints will be applied to the target classes:

Footprint:

dict( 
    attr = dict( 
        ens_failure_conf_objects = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = None,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'For a multi-member algocomponent, alternative config file when the ensemble is too small.',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            values = set([]), 
        ),  
        ens_minsize = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = None,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'For a multi-member algocomponent, the minimum of the ensemble.',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = int,  
            values = set([]), 
        ),  
        strict_mbdetect = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = True,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = -60,  
            info = 'Performs a strict members/terms detection',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = bool,  
            values = set([]), 
        ), 
    ),  
    bind = [],  
    info = 'Abstract mbdetect footprint',  
    only = dict(),  
    priority = dict( 
        level = footprints.priorities.PriorityLevel::DEFAULT (rank=1), 
    ), 
) 

The following method(s) will be called after the original prepare method:

  • <function OOPSMembersTermsDetectDecoMixin._membersd_setup at 0x7b0e2aa271a0>

class vortex.nwp.algo.oopsroot.OOPSMembersTermsDecoMixin(*args, **kwargs)[source]#

Adds members/terms footprints’ attributes and use them in configuration files.

This mixin class is intended to be used with AlgoComponent classes. It will automatically add footprints’ attributes members and terms and add the corresponding members and effterms entries into the configuration file substitutions dictionary _generic_config_subs.

Note

The following documentation is automatically generated. From a developer point of view, using the present mixin class will result in the following actions:

The following footprints will be applied to the target classes:

Footprint:

dict( 
    attr = dict( 
        members = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = None,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'A list of members.',  
            optional = False,  
            outcast = set([]),  
            remap = dict(),  
            type = footprints.stdtypes.FPList,  
            values = set([]), 
        ),  
        terms = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = footprints.stdtypes.FPList::<< 
                    as_list:: [bronx.stdtypes.date.Time::00:00] 
                >>,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'A list of effective terms.',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = footprints.stdtypes.FPList,  
            values = set([]), 
        ), 
    ),  
    bind = [],  
    info = 'Abstract footprint for a members/terms list.',  
    only = dict(),  
    priority = dict( 
        level = footprints.priorities.PriorityLevel::DEFAULT (rank=1), 
    ), 
) 

The following method(s) will be called after the original prepare method:

  • <function OOPSMembersTermsDecoMixin._membersterms_deco_setup at 0x7b0e2aa27240>

class vortex.nwp.algo.oopsroot.OOPSTimestepDecoMixin(*args, **kwargs)[source]#

Add a timsestep attribute and handle substitutions.

Note

The following documentation is automatically generated. From a developer point of view, using the present mixin class will result in the following actions:

The following footprints will be applied to the target classes:

Footprint:

dict( 
    attr = dict( 
        timestep = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = None,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'A possible model timestep (in seconds).',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = float,  
            values = set([]), 
        ), 
    ),  
    bind = [],  
    info = 'Abstract timestep footprint',  
    only = dict(),  
    priority = dict( 
        level = footprints.priorities.PriorityLevel::DEFAULT (rank=1), 
    ), 
) 

The following method(s) will be called after the original prepare method:

  • <function OOPSTimestepDecoMixin._timestep_deco_setup at 0x7b0e2aa26de0>

class vortex.nwp.algo.oopsroot.OOPSIncrementalDecoMixin(*args, **kwargs)[source]#

Add incremental attributes and handle substitutions.

Note

The following documentation is automatically generated. From a developer point of view, using the present mixin class will result in the following actions:

The following footprints will be applied to the target classes:

Footprint:

dict( 
    attr = dict( 
        incremental_geos = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = footprints.stdtypes.FPList::<< 
                    as_list:: [] 
                >>,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'Geometry for each of the outer loop iteration.',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = footprints.stdtypes.FPList,  
            values = set([]), 
        ),  
        incremental_niters = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = footprints.stdtypes.FPList::<< 
                    as_list:: [] 
                >>,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'Inner loop size for each of the outer loop iteration.',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = footprints.stdtypes.FPList,  
            values = set([]), 
        ),  
        incremental_tsteps = dict( 
            access = 'rxx',  
            alias = set([]),  
            default = footprints.stdtypes.FPList::<< 
                    as_list:: [] 
                >>,  
            doc_visibility = footprints.priorities.PriorityLevel::DEFAULT (rank=0),  
            doc_zorder = 0,  
            info = 'Timestep for each of the outer loop iteration (in seconds).',  
            optional = True,  
            outcast = set([]),  
            remap = dict(),  
            type = footprints.stdtypes.FPList,  
            values = set([]), 
        ), 
    ),  
    bind = [],  
    info = 'Abstract incremental_* footprint',  
    only = dict(),  
    priority = dict( 
        level = footprints.priorities.PriorityLevel::DEFAULT (rank=1), 
    ), 
) 

The following method(s) will be called after the original prepare method:

  • <function OOPSIncrementalDecoMixin._incremental_deco_setup at 0x7b0e2aa27380>

class vortex.nwp.algo.oopsroot.OOPSAnalysis(*args, **kwargs)[source]#

Any kind of OOPS analysis (screening/thining step excluded).

Declare some hidden attributes for a later use.

class vortex.nwp.algo.oopsroot.OOPSAnalysisWithScreening(*args, **kwargs)[source]#

Any kind of OOPS analysis with screening/thining step.

Declare some hidden attributes for a later use.