Dela via


Konvertera en SEG-Y-fil till ZGY

I den här artikeln får du lära dig hur du konverterar SEG-Y-formaterade data till ZGY-formatet. Seismiska data som lagras i seg-Y-format för branschstandard kan konverteras till ZGY för användning i program som Petrel via Seismic DMS. Se här för vanliga frågor och svar om ZGY-konvertering och mer bakgrund finns i OSDU-communityn® här: SEG-Y till ZGY-konversation. Den här självstudien är en stegvis riktlinje för hur du utför konverteringen. Observera att det faktiska produktionsarbetsflödet kan skilja sig åt och användas som en guide för den nödvändiga uppsättningen steg för att uppnå konverteringen.

Förutsättningar

Hämta information om Azure Data Manager for Energy-instansen

Det första steget är att hämta följande information från din Azure Data Manager for Energy-instans i Azure-portalen:

Parameter Värde Exempel
client_id App-ID (klient-ID) 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxx
client_secret Klienthemligheter _fl******************
tenant_id Katalog-ID (klientorganisation) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx
base_url webbadress https://<instance>.energy.azure.com
data-partition-id Datapartitioner <data-partition-name>

Du använder den här informationen senare i självstudien.

Konfigurera Postman

Konfigurera sedan Postman:

  1. Ladda ned och installera Postman-skrivbordsappen.

  2. Importera följande filer i Postman:

    Så här importerar du filerna:

    1. Välj Importera i Postman.

    Skärmbild som visar importknappen i Postman.

    1. Klistra in URL:en för varje fil i sökrutan.

    Skärmbild som visar import av samlings- och miljöfiler i Postman via URL.

  3. I Postman-miljön uppdaterar du AKTUELLT VÄRDE med informationen från din Azure Data Manager for Energy-instansinformation

    1. I Postman går du till den vänstra menyn och väljer Miljöer och sedan SEGYtoZGY-miljö.

    2. I kolumnen AKTUELLT VÄRDE anger du den information som beskrivs i tabellen i "Hämta information om Azure Data Manager for Energy-instansen".

    Skärmbild som visar var du anger aktuella värden i SEGYtoZGY-miljön.

Steg för steg-process för att konvertera SEG-Y-fil till ZGY-fil

Postman-samlingen som tillhandahålls har alla exempelanrop som ska fungera som en guide. Du kan också hämta motsvarande cURL-kommando för ett Postman-anrop genom att klicka på knappen Kod .

Skärmbild som visar knappen Kod i Postman.

Skärmbild av att skapa en juridisk tagg.

Förbereda datamängdsfiler

Förbered metadata-/manifestfilen/postfilen för datauppsättningen. Manifestfilen innehåller:

  • WorkProduct
  • SeismicBinGrid
  • FileCollection
  • SeismicTraceData

Konverteringen använder en manifestfil som du laddar upp till ditt lagringskonto senare för att köra konverteringen. Den här manifestfilen skapas med hjälp av flera JSON-filer och kör ett skript. JSON-filerna för den här processen lagras här för Volve Dataset. Mer information om Volve, till exempel var datamängdsdefinitionerna kommer ifrån, finns på deras webbplats. Slutför följande steg för att skapa manifestfilen:

  1. Klona lagringsplatsen och navigera till mappendoc/sample-records/volve
  2. Redigera värdena i bash-skriptet prepare-records.sh . Kom ihåg att formatet för den juridiska taggen är prefixet med Namnet på Azure Data Manager för Energy-instansen och datapartitionsnamnet, så det ser ut som <instancename>-<datapartitionname>-<legaltagname>.
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>
  1. Kör skriptet prepare-records.sh.
  2. Utdata är en JSON-matris med alla objekt och sparas i all_records.json filen.
  3. filecollection_segy_id Spara värdena och work_product_id i JSON-filen som ska användas i konverteringssteget. På så sätt vet konverteraren var du ska leta efter det här innehållet i din all_records.json.

Kommentar

Filen all_records.json måste också innehålla lämpliga data för varje element.

Exempel: Följande parametrar används vid beräkning av ZGY-koordinaterna för SeismicBinGrid:

  • P6BinGridOriginEasting
  • P6BinGridOriginI
  • P6BinGridOriginJ
  • P6BinGridOriginNorthing
  • P6ScaleFactorOfBinGrid
  • P6BinNodeIncrementOnIaxis
  • P6BinNodeIncrementOnJaxis
  • P6BinWidthOnIaxis
  • P6BinWidthOnJaxis
  • P6MapGridBearingOfBinGridJaxis
  • P6TransformationMethod
  • persistableReferenceCrsasIngestedCoordinates från blocket Om SeismicBinGrid har P6-parametrarna och CRS som anges under AsIngestedCoordinates, bör själva konverteringen kunna slutföras, men Petrel kommer inte att förstå undersökningens geometri för filen om den inte också får 5 hörnpunkter under SpatialArea,AsIngestedCoordinates, SpatialAreaoch Wgs84Coordinates.

Användaråtkomst

Användaren måste vara en del av users.datalake.admins gruppen. Verifiera aktuella rättigheter för användaren med hjälp av följande anrop:

Skärmbild som visar API-anropet för att hämta användargrupper i Postman.

Senare i den här självstudien behöver du minst en owner och minst en viewer. Dessa användargrupper ser ut som data.default.owners och data.default.viewers. Anteckna en av var och en i listan.

Om användaren inte ingår i den obligatoriska gruppen kan du lägga till den behörighet som krävs med hjälp av följande exempelanrop: e-post-ID: Returneras värdet "ID" från samtalet ovan.

Skärmbild som visar API-anropet för att registrera en användare som administratör i Postman.

Om du ännu inte har skapat berättigandegrupper följer du anvisningarna enligt beskrivningen i Hantera användare. Om du vill se vilka grupper du har använder du Hämta berättigandegrupper för en viss användare. Isolering av dataåtkomst uppnås med den här dedikerade ACL:en (åtkomstkontrollistan) per objekt inom en viss datapartition.

Förbered underprojekt

1. Registrera datapartition till Seismic

Skärmbild som visar API-anropet för att registrera en datapartition som en seismisk klientorganisation i Postman.

2. Skapa underprojekt

Använd dina tidigare skapade berättigandegrupper som du vill lägga till som ACL-administratörer (åtkomstkontrollista) och visningsprogram. Datapartitionsrättigheter översätts inte nödvändigtvis till underprojekten i den, så det är viktigt att vara explicit om ACL:er för varje underprojekt, oavsett vilken datapartition det finns i.

Skärmbild som visar API-anropet för att skapa ett seismiskt underprojekt i Postman.

3. Skapa datauppsättning

Kommentar

Det här steget krävs bara om du inte använder sdutil för att ladda upp seismiska filer.

Skärmbild som visar API-anropet för att skapa en seismisk datauppsättning i Postman.

Ladda upp filen

Det finns två sätt att ladda upp en SEGY-fil. Ett alternativ används sasurl via Postman/ curl-anrop. Du måste ladda ned Postman eller konfigurera Curl i operativsystemet. Den andra metoden är att använda SDUTIL. Om du vill logga in på din instans för ADME via verktyget måste du generera en uppdateringstoken för instansen. Se Så här genererar du autentiseringstoken. Du kan också ändra koden för SDUTIL så att klientens autentiseringsuppgifter används i stället för att logga in. Om du inte redan har gjort det måste du konfigurera SDUTIL. Ladda ned kodbasen och redigera config.yaml i roten. Ersätt innehållet i den här konfigurationsfilen med följande 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

Metod 1: Postman

Hämta sasurl:

Skärmbild som visar API-anropet för att hämta en GCS-uppladdnings-URL i Postman.

Ladda upp filen:

Du måste välja den fil som ska laddas upp i avsnittet Brödtext i API-anropet.

Skärmbild som visar API-anropet för att ladda upp en fil i Postman.

Skärmbild som visar API-anropet för att ladda upp en filbinär fil i Postman.

Verifiera uppladdning

Skärmbild som visar API-anropet för att verifiera att en filbinär fil laddas upp i Postman.

Metod 2: SDUTIL

sdutil är ett OSDU-skrivbordsverktyg för att få åtkomst till seismisk tjänst. Vi använder den för att ladda upp/ladda ned filer. Använd taggen azure-stable från SDUTIL.

Kommentar

När du kör python sdutil config initbehöver du inte ange något när du uppmanas att göra det med Insert the azure (azureGlabEnv) application key:.

python sdutil config init
python sdutil auth login
python sdutil ls sd://<data-partition-id>/<subproject>/

Ladda upp din seismiska fil till Seismic Store. Här är ett exempel med en SEGY-formatfil med namnet source.segy:

python sdutil cp <local folder>/source.segy sd://<data-partition-id>/<subproject>/destination.segy

Till exempel:

python sdutil cp ST10010ZC11_PZ_PSDM_KIRCH_FULL_T.MIG_FIN.POST_STACK.3D.JS-017536.segy sd://<data-partition-id>/<subproject>/destination.segy

Skapa lagringsposter

Infoga innehållet all_records.json i filen i lagringen för arbetsprodukt, seismiska spårningsdata, seismiskt rutnät och filinsamling. Kopiera och klistra in innehållet i filen i begärandetexten i API-anropet.

Skärmbild som visar API-anropet för att skapa lagringsposter i Postman.

Kör konverterare

  1. Utlös ZGY Conversion DAG för att konvertera dina data med de körningskontextvärden som du hade sparat ovan.

    Hämta ID-token från sdutil för den uppladdade filen eller använd en åtkomst-/ägartoken från Postman.

python sdutil auth idtoken

Skärmbild som visar API-anropet för att starta konverteringsarbetsflödet i Postman.

  1. Låt DAG köras till tillståndet succeeded . Du kan kontrollera statusen med hjälp av arbetsflödesstatusanropet. Körnings-ID:t finns i svaret för ovanstående anrop

Skärmbild som visar API-anropet för att kontrollera konverteringsarbetsflödets status i Postman.

  1. Du kan se om den konverterade filen finns med följande kommando i sdutil eller i Postman API-anropet:

    python sdutil ls sd://<data-partition-id>/<subproject>
    

Skärmbild som visar API-anropet för att kontrollera om filen har konverterats.

  1. Du kan ladda ned och inspektera filen med hjälp av kommandot sdutilcp:

    python sdutil cp sd://<data-partition-id>/<subproject>/<filename.zgy> <local/destination/path>
    

OSDU® är ett varumärke som tillhör The Open Group.

Nästa steg