
;+ ***********************************************************************
; NAME:
;	FOPEN_NRH2
;
; PURPOSE:
;	Cette procedure ouvre un fichier FITS de type NRH2
;
; CATEGORY:
;	Fichier
;
; CALLING SEQUENCE:
;	FOPEN_NRH2, File, Str_inf, Physpar
;
; INPUTS:
;	FILE Nom du fichier
;
; KEYWORD PARAMETERS:
;	Non
;
; OUTPUTS:
;	STR_INF	Structure d'information du fichier (NRH_STR_INFIC)
;		Cette structure doit exister avant l'appel
;	PHYSPAR	Tableau de chaine donnant les paramatres physiques
;		existant dans le fichier ( STOKESI ou/et STOKESV)
;
; COMMON BLOCKS:
;	Non
;
; PROCEDURE:
;	Cette procedure remplit la structure STR_INF a partir du HEADER
;	primaire ou du header d'extension, laisse le fichier ouvert.
;	La fermeture du fichier est a la charge de l'utilisateur. Il doit
;	etre ferme par FXBCLOSE
;
; EXAMPLE:
;	Please provide a simple example here
;
; MODIFICATION HISTORY:
;	Ecrit par:J Bonmartin (obspm.fr) le 24/08/98
;-*******************************************************************

PRO FOPEN_NRH2, File, Str_inf2d, Physpar

	NRH_FCLOSE, Str_inf2d		;Fermeture de fichier si non vide

	  H = HEADFITS( File)
		Str_inf2d.date= FXPAR(h,'DATE-OBS')

	  IF Str_inf2d.Content EQ '2DB' THEN BEGIN	;c'est un fichier BASE
		str_inf2d.nim = 1
		Heure = FXPAR(h, 'DATE_OBS')
			str_inf2d.hd = STRMID(Heure,11,12)
			str_inf2d.hf = str_inf2d.hd
		Str_inf2d.Freq= FXPAR(h,'FREQ')
		Str_inf2d.npx = FXPAR(h,'NAXIS1')
		Str_inf2d.npy = FXPAR(h,'NAXIS2')
		str_inf2d.Physpar = FXPAR(h,'NAXIS3')
	  END

	  IF Str_inf2d.INSTRUME EQ 'NRH2' AND Str_inf2d.Content NE '2DB' THEN BEGIN
		FXBOPEN, Chan, File,1,H
			str_inf2d.freq = FXPAR(h, 'FREQ')
			str_inf2d.nim = FXPAR(h, 'NAXIS2')
			Str_inf2d.hd = FXPAR(h, 'TIM_STR')
			Str_inf2d.hf = FXPAR(h, 'TIM_END')
		END

	  IF Str_inf2d.Content EQ '2DI' THEN BEGIN	; fichier IMAGES-NRH-HESSI
		    IF Str_inf2d.INSTRUME EQ 'NRH2' THEN $
			UPD_NRH2DFITS, file		;Mise a jour du header
		    FXBOPEN, Chan, File,1,H
			str_inf2d.freq = FXPAR(h, 'FREQ')
			str_inf2d.nim = FXPAR(h, 'NAXIS2')
			Str_inf2d.hd = FXPAR(h, 'TIM_STR')
			Str_inf2d.hf = FXPAR(h, 'TIM_END')
		    IF Str_inf2d.INSTRUME EQ 'NRH2' THEN BEGIN ; Fichier images
			ERR = ''
			STKV = FXBCOLNUM(Chan, 'STOKESV', ERRMSG = Err)
			IF Stkv NE 0 THEN Str_Inf2d.Physpar = 2 ELSE Str_Inf2d.Physpar = 1
			PHYSPAR = ['Stokes I', 'Stokes V']
			IF Str_inf2d.Physpar EQ 1 THEN Physpar(1) = ''
		    ENDIF

		    Str_inf2d.Ctime=fxbcolnum(Chan,'TIME')
		    IF Str_inf2d.INSTRUME EQ 'HSSI' THEN Cold=fxbcolnum(Chan,'DATA') $
					ELSE Cold=fxbcolnum(Chan,'STOKESI')
		    FXBREAD, Chan, Donnee, Cold, 1 	
			SZ= SIZE(Donnee)
			Str_inf2d.npx = sz(1)
			Str_inf2d.npy = sz(2)
;		   END

		Str_inf2d.Unit = Chan 

	   END

	  IF Str_inf2d.Content EQ '2DA' THEN Print,'Fichier Harmoniques'

	  	Str_inf2d.Tscan = Fxpar(h, 'EXPTIME')
		Str_inf2d.Xcen = FXPAR(h, 'CRPIX1')
		Str_inf2d.Ycen = FXPAR(h, 'CRPIX2')
		Str_inf2d.Ray = FXPAR(h, 'SOLAR_R')

END

