Program Listing for File ne_iri.h

Return to documentation for file (environment/plasma/gcpm/ne_iri.h)

#pragma once

#include <array>
#include <cmath>

#include "lupnt/environment/plasma/gcpm/iri_interface.h"

namespace pecsim {

  double ne_iri_ps_trough(double r, double al, double alatr, double amlt, double akp,
                          const std::array<int, 2>& itime);

  double ne_iri_ps_trough_eq(double al, double amlt, double akp, const std::array<int, 2>& itime);

  double pp_profile(double al, double amlt, double akp, double& a8);

  void bulge(double amlt, double akp, double& a8, double& a9, double& centroid);

  double ne_inner_ps(double al, double amlt, const std::array<int, 2>& itime, double& am1,
                     double& b1, double& x234);

  double ne_eq_trough(double al, double amlt, double akp, double& geosync_trough);

  double check_crossing(double& a8, double am1, double b1, double x234, double amlt, double akp,
                        double geosync_trough);

  void iri_ps_bridge(double r, double al, double alatr, double amlt,
                     const std::array<int, 2>& itime, double eq_iri_ps_trough, double& transh,
                     double& rf2, double& alpha, double& dno, double& co, double& switchh,
                     double& switchw, int& istat);

  void iri_ps_eq_bridge(double al, double amlt, const std::array<int, 2>& itime, double& transh,
                        double& alpha, double& ano, double& am1, double& b1, double& x234,
                        double& psL);

  double ne_iri_cap(double r, double alatr, double amlt, const std::array<int, 2>& itime);

}  // namespace pecsim