diff --git a/LCS/PyCommon/json_utils.py b/LCS/PyCommon/json_utils.py index b3ce052947214c756ca28405407928c4b4946621..f1aee10a64206f6c4897c69868991fd724b92f72 100644 --- a/LCS/PyCommon/json_utils.py +++ b/LCS/PyCommon/json_utils.py @@ -142,7 +142,9 @@ def resolved_refs(schema): else: try: # by returning the referenced (sub)schema, the $ref-key and url-value are replaced from the caller's perspective. - return get_referenced_subschema(value) + # also, recursively resolve refs in referenced_subschema + referenced_subschema = get_referenced_subschema(value) + return resolved_refs(referenced_subschema) except: # can't get the referenced schema # so, just accept the original value and assume that the user uploaded a proper schema diff --git a/RTCP/Cobalt/GPUProc/src/scripts/stopBGL.sh b/RTCP/Cobalt/GPUProc/src/scripts/stopBGL.sh index 938bc6d1bde108269554c60af11781d902d5a02c..64fe3c049ca409c8fd4c9423d41b91882b1adeba 100755 --- a/RTCP/Cobalt/GPUProc/src/scripts/stopBGL.sh +++ b/RTCP/Cobalt/GPUProc/src/scripts/stopBGL.sh @@ -19,7 +19,7 @@ JOB="$1" OBSID="$2" # The name of what will be our parset -PARSET=$LOFARROOT/var/run/rtcp-$OBSID.parset +PARSET=$LOFARROOT/nfs/parset/rtcp-$OBSID.parset # The file to store the PID in PIDFILE=$LOFARROOT/var/run/rtcp-$OBSID.pid diff --git a/SAS/TMSS/docker-compose-scu199.yml b/SAS/TMSS/docker-compose-scu199.yml index ac7a6127b8878946f11ec875b6b51c821149074d..8eccd5b84aa3cb0685e2de3883bf5b6816690adc 100644 --- a/SAS/TMSS/docker-compose-scu199.yml +++ b/SAS/TMSS/docker-compose-scu199.yml @@ -6,7 +6,8 @@ services: restart: on-failure env_file: - ./.env - command: bash -c 'source /opt/lofar/lofarinit.sh && ALLOWED_HOSTS=* tmss_test_environment -H 0.0.0.0 -p 8008 --data' + network_mode: "host" + command: bash -c 'source /opt/lofar/lofarinit.sh && ALLOWED_HOSTS=* tmss_test_environment -H `hostname -f` -p 8008 --data' ports: - "8008:8008" testprovider: diff --git a/SAS/TMSS/docker-compose-tmss.yml b/SAS/TMSS/docker-compose-tmss.yml index 51cf7f82a12570cacb097fb5e4d314f1d4b65a80..ea28f7ea029eedb8bad4632d213029717b837d73 100644 --- a/SAS/TMSS/docker-compose-tmss.yml +++ b/SAS/TMSS/docker-compose-tmss.yml @@ -9,7 +9,7 @@ services: restart: on-failure env_file: - ../.env - command: bash -c 'source /opt/lofar/lofarinit.sh && python3 lib/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8008' + command: bash -c 'source /opt/lofar/lofarinit.sh && python3 lib/python3.6/site-packages/lofar/sas/tmss/manage.py runserver `hostname -f`:8008' volumes: - ..:/opt/lofar ports: diff --git a/SAS/TMSS/docker-compose-ua.yml b/SAS/TMSS/docker-compose-ua.yml index 74752f8596f9daa35763a85b7f5e355288b38cbd..fa8e51e800df05f56b456334cbe5648ffc9c5822 100644 --- a/SAS/TMSS/docker-compose-ua.yml +++ b/SAS/TMSS/docker-compose-ua.yml @@ -20,6 +20,6 @@ services: restart: on-failure env_file: - ./.env - command: bash -c 'source /opt/lofar/lofarinit.sh && python3 lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver 0.0.0.0:8008' + command: bash -c 'source /opt/lofar/lofarinit.sh && python3 lib64/python3.6/site-packages/lofar/sas/tmss/manage.py runserver `hostname -f`:8008' ports: - "8008:8008" diff --git a/SAS/TMSS/src/tmss/tmssapp/populate.py b/SAS/TMSS/src/tmss/tmssapp/populate.py index 8a7e9ecef7a27b3cbd96e1963cd543701aafeb78..3916b8df40b61249b54d8bb4f35b8061de96addf 100644 --- a/SAS/TMSS/src/tmss/tmssapp/populate.py +++ b/SAS/TMSS/src/tmss/tmssapp/populate.py @@ -153,12 +153,38 @@ def populate_resources(apps, schema_editor): ResourceType.objects.create(name="observing_time_commissioning", description="Observing time for Commissioning/DDT (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) ResourceType.objects.create(name="support_time", description="Support time by human (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) ResourceType.objects.create(name="number_of_triggers", description="Number of trigger events (as integer)", quantity=Quantity.objects.get(value=Quantity.Choices.NUMBER.value)) + # TODO these duplicates have names that front-end expects. + # TODO We should not have doubles. + ResourceType.objects.create(name="LTA Storage", description="Amount of storage in the LTA (in bytes)", quantity=Quantity.objects.get(value=Quantity.Choices.BYTES.value)) + ResourceType.objects.create(name="CEP Storage", description="Amount of storage on the CEP processing cluster (in bytes)", quantity=Quantity.objects.get(value=Quantity.Choices.BYTES.value)) + ResourceType.objects.create(name="CEP Processing Time", description="Processing time on the CEP processing cluster (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="LOFAR Observing Time", description="Observing time (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="LOFAR Observing Time prio A", description="Observing time with priority A (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="LOFAR Observing Time prio B", description="Observing time with priority B (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="LOFAR Observing Time Commissioning", description="Observing time for Commissioning/DDT (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="LOFAR Support Time", description="Support time by human (in seconds)", quantity=Quantity.objects.get(value=Quantity.Choices.TIME.value)) + ResourceType.objects.create(name="Number of triggers", description="Number of trigger events (as integer)", quantity=Quantity.objects.get(value=Quantity.Choices.NUMBER.value)) def populate_misc(apps, schema_editor): cluster = Cluster.objects.create(name="CEP4", location="CIT", archive_site=False) fs = Filesystem.objects.create(name="LustreFS", cluster=cluster, capacity=3.6e15) + sara_cluster = Cluster.objects.create(name="SARA", location="SARA", archive_site=True) + juelich_cluster = Cluster.objects.create(name="Jülich", location="Jülich", archive_site=True) + poznan_cluster = Cluster.objects.create(name="Poznan", location="Poznan", archive_site=True) + + sara_fs = Filesystem.objects.create(name="Lofar Storage (SARA)", cluster=sara_cluster, capacity=3.6e15, + directory="srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lofar/ops/projects/") + sara_test_fs = Filesystem.objects.create(name="Lofar Test Storage (SARA)", cluster=sara_cluster, capacity=3.6e15, + directory="srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lofar/ops/test/projects/") + sara_user_fs = Filesystem.objects.create(name="Lofar User Disk Storage (SARA)", cluster=sara_cluster, capacity=3.6e15, + directory="srm://srm.grid.sara.nl/pnfs/grid.sara.nl/data/lofar/user/disk/projects/") + juelich_fs = Filesystem.objects.create(name="Lofar Storage (Jülich)", cluster=juelich_cluster, capacity=3.6e15, + directory="srm://lofar-srm.fz-juelich.de:8443/pnfs/fz-juelich.de/data/lofar/ops/projects/") + pozname_fs = Filesystem.objects.create(name="Lofar Storage (Poznan)", cluster=poznan_cluster, capacity=3.6e15, + directory="srm://lta-head.lofar.psnc.pl:8443/lofar/ops/projects/") + def populate_connectors(): # the TaskConnectorType's define how the Task[Draft/Blueprint] *can* be connected. @@ -171,4 +197,4 @@ def populate_connectors(): TaskConnectorType.objects.create(role=Role.objects.get(value=Role.Choices.CORRELATOR.value), datatype=Datatype.objects.get(value=Datatype.Choices.VISIBILITIES.value), output_of=TaskTemplate.objects.get(name='calibrator observation'), - input_of=TaskTemplate.objects.get(name='preprocessing pipeline')) \ No newline at end of file + input_of=TaskTemplate.objects.get(name='preprocessing pipeline')) diff --git a/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-qa-1.json b/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-qa-1.json index 9025b5254498dc54b958cf9a6b13c1f6496a52fb..a023ce3c2a30ddb590e83aad0c244b49702d7dc2 100644 --- a/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-qa-1.json +++ b/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-qa-1.json @@ -74,74 +74,19 @@ "description":"Perform all Quality Assurance (QA) tasks, including file conversion and plotting.", "default":{}, "properties": { - "file_conversion":{ - "type":"object", - "title":"File Conversion", - "default":{}, - "description":"Create a QA file for the observation", - "properties":{ - "enabled":{ - "type":"boolean", - "title":"enabled", - "default":true, - "description":"Do/Don't create a QA file for the observation" - }, - "nr_of_subbands":{ - "type":"integer", - "title":"#subbands", - "default":-1, - "description":"Keep this number of subbands from the observation in the QA file, or all if -1" - }, - "nr_of_timestamps":{ - "type":"integer", - "title":"#timestamps", - "default":256, - "minimum":1, - "description":"Extract this number of timestamps from the observation in the QA file (equidistantanly sampled, no averaging/interpolation)" - } - }, - "additionalProperties":false, - "required": [ - "enabled", - "nr_of_subbands", - "nr_of_timestamps"] - }, - "plots":{ - "type":"object", - "title":"Plots", - "default":{}, - "description":"Create dynamic spectrum plots", - "properties":{ - "enabled":{ - "type":"boolean", - "title":"enabled", - "default":true, - "description":"Do/Don't create plots from the QA file from the observation" - }, - "autocorrelation":{ - "type":"boolean", - "title":"autocorrelation", - "default":true, - "description":"Create autocorrelation plots for all stations" + "file_conversion" : { + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/QA/1#/definitions/file_conversion", + "default": {} }, - "crosscorrelation":{ - "type":"boolean", - "title":"crosscorrelation", - "default":true, - "description":"Create crosscorrelation plots for all baselines" + "plots" : { + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/QA/1#/definitions/plots", + "default": {} } }, "additionalProperties":false, - "required": [ - "enabled", - "autocorrelation", - "crosscorrelation"] - } } - }, - "additionalProperties":false, "required": [ "file_conversion", "plots"] } } -} +} \ No newline at end of file diff --git a/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-stations-1.json b/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-stations-1.json index 1a4024296bc351dd07b13b80b22973d1d08f1a9b..256c576f84a5bf38f14de663abce45395a5ae325 100644 --- a/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-stations-1.json +++ b/SAS/TMSS/src/tmss/tmssapp/schemas/common_schema_template-stations-1.json @@ -1,207 +1,22 @@ { - "$id": "http://scu199.control.lofar:8008/api/schemas/commonschematemplate/stations/1#", - "type": "object", - "title": "stations", + "$id":"http://tmss.lofar.org/api/schemas/commonschematemplate/stations/1#", "$schema": "http://json-schema.org/draft-06/schema#", - "version": 1, - "definitions": { - "filter": { - "enum": [ - "LBA_10_70", - "LBA_30_70", - "LBA_10_90", - "LBA_30_90", - "HBA_110_190", - "HBA_210_250" - ], - "type": "string", - "title": "Band-pass filter", - "default": "HBA_110_190", - "description": "Must match antenna type" - }, - "stations": { - "oneOf": [ - { - "type": "object", - "items": { - "type": "object", - "title": "Station set", - "required": [ - "group", - "min_stations" - ], - "properties": { - "group": { - "enum": [ - "ALL", - "SUPERTERP", - "CORE", - "REMOTE", - "DUTCH", - "INTERNATIONAL" - ], - "type": "string", - "title": "Group/station", - "default": "ALL", - "description": "Which (group of) station(s) to select from" - }, - "min_stations": { - "type": "integer", - "title": "Minimum nr of stations", - "default": 1, - "minimum": 0, - "description": "Number of stations to use within group/station" - } - }, - "headerTemplate": "{{ self.group }}", - "additionalProperties": false - }, - "title": "dynamic station set", - "default": {}, - "additionalItems": false - }, - { - "type": "array", - "items": { - "enum": [ - "CS001", - "CS002", - "CS003", - "CS004", - "CS005", - "CS006", - "CS007", - "CS011", - "CS013", - "CS017", - "CS021", - "CS024", - "CS026", - "CS028", - "CS030", - "CS031", - "CS032", - "CS101", - "CS103", - "CS201", - "CS301", - "CS302", - "CS401", - "CS501", - "RS104", - "RS106", - "RS205", - "RS208", - "RS210", - "RS305", - "RS306", - "RS307", - "RS310", - "RS406", - "RS407", - "RS409", - "RS410", - "RS503", - "RS508", - "RS509", - "DE601", - "DE602", - "DE603", - "DE604", - "DE605", - "FR606", - "SE607", - "UK608", - "DE609", - "PL610", - "PL611", - "PL612", - "IE613", - "LV614" - ], - "type": "string", - "title": "Station", - "description": "" - }, - "title": "fixed station list", - "default": [ - "CS001" - ], - "minItems": 1, - "uniqueItems": true, - "additionalItems": false, - "additionalProperties": false - } - ], - "title": "stations", - "default": { - "group": "ALL", - "min_stations": 1 - }, - "description": "Use either the fixed station list, or one of the dynamic station sets." - }, - "antenna_set": { - "enum": [ - "HBA_DUAL", - "HBA_DUAL_INNER", - "HBA_ONE", - "HBA_ONE_INNER", - "HBA_ZERO", - "HBA_ZERO_INNER", - "LBA_INNER", - "LBA_OUTER", - "LBA_SPARSE_EVEN", - "LBA_SPARSE_ODD", - "LBA_ALL" + "title":"stations", + "description":"This schema provives a definitions for the LOFAR stations and their antenna sets and filters", + "version":"1", + "type":"object", + "definitions":{ + "station_list":{ + "title":"fixed station list", + "default":[ + "CS001" ], - "type": "string", - "title": "Antenna set", - "default": "HBA_DUAL", - "description": "Fields & antennas to use" - }, - "station_set": { - "type": "object", - "items": { - "type": "object", - "title": "Station set", - "required": [ - "group", - "min_stations" - ], - "properties": { - "group": { - "enum": [ - "ALL", - "SUPERTERP", - "CORE", - "REMOTE", - "DUTCH", - "INTERNATIONAL" - ], - "type": "string", - "title": "Group/station", - "default": "ALL", - "description": "Which (group of) station(s) to select from" - }, - "min_stations": { - "type": "integer", - "title": "Minimum nr of stations", - "default": 1, - "minimum": 0, - "description": "Number of stations to use within group/station" - } - }, - "headerTemplate": "{{ self.group }}", - "additionalProperties": false - }, - "title": "dynamic station set", - "default": {}, - "additionalItems": false - }, - "station_list": { - "type": "array", - "items": { - "enum": [ + "type":"array", + "additionalItems":false, + "additionalProperties":false, + "items":{ + "type":"string", + "enum":[ "CS001", "CS002", "CS003", @@ -257,19 +72,98 @@ "IE613", "LV614" ], - "type": "string", - "title": "Station", - "description": "" + "title":"Station", + "description":"" }, - "title": "fixed station list", - "default": [ - "CS001" + "minItems":1, + "uniqueItems":true + }, + "station_set":{ + "title":"dynamic station set", + "type":"object", + "default":{}, + "additionalItems":false, + "items":{ + "type":"object", + "title":"Station set", + "headerTemplate":"{{ self.group }}", + "additionalProperties":false, + "properties":{ + "group":{ + "type":"string", + "title":"Group/station", + "description":"Which (group of) station(s) to select from", + "default":"ALL", + "enum":[ + "ALL", + "SUPERTERP", + "CORE", + "REMOTE", + "DUTCH", + "INTERNATIONAL" + ] + }, + "min_stations":{ + "type":"integer", + "title":"Minimum nr of stations", + "description":"Number of stations to use within group/station", + "default":1, + "minimum":0 + } + }, + "required":[ + "group", + "min_stations" + ] + } + }, + "stations": { + "title":"stations", + "description":"Use either the fixed station list, or one of the dynamic station sets.", + "oneOf": [ { + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/stations/1#/definitions/station_list" + }, + { + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/stations/1#/definitions/station_set" + } ], - "minItems": 1, - "uniqueItems": true, - "additionalItems": false, - "additionalProperties": false + "default": { + "group": "ALL", + "min_stations": 1 + } + }, + "antenna_set":{ + "type":"string", + "title":"Antenna set", + "description":"Fields & antennas to use", + "default":"HBA_DUAL", + "enum":[ + "HBA_DUAL", + "HBA_DUAL_INNER", + "HBA_ONE", + "HBA_ONE_INNER", + "HBA_ZERO", + "HBA_ZERO_INNER", + "LBA_INNER", + "LBA_OUTER", + "LBA_SPARSE_EVEN", + "LBA_SPARSE_ODD", + "LBA_ALL" + ] + }, + "filter":{ + "type":"string", + "title":"Band-pass filter", + "description":"Must match antenna type", + "default":"HBA_110_190", + "enum":[ + "LBA_10_70", + "LBA_30_70", + "LBA_10_90", + "LBA_30_90", + "HBA_110_190", + "HBA_210_250" + ] } - }, - "description": "This schema provives a definitions for the LOFAR stations and their antenna sets and filters" -} + } +} \ No newline at end of file diff --git a/SAS/TMSS/src/tmss/tmssapp/schemas/task_template-target_observation-1.json b/SAS/TMSS/src/tmss/tmssapp/schemas/task_template-target_observation-1.json index b4e8f19240116149f221b950ae21b90b36462d57..e987d0d2fc1d0628be24ef009833f712601cf05f 100644 --- a/SAS/TMSS/src/tmss/tmssapp/schemas/task_template-target_observation-1.json +++ b/SAS/TMSS/src/tmss/tmssapp/schemas/task_template-target_observation-1.json @@ -7,7 +7,7 @@ "type": "object", "properties": { "stations": { - "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/stations/1/#/definitions/stations", + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/stations/1#/definitions/stations", "default": ["CS001"] }, "antenna_set": { @@ -124,8 +124,8 @@ ] }, "QA": { - "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/QA/1/#/definitions/QA", - "default": {} + "default":{}, + "$ref": "http://tmss.lofar.org/api/schemas/commonschematemplate/QA/1#/definitions/QA" } }, "required": [ diff --git a/SAS/TMSS/src/tmss/tmssapp/serializers/widgets.py b/SAS/TMSS/src/tmss/tmssapp/serializers/widgets.py index b2e6982bd92291d49ab34e66484952d3e013ba39..d2d3adfff7c5bd8b6e3ea87cc717997bd1db4f04 100644 --- a/SAS/TMSS/src/tmss/tmssapp/serializers/widgets.py +++ b/SAS/TMSS/src/tmss/tmssapp/serializers/widgets.py @@ -72,7 +72,4 @@ class JSONEditorField(serializers.JSONField): self.style = {'template': 'josdejong_jsoneditor_widget.html', 'schema': json.dumps(schema)} - if self.parent.context['request'].accepted_media_type == 'application/json': - return super().to_representation(json_utils.resolved_refs(value)) - return super().to_representation(value) diff --git a/SAS/TMSS/src/tmss/tmssapp/views.py b/SAS/TMSS/src/tmss/tmssapp/views.py index 1f9f0cf22f505d00cdd7a20c1e7fd068d4a3e5c1..3b163882b38e08b032d7700efe3145b8d70c02f2 100644 --- a/SAS/TMSS/src/tmss/tmssapp/views.py +++ b/SAS/TMSS/src/tmss/tmssapp/views.py @@ -51,7 +51,13 @@ def get_template_json_schema(request, template:str, name:str, version:str): template_model = apps.get_model("tmssapp", template) template_instance = get_object_or_404(template_model, name=name, version=version) schema = template_instance.schema - return JsonResponse(schema, json_dumps_params={"indent":2}) + response = JsonResponse(schema, json_dumps_params={"indent":2}) + + # config Access-Control. Our schemas use $ref url's to other schemas, mainly pointing to our own common schemas with base definitions. + # We instruct the client to allow fetching those. + response["Access-Control-Allow-Origin"] = "*" + response["Access-Control-Allow-Methods"] = "GET, OPTIONS" + return response def utc(request): diff --git a/SAS/TMSS/src/tmss/tmssapp/viewsets/lofar_viewset.py b/SAS/TMSS/src/tmss/tmssapp/viewsets/lofar_viewset.py index 3960f1e69da567d4637620d96a24ec45e706dfbf..5c28bdb6fda25ee5ea89866230a8e2faa1590b13 100644 --- a/SAS/TMSS/src/tmss/tmssapp/viewsets/lofar_viewset.py +++ b/SAS/TMSS/src/tmss/tmssapp/viewsets/lofar_viewset.py @@ -87,7 +87,7 @@ class AbstractTemplateViewSet(LOFARViewSet): path = revese_url('get_template_json_schema', kwargs={'template': self.queryset.model._meta.model_name, 'name': request.data['name'], 'version': request.data.get('version', 1)}).rstrip('/') - schema['$id'] = '%s://%s%s#' % (request.scheme, request.get_host(), path) + schema['$id'] = '%s://%s%s' % (request.scheme, request.get_host(), path) try: # we explicitely want to override the uploaded schema with the $id-annotated one. @@ -109,6 +109,15 @@ class AbstractTemplateViewSet(LOFARViewSet): self._inject_id_in_schema(request) return super().update(request, pk, **kwargs) + def retrieve(self, request, pk=None, **kwargs): + response = super().retrieve(request, pk, **kwargs) + + # config Access-Control. Our schemas use $ref url's to other schemas, mainly pointing to our own common schemas with base definitions. + # We instruct the client to allow fetching those. + response["Access-Control-Allow-Origin"] = "*" + response["Access-Control-Allow-Methods"] = "GET, OPTIONS" + return response + @swagger_auto_schema(responses={200: 'The schema as a JSON object', 403: 'forbidden'}, operation_description="Get the schema as a JSON object.") diff --git a/SAS/XML_generator/src/xmlgen.py b/SAS/XML_generator/src/xmlgen.py index 0012a42e4514ce172216c438aa1813e237ca41a2..d963cc622b4fdd0004c7ee21f4bd1d2089cd9bad 100755 --- a/SAS/XML_generator/src/xmlgen.py +++ b/SAS/XML_generator/src/xmlgen.py @@ -26,7 +26,7 @@ # Last change by : $Author: renting $ # Change date : $Date: 2016-05-18 11:47:57 +0200 (wo, 18 mei 2016) $ -VERSION = "4.0.4" +VERSION = "4.0.5" import sys, getopt, time from xml.sax.saxutils import escape as XMLescape @@ -51,11 +51,11 @@ IMAGING_PIPELINE_TYPES = ['MSSS', 'standard', 'none'] # MODES = ['Calobs','Calbeam','MultiObs'] PROCESSING = ['Preprocessing', 'Calibration', 'Pulsar', 'Imaging', 'LongBaseline', 'Prefactor', 'PreprocessingNoFlagging', 'none'] CALIBRATION_MODE = ['internal', 'external', 'none'] -ALL_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,DE601,DE602,DE603,DE604,DE605,FR606,SE607,UK608,DE609,PL610,PL611,PL612,IE613' +ALL_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,DE601,DE602,DE603,DE604,DE605,FR606,SE607,UK608,DE609,PL610,PL611,PL612,IE613,LV614' 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' SUPERTERP_STATIONS = 'CS002,CS003,CS004,CS005,CS006,CS007' REMOTE_STATIONS = 'RS106,RS205,RS208,RS210,RS305,RS306,RS307,RS310,RS406,RS407,RS409,RS503,RS508,RS509' -INTERNATIONAL_STATIONS = 'DE601,DE602,DE603,DE604,DE605,FR606,SE607,UK608,DE609,PL610,PL611,PL612,IE613' +INTERNATIONAL_STATIONS = 'DE601,DE602,DE603,DE604,DE605,FR606,SE607,UK608,DE609,PL610,PL611,PL612,IE613,LV614' NL_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' DEFAULT_TASKS_PER_NODE = 11 DEFAULT_CORES_PER_TASK = 2