Een SEG-Y-bestand converteren naar ZGY
In dit artikel leert u hoe u gegevens met SEG-Y-indeling converteert naar de ZGY-indeling. Seismic-gegevens die zijn opgeslagen in de industriestandaard SEG-Y-indeling kunnen worden geconverteerd naar ZGY voor gebruik in toepassingen zoals Petrel via de Seismic DMS. Zie hier voor veelgestelde vragen over ZGY-conversie en meer achtergrond in de OSDU-community® hier: SEG-Y naar ZGY-gesprek. Deze zelfstudie is een stapsgewijze richtlijn voor het uitvoeren van de conversie. Houd er rekening mee dat de werkelijke productiewerkstroom kan verschillen en kan worden gebruikt als richtlijn voor de vereiste set stappen om de conversie te bereiken.
Vereisten
- Een Azure-abonnement
- Een exemplaar van Azure Data Manager for Energy dat is gemaakt in uw Azure-abonnement.
- Een SEG-Y-bestand
- U kunt een van de volgende bestanden uit de Volve-gegevensset gebruiken als test. De Volve-gegevensset zelf is beschikbaar vanuit Equinor.
De details van uw Azure Data Manager for Energy-exemplaar ophalen
De eerste stap is het ophalen van de volgende informatie uit uw Azure Data Manager for Energy-exemplaar in Azure Portal:
Parameter | Weergegeven als | Opmerking |
---|---|---|
client_id | Client-id van toepassing | 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxxxx |
client_secret | Clientgeheimen | _Fl****************** |
tenant_id | Id van directory (tenant) | 72f988bf-86f1-41af-91ab-xxxxxxxxxxxxxx |
base_url | URL | https://<instance>.energy.azure.com |
gegevenspartitie-id | Gegevenspartitie(s) | <data-partition-name> |
U gebruikt deze informatie verderop in de zelfstudie.
Postman instellen
Stel vervolgens Postman in:
Download en installeer de Postman-bureaublad-app .
Importeer de volgende bestanden in Postman:
De bestanden importeren:
- Selecteer Importeren in Postman.
- Plak de URL van elk bestand in het zoekvak.
Werk IN de Postman-omgeving CURRENT VALUE bij met de informatie van uw Azure Data Manager for Energy-exemplaardetails
Selecteer in Postman in het linkermenu Omgevingen en selecteer vervolgens SEGYtoZGY Environment.
Voer in de kolom CURRENT VALUE de informatie in die wordt beschreven in de tabel in 'Get your Azure Data Manager for Energy instance details'.
Stapsgewijs proces voor het converteren van HET SEG-Y-bestand naar ZGY-bestand
De Postman-verzameling bevat alle voorbeeldoproepen die als richtlijn dienen. U kunt ook de equivalente cURL-opdracht voor een Postman-aanroep ophalen door op de knop Code te klikken.
Een juridische tag maken
Gegevenssetbestanden voorbereiden
Bereid het metagegevens-/manifestbestand/recordbestand voor de gegevensset voor. Het manifestbestand bevat:
- WorkProduct
- SeismicBinGrid
- FileCollection
- SeismicTraceData
Conversie maakt gebruik van een manifestbestand dat u later naar uw opslagaccount uploadt om de conversie uit te voeren. Dit manifestbestand wordt gemaakt met behulp van meerdere JSON-bestanden en het uitvoeren van een script. De JSON-bestanden voor dit proces worden hier opgeslagen voor de Volve-gegevensset. Ga naar hun website voor meer informatie over Volve, zoals waar de gegevenssetdefinities vandaan komen. Voer de volgende stappen uit om het manifestbestand te maken:
- Kloon de opslagplaats en navigeer naar de map
doc/sample-records/volve
- Bewerk de waarden in het
prepare-records.sh
bash-script. Zoals u weet, wordt de indeling van de juridische tag voorafgegaan door de naam van het Azure Data Manager for Energy-exemplaar en de naam van de<instancename>-<datapartitionname>-<legaltagname>
gegevenspartitie.
DATA_PARTITION_ID=<your-partition-id>
ACL_OWNER=data.default.owners@<your-partition-id>.<your-tenant>.com
ACL_VIEWER=data.default.viewers@<your-partition-id>.<your-tenant>.com
LEGAL_TAG=<legal-tag-created>
- Voer het
prepare-records.sh
-script uit. - De uitvoer is een JSON-matrix met alle objecten en wordt opgeslagen in het
all_records.json
bestand. - Sla de
filecollection_segy_id
en dework_product_id
waarden in dat JSON-bestand op voor gebruik in de conversiestap. Op die manier weet het conversieprogramma waar deze inhoud van jeall_records.json
moet zoeken.
Notitie
Het all_records.json
bestand moet ook de juiste gegevens voor elk element bevatten.
Voorbeeld: De volgende parameters worden gebruikt bij het berekenen van de ZGY-coördinaten voor SeismicBinGrid
:
P6BinGridOriginEasting
P6BinGridOriginI
P6BinGridOriginJ
P6BinGridOriginNorthing
P6ScaleFactorOfBinGrid
P6BinNodeIncrementOnIaxis
P6BinNodeIncrementOnJaxis
P6BinWidthOnIaxis
P6BinWidthOnJaxis
P6MapGridBearingOfBinGridJaxis
P6TransformationMethod
persistableReferenceCrs
van hetasIngestedCoordinates
blok Als deSeismicBinGrid
P6-parameters en de CRS zijn opgegevenAsIngestedCoordinates
, moet de conversie zelf kunnen worden voltooid, maar Petrel begrijpt de meetkunde van de enquête niet tenzij het ook de 5 hoekpunten onderSpatialArea
,AsIngestedCoordinates
,SpatialArea
enWgs84Coordinates
.
Gebruikerstoegang
De gebruiker moet deel uitmaken van de users.datalake.admins
groep. Valideer de huidige rechten voor de gebruiker met behulp van de volgende aanroep:
Verderop in deze zelfstudie hebt u ten minste één owner
en ten minste één viewer
nodig. Deze gebruikersgroepen zien er als volgt data.default.owners
uit en data.default.viewers
. Noteer een van beide in uw lijst.
Als de gebruiker geen deel uitmaakt van de vereiste groep, kunt u het vereiste recht toevoegen met behulp van de volgende voorbeeldaanroep: e-mail-id: Is de waarde 'ID' geretourneerd door de bovenstaande aanroep.
Als u nog geen rechtengroepen hebt gemaakt, volgt u de aanwijzingen zoals beschreven in Gebruikers beheren. Als u wilt zien welke groepen u hebt, gebruikt u Rechtengroepen ophalen voor een bepaalde gebruiker. Isolatie van gegevenstoegang wordt bereikt met deze toegewezen ACL (toegangsbeheerlijst) per object binnen een bepaalde gegevenspartitie.
Subproject voorbereiden
1. Gegevenspartitie registreren bij Seismic
2. Subproject maken
Gebruik de eerder gemaakte rechtengroepen die u wilt toevoegen als ACL-beheerders en -viewers. Rechten voor gegevenspartities worden niet noodzakelijkerwijs omgezet in de subprojecten in het project, dus het is belangrijk om expliciet te zijn over de ACL's voor elk subproject, ongeacht de gegevenspartitie waarin het zich bevindt.
3. Gegevensset maken
Notitie
Deze stap is alleen vereist als u de seismische bestanden niet gebruikt sdutil
voor het uploaden van de seismische bestanden.
Het bestand uploaden
Er zijn twee manieren om een SEGY-bestand te uploaden. Eén optie wordt gebruikt de sasurl via Postman / curl-aanroep. U moet Postman downloaden of Curl instellen op uw besturingssysteem.
De tweede methode is het gebruik van SDUTIL. Als u zich via het hulpprogramma wilt aanmelden bij uw exemplaar voor ADME, moet u een vernieuwingstoken voor het exemplaar genereren. Zie Hoe u een verificatietoken genereert. U kunt ook de code van SDUTIL wijzigen om in plaats daarvan clientreferenties te gebruiken om u aan te melden. Als u dat nog niet hebt, moet u SDUTIL instellen. Download de codebasis en bewerk de config.yaml
hoofdmap. Vervang de inhoud van dit configuratiebestand door de volgende yaml.
seistore:
service: '{"azure": {"azureEnv":{"url": "<instance url>/seistore-svc/api/v3", "appkey": ""}}}'
url: '<instance url>/seistore-svc/api/v3'
cloud_provider: azure
env: glab
auth-mode: JWT Token
ssl_verify: false
auth_provider:
azure: '{
"provider": "azure",
"authorize_url": "https://login.microsoftonline.com/", "oauth_token_host_end": "/oauth2/v2.0/token",
"scope_end":"/.default openid profile offline_access",
"redirect_uri":"http://localhost:8080",
"login_grant_type": "refresh_token",
"refresh_token": "<RefreshToken acquired earlier>"
}'
azure:
empty: none
Methode 1: Postman
Haal de sasurl op:
Upload het bestand:
U moet het bestand selecteren dat u wilt uploaden in de sectie Hoofdtekst van de API-aanroep.
Uploaden controleren
Methode 2: SDUTIL
sdutil is een OSDU-bureaubladhulpprogramma voor toegang tot seismische service. We gebruiken het om bestanden te uploaden/downloaden. Gebruik de azure-stable tag van SDUTIL.
Notitie
Wanneer u wordt uitgevoerd python sdutil config init
, hoeft u niets in te voeren wanneer u hierom wordt gevraagd Insert the azure (azureGlabEnv) application key:
.
python sdutil config init
python sdutil auth login
python sdutil ls sd://<data-partition-id>/<subproject>/
Upload uw seismic-bestand naar uw Seismic Store. Hier volgt een voorbeeld met een SEGY-indelingsbestand met de naam source.segy
:
python sdutil cp <local folder>/source.segy sd://<data-partition-id>/<subproject>/destination.segy
Voorbeeld:
python sdutil cp ST10010ZC11_PZ_PSDM_KIRCH_FULL_T.MIG_FIN.POST_STACK.3D.JS-017536.segy sd://<data-partition-id>/<subproject>/destination.segy
Opslagrecords maken
Voeg de inhoud van uw all_records.json
bestand in de opslag in voor werkproductgegevens, seismische traceringsgegevens, seismische rasters en bestandsverzameling. Kopieer en plak de inhoud van dat bestand in de aanvraagbody van de API-aanroep.
Conversieprogramma uitvoeren
Activeer de ZGY Conversion DAG om uw gegevens te converteren met behulp van de uitvoeringscontextwaarden die u hierboven hebt opgeslagen.
Haal het id-token op uit sdutil voor het geüploade bestand of gebruik een access/bearer-token van Postman.
python sdutil auth idtoken
- Laat de DAG naar de
succeeded
status gaan. U kunt de status controleren met behulp van de aanroep van de werkstroomstatus. De uitvoerings-id staat in het antwoord van de bovenstaande aanroep
U kunt zien of het geconverteerde bestand aanwezig is met behulp van de volgende opdracht in sdutil of in de Postman API-aanroep:
python sdutil ls sd://<data-partition-id>/<subproject>
U kunt het bestand downloaden en inspecteren met behulp van de sdutil-opdracht
cp
:python sdutil cp sd://<data-partition-id>/<subproject>/<filename.zgy> <local/destination/path>
OSDU® is een handelsmerk van The Open Group.