shellc Subroutine

private subroutine shellc(me, v, dimo, fl, icode, b0)

Wrapper to shellg to be used with cartesian coordinates.

Note

In the original code, this was an ENTRY point in shellg and didn't include all the outputs.

Type Bound

shellig_type

Arguments

Type IntentOptional Attributes Name
class(shellig_type), intent(inout) :: me
real(kind=wp), intent(in), dimension(3) :: v

cartesian coordinates in earth radii (6371.2 km) * x-axis pointing to equator at 0 longitude * y-axis pointing to equator at 90 long. * z-axis pointing to north pole

real(kind=wp), intent(in) :: dimo

dipol moment in gauss (normalized to earth radius)

real(kind=wp), intent(out) :: fl

l-value

integer, intent(out) :: icode
  • =1 normal completion
  • =2 unphysical conjugate point (fl meaningless)
  • =3 shell parameter greater than limit up to which accurate calculation is required; approximation is used.
real(kind=wp), intent(out) :: b0

magnetic field strength in gauss


Calls

proc~~shellc~~CallsGraph proc~shellc shellig_module::shellig_type%shellc proc~shellg shellig_module::shellig_type%shellg proc~shellc->proc~shellg proc~geo_to_cart shellig_module::geo_to_cart proc~shellg->proc~geo_to_cart proc~stoer shellig_module::shellig_type%stoer proc~shellg->proc~stoer proc~feldi shellig_module::shellig_type%feldi proc~stoer->proc~feldi

Called by

proc~~shellc~~CalledByGraph proc~shellc shellig_module::shellig_type%shellc proc~igrfc shellig_module::shellig_type%igrfc proc~igrfc->proc~shellc proc~get_flux_c_ radbelt_module::radbelt_type%get_flux_c_ proc~get_flux_c_->proc~igrfc none~get_flux radbelt_module::radbelt_type%get_flux none~get_flux->proc~get_flux_c_ proc~get_flux_c radbelt_module::get_flux_c proc~get_flux_c->none~get_flux proc~get_flux_g radbelt_module::get_flux_g proc~get_flux_g->none~get_flux proc~get_flux_g_c radbelt_c_module::get_flux_g_c proc~get_flux_g_c->none~get_flux interface~get_flux radbelt_module::get_flux interface~get_flux->proc~get_flux_c interface~get_flux->proc~get_flux_g

Source Code

    subroutine shellc(me, v, dimo, fl, icode, b0)

        class(shellig_type), intent(inout) :: me
        real(wp), dimension(3), intent(in) :: v !! cartesian coordinates in earth radii (6371.2 km)
                                         !! * x-axis pointing to equator at 0 longitude
                                         !! * y-axis pointing to equator at 90 long.
                                         !! * z-axis pointing to north pole
        real(wp), intent(in) :: dimo !! dipol moment in gauss (normalized to earth radius)
        real(wp), intent(out) :: fl !! l-value
        integer, intent(out) :: icode !! * =1 normal completion
                                 !! * =2 unphysical conjugate point (fl meaningless)
                                 !! * =3 shell parameter greater than limit up to
                                 !!   which accurate calculation is required;
                                 !!   approximation is used.
        real(wp), intent(out) :: b0 !! magnetic field strength in gauss
        real(wp) :: glat, glon, alt !! not used

        call me%shellg(glat, glon, alt, dimo, fl, icode, b0, v)

    end subroutine shellc