Skip to content

Commit f5d78d7

Browse files
committed
metadata
1 parent 9ec957f commit f5d78d7

7 files changed

Lines changed: 51 additions & 64 deletions

File tree

.github/FUNDING.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# These are supported funding model platforms
2+
3+
github: [scivision]
4+
ko_fi: scivision

.github/workflows/ci.yml

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,16 @@ jobs:
1010
- uses: actions/checkout@v1
1111
- uses: actions/setup-python@v1
1212
with:
13-
python-version: 3.7
14-
- name: Install Meson
15-
run: python -m pip install meson
13+
python-version: '3.x'
14+
- run: pip install -r requirements.txt
1615
- name: Install packages
17-
run: sudo apt install -yq --no-install-recommends ninja-build gfortran
18-
- name: Meson configure
19-
run: meson setup build -Drealbits=64
16+
run: |
17+
sudo apt update -yq
18+
sudo apt install -yq --no-install-recommends gfortran
19+
- run: meson setup build -Drealbits=64
2020
env:
2121
FC: gfortran
22-
- name: Meson test
23-
run: meson test -C build -v
22+
- run: meson test -C build -v
2423
- uses: actions/upload-artifact@v1
2524
if: failure()
2625
with:
@@ -33,17 +32,16 @@ jobs:
3332
- uses: actions/checkout@v1
3433
- uses: actions/setup-python@v1
3534
with:
36-
python-version: 3.7
37-
- name: Install Meson
38-
run: python -m pip install meson
35+
python-version: '3.x'
36+
- run: pip install -r requirements.txt
3937
- name: Install packages
40-
run: sudo apt install -yq --no-install-recommends ninja-build gfortran
41-
- name: Meson configure
42-
run: meson setup build -Drealbits=32
38+
run: |
39+
sudo apt update -yq
40+
sudo apt install -yq --no-install-recommends gfortran
41+
- run: meson setup build -Drealbits=32
4342
env:
4443
FC: gfortran
45-
- name: Meson test
46-
run: meson test -C build -v
44+
- run: meson test -C build -v
4745
- uses: actions/upload-artifact@v1
4846
if: failure()
4947
with:
@@ -54,26 +52,20 @@ jobs:
5452
runs-on: windows-latest
5553
steps:
5654
- uses: actions/checkout@v1
57-
- name: Cmake configure
58-
run: cmake -B build -Drealbits=64 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
55+
- run: cmake -B build -Drealbits=64 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
5956
env:
6057
FC: gfortran
61-
- name: Cmake build
62-
run: cmake --build build --parallel
63-
- name: Cmake test
64-
run: ctest -V
58+
- run: cmake --build build --parallel
59+
- run: ctest -V
6560
working-directory: build
6661

6762
windowsCmake32:
6863
runs-on: windows-latest
6964
steps:
7065
- uses: actions/checkout@v1
71-
- name: Cmake configure
72-
run: cmake -B build -Drealbits=32 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
66+
- run: cmake -B build -Drealbits=32 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
7367
env:
7468
FC: gfortran
75-
- name: Cmake build
76-
run: cmake --build build --parallel
77-
- name: Cmake test
78-
run: ctest -V
69+
- run: cmake --build build --parallel
70+
- run: ctest -V
7971
working-directory: build

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ cmake_minimum_required(VERSION 3.7)
22
if(NOT CMAKE_BUILD_TYPE)
33
set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug or Release")
44
endif()
5-
project(MapTran Fortran)
5+
project(MapTran
6+
LANGUAGES Fortran
7+
VERSION 1.1.0)
68
enable_testing()
79

810
include(cmake/compilers.cmake)

README.md

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
[![DOI](https://zenodo.org/badge/144193557.svg)](https://zenodo.org/badge/latestdoi/144193557)
1+
# Maptran 3D
22

3+
[![DOI](https://zenodo.org/badge/144193557.svg)](https://zenodo.org/badge/latestdoi/144193557)
34
[![Actions Status](https://github.com/scivision/maptran3d/workflows/ci/badge.svg)](https://github.com/scivision/maptran3d/actions)
45

5-
6-
# Maptran 3D
76
Modern Fortran 3D coordinate conversions for geospace ecef enu eci.
87
Similar to Python
98
[PyMap3D](https://github.com/scivision/pymap3d)
@@ -23,6 +22,14 @@ Note: as with any program or programming language, the accuracy of 32-bit reals
2322
The large real values typical of map coordinates can lead to large error with 32-bit reals.
2423
64-bit reals are the default.
2524

25+
### Meson
26+
27+
```sh
28+
meson build
29+
30+
meson test -C build
31+
```
32+
2633
### CMake
2734

2835
```sh
@@ -36,20 +43,11 @@ ctest -V
3643
```
3744

3845
Optionally, verify Fortran functionality:
39-
```sh
40-
ctest -V
41-
```
42-
43-
### Meson
4446

4547
```sh
46-
meson build
47-
48-
meson test -C build
48+
ctest -V
4949
```
5050

51-
52-
5351
## Usage
5452

5553
The modern Fortran API is simple like PyMap3D and Matlab Mapping Toolbox.
@@ -67,6 +65,7 @@ call geodetic2aer(lat,lon,alt, observer_lat, observer_lon, observer_alt)
6765
Popular mapping toolbox functions ported to Fortran include the
6866
following, where the source coordinate system (before the "2") is
6967
converted to the desired coordinate system:
68+
7069
```
7170
aer2ecef aer2enu aer2geodetic aer2ned
7271
ecef2aer ecef2enu ecef2enuv ecef2geodetic ecef2ned ecef2nedv
@@ -79,13 +78,12 @@ lookAtSpheroid
7978

8079
Abbreviations:
8180

82-
- [AER: Azimuth, Elevation, Range](https://en.wikipedia.org/wiki/Spherical_coordinate_system)
83-
- [ECEF: Earth-centered, Earth-fixed](https://en.wikipedia.org/wiki/ECEF)
84-
- [ENU: East North Up](https://en.wikipedia.org/wiki/Axes_conventions#Ground_reference_frames:_ENU_and_NED)
85-
- [NED: North East Down](https://en.wikipedia.org/wiki/North_east_down)
81+
* [AER: Azimuth, Elevation, Range](https://en.wikipedia.org/wiki/Spherical_coordinate_system)
82+
* [ECEF: Earth-centered, Earth-fixed](https://en.wikipedia.org/wiki/ECEF)
83+
* [ENU: East North Up](https://en.wikipedia.org/wiki/Axes_conventions#Ground_reference_frames:_ENU_and_NED)
84+
* [NED: North East Down](https://en.wikipedia.org/wiki/North_east_down)
8685

8786
### Caveats
8887

8988
* Atmospheric effects neglected in all functions.
9089
* Planetary perturbations and nutation etc. not fully considered.
91-

cmake/compilers.cmake

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,3 @@ elseif(CMAKE_Fortran_COMPILER_ID STREQUAL NAG)
2626
endif()
2727

2828
include(CheckFortranSourceCompiles)
29-
30-
check_fortran_source_compiles("use, intrinsic:: ieee_arithmetic; end"
31-
f08ieee SRC_EXT f90)
32-
if(NOT f08ieee)
33-
message(FATAL_ERROR "IEEE_arithmetic not supported by " ${CMAKE_Fortran_COMPILER_ID})
34-
endif()

meson.build

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
project('MapTran', 'fortran',
2+
version: '1.1.0',
23
meson_version : '>=0.51.2',
3-
default_options : ['default_library=static', 'buildtype=release', 'warning_level=3'])
4+
default_options : ['default_library=static', 'buildtype=release', 'warning_level=3', 'fortran_std=f2018'])
45

5-
realbits = '-DREALBITS='+get_option('realbits')
6+
realbits = '-DREALBITS=' + get_option('realbits')
67

78
fc = meson.get_compiler('fortran')
8-
f18flag = fc.first_supported_argument(['-std=f2018', '-stand f18', '/stand:f18'])
9-
if fc.get_id() == 'gcc'
10-
add_project_arguments('-fimplicit-none', f18flag, language : 'fortran')
11-
elif fc.get_id() == 'intel'
12-
add_project_arguments('-warn', '-heap-arrays', f18flag, language : 'fortran')
9+
if fc.get_id() == 'intel'
10+
add_project_arguments('-heap-arrays', language : 'fortran')
1311
elif fc.get_id() == 'intel-cl'
14-
add_project_arguments('/fpp', '/warn', '/heap-arrays', f18flag, language : 'fortran')
15-
elif fc.get_id() == 'pgi'
16-
add_project_arguments('-C', '-Mdclchk', language : 'fortran')
12+
add_project_arguments('/fpp', '/heap-arrays', language : 'fortran')
1713
endif
1814

1915
subdir('src')

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
meson
1+
meson
2+
ninja

0 commit comments

Comments
 (0)