diff --git a/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas.js b/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas.js index 9a55966a87da03666ba6b4d862f3a43a843cba10..4e27807325abe985014fe202e2fd0f22c967428f 100644 --- a/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas.js +++ b/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas.js @@ -60,14 +60,14 @@ getTemplateFiles('../../../../install/opt/lofar/share/tmss/schemas').then(async( }; console.log(await replace(fileReplaceOptions)); - /*const fileReplaceOptions1 = { + const fileReplaceOptions1 = { files: files, from: /\/1#/g, to: '-1.json#', }; console.log(await replace(fileReplaceOptions1)); - const fileReplaceOptions2 = { + /*const fileReplaceOptions2 = { files: files, from: /.json#\/definitions/g, to: '.json#/schema/definitions', @@ -90,7 +90,7 @@ getTemplateFiles('../../../../install/opt/lofar/share/tmss/schemas').then(async( console.log(await replace(folderReplaceOptions)); // Copy templates to build folder so that it can be referred by the test suites - const data = fs.readFileSync(file, 'utf8') + const data = fs.readFileSync(file, 'utf8'); //console.log(data) if (!fs.existsSync("build/schemas/" + folderName)) { console.log("Creating folder.... build/schemas/" + folderName); @@ -103,9 +103,27 @@ getTemplateFiles('../../../../install/opt/lofar/share/tmss/schemas').then(async( const jsonData = JSON.parse(data); if (jsonData["schema"]) { console.log("Updating schema file...", file); - fs.writeFileSync(file, JSON.stringify(jsonData["schema"])); + fs.writeFileSync(file, JSON.stringify(jsonData["schema"], null, 4)); } } + + getTemplateFiles("build/schemas/scheduling_unit_observing_strategy_template").then(async(strategyFiles) => { + let strategies = []; + let index = 1; + console.log("Getting observing_strategy_templates"); + for (const file of strategyFiles) { + console.log(file); + const data = fs.readFileSync(file, 'utf8'); + let strategyTemplate = JSON.parse(data); + strategyTemplate.id = index; + index++; + strategies.push(strategyTemplate); + } + console.log("Creating observing_strategy_templates.json ..."); + fs.writeFileSync("src/__mocks__/observing_strategy_templates.json", JSON.stringify({strategies: strategies}, null, 4)); + console.log("... Created observing_strategy_templates.json"); + }); + }); }); diff --git a/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas_dev.js b/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas_dev.js index df1e1057b4b22162de30ee1e8cb70e1b267e762b..a59eeca2be1a27ed14dbd958da2a7a3cacd76310 100644 --- a/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas_dev.js +++ b/SAS/TMSS/frontend/tmss_webapp/prepareTemplateSchemas_dev.js @@ -55,14 +55,14 @@ getTemplateFiles('../../backend/src/tmss/tmssapp/schemas').then(async(backEndFil }; console.log(await replace(fileReplaceOptions)); - /*const fileReplaceOptions1 = { + const fileReplaceOptions1 = { files: files, from: /\/1#/g, to: '-1.json#', }; console.log(await replace(fileReplaceOptions1)); - const fileReplaceOptions2 = { + /*const fileReplaceOptions2 = { files: files, from: /.json#\/definitions/g, to: '.json#/schema/definitions', @@ -85,7 +85,7 @@ getTemplateFiles('../../backend/src/tmss/tmssapp/schemas').then(async(backEndFil console.log(await replace(folderReplaceOptions)); // Copy templates to build folder so that it can be referred by the test suites - const data = fs.readFileSync(file, 'utf8') + const data = fs.readFileSync(file, 'utf8'); //console.log(data) if (!fs.existsSync("build/schemas/" + folderName)) { console.log("Creating folder.... build/schemas/" + folderName); @@ -98,9 +98,44 @@ getTemplateFiles('../../backend/src/tmss/tmssapp/schemas').then(async(backEndFil const jsonData = JSON.parse(data); if (jsonData["schema"]) { console.log("Updating schema file...", file); - fs.writeFileSync(file, JSON.stringify(jsonData["schema"])); + fs.writeFileSync(file, JSON.stringify(jsonData["schema"], null, 4)); } } + + getTemplateFiles("build/schemas/scheduling_unit_observing_strategy_template").then(async(strategyFiles) => { + let strategies = []; + let index = 1; + console.log("Getting observing_strategy_templates"); + for (const file of strategyFiles) { + console.log(file); + const data = fs.readFileSync(file, 'utf8'); + let strategyTemplate = JSON.parse(data); + strategyTemplate.id = index; + index++; + strategies.push(strategyTemplate); + } + console.log("Creating observing_strategy_templates.json ..."); + fs.writeFileSync("src/__mocks__/observing_strategy_templates.json", JSON.stringify({strategies: strategies}, null, 4)); + console.log("... Created observing_strategy_templates.json"); + }); + + getTemplateFiles("build/schemas/task_template").then(async(strategyFiles) => { + let templates = []; + let index = 1; + console.log("Getting task_templates"); + for (const file of strategyFiles) { + console.log(file); + const data = fs.readFileSync(file, 'utf8'); + let strategyTemplate = JSON.parse(data); + strategyTemplate.id = index; + index++; + templates.push(strategyTemplate); + } + console.log("Creating task_templates.json ..."); + fs.writeFileSync("src/__mocks__/task_templates.json", JSON.stringify({templates: templates}, null, 4)); + console.log("... Created task_templates.json"); + }); }); + }); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/observing_strategy_templates.json b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/observing_strategy_templates.json new file mode 100644 index 0000000000000000000000000000000000000000..69c5b2de4d7f120734d76359d90ead43c45c1085 --- /dev/null +++ b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/observing_strategy_templates.json @@ -0,0 +1,10716 @@ +{ + "strategies": [ + { + "description": "This observation strategy template defines a single beamforming complex voltages observation.", + "name": "Beamforming (Complex Voltages) Observation", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Target Name", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/target" + ] + }, + { + "name": "Subbands", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/subbands" + ] + }, + { + "name": "Filter", + "refs": [ + "#/tasks/Observation/specifications_doc/filter" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "calibrator": 0.5, + "target": 0.261666666667 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [], + "task_scheduling_relations": [], + "tasks": { + "Observation": { + "description": "A beamforming observation in complex voltage mode", + "specifications_doc": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "name": "SAP0", + "subbands": [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "beamformers": [ + { + "coherent": { + "SAPs": [ + { + "name": "SAP0", + "subbands": { + "list": [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450 + ], + "method": "copy" + }, + "tab_rings": { + "count": 0, + "width": 0.01 + }, + "tabs": [ + { + "pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "relative": false + } + ] + } + ], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "XXYY", + "subbands_per_file": 20, + "time_integration_factor": 1 + } + }, + "name": "beamformer0", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + } + ], + "duration": 120, + "filter": "HBA_110_190", + "tile_beam": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "beamforming observation" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 1 + }, + { + "description": "This observation strategy template defines a task that combines parallel target and beamformer observation, plus corresponding preprocessing/pulsar pipelines and ingest", + "name": "Parallel BF+IM - Pipeline - Ingest", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "template": { + "$schema": "http://localhost:3000/schemas/schedulingunittemplate/scheduling%20unit-1.json#", + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "$schema": "http://localhost:3000/schemas/scheduling_constraints_template/constraints-1.json#", + "daily": { + "avoid_twilight": false, + "require_day": false, + "require_night": false + }, + "scheduler": "dynamic", + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "target": 0.1 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + }, + "time": { + "between": [], + "not_between": [] + } + }, + "scheduling_constraints_template": { + "name": "constraints", + "version": 1 + }, + "task_relations": [ + { + "consumer": "Preprocessing Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pulsar Pipeline", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Preprocessing Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [], + "tasks": { + "bfim": { + "description": "Combined parallel target and beamformer observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/parallel%20target%20and%20beamforming%20observation-1.json#", + "beamforming": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "beamformers": [ + { + "coherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "name": "_beamformer_name_", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ] + } + ], + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "target": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "correlator": { + "channels_per_subband": 64, + "topocentric_frequency_correction": false, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + } + }, + "specifications_template": { + "name": "parallel target and beamforming observation", + "version": 1 + } + }, + "Preprocessing Pipeline": { + "description": "Preprocessing Pipeline for the BFIM Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pulsar Pipeline": { + "description": "Pulsar Pipeline for the BFIM observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/pulsar%20pipeline-1.json#", + "dspsr": { + "digifil": { + "coherent_dedispersion": false, + "dm": 0, + "frequency_channels": 20, + "integration_time": 4 + }, + "enabled": true, + "optimise_period_dm": true, + "rfi_excision": true, + "subintegration_length": -1 + }, + "output": { + "dynamic_spectrum": { + "enabled": false, + "time_average": 0.5 + }, + "quantisation": { + "enabled": false, + "scale": 5 + } + }, + "presto": { + "fold_profile": true, + "input": { + "decode_sigma": 3, + "nr_blocks": 100, + "samples_per_block": 8192 + }, + "prepfold": false, + "rrats": { + "dm_range": 5, + "enabled": false + } + }, + "pulsar": { + "name": "", + "strategy": "meta" + }, + "single_pulse_search": false, + "station_groups": [ + { + "max_nr_missing": 0, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006" + ] + } + ] + }, + "specifications_template": { + "name": "pulsar pipeline" + } + }, + "Ingest": { + "description": "Ingest the pipelines outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + } + } + }, + "state": "active", + "version": 1, + "id": 2 + }, + { + "description": "This observation strategy template defines a single task that combines parallel calibrator, target and beamformer observation.", + "name": "Parallel Cal+BF+IM", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "template": { + "$schema": "http://localhost:3000/schemas/schedulingunittemplate/scheduling%20unit-1.json#", + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "$schema": "http://localhost:3000/schemas/scheduling_constraints_template/constraints-1.json#", + "daily": { + "avoid_twilight": false, + "require_day": false, + "require_night": false + }, + "scheduler": "dynamic", + "sky": { + "min_elevation": { + "target": 0.1, + "calibrator": 0.5 + }, + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + }, + "time": { + "between": [], + "not_between": [] + } + }, + "scheduling_constraints_template": { + "name": "constraints", + "version": 1 + }, + "task_relations": [], + "task_scheduling_relations": [], + "tasks": { + "cbfim": { + "description": "Combined parallel calibrator, target and beamformer observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/parallel%20calibrator%20target%20and%20beamforming%20observation-1.json#", + "beamforming": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "beamformers": [ + { + "coherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "name": "_beamformer_name_", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ] + } + ], + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "calibrator": { + "autoselect": true, + "name": "calibrator", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "target": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "correlator": { + "channels_per_subband": 64, + "topocentric_frequency_correction": false, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + } + }, + "specifications_template": { + "name": "parallel calibrator target and beamforming observation", + "version": 1 + } + } + } + }, + "state": "active", + "version": 1, + "id": 3 + }, + { + "description": "This observation strategy template defines a task that combines parallel calibrator, target and beamformer observation, plus corresponding preprocessing/pulsar pipelines and ingest", + "name": "Parallel C+BF+IM - Pipeline - Ingest", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "template": { + "$schema": "http://localhost:3000/schemas/schedulingunittemplate/scheduling%20unit-1.json#", + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "$schema": "http://localhost:3000/schemas/scheduling_constraints_template/constraints-1.json#", + "daily": { + "avoid_twilight": false, + "require_day": false, + "require_night": false + }, + "scheduler": "dynamic", + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "target": 0.1, + "calibrator": 0.5 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + }, + "time": { + "between": [], + "not_between": [] + } + }, + "scheduling_constraints_template": { + "name": "constraints", + "version": 1 + }, + "task_relations": [ + { + "consumer": "Preprocessing Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "cbfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pulsar Pipeline", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "cbfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Preprocessing Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "cbfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "cbfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [], + "tasks": { + "cbfim": { + "description": "Combined parallel calibrator, target and beamformer observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/parallel%20calibrator%20target%20and%20beamforming%20observation-1.json#", + "beamforming": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "beamformers": [ + { + "coherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "name": "_beamformer_name_", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ] + } + ], + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "calibrator": { + "autoselect": true, + "name": "calibrator", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "target": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "correlator": { + "channels_per_subband": 64, + "topocentric_frequency_correction": false, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + } + }, + "specifications_template": { + "name": "parallel calibrator target and beamforming observation", + "version": 1 + } + }, + "Preprocessing Pipeline": { + "description": "Preprocessing Pipeline for the C+BFIM Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pulsar Pipeline": { + "description": "Pulsar Pipeline for the C+BFIM observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/pulsar%20pipeline-1.json#", + "dspsr": { + "digifil": { + "coherent_dedispersion": false, + "dm": 0, + "frequency_channels": 20, + "integration_time": 4 + }, + "enabled": true, + "optimise_period_dm": true, + "rfi_excision": true, + "subintegration_length": -1 + }, + "output": { + "dynamic_spectrum": { + "enabled": false, + "time_average": 0.5 + }, + "quantisation": { + "enabled": false, + "scale": 5 + } + }, + "presto": { + "fold_profile": true, + "input": { + "decode_sigma": 3, + "nr_blocks": 100, + "samples_per_block": 8192 + }, + "prepfold": false, + "rrats": { + "dm_range": 5, + "enabled": false + } + }, + "pulsar": { + "name": "", + "strategy": "meta" + }, + "single_pulse_search": false, + "station_groups": [ + { + "max_nr_missing": 0, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006" + ] + } + ] + }, + "specifications_template": { + "name": "pulsar pipeline" + } + }, + "Ingest": { + "description": "Ingest the pipelines outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + } + } + }, + "state": "active", + "version": 1, + "id": 4 + }, + { + "description": "This observation strategy template defines a train of a task that combines parallel target and beamformer observations in between two separate calibrator tasks, plus corresponding preprocessing/pulsar pipelines and ingest", + "name": "Cal - Parallel BF+IM - Cal - Pipeline - Ingest", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "template": { + "$schema": "http://localhost:3000/schemas/schedulingunittemplate/scheduling%20unit-1.json#", + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "$schema": "http://localhost:3000/schemas/scheduling_constraints_template/constraints-1.json#", + "daily": { + "avoid_twilight": false, + "require_day": false, + "require_night": false + }, + "scheduler": "dynamic", + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "target": 0.1 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + }, + "time": { + "between": [], + "not_between": [] + } + }, + "scheduling_constraints_template": { + "name": "constraints", + "version": 1 + }, + "task_relations": [ + { + "consumer": "Preprocessing Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pulsar Pipeline", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pipeline 1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pipeline 2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Preprocessing Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pulsar Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "bfim", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [ + { + "first": "Calibrator Observation 1", + "placement": "before", + "second": "bfim", + "time_offset": 60 + }, + { + "first": "Calibrator Observation 2", + "placement": "after", + "second": "bfim", + "time_offset": 60 + } + ], + "tasks": { + "bfim": { + "description": "Combined parallel target and beamformer observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/parallel%20target%20and%20beamforming%20observation-1.json#", + "beamforming": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "beamformers": [ + { + "coherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "name": "_beamformer_name_", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ] + } + ], + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + }, + "target": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + }, + "name": "_SAP_name_", + "subbands": [] + } + ], + "antenna_set": "HBA_DUAL", + "correlator": { + "channels_per_subband": 64, + "topocentric_frequency_correction": false, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "processing": { + "beamformer_ppf": false + }, + "duration": 300, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "target": "_target_name_", + "direction_type": "J2000" + } + } + }, + "specifications_template": { + "name": "parallel target and beamforming observation", + "version": 1 + } + }, + "Calibrator Observation 1": { + "description": "Preceding calibrator observation for BF+IM scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator1", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Observation 2": { + "description": "Subsequent calibrator observation for BF+IM scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator2", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Pipeline 1": { + "description": "Preprocessing Pipeline for Calibrator Observation 1", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pipeline 2": { + "description": "Preprocessing Pipeline for Calibrator Observation 2", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Preprocessing Pipeline": { + "description": "Preprocessing Pipeline for the BFIM Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pulsar Pipeline": { + "description": "Pulsar Pipeline for the BFIM observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/pulsar%20pipeline-1.json#", + "dspsr": { + "digifil": { + "coherent_dedispersion": false, + "dm": 0, + "frequency_channels": 20, + "integration_time": 4 + }, + "enabled": true, + "optimise_period_dm": true, + "rfi_excision": true, + "subintegration_length": -1 + }, + "output": { + "dynamic_spectrum": { + "enabled": false, + "time_average": 0.5 + }, + "quantisation": { + "enabled": false, + "scale": 5 + } + }, + "presto": { + "fold_profile": true, + "input": { + "decode_sigma": 3, + "nr_blocks": 100, + "samples_per_block": 8192 + }, + "prepfold": false, + "rrats": { + "dm_range": 5, + "enabled": false + } + }, + "pulsar": { + "name": "", + "strategy": "meta" + }, + "single_pulse_search": false, + "station_groups": [ + { + "max_nr_missing": 0, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006" + ] + } + ] + }, + "specifications_template": { + "name": "pulsar pipeline" + } + }, + "Ingest": { + "description": "Ingest the pipelines outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + } + } + }, + "state": "active", + "version": 1, + "id": 5 + }, + { + "description": "This observation strategy template defines an single-beam HBA imaging strategy with a Calibrator-Target-Calibrator observation chain, plus a preprocessing pipeline for each and ingest of pipeline data only.", + "name": "HBA single beam imaging", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Target Name", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/name" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Subbands", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/subbands" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Target Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Target Duration", + "refs": [ + "#/tasks/Target Observation/specifications_doc/duration" + ] + }, + { + "name": "Calibrator 1 Name", + "refs": [ + "#/tasks/Calibrator Observation 1/specifications_doc/name" + ] + }, + { + "name": "Calibrator 1 Pointing ", + "refs": [ + "#/tasks/Calibrator Observation 1/specifications_doc/pointing" + ] + }, + { + "name": "Calibrator 1 Duration", + "refs": [ + "#/tasks/Calibrator Observation 1/specifications_doc/duration" + ] + }, + { + "name": "Calibrator 2 Name", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/name" + ] + }, + { + "name": "Calibrator 2 Pointing", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/pointing" + ] + }, + { + "name": "Calibrator 2 Duration", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/duration" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "transit_offset": { + "from": -1440, + "to": 1440 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Calibrator Pipeline 1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Calibrator Pipeline 2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Target Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "target1" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Target Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [ + { + "first": "Calibrator Observation 1", + "placement": "before", + "second": "Target Observation", + "time_offset": 60 + }, + { + "first": "Calibrator Observation 2", + "placement": "after", + "second": "Target Observation", + "time_offset": 60 + } + ], + "tasks": { + "Calibrator Observation 1": { + "description": "Calibrator Observation before Target Observation", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator1", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Observation 2": { + "description": "Calibrator Observation after Target Observation", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator2", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Pipeline 1": { + "description": "Preprocessing Pipeline for Calibrator Observation 1", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Calibrator Pipeline 2": { + "description": "Preprocessing Pipeline for Calibrator Observation 2", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Ingest": { + "description": "Ingest all preprocessed dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + }, + "tags": [] + }, + "Target Observation": { + "description": "Target Observation", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target", + "subbands": [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 28800, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 4, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS101", + "CS103", + "CS201", + "CS301", + "CS302", + "CS401", + "CS501", + "RS106", + "RS205", + "RS208", + "RS210", + "RS305", + "RS306", + "RS307", + "RS310", + "RS406", + "RS407", + "RS409", + "RS503", + "RS508", + "RS509" + ] + }, + { + "max_nr_missing": 2, + "stations": [ + "DE601", + "DE602", + "DE603", + "DE604", + "DE605", + "DE609", + "FR606", + "SE607", + "UK608", + "PL610", + "PL611", + "PL612", + "IE613", + "LV614" + ] + }, + { + "max_nr_missing": 1, + "stations": [ + "DE601", + "DE605" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + }, + "Target Pipeline": { + "description": "Preprocessing Pipeline for Target Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + } + } + }, + "version": 1, + "state": "active", + "id": 6 + }, + { + "description": "LBA Imaging Observing Strategy using 3 Beams and a parallel Calibrator Beam with a preprocessing pipeline for each, used for the LOFAR LBA Survey and LBA Co-Observing.", + "name": "IM LBA Survey Strategy - 3 Beams", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Target Pointing 1", + "refs": [ + "#/tasks/Combined Observation/specifications_doc/target/SAPs/0/digital_pointing" + ] + }, + { + "name": "Target Pointing 2", + "refs": [ + "#/tasks/Combined Observation/specifications_doc/target/SAPs/1/digital_pointing" + ] + }, + { + "name": "Target Pointing 3", + "refs": [ + "#/tasks/Combined Observation/specifications_doc/target/SAPs/2/digital_pointing" + ] + }, + { + "name": "Calibrator Pointing", + "refs": [ + "#/tasks/Combined Observation/specifications_doc/calibrator/pointing" + ] + }, + { + "name": "Time averaging steps", + "refs": [ + "#/tasks/Pipeline target1/specifications_doc/average/time_steps", + "#/tasks/Pipeline target2/specifications_doc/average/time_steps", + "#/tasks/Pipeline target3/specifications_doc/average/time_steps", + "#/tasks/Calibrator Pipeline/specifications_doc/average/time_steps" + ] + }, + { + "name": "Frequency averaging steps", + "refs": [ + "#/tasks/Pipeline target1/specifications_doc/average/frequency_steps", + "#/tasks/Pipeline target2/specifications_doc/average/frequency_steps", + "#/tasks/Pipeline target3/specifications_doc/average/frequency_steps", + "#/tasks/Calibrator Pipeline/specifications_doc/average/frequency_steps" + ] + }, + { + "name": "Demix sources Pipeline Target 1", + "refs": [ + "#/tasks/Pipeline target1/specifications_doc/demix/sources" + ] + }, + { + "name": "Demix sources Pipeline Target 2", + "refs": [ + "#/tasks/Pipeline target2/specifications_doc/demix/sources" + ] + }, + { + "name": "Demix sources Pipeline Target 3", + "refs": [ + "#/tasks/Pipeline target3/specifications_doc/demix/sources" + ] + }, + { + "name": "Demix sources Pipeline Calibrator", + "refs": [ + "#/tasks/Calibrator Pipeline/specifications_doc/demix/sources" + ] + } + ], + "task_relations": [ + { + "consumer": "Calibrator Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Combined Observation", + "selection_doc": { + "sap": [ + "calibrator" + ] + }, + "selection_template": "SAP" + }, + { + "consumer": "Pipeline target1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Combined Observation", + "selection_doc": { + "sap": [ + "target1" + ] + }, + "selection_template": "SAP" + }, + { + "consumer": "Pipeline target2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Combined Observation", + "selection_doc": { + "sap": [ + "target2" + ] + }, + "selection_template": "SAP" + }, + { + "consumer": "Pipeline target3", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Combined Observation", + "selection_doc": { + "sap": [ + "target3" + ] + }, + "selection_template": "SAP" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target1", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target2", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target3", + "selection_doc": {}, + "selection_template": "all" + } + ], + "task_scheduling_relations": [], + "tasks": { + "Calibrator Pipeline": { + "description": "Preprocessing Pipeline for Calibrator Observation", + "specifications_doc": { + "average": { + "frequency_steps": 8, + "time_steps": 4 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 12 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "LBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + } + }, + "Combined Observation": { + "description": "Combined parallel Calibrator & Target Observation for UC1 LBA scheduling unit", + "specifications_doc": { + "calibrator": { + "autoselect": false, + "name": "calibrator", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "target": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target1", + "subbands": [ + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338 + ] + }, + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target2", + "subbands": [ + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338 + ] + }, + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target3", + "subbands": [ + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338 + ] + } + ], + "antenna_set": "LBA_SPARSE_EVEN", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 120, + "filter": "LBA_30_90", + "station_groups": [ + { + "max_nr_missing": 4, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS101", + "CS103", + "CS201", + "CS301", + "CS302", + "CS401", + "CS501", + "RS106", + "RS205", + "RS208", + "RS210", + "RS305", + "RS306", + "RS307", + "RS310", + "RS406", + "RS407", + "RS409", + "RS503", + "RS508", + "RS509" + ] + }, + { + "max_nr_missing": 1, + "stations": [ + "RS508", + "RS509" + ] + }, + { + "max_nr_missing": 0, + "stations": [ + "RS310", + "RS210" + ] + } + ] + } + }, + "specifications_template": { + "name": "parallel calibrator target observation" + } + }, + "Ingest": { + "description": "Ingest all preprocessed dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + }, + "Pipeline target1": { + "description": "Preprocessing Pipeline for Target Observation target1", + "specifications_doc": { + "average": { + "frequency_steps": 8, + "time_steps": 4 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 12 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "LBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + } + }, + "Pipeline target2": { + "description": "Preprocessing Pipeline for Target Observation target2", + "specifications_doc": { + "average": { + "frequency_steps": 8, + "time_steps": 4 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 12 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "LBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + } + }, + "Pipeline target3": { + "description": "Preprocessing Pipeline for Target Observation target3", + "specifications_doc": { + "average": { + "frequency_steps": 8, + "time_steps": 4 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 12 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "LBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + } + } + } + }, + "version": 1, + "id": 7 + }, + { + "description": "This observation strategy template defines a LoTSS (Co-)observing run with a Calibrator-Target-Calibrator observation chain, plus a preprocessing pipeline for each and ingest of pipeline data only. Fix target names.", + "name": "LoTSS Observing strategy - v2", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduler", + "refs": [ + "#/scheduling_constraints_doc/scheduler" + ] + }, + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc/time" + ] + }, + { + "name": "Target 1 Name", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/target" + ] + }, + { + "name": "Target Pointing 1", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Target 2 Name", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/1/target" + ] + }, + { + "name": "Target Pointing 2", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/1/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Target Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Target Duration", + "refs": [ + "#/tasks/Target Observation/specifications_doc/duration" + ] + }, + { + "name": "Calibrator 1 Name", + "refs": [ + "#/tasks/Calibrator Observation 1/specifications_doc/name" + ] + }, + { + "name": "Calibrator 1 Pointing ", + "refs": [ + "#/tasks/Calibrator Observation 1/specifications_doc/pointing" + ] + }, + { + "name": "Calibrator 2 Name", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/name" + ] + }, + { + "name": "Calibrator 2 Pointing", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/pointing" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "transit_offset": { + "from": -1440, + "to": 1440 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Calibrator Pipeline 1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Calibrator Pipeline 2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pipeline target1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "sap1" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Pipeline target2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "sap2" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [ + { + "first": "Calibrator Observation 1", + "placement": "before", + "second": "Target Observation", + "time_offset": 60 + }, + { + "first": "Calibrator Observation 2", + "placement": "after", + "second": "Target Observation", + "time_offset": 60 + } + ], + "tasks": { + "Calibrator Observation 1": { + "description": "Calibrator Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator1", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Observation 2": { + "description": "Calibrator Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator2", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Pipeline 1": { + "description": "Preprocessing Pipeline for Calibrator Observation 1", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Calibrator Pipeline 2": { + "description": "Preprocessing Pipeline for Calibrator Observation 2", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Ingest": { + "description": "Ingest all preprocessed dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + }, + "tags": [] + }, + "Pipeline target1": { + "description": "Preprocessing Pipeline for Target Observation target1, SAP000", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pipeline target2": { + "description": "Preprocessing Pipeline for Target Observation target2, SAP001", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Target Observation": { + "description": "Target Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + }, + "name": "sap1", + "subbands": [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 182, + 183, + 184, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 212, + 213, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 349, + 364, + 372, + 380, + 388, + 396, + 404, + 413, + 421, + 430, + 438, + 447 + ] + }, + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + }, + "name": "sap2", + "subbands": [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 182, + 183, + 184, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 212, + 213, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 349, + 364, + 372, + 380, + 388, + 396, + 404, + 413, + 421, + 430, + 438, + 447 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 28800, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 4, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS101", + "CS103", + "CS201", + "CS301", + "CS302", + "CS401", + "CS501", + "RS106", + "RS205", + "RS208", + "RS210", + "RS305", + "RS306", + "RS307", + "RS310", + "RS406", + "RS407", + "RS409", + "RS503", + "RS508", + "RS509" + ] + }, + { + "max_nr_missing": 2, + "stations": [ + "DE601", + "DE602", + "DE603", + "DE604", + "DE605", + "DE609", + "FR606", + "SE607", + "UK608", + "PL610", + "PL611", + "PL612", + "IE613", + "LV614" + ] + }, + { + "max_nr_missing": 1, + "stations": [ + "DE601", + "DE605" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 8 + }, + { + "description": "This observation strategy template defines the pulsar timing template, a complex voltage beamformed observation with 1 pointing and a pulsar pipeline for a known pulsar.", + "name": "Pulsar timing", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Name", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/name" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "calibrator": 0.5, + "target": 0.261666666667 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Pipeline", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + } + ], + "task_scheduling_relations": [], + "tasks": { + "Cleanup": { + "description": "Cleanup all dataproducts from disk", + "specifications_doc": {}, + "specifications_template": { + "name": "cleanup" + } + }, + "Ingest": { + "description": "Ingest the pipeline outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + }, + "Observation": { + "description": "A simple short test beamforming observation", + "specifications_doc": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "name": "B0329+54", + "subbands": [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "beamformers": [ + { + "coherent": { + "SAPs": [ + { + "name": "B0329+54", + "subbands": { + "list": [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450 + ], + "method": "copy" + }, + "tab_rings": { + "count": 0, + "width": 0.01 + }, + "tabs": [ + { + "pointing": { + "angle1": 0, + "angle2": 0, + "direction_type": "J2000", + "target": "target1" + }, + "relative": true + } + ] + } + ], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "XXYY", + "subbands_per_file": 20, + "time_integration_factor": 1 + } + }, + "name": "B0329+54", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + } + ], + "duration": 120, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "beamforming observation" + } + }, + "Pipeline": { + "description": "Pulsar Pipeline for the test observation", + "specifications_doc": { + "$schema": "http://localhost:3000/schemas/tasktemplate/pulsar%20pipeline-1.json#", + "dspsr": { + "digifil": { + "coherent_dedispersion": false, + "dm": 0, + "frequency_channels": 20, + "integration_time": 4 + }, + "enabled": true, + "optimise_period_dm": true, + "rfi_excision": true, + "subintegration_length": -1 + }, + "output": { + "dynamic_spectrum": { + "enabled": false, + "time_average": 0.5 + }, + "quantisation": { + "enabled": false, + "scale": 5 + } + }, + "presto": { + "fold_profile": true, + "input": { + "decode_sigma": 3, + "nr_blocks": 100, + "samples_per_block": 8192 + }, + "prepfold": false, + "rrats": { + "dm_range": 5, + "enabled": false + } + }, + "pulsar": { + "name": "", + "strategy": "meta" + }, + "single_pulse_search": false, + "station_groups": [ + { + "max_nr_missing": 0, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006" + ] + } + ] + }, + "specifications_template": { + "name": "pulsar pipeline" + } + } + } + }, + "version": 1, + "id": 9 + }, + { + "description": "This observation strategy template defines a similar observation strategy as for LoTSS, but then with a single Calibrator at the end so that the Target Observation can start immediately once the trigger is submitted.", + "name": "Responsive Telescope HBA LoTSS", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Target Name", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/name" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Subbands", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/subbands" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Target Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Target Duration", + "refs": [ + "#/tasks/Target Observation/specifications_doc/duration" + ] + }, + { + "name": "Calibrator Name", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/name" + ] + }, + { + "name": "Calibrator Pointing", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/pointing" + ] + }, + { + "name": "Calibrator Duration", + "refs": [ + "#/tasks/Calibrator Observation 2/specifications_doc/duration" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "transit_offset": { + "from": -86400, + "to": 86400 + } + }, + "time": { + "between": [] + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Calibrator Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Target Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "target1" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Calibrator Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Target Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [ + { + "first": "Calibrator Observation", + "placement": "after", + "second": "Target Observation", + "time_offset": 60 + } + ], + "tasks": { + "Calibrator Observation": { + "description": "Calibrator Observation after Target Observation", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Pipeline": { + "description": "Preprocessing Pipeline for Calibrator Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Ingest": { + "description": "Ingest all preprocessed dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + }, + "tags": [] + }, + "Target Observation": { + "description": "Target Observation", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + }, + "name": "target", + "subbands": [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 7200, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 4, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS101", + "CS103", + "CS201", + "CS301", + "CS302", + "CS401", + "CS501", + "RS106", + "RS205", + "RS208", + "RS210", + "RS305", + "RS306", + "RS307", + "RS310", + "RS406", + "RS407", + "RS409", + "RS503", + "RS508", + "RS509" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "PXXX+YY" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + }, + "Target Pipeline": { + "description": "Preprocessing Pipeline for Target Observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 10 + }, + { + "description": "This observation strategy template defines a short Beamformed Observation, Pulsar Pipeline and Ingest.", + "name": "Short Test Beamformed Observation - Pipeline - Ingest", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "calibrator": 0.5, + "target": 0.261666666667 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Pipeline", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "output": { + "dataformat": "Beamformed", + "datatype": "time series", + "role": "beamformer" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "output": { + "dataformat": "pulp summary", + "datatype": "quality", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "output": { + "dataformat": "pulp analysis", + "datatype": "pulsar profile", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all" + } + ], + "task_scheduling_relations": [], + "tasks": { + "Cleanup": { + "description": "Cleanup all dataproducts from disk", + "specifications_doc": {}, + "specifications_template": { + "name": "cleanup" + } + }, + "Ingest": { + "description": "Ingest the pipeline outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + } + }, + "Observation": { + "description": "A simple short test beamforming observation", + "specifications_doc": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "name": "B0329+54", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "beamformers": [ + { + "coherent": { + "SAPs": [ + { + "name": "B0329+54", + "subbands": { + "list": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ], + "method": "copy" + }, + "tab_rings": { + "count": 0, + "width": 0.01 + }, + "tabs": [ + { + "pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "relative": false + } + ] + } + ], + "settings": { + "channels_per_subband": 16, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 6 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 16, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 6 + } + }, + "name": "B0329+54", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + } + ], + "duration": 120, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "beamforming observation" + } + }, + "Pipeline": { + "description": "Pulsar Pipeline for the test observation", + "specifications_doc": {}, + "specifications_template": { + "name": "pulsar pipeline" + } + } + } + }, + "version": 1, + "id": 11 + }, + { + "description": "This observation strategy template defines a short imaging Target Observation, Preprocessing Pipeline and Ingest.", + "name": "Short Test Observation - Pipeline - Ingest", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "calibrator": 0.5, + "target": 0.1 + }, + "transit_offset": { + "from": -86400, + "to": 86400 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Pipeline", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Observation", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Cleanup", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [], + "tasks": { + "Cleanup": { + "description": "Cleanup all dataproducts from disk", + "specifications_doc": {}, + "specifications_template": { + "name": "cleanup" + }, + "tags": [] + }, + "Ingest": { + "description": "Ingest the pipeline outputs dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + }, + "tags": [] + }, + "Observation": { + "description": "A simple short test observation", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "Polaris", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 120, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + }, + "Pipeline": { + "description": "Preprocessing Pipeline for the test observation", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 12 + }, + { + "description": "This observation strategy template defines a single simple beamforming observation.", + "name": "Simple Beamforming Observation", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + }, + { + "name": "Beamformers", + "refs": [ + "#/tasks/Observation/specifications_doc/beamformers" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "target": 0.1 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [], + "task_scheduling_relations": [], + "tasks": { + "Observation": { + "description": "A simple short test beamforming observation", + "specifications_doc": { + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "name": "B0329+54", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "beamformers": [ + { + "coherent": { + "SAPs": [ + { + "name": "B0329+54", + "subbands": { + "list": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ], + "method": "copy" + }, + "tab_rings": { + "count": 0, + "width": 0.01 + }, + "tabs": [ + { + "pointing": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + }, + "relative": false + } + ] + } + ], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "flys eye": { + "enabled": false, + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "incoherent": { + "SAPs": [], + "settings": { + "channels_per_subband": 1, + "quantisation": { + "bits": 8, + "enabled": false, + "scale_max": 5, + "scale_min": -5 + }, + "stokes": "I", + "subbands_per_file": 488, + "time_integration_factor": 1 + } + }, + "name": "B0329+54", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + } + ], + "duration": 120, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.92934186635, + "angle2": 0.952579228492, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "beamforming observation" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 13 + }, + { + "description": "This observation strategy template defines a single simple Target observation.", + "name": "Simple Observation", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Duration", + "refs": [ + "#/tasks/Observation/specifications_doc/duration" + ] + }, + { + "name": "Target Pointing", + "refs": [ + "#/tasks/Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Observation/specifications_doc/tile_beam" + ] + } + ], + "scheduling_constraints_doc": { + "scheduler": "dynamic", + "sky": { + "min_distance": { + "jupiter": 0, + "moon": 0, + "sun": 0 + }, + "min_elevation": { + "target": 0.1 + }, + "transit_offset": { + "from": -21600, + "to": 21600 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [], + "task_scheduling_relations": [], + "tasks": { + "Observation": { + "description": "A simple short test observation", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "Polaris", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 120, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 14 + }, + { + "description": "This observation strategy template defines a Calibrator-Target-Calibrator observation chain, plus a preprocessing pipeline for each.", + "name": "UC1 CTC+pipelines", + "purpose": "technical_commissioning", + "scheduling_unit_template": { + "name": "scheduling unit", + "version": 1 + }, + "state": "active", + "template": { + "parameters": [ + { + "name": "Scheduling Constraints", + "refs": [ + "#/scheduling_constraints_doc" + ] + }, + { + "name": "Target Pointing 1", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/0/digital_pointing" + ] + }, + { + "name": "Target Pointing 2", + "refs": [ + "#/tasks/Target Observation/specifications_doc/SAPs/1/digital_pointing" + ] + }, + { + "name": "Tile Beam", + "refs": [ + "#/tasks/Target Observation/specifications_doc/tile_beam" + ] + } + ], + "scheduling_constraints_doc": { + "sky": { + "transit_offset": { + "from": -1440, + "to": 1440 + } + } + }, + "scheduling_constraints_template": { + "name": "constraints" + }, + "task_relations": [ + { + "consumer": "Pipeline 1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pipeline 2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Calibrator Observation 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Pipeline target1", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "target1" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Pipeline target2", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "correlator" + }, + "producer": "Target Observation", + "selection_doc": { + "sap": [ + "target2" + ] + }, + "selection_template": "SAP", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline 1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline 2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target1", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + }, + { + "consumer": "Ingest", + "input": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "output": { + "dataformat": "MeasurementSet", + "datatype": "visibilities", + "role": "any" + }, + "producer": "Pipeline target2", + "selection_doc": {}, + "selection_template": "all", + "tags": [] + } + ], + "task_scheduling_relations": [ + { + "first": "Calibrator Observation 1", + "placement": "before", + "second": "Target Observation", + "time_offset": 60 + }, + { + "first": "Calibrator Observation 2", + "placement": "after", + "second": "Target Observation", + "time_offset": 60 + } + ], + "tasks": { + "Calibrator Observation 1": { + "description": "Calibrator Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator1", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Calibrator Observation 2": { + "description": "Calibrator Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "autoselect": false, + "duration": 600, + "name": "calibrator2", + "pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "calibrator observation" + }, + "tags": [] + }, + "Ingest": { + "description": "Ingest all preprocessed dataproducts", + "specifications_doc": {}, + "specifications_template": { + "name": "ingest" + }, + "tags": [] + }, + "Pipeline 1": { + "description": "Preprocessing Pipeline for Calibrator Observation 1", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pipeline 2": { + "description": "Preprocessing Pipeline for Calibrator Observation 2", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pipeline target1": { + "description": "Preprocessing Pipeline for Target Observation target1", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Pipeline target2": { + "description": "Preprocessing Pipeline for Target Observation target2", + "specifications_doc": { + "average": { + "frequency_steps": 4, + "time_steps": 1 + }, + "demix": { + "frequency_steps": 64, + "ignore_target": false, + "sources": [], + "time_steps": 10 + }, + "flag": { + "autocorrelations": true, + "outerchannels": true, + "rfi_strategy": "HBAdefault" + }, + "storagemanager": "dysco" + }, + "specifications_template": { + "name": "preprocessing pipeline" + }, + "tags": [] + }, + "Target Observation": { + "description": "Target Observation for UC1 HBA scheduling unit", + "specifications_doc": { + "QA": { + "file_conversion": { + "enabled": true, + "nr_of_subbands": -1, + "nr_of_timestamps": 256 + }, + "inspection_plots": "msplots", + "plots": { + "autocorrelation": true, + "crosscorrelation": true, + "enabled": true + } + }, + "SAPs": [ + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target1", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + }, + { + "digital_pointing": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + }, + "name": "target2", + "subbands": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + } + ], + "antenna_set": "HBA_DUAL_INNER", + "correlator": { + "channels_per_subband": 64, + "integration_time": 1, + "storage_cluster": "CEP4" + }, + "duration": 28800, + "filter": "HBA_110_190", + "station_groups": [ + { + "max_nr_missing": 4, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS101", + "CS103", + "CS201", + "CS301", + "CS302", + "CS401", + "CS501", + "RS106", + "RS205", + "RS208", + "RS210", + "RS305", + "RS306", + "RS307", + "RS310", + "RS406", + "RS407", + "RS409", + "RS503", + "RS508", + "RS509" + ] + }, + { + "max_nr_missing": 2, + "stations": [ + "DE601", + "DE602", + "DE603", + "DE604", + "DE605", + "DE609", + "FR606", + "SE607", + "UK608", + "PL610", + "PL611", + "PL612", + "IE613", + "LV614" + ] + }, + { + "max_nr_missing": 1, + "stations": [ + "DE601", + "DE605" + ] + } + ], + "tile_beam": { + "angle1": 0.6624317181687094, + "angle2": 1.5579526427549426, + "direction_type": "J2000", + "target": "target1" + } + }, + "specifications_template": { + "name": "target observation" + }, + "tags": [] + } + } + }, + "version": 1, + "id": 15 + } + ] +} \ No newline at end of file diff --git a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/scheduleunit.service.data.js b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/scheduleunit.service.data.js index 08ba13176cec12ab555405930d7ab5e2f8860c25..e1df5c1a1f216042fa1f121e1856738db67322c1 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/scheduleunit.service.data.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/scheduleunit.service.data.js @@ -1504,7 +1504,18 @@ const SUServiceMock= { "version": 1 } ], - schedulingUnitFromObservStrategy: { + getObservStrategies: () => { + const templates = require("../../../tmss_webapp/src/__mocks__/observing_strategy_templates.json"); + return templates.strategies; + }, + getObservStrategy: (name) => { + // const templates = require("../../../tmss_webapp/src/__mocks__/observing_strategy_templates.json"); + // return templates.strategies.find(strategy=> { return strategy.name === name }); + return SUServiceMock.getObservStrategies().find(strategy=> { return strategy.name === name }); + }, + getSchedulingUnitFromObservStrategy: () => { + const strategyId = SUServiceMock.getObservStrategy("UC1 CTC+pipelines")['id']; + return { "id": 1, "url": "http://192.168.99.100:8008/api/scheduling_unit_draft/1", "created_at": "2020-08-25T13:28:42.092602", @@ -1512,8 +1523,8 @@ const SUServiceMock= { "duration": 30120, "generator_instance_doc": null, "name": "UC1 test scheduling unit 1.1", - "observation_strategy_template": "http://192.168.99.100:8008/api/scheduling_unit_observing_strategy_template/1", - "observation_strategy_template_id": 1, + "observation_strategy_template": `http://192.168.99.100:8008/api/scheduling_unit_observing_strategy_template/${strategyId}`, + "observation_strategy_template_id": strategyId, "specifications_template": "http://192.168.99.100:8008/api/scheduling_unit_template/1", "specifications_template_id": 1, "scheduling_set": "http://192.168.99.100:8008/api/scheduling_set/1", @@ -1547,7 +1558,7 @@ const SUServiceMock= { 1 ], "updated_at": "2020-08-25T13:28:42.119417" - }, + }}, stations:[ {"group": "Core", "stations": ["CS001", "CS002", "CS003", "CS004", "CS005", "CS006", "CS007", "CS011", "CS013", "CS017", "CS021", "CS024", "CS026", "CS028", "CS030", "CS031", "CS032", "CS101", "CS103", "CS201", "CS301", "CS302", "CS401", "CS501"]}, {"group": "Remote", "stations": ["RS106", "RS205", "RS208", "RS210", "RS305", "RS306", "RS307", "RS310", "RS406", "RS407", "RS409", "RS503", "RS508", "RS509"]}, @@ -3569,18 +3580,16 @@ const SUServiceMock= { "interrupts_telescope" ] }, - suList: [ + getSUList: () => { + const simpleObservStrategy = SUServiceMock.getObservStrategy("Simple Observation"); + return [ { "id": 1, "created_at": "2022-01-24T03:18:25.423120", "description": "test", "duration": 120, "name": "test", - "observation_strategy_template": { - "id": 7, - "description": "This observation strategy template defines a single simple Target observation.", - "name": "Simple Observation" - }, + "observation_strategy_template": simpleObservStrategy, "priority_queue_value": "A", "priority_rank": 0, "scheduling_set": { @@ -5451,11 +5460,7 @@ const SUServiceMock= { "description": "test", "duration": 120, "name": "test2", - "observation_strategy_template": { - "id": 7, - "description": "This observation strategy template defines a single simple Target observation.", - "name": "Simple Observation" - }, + "observation_strategy_template": simpleObservStrategy, "priority_queue_value": "A", "priority_rank": 0, "scheduling_set": { @@ -7320,7 +7325,8 @@ const SUServiceMock= { ], "updated_at": "2022-01-24T05:55:23.369965" } - ], + ]; + }, // getSchedulingConstraintTemplates: [ // { // "id": 1, @@ -8472,7 +8478,8 @@ const SUServiceMock= { getStations: { "group": "dutch", "stations": ["CS001", "CS002", "CS003", "CS004", "CS005", "CS006", "CS007", "CS011", "CS013", "CS017", "CS021", "CS024", "CS026", "CS028", "CS030", "CS031", "CS032", "CS101", "CS103", "CS201", "CS301", "CS302", "CS401", "CS501", "RS106", "RS205", "RS208", "RS210", "RS305", "RS306", "RS307", "RS310", "RS406", "RS407", "RS409", "RS503", "RS508", "RS509"] }, - getSchedulingBySet: { + getSchedulingBySet: () => { + return { "id": 1, "url": "http://127.0.0.100:8008/api/scheduling_unit_draft/1", "created_at": "2022-02-03T01:54:19.628183", @@ -8549,6 +8556,7 @@ const SUServiceMock= { 2 ], "updated_at": "2022-02-03T01:54:19.628201" + } } }; diff --git a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task.service.data.js b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task.service.data.js index 22f3cc69c4922c88795e7301c73929b20dd13e62..4f45034500ea9cc1903ce1f89ab55b06d4ccbd5f 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task.service.data.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task.service.data.js @@ -3709,6 +3709,10 @@ const TaskServiceMock= { "version": 1 } ], + getTaskTemplates: () => { + const templates = require("../../../tmss_webapp/src/__mocks__/task_templates.json"); + return templates.templates; + }, getTaskFilterDefinition: { 'data':{ "name": "Task Draft List", diff --git a/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task_templates.json b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task_templates.json new file mode 100644 index 0000000000000000000000000000000000000000..cb9b5ba4c8b588c7c83bf28c5f34684d904bc093 --- /dev/null +++ b/SAS/TMSS/frontend/tmss_webapp/src/__mocks__/task_templates.json @@ -0,0 +1,2191 @@ +{ + "templates": [ + { + "description": "This schema defines the parameters to setup a dataproduct(s) cleanup task.", + "name": "cleanup", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/cleanup-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema defines the parameters to setup a dataproduct(s) cleanup task.", + "properties": {}, + "required": [], + "title": "cleanup", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 1 + }, + { + "description": "This schema defines the parameters to setup an ingest task.", + "name": "ingest", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/ingest-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema defines the parameters to setup an ingest task.", + "properties": {}, + "required": [], + "title": "ingest", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 2 + }, + { + "description": "This schema defines the parameters for an observation that forms tied-array beams in COBALT.", + "name": "beamforming observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/beamforming%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "default": {}, + "definitions": { + "subband_selection": { + "additionalProperties": false, + "default": {}, + "properties": { + "list": { + "additionalItems": false, + "default": [], + "description": "If method is 'select subset', only beamform these subbands, and only if they occur in the SAP.", + "items": { + "maximum": 511, + "minimum": 0, + "title": "Subband", + "type": "integer" + }, + "minItems": 0, + "title": "Subset selection", + "type": "array" + }, + "method": { + "default": "copy", + "description": "How to select the subbands to beam form", + "enum": [ + "copy", + "largest continuous subset", + "select subset" + ], + "title": "Method", + "type": "string" + } + }, + "required": [ + "method" + ], + "title": "Subband selection", + "type": "object" + } + }, + "description": "This schema defines the parameters for an observation that forms tied-array beams in COBALT.", + "properties": { + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 0 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "beamformers": { + "additionalItems": false, + "default": [ + {} + ], + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "Beamformer {{ self.index }}", + "properties": { + "coherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to beamform.", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + }, + "tab_rings": { + "additonalProperties": false, + "default": {}, + "description": "Rings of TABs around the center of the beam.", + "properties": { + "count": { + "default": 0, + "maximum": 11, + "minimum": 0, + "title": "Number of rings", + "type": "integer" + }, + "width": { + "default": 0.01, + "description": "Distance between pointings.", + "minimum": 0, + "title": "Ring width", + "type": "number" + } + }, + "title": "Tied-Array Rings", + "type": "object" + }, + "tabs": { + "additionalItems": false, + "default": [], + "description": "Tied-array beams to form", + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "TAB {{ self.index }}", + "properties": { + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {} + }, + "relative": { + "default": false, + "description": "The SAP pointing is added to the TAB pointing", + "title": "Relative to SAP", + "type": "boolean" + } + }, + "required": [ + "pointing", + "relative" + ], + "title": "Tied-Array Beam", + "type": "object" + }, + "title": "Tied-Array Beams", + "type": "array" + } + }, + "required": [ + "name", + "tabs" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "SAPs", + "settings" + ], + "title": "Coherent Tied-Array Beams", + "type": "object" + }, + "flys eye": { + "additionalProperties": false, + "default": {}, + "description": "Produce beams containing the individual station signals", + "properties": { + "enabled": { + "default": false, + "title": "Enable Fly's Eye", + "type": "boolean" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "enabled" + ], + "title": "Fly's Eye Settings", + "type": "object" + }, + "incoherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to create incoherent TABs for (empty list = all).", + "items": { + "additionalProperties": false, + "default": {}, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + } + }, + "required": [ + "name", + "subbands" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "settings", + "SAPs" + ], + "title": "Incoherent Tied-Array Beams", + "type": "object" + }, + "name": { + "default": "_beamformer_name_", + "description": "Beamformer name, used for identification purposes.", + "minLength": 1, + "title": "Name", + "type": "string" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ], + "description": "While observing, COBALT will beamform on the intersection of all stations in this list and the used stations in the observation. So, specifying all possible stations here means that all observation-stations are used. Specifying a small subset here means that only the observing-stations in this small list are used. By default we let COBALT beamform on the Core stations.", + "minItems": 1 + } + }, + "required": [ + "name" + ], + "title": "Beamformer", + "type": "object" + }, + "minItems": 1, + "title": "Beamformers", + "type": "array" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "processing": { + "additionalProperties": false, + "default": {}, + "description": "General processing parameters", + "properties": { + "beamformer_ppf": { + "default": false, + "description": "Use a PPF for the channellisation for beamforming. If not, an FFT is used.", + "title": "Use PPF when beamforming", + "type": "boolean" + } + }, + "required": [ + "beamformer_ppf" + ], + "title": "Processing", + "type": "object" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "tile_beam", + "SAPs", + "duration", + "beamformers", + "processing" + ], + "title": "beamforming observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 3 + }, + { + "description": "This schema defines the (extra) parameters to setup a calibrator observation task, which uses all paramters from the target observation task which it is linked to, plus these calibrator overrides.", + "name": "calibrator observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/calibrator%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema defines the (extra) parameters to setup a calibrator observation task, which uses all paramters from the target observation task which it is linked to, plus these calibrator overrides.", + "properties": { + "autoselect": { + "default": true, + "description": "Auto-select calibrator based on elevation", + "title": "Auto-select", + "type": "boolean" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 600, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "name": { + "default": "calibrator", + "description": "Name of the calibrator SAP", + "title": "Name", + "type": "string" + }, + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "Manually selected calibrator", + "title": "Digital pointing" + } + }, + "required": [ + "autoselect", + "duration", + "pointing", + "name" + ], + "title": "calibrator observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 4 + }, + { + "description": "This schema combines the calibrator, target and beamformer observation task schema's for parallel observing.", + "name": "parallel calibrator target and beamforming observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/parallel%20calibrator%20target%20and%20beamforming%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "definitions": { + "subband_selection": { + "additionalProperties": false, + "default": {}, + "properties": { + "list": { + "additionalItems": false, + "default": [], + "description": "If method is 'select subset', only beamform these subbands, and only if they occur in the SAP.", + "items": { + "maximum": 511, + "minimum": 0, + "title": "Subband", + "type": "integer" + }, + "minItems": 0, + "title": "Subset selection", + "type": "array" + }, + "method": { + "default": "copy", + "description": "How to select the subbands to beam form", + "enum": [ + "copy", + "largest continuous subset", + "select subset" + ], + "title": "Method", + "type": "string" + } + }, + "required": [ + "method" + ], + "title": "Subband selection", + "type": "object" + } + }, + "description": "This schema combines the calibrator, target and beamformer observation task schema's for parallel observing.", + "properties": { + "beamforming": { + "default": {}, + "description": "This subschema defines the parameters for an observation that forms tied-array beams in COBALT.", + "properties": { + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 0 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "beamformers": { + "additionalItems": false, + "default": [ + {} + ], + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "Beamformer {{ self.index }}", + "properties": { + "coherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to beamform.", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + }, + "tab_rings": { + "additonalProperties": false, + "default": {}, + "description": "Rings of TABs around the center of the beam.", + "properties": { + "count": { + "default": 0, + "maximum": 11, + "minimum": 0, + "title": "Number of rings", + "type": "integer" + }, + "width": { + "default": 0.01, + "description": "Distance between pointings.", + "minimum": 0, + "title": "Ring width", + "type": "number" + } + }, + "title": "Tied-Array Rings", + "type": "object" + }, + "tabs": { + "additionalItems": false, + "default": [], + "description": "Tied-array beams to form", + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "TAB {{ self.index }}", + "properties": { + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {} + }, + "relative": { + "default": false, + "description": "The SAP pointing is added to the TAB pointing", + "title": "Relative to SAP", + "type": "boolean" + } + }, + "required": [ + "pointing", + "relative" + ], + "title": "Tied-Array Beam", + "type": "object" + }, + "title": "Tied-Array Beams", + "type": "array" + } + }, + "required": [ + "name", + "tabs" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "SAPs", + "settings" + ], + "title": "Coherent Tied-Array Beams", + "type": "object" + }, + "flys eye": { + "additionalProperties": false, + "default": {}, + "description": "Produce beams containing the individual station signals", + "properties": { + "enabled": { + "default": false, + "title": "Enable Fly's Eye", + "type": "boolean" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "enabled" + ], + "title": "Fly's Eye Settings", + "type": "object" + }, + "incoherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to create incoherent TABs for (empty list = all).", + "items": { + "additionalProperties": false, + "default": {}, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + } + }, + "required": [ + "name", + "subbands" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "settings", + "SAPs" + ], + "title": "Incoherent Tied-Array Beams", + "type": "object" + }, + "name": { + "default": "_beamformer_name_", + "description": "Beamformer name, used for identification purposes.", + "minLength": 1, + "title": "Name", + "type": "string" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ], + "description": "While observing, COBALT will beamform on the intersection of all stations in this list and the used stations in the observation. So, specifying all possible stations here means that all observation-stations are used. Specifying a small subset here means that only the observing-stations in this small list are used. By default we let COBALT beamform on the Core stations.", + "minItems": 1 + } + }, + "required": [ + "name" + ], + "title": "Beamformer", + "type": "object" + }, + "minItems": 1, + "title": "Beamformers", + "type": "array" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "processing": { + "additionalProperties": false, + "default": {}, + "description": "General processing parameters", + "properties": { + "beamformer_ppf": { + "default": false, + "description": "Use a PPF for the channellisation for beamforming. If not, an FFT is used.", + "title": "Use PPF when beamforming", + "type": "boolean" + } + }, + "required": [ + "beamformer_ppf" + ], + "title": "Processing", + "type": "object" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "tile_beam", + "SAPs", + "duration", + "beamformers", + "processing" + ], + "type": "object" + }, + "calibrator": { + "default": {}, + "description": "This subschema defines the (extra) parameters to setup a calibrator observation task, which uses all paramters from the target observation task which it is linked to, plus these calibrator overrides.", + "properties": { + "autoselect": { + "default": true, + "description": "Auto-select calibrator based on elevation", + "title": "Auto-select", + "type": "boolean" + }, + "name": { + "default": "calibrator", + "description": "Name of the calibrator SAP", + "title": "Name", + "type": "string" + }, + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "Manually selected calibrator", + "title": "Digital pointing" + } + }, + "required": [ + "autoselect", + "pointing", + "name" + ], + "type": "object" + }, + "target": { + "default": {}, + "description": "This subschema defines the parameters to setup the target observation part.", + "properties": { + "QA": { + "$ref": "http://localhost:3000/schemas/common_schema_template/QA-1.json#/definitions/QA", + "default": {} + }, + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 1 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "correlator": { + "additionalProperties": false, + "default": {}, + "properties": { + "channels_per_subband": { + "default": 64, + "description": "Number of frequency bands per subband", + "enum": [ + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024 + ], + "minimum": 8, + "title": "Channels/subband", + "type": "integer" + }, + "integration_time": { + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 1, + "description": "Desired integration period (seconds)", + "minimum": 0.1, + "title": "Integration time" + }, + "storage_cluster": { + "default": "CEP4", + "description": "Cluster to write output to", + "enum": [ + "CEP4", + "DragNet" + ], + "title": "Storage cluster", + "type": "string" + }, + "topocentric_frequency_correction": { + "default": false, + "description": "Correct frequencies for the Doppler shift caused by the Earth's rotation.", + "title": "Topocentric Frequency Correction", + "type": "boolean" + } + }, + "required": [ + "channels_per_subband", + "topocentric_frequency_correction", + "integration_time", + "storage_cluster" + ], + "title": "Correlator Settings", + "type": "object" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "SAPs", + "duration", + "correlator" + ], + "type": "object" + } + }, + "required": [ + "calibrator", + "target", + "beamforming" + ], + "title": "parallel calibrator target and beamforming observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 5 + }, + { + "description": "This schema combines the calibrator and target observation task schema's for parallel observing.", + "name": "parallel calibrator target observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/parallel%20calibrator%20target%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema combines the calibrator and target observation task schema's for parallel observing.", + "properties": { + "calibrator": { + "default": {}, + "description": "This subschema defines the (extra) parameters to setup a calibrator observation task, which uses all paramters from the target observation task which it is linked to, plus these calibrator overrides.", + "properties": { + "autoselect": { + "default": true, + "description": "Auto-select calibrator based on elevation", + "title": "Auto-select", + "type": "boolean" + }, + "name": { + "default": "calibrator", + "description": "Name of the calibrator SAP", + "title": "Name", + "type": "string" + }, + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "Manually selected calibrator", + "title": "Digital pointing" + } + }, + "required": [ + "autoselect", + "pointing", + "name" + ], + "type": "object" + }, + "target": { + "default": {}, + "description": "This subschema defines the parameters to setup the target observation part.", + "properties": { + "QA": { + "$ref": "http://localhost:3000/schemas/common_schema_template/QA-1.json#/definitions/QA", + "default": {} + }, + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 1 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "correlator": { + "additionalProperties": false, + "default": {}, + "properties": { + "channels_per_subband": { + "default": 64, + "description": "Number of frequency bands per subband", + "enum": [ + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024 + ], + "minimum": 8, + "title": "Channels/subband", + "type": "integer" + }, + "integration_time": { + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 1, + "description": "Desired integration period (seconds)", + "minimum": 0.1, + "title": "Integration time" + }, + "storage_cluster": { + "default": "CEP4", + "description": "Cluster to write output to", + "enum": [ + "CEP4", + "DragNet" + ], + "title": "Storage cluster", + "type": "string" + }, + "topocentric_frequency_correction": { + "default": false, + "description": "Correct frequencies for the Doppler shift caused by the Earth's rotation.", + "title": "Topocentric Frequency Correction", + "type": "boolean" + } + }, + "required": [ + "channels_per_subband", + "topocentric_frequency_correction", + "integration_time", + "storage_cluster" + ], + "title": "Correlator Settings", + "type": "object" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "SAPs", + "duration", + "correlator" + ], + "type": "object" + } + }, + "required": [ + "calibrator", + "target" + ], + "title": "parallel calibrator target observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 6 + }, + { + "description": "This schema combines the target and beamformer observation task schema's for parallel observing.", + "name": "parallel target and beamforming observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/parallel%20target%20and%20beamforming%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "definitions": { + "subband_selection": { + "additionalProperties": false, + "default": {}, + "properties": { + "list": { + "additionalItems": false, + "default": [], + "description": "If method is 'select subset', only beamform these subbands, and only if they occur in the SAP.", + "items": { + "maximum": 511, + "minimum": 0, + "title": "Subband", + "type": "integer" + }, + "minItems": 0, + "title": "Subset selection", + "type": "array" + }, + "method": { + "default": "copy", + "description": "How to select the subbands to beam form", + "enum": [ + "copy", + "largest continuous subset", + "select subset" + ], + "title": "Method", + "type": "string" + } + }, + "required": [ + "method" + ], + "title": "Subband selection", + "type": "object" + } + }, + "description": "This schema combines the target and beamformer observation task schema's for parallel observing.", + "properties": { + "beamforming": { + "default": {}, + "description": "This subschema defines the parameters for an observation that forms tied-array beams in COBALT.", + "properties": { + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 0 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "beamformers": { + "additionalItems": false, + "default": [ + {} + ], + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "Beamformer {{ self.index }}", + "properties": { + "coherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to beamform.", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + }, + "tab_rings": { + "additonalProperties": false, + "default": {}, + "description": "Rings of TABs around the center of the beam.", + "properties": { + "count": { + "default": 0, + "maximum": 11, + "minimum": 0, + "title": "Number of rings", + "type": "integer" + }, + "width": { + "default": 0.01, + "description": "Distance between pointings.", + "minimum": 0, + "title": "Ring width", + "type": "number" + } + }, + "title": "Tied-Array Rings", + "type": "object" + }, + "tabs": { + "additionalItems": false, + "default": [], + "description": "Tied-array beams to form", + "items": { + "additionalProperties": false, + "default": {}, + "headerTemplate": "TAB {{ self.index }}", + "properties": { + "pointing": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {} + }, + "relative": { + "default": false, + "description": "The SAP pointing is added to the TAB pointing", + "title": "Relative to SAP", + "type": "boolean" + } + }, + "required": [ + "pointing", + "relative" + ], + "title": "Tied-Array Beam", + "type": "object" + }, + "title": "Tied-Array Beams", + "type": "array" + } + }, + "required": [ + "name", + "tabs" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "SAPs", + "settings" + ], + "title": "Coherent Tied-Array Beams", + "type": "object" + }, + "flys eye": { + "additionalProperties": false, + "default": {}, + "description": "Produce beams containing the individual station signals", + "properties": { + "enabled": { + "default": false, + "title": "Enable Fly's Eye", + "type": "boolean" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "enabled" + ], + "title": "Fly's Eye Settings", + "type": "object" + }, + "incoherent": { + "additionalProperties": false, + "default": {}, + "properties": { + "SAPs": { + "additionalItems": false, + "default": [], + "description": "Which SAPs in the observation to create incoherent TABs for (empty list = all).", + "items": { + "additionalProperties": false, + "default": {}, + "properties": { + "name": { + "default": "_SAP_to_beamform_", + "description": "Name of the SAP to beamform", + "minLength": 1, + "title": "SAP name", + "type": "string" + }, + "subbands": { + "$ref": "#/definitions/subband_selection", + "default": {} + } + }, + "required": [ + "name", + "subbands" + ], + "type": "object" + }, + "minItems": 0, + "title": "SAPs", + "type": "array" + }, + "settings": { + "$ref": "http://localhost:3000/schemas/common_schema_template/beamforming-1.json#/definitions/stokes_settings", + "default": {} + } + }, + "required": [ + "settings", + "SAPs" + ], + "title": "Incoherent Tied-Array Beams", + "type": "object" + }, + "name": { + "default": "_beamformer_name_", + "description": "Beamformer name, used for identification purposes.", + "minLength": 1, + "title": "Name", + "type": "string" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS001", + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007", + "CS011", + "CS013", + "CS017", + "CS021", + "CS024", + "CS026", + "CS028", + "CS030", + "CS031", + "CS032", + "CS301", + "CS302", + "CS401", + "CS501" + ] + } + ], + "description": "While observing, COBALT will beamform on the intersection of all stations in this list and the used stations in the observation. So, specifying all possible stations here means that all observation-stations are used. Specifying a small subset here means that only the observing-stations in this small list are used. By default we let COBALT beamform on the Core stations.", + "minItems": 1 + } + }, + "required": [ + "name" + ], + "title": "Beamformer", + "type": "object" + }, + "minItems": 1, + "title": "Beamformers", + "type": "array" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "processing": { + "additionalProperties": false, + "default": {}, + "description": "General processing parameters", + "properties": { + "beamformer_ppf": { + "default": false, + "description": "Use a PPF for the channellisation for beamforming. If not, an FFT is used.", + "title": "Use PPF when beamforming", + "type": "boolean" + } + }, + "required": [ + "beamformer_ppf" + ], + "title": "Processing", + "type": "object" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "tile_beam", + "SAPs", + "duration", + "beamformers", + "processing" + ], + "type": "object" + }, + "target": { + "default": {}, + "description": "This subschema defines the parameters to setup the target observation part.", + "properties": { + "QA": { + "$ref": "http://localhost:3000/schemas/common_schema_template/QA-1.json#/definitions/QA", + "default": {} + }, + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 1 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "correlator": { + "additionalProperties": false, + "default": {}, + "properties": { + "channels_per_subband": { + "default": 64, + "description": "Number of frequency bands per subband", + "enum": [ + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024 + ], + "minimum": 8, + "title": "Channels/subband", + "type": "integer" + }, + "integration_time": { + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 1, + "description": "Desired integration period (seconds)", + "minimum": 0.1, + "title": "Integration time" + }, + "storage_cluster": { + "default": "CEP4", + "description": "Cluster to write output to", + "enum": [ + "CEP4", + "DragNet" + ], + "title": "Storage cluster", + "type": "string" + }, + "topocentric_frequency_correction": { + "default": false, + "description": "Correct frequencies for the Doppler shift caused by the Earth's rotation.", + "title": "Topocentric Frequency Correction", + "type": "boolean" + } + }, + "required": [ + "channels_per_subband", + "topocentric_frequency_correction", + "integration_time", + "storage_cluster" + ], + "title": "Correlator Settings", + "type": "object" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "SAPs", + "duration", + "correlator" + ], + "type": "object" + } + }, + "required": [ + "target", + "beamforming" + ], + "title": "parallel target and beamforming observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 7 + }, + { + "description": "This schema defines the parameters to setup a target observation task.", + "name": "target observation", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/target%20observation-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema defines the parameters to setup a target observation task.", + "properties": { + "QA": { + "$ref": "http://localhost:3000/schemas/common_schema_template/QA-1.json#/definitions/QA", + "default": {} + }, + "SAPs": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/SAPs", + "default": [ + {} + ], + "minItems": 1 + }, + "antenna_set": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/antenna_set", + "default": "HBA_DUAL" + }, + "correlator": { + "additionalProperties": false, + "default": {}, + "properties": { + "channels_per_subband": { + "default": 64, + "description": "Number of frequency bands per subband", + "enum": [ + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024 + ], + "minimum": 8, + "title": "Channels/subband", + "type": "integer" + }, + "integration_time": { + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 1, + "description": "Desired integration period (seconds)", + "minimum": 0.1, + "title": "Integration time" + }, + "storage_cluster": { + "default": "CEP4", + "description": "Cluster to write output to", + "enum": [ + "CEP4", + "DragNet" + ], + "title": "Storage cluster", + "type": "string" + }, + "topocentric_frequency_correction": { + "default": false, + "description": "Correct frequencies for the Doppler shift caused by the Earth's rotation.", + "title": "Topocentric Frequency Correction", + "type": "boolean" + } + }, + "required": [ + "channels_per_subband", + "topocentric_frequency_correction", + "integration_time", + "storage_cluster" + ], + "title": "Correlator Settings", + "type": "object" + }, + "duration": { + "$id": "#duration", + "$ref": "http://localhost:3000/schemas/common_schema_template/datetime-1.json#/definitions/timedelta", + "default": 300, + "description": "Duration of this observation (seconds)", + "minimum": 1, + "title": "Duration" + }, + "filter": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/filter", + "default": "HBA_110_190" + }, + "station_groups": { + "$ref": "http://localhost:3000/schemas/common_schema_template/stations-1.json#/definitions/station_groups", + "default": [ + { + "max_nr_missing": 1, + "stations": [ + "CS002", + "CS003", + "CS004", + "CS005", + "CS006", + "CS007" + ] + } + ] + }, + "tile_beam": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pointing-1.json#/definitions/pointing", + "default": {}, + "description": "HBA only", + "title": "Tile beam" + } + }, + "required": [ + "station_groups", + "antenna_set", + "filter", + "SAPs", + "duration", + "correlator" + ], + "title": "target observation", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 8 + }, + { + "description": "This schema defines the parameters for a preprocessing pipeline.", + "name": "preprocessing pipeline", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/preprocessing%20pipeline-1.json#", + "$schema": "http://json-schema.org/draft-06/schema#", + "description": "This schema defines the parameters for a preprocessing pipeline.", + "properties": { + "average": { + "additionalProperties": false, + "default": {}, + "properties": { + "frequency_steps": { + "default": 4, + "minimum": 1, + "title": "Frequency steps", + "type": "integer" + }, + "time_steps": { + "default": 1, + "minimum": 1, + "title": "Time steps", + "type": "integer" + } + }, + "required": [ + "frequency_steps", + "time_steps" + ], + "title": "Averaging", + "type": "object" + }, + "cluster_resources": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pipeline-1.json#/definitions/cluster_resources", + "default": {} + }, + "demix": { + "additionalProperties": false, + "default": {}, + "properties": { + "frequency_steps": { + "default": 64, + "description": "Must be a multiple of the averaging frequency steps", + "minimum": 1, + "title": "Frequency steps", + "type": "integer" + }, + "ignore_target": { + "default": false, + "title": "Ignore target", + "type": "boolean" + }, + "sources": { + "additionalItems": false, + "items": { + "default": "CasA", + "enum": [ + "CasA", + "CygA", + "HerA", + "HydraA", + "TauA", + "VirA" + ], + "type": "string" + }, + "maxItems": 2, + "minItems": 0, + "type": "array", + "uniqueItems": true + }, + "time_steps": { + "default": 10, + "description": "Must be a multiple of the averaging time steps", + "minimum": 1, + "title": "Time steps", + "type": "integer" + } + }, + "required": [], + "title": "Demixing", + "type": "object" + }, + "flag": { + "additionalProperties": false, + "default": {}, + "properties": { + "autocorrelations": { + "default": true, + "title": "Flag auto correlations", + "type": "boolean" + }, + "outerchannels": { + "default": true, + "title": "Flag outer channels", + "type": "boolean" + }, + "rfi_strategy": { + "default": "HBAdefault", + "enum": [ + "none", + "HBAdefault", + "LBAdefault" + ], + "title": "RFI flagging strategy", + "type": "string" + } + }, + "required": [ + "outerchannels", + "autocorrelations", + "rfi_strategy" + ], + "title": "Flagging", + "type": "object" + }, + "storagemanager": { + "default": "dysco", + "enum": [ + "standard", + "dysco" + ], + "title": "Storage Manager", + "type": "string" + } + }, + "required": [ + "average" + ], + "title": "preprocessing pipeline", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 9 + }, + { + "description": "This schema defines the parameters for a pulsar pipeline.", + "name": "pulsar pipeline", + "purpose": "technical_commissioning", + "schema": { + "$id": "http://localhost:3000/schemas/tasktemplate/pulsar%20pipeline-1.json#", + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "This schema defines the parameters for a pulsar pipeline.", + "properties": { + "cluster_resources": { + "$ref": "http://localhost:3000/schemas/common_schema_template/pipeline-1.json#/definitions/cluster_resources", + "default": {} + }, + "dspsr": { + "additionalProperties": false, + "default": {}, + "properties": { + "digifil": { + "additionalProperties": false, + "default": {}, + "description": "Processes single pulses in CV data if single-pulse search is enabled", + "properties": { + "coherent_dedispersion": { + "default": true, + "title": "Coherent Dedispersion", + "type": "boolean" + }, + "dm": { + "default": -1, + "desciption": "Dispersion Measure (-1 for none)", + "minimum": -1, + "title": "DM", + "type": "number" + }, + "frequency_channels": { + "default": 512, + "description": "Number of frequency channels (multiple of subbands/part)", + "maximum": 512, + "minimum": 1, + "title": "Frequency channels", + "type": "integer" + }, + "integration_time": { + "default": 4, + "minimum": 0.1, + "title": "Integration time", + "type": "number" + } + }, + "title": "Digifil", + "type": "object" + }, + "enabled": { + "default": true, + "title": "Enabled", + "type": "boolean" + }, + "filterbank": { + "additionalProperties": false, + "default": {}, + "properties": { + "coherent_dedispersion": { + "default": true, + "title": "Coherent Dedispersion", + "type": "boolean" + }, + "enabled": { + "default": false, + "title": "Enabled", + "type": "boolean" + }, + "frequency_channels": { + "default": 120, + "description": "Number of frequency channels (multiple of subbands/part)", + "maximum": 512, + "minimum": 1, + "title": "Frequency channels", + "type": "integer" + } + }, + "title": "Create filter bank", + "type": "object" + }, + "optimise_period_dm": { + "default": true, + "title": "Optimise period & DM", + "type": "boolean" + }, + "rfi_excision": { + "default": true, + "description": "Excise/clean/remove detected RFI", + "title": "RFI excision", + "type": "boolean" + }, + "single_pulse_subintegration": { + "default": false, + "description": "Create single-pulse subintegrations with inter-channel dispersion delays removed.", + "title": "Single pulse subintegration", + "type": "boolean" + }, + "subintegration_length": { + "default": -1, + "minimum": -1, + "title": "Subintegration length", + "type": "integer" + } + }, + "title": "DSPSR", + "type": "object" + }, + "output": { + "additionalProperties": false, + "default": {}, + "properties": { + "dynamic_spectrum": { + "additionalProperties": false, + "default": {}, + "properties": { + "enabled": { + "default": false, + "title": "Enabled", + "type": "boolean" + }, + "time_average": { + "default": 0.5, + "minimum": 0.01, + "title": "Time average", + "type": "number" + } + }, + "title": "Dynamic Spectrum", + "type": "object" + }, + "quantisation": { + "additionalProperties": false, + "default": {}, + "description": "Quantise output into 8-bit samples", + "properties": { + "enabled": { + "default": false, + "title": "Enabled", + "type": "boolean" + }, + "scale": { + "default": 5, + "description": "Conversion sigma to use when converting to 8-bit samples", + "minimum": 1, + "title": "Conversion sigma", + "type": "number" + } + }, + "title": "Quantisation", + "type": "object" + } + }, + "title": "Output", + "type": "object" + }, + "presto": { + "additionalProperties": false, + "default": {}, + "properties": { + "fold_profile": { + "default": true, + "description": "Fold the pulsar profile", + "title": "Fold", + "type": "boolean" + }, + "input": { + "additionalProperties": false, + "properties": { + "decode_sigma": { + "default": 3, + "description": "Sigma threshold for decoding", + "minimum": 1, + "title": "Decode sigma", + "type": "number" + }, + "nr_blocks": { + "default": 100, + "description": "Number of blocks to read at a time", + "minimum": 1, + "title": "Nr of blocks", + "type": "integer" + }, + "samples_per_block": { + "default": 8192, + "minimum": 16, + "title": "Block size (samples)", + "type": "integer" + } + }, + "title": "Input", + "type": "object" + }, + "prepdata": { + "additionalProperties": false, + "default": {}, + "properties": { + "dm": { + "default": -1, + "desciption": "Dispersion Measure (-1 for none)", + "minimum": -1, + "title": "DM", + "type": "number" + } + }, + "title": "prepdata", + "type": "object" + }, + "prepfold": { + "default": true, + "title": "Enable prepfold", + "type": "boolean" + }, + "rfifind": { + "additionalProperties": false, + "default": {}, + "properties": { + "blocks": { + "default": 16, + "minimum": 1, + "title": "blocks", + "type": "integer" + } + }, + "title": "rfifind", + "type": "object" + }, + "rrats": { + "additionalProperties": false, + "default": {}, + "properties": { + "dm_range": { + "default": 5, + "minimum": 0, + "title": "DM range", + "type": "number" + }, + "enabled": { + "default": false, + "title": "Enabled", + "type": "boolean" + } + }, + "title": "RRATs analysis", + "type": "object" + } + }, + "title": "PRESTO", + "type": "object" + }, + "pulsar": { + "additionalProperties": false, + "default": {}, + "properties": { + "name": { + "default": "", + "description": "Name of the pulsar to fold, if strategy=manual", + "title": "Name", + "type": "string" + }, + "strategy": { + "default": "manual", + "description": "How to look up the pulsar to fold", + "enum": [ + "manual", + "meta", + "sapfind", + "sapfind3", + "tabfind", + "tabfind+" + ], + "enum_titles": [ + "Pulsar name specified here", + "SAP target is pulsar name", + "Brightest known pulsar in SAP", + "Brightest 3 known pulsars in SAP", + "Brightest known pulsar in TAB", + "Brightest 3 known pulsars in TAB" + ], + "title": "Strategy", + "type": "string" + } + }, + "title": "Pulsar to fold", + "type": "object" + }, + "single_pulse_search": { + "default": false, + "description": "Instructs PRESTO to process single pulses, and enables Digifil for CV data", + "title": "Single-pulse search", + "type": "boolean" + } + }, + "required": [ + "pulsar", + "presto", + "dspsr", + "output" + ], + "title": "pulsar pipeline", + "type": "object", + "version": 1 + }, + "state": "active", + "version": 1, + "id": 10 + } + ] +} \ No newline at end of file diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/view.test.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/view.test.js index ce39f9c8711d6939d6c3d025c91c0460ae076fcb..a89c5cb471c5a754a5bb05ea922ff689cc36b59b 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/view.test.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Project/view.test.js @@ -52,7 +52,7 @@ const setMockSpy = (() => { data: {} }; response.data.count = 2; - response.data.results = _.filter(SUServiceMock.suList, {id: 2}) + response.data.results = _.filter(SUServiceMock.getSUList(), {id: 2}) return Promise.resolve(response) }) diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.test.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.test.js index e85db347398bc04794ef1728ceb92a514331c5ad..d6eef9a221404e6a4b31927d5280c473dc9600d8 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.test.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.test.js @@ -44,20 +44,21 @@ const setMockSpy = async () => { scheduleSetListSpy = jest.spyOn(ScheduleService, 'getSchedulingSets'); scheduleSetListSpy.mockImplementation(() => { return Promise.resolve(SUServiceMock.scheduleSetList)}); observStrategiesSpy = jest.spyOn(ScheduleService, 'getObservationStrategies'); - observStrategiesSpy.mockImplementation(() => { return Promise.resolve(SUServiceMock.observStrategies)}); + // observStrategiesSpy.mockImplementation(() => { return Promise.resolve(SUServiceMock.observStrategies)}); + observStrategiesSpy.mockImplementation(() => { return Promise.resolve(SUServiceMock.getObservStrategies())}); taskTemplatesSpy = jest.spyOn(TaskService, 'getTaskTemplates'); - taskTemplatesSpy.mockImplementation(() => { return Promise.resolve(TaskServiceMock.taskTemplates)}); + taskTemplatesSpy.mockImplementation(() => { return Promise.resolve(TaskServiceMock.getTaskTemplates())}); saveSUFromStrategySpy = jest.spyOn(ScheduleService, 'saveSUDraftFromObservStrategy'); saveSUFromStrategySpy.mockImplementation((observStrategy, schedulingUnit) => { - return Promise.resolve(SUServiceMock.schedulingUnitFromObservStrategy); + return Promise.resolve(SUServiceMock.getSchedulingUnitFromObservStrategy()); }); updateSUSpy = jest.spyOn(ScheduleService, 'updateSchedulingUnitDraft'); updateSUSpy.mockImplementation((schedulingUnit) => { - return Promise.resolve(SUServiceMock.schedulingUnitFromObservStrategy); + return Promise.resolve(SUServiceMock.getSchedulingUnitFromObservStrategy()); }); createSUTasksSpy = jest.spyOn(ScheduleService, 'saveSUDraftFromObservStrategy'); createSUTasksSpy.mockImplementation((schedulingUnit) => { - return Promise.resolve(SUServiceMock.schedulingUnitFromObservStrategy); + return Promise.resolve(SUServiceMock.getSchedulingUnitFromObservStrategy()); }); utilSpy = jest.spyOn(UtilService, 'getPriorityQueueType'); utilSpy.mockImplementation(() => {return Promise.resolve(UtilServiceMock.getPriorityQueueType)}) @@ -96,7 +97,7 @@ const setMockSpy = async () => { }); scheduleSetByIdSpy = jest.spyOn(ScheduleService, 'getSchedulingBySet'); - scheduleSetByIdSpy.mockImplementation((value) => { return Promise.resolve(SUServiceMock.getSchedulingBySet)}); + scheduleSetByIdSpy.mockImplementation((value) => { return Promise.resolve(SUServiceMock.getSchedulingBySet())}); } @@ -168,6 +169,7 @@ it("creates new Scheduling Unit with default values", async() => { let content; await act(async () => { content = render(<Router><SchedulingUnitCreate location={{pathname: '/schedulingunit/'}}/></Router>); + await new Promise((r) => setTimeout(r, 1000)); }); const nameInput = content.queryByTestId('name'); const descInput = content.queryByTestId('description'); @@ -198,7 +200,7 @@ it("creates new Scheduling Unit with default values", async() => { //jest.setTimeout(30000); await act( async() => { fireEvent.click(observStrategyInput); - await new Promise((r) => setTimeout(r, 500)); + await new Promise((r) => setTimeout(r, 1000)); }); expect(content.queryAllByText('Select Strategy').length).toBe(1); @@ -227,17 +229,18 @@ it("creates new Scheduling Unit with default values", async() => { expect(content.queryByText('Success')).toBeInTheDocument(); //check popup appear after create SU successfully }); -/*it("checks Constraint value change when UC1 CTC+pipelines strategy is selected", async() => { +it("checks Constraint value change when UC1 CTC+pipelines strategy is selected", async() => { console.log("checks Constraint value change when UC1 CTC+pipelines strategy is selected ------------------------"); let content; await act(async () => { content =render(<Router><SchedulingUnitCreate location={{pathname: '/schedulingunit/'}}/></Router>); + await new Promise((r) => setTimeout(r, 1000)); }); - expect(screen.getByDisplayValue("dynamic")).toBeInTheDocument(); + // expect(screen.getByDisplayValue("dynamic")).toBeInTheDocument(); expect(screen.getByLabelText("specification[time][at]").value).toBe(""); expect(screen.getByLabelText("specification[time][after]").value).toBe(""); expect(screen.getByLabelText("specification[time][before]").value).toBe(""); - expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("02:00:00"); + expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("-02:00:00"); expect(screen.getByLabelText("specification[sky][transit_offset][to]").value).toBe("02:00:00"); expect(screen.getByLabelText("specification[sky][min_distance][sun]").value).toBe("28.65"); expect(screen.getByLabelText("specification[sky][min_distance][moon]").value).toBe("28.65"); @@ -249,6 +252,7 @@ it("creates new Scheduling Unit with default values", async() => { fireEvent.click(uc1ObservStrategyInput); await new Promise((r) => setTimeout(r, 1000)); }); + expect(screen.getByDisplayValue("dynamic")).toBeInTheDocument(); expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("-00:24:00"); expect(screen.getByLabelText("specification[sky][transit_offset][to]").value).toBe("00:24:00"); }); @@ -258,12 +262,13 @@ it("checks Constraint value change when Simple Observation strategy is selected" let content; await act(async () => { content =render(<Router><SchedulingUnitCreate location={{pathname: '/schedulingunit/'}}/></Router>); + await new Promise((r) => setTimeout(r, 1000)); }); expect(screen.getByDisplayValue("dynamic")).toBeInTheDocument(); expect(screen.getByLabelText("specification[time][at]").value).toBe(""); expect(screen.getByLabelText("specification[time][after]").value).toBe(""); expect(screen.getByLabelText("specification[time][before]").value).toBe(""); - expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("02:00:00"); + expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("-02:00:00"); expect(screen.getByLabelText("specification[sky][transit_offset][to]").value).toBe("02:00:00"); expect(screen.getByLabelText("specification[sky][min_distance][sun]").value).toBe("28.65"); expect(screen.getByLabelText("specification[sky][min_distance][moon]").value).toBe("28.65"); @@ -275,6 +280,7 @@ it("checks Constraint value change when Simple Observation strategy is selected" fireEvent.click(simpleObservStrategyInput); await new Promise((r) => setTimeout(r, 1000)); }); + expect(screen.getByDisplayValue("dynamic")).toBeInTheDocument(); expect(screen.getByLabelText("specification[sky][transit_offset][from]").value).toBe("-06:00:00"); expect(screen.getByLabelText("specification[sky][transit_offset][to]").value).toBe("06:00:00"); expect(screen.getByLabelText("specification[sky][min_distance][sun]").value).toBe("0.00"); @@ -282,4 +288,4 @@ it("checks Constraint value change when Simple Observation strategy is selected" expect(screen.getByLabelText("specification[sky][min_distance][jupiter]").value).toBe("0.00"); expect(screen.getByLabelText("specification[sky][min_elevation][calibrator]").value).toBe("28.65"); expect(screen.getByLabelText("specification[sky][min_elevation][target]").value).toBe("5.73"); -});*/ +}); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/dataproduct.test.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/dataproduct.test.js index 24aa03c19c517a6321dc0f17f42ec4219e750466..5986ac0df86f93f47a12feaa4f8ebe159f2133fc 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/dataproduct.test.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Task/dataproduct.test.js @@ -69,7 +69,7 @@ beforeEach(() => { }); }) - it('render table in the cycle list', async () => { + it('render table in the dataproduct list', async () => { let content; await act(async () => { content =await render(<Router><DataProduct match={{params: {id: 1}}} /></Router>, container); diff --git a/SAS/TMSS/frontend/tmss_webapp/src/services/util.service.js b/SAS/TMSS/frontend/tmss_webapp/src/services/util.service.js index 2a6a092af772e280ffc5a5c670125a7dec32fb6f..8014f0926edbb4e590ad29fdc76f8b04033a32cd 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/services/util.service.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/services/util.service.js @@ -4,6 +4,8 @@ import Auth from '../authenticate/auth'; const axios = require('axios'); const refParser = new $RefParser(); +const fs = require('fs'); +const path = require('path'); /** * Utility Service to fetch miscellaneous data from the server @@ -293,6 +295,17 @@ const UtilService = { return null } }, + getAllFilesList: async(dir) => { + let files = await fs.promises.readdir(dir); + files = await Promise.all(files.map(async file => { + const filePath = path.join(dir, file); + const stats = await fs.promises.stat(filePath); + if (stats.isDirectory()) return UtilService.getAllFilesList(filePath); + else if(stats.isFile()) return filePath; + })); + + return files.reduce((all, folderContents) => all.concat(folderContents), []); + } } export default UtilService; \ No newline at end of file