Package: con2020
con2020Python implementation of the Connerney et al., 1981 and Connerney et al., 2020 Jovian magnetodisc model. This model provides the magnetic field due to a "washer-shaped" current near to Jupiter's magnetic equator. This model code uses either analytical equations from Edwards et al., 2001 or the numerical integration of the Connerney et al., 1981 equations to provide the magnetodisc field, depending upon proximity to the disc alongzand the inner edge of the disc,r0.The LASP webpage describes theCommunity Code, and lists all the Community Githubs.These codes were developed by Fran Bagenal, Marty Brennan, Matt James, Gabby Provan, Aneesah Kamran,  Marissa Vogt, and Rob Wilson, with thanks to Jack Connerney and Masafumi Imai. They are intended for use by the Juno science team and other members of the planetary magnetospheres community. Our contact information is in the documentation PDF file.In 2023, our efforts were published inSpace Science Reviews. If using these codes, please reference this SSR paper and the DOI of the particular codes.InstallationInstall the module usingpip3:pip3install--usercon2020#or if you have previously installed using this methodpip3install--upgrade--usercon2020Or using this repo:#clone the repogitclonehttps://github.com/gabbyprovan/con2020cdcon2020#EITHER create a wheel and install (X.X.X is the current version number)python3setup.pybdist_wheel
pip3install--userdist/con2020-X.X.X-py3-none-any.whl#or directly install using setup.pypython3setup.pyinstall--userUsageTo call the model, an object must be created first usingcon2020.Model(), where the default model parameters, model equations used or coordinate systems of input and output can be altered using keywords, e.g:importcon2020#initialize a model object with default parametersdef_model=con2020.Model()#initialize a model which uses spherical polar coordinates for input and outputsph_model=con2020.Model(CartesianIn=False,CartesianOut=False)#initialize a model with custom parameters (longhand)cust_model0=con2020.Model(mu_i_div2__current_parameter_nT=150.0,r0__inner_rj=9.5,d__cs_half_thickness_rj=3.1)#equivalently, a custom parameter model (shorthand)cust_model1=con2020.Model(mu_i=150.0,r0=9.5,d=3.1)Once a model object is initialized, the model field can be obtained by calling the member functionField()and supplying input coordinates as three scalars, or three arrays (all of which are in right-handed System III), e.g.:#Example 1: the model at a single Cartesian position (all in Rj)x=5.0y=10.0z=6.0Bcart=def_model.Field(x,y,z)Result:Bxyz=[15.5836796436.896378363.04540543]nTCalculatedusingthedefaultcon2020modelkeywordsandthehybridapproximation.#Example 2: the model at an array of positions of spherical polar coordinatesr=np.array([10.0,20.0])#radial distance in Rjtheta=np.array([30.0,35.0])*np.pi/180.0#colatitude in radiansphi=np.array([90.0,95.0])*np.pi/180.0#east longitude in radiansBpol=sph_model.Field(r,theta,phi)Result:SphericalpolarBrtp=[63.31325114,31.15605062],[-21.02247982,-6.8652712],[-3.60747376,-2.72695432]nTCartesianBxyz=[3.60747376,1.64920933],[13.450624,12.43774298],[65.34212379,29.45930035]nTCalculatedusingthedefaultcon2020modelkeywordsandthehybridapproximation.The output will be anumpy.ndarraywith a shape(n,3), wherenis the number of input coordinates,B[:,0]corresponds to eitherBxorBr;B[:,1]corresponds toByorBtheta; andB[:,2]corresponds to eitherBzorBphi.  A full list of model keywords is shown below:Keyword (long)Keyword (short)Default ValueDescriptionmu_i_div2__current_parameter_nTmu_i139.6*Current sheet current density in nT.i_rho__radial_current_MAi_rho16.7*†Radial current intensity in MA from Connerney et al 2020.r0__inner_rjr07.8Inner edge of the current sheet in Rj.r1__outer_rjr151.4Outer edge of the current sheet in Rj.d__cs_half_thickness_rjd3.6Current sheet half thickness in Rj.xt__cs_tilt_degsxt9.3Tilt angle of the current sheet away from the SIIIz-axis in degrees.xp__cs_rhs_azimuthal_angle_of_tilt_degsxp155.8(Right-Handed) Longitude towards which the current sheet is tilted in degrees.equation_type'hybrid'Which method to use, can be:'analytic'- use only the analytical equations'integral'- numerically integrate the equations'hybrid'- a combination of analytical and integration (default)error_checkTrueCheck errors on inputs the theField()member function - set toFalseat your own risk for a slight speedup.CartesianInTrueIfTrue(default) then the input coordinates are expected to be in Cartesian right-handed SIII coordinates. IfFalsethen right-handed spherical polar SIII coordinates will be expected.CartesianOutTrueIfTruethe output magnetic field components will be in right-handed Cartesian SIII coordinates. IfFalsethen the output will be such that it has radial, meridional and azimuthal components.azfunc'connerney'Which model to use for the azimuthal component of the magnetodisc current:'connerney'- use Connerney et al., 2020 model'lmic'- use the Leicester magnetosphere-ionosphere coupling (L-MIC) model (Cowley et al., 2005, 2008).DeltaRho1.0Scale length over which smoothing is done in the $\rho$ direction RJ.DeltaZ0.1Scale length over which smoothing is done in the $z$ direction.g417659.3836476442§Magnetic dipole parameter, nTwO_open0.1§Ratio of plasma to Jupiter's angular velocity on open field lines.wO_om0.35§Ratio of plasma to Jupiter's angular velocity in the outer magnetosphere.thetamm16.1§Colatitude of the centre of the middle magnetosphere, where the plasma transitions from corotating to sub-corotating, °.dthetamm0.5§Colatitude range over which the transition from inner to outer magnetosphere occurs, °.thetaoc10.716§Colatitude of the centre of the open-closed field line boundary, °.dthetaoc0.125§Colatitude range of the open-closed field line boundary, °.*Default current densities used here are averages provided in Connerney et al., 2020 (see Figure 6), but can vary from one pass to the next. Table 2 of Connerney et al., 2020 provides a list of both current densities for 23 out of the first 24 perijoves of Juno.†This is only applicable for the Connerney et al., 2020 model for $B_{\phi}$.§These parameters are used to configure the L-MIC model for $B_{\phi}$.Thecon2020.Test()function should produce the following:ReferencesConnerney, J. E. P., Timmins, S., Herceg, M., & Joergensen, J. L. (2020). A Jovian magnetodisc model for the Juno era.Journal of Geophysical Research: Space Physics, 125, e2020JA028138.https://doi.org/10.1029/2020JA028138Connerney, J. E. P., Acuña, M. H., and Ness, N. F. (1981), Modeling the Jovian current sheet and inner magnetosphere,J. Geophys. Res., 86( A10), 8370– 8384, doi:10.1029/JA086iA10p08370.Cowley, S. W. H., Alexeev, I. I., Belenkaya, E. S., Bunce, E. J., Cottis, C. E., Kalegaev, V. V., Nichols, J. D., Prangé, R., and Wilson, F. J. (2005), A simple axisymmetric model of magnetosphere-ionosphere coupling currents in Jupiter's polar ionosphere,J. Geophys. Res., 110, A11209, doi:10.1029/2005JA011237.Cowley, S. W. H., Deason, A. J., and Bunce, E. J.: Axi-symmetric models of auroral current systems in Jupiter's magnetosphere with predictions for the Juno mission, Ann. Geophys., 26, 4051–4074,https://doi.org/10.5194/angeo-26-4051-2008, 2008.Edwards T.M., Bunce E.J., Cowley S.W.H. (2001), A note on the vector potential of Connerney et al.'s model of the equatorial current sheet in Jupiter's magnetosphere, *Planetary and Space Science,*49, 1115-1123,https://doi.org/10.1016/S0032-0633(00)00164-1.