Comment convertir un fichier SEG-Y en oVDS

Dans cet article, vous allez apprendre à convertir des données mises en forme SEG-Y au format Open VDS (oVDS). Les données stockées sismiques au format SEG-Y standard de l’industrie peuvent être converties en oVDS pour une utilisation dans des applications telles que Petrel via le DMS Seismic. Voir la communauté OSDU® ici : Conversion SEG-Y en oVDS. Ce tutoriel est un guide pas à pas pour effectuer la conversion. Notez que le workflow de production réel peut différer. Utilisez cet article comme guide décrivant l’ensemble d’étapes requis pour effectuer la conversion.

Prérequis

Obtenir les détails de votre instance Azure Data Manager pour Energy

La première étape consiste à obtenir les informations suivantes auprès de votre instance Azure Data Manager pour Energy dans le Portail Azure :

Paramètre Valeur Exemple
client_id ID d’application (client) 3dbbbcc2-f28f-44b6-a5ab-xxxxxxxxxxxx
client_secret Clés secrètes client _fl******************
tenant_id ID de l’annuaire (locataire) 72f988bf-86f1-41af-91ab-xxxxxxxxxxxx
base_url URL https://<instance>.energy.azure.com
data-partition-id Partition(s) de données <data-partition-name>

Vous aurez besoin de cette information plus loin dans le tutoriel.

Configurer Postman

Configurez ensuite Postman :

  1. Téléchargez et installez l’application bureau Postman.

  2. Importez les fichiers suivants dans Postman :

    Pour importer les fichiers :

    1. Sélectionnez Importer dans Postman.

    Capture d’écran montrant le bouton Importer dans Postman.

    1. Collez l’URL de chaque fichier dans la zone de recherche.

    Capture d’écran montrant l’importation de fichiers de collection et d’environnement dans Postman via URL.

  3. Dans l’environnement Postman, mettez à jour CURRENT VALUE avec les détails de votre instance Azure Data Manager pour Energy.

    1. Dans le menu de gauche de Postman, sélectionnez Environments, puis SEGYtoVDS Environment.

    2. Dans la colonne CURRENT VALUE, entrez les informations décrites dans le tableau figurant dans « Obtenir les détails de votre instance Azure Data Manager pour Energy ».

    Capture d’écran montrant où entrer les valeurs actuelles dans l’environnement SEGYtoVDS.

Processus pas à pas pour convertir le fichier SEG-Y en fichier oVDS

La collection Postman fournie contient tous les exemples d’appels pour servir de guide. Vous pouvez également récupérer la commande cURL équivalente pour un appel Postman en cliquant sur le bouton Code.

Capture d’écran montrant le bouton Code dans Postman.

Capture d’écran de la création d’une étiquette juridique.

Préparer les fichiers de jeu de données

Ce fichier contient l’exemple Vector Header Mapping, et ce fichier contient l’exemple Storage Records pour la conversion VDS.

Accès utilisateur

L’utilisateur doit faire partie du groupe users.datalake.admins. Validez les droits actuels pour l’utilisateur à l’aide de l’appel suivant :

Capture d’écran montrant l’appel d’API pour obtenir des groupes d’utilisateurs dans Postman.

Plus loin dans ce tutoriel, vous aurez besoin d’au moins un owner et d’au moins un viewer. Ces groupes d’utilisateurs ressemblent à data.default.owners et data.default.viewers. Veillez à noter l’un de chaque dans vos listes.

Si l’utilisateur ne fait pas partie du groupe requis, vous pouvez ajouter le droit requis à l’aide de l’exemple d’appel suivant : email-id: est la valeur « ID » retournée par l’appel ci-dessus.

Capture d’écran montrant l’appel d’API pour inscrire un utilisateur en tant qu’administrateur dans Postman.

Si vous n’avez pas encore créé de groupes de droits, suivez les instructions indiquées dans Comment gérer les utilisateurs. Si vous souhaitez voir quels groupes vous avez, utilisez Obtenir des groupes de droits pour un utilisateur donné. L’isolation de l’accès aux données est réalisée grâce à cette ACL (liste de contrôle d’accès) dédiée par objet au sein d’une partition de données donnée.

Préparer le sous-projet

1. Inscrire la partition de données auprès de Seismic

Capture d’écran montrant l’appel d’API pour inscrire une partition de données en tant que locataire Seismic dans Postman.

2. Créer un sous-projet

Utilisez les groupes de droits créés précédemment que vous souhaitez ajouter en tant qu’administrateurs et lecteurs des listes de contrôle d’accès (ACL). Les droits d’une partition de données ne se reflètent pas nécessairement dans les sous-projets qui la composent. Il est donc important d’être explicite quant aux listes ACL de chaque sous-projet, quelle que soit la partition de données dans laquelle il se trouve.

Capture d’écran montrant l’appel d’API pour créer un sous-projet Seismic dans Postman.

3. Créer un jeu de données

Remarque

Cette étape n’est nécessaire que si vous n’utilisez pas sdutil pour charger les fichiers Seismic.

Capture d’écran montrant l’appel d’API pour créer un jeu de données Seismic dans Postman.

Charger le fichier

Il existe deux façons de charger un fichier SEGY. L’une des options consiste à utiliser la sasurl via l’appel curl / Postman. Vous devez télécharger Postman ou configurer Curl sur votre système d’exploitation. La deuxième méthode consiste à utiliser SDUTIL. Pour vous connecter à votre instance pour ADME via l’outil, vous devez générer un jeton d’actualisation pour l’instance. Consultez l’article Comment générer un jeton d’authentification. En guise d’alternative, vous pouvez modifier le code de SDUTIL de façon à utiliser les informations d’identification du client à la place pour vous connecter. Si ce n’est déjà fait, vous devez configurer SDUTIL. Téléchargez le codebase et modifiez le config.yaml à la racine. Remplacez le contenu du fichier de configuration par le yaml suivant.

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

Méthode 1 : Postman

Obtenez la sasurl :

Capture d’écran montrant l’appel d’API pour obtenir une URL de chargement GCS dans Postman.

Chargez le fichier :

Vous devez sélectionner le fichier à charger dans la section Body de l’appel d’API.

Capture d’écran montrant l’appel d’API pour charger un fichier dans Postman.

Capture d’écran montrant l’appel d’API pour charger un fichier binaire dans Postman.

Vérifier le chargement

Capture d’écran montrant l’appel d’API pour vérifier qu’un fichier binaire est chargé dans Postman.

Méthode 2 : SDUTIL

sdutil est un utilitaire de bureau OSDU permettant d’accéder au service Seismic. Nous l’utilisons pour charger/télécharger des fichiers. Utilisez l’étiquette azure-stable de SDUTIL.

Remarque

Lors de l’exécution de python sdutil config init, vous n’avez pas besoin d’entrer quoi que ce soit en réponse à l’invite Insert the azure (azureGlabEnv) application key:.

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

Chargez votre fichier sismique dans votre magasin Seismic. Voici un exemple avec un fichier au format SEGY appelé source.segy :

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

Par exemple :

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

Créer un mappage de vecteurs d’en-tête

Générer le mappage de vecteurs d’en-tête

Capture d’écran montrant l’appel d’API pour créer le mappage de vecteurs d’en-tête dans Postman.

Créer des enregistrements de stockage

Capture d’écran montrant l’appel d’API pour créer des enregistrements de stockage dans Postman.

Exécuter le convertisseur

  1. Déclenchez le DAG de conversion VDS pour convertir vos données à l’aide des valeurs de contexte d’exécution que vous avez enregistrées ci-dessus.

    Récupérez le jeton d’ID de sdutil pour le fichier chargé, ou utilisez un jeton d’accès/jeton du porteur à partir de Postman.

python sdutil auth idtoken

Capture d’écran montrant l’appel d’API pour démarrer le workflow de conversion dans Postman.

  1. Laissez le DAG s’exécuter jusqu’à l’état succeeded. Vous pouvez vérifier l’état à l’aide de l’appel d’état du workflow. L’ID d’exécution se trouve dans la réponse à l’appel ci-dessus.

Capture d’écran montrant l’appel d’API pour vérifier l’état du workflow de conversion dans Postman.

  1. Vous pouvez voir si le fichier converti est présent en exécutant la commande suivante dans sdutil ou dans l’appel d’API Postman :

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

Capture d’écran montrant l’appel d’API pour vérifier si le fichier a été converti.

  1. Vérifiez que les fichiers convertis sont présents à l’emplacement spécifié dans le déclencheur DAG ou non

    python sdutil ls sd://<data-partition-id>/<subproject>/
    
  2. Si vous souhaitez télécharger et inspecter vos fichiers VDS, n’utilisez pas la commande cp car elle ne fonctionnera pas. La conversion VDS génère plusieurs fichiers, par conséquent, la commande cp ne pourra pas télécharger toutes ces valeurs dans une seule commande. Utilisez plutôt l’outil SEGYExport ou VDSCopy. Ces outils utilisent une série d’appels REST qui accèdent à un schéma d’affectation de noms pour récupérer des informations sur tous les fichiers VDS résultants.

OSDU® est une marque déposée de The Open Group.

Étapes suivantes