rompy.swan.subcomponents.time.TimeRangeClosed#
- pydantic model rompy.swan.subcomponents.time.TimeRangeClosed[source]#
Regular times with a closed boundary.
[tbeg] [delt] SEC|MIN|HR|DAY [tend]
Note
Default values for the time specification fields are provided for the case where the user wants to set times dynamically after instantiating this subcomponent.
Examples
In [157]: from rompy.swan.subcomponents.time import TimeRangeClosed In [158]: from datetime import datetime, timedelta In [159]: times = TimeRangeClosed( .....: tbeg=datetime(1990, 1, 1), .....: tend=datetime(1990, 1, 7), .....: delt=timedelta(minutes=30), .....: dfmt="min", .....: ) .....: In [160]: print(times.render()) tbeg=19900101.000000 delt=30.0 MIN tend=19900107.000000 In [161]: times = TimeRangeClosed( .....: tbeg="2012-01-01T00:00:00", .....: tend="2012-02-01T00:00:00", .....: delt="PT1H", .....: tfmt=2, .....: dfmt="hr", .....: suffix="blk", .....: ) .....: In [162]: print(times.render()) tbegblk='01-Jan-12 00:00:00' deltblk=1.0 HR tendblk='01-Feb-12 00:00:00'
Show JSON schema
{ "title": "TimeRangeClosed", "description": "Regular times with a closed boundary.\n\n.. code-block:: text\n\n [tbeg] [delt] SEC|MIN|HR|DAY [tend]\n\nNote\n----\nDefault values for the time specification fields are provided for the case where\nthe user wants to set times dynamically after instantiating this subcomponent.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.time import TimeRangeClosed\n from datetime import datetime, timedelta\n times = TimeRangeClosed(\n tbeg=datetime(1990, 1, 1),\n tend=datetime(1990, 1, 7),\n delt=timedelta(minutes=30),\n dfmt=\"min\",\n )\n print(times.render())\n times = TimeRangeClosed(\n tbeg=\"2012-01-01T00:00:00\",\n tend=\"2012-02-01T00:00:00\",\n delt=\"PT1H\",\n tfmt=2,\n dfmt=\"hr\",\n suffix=\"blk\",\n )\n print(times.render())", "type": "object", "properties": { "model_type": { "default": "closed", "description": "Model type discriminator", "enum": [ "closed", "CLOSED" ], "title": "Model Type", "type": "string" }, "tbeg": { "default": "1970-01-01T00:00:00", "description": "Start time", "format": "date-time", "title": "Tbeg", "type": "string" }, "delt": { "default": "PT1H", "description": "Time interval", "format": "duration", "title": "Delt", "type": "string" }, "tfmt": { "anyOf": [ { "enum": [ 1, 2, 3, 4, 5, 6 ], "type": "integer" }, { "type": "string" } ], "default": 1, "description": "Format to render time specification", "title": "Tfmt" }, "dfmt": { "default": "sec", "description": "Format to render time interval specification", "enum": [ "sec", "min", "hr", "day" ], "title": "Dfmt", "type": "string" }, "suffix": { "default": "", "description": "Suffix to prepend to argument names when rendering", "title": "Suffix", "type": "string" }, "tend": { "default": "1970-01-02T00:00:00", "description": "End time", "format": "date-time", "title": "Tend", "type": "string" } }, "additionalProperties": false }
- Fields:
- field delt: timedelta = datetime.timedelta(seconds=3600)#
Time interval
- field dfmt: Literal['sec', 'min', 'hr', 'day'] = 'sec'#
Format to render time interval specification
- field model_type: Literal['closed', 'CLOSED'] = 'closed'#
Model type discriminator
- field suffix: str = ''#
Suffix to prepend to argument names when rendering
- field tbeg: datetime = datetime.datetime(1970, 1, 1, 0, 0)#
Start time
- field tend: datetime = datetime.datetime(1970, 1, 2, 0, 0)#
End time
- field tfmt: Literal[1, 2, 3, 4, 5, 6] | str = 1#
Format to render time specification