1 | # Installation |
---|
2 | |
---|
3 | ## Dependencies |
---|
4 | |
---|
5 | - [CMake](https://cmake.org/download) (version ≥ 3.16)[^1]. |
---|
6 | |
---|
7 | - The [NetCDF-C |
---|
8 | library](https://docs.unidata.ucar.edu/nug/current/getting_and_building_netcdf.html) |
---|
9 | (version ≥ 4.6). |
---|
10 | |
---|
11 | - The [NetCDF-Fortran |
---|
12 | library](https://www.unidata.ucar.edu/downloads/netcdf/index.jsp) |
---|
13 | (version ≥ 4.5). |
---|
14 | |
---|
15 | - The Fortran compiler that was used to compile your installed |
---|
16 | NetCDF-Fortran library. |
---|
17 | - Git (optional, the easiest way to download NetCDF95). |
---|
18 | |
---|
19 | Under Ubuntu ≥ 20.04 or Linux Mint ≥ 20, you can install all these |
---|
20 | dependencies with the following command: |
---|
21 | |
---|
22 | sudo apt install libnetcdff-dev gfortran cmake git |
---|
23 | |
---|
24 | |
---|
25 | ## Instructions |
---|
26 | |
---|
27 | 1. Get [NetCDF95 from Github](https://github.com/lguez/NetCDF95). As |
---|
28 | the Git repository contains a submodule, the easiest way is to |
---|
29 | type: |
---|
30 | |
---|
31 | git clone --recurse-submodules https://github.com/lguez/NetCDF95.git |
---|
32 | |
---|
33 | If you prefer to download a ZIP file then you will also have to |
---|
34 | download the [cmake subdirectory](https://github.com/lguez/cmake). |
---|
35 | |
---|
36 | 2. Create a build subdirectory in the NetCDF95 directory you have |
---|
37 | just downloaded: |
---|
38 | |
---|
39 | cd NetCDF95 |
---|
40 | mkdir build |
---|
41 | cd build |
---|
42 | |
---|
43 | 3. Decide in which directory you want to install NetCDF95 after |
---|
44 | compilation and type the command below with your choice after |
---|
45 | `-DCMAKE_INSTALL_PREFIX=` (enter an absolute path). For example: |
---|
46 | |
---|
47 | cmake .. -DCMAKE_INSTALL_PREFIX=~/.local |
---|
48 | |
---|
49 | 4. Type: |
---|
50 | |
---|
51 | make install |
---|
52 | |
---|
53 | You do not need to keep the downloaded directory NetCDF95 (nor the |
---|
54 | build directory) after installation. |
---|
55 | |
---|
56 | ## Advanced instructions |
---|
57 | |
---|
58 | Most users should not need these advanded instructions. |
---|
59 | |
---|
60 | - You can choose any name and any location for the build |
---|
61 | directory. You have to refer to the source directory when you run |
---|
62 | cmake from the build directory: |
---|
63 | |
---|
64 | mkdir /wherever/any/name |
---|
65 | cd /wherever/any/name |
---|
66 | cmake /where/I/downloaded/NetCDF95 -DCMAKE_INSTALL_PREFIX=~/.local |
---|
67 | |
---|
68 | - NetCDF95 assumes that the Fortran default character kind is the same |
---|
69 | as the C character kind (the official NetCDF-Fortran interface makes |
---|
70 | the same assumption). You can test this by running the command |
---|
71 | `ctest` in the build directory. If this test fails then the |
---|
72 | procedures `nf95_inq_grpname`, `nf95_inq_grpname_full` and |
---|
73 | `nf95_inq_grp_full_ncid` are not reliable. |
---|
74 | |
---|
75 | - You do not have to install. You can just use the compiled library in |
---|
76 | the build directory. So you do not have to specify the option |
---|
77 | `-DCMAKE_INSTALL_PREFIX=` and you can just type `make` instead of |
---|
78 | `make install`. |
---|
79 | |
---|
80 | - You can compile with debugging options by adding the option |
---|
81 | `-DCMAKE_BUILD_TYPE=Debug` to the command cmake. |
---|
82 | |
---|
83 | ## Troubleshooting |
---|
84 | |
---|
85 | - If your installation of NetCDF or NetCDF-Fortran is in a |
---|
86 | non-standard location, and CMake does not find it, then re-run cmake |
---|
87 | setting the variable `CMAKE_PREFIX_PATH` to the directory containing |
---|
88 | it. CMake will then search `${CMAKE_PREFIX_PATH}/lib`, |
---|
89 | `${CMAKE_PREFIX_PATH}/include`, etc. For example, if you want to use |
---|
90 | the parallel-enabled version of NetCDF-C on Ubuntu or Linux Mint: |
---|
91 | |
---|
92 | cmake . -DCMAKE_PREFIX_PATH:PATH=/usr/lib/x86_64-linux-gnu/netcdf/mpi |
---|
93 | |
---|
94 | - If you have several Fortran or C compilers on your machine, it is |
---|
95 | possible that CMake does not choose the ones you want. Note that when |
---|
96 | you run cmake, it prints lines telling which compilers it is going |
---|
97 | to use. For example : |
---|
98 | |
---|
99 | -- The Fortran compiler identification is GNU 11.3.0 |
---|
100 | -- The C compiler identification is GNU 11.3.0 |
---|
101 | |
---|
102 | So if you want other compilers, remove everything in the build |
---|
103 | directory and run cmake again setting the variables FC and CC to the |
---|
104 | compilers you want. For example: |
---|
105 | |
---|
106 | rm -r * # in the build directory! |
---|
107 | FC=ifort CC=icc cmake .. -DCMAKE_INSTALL_PREFIX=~/.local |
---|
108 | |
---|
109 | [^1]: On Mac OS, after downloading the application from the CMake web |
---|
110 | site, run it, then click on "How to Install For Command Line Use" |
---|
111 | in the Tools menu. |
---|