kgullikson88 / Telluric-Fitter

Telluric fitting made easy
http://telfit.readthedocs.org/en/latest/
MIT License
20 stars 17 forks source link

"python setup.py build" LBLRTM recipe fails #15

Open jlamoure opened 7 years ago

jlamoure commented 7 years ago

Here is the output of a build attempt. Make of lnfl succeeds, stops at make of lblrtm. Build output points to make_lblrtm, line 63.


$ > python setup.py build
running build
running build_py
running build_ext

*****    Error!   *****
     aer_v_3.2.tar.gz not found in current directory!

jacob@lucy: ~/work/exes/telfit/bugReport/Telluric-Fitter > python setup.py build
running build
running build_py
running build_ext
Un-packing aer_v_3.2.tar.gz
Un-packing aerlnfl_v2.6.tar.gz
Un-packing aerlbl_v12.2.tar.gz

-----------------
  lnfl_v2.6_linux_gnu_sgl Makefile
-----------------

This Makefile was designed for the linux platform.

It uses the gfortran compiler, with the following options:
      -Wall -frecord-marker=4

The source files used are as follows:

      lnfl.f util_gfortran.f

lnfl_v2.6_linux_gnu_sgl make in progress ...

=================
  Makefile done
=================

-----------------
  lblrtm_v12.2_linux_gnu_sgl Makefile
-----------------

This Makefile was designed for the linux platform.

It uses the gfortran compiler, with the following options:
      -frecord-marker=4

The source files used are as follows:

      lblrtm.f90 oprop.f90 contnm.f90 xmerge.f90 testmm.f90 lblatm.f90 lbllow.f90 postsub.f90 pltlbl.f90 lbldum.f90 solar.f90 nonlte.f90 fftscn.f90 util_gfortran.f90 phys_consts.f90 planet_earth.f90 lblparams.f90 struct_types.f90

The object files used are as follows:

      lblrtm.o oprop.o contnm.o xmerge.o testmm.o lblatm.o lbllow.o postsub.o pltlbl.o lbldum.o solar.o nonlte.o fftscn.o util_gfortran.o phys_consts.o planet_earth.o lblparams.o struct_types.o

The object file path is as follows:
      lblrtm_v12.2_linux_gnu_sgl.obj

The executable will be:
../lblrtm_v12.2_linux_gnu_sgl

make in progress ...

../src/oprop.f90:6361:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:6633:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7140:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7308:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7502:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7618:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7734:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7850:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7940:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8004:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8094:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8158:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8274:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8338:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8428:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8518:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8582:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8672:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8840:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:8956:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9046:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9110:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9226:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9316:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9380:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9470:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9534:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9598:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9662:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9726:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9842:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9906:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:9970:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:10124:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:10188:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:10278:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:10368:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:10034:21:

       call AtoB(T,Qt,Tdat,Q,NT)
                     1
Warning: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:5665:26:

       COMMON/Temperatures/tdat !mja, 10-27-2011
                          1
Warning: Named COMMON block ‘temperatures’ at (1) shall be of the same size as elsewhere (4 vs 476 bytes)
../src/contnm.f90:1175:12:

      &     '  CO2: modification from 2000-3200 cm-1 (AERI(ARM), ',      &
            1
Warning: Initialization string at (1) was truncated to fit the variable (51/52)
../src/lblatm.f90:7555:30:

       IF (RANGEI .LT. DR) STOP'STOPPED IN FNDPTH'
                              1
Error: Blank required in STOP statement near (1)
../src/lblatm.f90:945:38:

                         CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT, &
                                      1
Warning: Actual argument contains too few elements for dummy argument ‘pm’ (2/6000) at (1)
../src/lblatm.f90:1006:35:

                      CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument ‘pm’ (2/6000) at (1)
../src/lblatm.f90:1065:35:

                      CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument ‘pm’ (2/6000) at (1)
../src/lblatm.f90:6787:35:

                      CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument ‘pm’ (2/6000) at (1)
make_lblrtm:63: recipe for target 'lblrtm_v12.2_linux_gnu_sgl.obj/lblatm.o' failed
make[1]: *** [lblrtm_v12.2_linux_gnu_sgl.obj/lblatm.o] Error 1
makefile.common:228: recipe for target 'linuxGNUsgl' failed
make: *** [linuxGNUsgl] Error 2
Traceback (most recent call last):
  File "setup.py", line 334, in <module>
    package_dir={'': 'src'}
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/lib/python2.7/distutils/command/build.py", line 128, in run
    self.run_command(cmd_name)
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 270, in run
    MakeLBLRTM()
  File "setup.py", line 223, in MakeLBLRTM
    subprocess.check_call(["make", "-f", "make_lblrtm", make_str], cwd="{}lblrtm/build".format(TELLURICMODELING))
  File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-f', 'make_lblrtm', 'linuxGNUsgl']' returned non-zero exit status 2
$ >

make_lblrtm line 62-63:

    $(FC) -c $(FCFLAG) -I$(SRCPATH) $< -o $@
$(OBJPATH)/lbllow.o:    $(SRCPATH)/lbllow.f90 phys_consts.mod planet_consts.mod lblparams.mod

These needed .mod files and lbllow.f90 seem to exist:

lblrtm/build
├── lblparams.mod
├── lblrtm_v12.2_linux_gnu_sgl.obi
├── makefile.common
├── make_lblrtm
├── phys_consts.mod
├── planet_consts.mod
├── README.build_instructions
└── struct_types.mod
$ > ls lblrtm/src/ | grep "lbllow"
lbllow.f90
kgullikson88 commented 7 years ago

That is... concerning. What system are you running on? My best suggestion for now would be to try to manually compile LBLRTM. Unfortunately the output log doesn't have useful information - it just says compilation failed.

jlamoure commented 7 years ago

Here is my system info:

$ > uname -a
Linux lucy 4.5.0-2-amd64 #1 SMP Debian 4.5.3-2 (2016-05-08) x86_64 GNU/Linux

In the meantime, your suggestion is a good one as I have successfully compiled LBLRTM in the past.

kgullikson88 commented 7 years ago

If you can get it compiled, you should be able to get telfit up an running semi-manually:

The easiest, which I'm not positive will actually work, would be to comment out lines 222 and 223 in the setup.py file (the lines that compile lnfl and lblrtm), and then try to run again. Let me know if that works.

jlamoure commented 7 years ago

It seems that in my rollback from Debian Stretch to Jessie, this compilation issue has gone away. Here is my current system and compilation output for the record.

$ > uname -a
Linux lucy 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
$ > python setup.py build
running build
running build_py
running build_ext
Un-packing aer_v_3.2.tar.gz
Un-packing aerlnfl_v2.6.tar.gz
Un-packing aerlbl_v12.2.tar.gz

-----------------
  lnfl_v2.6_linux_gnu_sgl Makefile
-----------------

This Makefile was designed for the linux platform.

It uses the gfortran compiler, with the following options:
      -Wall -frecord-marker=4

The source files used are as follows:

      lnfl.f util_gfortran.f

lnfl_v2.6_linux_gnu_sgl make in progress ...

=================
  Makefile done
=================

-----------------
  lblrtm_v12.2_linux_gnu_sgl Makefile
-----------------

This Makefile was designed for the linux platform.

It uses the gfortran compiler, with the following options:
      -frecord-marker=4

The source files used are as follows:

      lblrtm.f90 oprop.f90 contnm.f90 xmerge.f90 testmm.f90 lblatm.f90 lbllow.f90 postsub.f90 pltlbl.f90 lbldum.f90 solar.f90 nonlte.f90 fftscn.f90 util_gfortran.f90 phys_consts.f90 planet_earth.f90 lblparams.f90 struct_types.f90

The object files used are as follows:

      lblrtm.o oprop.o contnm.o xmerge.o testmm.o lblatm.o lbllow.o postsub.o pltlbl.o lbldum.o solar.o nonlte.o fftscn.o util_gfortran.o phys_consts.o planet_earth.o lblparams.o struct_types.o

The object file path is as follows:
      lblrtm_v12.2_linux_gnu_sgl.obj

The executable will be:
../lblrtm_v12.2_linux_gnu_sgl

make in progress ...

../src/oprop.f90:6361.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:6633.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7140.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7308.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7502.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7618.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7734.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7850.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:7940.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8004.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8094.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8158.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8274.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8338.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8428.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8518.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8582.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8672.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8840.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:8956.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9046.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9110.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9226.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9316.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9380.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9470.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9534.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9598.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9662.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9726.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9842.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9906.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:9970.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:10124.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:10188.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:10278.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:10368.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:10034.21:

      call AtoB(T,Qt,Tdat,Q,NT) 
                     1
Warning: Actual argument contains too few elements for dummy argument 'a' (119/600) at (1)
../src/oprop.f90:5665.26:

      COMMON/Temperatures/tdat !mja, 10-27-2011 
                          1
Warning: Named COMMON block 'temperatures' at (1) shall be of the same size as elsewhere (4 vs 476 bytes)
../src/contnm.f90:1175.12:

     &     '  CO2: modification from 2000-3200 cm-1 (AERI(ARM), ',      &
            1
Warning: Initialization string starting at (1) was truncated to fit the variable (51/52)
../src/lblatm.f90:945.38:

                        CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT, &
                                      1
Warning: Actual argument contains too few elements for dummy argument 'pm' (2/6000) at (1)
../src/lblatm.f90:1006.35:

                     CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument 'pm' (2/6000) at (1)
../src/lblatm.f90:1065.35:

                     CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument 'pm' (2/6000) at (1)
../src/lblatm.f90:6787.35:

                     CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT,    &
                                   1
Warning: Actual argument contains too few elements for dummy argument 'pm' (2/6000) at (1)
../src/lbllow.f90:2949.19:

      CALL BS (J,T,TEMP,NT,ST) 
                   1
Warning: Actual argument contains too few elements for dummy argument 'b' (3/9) at (1)
../src/postsub.f90:574.21:

      common /scanaj/HWHMa,V1a,V2a,JEMITa,JFNa,JVARa,                   &
                     1
Warning: Padding of 4 bytes required before 'v1a' in COMMON 'scanaj' at (1); reorder elements or use -fno-align-commons
../src/postsub.f90:806.21:

      common /scanaj/HWHM,V1,V2,JEMIT,JFN,JVAR,SAMPL,NNFILE,NPTS 
                     1
Warning: Padding of 4 bytes required before 'v1' in COMMON 'scanaj' at (1); reorder elements or use -fno-align-commons

=================
  Makefile done

../lblrtm_v12.2_linux_gnu_sgl created
=================
Making /home/jacob/.TelFit/rundir1
Making /home/jacob/.TelFit/rundir2
Making /home/jacob/.TelFit/rundir3
Making /home/jacob/.TelFit/rundir4
skipping 'src/FittingUtilities.c' Cython extension (up-to-date)
irebollido commented 6 years ago

Hello, I'm having the same issue but with OSx High Sierra. I tried commenting the lines, but it doesn't solve anything. It is working in ubuntu though.

kgullikson88 commented 6 years ago

I don't know why the original thing occurred so I'm not sure. Did you try compiling LBLRTM on your own and got the same error?

  1. Go to the ~/.TelFit/lblrtm/build directory
  2. Run make -f make_lblrtm linuxGNUsgl (Actually, whatever the correct compiler for mac is...)
  3. Comment those lines in the setup.py file

If compilation fails, you could try different options in the make command. But make sure you use single precision since otherwise things will fail when trying to build models.

irebollido commented 6 years ago

I tried. I also tried downloading the latest versions of both lblrtm and lnfl from here: http://rtweb.aer.com/lblrtm.html I can compile lnfl, but not lblrtm. Do you think it has something to do with the compiler version? I am also getting this error while trying to build lblrtm in between all the warnings, which I don't know what it means:

Error: Blank required in STOP statement near (1) ../src/lblatm.f90:946:38:

                     CALL CMPALT(2,PTMP,TTMP, WVTMP,ZTMP(1),REF_LAT, &
                                  1
kgullikson88 commented 6 years ago

There might be a compiler version issue. LBLRTM is very finicky... could you try playing with gfortran versions and report back if you get one to work?

That error might be what actually caused the build to fail, but I'm not familiar enough with the LBLRTM code to have any suggestions.

vdorazi commented 6 years ago

I got exactly the same issue :-( I don't know how to fix this issue with the fortran compiler, I have tried pretty much everything.. waiting for your help !

kgullikson88 commented 6 years ago

I'm really not an expert on LBLRTM... this code is a wrapper and assumes that it is possible to compile LBLRTM on your system. If that's not the case I really can't help you. I would suggest raising the issue with the LBLRTM folks and try to get help compiling on your system. If you get it to work, please report back; I may be able to make changes to the installation of TelFit if I know why LBLRTM won't install on recent Mac OS's.

vdorazi commented 6 years ago

I found a way to fix it. I compiled using gfortran but commenting the FCFLAG. Also a blank space has to be added in file lblrtm.f90 on line 7555:31 "IF (RANGEI .LT. DR) STOP'STOPPED IN FNDPTH'"

Hope this helps Valentina

kgullikson88 commented 6 years ago

Valentina,

Great, thanks! I'll try to see if I can get this fixed fairly soon. By commenting the FCFLAG, do you mean you changed the Makefile for LBLRTM?

vdorazi commented 6 years ago

Yes :-) in the dir ~/.Telfit/lblrtm/build , the file makefile.common where it says (for mac os x). FC=gfortran \

FCFLAG="-frecord-marker=4" \

    UTIL_FILE=util_gfortran.f90

And also is important to edit the lblrtm.f90 file in the src dir

kgullikson88 commented 6 years ago

I finally got a chance to look into this. Frustratingly, it works fine on my mac with High Sierra so this will be hard to debug without some more of your help. Here is my gfortran version; could you post what you get also?

gfortran --version

GNU Fortran (Homebrew gcc 6.1.0) 6.1.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It also looks like you meant that you had to change lblatm.f90, not lblrtm.f90, correct? I made the code change there and uploaded a new version to zenodo. Can you try the issue-15 branch of this repository? Delete your ~/.Telfit directory, switch to that branch, and try python setup.py build again. It should pull the new files and try to compile things.

Thanks! Kevin

braised-babbage commented 6 years ago

I ran into the same build issue.

The Fix

More or less what vdorazi mentioned.

I tried python setup.py install, and it failed to build lblrtm.

To fix the build, added a space in ~/.TelFit/lblrtm/srclblatm.f90 at line 7555 position 31. It originally was IF (RANGEI .LT. DR) STOP'STOPPED IN FNDPTH' and I changed it to IF (RANGEI .LT. DR) STOP 'STOPPED IN FNDPTH'

I did not need to edit makefile.common at all.

Then, to make this fix work using python setup.py install, I commented out line 211 of setup.py, subprocess.check_call(["tar", "-xzf", '{}{}'.format(TELLURICMODELING, fname), '-C', TELLURICMODELING]) so as to not overwrite the source edit I had made. Then, the install worked fine.

Additional Info

I have gfortran 7.3.0 on OSX High Sierra. I believe this error is only seen on more recent versions of gfortran, c.f. this similar-looking issue.

kgullikson88 commented 6 years ago

@kilimanjaro did you try with the issue-15 branch? That pulls the lblrtm code that has the fix you mentioned, so it should work.

vdorazi commented 6 years ago

Hello Kevin,

I get

GNU Fortran (GCC) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

and yes i did not edit lblrtm.f90 but now I need to double check what I have done ;-)

sorry for the delay

Valentina

On 19 Mar 2018, at 02:55, Kevin Gullikson notifications@github.com wrote:

I finally got a chance to look into this. Frustratingly, it works fine on my mac with High Sierra so this will be hard to debug without some more of your help. Here is my gfortran version; could you post what you get also?

gfortran --version

GNU Fortran (Homebrew gcc 6.1.0) 6.1.0 Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It also looks like you meant that you had to change lblatm.f90, not lblrtm.f90, correct? I made the code change there and uploaded a new version to zenodo. Can you try the issue-15 branch of this repository? Delete your ~/.Telfit directory, switch to that branch, and try python setup.py build again. It should pull the new files and try to compile things.

Thanks! Kevin

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

gmbrandt commented 4 years ago

Just want to add that I had this same issue, and that the issue-15 branch does install and build correctly. Could that be merged into master?

StuartLittlefair commented 4 years ago

On OSX catalina (10.15.4) with gfortran compiler I had this same issue but managed to install by using the issue-15 branch.

I had to edit the makefile.common files in ~/.TelFit/lbrtm/build and ~/.TelFit/lnfl/build to add -std=legacy to the FCFLAG entry for osxGNUsgl.

gully commented 3 years ago

Is anyone encountering these installation woes still? We have just deployed a new version (v1.4.0) of telfit to PyPI so pip install telfit now works for Python3 only, and in principle some of these installation frictions could be mitigated with that installation strategy. In practice this path has undergone only two users tests that we are aware of, so we are asking for your help in these specific ways:

1) beginner Attempt to pip install telfit on your system and share your experience here or preferably in Issue #34 2) intermediate Add/expand a "troubleshooting" section to Installation Documentation. The relevant File is docs/Installation.rst, it can be modified with a regular text editor, and uploaded back to GitHub with a Pull Request.
3) advanced Set up continuous integration to get telfit automatically tested on a range of platforms with a range of configurations.

Please help telfit grow as a sustainable open source project by volunteering some of your time in one of these three specific ways. We appreciate any help you can offer! Thank you! :pray:

HyderPang commented 3 years ago

To anyone who might see this: I met the same problem, idicating something wrong in calling AtoB(T,Qt,Tdat,Q,NT), while I am compling AER's LBLRTM sources manully. It seems like this:

Error: Actual argument contains too few elements for dummy argument ‘a’ (119/600) at (1)
../src/oprop.f90:7088:18:

 7088 |    call AtoB(T,Qt,Tdat,Q,NT)

and after a long queue same problems as above, like this: make[1]: *** [make_lblrtm:56: lblrtm_v12.11_mingw_gnu_sgl.obj/oprop.o] Error 1

I am currently in demand of using LBLRTM, while I don't have any experience on Fortran. I refered to 

https://github.com/AER-RC/LBLRTM/issues/2 and found the solution. No need to change the code, just add -std=legacy for FCFLAG in makefile.common, it will look like this way:(Please note that I am using mingwGNUsgl version)

mingwGNUsgl:
${MAKE} -f ${MAKEFILE} all P_TYPE=sgl FC_TYPE=gnu PLTFRM=mingw \
FC=gfortran \
FCFLAG="-frecord-marker=4 -std=legacy" \
UTIL_FILE=util_gfortran.f90

I would be very glad if this would help anyone.

shihyuntang commented 2 years ago

Hi @HyderPang ,

Thank you for reporting this. In #32 fix, i patched this error for Linux and Mac OS but forgot Windows... I made a PR, #43 , to fix this. However, i don't have a Windows machine with me to test if that works. Will be nice if you can check that fix out and report show it goes. Thank you!

gully commented 2 years ago

I just merged the PR #43