Outils en ligne de commande

La bibliothèque PyCTOH permet l’accès rapide et facile en ligne de commande au contenu de la base de données CTOH.

Cette bibliothèque est accessible au utilisateur appartenant au groupe usrcto sur les serveurs du LEGOS (santo et malo) et sur le serveur du CTOH (boto).

Le chargement de cette bibliothèque se fait, comme ci-dessous, à l’aide de la commande module.

> module purge        # Remove all loaded module
> module load pyctoh  # Load PyCTOH module

Une fois que le module chargé, vous avez accès aux outils PyCTOH grace à la commande : alt

Voici ci dessous les 3 fonctionnalitées de cette commande:

info:

fourni des informations sur la base de données.

tracks:

fourni des informations sur les traces des missions.

extract:

permet d’extraire des données altimètriques de la base de données.

Info

Cette fonctionalité permet d’afficher des informations de la base de données et de son contenu. Elle est accessible à l’aide de la sous-commande info de la commande alt. Ci dessous, l’affichage de l’aide (option -h) pour la sous-commande info:

 alt info -h
usage: alt info [-h] {env,mission,product} ...

optional arguments:
  -h, --help            show this help message and exit

info:
  information on environment configuration

  {env,mission,product}
    env                 environment information
    mission             information on missions
    product             information on products

Trois types d’informations sont disponibles:

  • env : renvoi des informations sur les variables d’environnements de la base de données

 alt info env
CTOH Database configuration:
--------------------------------------------------------------------------------
 Catalogue : /ctoh/data/db/catalogue_yml/ctoh_products_base.yml
 Metadata directory : /ctoh/data/db/catalogue_yml/metadb
 ALT_CATALOGUE : /ctoh/data/db/catalogue_yml/ctoh_products_base.yml
 CTOH_SHARED_DATA : /ctoh/data/shared
 Mode : yml
--------------------------------------------------------------------------------
  • mission : renvoi des informations sur les missions altimètriques disponibles en base

    • La liste des missions

     alt info mission
      |    Mission    | Phase |   Start    |    End     |
    --+---------------+-------+------------+------------|
    1 |   Cryosat-2   |   B   | 2010-07-16 | 2021-02-25 |
    2 |    Envisat    |   A   | 2002-05-14 | 2010-10-23 |
    3 |    Envisat    |   B   | 2010-10-26 | 2012-04-08 |
    4 |     ERS-2     |   A   | 1995-05-17 | 2003-11-24 |
    5 |    Jason-1    |   A   | 2002-01-15 | 2009-01-26 |
    6 |    Jason-1    |   B   | 2009-02-10 | 2012-03-03 |
    7 |    Jason-1    |   C   | 2012-05-07 | 2013-06-21 |
    8 |    Jason-2    |   A   | 2008-07-04 | 2016-10-02 |
    9 |    Jason-2    |   B   | 2016-10-13 | 2017-05-17 |
    10|    Jason-2    |   C   | 2017-07-11 | 2018-07-18 |
    11|    Jason-2    |   D   | 2018-07-25 | 2019-10-01 |
    12|    Jason-3    |   A   | 2016-09-12 | 2020-09-29 |
    13|    Jason-3    |   B   | 2022-04-25 | 2022-12-03 |
    14|  Sentinel-3A  |   A   | 2016-03-01 | 2022-12-30 |
    15|  Sentinel-3B  |   A   | 2018-05-11 | 2018-11-27 |
    16|  Sentinel-3B  |   B   | 2018-11-28 | 2023-01-08 |
    17|  Sentinel-6A  |   A   | 2020-12-17 | 2022-11-11 |
    18|     Saral     |   A   | 2013-03-14 | 2016-07-04 |
    19|     Saral     |   B   | 2016-07-04 | 2022-12-05 |
    20|     Topex     |   A   | 1992-12-21 | 2002-06-22 |
    -----------------------------------------------------
    
    • Détailles des produits dispinibles pour la mission Jason-1

     alt info mission jason-1
      |    Mission    | Phase |   Start    |    End     |
    --+---------------+-------+------------+------------|
    1 |    Jason-1    |   A   | 2002-01-15 | 2009-01-26 |
    2 |    Jason-1    |   B   | 2009-02-10 | 2012-03-03 |
    3 |    Jason-1    |   C   | 2012-05-07 | 2013-06-21 |
    -----------------------------------------------------
    
    • Ou encore, la liste des produits pour les missions jason

     alt info mission jason
      |    Mission    | Phase |   Start    |    End     |
    --+---------------+-------+------------+------------|
    1 |    Jason-1    |   A   | 2002-01-15 | 2009-01-26 |
    2 |    Jason-1    |   B   | 2009-02-10 | 2012-03-03 |
    3 |    Jason-1    |   C   | 2012-05-07 | 2013-06-21 |
    4 |    Jason-2    |   A   | 2008-07-04 | 2016-10-02 |
    5 |    Jason-2    |   B   | 2016-10-13 | 2017-05-17 |
    6 |    Jason-2    |   C   | 2017-07-11 | 2018-07-18 |
    7 |    Jason-2    |   D   | 2018-07-25 | 2019-10-01 |
    8 |    Jason-3    |   A   | 2016-09-12 | 2020-09-29 |
    9 |    Jason-3    |   B   | 2022-04-25 | 2022-12-03 |
    -----------------------------------------------------
    
  • product : renvoi les informations sur les produits disponible en base

    • Toute la liste des produits

     alt info product
      |         Product         |   Start    |    End     |1srt Cyc. |last Cyc. |
    --+-------------------------+------------+------------+----------+----------|
    1 |     cs2_b_gop_c_gdr     | 2010-07-16 | 2021-02-25 |    1     |    19    |
    2 |     cs2_b_ice_d_gdr     | 2012-01-01 | 2020-04-09 |    2     |    10    |
    3 |  env_a_esa_v0300_sgdr   | 2002-05-14 | 2010-10-23 |    6     |    94    |
    4 |  env_b_esa_v0300_sgdr   | 2010-10-26 | 2012-04-08 |    95    |   113    |
    5 |  ers2_a_ctoh_v0100_gdr  | 1995-05-17 | 2003-11-24 |    1     |    89    |
    6 |    ja1_a_cnes_e_gdr     | 2002-01-15 | 2009-01-26 |    1     |   259    |
    7 |    ja1_a_cnes_e_sgdr    | 2002-01-15 | 2009-01-26 |    1     |   259    |
    8 |    ja1_b_cnes_e_sgdr    | 2009-02-10 | 2012-03-03 |   262    |   374    |
    9 |    ja1_c_cnes_e_sgdr    | 2012-05-07 | 2013-06-21 |   500    |   537    |
    10|    ja2_a_cnes_d_gdr     | 2008-07-04 | 2016-10-02 |    0     |   303    |
    11|    ja2_a_cnes_d_sgdr    | 2008-07-04 | 2016-10-02 |    0     |   303    |
    12|    ja2_b_cnes_d_gdr     | 2016-10-13 | 2017-05-17 |   305    |   327    |
    13|    ja2_b_cnes_d_sgdr    | 2016-10-13 | 2017-05-17 |   305    |   327    |
    14|    ja2_c_cnes_d_sgdr    | 2017-07-11 | 2018-07-18 |   500    |   537    |
    15|    ja2_d_cnes_d_sgdr    | 2018-07-25 | 2019-10-01 |   600    |   644    |
    16|    ja3_a_cnes_%_sgdr    | 2016-09-12 | 2020-09-29 |    22    |   170    |
    17|    ja3_a_cnes_f_sgdr    | 2016-02-12 | 2022-04-07 |    0     |   227    |
    18|    ja3_b_cnes_f_sgdr    | 2022-04-25 | 2022-12-03 |   300    |   322    |
    19|    s3a_a_lan_%_sgdr     | 2016-03-01 | 2022-12-30 |    1     |    93    |
    20|    s3a_a_wat_%_sgdr     | 2016-03-01 | 2023-01-07 |    1     |    94    |
    21|    s3b_a_lan_%_sgdr     | 2018-05-11 | 2018-11-27 |    3     |    19    |
    22|    s3b_a_wat_%_sgdr     | 2018-05-08 | 2018-11-27 |    2     |    19    |
    23|    s3b_b_lan_%_sgdr     | 2018-11-28 | 2023-01-08 |    19    |    74    |
    24|    s3b_b_wat_%_sgdr     | 2018-11-27 | 2023-01-07 |    19    |    74    |
    25|     s6a_a_lrm_%_gdr     | 2020-12-17 | 2022-11-11 |    4     |    73    |
    26|    s6a_a_lrm_f06_gdr    | 2020-12-17 | 2022-08-15 |    4     |    65    |
    27|    s6a_a_lrm_f07_gdr    | 2022-08-15 | 2023-01-10 |    65    |    79    |
    28|     s6a_a_sar_%_gdr     | 2020-12-17 | 2022-11-11 |    4     |    73    |
    29|    s6a_a_sar_f06_gdr    | 2020-12-17 | 2022-08-15 |    4     |    65    |
    30|    s6a_a_sar_f07_gdr    | 2022-08-15 | 2023-01-10 |    65    |    79    |
    31|    srl_a_cnes_f_sgdr    | 2013-03-14 | 2016-07-04 |    1     |    35    |
    32|    srl_b_cnes_f_sgdr    | 2016-07-04 | 2022-12-05 |   100    |   166    |
    33|  tpx_a_cash_v0220_gdr   | 1992-12-21 | 2002-06-22 |    10    |   359    |
    -----------------------------------------------------------------------------
    
    • Avec plus de détailles : option -v

     alt -v info product
      |         Product         |         Version         | Phase |   Orbit    |   Start    |    End     |1srt Cyc. |last Cyc. | GDR type
    --+-------------------------+-------------------------+-------+------------+------------+------------+----------+----------+------------------------------
    1 |     cs2_b_gop_c_gdr     |  GOP, Baseline C, GDR   |   B   |   Repeat   | 2010-07-16 | 2021-02-25 |    1     |    19    | ['gdr']
    2 |     cs2_b_ice_d_gdr     |  ICE, Baseline D, GDR   |   B   |   Repeat   | 2012-01-01 | 2020-04-09 |    2     |    10    | ['gdr']
    3 |  env_a_esa_v0300_sgdr   |       v3.0, SGDR        |   A   |   Repeat   | 2002-05-14 | 2010-10-23 |    6     |    94    | ['sgdr', 'ctoh2']
    4 |  env_b_esa_v0300_sgdr   |       v3.0, SGDR        |   B   |  Drifting  | 2010-10-26 | 2012-04-08 |    95    |   113    | ['sgdr', 'ctoh2']
    5 |  ers2_a_ctoh_v0100_gdr  |        v1.0, GDR        |   A   |   Repeat   | 1995-05-17 | 2003-11-24 |    1     |    89    | ['gdr', 'ctoh1', 'ctoh2', 'ctoh3', 'ctoh_hr', 'ers2.r', 'normpass']
    6 |    ja1_a_cnes_e_gdr     |       GDR-E, GDR        |   A   |   Repeat   | 2002-01-15 | 2009-01-26 |    1     |   259    | ['gdr', 'ctoh1', 'ctoh2', 'fes14', 'gpd', 'l2p', 'normpass']
    7 |    ja1_a_cnes_e_sgdr    |       GDR-E, GDR        |   A   |   Repeat   | 2002-01-15 | 2009-01-26 |    1     |   259    | ['sgdr']
    8 |    ja1_b_cnes_e_sgdr    |       GDR-E, GDR        |   B   |   Repeat   | 2009-02-10 | 2012-03-03 |   262    |   374    | ['sgdr']
    9 |    ja1_c_cnes_e_sgdr    |       GDR-E, GDR        |   C   |   Repeat   | 2012-05-07 | 2013-06-21 |   500    |   537    | ['sgdr']
    10|    ja2_a_cnes_d_gdr     |       GDR-D, GDR        |   A   |   Repeat   | 2008-07-04 | 2016-10-02 |    0     |   303    | ['gdr', 'ctoh1', 'ctoh2', 'ctoh_hr', 'gpd', 'normpass']
    11|    ja2_a_cnes_d_sgdr    |       GDR-D, SGDR       |   A   |   Repeat   | 2008-07-04 | 2016-10-02 |    0     |   303    | ['sgdr', 'ctoh2']
    12|    ja2_b_cnes_d_gdr     |       GDR-D, GDR        |   B   |  Drifting  | 2016-10-13 | 2017-05-17 |   305    |   327    | ['gdr', 'ctoh2', 'gpd']
    13|    ja2_b_cnes_d_sgdr    |       GDR-D, SGDR       |   B   |  Drifting  | 2016-10-13 | 2017-05-17 |   305    |   327    | ['sgdr', 'ctoh2']
    14|    ja2_c_cnes_d_sgdr    |       GDR-D, SGDR       |   C   |  Drifting  | 2017-07-11 | 2018-07-18 |   500    |   537    | ['sgdr', 'ctoh2']
    15|    ja2_d_cnes_d_sgdr    |       GDR-D, SGDR       |   D   |  Drifting  | 2018-07-25 | 2019-10-01 |   600    |   644    | ['sgdr', 'ctoh2']
    16|    ja3_a_cnes_%_sgdr    |   GDR-T, GDR-D, SGDR    |   A   |   Repeat   | 2016-09-12 | 2020-09-29 |    22    |   170    | ['gdr', 'ales', 'ctoh2', 'gpd', 'normpass', 'rads']
    17|    ja3_a_cnes_f_sgdr    |       GDR-F, SGDR       |   A   |   Repeat   | 2016-02-12 | 2022-04-07 |    0     |   227    | ['sgdr']
    18|    ja3_b_cnes_f_sgdr    |       GDR-F, SGDR       |   B   |   Repeat   | 2022-04-25 | 2022-12-03 |   300    |   322    | ['sgdr']
    19|    s3a_a_lan_%_sgdr     |    Baseline D, LAND     |   A   |   Repeat   | 2016-03-01 | 2022-12-30 |    1     |    93    | ['sgdr', 'ctoh2']
    20|    s3a_a_wat_%_sgdr     |    Baseline D, WATER    |   A   |   Repeat   | 2016-03-01 | 2023-01-07 |    1     |    94    | ['sgdr', 'ctoh2']
    21|    s3b_a_lan_%_sgdr     |    Baseline D, LAND     |   A   |   Repeat   | 2018-05-11 | 2018-11-27 |    3     |    19    | ['sgdr', 'ctoh2']
    22|    s3b_a_wat_%_sgdr     |    Baseline D, WATER    |   A   |   Repeat   | 2018-05-08 | 2018-11-27 |    2     |    19    | ['sgdr', 'ctoh2']
    23|    s3b_b_lan_%_sgdr     |    Baseline D, LAND     |   B   |   Repeat   | 2018-11-28 | 2023-01-08 |    19    |    74    | ['sgdr', 'ctoh2']
    24|    s3b_b_wat_%_sgdr     | Baseline D, WATER, SGDR |   B   |   Repeat   | 2018-11-27 | 2023-01-07 |    19    |    74    | ['sgdr', 'ctoh2']
    25|     s6a_a_lrm_%_gdr     |     F06, F07, (LRM)     |   A   |   Repeat   | 2020-12-17 | 2022-11-11 |    4     |    73    | ['gdr']
    26|    s6a_a_lrm_f06_gdr    |        F06 (LRM)        |   A   |   Repeat   | 2020-12-17 | 2022-08-15 |    4     |    65    | ['gdr']
    27|    s6a_a_lrm_f07_gdr    |        F07 (LRM)        |   A   |   Repeat   | 2022-08-15 | 2023-01-10 |    65    |    79    | ['gdr']
    28|     s6a_a_sar_%_gdr     |     F06, F07, (SAR)     |   A   |   Repeat   | 2020-12-17 | 2022-11-11 |    4     |    73    | ['gdr']
    29|    s6a_a_sar_f06_gdr    |        F06 (SAR)        |   A   |   Repeat   | 2020-12-17 | 2022-08-15 |    4     |    65    | ['gdr']
    30|    s6a_a_sar_f07_gdr    |        F07 (SAR)        |   A   |   Repeat   | 2022-08-15 | 2023-01-10 |    65    |    79    | ['gdr']
    31|    srl_a_cnes_f_sgdr    |       GDR-F, SGDR       |   A   |   Repeat   | 2013-03-14 | 2016-07-04 |    1     |    35    | ['sgdr']
    32|    srl_b_cnes_f_sgdr    |       GDR-F, SGDR       |   B   |  Drifting  | 2016-07-04 | 2022-12-05 |   100    |   166    | ['sgdr']
    33|  tpx_a_cash_v0220_gdr   |        v2.2, GDR        |   A   |   Repeat   | 1992-12-21 | 2002-06-22 |    10    |   359    | ['gdr', 'ctoh2']
    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    
    • Seulement avec les produits ja1

     alt -v info product ja1
      |         Product         |         Version         | Phase |   Orbit    |   Start    |    End     |1srt Cyc. |last Cyc. | GDR type
    --+-------------------------+-------------------------+-------+------------+------------+------------+----------+----------+------------------------------
    1 |    ja1_a_cnes_e_gdr     |       GDR-E, GDR        |   A   |   Repeat   | 2002-01-15 | 2009-01-26 |    1     |   259    | ['gdr', 'ctoh1', 'ctoh2', 'fes14', 'gpd', 'l2p', 'normpass']
    2 |    ja1_a_cnes_e_sgdr    |       GDR-E, GDR        |   A   |   Repeat   | 2002-01-15 | 2009-01-26 |    1     |   259    | ['sgdr']
    3 |    ja1_b_cnes_e_sgdr    |       GDR-E, GDR        |   B   |   Repeat   | 2009-02-10 | 2012-03-03 |   262    |   374    | ['sgdr']
    4 |    ja1_c_cnes_e_sgdr    |       GDR-E, GDR        |   C   |   Repeat   | 2012-05-07 | 2013-06-21 |   500    |   537    | ['sgdr']
    -----------------------------------------------------------------------------------------------------------------------------------------------------------
    
  • Recherche d’information sur des paramètres d’un produit. Exemple du produit ja1_a_cnes_e_gdr et les paramètres de range. La recherche des paramètres se fait avec l’option -p et la chaine de caractère *range*:

 alt info product s6a_a_sar_%_gdr -pdata_01/ku/range
{'gdr': {'data_01/ku/range_cor_doppler': {'comment': 'Doppler correction '
                                                     'computed with respect to '
                                                     'the mean sea surface / '
                                                     'geoid. It is applied to '
                                                     'the altimeter range',
                                          'coordinates': '/data_01/longitude '
                                                         '/data_01/latitude',
                                          'long_name': 'Doppler correction on '
                                                       'the altimeter range '
                                                       'computed with respect '
                                                       'to the mean sea '
                                                       'surface',
                                          'scale_factor': 0.0001,
                                          'source': 'xref_orbit + '
                                                    'xref_geoid_slopes',
                                          'units': 'm'},
         'data_01/ku/range_ocean': {'add_offset': 1300000.0,
                                    'comment': 'Range computed from the ocean '
                                               'retracker. It includes all '
                                               'instrumental corrections from '
                                               'net_instr_cor_range_ocean',
                                    'coordinates': '/data_01/longitude '
                                                   '/data_01/latitude',
                                    'long_name': 'corrected ocean altimeter '
                                                 'range',
                                    'quality_flag': 'range_ocean_qual',
                                    'scale_factor': 0.0001,
                                    'standard_name': 'altimeter_range',
                                    'units': 'm'},

Tracks

Cette fonctionalité permet trouver pour chaqu’un des produits les numéros de trace dans une région donnée. Elle est accessible à l’aide de la sous-commande tracks de la commande alt. Ci dessous, l’affichage de l’aide (option -h) pour la sous-commande tracks:

 alt tracks -h
usage: alt tracks [-h] product_name {region,nearest} ...

positional arguments:
  product_name      product referred to

optional arguments:
  -h, --help        show this help message and exit

product:
  product whose tracks are queried

  {region,nearest}
    region          Tracks crossing the given rectangular region
    nearest         Nearest track to given point

Deux possibilitées pour la détermination des numéros de trace :

  • region : renvoi les numéros de trace d’un produit passant dans une région qui est définie par des coordonnées géographique min et max d’un rectangle.

    • Numéros de trace de la mission Jason-1 à l’interieure du rectangle lon/lat min/max:

     alt tracks ja1_a_cnes_e_gdr region -G1.55,1.75  -L42.0,44.0
    tracks region ja1_a_cnes_e_gdr
    #### Jason-1 topex 1.55 1.75 42.0 44.0
    /ctoh/data/shared/tracks topex
    >>>>>>> path :  /ctoh/data/shared/tracks/topex
    2 tracks crossing the region : {70, 111}
    
    • Avec plus de détailles : option -v

     alt -v tracks ja1_a_cnes_e_gdr region -G1.55,1.75  -L42.0,44.0
    tracks region ja1_a_cnes_e_gdr
    #### Jason-1 topex 1.55 1.75 42.0 44.0
    /ctoh/data/shared/tracks topex
    >>>>>>> path :  /ctoh/data/shared/tracks/topex
    Segment 1 intersects track 111 at (lat,lon)=(43.372822,1.735552)
    Segment 1 intersects track 70 at (lat,lon)=(42.547038,-358.235236)
    Segment 3 intersects track 111 at (lat,lon)=(43.125436,1.532267)
    Segment 3 intersects track 70 at (lat,lon)=(42.794425,-358.433343)
    2 tracks crossing the region : {70, 111}
    
  • nearest : renvoi le numéro de trace d’un produit passant le plus proche d’un point définit par ces coordonnées géographiques.

    • Quelle est la trace du produit Jason-1 (ja1_a_cnes_e_gdr) passant la plus près de Toulouse (1.439706 43.607888)?

     alt -v tracks ja1_a_cnes_e_gdr nearest 1.439706 43.607888
    tracks nearest ja1_a_cnes_e_gdr
    /ctoh/data/shared/tracks topex
    >>>>>>> path :  /ctoh/data/shared/tracks/topex
    The nearest track to point lat=43.607888, lon=1.439706 is 111
    
    • Quelle est la trace ascendante du produit Jason-1 (ja1_a_cnes_e_gdr) passant la plus près de Toulouse (1.439706 43.607888)?

     alt tracks ja1_a_cnes_e_gdr nearest 1.439706 43.607888 --asc
    tracks nearest ja1_a_cnes_e_gdr
    /ctoh/data/shared/tracks topex
    >>>>>>> path :  /ctoh/data/shared/tracks/topex
    111
    
    • Quelle est la trace descendante du produit Jason-1 (ja1_a_cnes_e_gdr) passant la plus près de Toulouse (1.439706 43.607888)?

     alt tracks ja1_a_cnes_e_gdr nearest 1.439706 43.607888 --dsc
    tracks nearest ja1_a_cnes_e_gdr
    /ctoh/data/shared/tracks topex
    >>>>>>> path :  /ctoh/data/shared/tracks/topex
    70
    

Extract

Cette fonctionalité permet extraire des paramètres altimétriques de la base de données. Elle est accessible à l’aide de la sous-commande extract de la commande alt. Ci dessous, l’affichage de l’aide (option -h) pour la sous-commande extract:

 alt extract -h
usage: alt extract [-h] [-t TRACKS] [-c CYCLES] [--cfg_file CFG_FILE]
                   [-p PARAMS] [-o OUTPUT_DIR] [--prefix PREFIX] [--serial]
                   [--no_groups]
                   product {region,shapefile} ...

positional arguments:
  product               extract product

optional arguments:
  -h, --help            show this help message and exit
  -t TRACKS, --tracks TRACKS
                        Tracks list
  -c CYCLES, --cycles CYCLES
                        Cycles list
  --cfg_file CFG_FILE   Configuration file (yaml) with parameters list (tag
                        label : params)
  -p PARAMS, --params PARAMS
                        Parameters list
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        Output directory
  --prefix PREFIX       Prefix file
  --serial              Switch off multiprocess extraction.

Area:
  Area whose tracks are queried

  {region,shapefile}
    region              Tracks crossing the given rectangular region
    shapefile           Tracks crossing the given shapefile polygon

L’extraction de paramètres altimétriques de la base de données requière un minimum d’arguments qui peuvent varier en fonction des besions. Ici ci-dessous, voici quelques exemples d’usage…

  • Exemple n°1 :
    • Extraction du produit ja1_a_cnes_e_gdr dans la région toulousainne (region -G1.55,1.75 -L42.0,44.0)

    • L’option paramètre -p indique la liste de paramètres à extraire : lon,lat,time,range_20hz_ku

    • L’option cycle -c indique la liste des cycles à extraire : 50,60-63 (le cycle 50 et les cycles de 60 à 63)

    • L’option trace -t n’est ici pas necessaire car la selection par coordonnées géographiques calcul les numéros de traces à selectionner.

    • L’option répertoire ``-o`` est ici omit. Les fichiers d’extraction sont généré dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -plon,lat,time,range_20hz_ku -c50,60-63 region -G1.55,1.75  -L42.0,44.0
extract ja1_a_cnes_e_gdr
coord_extract {'lonmin': 1.55, 'lonmax': 1.75, 'latmin': 42.0, 'latmax': 44.0}
Selection cycle list is : [50, 60, 61, 62, 63]
Getting metadata...
Getting mission information...
Getting tracks to extract...
mission: topex
/ctoh/data/shared/tracks topex
>>>>>>> path :  /ctoh/data/shared/tracks/topex

topex
nb tracks per cycle: 254
nb turns per cycle : 10
orbit inclination  : 66.04°

Getting product file...
Found 10 files
Starting extraction
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP050_070_20030518_183730_20030518_193339.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP061_070_20030904_202117_20030904_211726.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP050_111_20030520_090218_20030520_095826.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP063_070_20030924_161819_20030924_171428.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP060_070_20030825_222246_20030825_231855.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP061_111_20030906_104605_20030906_114214.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP065_070_20031014_121521_20031014_131131.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP063_111_20030926_064306_20030926_073909.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP062_070_20030914_181948_20030914_191557.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP060_111_20030827_124733_20030827_134340.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP065_111_20031016_024010_20031016_033614.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP064_070_20031004_141650_20031004_151259.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP062_111_20030916_084436_20030916_094045.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP066_070_20031024_101355_20031024_111004.nc
fichier vide
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP066_111_20031026_003842_20031026_013444.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP064_111_20031006_044137_20031006_053742.nc
Writing file : /data/tmp7j/Test/JA1_GPN_2PeP067_070_20031103_081226_20031103_090837.nc
Ending extraction
Done processing
Empty files removed.

Avec les fichiers d’extraction, un fichier de description (files_desc.yml) est également généré. Il décrit le contenu de l’extraction :

 more files_desc.yml
coordinates:
  latmax: 44.0
  latmin: 42.0
  lonmax: 1.75
  lonmin: 1.55
cycles: '[50, 60, 61, 62, 63]'
date: Thu Aug  5 17:11:19 2021
filenames:
  50:
    70: JA1_GPN_2PeP050_070_20030518_183730_20030518_193339.nc
    111: JA1_GPN_2PeP050_111_20030520_090218_20030520_095826.nc
  60:
    70: JA1_GPN_2PeP060_070_20030825_222246_20030825_231855.nc
    111: JA1_GPN_2PeP060_111_20030827_124733_20030827_134340.nc
  61:
    70: JA1_GPN_2PeP061_070_20030904_202117_20030904_211726.nc
    111: JA1_GPN_2PeP061_111_20030906_104605_20030906_114214.nc
  62:
    70: JA1_GPN_2PeP062_070_20030914_181948_20030914_191557.nc
    111: JA1_GPN_2PeP062_111_20030916_084436_20030916_094045.nc
  63:
    70: JA1_GPN_2PeP063_070_20030924_161819_20030924_171428.nc
    111: JA1_GPN_2PeP063_111_20030926_064306_20030926_073909.nc
files_number: 10
institution: CTOH/LEGOS, UMR5566 CNRS-CNES-IRD-Universite de Toulouse III
mission: Jason-1
orbit: topex
output_directory: /data/tmp7j/Test/
product_name: ja1_a_cnes_e_gdr
pyctoh_version: hg698a2d3c4442
shapefile: null
source: altimetry radar
title: GDR or SGDR dataset supplied from CTOH database
  • Exemple n°2 :
    • Extraction du produit ja1_a_cnes_e_gdr

    • L’option paramètre -p indique la liste de paramètres à extraire : lon,lat,time,range_20hz_ku

    • L’option cycle ``-c`` est omit. Tous les cycles sont extrait.

    • L’option trace -t indique les numéros de trace à extraire : 100-105,180.

    • L’option répertoire -o est ici omit. Les fichiers d’extraction sont générer dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -plon,lat,time,range_20hz_ku -t100-105,180
  • Exemple n°3 :
    • Extraction du produit ja1_a_cnes_e_gdr

    • L’option paramètre -p indique la liste de paramètres à extraire : lon,lat,time,range_20hz_ku

    • L’option cycle ``-c`` est omit. Tous les cycles sont extrait.

    • L’option trace -t indique les numéros de trace à extraire : 100-105,180.

    • L’option répertoire -o est ici omit. Les fichiers d’extraction sont générer dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -plon,lat,time,range_20hz_ku -t100-105,180
  • Exemple n°4 :
    • Extraction du produit ja1_a_cnes_e_gdr

    • L’option paramètre -p indique la liste de paramètres à extraire : lon,lat,time, l2p:range ,wet_tropospheric_correction_model

      La recherche du paramètre se fait de manière prioritaire dans le produit de base (càd gdr, sgdr, sigdr) puis si le paramètre n’est pas trouvé, la racherche s’entend aux autres sous-produits (ctoh1, ctoh2, gdp, etc). Dans cet exemple les paramètres lon, lat, time et wet_tropospheric_correction_model sont recherché dans le produits de base GDR du produit ja1_a_cnes_e_gdr. Le paramètre wet_tropospheric_correction_model n’appartient pas au produit de base. Il est donc recherché dans les autres sous-produits. Le paramètre de l2p:range est force la selection du paramètre range dans le sous-produit l2p.

    • L’option cycle -c indique les cycles de 1 à 10

    • L’option trace -t indique les numéros de trace à extraire : 100-105,180.

    • L’option répertoire -o est ici omit. Les fichiers d’extraction sont générer dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -plon,lat,time,l2p:range,wet_tropospheric_correction_model -t109 -c1-10
  • Exemple n°5 :
    • Extraction du produit ja1_a_cnes_e_gdr

    • L’option paramètre -p indique la liste de paramètres à extrairelon,lat,time, l2p:/*

      L’expression du paramètre l2p:* permet l’extraction de tous les paramètre du sous-produit l2p

    • L’option cycle -c indique les cycles de 1 à 10

    • L’option trace -t indique les numéros de trace à extraire : 100-105,180.

    • L’option répertoire -o est ici omit. Les fichiers d’extraction sont générer dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -plon,lat,time,l2p:* -t109 -c1-10
  • Exemple n°6 :
    • Extraction du produit s6a_a_sar_%_gdr

    • L’option paramètre -p indique la liste de paramètres à extraire : data_01/longitude,data_01/latitude,data_01/time

    • L’option cycle -c indique les cycles de 1 à 10

    • L’option trace -t indique les numéros de trace à extraire : 100-105,180.

    • L’option répertoire -o est ici omit. Les fichiers d’extraction sont générer dans le répertoire courant.

 alt extract ja1_a_cnes_e_gdr -pdata_01/longitude,data_01/latitude,data_01/time -t109 -c1-10

Grid2track

Cette fonctionnalité permet d’interpoler des données en 2 dimensions (grillées) avec une trace altimètrique. Elle est accessible à l’aide de la commande grid2track de la commande alt. Ci-dessous, l’affichage de l’aide (option -h) :

 alt_grid2track --help
usage: alt_grid2track [-h] [-d] [-v] [--version] [--track_file TRACK_FILE] [--track_vars TRACK_VARS] --grid_file GRID_FILE
                      [--grid_vars GRID_VARS] -p CTOH_PRODUCT [-c CYCLES] [-t TRACKS] --ctoh_grid_var CTOH_GRID_VAR [--prefix PREFIX]
                      [-o OUTPUT_DIR] [--serial] [-a] [-f] [--info_ctoh_ext_data]

Interpolate gridded data to altimetry track.

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug_on_exception
                        invokes pdb on exception
  -v, --verbosity       increase output verbosity
  --version             show program's version number and exit
  --track_file TRACK_FILE
                        NetCDF altimetry track file pathname (like GDR file or X-TRACK file), -L and -G options are needed.
  --track_vars TRACK_VARS
                        Variables names of the coordinates (lon,lat,time) of the track file as followed order :
                        lon_name,lat_name,time_name.
  --grid_file GRID_FILE
                        NetCDF external gridded data file pathname, --grid_vars option is required.
  --grid_vars GRID_VARS
                        Variables names of the external data file as followed order : x_name_coord,y_name_coord,var_name.
  -p CTOH_PRODUCT, --ctoh_product CTOH_PRODUCT
                        Product name of the CTOH altimetry database. The options --cycles and --tracks have to be supplied.
                        Otherwise, all the product is going to be treated.
  -c CYCLES, --cycles CYCLES
                        Cycles list.
  -t TRACKS, --tracks TRACKS
                        Tracks list.
  --ctoh_grid_var CTOH_GRID_VAR
                        External data variable name defined into the CTOH external data STAC catalog.
  --prefix PREFIX       Set output filename prefix. Default prefix is external data parameter name (var_name).
  -o OUTPUT_DIR, --output_dir OUTPUT_DIR
                        Output directory. Default current directory.
  --serial              Switch off multiprocess processing.
  -a, --append_mode     Add grid2track var into an existing file.
  -f, --force_access    Force write access to an existing file. This option could be added at -p option if you wish to update
                        existing files that you are not the owner.
  --info_ctoh_ext_data  Return information about parameters available in the STAC catalog of CTOH external gridded data.

Hors environnement de la base

Pour faire une interpolation d’un fichier trace (créé par l’utilisateur) avec n’importe quelles données grillées.

 # grid2track --> dist2coast alt_grid2track --track_file test_data/products/ja2_a_cnes_d_gdr/cycle_013/gdr/JA2_GPN_2PdP013_074_20081110_212606_20081110_222219.nc
--track_vars lon,lat,time --grid_file /ctoh/data/shared/external_data/TOPO/DIST_TO_COAST_gshhg_v2.3.7_1mn/dist_to_coast_GSHHG_v2.3.7_1m.nc --grid_var lon,lat,z

❯ # grid2track --> mss alt_grid2track --track_file test_data/products/ja2_a_cnes_d_gdr/cycle_013/gdr/JA2_GPN_2PdP013_074_20081110_212606_20081110_222219.nc
--track_vars lon,lat,time --grid_file /ctoh/data/shared/external_data/MDT_MSS/MSS_CNES_CLS22/mss_cnes_cls_2022.nc --grid_var longitude,latitude,mssh

Dans l’environnement de la base

Pour faire l’interpolation d’une trace d’un produit de la base de données altimètrique avec des données grillées définies dans la base de données externes (STAC) du CTOH.

  • Liste des données externes disponible dans le catalogue STAC du CTOH

 alt_grid2track --info_ctoh_ext_data
############################### dist2coast_gshhg_v2.3.7_1m ###############################
Dimensions :
{'lon': {'type': 'spatial', 'axis': 'x', 'extent': [0.0, 360.0], 'reference_system': 4326}, 'lat': {'type': 'spatial', 'axis': 'y', 'extent': [-90.0, 90.0], 'reference_system': 4326}}
External data variable :
{'z': {'dimensions': ['lat', 'lon'], 'extent': [-2704.016, 2513.4473], 'type': 'data', 'units': None, 'description': 'z', 'scale_factor': None, 'add_offset': None, 'standard_name': None, 'dtype': 'float32'}}

----------------- Asset : dist2coast_gshhg_v2.3.7_1m -------------------------------
Metadata :
{'href': '../../TOPO/DIST_TO_COAST_gshhg_v2.3.7_1mn/dist_to_GSHHG_v2.3.7_1m.nc', 'type': 'application/x-hdf5', 'title': 'Distance to the nearest coastline', 'description': 'https://www.soest.hawaii.edu/pwessel/gshhg/, Version 2.3.7 Released June 15, 2017, source : GSHHG v2.3.7', 'version': 'v2.3.7_1m', 'release_date': '2017-06-15', 'roles': ['data']}
HREF : /ctoh/data/shared/external_data/TOPO/DIST_TO_COAST_gshhg_v2.3.7_1mn/dist_to_GSHHG_v2.3.7_1m.nc

############################### gebco_2014 ###############################
Dimensions :
{'lon': {'type': 'spatial', 'axis': 'x', 'extent': [-179.99583333333334, 179.99583333332703], 'reference_system': 4326}, 'lat': {'type': 'spatial', 'axis': 'y', 'extent': [-89.99583333333332, 89.99583333333334], 'reference_system': 4326}}
External data variable :
{'elevation': {'dimensions': ['lat', 'lon'], 'extent': [-10977.0, 8685.0], 'type': 'data', 'units': 'm', 'description': 'Elevation relative to sea level', 'scale_factor': '1.0', 'add_offset': '0.0', 'standard_name': 'height_above_reference_ellipsoid', 'dtype': 'int16'}}

----------------- Asset : gebco_2014 -------------------------------
Metadata :
{'href': '../../TOPO/TOPO_GEBCO/gebco_2014/GEBCO_2014_2D.nc', 'type': 'application/x-hdf5', 'title': 'Elevation relative to sea level', 'description': 'The GEBCO_2014 Grid - a continuous terrain model for oceans and land at 30 arc-second intervals. Information on the data set is available from the GEBCO project web pages: http://www.gebco.net/data_and_products/gridded_bathymetry_data/. The data in the GEBCO_2014 Grid should not be used for navigation or any purpose relating to safety at sea.', 'version': '20150318', 'release_date': '2015-03-18', 'roles': ['data']}
HREF : /ctoh/data/shared/external_data/TOPO/TOPO_GEBCO/gebco_2014/GEBCO_2014_2D.nc

############################### mdt_cnes_cls22_global ###############################
Dimensions :
{'longitude': {'type': 'spatial', 'axis': 'x', 'extent': [-179.9375, 179.9375], 'reference_system': 4326}, 'latitude': {'type': 'spatial', 'axis': 'y', 'extent': [-89.9375, 89.9375], 'reference_system': 4326}, 'time': {'type': 'temporal', 'extent': [19358.0, 19358.0]}, 'nv': {'type': 'geometry', 'extent': [0, 1]}}
External data variable :
{'mdt': {'dimensions': ['time', 'latitude', 'longitude'], 'extent': [-2147483647.0, 1.8218], 'type': 'data', 'units': 'm', 'description': 'Mean dynamic topography', 'scale_factor': '0.0001', 'add_offset': None, 'standard_name': 'mean_dynamic_topography', 'dtype': 'int32'}}
  • Exemple de traitement réalisé avec un produit de la base de données et des données externes disponible dans le catalogue STAC du CTOH

 alt_grid2track -p ja2_a_cnes_d_gdr -t10 -c150 --ctoh_grid_var dist2coast_gshhg_v2.3.7_1m
❯ alt_grid2track -p ja2_a_cnes_d_gdr -t10 -c150 --ctoh_grid_var mss_cnes_cls22