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
- Una sottoscrizione di Azure
- Istanza di Azure Data Manager for Energy creata nella sottoscrizione di Azure.
- Un file edizione Standard G-Y
- È possibile usare uno dei file seguenti dal set di dati Volve come test. Il set di dati Volve stesso è disponibile da Equinor.
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:
Scaricare e installare l'app desktop Postman .
Importare i file seguenti in Postman:
Per importare i file:
- Selezionare Importa in Postman.
- Incollare l'URL di ogni file nella casella di ricerca.
Nell'ambiente Postman aggiornare CURRENT VALUE con le informazioni fornite da Azure Data Manager per i dettagli dell'istanza di Energia
Nel menu a sinistra in Postman selezionare Ambienti e quindi selezionare edizione Standard GYtoZGY Environment.
Nella colonna VALORE CORRENTE immettere le informazioni descritte nella tabella in 'Ottenere i dettagli dell'istanza di Azure Data Manager for Energy'.
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 .
Creare 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:
- Clonare il repository e passare alla cartella
doc/sample-records/volve
- 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>
- Eseguire lo script
prepare-records.sh
. - L'output è una matrice JSON con tutti gli oggetti e viene salvato nel
all_records.json
file. - Salvare i
filecollection_segy_id
valori ework_product_id
nel file JSON da usare nel passaggio di conversione. In questo modo il convertitore sa dove cercare questo contenuto diall_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
persistableReferenceCrs
asIngestedCoordinates
dal blocco Se haSeismicBinGrid
i parametri P6 e crS specificati inAsIngestedCoordinates
, 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 sottoSpatialArea
,AsIngestedCoordinates
SpatialArea
, eWgs84Coordinates
.
Token accesso
L'utente deve far parte del users.datalake.admins
gruppo. Convalidare i diritti correnti per l'utente usando la chiamata seguente:
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.
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
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.
3. Creare un set di dati
Nota
Questo passaggio è obbligatorio solo se non si usano sdutil
per caricare i file sismici.
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:
Caricare il file:
È necessario selezionare il file da caricare nella sezione Corpo della chiamata API.
Verificare il caricamento
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.
Run Converter
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
- 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
È 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>
È possibile scaricare ed esaminare il file usando il comando sdutil
cp
:python sdutil cp sd://<data-partition-id>/<subproject>/<filename.zgy> <local/destination/path>
OSDU® è un marchio di The Open Group.