Hi
I notice that VAR_RHO_2D is defined in new globaldefs.h and not in old, is this a new global feature, or was my old globaldefs.h wrongly configured for some reason?
Thanks
Bronwyn
ROMS 3.0 - VAR_RHO_2D
The rationale here is that some CPP-switches are project-dependent and are to be defined for a specific physical configuration according to its needs. They are usually set by cppdefs.h (or what ever small configurational include files in roms-3.0) .
But there is another group of CPP-switches which should have their status defined independently of physical configuration, and there are also "technical" CPP-macros, like LOWER_BOUND_I, which are basically in "always defined" status one way or the other; they go to globaldefs.h. Traditionally ones which are "pseudo-physical" near the beginning and technical macros close to the bottom of globaldefs.h. Simply put, the deeper you go into globaldefs.h, the less you are expected to mess with what you see.
VAR_RHO_2D is an "always defined"-kind of switch, ....unless you want to debug code associated with it. For example, you suspect that it causes trouble, then you undefine it and see what happens, or you want to study its effect on mode splitting [the effect is expected to be almost invisible, unless you push the model very hard, or you set averaging weights too close to ideal shape].
Of course, the threshold between "to-be-defined by user" and "always defined"-kind of switches is sometimes obscure. For example, few years ago VAR_RHO_2D was considered as "experimental".
Some options are clearly obsolete. For example, I doubt that anybody is using things like WEST[EAST, ....]_VOLCONS. But they are still kept.
But there is another group of CPP-switches which should have their status defined independently of physical configuration, and there are also "technical" CPP-macros, like LOWER_BOUND_I, which are basically in "always defined" status one way or the other; they go to globaldefs.h. Traditionally ones which are "pseudo-physical" near the beginning and technical macros close to the bottom of globaldefs.h. Simply put, the deeper you go into globaldefs.h, the less you are expected to mess with what you see.
VAR_RHO_2D is an "always defined"-kind of switch, ....unless you want to debug code associated with it. For example, you suspect that it causes trouble, then you undefine it and see what happens, or you want to study its effect on mode splitting [the effect is expected to be almost invisible, unless you push the model very hard, or you set averaging weights too close to ideal shape].
Of course, the threshold between "to-be-defined by user" and "always defined"-kind of switches is sometimes obscure. For example, few years ago VAR_RHO_2D was considered as "experimental".
Some options are clearly obsolete. For example, I doubt that anybody is using things like WEST[EAST, ....]_VOLCONS. But they are still kept.