# CATGEN

Des del menú: Configuració → Catàlegs, i llavors, en el diàleg, feu clic al botó CatGen de la dreta.
Els catàlegs són fitxers de text que contenen dades per als objectes celestials i n'hi ha milers als llocs web CDS o a ADC , o d'altres fonts. Cada un conté informació sobre unes poques desenes d'objectes fins a molts milions.

L'objectiu d'aquesta eina de programació, CATGEN, és convertir un catàleg ASCII amb fitxer de text a un fitxer que serà usat eficientment per Cartes del Cel. Degut al gran nombre de dades que hi ha disponibles, és impossible fer-ne una selecció que ompli totes les necessitats. És molt millor que cadascú que tingui un interès específic pugui elaborar el seu propi conjunt de dades a partir de les que hi ha en els catàlegs professionals originals. També podreu usar sense demores qualsevol catàleg tan bon punt sigui publicat.

Els catàlegs tot just preparats amb aquesta eina en format de text, CatGen els pot convertir a un format binari organitzat que els farà més eficients.

Generalment, un catàleg és un fitxer senzill de text formatejat, una sola fila (un registre) que conté totes les dades de cada objecte individual. Les dades de cada línia consisteixen en peces separades o camps d'informació. Contenen l'identificador d'un objecte del catàleg, i també en determinen les propietats. Cada dada per separat s'identifica simplement amb una posició i amplada de columna, com ara això:

     1          BD+44 4550      3 36042          46           000001.1+444022000509.9+451345114.44
     2          BD-01 4525      6128569                       235956.2-010330000503.8-003011 98.33
     3 33    PscBD-06 6357     281285721002I         Var?     000013.0-061601000520.1-054227 93.75
     4 86    PegBD+12 5063     87 917012004                   000033.8+125023000542.0+132346106.19

En certes posicions fixades s'hi troba un mateix tipus d'informació. Generalment un fitxer complementari (Llegiu-me) descriu el format del fitxer catàleg amb tots els detalls necessaris. Informació ampliada sobre aquest fitxer és aquí .

    Descripció byte-a-byte del fitxer catalog.dat:
    --------------------------------------------------------------------------------
       Bytes Format  Unitats   Etiqueta      Explicacions
    --------------------------------------------------------------------------------
       1-  4  I4     ---       HR         [1/9110]+ Harvard Revised Number = Bright Star Number
       5- 14  A10    ---       Name       Name, generally Bayer and/or Flamsteed name
      15- 25  A11    ---       DM         Durchmusterung Identification (zone in bytes 17-19)
      26- 31  I6     ---       HD         [1/225300]? Henry Draper Catalog Number

És important estar familiaritzat amb el format de text d'aquest catàleg abans de provar de convertir-lo amb CatGen. Hi ha una colla de detalls als quals s'ha de pagar atenció: unitats, interval de valors (entre parèntesis quadrats), formats numèrics, identificadors, format de les coordenades i època. Un signe d'interrogació en les Explicacions indica que aquesta dada no sempre hi és present; mireu al propi fitxer de dades per tenir una idea de la freqüència amb què passa això. També assegureu-vos de llegir les notes, si n'hi ha. Un editor que pugui manejar fitxers grans, com ara Notepad++ , és molt útil en aquest cas.

Si les dades estan disponibles només en un altre format, llavors en general surt més fàcil escriure un programa senzill per extraure-les i formatejar-les; un programa de llenguatge per redactar scripts com ara el Perl pot ser força útil per fer-ho. Per manipular fitxers CSV podeu fer servir el CSVed que és molt bo. Calc, el full de càlcul que està inclòs en l'Open Office: OpenOffice.org també pot fer-ho.

Haureu de seleccionar quines són les dades que voleu incloure en la vostra versió del catàleg. Per a cada tipus de catàleg hi ha un nombre mínim d'informacions que calen per poder presentar l'objecte en els mapes, però també hi podeu afegir d'altres camps amb informacions que seran mostrades quan feu clic sobre l'objecte.

Recordeu que com més informacions afegiu al catàleg, més espai de disc dur serà usat. Així, doncs, no és sempre una bona idea posar-hi tota la informació disponible; preneu una mica de temps per saber i triar el què realment us cal. També podeu generar dues versions del catàleg, l'una amb tota la informació per al PC d'escriptori, i l'altre més compacte, amb la informació mínima necessària per a un portàtil amb poc espai de disc disponible.

## Estructura de CATGEN

CATGEN consta de quatre passos o etapes, explicats un en cada pàgina:

- Pàgina 1 Seleccioneu el fitxer d'entrada, nom del catàleg i indiqueu el tipus de catàleg.
- Pàgina 2 Configureu els paràmetres generals d'acord amb el tipus de catàleg.
- Pàgina 3 Definiu els camps a llegir en el fitxer d'entrada per incloure'ls en el catàleg.
- Pàgina 4 Indiqueu les opcions del catàleg de sortida i construïu-lo.

A cada pas podeu desar la configuració de paràmetres en un fitxer del tipus ”.prj”. Aquest fitxer conté tots els detalls que heu configurat amb CatGen que determinen com voleu convertir el fitxer d'entrada en el vostre catàleg. De tal manera que podeu interrompre la feina i tornar-hi més tard després de carregar el fitxer .prj que havíeu desat.
Els dos botons al peu de cada pàgina governen aquesta possibilitat:

- Desa el projecte permet crear (si és que encara no existeix) el fitxer “xxx.prj” (xxx = nom abreujat del catàleg).
- Carrega un projecte restaura el fitxer”xxx.prj” que trieu i omple la configuració amb els paràmetres desats.

## Pàgina 1

En la primera pàgina us cal indicar el Catalog type (Tipus de catàleg) en el vostre catàleg, i això activarà algunes opcions específiques en les pàgines següents.

El Catalog short name (Nom abreujat del catàleg) s'usa per identificar el catàleg. Aquest abreujament farà de prefix del nom dels objectes en els mapes. Cal que tingui entre un i quatre caràcters.

El Catalog long name (Nom llarg del catàleg) és l'identificador complet del catàleg.

Feu clic al botó Open (Obre) per elegir el fitxer de text del catàleg. Els catàlegs grans sovint són dividits en molts fitxers petits; en aquest cas seleccioneu tots els fitxers alhora, no importa el seu ordre.

Trieu Output catalog type (Tipus de catàleg de sortida). Amb Cartes del Cel V3, podeu escollir la sortida en fitxer de text per als catàlegs petits. En aquest cas no s'escriuen dades sinó una descripció que permet al programa accedir al vostre fitxer de text original. D'aquesta manera es reporta a la carta un canvi en el fitxer sense que calgui engegar de nou Catgen.

Feu clic al botó Next (Següent) per anar a la segona pàgina.

## Pàgina 2

Trieu el format d'entrada de les coordenades:

- RA options (Opcions de AR) Hores, minuts, segons o bé Hores i fracció decimal o Graus, minuts, segons o Graus i fracció decimal.
- DEC options (Opcions de DEC) Graus, minuts, segons o graus i fracció decimal o Distància Polar Sud.

Coordinates Equinox (Equinocci de les coordenades) és l'època de les coordenades relativa a la precessió. Useu 2000 per ICRS .
Position Epoch (època de la posició) és l'època per defecte per a la posició del moviment propi; aquesta data pot ser canviada per a cada objecte més tard en el fitxer de dades.
Maximum magnitude (magnitud màxima) és la magnitud de l'objecte més poc lluminós d'aquest catàleg. Això és particularment important per als catàlegs d'estels, per tal d'escollir adequadament l'escala de magnituds en el mapa.

La segona part depèn del tipus de catàleg, per als estels és buida; la imatge de la banda dreta mostra les opcions per al contorn dels objectes de cel profund Default outline parameters :

- Drawing type (Tipus de dibuix) usat per connectar punts en la llista:
  - Line : línies rectes
  - Spline : corba aplantillada
  - Surface : superfície ratllada amb color
- Closed contour força una línia d'unió entre el darrer punt i el primer.
- Line width amplada de la línia en píxels.
- Color de la línia o la superfície. Feu-hi clic per canviar-lo.
- Edit line operation (operació d'edició de línia, vegeu més avall) posa cadenes de caràcters que seran reconeguts per a les operacions de dibuix (valors separats amb una coma). Polseu retorn quan estigueu.
- Edit color (vegeu més avall) posa cadenes de caràcters que seran reconeguts com colors de les línies (valors separats amb comes) . Polseu return quan estigueu.

Nebulae Options (opcions cel profund)

- Dimension and Units mida per defecte (si hi ha camps buits: sense dades) i unitat.
- Logaritmic scale marqueu la casella si comproveu que el camp usat per a la mida és un flux, és a dir, per a un catàleg de fonts de radioones.
- Edit Object Type (edita el tipus d'objecte) posa cadenes de caràcters que seran reconegudes per indicar el tipus d'objecte (valors separats amb comes). Teclegeu retorn quan estigueu llest.
- Edit Units posa cadenes de caràcters que seran reconegudes per indicar les unitats de mesura (valors separats amb comes). Teclegeu retorn quan estigueu llest.

Feu clic al botó Next (Següent) per anar a la tercera pàgina.

## Pàgina 3

Aquesta pàgina és per situar les dades del fitxer de catàleg origen al vostre fitxer catàleg. La llista mostra els diferents camps depenent de quin tipus de catàleg heu escollit en la primera pàgina.
Seleccioneu els camps que voleu incloure en el vostre catàleg i definiu-ne la posició en el registre de mostra.
Els camps obligats estan inclosos entre parèntesis quadrats ”[]”, les unitats necessàries estan entre parèntesis ”()”.

Indiqueu en Label (etiqueta) l'etiqueta que voleu mostrar per a aquest camp. First Char (primer caràcter) i Length (longitud) descriuen la posició del camp per a cada línia del fitxer d'entrada. Podeu teclejar el valor aquí (obtingut del fitxer Readme(Llegiu-me) del catàleg) o marqueu amb el ratolí la dada en el registre de mostra. En aquest darrer cas assegureu que el camp que marqueu sigui prou llarg com per encabir-hi la dada més llarga del camp d'informació en el fitxer del catàleg.

Field list for each catalog type : (llista de camps per a cada tipus de catàleg)

Required fields : (Camps obligats)

Stars | Variable Stars | Double Stars | Nebulae | Nebulae Outlines
--- | --- | --- | --- | ---
RA | RA | RA | RA | RA
DEC | DEC | DEC | DEC | DEC
Magnitude (V) |  | Magn. comp. 1 |  | Line operation
|  | Separation |  |

Fields used to draw the charts : (Camps usats per traçar els mapes:)

Stars | Variable Stars | Double Stars | Nebulae | Nebulae Outlines
--- | --- | --- | --- | ---
Catalog ID | Catalog ID | Catalog ID | Catalog ID | Catalog ID
B-V | Magnitude Max. | Position angle | Nebula type | Line width
Proper motion RA | Magnitude Min. |  | Magnitude | Line color
Proper motion DEC | Magnitude code |  | Surface brightness | Drawing type
Position Epoch |  |  | Largest dimension |
Magnitude B |  |  | Smallest dimension |
|  |  | Dimension unit |
|  |  | Position angle |

Fields for information only : (Camps solament informatius:)

Stars | Variable Stars | Double Stars | Nebulae | Nebulae Outlines
--- | --- | --- | --- | ---
Magnitude R | Period | Magn. comp. 2 | Radial velocity | Comment
Spectral class | Variable type | Epoch | Morphological class | String..
Parallax | Maxima Epoch | Component name | Comment | Numeric..
Comment | Rise Time | Spectral class comp. 1 | String.. |
String.. | Spectral class | Spectral class comp. 2 | Numeric.. |
Numeric.. | Comment | Comment |  |
| String.. | String.. |  |
| Numeric.. | Numeric.. |  |

Al peu de la llista hi trobeu deu valors simbòlics o numèrics que podeu usar lliurement per a qualsevol dada.
Si marqueu Use this field name as an Alternate name (usa aquest nom de camp com a nom alternatiu) el valor de cadena pot ser usat com a nom alternatiu de l'objecte. Aquest nom podrà ser usat en el cas que el nom principal (l'identificador id del catàleg) no hi sigui o també pot ser afegit al fitxer índex del catàleg.
Advanced (avançat) aquest botó us deixa calcular una transformació lineal de les dades del catàleg; només és actiu per a valors numèrics.
Un possible ús pot ser obtenir les coordenades de l'objecte quan no estan directament disponibles en el catàleg.
Si el catàleg dóna la posició de l'objecte en mil·límetres en la placa des del centre de la galàxia (i.e. ra: 0h42m42.00s dec:+41°16'00.0”) i sabeu que a dalt de la placa hi ha el nord i l'escala de la placa és de 2 segons per mm.
Les coordenades aproximades (sense correcció de placa) en graus són:

    DEC = 41.26667 + Xmm * (2/3600)
    AR = 10.67500 - Ymm * (2/3600/cos(DEC))

Seleccioneu “Decimal degree” (graus i fracció decimal) per a ambdós valors de AR i DEC, indiqueu la posició en mm i poseu el valor “Advanced” a:

    per a AR : -0.00073837 i 10.67500
    per a DEC : 0.00055555 i 41.26667

Si les dades demanen algun tipus de transformació més complex caldrà que feu la transformació abans d'usar CATGEN. Un script fet amb Perl pot resoldre gairebé tots els casos.

Feu clic al botó Next (Següent) per anar a la quarta pàgina.

## Pàgina 4

En aquesta última pàgina configurareu les opcions per al catàleg generat.

Indiqueu la quantitat de fitxers de sortida tal com es recomana depenent del nombre d'objectes en el catàleg; això és important per obtenir una agilitat adequada en el funcionament.
Marqueu la casella create a search index file (crea un fitxer índex de recerca) si voleu crear un índex per localitzar els objectes del catàleg pel seu nom.
Marqueu la casella Add the alternate names to the index (Afegeix els noms alternatius a l'índex) si voleu que els noms que hagueu definit com alternatius siguin inclosos en l'índex de recerca.
Marqueu la casella Prefix the alternate names with their label (Anteposa l'etiqueta del camp als noms alternatius) si voleu que el prefix del nom del camp corresponent s'anteposi als noms alternatius dels objectes. Per exemple, si una columna del fitxer d'entrada llista el número de catàleg UGC podeu fer que el valor de l'índex sigui UGC7442 en comptes de 7442 que podria crear confusions.
Escolliu un Output directory (Directori de sortida) per desar els fitxers de catàlegs. És un bon costum assignar un directori separat per a cada catàleg (que pot constar de molts fitxers). Usualment aquests directoris són subdirectoris del `Directori d'instal·lació de CdC/cat/`
Marqueu la casella Append to an existing catalog (Annexa a un catàleg existent) si voleu incloure les dades a un catàleg existent amb el mateix nom i el mateix directori.
Això és útil per crear un únic catàleg des de diverses fonts. En aquest cas, naturalment, l'estructura ha de ser la mateixa que la del catàleg existent, ja que altrament es perdran dades. Sisplau, feu una còpia de seguretat dels dos catàlegs abans de realitzar aquest tipus d'operació.

Quan tot estigui enllestit deseu la vostra feina amb el botó Save Project (Desa el projecte), per facilitar la possibilitat de canvis senzills. Després premeu el botó Build Catalog (Construeix el catàleg)!.

Una casella de progrés us mostra el curs de l'operació. Podeu interrompre-ho amb el botó Abort (Cancel·la); en aquest cas el catàleg no serà utilitzable.
Un cop el catàleg estigui completament construït, la finestra de progrés es tancarà i podreu sortir del programa amb el botó Close (Tanca).

En el cas que algun dels registres del catàleg no contingui un valor numèric vàlid per a algun camp, aquest objecte no serà inclòs en el catàleg de sortida, però serà inclòs en un fitxer anomenat reject.txt (rebuig.txt).

És una bona idea comprovar les vostres definicions del catàleg practicant amb tan sols uns pocs registres per evitar un fitxer consistent en milions de dades rebutjades! Podeu usar un comandament de copiar (aquests pocs registres) i enganxar-los (en un fitxer de text en blanc) i desar-ho per disposar d'un minicatàleg original per practicar i comprovar que tot funcionarà bé al construir el vostre amb les quatre etapes explicades. Podeu trobar comandaments per al Windows equivalents als del Linux (“head”, “tail i “grep”) en un paquet aquí , que us poden ajudar a extraure unes poques línies d'un fitxer llarg.

Si tot ha anat correctament ara ja podeu usar el nou catàleg. Consulteu Documentació de Cartes del Cel - SkyChart per activar el catàleg.

## Notes per als usuaris de Linux i Mac

Si us plau llegiu amb cura si voleu fer un catàleg gran amb 9537 fitxers

Mentre llegeix línies dels fitxers d'entrada Catgen necessita escriure a l'atzar les dades als 9537 fitxers, depenent de les coordenades estel·lars. Per tant els 9537 cal que estiguin oberts alhora.

Com que Linux i Mac són sistemes operatius multiusuari, hi ha una protecció per evitar que un sol usuari mengi tots els recursos del sistema . Per a una instal·lació estàndard de Linux, per exemple, el màxim nombre de fitxers que un usuari pot tenir oberts alhora és de 1024.

Per augmentar aquest límit cal que d'entrada canvieu el límit del sistema en el fitxer limits.conf :

    sudo vi /etc/security/limits.conf

Afegiu aquestes dues línies al final del fitxer:

    * soft nofile 1024
    * hard nofile 32768

Us recomano de mantenir el valor per defecte de 1024, ja que això pot ser una bona protecció per altres processos.

Deseu el fitxer, i sortiu (logout) del sistema, ja que aquest fitxer només serà aplicable en la propera entrada (login).

LLavors obriu una finestra del terminal i teclegeu:

    ulimit -S -n 20000

i del mateix terminal teclegeu:

    skychart

Això és molt important ja que el canvi de límit només és per a l'aplicació actual de la pàgina (shell), no de tot el sistema.