Hello,
I am trying to build a real estuarine setup,closely following the estuary.h. I get the following error during the compilation.
In file analytical.f90:19
END MODULE analytical_mod
1
Error: CONTAINS block at (1) is empty
make: *** [Build/analytical.o] Error 1
The analytical.f90 in my build directory looks like this:
MODULE analytical_mod
!
implicit none
CONTAINS
END MODULE analytical_mod
My definition file look like this:
**
** Options for Estuary with Sediment Transport Test.
**
** Application flag: ESTUARY_TEST
** Input script: ocean_estuary_test.in
** sediment_estuary_test.in
*/
#define UV_ADV
#define UV_LOGDRAG
#define TS_U3HADVECTION
#define SALINITY
#define SOLVE3D
#define SPLINES
#undef SEDIMENT
#ifdef SEDIMENT
# define SUSPLOAD
#endif
#define AVERAGES
#define AVERAGES_AKV
#define AVERAGES_AKS
#define NORTHERN_WALL
#undef SOUTHERN_WALL
#define WESTERN_WALL
#define EASTERN_WALL
#define SOUTH_FSCLAMPED
#define SOUTH_M2REDUCED
#define SOUTH_M3RADIATION
#define SOUTH_TCLAMPED
#define GLS_MIXING
#undef MY25_MIXING
#if defined GLS_MIXING || defined MY25_MIXING
# define KANTHA_CLAYSON
# undef CANUTO_A
# define N2S2_HORAVG
#endif
Any help would be appreciated.
Sankar
test case to real case compilation error
well, i copied your setup, compiled the code, and got the same error !
So, here is the deal.
Typcailly, at least 1 or 2 ana_* are activated, so the analytical.f90 has never (?) been completely empty. In analytical.f90, if you comment out:
!CONTAINS
then it will build. But this of course is not the complete solution.
If you add some of the basic ana*
#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_BTFLUX
#define ANA_SSFLUX
#define ANA_BSFLUX
then it will build ok.
If you are putting in real winds, then do not use ana_smflux.
I think you should also submit a trac bug ticket saying that "if no analytical functions are defined, then the build fails because of the CONTAINS statment in analytical.f90" and see what the big dogs have to say about that.
But the fix above (adding the ana*) will get you going for now.
keep going !!
-john
So, here is the deal.
Typcailly, at least 1 or 2 ana_* are activated, so the analytical.f90 has never (?) been completely empty. In analytical.f90, if you comment out:
!CONTAINS
then it will build. But this of course is not the complete solution.
If you add some of the basic ana*
#define ANA_SMFLUX
#define ANA_STFLUX
#define ANA_BTFLUX
#define ANA_SSFLUX
#define ANA_BSFLUX
then it will build ok.
If you are putting in real winds, then do not use ana_smflux.
I think you should also submit a trac bug ticket saying that "if no analytical functions are defined, then the build fails because of the CONTAINS statment in analytical.f90" and see what the big dogs have to say about that.
But the fix above (adding the ana*) will get you going for now.
keep going !!
-john
S-coordinate parameters:
Thanks to John again for the fast response. The compilation went fine. Now, I am into the next step in ROMS.
If my assumption is correct, for real cases, one would give the following s-coordinate parameters in ini_hydro file. How do I calculate values for these parameters, for a given number of layers?. The only thing I understand so far in these variables is that the dimension of s_w=dimension (s_rho)+1
double theta_s ;
double theta_b ;
double Tcline ;
double hc ;
double s_rho(s_rho) ;
double s_w(s_w) ;
double Cs_r(s_rho) ;
double Cs_w(s_w) ;
Thanks,
Sankar
If my assumption is correct, for real cases, one would give the following s-coordinate parameters in ini_hydro file. How do I calculate values for these parameters, for a given number of layers?. The only thing I understand so far in these variables is that the dimension of s_w=dimension (s_rho)+1
double theta_s ;
double theta_b ;
double Tcline ;
double hc ;
double s_rho(s_rho) ;
double s_w(s_w) ;
double Cs_r(s_rho) ;
double Cs_w(s_w) ;
Thanks,
Sankar
Re: S-coordinate parameters:
sankaras wrote: If my assumption is correct, for real cases, one would give the following s-coordinate parameters in ini_hydro file. How do I calculate values for these parameters, for a given number of layers?. The only thing I understand so far in these variables is that the dimension of s_w=dimension (s_rho)+1
Code: Select all
double theta_s ;
double theta_b ;
double Tcline ;
double hc ;
Code: Select all
double s_rho(s_rho) ;
double s_w(s_w) ;
double Cs_r(s_rho) ;
double Cs_w(s_w) ;
- m.hadfield
- Posts: 521
- Joined: Tue Jul 01, 2003 4:12 am
- Location: NIWA
I don't know how many times I have reported this problem over the last few years! I have done so again, as ticket #49.I think you should also submit a trac bug ticket saying that "if no analytical functions are defined, then the build fails because of the CONTAINS statment in analytical.f90" and see what the big dogs have to say about that.
Now that we have a bug tracking system, perhaps it will stay fixed.