Dear CMAS community,
Is it possible to raise a question of CAMx (Comprehensive Air quality Modeling with Extension) in this forum?
I am trying to compiling the CAMx latest version (v6.50) in my Linux system, but it faces some errors described below:
When I use command “pgf” for Portland Group compiler for Linux, an error occurred:
“pgf90-Error-Unknown switch: -mcmodel=medium”
I found some suggests to change to intel compiler, then another error happed:
“: catastrophic error: Internal compiler error: internal abort Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.
compilation aborted for CMC/hddmjac2.f (code 1)
make[1]: *** [CMC/hddmjac2.o] Error 1
make[1]: Leaving directory `/home/scratch/CAMx_v6.50’
make: *** [comp_ifort] Error 2”
Could you please guide me how to address these errors?
My PGI version is 10.1.0 32-bit; CentOS 5.8,
On the other hand, unless you’re running a really-huge grid and a very large mechanism, you shouldn’t need it. Do you really have individual arrays larger than 2 GB? Or more than 2GB of COMMON?
I’m running ifort version 14.0.0, I/O API 3.2 installed under my $HOME,
netcdf-4.4.1.1, and netcdf-fortran-4.4.4, with the netCDF libs copied to
the appropriate $HOME/$BIN
I modified the Makefile.mozart2camx as indicated in the attached, with
corrected flags and include- and libs-directories, and did
make -f Makefile.mozart2camx
It built just fine.
BTW, either none or all of the compiler-flag sets should have
“-mcmodel=medium”; if “ifort” does not need it, then neither does “pgf90”.
thank you very much!
Your reply make me understand better the problem. My PGI version is 10.1 for 32-bit. So it may not support the -mcmodel=medium. I’m not really understand what -mcmodel=medium mean, but the PGI compiler reference manual say " Generate code which supports the medium memory model in the linux86-64 environment."
In this case, should I upgrade my OS to 64-bit before compiling the model?
That Makefile was rather strange in terms of what it was using for compile-flags. The original PGI flags definitely indicate 64-bit and medium memory model, whereas neither the Intel nor GNU Fortran flags indicate 64-bit nor medium memory model. I don’t really know…