New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@fboes/aerofly-patterns

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fboes/aerofly-patterns - npm Package Compare versions

Comparing version 1.1.2 to 1.1.3

5

CHANGELOG.md
# Changelog
## 1.1.3
- Added crosswind component calculator
- Changed runway length output to meters
## 1.1.2

@@ -4,0 +9,0 @@

20

data/Landing_Challenges-KEYW-c172/README.md

@@ -19,12 +19,12 @@ # Landing Challenges: Key West / Key West Intl (KEYW)

| :-: | ---------- | ---------: | ------------ | --------------- | ---------: | ------- | ------------------- |
| #1 | 2024-05-02 | 08:00 | 50° @ 9 kn | CLR | 15 SM | 09 (RP) | ↙ To the south-west |
| #2 | 2024-05-01 | 09:00 | 40° @ 6 kn | SCT @ 1,400 ft | 15 SM | 09 (RP) | ↘ To the south-east |
| #3 | 2024-04-29 | 11:00 | 110° @ 17 kn | FEW @ 3,700 ft | 15 SM | 09 (RP) | → To the east |
| #4 | 2024-04-28 | 12:00 | 80° @ 14 kn | OVC @ 3,500 ft | 5 SM | 09 (RP) | ↘ To the south-east |
| #5 | 2024-04-27 | 13:00 | 100° @ 19 kn | SCT @ 2,600 ft | 15 SM | 09 (RP) | ↖ To the north-west |
| #6 | 2024-04-25 | 15:00 | 120° @ 12 kn | CLR | 15 SM | 09 (RP) | ↗ To the north-east |
| #7 | 2024-04-24 | 16:00 | 100° @ 11 kn | CLR | 15 SM | 09 (RP) | ← To the west |
| #8 | 2024-04-23 | 17:00 | 90° @ 13 kn | SCT @ 4,600 ft | 15 SM | 09 (RP) | ↖ To the north-west |
| #9 | 2024-04-22 | 19:00 | 0° @ 0 kn | FEW @ 2,800 ft | 15 SM | 09 (RP) | ↑ To the north |
| #10 | 2024-04-21 | 20:00 | 80° @ 7 kn | CLR | 15 SM | 09 (RP) | ↗ To the north-east |
| #1 | 2024-05-03 | 08:00 | 90° @ 11 kn | CLR | 15 SM | 09 (RP) | ↗ To the north-east |
| #2 | 2024-05-02 | 09:00 | 90° @ 8 kn | SCT @ 2,200 ft | 15 SM | 09 (RP) | ↗ To the north-east |
| #3 | 2024-04-30 | 11:00 | 150° @ 9 kn | FEW @ 4,900 ft | 15 SM | 09 (RP) | → To the east |
| #4 | 2024-04-29 | 12:00 | 110° @ 15 kn | SCT @ 2,600 ft | 15 SM | 09 (RP) | ↙ To the south-west |
| #5 | 2024-04-28 | 13:00 | 100° @ 17 kn | SCT @ 6,000 ft | 15 SM | 09 (RP) | ↓ To the south |
| #6 | 2024-04-26 | 15:00 | 100° @ 17 kn | CLR | 15 SM | 09 (RP) | → To the east |
| #7 | 2024-04-25 | 16:00 | 100° @ 10 kn | CLR | 15 SM | 09 (RP) | ↖ To the north-west |
| #8 | 2024-04-24 | 17:00 | 60° @ 8 kn | FEW @ 3,900 ft | 15 SM | 09 (RP) | ↙ To the south-west |
| #9 | 2024-04-23 | 19:00 | 340° @ 12 kn | BKN @ 1,700 ft | 15 SM | 27 | ↗ To the north-east |
| #10 | 2024-04-22 | 20:00 | 0° @ 0 kn | BKN @ 2,000 ft | 15 SM | 09 (RP) | → To the east |
## Installation instructions

@@ -31,0 +31,0 @@

@@ -19,12 +19,12 @@ # Landing Challenges: Vineyard Haven / Martha's Vineyard (KMVY)

| :-: | ---------- | ---------: | ------------ | --------------- | ---------: | ------- | ------------------- |
| #1 | 2024-05-02 | 07:00 | 180° @ 9 kn | CLR | 15 SM | 24 (RP) | ← To the west |
| #2 | 2024-05-01 | 09:00 | 40° @ 9 kn | OVC @ 800 ft | 9 SM | 06 | ↙ To the south-west |
| #3 | 2024-04-29 | 10:00 | 70° @ 14 kn | FEW @ 4,700 ft | 15 SM | 06 | ↙ To the south-west |
| #4 | 2024-04-28 | 11:00 | 190° @ 16 kn | OVC @ 1,700 ft | 15 SM | 24 (RP) | ↑ To the north |
| #5 | 2024-04-27 | 13:00 | 210° @ 11 kn | CLR | 15 SM | 24 (RP) | ↙ To the south-west |
| #6 | 2024-04-25 | 14:00 | 70° @ 8 kn | CLR | 15 SM | 06 | ↑ To the north |
| #7 | 2024-04-24 | 15:00 | 200° @ 11 kn | CLR | 15 SM | 24 (RP) | ↓ To the south |
| #8 | 2024-04-23 | 17:00 | 170° @ 6 kn | CLR | 15 SM | 15 | ↖ To the north-west |
| #9 | 2024-04-21 | 18:00 | 230° @ 9 kn | CLR | 15 SM | 24 (RP) | → To the east |
| #10 | 2024-04-21 | 19:00 | 120° @ 3 kn | OVX @ 0 ft | 0 SM | 15 | ↖ To the north-west |
| #1 | 2024-05-03 | 07:00 | 30° @ 11 kn | OVC @ 1,300 ft | 15 SM | 06 | ← To the west |
| #2 | 2024-05-02 | 09:00 | 190° @ 12 kn | CLR | 15 SM | 24 (RP) | ↖ To the north-west |
| #3 | 2024-04-30 | 10:00 | 120° @ 11 kn | OVC @ 3,500 ft | 15 SM | 15 | ↗ To the north-east |
| #4 | 2024-04-29 | 11:00 | 60° @ 17 kn | FEW @ 4,700 ft | 15 SM | 06 | ↗ To the north-east |
| #5 | 2024-04-28 | 13:00 | 200° @ 12 kn | OVC @ 900 ft | 15 SM | 24 (RP) | ↘ To the south-east |
| #6 | 2024-04-26 | 14:00 | 150° @ 7 kn | FEW @ 5,000 ft | 15 SM | 15 | → To the east |
| #7 | 2024-04-25 | 15:00 | 60° @ 10 kn | CLR | 15 SM | 06 | → To the east |
| #8 | 2024-04-24 | 17:00 | 230° @ 8 kn | CLR | 15 SM | 24 (RP) | ↑ To the north |
| #9 | 2024-04-22 | 18:00 | 150° @ 7 kn | CLR | 15 SM | 15 | ↘ To the south-east |
| #10 | 2024-04-22 | 19:00 | 250° @ 7 kn | CLR | 15 SM | 24 (RP) | ↑ To the north |
## Installation instructions

@@ -31,0 +31,0 @@

@@ -110,3 +110,3 @@ // @ts-check

/**
* @type {[number,number]} length, width
* @type {[number,number]} length, width in ft
*/

@@ -113,0 +113,0 @@ const dimension = [0, 0];

@@ -9,3 +9,3 @@ // @ts-check

import { AeroflyAircraftFinder } from "../data/AeroflyAircraft.js";
import { Degree, degreeDifference } from "./Degree.js";
import { Degree, degreeDifference, degreeToRad } from "./Degree.js";

@@ -49,2 +49,7 @@ /**

/**
* @type {number} in feet per second
*/
this.activeRunwayCrosswindComponent = 0;
/**
* @type {import("./AeroflyPatterns.js").AeroflyPatternsWaypointable[]}

@@ -95,2 +100,7 @@ */

if (this.weather?.windDirection) {
const crosswindAngle = degreeDifference(this.activeRunway.alignment, this.weather.windDirection);
this.activeRunwayCrosswindComponent = Math.sin(degreeToRad(crosswindAngle)) * this.weather.windSpeed;
}
const activeRunwayEntry = this.activeRunway.position.getPointBy(

@@ -140,8 +150,14 @@ new Vector(finalDistance, Degree(this.activeRunway.alignment + 180)),

const runway = `${this.activeRunway.id} (${Math.round(this.activeRunway.alignment - this.airport.magneticDeclination)}° / ${Math.round(this.activeRunway.dimension[0]).toLocaleString("en")}ft)`;
let crossWind = "";
if (this.activeRunwayCrosswindComponent > 4.5) {
crossWind = ` / ${Math.ceil(this.activeRunwayCrosswindComponent)} kn crosswind component`;
}
const runway = `${this.activeRunway.id} (${Math.round(this.activeRunway.alignment - this.airport.magneticDeclination)}° / ${Math.round(this.activeRunway.dimension[0] / Units.feetPerMeter).toLocaleString("en")}m${crossWind})`;
let description = `It is ${weatherAdjectives}${Formatter.getLocalDaytime(this.date, this.airport.lstOffset)}, and you are ${this.aircraft.distanceFromAirport} NM to the ${bearing} of the ${towered} airport ${this.airport.name} (${this.airport.id}). `;
description += this.weather
? `As the wind is ${this.weather.windSpeed ?? 0} kn from ${this.weather.windDirection ?? 0}°, the main landing runway is ${runway}. `
: `The main landing runway is ${runway}. `;
if (this.activeRunway.ilsFrequency) {

@@ -148,0 +164,0 @@ description += `You may want to use the ILS (${this.activeRunway.ilsFrequency.toFixed(2)}MHz). `;

{
"name": "@fboes/aerofly-patterns",
"version": "1.1.2",
"version": "1.1.3",
"description": "Landegerät - Create landing pattern lessons for Aerofly FS 4.",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc