error compiling fennel

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
sun_92
Posts: 27
Joined: Sat Apr 07, 2018 12:59 am
Location: INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR

error compiling fennel

#1 Unread post by sun_92 »

I'm getting the following error while I try to compile bio_fennel. Can any one suggest where I'm going wrong?

Code: Select all

biology.f90(188): error #6689: An assumed-shape array must be declared as a dummy argument.   [RMASK_FULL]
      real(r8), intent(in) :: rmask_full(LBi:,LBj:)
------------------------------^
biology.f90(188): error #6420: This array name is invalid in this context.   [RMASK_FULL]
      real(r8), intent(in) :: rmask_full(LBi:,LBj:)
------------------------------^
biology.f90(138): error #6784: The number of actual arguments cannot be greater than the number of dummy arguments.   [BIOLOGY_TILE]
      CALL biology_tile (ng, tile,                                      &
-----------^
biology.f90(144): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [RMASK_FULL]
     &                   GRID(ng) % rmask_full,                         &
------------------------------------^
biology.f90(147): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [Z_W]
     &                   GRID(ng) % z_w,                                &
------------------------------------^
biology.f90(151): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [PH]
     &                   OCEAN(ng) % pH,                                &
-------------------------------------^
biology.f90(152): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [DIABIO2D]
     &                   DIAGS(ng) % DiaBio2d,                          &
-------------------------------------^
biology.f90(153): error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [DIABIO3D]
     &                   DIAGS(ng) % DiaBio3d,                          &
-------------------------------------^
biology.f90(188): error #6917: This array with adjustable declarators must be declared a dummy argument.   [RMASK_FULL]
      real(r8), intent(in) :: rmask_full(LBi:,LBj:)
------------------------------^
compilation aborted for biology.f90 (code 1)
make: *** [/scratch/student2/roms_3.7/trunk/PROJECTS/fennel/Build/biology.o] Error 1

The following are my CPP options

#define UV_ADV
#define UV_COR
#define UV_LDRAG
#define UV_VIS2
#define MIX_GEO_UV
#undef MIX_S_UV
#define SPLINES_VDIFF
#define SPLINES_VVISC
#undef TS_U3HADVECTION
#undef TS_C4VADVECTION
#define TS_MPDATA
#define DJ_GRADPS
#define TS_DIF2
#define TS_DIF4
#define MIX_GEO_TS
#undef MIX_S_TS
#define MASKING
#define SRELAXATION
#define TCLIMATOLOGY
#define ASSUMED_SHAPE



#define SALINITY
#define SOLVE3D
#define AVERAGES
#define AVERAGES_FLUXES
#define SOLAR_SOURCE
#define DIAGNOSTICS_TS
#define DIAGNOSTICS_UV
#undef GLS_MIXING

#define LMD_MIXING
#ifdef LMD_MIXING
# define LMD_RIMIX
# define LMD_CONVEC
# define LMD_SKPP
# define LMD_BKPP
# define LMD_NONLOCAL
# define RI_SPLINES
#endif

# define BULK_FLUXES
#ifdef BULK_FLUXES
# define LONGWAVE
# undef ANA_RAIN
# define EMINUSP
# undef ANA_CLOUD
#else
# define ANA_SMFLUX
# define ANA_STFLUX
#endif


#undef ANA_GRID
#undef ANA_INITIAL
#undef ANA_SMFLUX
#undef ANA_STFLUX
#undef ANA_SSFLUX
# define WET_DRY
# define ANA_BTFLUX
# define ANA_BSFLUX
# define ANA_SPFLUX
# define LIMIT_BSTRESS

#undef NPZD_POWELL
#define BIO_FENNEL

#if defined BIO_FENNEL || defined ECOSIM || \
defined NPZD_POWELL || defined NEMURO
# undef ANA_BIOLOGY
# undef ANA_BPFLUX
#endif

#if defined NEMURO
# define HOLLING_GRAZING
# undef IVLEV_EXPLICIT
#endif

#ifdef BIO_FENNEL
# define OXYGEN
# define OCMIP_OXYGEN_SC
# define CARBON
# define pCO2_RZ
# define DENITRIFICATION
# define TALK_NONCONSERV
# define BIO_SEDIMENT
#endif
#define DIAGNOSTICS_BIO
#define DIAGNOSTICS_UV
#define DIAGNOSTICS_TS

#ifdef PERFECT_RESTART
# undef AVERAGES
# undef DIAGNOSTICS_BIO
# undef DIAGNOSTICS_TS
# undef DIAGNOSTICS_UV
# define OUT_DOUBLE
#endif

arnaudlaurent
Posts: 7
Joined: Thu Jun 19, 2008 3:24 am
Location: Oceanography Department, Dalhousie University

Re: error compiling fennel

#2 Unread post by arnaudlaurent »

I just noticed the same compiling error due to the following combination of CPP options:
WET_DRY
BIO_FENNEL
DIAGNOSTICS_BIO

The error is due to an extra space line 158 of fennel.h (if def should be ifdef)

Code: Select all

#ifdef MASKING
     &                         rmask,                                   &
# if defined WET_DRY
     &                         rmask_wet,                               &
#  if def DIAGNOSTICS_BIO
     &                         rmask_full,                              &
#  endif
# endif
#endif

Post Reply