Opened 15 years ago
Closed 15 years ago
#388 closed upgrade (Done)
Generalized coupled biology and sediment models interface, final phase
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.3 |
Component: | Nonlinear | Version: | 3.3 |
Keywords: | Cc: |
Description
This is the final phase of the redesign of the coupled biology and sediment models in ROMS which started with src:ticket:375. This update removes the dependency of these models on mod_param.F, mod_ncparam.F, and mod_scalars.F. No longer there is a need to modifying these files when customizing or expanding these models.
- The ecosystem and sediment models metadata indices are now assigned in a new file xxx_var.h which is included in module mod_ncparm.F as:
#ifdef BIOLOGY # if defined BIO_FENNEL # include <fennel_var.h> # elif defined ECOSIM # include <ecosim_var.h> # elif defined NEMURO # include <nemuro_var.h> # elif defined NPZD_FRANKS # include <npzd_Franks_var.h> # elif defined NPZD_POWELL # include <npzd_Powell_var.h> # elif defined NPZD_IRON # include <npzd_iron_var.h> # endif #endif #if defined SEDIMENT || defined BBL_MODEL # include <sediment_var.h> #endif
- The ecosystem model tracer indices (idbio(:) and friends) are now set-up in their respective xxx_mod.h instead of mod_scalars.F. Everything including their declaration is moved to mod_biology.F which includes the file xxx_mod.h.
- As in the ecosystem model, the sediment model tracer indices (idmud(:), isand(:) and friends) are now set-up in new file sediment_mod.h instead of mod_scalars.F. Everything including their declaration is moved to mod_sediment.F which includes the new file sediment_mod.h.
- All the declarations associated with the ecosystem and sediment models was moved from mod_param.F to their respective xxx_mod.h and now they are declared in modules mod_biology.F and mod_sediment.F, respectively.
- The sediment model input parameters are defined (all output NetCDF files) in a new file sediment_def.h which is included in def_info.F as:
#ifdef SEDIMENT # include <sediment_def.h> #endif
- The sediment model input parameters are written (all output NetCDF files) in a new file sediment_wrt.h which is included in wrt_info.F as:
#ifdef SEDIMENT # include <sediment_wrt.h> #endif
- All the sediment model kernel variables declarations are moved from mod_average.F, mod_grid.F, and mod_ocean.F to a new module mod_sedbed.F. This new module includes the file sedbed_mod.h to facilitate customization.
Several files have minor changes to facilitate this redesign. It will be very easy in the future to add new ecosystem models or expand existing ones.
WARNING: If adding new tracer indices to any of these models, the user need to select a unique and meaningful five character index (like, itemp for temperature) and check for conflicts in mod_ncparam.F or mod_scalars.F. The new metadata in varinfo.dat must be consistent with the new index.
Change History (1)
comment:1 by , 15 years ago
Resolution: | → Done |
---|---|
Status: | new → closed |
Type: | bug → upgrade |