EDITFST(1)

RPN UTILITY

EDITFST(1)

NAME

editfst version 3.0 (Mars 1992)
editfst2000 version 5.8+ (Juillet 2001)

USAGE

editfst [-s -d -sseq -dseq -i -l -e -v -vs -vd -c -nrecmin -k -m -n]

Exemples d'usage:
  • editfst
  • editfst -s input1 input2 input3 -d output0 -i command.dir -l out_list
  • editfst -s infile0 -d outfile0 -sseq -dseq
  • editfst2000 -s aaa bbb -d ccc -i cmd.dir

    DESCRIPTION

    Utilitaire d'edition et de copie pour fichiers standards RPN. Copie les fichiers de facon conforme ou de facon selective. La copie conforme se fait dans les conditions etablies par les cles de la sequence d'appel. La copie selective, sujette aux memes conditions, requiert des directives decrites dans un fichier nomme par la cle "-i" ou des directives provenant directement du "standard input"


    Definitions des cles de la sequence d'appel
    cledescription
    -s srcfile
    -s filea fileb filec
    un ou plusieurs (jusqu'a 35) noms de fichiers d'entrees; A partir d'ici et pour le reste du document, "srcfiles" sera utilise pour referer a ces fichiers. Les fichiers sources peuvent etre aussi definis avec l'argument "stdin" dans la directive STDCOPI
    -d dstfilele nom de la destination du fichier de sortie (resultat); A partir d'ici et pour le reste du document, "dstfile" sera utilise pour referer a ce fichier. Les fichiers destinations peuvent etre aussi definis avec l'argument "stdin" dans la directive STDCOPI
    -sseqles fichiers srcfiles sont du type SEQuentiel
    -dseqles fichiers dstfile sont du type SEQuentiel
    -i 0

    -i edit.dir
  • un "0" signifie aucune directive, copie complete de srcfiles vers dstfile.
  • Si la cle est absente, ce programme attend les directives de STDIN.
  • Si un nom de fichier est donne pour cette cle, ce programme va utiliser les directives ecrites dans ce fichier.
    (Les directives dirigent la copie selective des enregistrements des fichiers sources aux fichiers destinations. Les directives sont decrites dans le tableau en-bas.)
  • -l listingnom du fichier pour le STDOUT
    -e un enregistrement (RND) sera reecrit si ses descripteurs (NOM, TYPE, IP1, IP2, IP3,ETIKET sauf DATE) sont identiques a ceux de l'enregistrement a copier.
    -vmode verbeux, impression d'un message informatif (dans le style de l'utilitaire VOIR) pour chaque enregistrement ajoute au fichier dstfile
    -vsun VOIR des fichiers sources srcfiles fait a l'ouverture.
    -vdun VOIR du fichier destination dstfile fait a la fermeture
    -c 100Limite a 100 le nombre d'enregistrements a ajouter au fichier destination dstfile
    -nrecmin 100nombre minimum d'enregistrements attendu a ajouter au fichier destination dstfile. Si le nombre d'enregistrements ajoutes est moins que cette valueur, un status code non-zero sera retourne, autrement, il va retourner "0" (status code normal)
    -k fatalele niveau d'erreur minimum a avorter: 'fatale' ou 'errors'
    -m informle niveau desire pour les messages ou l'ecriture de diagnostiques: 'inform' ou 'errors' ou 'debugs'
    -nN'imprime pas la boite autour du message EXDB (debut) et EXFIN (fin) de l'execution.

    Description des Directives
  • Les directives ne doivent pas commencer dans la premiere colonne (Un caractere "C" dans la premiere colonne rend la ligne une ligne de commentaire)
  • L'application des directives est effectuee dans l'ordre sequentiel donc certaines directives affectent les directives subsequentes.
  • Directives Description et Usage
    DESIRE DESIRE(TYPVAR,NOMVAR,ETIKET,DATE,IP1, IP2,IP3)
    Copie (desire) les enregistrements selectionnes par ces 7 parametres specifies:
  • Exemples:
    desire(-1,-1,-1,-1,-1,-1,-1)
    desire('A','TT','REGIONAL',100185000,12000,6,0)
    desire('P',['UU','VV'], -1 ,-1 ,[1000.,750.],[0,12,18,24],-1)
    desire(['A','P'],'PN',-1,[100185000,@,100685120,DELTA,6],-1,-1,-1)
    desire(-1,'TT','GLOBAL',COMMUNE,-1,0,0)
    desire(-1,-1,-1,-1,[1.0,SIGMA],-1,-1)

  • TYPVAR: type de variable; 'A'(analyse),'P'(prevision),'X'
  • NOMVAR: nom du variable
  • ETIKET: l'etiquette enregistre d'integration originale
  • DATE: le date timestamp CMC ou le mot cle COMMUNE (qui calcule la date ou la periode par une directive "PERIODE")
  • IP1: le niveau d'un champ (en mb,eta,metres,etc.)
  • IP2: l'heure de la prevision (arrondie)
  • IP3: normalement la valeur zero
    NOTE: Pour appliquer les parametres des selections additionnels comme NI,NJ,NK,IG1,IG2,IG3,IG4,GRTYP, voir la directive CRITSUP en-bas

    Les parametres de selections peuvent etre exprimes sous les formes suivantes:
    (1) Cle universelle (-1). Ce qui signifie que le parametre n'est pas un critere de selection.
    (2) Valeur simple. Soit un nombre entier ou une 'chaine de caracteres'.
    (3) Liste explicite de 1 a 10 elements entre crochets comme [?,?,?]

  • Pour DATE,IP1,IP2,IP3, une periode donnee avec un format: [start,@,end], ou encore, avec les intervalles decrites par le cle 'DELTA' [start,@,end,DELTA,interval]
    Exemples pour DATE:
    Utilisez toujours 'r.date' pour avoir la date actuelle encodee en format CMC timestamp.
    a) [299823200,@,299888000,DELTA,6]
    De mai 22 2002,00Z a mai 25 2002, 00Z (inclus) chaque 6 heures
    b) [299969000,@]
    Une periode indefinie debutant le mai 28 2002,18Z(inclus).
    c) [@,299855600]
    Une periode indefinie jusqu'au mai 23 2002, 12Z(inclus).
    Exemples pour IP2:
    d) [@,120]
    Toutes les valeurs de IP2 jusqu'a 120h
    e) [12,@,48,DELTA,12]
    Toutes les valeurs de IP2 debutant 12h jusqu'a 48h, chaque 12h
    Exemples pour IP1:
    f) [@,12000]
    Toutes les valeurs de IP1 jusqu'a 12000
    g) [50,@,1000,DELTA,50]
    Toutes les valeurs de IP1 debutant 50 jusqu'a 1000, chaque 50mb

  • De plus, pour seulement IP1, (editfst2000 revision 5.84 ou plus recommandee), on peut definir le type de niveau et la valeur de niveau dans une paire: [valeur, type] Les types de niveau disponible sont:
    SIGMA (valeurs entre 0.0 a 1.0 inclusivement)
    MBAR (millibars)
    METERS(metres)
    OTHER
    HYBRID(valeurs entre 0.0 a 1.0 inclusivement)(revision 5.84 ou plus)

    Exemples:
    a) [100.,MBAR,750.,MBAR,1000.,MBAR]
    100 mb, 750 mb, 1000 mb
    b) [100.,MBAR,@,750.,MBAR,DELTA,50.,MBAR]
    De 100 mb a 750 mb,chaque 50mb
    c) [@,750.,MBAR]
    0 a 750 mb inclusivement
    c) [.859,SIGMA,1.0,SIGMA]
    niveaux sigma a 10590 et a 12000

    NOTE: L'absence de directive "DESIRE" et "EXCLURE" est interpretee comme une requete de copie integrale des fichier(s) srcfiles au fichier dstfile. La recherche d'enregistrements a copier dans un fichier, se fait dans tout le fichier s'il est a acces direct, ou depuis la position courante si il est sequentiel. Lorsqu'on en abrege la liste, les parametres non specifies prennent la valeur de la cle universelle (-1).
  • EXCLURE EXCLURE(TYPVAR,NOMVAR,ETIKET, DATE,IP1, IP2,IP3)
    Exclure ou a soustraire certaines des selections avec les 7 parametres.
  • Exemples:
    exclure(A,TT,'REGIONAL',299823200,12000,6,0)
  • Regardez "DESIRE" au-dessus pour la description des 7 parametres. Remarque cette directive affecte les directives "DESIRE" subsequentes.
  • CRITSUP CRITSUP(NI,NJ,NK,GRTYP, IG1,IG2,IG3,IG4)
    Ajoute 1 a 8 parametres de selection additionnels aux directives DESIRE et EXCLURE valides. (Cette directive affecte les appels DESIRE/EXCLURE subsequentes)
  • Exemples:
    critsup(400,200,-1,'G',-1,-1,-1,-1)
    exclure('A',-1,-1,-1,-1,-1,-1)
    desire(-1,['UU','VV'],-1,-1,-1,-1,-1)
    critsup(-1)
    desire(-1,'TT',-1,-1,-1,-1,-1)
  • NI: nombre de points dans I
  • NJ: nombre de points dans J
  • NK: nombre de points dans K
  • IG1: descripteur de grille 1
  • IG2: descripteur de grille 2
  • IG3: descripteur de grille 3
  • IG4: descripteur de grille 4
  • GRTYP: type de grille ('E','G','L',etc.)
    Les parametres de selection peuvent prendre sous les formes suivantes:
    (1) Cle universelle (-1). Ce qui signifie que le parametre n'est pas un critere de selection.
    (2) Valeur simple. Soit un nombre entier ou un caractere pour GRTYP.
    Le "critsup (-1)" annulera l'application des parametres de selection additionnels.
  • ZAP ZAP(TYPVAR,NOMVAR,ETIKET,DATE, IP1,IP2,IP3)
    Il sert a la modifier certain parametres des enregistrements a la copie.
  • Un enregistrement selectionne par les arguments d'une directive "DESIRE/EXCLURE" peut etre ecrit avec des arguments differentes. Seulement une valeur peut etre donnee pour chaque argument, contrairement aux directives DESIRE et EXCLURE. Les arguments differents de -1 sont des parametres de remplacement.
  • Exemples:
    desire(-1,'TT',-1,-1,-1,-1,-1)
    zap('A',-1,'GLBANAL',-1,-1,-1,-1)
    Dans cette exemple, il ecrit toutes les enregistrements 'TT' avec le parametre typvar d'une valeur 'A' et le parametre etiket d'une valeur 'GLBANAL'

    zap (-1,-1,'HELLO' ,-1,-1,-1,-1)
    desire (-1,'UU',-1,-1,-1,-1,-1)
    stdcopi (-1)
    zap ('A',-1,'GOODBYE',-1,-1,-1,-1)
    desire (-1,'TT',-1,-1,-1,-1,-1)
    stdcopi (-1)
    Dans cette exemple, il ecrit toutes les enregistrements 'UU' avec le parametre etiket d'une valeur 'HELLO'. Apres ca, il ecrit toutes les enregistrements 'TT' avec le parametre typvar d'une valeur 'A' et le parametre etiket d'une valeur 'GOODBYE'.
    NOTE: Lorsqu'on en abrege la liste, on assigne aux parametres manquants la valeur -1.
  • PERIODE PERIODE(DN, ECART, DUREE, DELTA)
    Predetermine une date ou une periode commune aux directives DESIRE et EXCLURE subsequentes ayant la cle universelle 'COMMUNE' a la place de l'argument DATE.
  • Exemples:
    PERIODE('OPRUN',6,240,6)
    desire(-1,'TT','GLOBAL',COMMUNE,-1,0,0)
    PERIODE(9930000,6,24,1)
    desire(-1,'UU','GLOBAL',COMMUNE,-1,0,0)
    PERIODE(-299823200,0,12,3)
    desire(-1,'VV','GLOBAL',COMMUNE,-1,0,0)
    PERIODE(#, 0, 0, 1)
    desire(-1,'WW','GLOBAL',COMMUNE,-1,0,0)
  • DN: Argument utilise dans l'appel a IOPDATM.
    Peut prendre une des formes suivantes:
    'OPRUN'- On obtient la date de la passe operationelle
    YYJJJZZ - Entier positif; year,julian day,zulu hr
    -CMCSTAMP - Entier negatif; CMC date timestamp (-299823200).
  • ECART: Nombre d'heures par lequel il faut modifiter la date retournee par IOPDATM pour determiner le debut de periode.
  • DUREE: Duree en heures de periode.
  • DELTA: Intervale en heures entre les dates desirees a partir du debut de periode. NOTE: Lorsqu'on en a abrege la liste, les arguments non specifies prennent la valeur par defaut.
  • DEBUG DEBUG=OUI/NON [ NON ]
    OUI: Meme signification que la CLE "-m debugs".
    NON: Annule l'effet d'une directive DEBUG=OUI ou de la CLE "-m".
    DIAG DIAG=OUI/NON [ NON ]
    OUI: Meme signification que la CLE "-m inform".
    NON: Annule l'effet d'une directive DIAG=OUI ou de la CLE "-m".
    ECR ECR=OUI/NON[ NON ]
    OUI: Meme signification que la CLE "-e".
    NON: Annule l'effet d'une directive ECR=OUI ou de la CLE "-e".
    LIMITE LIMITE = N [ -1 ]
    N > 0 Etablit a N le nombre d'enregistrements a copier dans dstfile.
    N < 0 Copie sans tenir compte du nombre de records ecrits dans dstfile.
    Meme comme le CLE "-c"
    VOIRD VOIRD = OUI/NON [ NON ]
    OUI: Meme signification que la CLE "-vd".
    NON: Annule l'effet d'une directive VOIRD=OUI ou de la CLE "-vd".
    VOIRS VOIRS = OUI/NON [ NON ]
    OUI: Meme signification que la CLE "-vs".
    NON: Annule l'effet d'une directive VOIRS=OUI ou de la CLE "-vs".
    FIXDATE FIXDATE = OUI/NON [ NON ]
    OUI: On assume que la date du premier enregistrement de srcfiles est valide pour tous les enregistrements du fichier.
    NON: Indique qu'il faut valider la date de chaque enregistrement dans srcfiles.
    SAUVDES SAUVDES = N [ O ] Controle la portee des demandes DESIRE ou EXCLURE apres la copie.
  • N =-1 Les DESIRE/EXCLURE restent valides.
  • N > 0 Les N premieres DESIRE/EXCLURE restent valides.
  • N = 0 Les DESIRE/EXCLURE ne sont plus valides.
  • REWINDS REWINDS(SFILE) [#]
  • Exemples:
    REWINDS('SEQFILE')
  • Ouvre le fichier sequentiel 'DNS' et le ramene au debut.
  • SFILE: Nom du fichier a rebobiner. ('nom')
  • STDCOPI STDCOPI(SFILE,TYPS,DFILE,TYPD) [#, -1, -1, -1]
  • Exemples:
    STDCOPI('SX', 'RND', 'yyy', 'RND')
    STDCOPI('SY', 'SEQ')
    STDCOPI('SZ')
  • Regardez aussi dans ZAP pour une autre exemple
  • Copie dans les conditions etablies par les directives anterieures une selection des enregistrements du fichier source dans le fichier destination.
  • SFILE: Nom du fichier source.
  • TYPS: Type du fichier source: 'RND' or 'SEQ'
  • DFILE: Nom du fichier destination.
  • TYPD: Type du fichier destination: 'RND', 'SEQ'
    NOTES:
    a) STDCOPI peut changer au vol les fichiers source et destination. b) Les noms et types de fichier ne changent pas si:
    -remplaces par -1 dans la liste des arguments
    -non specifies (liste d'arguments abregee)
    c)Si le fichier source est sequentiel, la recherche d'enregistrements a copier se fait depuis la position courante.
    d)Si le fichier destination est sequentiel, EDITFST y ecrit depuis la position courante.
    d)Le comportement de STDCOPI est bon pour editfst2000 a partir de version editfst_5.85 et plus. Il n'y a pas du probleme pour editfst.
    Les exemples au-dessus servent a ajouter au fichier 'yyy'(RND) le contenu des fichiers 'SX'(RND), 'SY'(SEQ) et 'SZ'(SEQ)
  • LA DERNIERE MISE A JOUR DE CETTE DOCUMENTATION

    Le 20 nov, 2002, par Vivian Lee