・ MacBook Pro 2017 ・ Mojave 10.14.5
Befolgen Sie die Schritte zum Erstellen der Umgebung gemäß der folgenden Seite.
https://personal.sron.nl/~vdtak/radex/index.shtml#install
Laden Sie den Quellcode herunter und entpacken Sie ihn.
$ tar xf radex_public.tar
Wechseln Sie zu src
im erstellten Radex
-Verzeichnis.
$ cd Radex/src
Bearbeiten Sie "Makefile" und geben Sie den Compiler für "make" an. Verwenden Sie zunächst den Standard-Gfortran ohne Bearbeitung.
Bearbeiten Sie Radex.inc
und geben Sie den Ort der molekularen Daten und die Berechnungsmethode für die Photonenaustrittswahrscheinlichkeit an.
parameter(radat = '/.../Radex/data/')
parameter (method = 1) ! uniform sphere
Im Verzeichnis src
$ make
Schlagen.
Dann ein langer Fehler ---.
$ make
gfortran -O2 -c main.f -o main.o
gfortran -O2 -c io.f -o io.o
io.f:47:62:
47 | $ molfile = radat(1:length(radat))//molfile(1:length(molfile))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (120/200) at (1) [-Wargument-mismatch]
io.f:47:36:
47 | $ molfile = radat(1:length(radat))//molfile(1:length(molfile))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (120/200) at (1) [-Wargument-mismatch]
io.f:47:36:
47 | $ molfile = radat(1:length(radat))//molfile(1:length(molfile))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (120/200) at (1) [-Wargument-mismatch]
io.f:48:36:
48 | write(13,20) molfile(1:length(molfile))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (120/200) at (1) [-Wargument-mismatch]
io.f:52:36:
52 | write(13,20) outfile(1:length(outfile))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (120/200) at (1) [-Wargument-mismatch]
io.f:234:31:
234 | $ //version(1:length(version))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (20/200) at (1) [-Wargument-mismatch]
io.f:234:31:
234 | $ //version(1:length(version))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (20/200) at (1) [-Wargument-mismatch]
io.f:234:31:
234 | $ //version(1:length(version))
| 1
Warning: Character length of actual argument shorter than of dummy argument 'st' (20/200) at (1) [-Wargument-mismatch]
gfortran -O2 -c readdata.f -o readdata.o
gfortran -O2 -c matrix.f -o matrix.o
gfortran -O2 -c background.f -o background.o
background.f:405:72:
405 | if (h.eq.0.d0) pause 'Warning: bad xin input in splintrp '
|
Warning: Deleted feature: PAUSE statement at (1)
gfortran -O2 -c slatec.f -o slatec.o
slatec.f:824:72:
824 | IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
|
Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)
slatec.f:1204:72:
1204 | IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
|
Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)
slatec.f:1512:72:
1512 | IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
|
Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)
gfortran -O2 main.o io.o readdata.o matrix.o background.o slatec.o -o radex
strip radex
install -m 755 -p -s radex ../bin/
rm *.o
rm radex
Es scheint, dass die Anzahl der Zeichen im Argument nicht übereinstimmt. Bearbeiten Sie es daher.
Bearbeiten Sie FUNCTION length (str)
in io.f
. Passend zum Charakter in radex.inc
.
CHARACTER*200 str → CHARACTER*120 str
Dann verschwand der Fehler über "Länge (Radat)". Der Fehler "Länge (Version)" wird ebenfalls gelöscht.
"Charakter" der "Version" in "radex.inc" geändert. Mit "Radat" ausrichten.
character*20 version → character*120 version
Der Fehler length (version)
ist ebenfalls verschwunden.
Jedoch,
gfortran -O2 -c background.f -o background.o
background.f:405:72:
405 | if (h.eq.0.d0) pause 'Warning: bad xin input in splintrp '
|
Warning: Deleted feature: PAUSE statement at (1)
gfortran -O2 -c slatec.f -o slatec.o
slatec.f:824:72:
824 | IF (INCX .EQ. INCY) IF (INCX-1) 5,20,60
|
Warning: Fortran 2018 deleted feature: Arithmetic IF statement at (1)
Diese beiden Arten von Fehlern verschwinden nicht.
Versuchen Sie, das alte gcc mit Homebrew herunterzuladen. Die aktuellste Version ist 9.1.0. Installieren Sie also die vorherige.
$ brew install gcc@8
Verwenden Sie dann den Makefile-Compiler
FC = gfortran-8
ändern. Dann verschwindet der Fehler "Fortran 2018 gelöschte Funktion" und nur "PAUSE-Anweisung".
Bearbeiten Sie background.f
direkt.
if (h.eq.0.d0) pause 'Warning: bad xin input in splintrp '
→
if (h.eq.0.d0) then
write(*,*) 'Warning: bad xin input in splintrp '
read(*,*)
endif
Keine Fehler mehr!
Recommended Posts