US Joint Global Ocean Flux Study
Regional Ecosystem Modeling Testbed Project
Software and documentation
The data assimilative testbed
software is available via download
from this website; however, this software requires the use of the
n1qn3.f routine developed by Jean-Charles.Gilbert
and Claude.Lemarechal.
To obtain the n1qn3.f routine go to:
http://www-rocq.inria.fr/~gilbert/modulopt/optimization-routines/m1qn3.html
After registering for the
n1qn3.f routine via the website above,
please email marjy@ccpo.odu.edu
for information
pertaining to the implementation of the n1qn3 code with the testbed
software.
Testbed framework Version 1.0:
- Technical
guide for
using the
assimilative testbed software.
- Testbed Software Version
1.0: Software and forcing files for Arabian Sea Testbed in a
gzipped tar file.
- Download three tutorial exercises
to assist in code
familiarization:
- Exercise 1 - Four
component model
- Exercise 2 -
Modifications for eight-component forward model
- Exercise 3 -
Modifications for eight-component assimilative model
+ TAMC usage
Testbed framework Version 2.0:
Requirements for participation
in
upcoming EGU/AMEMR presentations:
Step
1: Download the Version 2.0 code/forcing/instructions and verify
that the simple eco_4 test model compiles on your machine. To do this,
simply:
Modify Makefile commands to suit your
compiler and netcdf paths
Modify input file to include correct paths
Compile using gmake or make
Run: driver < input
test_adjoint <
input
adjoint_driver
< input
Run hessian_idl
or equivalent Matlab routine
Step 2: Follow the
Implementation instructions to modify your code to fit with the Version
2.0 software. Please send me your test_adjoint
results (the output written to the screen).
Step 3: Run driver < input for your model,
and send me a tarred output directory containing the AS/AS_*.out and EqPac/EqPac*.out files. Also
send me a text file with the screen output.
Note: These 'pre-assimilation' results should be obtained assuming
you have not seen the data that will be assimilated. Please send me a
brief explanation/reference for how these initial parameter guesses
were selected.
Step 4: Download and follow the Identical Twin
Experiment instructions above. Verify that your original parameter
values were recovered, and send me your resulting accepted_iter.out file.
Note: Running hessian_driver
< input_hess can give you important information regarding the
sensitivity and correlations of various parameters. Parameters
associated with very large uncertainties for these twin experiments are
unlikely to be able to be successfully optimized when real data are
assimilated.
Step 5: Run adjoint_driver <
input for both sites
simultaneously (nsite = 2 in the input file), beginning with the parameter
values used to create your 'pre-assimilation' results in Step 3. You
may choose to optimize any subset of these parameters. (My experience
has shown that optimizing 4-7 parameters for models containing 4-9
state variables produces the best results.) For our initial
comparison, please use the initial and boundary conditions given in the
forcing directory, hadv_wt=1., and sinking velocities of 20 m/day (and
6 m/day if you have an additional small detritus size class). Send me a
tarred output directory containing accepted_iters.out,
params.out, costs.out, hessian.out, invhessian.out, and the AS/AS*.out and EqPac/EqPac*.out file. Note
that a invhessian.out file
will only be created after adjoint_driver has completed successfully.
Note: If your code results in NaNs, it is likely that you are
trying to estimate too many partially correlated parameters. Try
copying the parameter values in your params.out
file (but not the last set or two that gave the NaNs) into a
file called eco_params.in.new
(see eco_params.in.initial
for correct format), and running hessian_driver
< input_hess. Use hessian_idl
or an equivalent MATLAB routine to compute a rough estimate of
the uncertainty associated with each estimated parameter.
Parameters with high uncertainties cannot be constrained with the
available data, and should not be optimized. If all your parameters are
associated with uncertainties less than 1.0, and NaNs are still
obtained, you may try rerunning adjoint_driver,
each time beginning with the second or third to last set of parameters
obtained from the previous adjoint_driver
run.
Step 6
(optional): Follow Step 5, but
adjust the initial conditions, boundary conditions, hadv_wt, and
sinking velocities as desired. Send me an explanation of the
changes made, and the tarred output directory.
Step 7
(optional): Follow
Step 5, but feel free to begin with any initial parameter values, not
necessarily those used to obtain your pre-assimilation results in Step
3.
Step 8
(optional if results from Step 6 and 7 were both provided): Follow
Step 5, but adjust the initial conditions, boundary conditions,
hadv_wt, sinking velocities and initial parameter values as
desired. Send me an explanation of
the changes made, and the tarred output directory.
Cross-validation experiments and experiments will require downloading
the forcing_CrossVal directory
Written by J. Klinck, April, 2003. Last updated by M. Friedrichs,
March, 2005.
Send questions or comments by e-mail to
marjy@ccpo.odu.edu