John Wilkin brought to my attention that some of you make few changes to the biology/ecosystem models available in
ROMS/Nonlinear. This is because the structure of the biological components varies with a particular application. Notice that we have a header files for each biology/ecosystem model:
ecosim.h,
fasham.h,
nemuro.h,
npzd_Franks.h, and
npzd_Powell.h.
Therefore, several
changes were made to the code (
revision 285) to allow the same capability as the analytical functionals (
ROMS/Functionals or templates in
User/Functionals) where a user-customized version shadows the released version. That is, users can have a customized copy of
fasham.h, for example, in aparticular directory application. The application directory is specified in macro
MY_ANALYTICAL_DIR in the
makefile or build scripts (
build.sh or
build.bash). Therefore, you should place your custumized analytical functionals header file(s) and/or the biology/ecosystem model header file in the directory specified in
MY_ANALYTICAL_DIR.
However, we are only responsible for the version of these models distributed within ROMS kernel. Currently, we the tangent linear and adjoint version of
npzd_Powell.h. This implies that any change done to the nonlinear version will break the adjoint-based algorithms. So use this new capability at your own discretion.
A new routine
netcdf_close was added to module
mod_netcdf.F to close requested netCDF file and to write, if applicable, the compiled biology/ecology header file in global attribute
bio_file of ouput files. We cannot make such assigment during file creation because the value of
BIONAME(iNLM) is not yet known. This value is assigned during
CALL biology (ng, TILE) which occurs after the output files are created. Similarly, the values for the tangent linear (
BIONAME(iTLM)), representer (
BIONAME(iRPM)), and adjoint (
BIONAME(iADM)) models are assigned during the call to their respective routines.