How to set flag options of MEGANv3.2 Makefiles in accordance with the gfortran compiler?

Hi,
I’m new to biogenic emission modeling, and I’m trying to use the gfortran compiler to build and run the MEGANv3.2 model. I got an error when running “make_all_programs.scr”. I don’t know how to set the flag options of the Makefiles (under DAYMET, IOAPI2UAM, MEGCAN, MEGSEA, MEGVEA, MET2MGN, MGN2MECH, TXT2IOAPI) in accordance with the gfortran compiler. Could anyone help me to set the suitable flag options for the Makefiles?
Thank you for any help in advance.

Reza

A good resource is the I/O API Makefile tand Makeinclude.Linux2_x86_64gfort (or Makeinclude.Linux2_x86_64dbg for debug/traceback/check-everything).

Dear Carlie,
Thank you for your reply. I couldn’t find Makefile or Makeinclude files under the I/O API. Is there any other solution to the issue?

???

ioapi-3.2#24 ls -l ioapi/Mak\*
-rw-r--r-- 1 coats coats 15901 Jan 31 17:04 ioapi/Makefile
-rw-r--r-- 1 coats coats 16401 Jan 31 17:04 ioapi/Makefile.cpl
-rw-r--r-- 1 coats coats 15897 Jan 31 17:04 ioapi/Makefile.cpl.sed
-rw-r--r-- 1 coats coats 15835 Jan 31 17:04 ioapi/Makefile.cpphack
-rw-r--r-- 1 coats coats 16366 Jan 31 17:04 ioapi/Makefile.nocpl
-rw-r--r-- 1 coats coats 15864 Jan 31 17:04 ioapi/Makefile.nocpl.sed
-rw-r--r-- 1 coats coats 15866 Jan 31 17:04 ioapi/Makefile.pncf
-rw-r--r-- 1 coats coats 15822 Jan 31 17:04 ioapi/Makefile.pncf.sed
-rw-r--r-- 1 coats coats   636 Dec 12  2019 ioapi/Makeinclude.AIX
-rw-r--r-- 1 coats coats   687 Dec 12  2019 ioapi/Makeinclude.AIX_
-rw-r--r-- 1 coats coats   604 Dec 12  2019 ioapi/Makeinclude.AIXdbg
-rw-r--r-- 1 coats coats   637 Mar 26  2020 ioapi/Makeinclude.Darwin_x86_64ifort
-rw-r--r-- 1 coats coats   528 Dec 12  2019 ioapi/Makeinclude.HPUX
-rw-r--r-- 1 coats coats   638 Dec 12  2019 ioapi/Makeinclude.IRIX5
-rw-r--r-- 1 coats coats   889 Dec 12  2019 ioapi/Makeinclude.IRIX64
-rw-r--r-- 1 coats coats   840 Dec 12  2019 ioapi/Makeinclude.IRIX64dbg
-rw-r--r-- 1 coats coats   829 Dec 12  2019 ioapi/Makeinclude.IRIX64r8
-rw-r--r-- 1 coats coats   900 Dec 12  2019 ioapi/Makeinclude.IRIX6n32
-rw-r--r-- 1 coats coats  1014 Dec 12  2019 ioapi/Makeinclude.IRIX6n32dbg
-rw-r--r-- 1 coats coats   876 Dec 12  2019 ioapi/Makeinclude.IRIX6n32r8
-rw-r--r-- 1 coats coats   615 Dec 12  2019 ioapi/Makeinclude.Linux2_alpha
-rw-r--r-- 1 coats coats   642 Dec 12  2019 ioapi/Makeinclude.Linux2_alphadbg
-rw-r--r-- 1 coats coats   678 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64
-rw-r--r-- 1 coats coats   521 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64_mp
-rw-r--r-- 1 coats coats   614 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64_nomp
-rw-r--r-- 1 coats coats   633 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64dbg
-rw-r--r-- 1 coats coats   618 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64g95
-rwxr-xr-x 1 coats coats   615 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64gcc
-rw-r--r-- 1 coats coats  1162 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64gfort
-rw-r--r-- 1 coats coats   900 Dec 12  2019 ioapi/Makeinclude.Linux2_ia64ifort
-rw-r--r-- 1 coats coats   873 Mar 26  2020 ioapi/Makeinclude.Linux2_ia64ifortdbg
-rw-r--r-- 1 coats coats  1345 Oct  3  2020 ioapi/Makeinclude.Linux2_x86
-rw-r--r-- 1 coats coats  1330 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64
-rw-r--r-- 1 coats coats  1400 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64_360
-rw-r--r-- 1 coats coats  1425 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64_365
-rw-r--r-- 1 coats coats   636 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64af95
-rw-r--r-- 1 coats coats   981 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64af95_
-rw-r--r-- 1 coats coats   966 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64af95_dbg
-rw-r--r-- 1 coats coats   620 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64af95dbg
-rw-r--r-- 1 coats coats  1213 Jun 21  2020 ioapi/Makeinclude.Linux2_x86_64aocc
-rw-r--r-- 1 coats coats  1176 Jan 31 17:04 ioapi/Makeinclude.Linux2_x86_64dbg
-rw-r--r-- 1 coats coats   695 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64g95
-rw-r--r-- 1 coats coats   713 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64g95dbg
-rw-r--r-- 1 coats coats  1527 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort
-rw-r--r-- 1 coats coats  1452 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort10
-rw-r--r-- 1 coats coats  1810 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort10_medium
-rw-r--r-- 1 coats coats  1488 Jan 31 17:04 ioapi/Makeinclude.Linux2_x86_64gfort10_mediumdbg
-rw-r--r-- 1 coats coats  1465 Jan 31 17:04 ioapi/Makeinclude.Linux2_x86_64gfort10dbg
-rw-r--r-- 1 coats coats  1514 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort10mpi
-rw-r--r-- 1 coats coats  1534 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort_360
-rw-r--r-- 1 coats coats  1534 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort_365
-rw-r--r-- 1 coats coats  1885 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfort_medium
-rw-r--r-- 1 coats coats  1565 Jan 31 17:04 ioapi/Makeinclude.Linux2_x86_64gfort_mediumdbg
-rw-r--r-- 1 coats coats  1738 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfortdbg
-rw-r--r-- 1 coats coats  1264 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfortdbg.mine
-r--r--r-- 1 coats coats  1252 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfortdbg.r147
-r--r--r-- 1 coats coats  1530 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfortdbg.r188
-rw-r--r-- 1 coats coats  1589 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64gfortmpi
-rw-r--r-- 1 coats coats  1493 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifort
-rw-r--r-- 1 coats coats  1264 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifort_360
-rw-r--r-- 1 coats coats  1343 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifort_365
-rw-r--r-- 1 coats coats  1673 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifort_medium
-rw-r--r-- 1 coats coats  1603 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifort_mediumdbg
-rw-r--r-- 1 coats coats  1436 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifortdbg
-rw-r--r-- 1 coats coats  1431 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifortmpi
-rw-r--r-- 1 coats coats  1466 Mar 26  2020 ioapi/Makeinclude.Linux2_x86_64ifortmpidbg
-rw-r--r-- 1 coats coats   978 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64path
-rw-r--r-- 1 coats coats   976 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pathdbg
-rw-r--r-- 1 coats coats  2038 Oct  3  2020 ioapi/Makeinclude.Linux2_x86_64pg
-rw-r--r-- 1 coats coats  2133 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pg_360
-rw-r--r-- 1 coats coats  2124 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pg_365
-rw-r--r-- 1 coats coats  2199 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pg_gcc_nomp
-rw-r--r-- 1 coats coats  2239 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pg_medium
-rw-r--r-- 1 coats coats  2053 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pg_pgcc_nomp
-rw-r--r-- 1 coats coats  2072 Feb 19  2021 ioapi/Makeinclude.Linux2_x86_64pgdbg
-rw-r--r-- 1 coats coats  2198 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64pgmpi
-rw-r--r-- 1 coats coats   796 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64sun
-rw-r--r-- 1 coats coats   790 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64sundbg
-rw-r--r-- 1 coats coats   959 Dec 12  2019 ioapi/Makeinclude.Linux2_x86_64sunmpi
-rw-r--r-- 1 coats coats   574 Dec 12  2019 ioapi/Makeinclude.Linux2_x86af95
-rw-r--r-- 1 coats coats   900 Dec 12  2019 ioapi/Makeinclude.Linux2_x86af95_
-rw-r--r-- 1 coats coats   892 Dec 12  2019 ioapi/Makeinclude.Linux2_x86af95_dbg
-rw-r--r-- 1 coats coats   566 Dec 12  2019 ioapi/Makeinclude.Linux2_x86af95dbg
-rw-r--r-- 1 coats coats  1298 Oct  3  2020 ioapi/Makeinclude.Linux2_x86dbg
-rw-r--r-- 1 coats coats   721 Dec 12  2019 ioapi/Makeinclude.Linux2_x86g95
-rw-r--r-- 1 coats coats   735 Dec 12  2019 ioapi/Makeinclude.Linux2_x86g95dbg
-rw-r--r-- 1 coats coats   577 Dec 12  2019 ioapi/Makeinclude.Linux2_x86lf95
-rw-r--r-- 1 coats coats   983 Dec 12  2019 ioapi/Makeinclude.Linux2_x86path
-rw-r--r-- 1 coats coats  1938 Dec 12  2019 ioapi/Makeinclude.Linux2_x86pg
-rw-r--r-- 1 coats coats  2057 Dec 12  2019 ioapi/Makeinclude.Linux2_x86pg_gcc_mp
-rw-r--r-- 1 coats coats  2059 Dec 12  2019 ioapi/Makeinclude.Linux2_x86pg_gcc_nomp
-rw-r--r-- 1 coats coats  1947 Dec 12  2019 ioapi/Makeinclude.Linux2_x86pg_pgcc_mp
-rw-r--r-- 1 coats coats  1883 Dec 12  2019 ioapi/Makeinclude.Linux2_x86pg_pgcc_nomp
-rw-r--r-- 1 coats coats   679 Dec 12  2019 ioapi/Makeinclude.Linux2_x86sun
-rw-r--r-- 1 coats coats   733 Dec 12  2019 ioapi/Makeinclude.Linux2_x86sundbg
-rw-r--r-- 1 coats coats   657 Dec 12  2019 ioapi/Makeinclude.OSF1
-rw-r--r-- 1 coats coats   881 Dec 12  2019 ioapi/Makeinclude.OSX_x86
-rw-r--r-- 1 coats coats   815 Dec 12  2019 ioapi/Makeinclude.OSX_x86_64ifort
-rw-r--r-- 1 coats coats  1182 Dec 12  2019 ioapi/Makeinclude.OSX_x86_gfortran
-rw-r--r-- 1 coats coats   631 Dec 12  2019 ioapi/Makeinclude.SunOS5
-rw-r--r-- 1 coats coats   655 Dec 12  2019 ioapi/Makeinclude.SunOS5dbg
-rw-r--r-- 1 coats coats  1497 Dec 12  2019 ioapi/Makeinclude.WIN_x86_64gfort
-rw-r--r-- 1 coats coats  1513 Dec 12  2019 ioapi/Makeinclude.WIN_x86_64gfort_medium
-rw-r--r-- 1 coats coats  1603 Dec 12  2019 ioapi/Makeinclude.WIN_x86_64mingw64
-rw-r--r-- 1 coats coats  1527 Dec 12  2019 ioapi/Makeinclude.WIN_x86gfort
-rw-r--r-- 1 coats coats   589 Dec 12  2019 ioapi/Makeinclude.cray

I have installed IOAPI version 3.1. The IOAPI directory includes:

IOAPI directory ??? This is not an I/O API 3.1 install !!

The directory structure of the install has:

ioapi-3.1

HTML/
Linux2_x86_64ifort/ [etc…]
ioapi/
iotests/
m3tools/
notcdf/

The directory is different from the structure that you shared. But, I have used it in my WRF/CMAQ runs.

Where the ??? did it come from ???

Carlie J. Coats, Jr., Ph.D.
I/O API Author/Maintainer

I used this command to download the IOAPI from (probably your) Github account:
git clone https://github.com/cjcoats/ioapi-3.2

Judging by what you said above

I have installed IOAPI version 3.1. The IOAPI directory includes:

your git clone …ioapi-3.2 was not followed by an actual installation. I give up with you.

Dear Reza,
I was facing the same problem and this thread has helped me solve it: MEGAN 3.2 Error While Running and Compiling
It’s pretty much the same as what Dr. Coats has mentioned here.
Anyhow, I can create google drive folder containing the makefiles adjusted to gfortran in 24hours and post the link here. If you still need them, let me know.

@amirdudu
Hi dear Amir,
Thank you for your help. I will be pleased if you share the Makefiles with me. Moreover, I couldn’t find any guide for MEGANv3.2. Could you please inform me if is there any guide for version 3.2?

Thank you in advance.

Best regards,

Reza

Dear Reza,
Here is the google drive link for gfortran Makefiles: Makefiles_MEGAN3.2 - Google Drive
These flags worked for me and I hope that they do for you too.
Since MEGAN3.1 and 3.2 work almost in the same way, you can use the MEGAN3.1 user guide which is also included in the link above.
Bests
Amir

1 Like

Just for the avoidance of any doubt, it’s important to remember that MEGAN and its preprocessors are not developed or supported by CMAS or the USEPA but instead are developed and maintained by the Biosphere Atmosphere Interactions Group at the University of California, Irvine. The only connection to CMAS-supported software is the apparent use of I/O API by some of the MEGAN code.

To our knowledge, the MEGAN developers are not active on this forum. As stated in its description, the purpose of the MEGAN tag on this forum is to be a “category for those who would like to collaborate on solving issues regarding MEGAN.”. In that sense, it’s great to see @amirdudu and @f.garcia share their experiences regarding the use of MEGAN. However, I would not expect any of the changes to the MEGAN code or build instructions discussed in the other thread linked by @amirdudu to be implemented in the MEGAN code released by the developers unless some community members reach out to the MEGAN developers to make this happen and/or the MEGAN developers become active on this forum and respond to issues directly.

2 Likes

@amirdudu
Dear Amir,
Despite my efforts to find the gfortran equivalent of the flag options, I was unable to do so for some of them. My issue was resolved by these files. I greatly appreciate your assistance.

Best regards,
Reza

1 Like