{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "grpprocedure.json",
    "title": "GRPProcedure",
    "type": "object",
    "description": "GRP model",
    "allOf": [
        {
            "$ref": "pqprocedure.json"
        },
        {
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "GRP",
                        "GRPProcedure"
                    ]
                },
                "parameters": {
                    "type": "object",
                    "properties": {
                        "X0": {
                            "type": "number"
                        },
                        "X1": {
                            "type": "number"
                        },
                        "X2": {
                            "type": "number"
                        },
                        "X3": {
                            "type": "number"
                        }
                    },
                    "required": ["X0","X1","X2","X3"]
                },
                "extra_pars": {
                    "type": "object",
                    "properties": {
                        "windowsize": {
                            "type": "number"
                        },
                        "rho": {
                            "type": "number"
                        },
                        "wp": {
                            "type": "number"
                        },
                        "ae": {
                            "type": "number"
                        }
                    }
                },
                "initial_states": {
                    "oneOf": [
                        {
                            "type": "array",
                            "items": {
                                "type": "number"
                            },
                            "minItems": 2,
                            "maxItems": 2
                        },
                        {
                            "type": "object",
                            "properties": {
                                "Sk_init": {
                                    "type": "number"
                                },
                                "Rk_init": {
                                    "type": "number"
                                }
                            }
                        }
                    ]
                }
            }
        }
    ]
}