Documentation  02/04/2002    Puech Dominique  Météo-France  CNRM/GMAP/OBS

Les informations suivantes concernent l'unite Odbtools, modifiée a météo-France pour Aladin et Canari
Les programmes sont disponibles sous ${pack_gco}/src/main/odb/odbport
Les procédures générales d'exécution sont sur kami  ~mrpa660/SRC/CYxx/EX_transf.ksh
      Ces procédures effectuent toutes les manipulations initiales nécessaires.
      Ces manipulations sont néanmoins expliquées
      répertoire des données $WORKDIR/DATA

Option TO_ODB_ECMWF=0 a Meteo-France

I. Les formats des bases

II. ECMASCR/ECMA - > ECMA   (shuffle)
  II.1. Eclatement
  II.2. Compactage
  II.3. Réduction

III. cmafile -> ECMA/ECMASCR  (to_odb)

IV. ECMASRC/ECMA-> cmafile  (to_ecma)

V. ECMA -> CCMA   (shuffle)
  V.1. Assimilation
  V.2. Canari

VI. CCMA -> ECMA  (matchup)

VII. Documentation CEP
  VII.1. shuffle / matchup


I. Les formats des bases

Les formats des bases de donnees ECMASCR ou ECMA sont identiques et de format ECMA (toutes les données)
  en opposition au format CCMA qui ne contient pas toutes les tables ni toutes les colonnes.
Les noms des fichiers d'informations sont différences  ECMASCR.dd, ECMASCR.sch et ECMA.dd, ECMA.sch
Il suffit de renommer ses fichiers d'informations pour qu'une base s'appelle ECMASCR ou ECMA


II. ECMASCR/ECMA - > ECMA

L'exécution ne tourne que de ECMASCR -> ECMA. Il faut 2 noms différents pour repérer chaque base.
Si la base initiale est de type ECMA (format ECMA) renommer les fichiers d'informations
    ECMA.dd -> ECMASCR.dd      ECMA.sch -> ECMASCR.sch

II.1. Eclatement

    Objet : augmentation du nombre de pools d'une base
    Cette augmentation se fait par coefficient multiplicatif par rapport au nombre de pool(s) initial

    shuffle -iECMASCR -oECMA -a$na -b$NPOOL -B${dat} -T${nbslot}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMASCR.dd)
    $NPOOL = coefficient multiplicatif          nb final de pools = $na * $NPOOL
    ${dat} = date des données  yyyymmddhhmnss  (ligne 4  de ECMASCR.dd sans le blanc)
    ${nbslot} = nb de timeslots  7 en 4dvar

    Utilisation de la procédure          base en sortie : $WORKDIR/DATA/ECMA
         option = 1
         base =  nom de la base initiale   type ECMASCR ou ECMA
         type = 4d  ou 3d
         NPOOL = valeur > 1

II.2. Compactage

    Objet : ramener les données d'une base sur un seul pool

    shuffle -iECMASCR -oECMA -a$na -b$NPOOL -B${dat} -T${nbslot}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMASCR.dd)
    $NPOOL = 0
    ${dat} = date des données  yyyymmddhhmnss  (ligne 4  de ECMASCR.dd sans le blanc)
    ${nbslot} = nb de timeslots  7 en 4dvar

    Utilisation de la procédure          base en sortie : $WORKDIR/DATA/ECMA
         option = 1
         base =  nom de la base initiale   type ECMASCR ou ECMA
         type = 4d  ou 3d
         NPOOL = 0

II.3. Réduction

    Objet : ne garder dans la base finale que les données subtype@hdr=1

    TO_ODB_REDUC=1
    shuffle -iECMASCR -oECMA -a$na -b$NPOOL -B${dat} -T${nbslot}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMASCR.dd)
    $NPOOL = 1   on conserve le meme nombre de pool(s)
    ${dat} = date des données  yyyymmddhhmnss  (ligne 4  de ECMASCR.dd sans le blanc)
    ${nbslot} = nb de timeslots  7 en 4dvar

    Utilisation de la procédure          base en sortie : $WORKDIR/DATA/ECMA
         option = 1
         TO_ODB_REDUC=1
         base =  nom de la base initiale   type ECMASCR ou ECMA
         type = 4d  ou 3d
         NPOOL = 1


III. cmafile -> ECMA

    La base créée est de type ECMASCR ou ECMA suivant l'initalisation de ODB_CMA en ECMASCR ou ECMA
      base de type ECMA en sortie avec la procédure
    Il est possible de créer une base CCMA (ODB_CMA=CCMA) a partie d'un cmafile compresse
      non implémenté dans la procédure

    to_odb  cmafile(s)   -> base avec autant de pools que de fichiers cma

    Utilisation de la procédure    utilisation avec 1 seul cmafile      base en sortie : $WORKDIR/DATA/ECMA
         option = 2
         cmafile =  nom du fichier cmafoc initial
         dat = yyyymmddhh   -> date inscrite sur ECMA.dd
         type = 4d  ou 3d
         NPOOL >=1  si supérieur a 1 la procédure effectue un éclatement après la création
         MXUP_TRAJ=3   utilisé pour agrandir le cmafile si fichier anterieur au 2000061918
             cette transformation peut-etre supprimee avec RUN_mandalay=0
         RUN_obsort=1  -> mise a jour des tslots


IV. ECMASRC/ECMA -> cmafile

    En final, il y aura autant de cmafile que de pools

    to_ecma cma    ->  fichiers cmafiles  nommés  cma.x   x= numéro du pool

    Utilisation de la procédure
         option = 3
         base =  nom de la base initiale   type ECMASCR ou ECMA
         type = 4d  ou 3d


V. ECMA -> CCMA

    Ce passage est effectuée sur des bases ayant "subi" le screening, seul le type ECMA est donc traité

V.1. Assimilation

    shuffle -iECMA -oCCMA -a$na -b${NPOOL} -B${dat} -T${nbslot}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMA.dd)
    ${NPOOL} = 1  conservation du nombre de pool(s)
    ${dat} = date des données  yyyymmddhhmnss  (ligne 4  de ECMA.dd sans le blanc)
    ${nbslot} = nb de timeslots  7 en 4dvar

    Utilisation de la procédure          base en sortie : $WORKDIR/DATA/CCMA
         option = 4
         base =  nom de la base initiale   type ECMA
         type = 4d  ou 3d

V.2. Canari

    TO_ODB_CANARI=1
    shuffle -iECMA -oCCMA -a$na -b${NPOOL} -B${dat} -T${nbslot}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMA.dd)
    ${NPOOL} = 1  conservation du nombre de pool(s)
    ${dat} = date des données  yyyymmddhhmnss  (ligne 4  de ECMA.dd sans le blanc)
    ${nbslot} = nb de timeslots  7 en 4dvar

    Utilisation de la procédure          base en sortie : $WORKDIR/DATA/CCMA
         option = 4
         base =  nom de la base initiale   type ECMA
         type = 4d  ou 3d
         TO_ODB_REDUC = 0  toutes données    TO_ODB_REDUC = 1   données actives
         TO_ODB_CANALT = 0  données sol      TO_ODB_CANALT = 1  données sol + altitude


VI. CCMA -> ECMA PB

  Le "matchup" remonte les données de la base CCMA - assimilation sur la base ECMA initial -> "ECMA cpl"

    shuffle -iCCMA -oECMA -a$na -b1 -T$nbslot -F${base}

    $na = nb de pool(s) de la base initiale   (ligne 5  de ECMA.dd ou CCMA.dd)
    ${nbslot} = nb de timeslots  7 en 4dvar
    ${base}   base dans laquelle est inclue la dernière trajectoire
        CCMA -> remontée de la valeur de an_depar

    Utilisation de la procédure
         option = 4
         base =  nom de la base initiale   format et type ECMA
         base_ccma = nom de la base assimilation  format CCMA

    Données remontées : (données actives)
         hdr = status, event1
         body = status, event1, anflag
         update = tout sauf fg_depar et les RMDI
         rtovs/atovs = predictor[14] (ts)


VII. Documentation CEP

VII.1. shuffle / matchup

    Usage: odbshuffle
          -i input_db
          -o output_db
          -a no. of (virtual) procs in A-dir  (default=no. of pools in input database)
          -b no. of (virtual) procs in B-dir  (default=1)
          -T no. of timeslots       (default=7 as in 6h 4DVar)
          -L date for left margin in YYYYMMDDHH (default=basetime - 3h)
          -R date for right margin in YYYYMMDDHH (default=basetime + 3h)
          -F ECMA or CCMA (final traj performed with ECMA=default or CCMA ?)
          -B analysis basetime in YYYYMMDDHH