[PYTHON] Un mémo rempli de construction d'environnement RADEX

environnement

・ MacBook Pro 2017 ・ Mojave 10.14.5

Construction de l'environnement RADEX

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

Un mémo rempli de construction d'environnement RADEX
Mémo de construction de l'environnement ConoHa
Mémo de construction de l'environnement BigGorilla
Mémo de construction de l'environnement Anaconda
[Memo] Créez un environnement virtuel avec Pyenv + anaconda
Mémo de construction de l'environnement de développement Django
[Memo] Construction de l'environnement cygwin
Anaconda3 × Mémo de construction de l'environnement Pycharm
[MEMO] [Construction de l'environnement de développement] Python
[MEMO] [Construction de l'environnement de développement] wine
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Créer un environnement Kubernetes avec Ansible 2
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction d'un environnement Jupyter facile avec Cloud9
Créez un environnement virtuel avec Python!
Mémo de construction de l'environnement Python sur Mac
Créer un environnement virtuel avec Python 3
Mémo des travaux de construction de l'environnement StarCluster
[MEMO] [Construction de l'environnement de développement] Jupyter Notebook
Automatisez la construction d'environnement avec ShellScript
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Utilisation de Chainer avec CentOS7 [Construction de l'environnement]
Mémo de construction de l'environnement de développement Emacs Python
Mémo de construction de l'environnement de développement Ubuntu Desktop 20.04
Construction de l'environnement pytorch @ python3.8 avec pipenv
Créer un environnement Kubernetes avec Ansible 1
Créer un environnement avec pyenv et pyenv-virtualenv
Construction d'environnement Postgres avec Docker J'ai eu un peu de mal, alors notez
Construction de l'environnement LaTeX et R (un peu Python) avec SublimeText3 (Windows)
[Pyenv] Construire un environnement python avec ubuntu 16.04
Créez facilement un environnement de développement avec Laragon
Vue.js + Mémorandum de construction de l'environnement Flask ~ avec Anaconda3 ~
Créer un environnement Tensorflow avec Raspberry Pi [2020]
Un mémo contenant Python2.7 et Python3 dans CentOS
Création d'un environnement Python 3.6 avec Windows + PowerShell
Créez un environnement d'API rapide avec docker-compose
Obtenez un environnement local pour DynamoDB avec Docker
Mémo de construction de l'environnement de développement Mac OS X
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
Construction de l'environnement Django
Créer un environnement de développement de langage C avec un conteneur
Construction de l'environnement DeepIE3D
Construction d'environnement basée sur Emacs
Construire un environnement d'analyse avec Docker (jupyter notebook + PostgreSQL)
Construction de l'environnement MacOS 10.11: Powerline avec Anaconda et Dein.vim
Construction de l'environnement Linux
Construire un environnement python avec virtualenv et direnv
Mémo qui a fait un graphique pour animer avec intrigue
Créez un environnement python avec ansible sur centos6