inipbs.f 4 KB
      subroutine inipbs (ityp,isw,pa,pb,pc,pd,pe,xss,ier)
c*
c***********************************************************************
c*
c*          "Copyright [c] CNES 98 - tous droits reserves"
c*          **********************************************
c*
c*PRO MAGLIB
c*
c*VER 99.03.31 - V 1.0
c*VER 01.06.05 - V 2.0
c*VER 03.01.06 - V 2.1
c*
c*AUT spec. CNES - JC KOSIK - juin 1995
c*AUT port. CISI
c*
c*ROL Theme : frontieres et regions
c*ROL          Initialisation des parametres du modele de 
c*ROL          magnetopause et du modele d'onde de choc.
c*
c*PAR ityp (I) : parametre permettant de fixer le choix de frontiere
c*PAR          :    --> 1 magnetopause
c*PAR          :    --> 2 onde de choc
c*
c*PAR isw  (I) : variabilite du vent solaire
c*
c*PAR pa   (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere dans le repere solaire ecliptique
c*PAR pb   (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere dans le repere solaire ecliptique
c*PAR pc   (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere dans le repere solaire ecliptique
c*PAR pd   (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere dans le repere solaire ecliptique
c*PAR pe   (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere dans le repere solaire ecliptique
c*
c*PAR xss  (O) : parametre decrivant l'expression quadratique
c*PAR          : de la frontiere
c*
c*PAR ier  (O) : code de retour
c*
c*NOT isw      : 1 a 5
c*NOT isw      : 1 : distance subsolaire = 12.6 rayons terrestres
c*NOT isw      : 2 : distance subsolaire = 11.7 rayons terrestres
c*NOT isw      : 3 : distance subsolaire = 11.  rayons terrestres
c*NOT isw      : 4 : distance subsolaire = 10.  rayons terrestres
c*NOT isw      : 5 : distance subsolaire = 8.8  rayons terrestres
c
c*NOT ityp     : 1 = magnetopause
c*NOT          :     coefficients pa ... pe de Sibeck
c*NOT ityp     : 2 = onde de choc
c*NOT          :     coefficients pa ... pe de Fairfield
c*
c*NOT ier      : sans objet
c*
c*INF utilise  : sans objet
c*
c*HST version 1.0 - 99.03.31 - creation de la maglib au CDPP
c*HST version 2.0 - 01.06.05 - correction de commentaires de code
c*HST version 2.1 - 03.01.06 - corrections en compilation avec g77
c*
c***********************************************************************
c*
      implicit none
c
c     ---------------------------------
c*FON Declaration identificateur rcs_id
c     ---------------------------------
c
      character rcs_id*100
c
c     --------------------------
c*FON Declaration des parametres
c     --------------------------
c
      integer ityp, isw
      double precision pa, pb, pc, pd, pe
      double precision xss
      integer ier
c
c     ---------------------------------
c*FON Declaration des variables locales
c     ---------------------------------
c
      double precision tpb(5), tpd(5), tpe(5), tss(5)
c*LOC Variables de travail intermediaires
c
      SAVE
c
c     ---------------------------------
c*FON Affectation identificateur rcs_id
c     ---------------------------------
c
      data rcs_id /"
     >$Id$"/
c
c     --------------------------
c*FON Affectation des constantes
c     --------------------------
c
      data tpb /0.19d0, 0.19d0, 0.14d0, 0.15d0, 0.18d0/
c
      data tpd /19.3d0, 18.7d0, 18.2d0, 17.3d0, 14.2d0/
c
      data tpe /-272.4d0, -243.9d0, -217.2d0, -187.4d0, -139.2d0/
c
      data tss /12.6d0, 11.7d0, 11.d0, 10.d0, 8.8d0/
c
c     ******************
c     Debut de programme
c     ******************
c     
      ier = 0
      if (ityp .eq. 1) then
c
         pa  = 0.d0
         pb  = tpb(isw)
         pc  = 0.d0
         pd  = tpd(isw)
         pe  = tpe(isw)
         xss = tss(isw)
c
      else if (ityp .eq. 2) then
c
         pa  =  0.0296d0
         pb  = -0.0381d0
         pc  = -1.280d0
         pd  =  45.644d0
         xss =  tss(isw) / 0.726d0
         pe  = -xss * 45.d0
c
      endif
c
c     ****************
c     Fin de programme
c     ****************
c
      return
      end