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.