・ MacBook Pro 2017 ・ Mojave 10.14.5
Suivez les étapes pour créer l'environnement selon la page ci-dessous.
https://personal.sron.nl/~vdtak/radex/index.shtml#install
Téléchargez le code source et décompressez-le.
$ tar xf radex_public.tar
Déplacez-vous vers src
dans le répertoire Radex
créé.
$ cd Radex/src
Editez Makefile
et spécifiez le compilateur pour make
. Utilisez initialement le gfortran par défaut sans le modifier.
Editez Radex.inc
et spécifiez l'emplacement des données moléculaires et la méthode de calcul de la probabilité d'échappement des photons.
parameter(radat = '/.../Radex/data/')
parameter (method = 1) ! uniform sphere
Dans le répertoire src
$ make
Frappé.
Ensuite, une longue erreur ---.
$ 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
Il semble que le nombre de caractères de l'argument ne correspond pas, alors modifiez-le.
Editez FUNCTION length (str)
dans ʻio.f. Correspond au caractère dans
radex.inc`.
CHARACTER*200 str → CHARACTER*120 str
Ensuite, l'erreur sur la «longueur (radat)» a disparu. L'erreur de «longueur (version)» est également effacée.
Changement de "caractère" de "version" dans "radex.inc". Alignez avec radat
.
character*20 version → character*120 version
L'erreur «longueur (version)» a également disparu.
cependant,
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)
Ces deux types d'erreurs ne disparaissent pas.
Essayez de télécharger l'ancien gcc avec Homebrew. Le dernier en date pour le moment est la 9.1.0, alors installez le précédent.
$ brew install gcc@8
Ensuite, utilisez le compilateur Makefile
FC = gfortran-8
changer en.
Ensuite, l'erreur de Fonction supprimée Fortran 2018
disparaît et uniquement l'instruction PAUSE
.
Modifiez directement background.f
.
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
Plus d'erreurs!
Recommended Posts