Nicole L. Goebel, Christopher A. Edwards, Michael J. Follows, Jonathan P. Zehr. 2014. Modeled diversity effects on microbial ecosystem functions of primary production, nutrient uptake, and remineralization. Ecology 95:153–163. http://dx.doi.org/10.1890/13-0421.1


Supplement

Fortran source code for the self-assembling ecosystem model that is coupled to the Regional Oceanographic Modeling System (ROMS).
Ecological Archives E095-014-S1.

Copyright


Authors
File list (downloads)
Description


Author(s)

Nicole L. Goebel
Institute of Marine Sciences
University of California Santa Cruz
Santa Cruz, CA 95064
E-mail: ngoebel@ucsc.edu

Christopher A. Edwards
Department of Ocean Sciences
University of California Santa Cruz
Santa Cruz, CA 95064
E-mail: cedwards@ucsc.edu

Michael J. Follows
Massachusetts Institute of Technology
77 Massachusetts Avenue
Cambridge, MA 02139
E-mail: mick@ocean.mit.edu

Jonathan P. Zehr
Department of Ocean Sciences
University of California Santa Cruz
Santa Cruz, CA 95064
E-mail: jpzehr@gmail.com


File list

Source_code.zip (MD5: 65578a41fe6d59b52858022de9ba8da6)

Description

biology.f90 - This routine computes the source and sink terms for the ecosystem model.

checkdefs.f90 - This subroutine checks activated C-preprocessing options for consistency.

darwin_generate_phyto.f90 - Generates parameters for functional groups of phytoplankton using a Monte Carlo approach.

darwin_init_fixed.f90 - Initializes common block biochemical parameters.

darwin_init_vari.f90 - Initializes variables for generalized plankton model. darwin_plankton.f90

1. Computes local ecological interactions for models with many phytoplankton functional groups.

2. Timesteps through plankton and nutrients locally.

3. Includes explicit DOM and POM.

4. Determines remineralization of detritus.

5. Sinking particles and phytoplankton

6. Iron chemistry is not in this routine.

darwin_random.f90 - Initializes the random number generator.


def_avg.f90 - This routine creates an averaged NetCDF file, defining its dimensions, attributes, and variables.


def_diags.f90 - This routine creates a diagnostics NetCDF file, defining its dimensions, attributes, and variables.


def_his.f90 - This routine creates history NetCDF file, defining its dimensions, attributes, and variables.


def_info.f90 - This routine defines information variables in the requested NetCDF file.


def_rst.f90  - This routine creates a restart NetCDF file, defining its dimensions, attributes, and variables.


get_2dfld.f90 - This routine reads in requested 2D field (point or gridded) from specified NetCDF file. Forward time processing.


get_3dfld.f90 - This routine reads in requested 3D field (point or gridded) from specified NetCDF file. Forward time processing.


get_cycle.f90 - This routine determines relevant parameters for time cycling of data from an input NetCDF file.


get_data.f90 - This routine reads in forcing, climatology and assimilation data from input NetCDF files. If there is more than one time-record, data is loaded into global two-time record arrays. The actual interpolation is carried elsewhere.


get_state.f90 - This routine reads in requested model state from specified NetCDF file. It is usually used to read initial conditions.


ini_fields.f90 - This routine initializes other time levels for 2D fields. It also couples 3D and 2D momentum equations: it initializes 2D momentum (ubar,vbar) to the vertical integral of initial 3D momentum (u,v).


inp_par.f90 - This routine reads in input model parameters from standard input. It also writes out these parameters to standard output.


invnormal.f90 - Inverse normal distribution returns inverse normal cumulative distribution from p:[0,1] -> y:[-inf,+inf] centered on mu with stdev of sigma. p is the RandNo passed in, y is the return variable for deviate.


main3d.f90 - This subroutine is the main driver for nonlinear ROMS/TOMS when configurated as a full 3D baroclinic ocean model. It advances forward the primitive equations for a single time step.


mod_arrays.f90 - This routine allocates and initializes state arrays for each nested and/or multiple connected grids.


mod_biology.f90 - This routine allocates all variables in the module for all nested grids.


mod_diags.f90 - This model contains diagnostics fields for output.


mod_iounits.f90 - This model contains Onput/Output units.


mod_ncparam.f90 - This module contains all the variables associated with input and output NetCDF files.


mod_netcdf.f90 - This module contains all NetCDF variables definitions. It also contains several variables and routines to facilitate generic manipulations of NetCDF data. Usually, several NetCDF library calls are required to inquire and read a dimension or variable. These routines provide a single interface for such operations.


mod_param.f90 - This module contains all the grid, configuration, tracer, and diagnostic parameters.


mod_scalars.f90 - This routine initializes several variables in module "mod_scalars.f90" for all nested grids.


pre_step3d_mod.f90 - This subroutine initialize computations for each new time step of the 3D primitive variables


rhs3d.f90 - This subroutine evaluates the right-hand-side terms for 3D momentum and tracers equations


set_data.f90 - This subroutine processes forcing, boundary, climatology, and assimilation input data. It time-interpolates between snapshots.


step3d_t.f90 - This routine time-steps tracer equations. Notice that advective and diffusive terms are time-stepped differently.


wrt_his.f90 - This routine writes requested model fields at requested levels into the history NetCDF file.


wrt_avg.f90 - This subroutine writes model time-averaged fields into the averaged NetCDF file.

Fortran code used to run the self-assembling ecosystem model when coupled with ROMS. Additional information found in the header of each file. Code was written by Hernan G. Arango, Michael J. Follows, Christopher A. Edwards, and Nicole L. Goebel.