C --- ------------------------------------------------------------------ SUBROUTINE SSMAPBC ( ITIME) C --- Version TREC.09 C Read 'Params.trec' to get conversion parameters C --- GAM = 1.46 (in igmss.f) [Totten, et al., JGR 1996] C --- called by igmss to set lower boundary from S.Surf map file PARAMETER ( IX = 9480*3, JX = 30, KX = 72 ) PARAMETER ( PI = 3.141593, Pi8 = 8.*PI ) PARAMETER ( Omega = 2.*PI/(27.2753*86400.) ) COMMON /BLOC1/ RO(JX,KX),VR(JX,KX),VT(JX,KX),VP(JX,KX), & BR(JX,KX),BT(JX,KX),BP(JX,KX),TP(JX,KX) COMMON /BLOC3/ TH(JX),PHI(KX),RAD(IX) COMMON /BLOC4/ JM,KM,JP1,KP1,JM1,KM1,IM COMMON /BLOC7/ SM,SG,Rs,GAM,Rgas DIMENSION bss(72,37), fexp(72,37) DIMENSION theta(72,37), fii(72,37), bphot(72,36) REAL*8 Tyme C --- ------------------------------------------------------------------ c Read Carrington Source Surface Current Sheet map, Rss = 21.5 Rs c Translate S.Surf parameters (at 21.5 Rs) into c MHD lower Boundary Condition parameters (at 21.5 Rs = 0.1 AU) c Compute Posix time (seconds since 1970-01-01 00:00:00) from c Carrington Number and Longitude of map file header line C --- ------------------------------------------------------------------ C --- --------- latitude grid of Source Surf. map ----------------------- c -87.5 -82.5 -77.5 c -72.5 -67.5 -62.5 -57.5 -52.5 c -47.5 -42.5 -37.5 -32.5 -27.5 c -22.5 -17.5 -12.5 -7.5 -2.5 c 2.5 7.5 12.5 17.5 22.5 c 27.5 32.5 37.5 42.5 47.5 c 52.5 57.5 62.5 67.5 72.5 c 77.5 82.5 87.5 C --- --------- latitude grid of this model ----------------------- c 72.5 67.5 62.5 57.5 52.5 c 47.5 42.5 37.5 32.5 27.5 c 22.5 17.5 12.5 7.5 2.5 c -2.5 -7.5 -12.5 -17.5 -22.5 c -27.5 -32.5 -37.5 -42.5 -47.5 c -52.5 -57.5 -62.5 -67.5 -72.5 C --- ----- theta grid of this model, theta = 90 - latitude ------ c 17.5 22.5 27.5 32.5 37.5 c 42.5 47.5 52.5 57.5 62.5 c 67.5 72.5 77.5 82.5 87.5 c 92.5 97.5 102.5 107.5 112.5 c 117.5 122.5 127.5 132.5 137.5 c 142.5 147.5 152.5 157.5 162.5 write (6,*) 'ssmapbc reading source surface map' open (4,file='crmap.lnk') read (4,100) Ncarr, Long read (4,105) ((bss(i,j),i=1,72),j=1,37) read (4,103) ((fexp(i,j),i=1,72),j=1,37) c read (4,104) ((theta(i,j),i=1,72),j=1,37) c read (4,104) ((fii(i,j),i=1,72),j=1,37) c read (4,105) ((bphot(i,j),i=1,72),j=1,36) WRITE (6,101) '---> TREC.07 BC SSmap :', Ncarr, Long C --- Convert Map Coord's Ncr and Long into Posix time at grid boundary C --- CarrF is Carrington Nbr with fractional part C --- Owl is "Offset West Long." point of orgin is Owl deg. W of CM Owl = 30.0 CarrF = Ncarr - Long/360.D0 Tyme = ((CarrF - Owl/360.)*27.2753D0 - 42420.5D0)*86400.D0 ITIME = NINT(Tyme) print *, 'Carr = ', Ncarr, Long, CarrF print *, 'Tyme = ', Tyme, ITIME print *, 'bss(1,33) =', bss(1,33) print *, 'bss(1,19) =', bss(1,19) print *, 'bss(1,18) =', bss(1,18) print *, 'bss(1, 9) =', bss(1, 4) C --- Get TREC parameters from 'Params.trec' just like igmv:trec.f OPEN(5,FILE='Params.trec',STATUS='OLD') WRITE (6,*) ' ' WRITE (6,*) 'INPUTS from Params.trec: ' READ (5,*) Vmin,Vmax,Vxp,Efx,Ptotal,FluxMass,Bscale WRITE(6,*) Vmin,Vmax,Vxp,Efx,Ptotal,FluxMass,Bscale IF ( Bscale .eq. 0 ) Stop "NG! Bscale=0" CLOSE(5) C --- Init variables to track some mins and maxes PbMax = 0. TpMin = 1.E9 TpMax = 0. DO 10 J=1,JM Js = 34 - J DO 10 K=1,KM Ks = K Vr(J,K) = Vmin + (Vmax-Vmin)/(1. + (fexp(Ks,Js)/Efx)**Vxp) Br(J,K) = 10.*bss(Ks,Js)*Bscale Vt(J,K) = 0.0 Vp(J,K) = Omega*1.5*Rs*sin(TH(J)) Bt(J,K) = Br(J,K)*Vt(J,K)/Vr(J,K) Bp(J,K) = Br(J,K)/Vr(J,K)*(Vp(J,K)-Omega*RAD(1)*sin(TH(J))) Ro(J,K) = FluxMass/Vr(J,K) Pfield = ( Br(J,K)**2 + Bp(J,K)**2 + Bt(J,K)**2 )/Pi8 Tp(J,K) = (Ptotal - Pfield)/(2.*Ro(J,K)*Rgas) PbMax = MAX(Pfield,PbMax) TpMin = MIN(Tp(J,K),TpMin) TpMax = MAX(Tp(J,K),TpMax) 10 CONTINUE C CALL ARVIS(1) print *, 'LBC set. Tpmin,max, PbMax', TpMin, TpMax, PbMax 100 format (2i5) 101 format (A,2i5) 103 FORMAT (F10.3,11F11.3) 104 FORMAT (F10.4,11F11.4) 105 FORMAT (F10.5,11F11.5) c 103 format (12f10.3) c 104 format (12f10.4) c 105 format (12f10.5) 202 FORMAT (8F10.2) 203 FORMAT (8F10.3) END