AIRAC
Regular, planned Aeronautical Information Publications (AIP) as defined by the International Civil Aviation Organization (ICAO) are published and become effective at fixed dates.
AIRAC cycle definition as published in the ICAO Aeronautical Information Services Manual (DOC 8126; AN/872; 6th Edition; 2003). Test cases validate documented dates from 2003 until 2022. They also assert that the rare cases of a 14th cycle, e. g. in the years 2020 and 2043 are correctly handled.
https://en.wikipedia.org/wiki/Aeronautical_Information_Publication
This project provides a Julia library to deal with AIRAC cycle dates.
This project is not maintained by ICAO. Please use this project at your own risk.
Installation
AIRAC.jl is not currently a Julia registered package.
Currently only developer version is available. It can be installed by running Julia REPL:
$ julia
julia> ]
(@v1.5) pkg> dev https://github.com/scls19fr/AIRAC.jl
Usage
Airac struct
Get current AIRAC cycle
julia> using AIRAC
julia> airac = Airac()
Airac(2101, 2021-01-28)
Get first AIRAC cycle of a given year
julia> Airac(2021)
Airac(2101, 2021-01-28)
Get properties of an AIRAC cycle
julia> airac.date
2021-01-28
julia> airac.ident
2101
julia> airac.year
2021
Iterating over AIRAC cycle
julia> airac = Airac(2021)
julia> airac + AiracDiff()
Airac(2102, 2021-02-25)
julia> airac + AiracDiff(12)
Airac(2113, 2021-12-30)
julia> airac - AiracDiff()
Airac(2014, 2020-12-31)
Showing all cycle dates of a given year
julia> using AIRAC: airac_cycle_dates
julia> Airac.(airac_cycle_dates(2021))
13-element Array{Airac,1}:
Airac(2101, 2021-01-28)
Airac(2102, 2021-02-25)
Airac(2103, 2021-03-25)
Airac(2104, 2021-04-22)
Airac(2105, 2021-05-20)
Airac(2106, 2021-06-17)
Airac(2107, 2021-07-15)
Airac(2108, 2021-08-12)
Airac(2109, 2021-09-09)
Airac(2110, 2021-10-07)
Airac(2111, 2021-11-04)
Airac(2112, 2021-12-02)
Airac(2113, 2021-12-30)
Parsing an AIRAC ident string
julia> parse(Airac, "1913")
Airac(1913, 2019-12-05)
More informations
More informations can be found by watching at code: