Come convertire un file edizione Standard G-Y in ZGY

Questo articolo illustra come convertire i dati formattati edizione Standard G-Y nel formato ZGY. I dati sismici archiviati nel formato standard del settore edizione Standard G-Y possono essere convertiti in ZGY per l'uso in applicazioni come Petrel tramite il Dms Seismic. Vedere qui per domande frequenti sulla conversione ZGY e altre informazioni in background sono disponibili nella community OSDU® qui: edizione Standard G-Y alla conversazione ZGY. Questa esercitazione è un'indicazione dettagliata su come eseguire la conversione. Si noti che il flusso di lavoro di produzione effettivo può variare e usarlo come guida per il set di passaggi necessario per ottenere la conversione.

Prerequisiti

Ottenere i dettagli dell'istanza di Azure Data Manager per l'istanza di Energia

Il primo passaggio consiste nel ottenere le informazioni seguenti dall'istanza di Azure Data Manager for Energy nel portale di Azure:

Parametro Valore Esempio
client_id ID applicazione (client) 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxx
client_secret Segreti client _Fl******************
tenant_id ID della directory (tenant) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx
base_url URL https://<instance>.energy.azure.com
data-partition-id Partizioni dati <data-partition-name>

Queste informazioni verranno usate più avanti nell'esercitazione.

Impostazione di Postman

Configurare quindi Postman:

  1. Scaricare e installare l'app desktop Postman .

  2. Importare i file seguenti in Postman:

    Per importare i file:

    1. Selezionare Importa in Postman.

    Screenshot che mostra il pulsante di importazione in Postman.

    1. Incollare l'URL di ogni file nella casella di ricerca.

    Screenshot che mostra l'importazione di file di raccolta e ambiente in Postman tramite URL.

  3. Nell'ambiente Postman aggiornare CURRENT VALUE con le informazioni fornite da Azure Data Manager per i dettagli dell'istanza di Energia

    1. Nel menu a sinistra in Postman selezionare Ambienti e quindi selezionare edizione Standard GYtoZGY Environment.

    2. Nella colonna VALORE CORRENTE immettere le informazioni descritte nella tabella in 'Ottenere i dettagli dell'istanza di Azure Data Manager for Energy'.

    Screenshot che mostra dove immettere i valori correnti nell'ambiente edizione Standard GYtoZGY.

Procedura dettagliata per convertire il file edizione Standard G-Y nel file ZGY

La raccolta Postman fornita include tutte le chiamate di esempio da usare come guida. È anche possibile recuperare il comando cURL equivalente per una chiamata Postman facendo clic sul pulsante Codice .

Screenshot che mostra il pulsante Codice in Postman.

Screenshot della creazione di un tag legale.

Preparare i file del set di dati

Preparare il file di metadati/file manifesto/record per il set di dati. Il file manifesto include:

  • WorkProduct
  • SeismicBinGrid
  • FileCollection
  • SeismicTraceData

La conversione usa un file manifesto caricato nell'account di archiviazione in un secondo momento per eseguire la conversione. Questo file manifesto viene creato usando più file JSON ed eseguendo uno script. I file JSON per questo processo vengono archiviati qui per il set di dati Volve. Per altre informazioni su Volve, ad esempio da dove provengono le definizioni dei set di dati, visitare il sito Web. Completare i passaggi seguenti per creare il file manifesto:

  1. Clonare il repository e passare alla cartella doc/sample-records/volve
  2. Modificare i valori nello prepare-records.sh script bash. Tenere presente che il formato del tag legale è preceduto dal nome dell'istanza di Azure Data Manager per l'istanza di Energia e dal nome della partizione dati, in modo che abbia un aspetto simile <instancename>-<datapartitionname>-<legaltagname>a .
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. Eseguire lo script prepare-records.sh.
  2. L'output è una matrice JSON con tutti gli oggetti e viene salvato nel all_records.json file.
  3. Salvare i filecollection_segy_id valori e work_product_id nel file JSON da usare nel passaggio di conversione. In questo modo il convertitore sa dove cercare questo contenuto di all_records.json.

Nota

Il all_records.json file deve inoltre contenere dati appropriati per ogni elemento.

Esempio: i parametri seguenti vengono usati per calcolare le coordinate ZGY per SeismicBinGrid:

  • P6BinGridOriginEasting
  • P6BinGridOriginI
  • P6BinGridOriginJ
  • P6BinGridOriginNorthing
  • P6ScaleFactorOfBinGrid
  • P6BinNodeIncrementOnIaxis
  • P6BinNodeIncrementOnJaxis
  • P6BinWidthOnIaxis
  • P6BinWidthOnJaxis
  • P6MapGridBearingOfBinGridJaxis
  • P6TransformationMethod
  • persistableReferenceCrsasIngestedCoordinates dal blocco Se ha SeismicBinGrid i parametri P6 e crS specificati in AsIngestedCoordinates, la conversione stessa dovrebbe essere in grado di completare correttamente, ma Petrel non comprenderà la geometria del sondaggio del file a meno che non ottenga anche i 5 punti di angolo sotto SpatialArea,AsIngestedCoordinatesSpatialArea , e Wgs84Coordinates.

Token accesso

L'utente deve far parte del users.datalake.admins gruppo. Convalidare i diritti correnti per l'utente usando la chiamata seguente:

Screenshot che mostra la chiamata API per ottenere i gruppi di utenti in Postman.

Più avanti in questa esercitazione è necessario almeno uno owner e almeno un viewer. Questi gruppi di utenti hanno un aspetto simile data.default.owners a e data.default.viewers. Assicurarsi di annotare uno di ognuno di essi nell'elenco.

Se l'utente non fa parte del gruppo richiesto, è possibile aggiungere il diritto richiesto usando la chiamata di esempio seguente: email-id: è il valore "ID" restituito dalla chiamata precedente.

Screenshot che mostra la chiamata API per ottenere la registrazione di un utente come amministratore in Postman.

Se non sono ancora stati creati gruppi di diritti, seguire le istruzioni descritte in Come gestire gli utenti. Per visualizzare i gruppi disponibili, usare Get entitlements groups per un determinato utente. L'isolamento dell'accesso ai dati viene ottenuto con questo ACL dedicato (elenco di controllo di accesso) per oggetto all'interno di una determinata partizione di dati.

Preparare un sottoprogetto

1. Registrare la partizione dei dati in Seismic

Screenshot che mostra la chiamata API per registrare una partizione di dati come tenant sismico in Postman.

2. Creare un sottoprogetto

Usare i gruppi di diritti creati in precedenza da aggiungere come amministratori e visualizzatori ACL (elenco Controllo di accesso). I diritti di partizione dati non vengono necessariamente convertiti nei sottoprogetti al suo interno, quindi è importante essere espliciti sugli ACL per ogni sottoprogetto, indipendentemente dalla partizione di dati in cui si trova.

Screenshot che mostra la chiamata API per creare un sottoprogetto sismico in Postman.

3. Creare un set di dati

Nota

Questo passaggio è obbligatorio solo se non si usano sdutil per caricare i file sismici.

Screenshot che mostra la chiamata API per creare un set di dati sismico in Postman.

Caricare il file

Esistono due modi per caricare un file edizione Standard GY. Viene usata l'opzione sasurl tramite postman/chiamata curl. È necessario scaricare Postman o configurare Curl nel sistema operativo. Il secondo metodo consiste nell'usare SDUTIL. Per accedere all'istanza di ADME tramite lo strumento , è necessario generare un token di aggiornamento per l'istanza di . Vedere Come generare il token di autenticazione. In alternativa, è possibile modificare il codice di SDUTIL in modo da usare le credenziali client per l'accesso. Se non è già stato fatto, è necessario configurare SDUTIL. Scaricare la codebase e modificare nella config.yaml radice. Sostituire il contenuto di questo file di configurazione con il codice yaml seguente.

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

Metodo 1: Postman

Ottenere il sasurl:

Screenshot che mostra la chiamata API per ottenere un URL di caricamento GCS in Postman.

Caricare il file:

È necessario selezionare il file da caricare nella sezione Corpo della chiamata API.

Screenshot che mostra la chiamata API per caricare un file in Postman.

Screenshot che mostra la chiamata API per caricare un file binario in Postman.

Verificare il caricamento

Screenshot che mostra la chiamata API per verificare che un file binario sia caricato in Postman.

Metodo 2: SDUTIL

sdutil è un'utilità desktop OSDU per accedere al servizio sismico. Viene usato per caricare/scaricare file. Usare il tag azure-stable di SDUTIL.

Nota

Quando si esegue python sdutil config init, non è necessario immettere alcun elemento quando richiesto con Insert the azure (azureGlabEnv) application key:.

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

Caricare il file sismico nell'archivio Sismico. Ecco un esempio con un file di formato EDIZIONE STANDARD GY denominato source.segy:

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

Ad esempio:

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

Creare record Archiviazione

Inserire il contenuto del all_records.json file nella risorsa di archiviazione per il prodotto di lavoro, i dati di traccia sismica, la griglia sismica e la raccolta di file. Copiare e incollare il contenuto del file nel corpo della richiesta della chiamata API.

Screenshot che mostra la chiamata API per creare record di archiviazione in Postman.

Run Converter

  1. Attivare il dag di conversione ZGY per convertire i dati usando i valori del contesto di esecuzione salvati in precedenza.

    Recuperare il token ID da sdutil per il file caricato o usare un token di accesso/connessione da Postman.

python sdutil auth idtoken

Screenshot che mostra la chiamata API per avviare il flusso di lavoro di conversione in Postman.

  1. Consentire l'esecuzione del dag allo succeeded stato. È possibile controllare lo stato usando la chiamata di stato del flusso di lavoro. L'ID esecuzione si trova nella risposta della chiamata precedente

Screenshot che mostra la chiamata API per controllare lo stato del flusso di lavoro di conversione in Postman.

  1. È possibile verificare se il file convertito è presente usando il comando seguente in sdutil o nella chiamata API Postman:

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

Screenshot che mostra la chiamata API per verificare se il file è stato convertito.

  1. È possibile scaricare ed esaminare il file usando il comando sdutilcp :

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

OSDU® è un marchio di The Open Group.

Passaggi successivi