Hi,
I have been dealing with a compilation problem for several weeks now, which I cannot manage to solve. I hope someone understands where the problem is coming from. When I run make in my main file I get the following error:
cd Build; gfortran -c -frepack-arrays -O3 -ffast-math analytical.f90
analytical.f90:121.32:
BOUNDARY(ng)%zeta_east(j)=0.0_r8
1
Error: 'zeta_east' at (1) is not a member of the 't_boundary' structure
analytical.f90:524.32:
BOUNDARY(ng)%ubar_east(j)=0.0_r8
1
Error: 'ubar_east' at (1) is not a member of the 't_boundary' structure
analytical.f90:527.32:
BOUNDARY(ng)%vbar_east(j)=0.0_r8
1
Error: 'vbar_east' at (1) is not a member of the 't_boundary' structure
make: *** [Build/analytical.o] Error 1
What is going wrong and how can I solve it? Thank you very much.
Cheers,
Nils
Compilation Problems
-
- Posts: 19
- Joined: Fri Jul 30, 2010 3:56 am
- Location: Pontifica Universidad Catolica de Chile
Re: Compilation Problems
What boundary conditions are you using? In mod_boundary.F, there is code like:
You can't set an eastern boundary value unless it gets used somewhere.
Code: Select all
# ifdef EAST_FSOBC
real(r8), pointer :: zeta_east(:)
-
- Posts: 19
- Joined: Fri Jul 30, 2010 3:56 am
- Location: Pontifica Universidad Catolica de Chile
Re: Compilation Problems
Hi Kate,
Thanks for your reply. This is the structure of my .h file:
#define UV_ADV
#define UV_VIS2
#define UV_COR
#define UV_QDRAG
#define DJ_GRADPS
#define TS_FIXED
#undef AVERAGES
#define CURVGRID
#define MASKING
#undef SOLVE3D
#undef SPLINES
#define MIX_S_UV
#define RADIATION_2D
#undef ZCLIMATOLOGY
#define M2CLIMATOLOGY
#define SSH_TIDES
#ifdef SSH_TIDES
# define RAMP_TIDES
# define ADD_FSOBC
# define WEST_FSCHAPMAN
# define EAST_FSCHAPMAN
# define SOUTH_FSCHAPMAN
# define NORTH_FSCHAPMAN
#else
# define WEST_FSGRADIENT
# define EAST_FSGRADIENT
# define SOUTH_FSGRADIENT
# define NORTH_FSGRADIENT
#endif
#define UV_TIDES
#ifdef UV_TIDES
# define ADD_M2OBC
# define WEST_M2FLATHER
# define EAST_M2FLATHER
# define SOUTH_M2FLATHER
# define NORTH_M2FLATHER
#else
# define WEST_M2RADIATION
# define EAST_M2RADIATION
# define SOUTH_M2RADIATION
# define NORTH_M2RADIATION
#endif
#define WEST_TRADIATION
#define EAST_TRADIATION
#define SOUTH_TRADIATION
#define NORTH_TRADIATION
#define ANA_FSOBC
#define ANA_M2OBC
#define ANA_TCLIMA
#define ANA_M2CLIMA
#define ANA_SMFLUX
#define ANA_SRFLUX
#define ANA_INITIAL
#define WET_DRY
I found the code you mention in mod_boundary.F, but I don't understand what I should do with it to solve the problem. Any ideas?
Cheers,
Nils
Thanks for your reply. This is the structure of my .h file:
#define UV_ADV
#define UV_VIS2
#define UV_COR
#define UV_QDRAG
#define DJ_GRADPS
#define TS_FIXED
#undef AVERAGES
#define CURVGRID
#define MASKING
#undef SOLVE3D
#undef SPLINES
#define MIX_S_UV
#define RADIATION_2D
#undef ZCLIMATOLOGY
#define M2CLIMATOLOGY
#define SSH_TIDES
#ifdef SSH_TIDES
# define RAMP_TIDES
# define ADD_FSOBC
# define WEST_FSCHAPMAN
# define EAST_FSCHAPMAN
# define SOUTH_FSCHAPMAN
# define NORTH_FSCHAPMAN
#else
# define WEST_FSGRADIENT
# define EAST_FSGRADIENT
# define SOUTH_FSGRADIENT
# define NORTH_FSGRADIENT
#endif
#define UV_TIDES
#ifdef UV_TIDES
# define ADD_M2OBC
# define WEST_M2FLATHER
# define EAST_M2FLATHER
# define SOUTH_M2FLATHER
# define NORTH_M2FLATHER
#else
# define WEST_M2RADIATION
# define EAST_M2RADIATION
# define SOUTH_M2RADIATION
# define NORTH_M2RADIATION
#endif
#define WEST_TRADIATION
#define EAST_TRADIATION
#define SOUTH_TRADIATION
#define NORTH_TRADIATION
#define ANA_FSOBC
#define ANA_M2OBC
#define ANA_TCLIMA
#define ANA_M2CLIMA
#define ANA_SMFLUX
#define ANA_SRFLUX
#define ANA_INITIAL
#define WET_DRY
I found the code you mention in mod_boundary.F, but I don't understand what I should do with it to solve the problem. Any ideas?
Cheers,
Nils
Re: Compilation Problems
That is puzzling. I guess I would look at things like mod_boundary.f90, checkdefs.f90, etc. to see what is and isn't being defined. These files are the output of the cpp phase of the compilation.