How to compile CALMET v6.5.0 (and CALPUFFv7.2.1) in Linux-Ming, gfortran: Help

767 views
Skip to first unread message

Lorenzo Costantino

unread,
Feb 10, 2021, 6:43:22 AM2/10/21
to european-calpuff-user-discussion-group

Hi everybody,

My name is Lorenzo and for my air-quality analysis projects I am trying to compile and use CALMET (and then CALPUFF) for the first time. I downloaded the last versions of the two softwares: CALMET v6.5.0 (and CALPUFFv7.2.1).

I do not really manage to compile CALMET v6.5.0 on my linux Mint OS VM, 64 bit. No help or read me is provided.
I just run the following command in the main directory, as I found for v5 (on the web).

gfortran -o calmet.exe calmet.for 2>compile-calmet-gfortran.log

but several errors occur (!). First of all, I had to change the name of all files in the folder, from uppercase to lowercase letters (the same for CALPUFF, while CALWRF compiled fine, without errors at the first attemp). Then, in my compile log, I have 7 errors on calmet.for and calutils.for. That's quite strange, so many errors. May be gfortran is not good? I need special compilation option?
I did not find any info on the web for the moment, concerning this version.
Any glue on that?

Thanks,

lorenzo costantino


37832 |             call readin(cvdic(1,4),ivleng(1,4),ivtype(1,4),io5,io6,
      |                        1
Error: Actual argument contains too few elements for dummy argument ‘cvdic’ (540/720) at (1)
calmet.for:37878:24:

37878 |             call readin(cvdic(1,5),ivleng(1,5),ivtype(1,5),io5,io6,
      |                        1
Error: Actual argument contains too few elements for dummy argument ‘cvdic’ (360/720) at (1)
calmet.for:37911:21:

37911 |          call readin(cvdic(1,6),ivleng(1,6),ivtype(1,6),io5,io6,lecho,
      |                     1
Error: Actual argument contains too few elements for dummy argument ‘cvdic’ (180/720) at (1)
calmet.for:13759:59:

13759 |             call vertav(iupwnd,uaa,vaa,zlaa,nlaa(iupwnd),1,zupwnd,
      |                                                           1
Error: Actual argument contains too few elements for dummy argument ‘zface’ (2/13) at (1)
calmet.for:13761:59:

13761 |             call vertav(iupwnd,ubb,vbb,zlbb,nlbb(iupwnd),1,zupwnd,
      |                                                           1
Error: Actual argument contains too few elements for dummy argument ‘zface’ (2/13) at (1)
calutils.for:2720:21:

 2720 |          call ALLCAP(amon,3)
      |                     1
Error: Actual argument contains too few elements for dummy argument ‘cstor2’ (3/200) at (1)
calutils.for:2730:21:

 2730 |          call ALLCAP(amon,3)
      |                     1
Error: Actual argument contains too few elements for dummy argument ‘cstor2’ (3/200) at (1)

divah...@gmail.com

unread,
Feb 10, 2021, 8:30:36 AM2/10/21
to european-calpuff-user-discussion-group
I tried compiling calmet 6.4.0 using the same options as yours and only had WARNINGS - no errors.  it also produced an executable.
I did compile my linux version of CALMET 6.4.0 with Intel Fortran compiler instead.  I did not get any warnings or errors.

divah...@gmail.com

unread,
Feb 10, 2021, 8:53:10 AM2/10/21
to european-calpuff-user-discussion-group
If it helps, I used this version of GFORTRAN --> GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
OS is CentOS 7
My Intel Fortran compiler is Intel Parallel Studio XE 2016

Lorenzo Costantino

unread,
Feb 11, 2021, 6:41:05 AM2/11/21
to european-calpuff-user-discussion-group
Hi,

Thank you very much (!!) Yes it did help, definitely.
As you confirmed that your gfortran compiled fine, i looked for any good option and for my gfortran version (GNU Fortran (Ubuntu 9.3.0-17ubuntu1~20.04)
9.3.0) and I found that the option

-std=legacy

is mandatory in my case (as well as for CALPUFF). Here why I guess:

"Some code contains calls to external procedures with mismatches between the calls and the procedure definition, or with mismatches between different calls. Such code is non-conforming, and will usually be flagged with an error. This options degrades the error to a warning, which can only be disabled by disabling all warnings via -w. Only a single occurrence per argument is flagged by this warning. -fallow-argument-mismatch is implied by -std=legacy"

"[....] where you are using a legacy package where the code isn’t being changed, using -std=legacy can be necessary, particularly for Gfortran ≥ 8."

MAJO

unread,
Feb 11, 2021, 2:11:46 PM2/11/21
to european-calpuff-us...@googlegroups.com
Hi all, I recently found out that CALApps exists which is a GUI. someone of you has it or knows where I can download it. Thanks a lot.

Miguel Ángel Jiménez Olmos
Ing. Ambiental y Sanitario.
Esp.En la SST

--
You received this message because you are subscribed to the Google Groups "european-calpuff-user-discussion-group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to european-calpuff-user-dis...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/european-calpuff-user-discussion-group/9ea1894c-9572-476e-a3b9-8144b7a71698n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages