code: function forward$11(p) {
  
          /* Forward equations
           -----------------*/
          var x, y;
          var lam = p.x;
          var phi = p.y;
          lam = adjust_lon(lam - this.long0);
  
          if (this.sphere) {
              x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));
              y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);
          }
          else {
              //ellipsoid
              var sinphi = Math.sin(phi);
              var cosphi = Math.cos(phi);
              var nl = gN(this.a, this.e, sinphi);
              var tl = Math.tan(phi) * Math.tan(phi);
              var al = lam * Math.cos(phi);
              var asq = al * al;
              var cl = this.es * cosphi * cosphi / (1 - this.es);
              var ml = this.a * mlfn(this.e0, this.e1, this.e2, this.e3, phi);
  
              x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));
              y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);
  
  
          }
  
          p.x = x + this.x0;
          p.y = y + this.y0;
          return p;
      }
docs: /* Cassini forward equations--mapping lat,long to x,y
  -----------------------------------------------------------------------