New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#698 (Compiling NEMO with key_agrif option (pgf90)) – NEMO

Opened 14 years ago

Closed 14 years ago

#698 closed Defect (fixed)

Compiling NEMO with key_agrif option (pgf90)

Reported by: mgunduz Owned by: sga
Priority: low Milestone:
Component: AGRIF Version: v3.2
Severity: Keywords:
Cc:

Description

Dear All,

I am trying to compile NEMO_V3_2_1 with the below key options;

P_P = key_my_region key_dynspg_flt key_ldfslp key_zdftke key_dtasal key_dtatem key_vectopt_loop key_vectopt_memory key_lim2 key_agrif key_mpp_mpi

I am using mpif90 for compiling. The compiler option for linux cluster are below

#-Q- linux #- Global definitions for Linux, pgf90
#-Q- linux M_K = make
#-Q- linux P_C = /lib/cpp
#-Q- linux P_O = -P -C -traditional $(P_P)
#-Q- linux F_C = mpif90 -c
#-Q- linux #-D- MD F_D =
#-Q- linux #-D- MN F_D =
#-Q- linux #-P- I4R4 F_P = -i4
#-Q- linux #-P- I4R8 F_P = -i4 -r8
#-Q- linux #-P- I8R8 F_P = -i8 -r8
#-Q- linux F_O = $(F_D) $(F_P) -Mfree -Mfreeform -module $(MODDIR) -Kieee
#-Q- linux F_L = mpif90
#-Q- linux M_M = 0
#-Q- linux L_X = 0
#-Q- linux L_O =
#-Q- linux A_C = ar -r
#-Q- linux A_G = ar -x
#-Q- linux C_C = pgcc -c
#-Q- linux C_O = -Wall
#-Q- linux C_L = pgcc
#-Q- linux #-
#-Q- linux NCDF_INC = /opt/netcdf3/include/
#-Q- linux NCDF_LIB = -L/opt/netcdf3/lib/ -lnetcdf

First, the compiler complain about a couple of syntax errors;

==========
syntax error line 60, file .albedo.F90
syntax error line 60, file .
albedo.F90
syntax error line 36, file .domngb.F90
syntax error line 36, file .
domngb.F90
syntax error line 36, file .domngb.F90
syntax error line 36, file .
domngb.F90
syntax error line 36, file .domngb.F90
syntax error line 36, file .
domngb.F90
syntax error line 36, file .domngb.F90
syntax error line 36, file .
domngb.F90
...
...
...etc
============

and it stops, saying that;

============
PGF90-S-0155-Source line too long (OPAFILES/thd_ice_2.F90: 82)
PGF90/x86-64 Linux 8.0-6: compilation completed with severe errors
============

and indeed, when I checked the OPAFILES/thd_ice_2.F90 file,last line of the file has more than 1000 character in it.

I could not find any cpp option to ignore long blank lines.

Could you please help on this issue.

Thanks in advance.

Commit History (0)

(No commits)

Change History (2)

comment:1 Changed 14 years ago by sga

  • Owner changed from NEMO team to sga

Hello. I'm not familiar with this compiler, but a pragmatic solution is to introduce a sed instruction into the makefile.
Look for the target ".F90.a :" in file Makefile in the WORK directory. It will appear at the beginning of a line some way down the makefile. In the lines following you should find a line that looks:

-mv -f OPAFILES/AGRIF_MODELFILES/$*.F90 OPAFILES/$*.F90

Try changing this to something like:

-sed -e 's/ *$$' OPAFILES/AGRIF_MODELFILES/$*.F90 > OPAFILES/$*.F90

This just deletes all space characters on a blank line.
You can also delete blanks at the end of a line by adding another edit on the same line:

-e 's/ *$$'

Note that the sed line needs to start with a tab character, and two dollar signs are needed in the edits.
There's probably a better way to do this but this may get you going.
Let us know how you get on.
I shall have a look and see if the conv routine has any options.

Steven

comment:2 Changed 14 years ago by mgunduz

  • Resolution set to fixed
  • Status changed from new to closed

Dear Steven,

Thank you very much for your reply.

Changing the Makefile like your suggestion worked for me,
I successfully manage the compile the NEMO!.

(I also want to add that, I figure out that if I do NOT use "key_lim2"
option, the model do not complain above errors, and it is compiled)

Thanks again,
Murat

Note: See TracTickets for help on using tickets.