ROMS/TOMS Developers

Algorithms Update Web Log

arango - November 30, 2006 @ 1:07
Verification Option and few bugs- Comments (2)

Added a VERIFICATION option that allows to compute nonlinear model solution at observation locations. This option is independent of any of the variational data assimilation options. However, it uses the same observation interface. Like in the 4DVAR drivers, the model solution at the observation locations and the model-observation statistics are written to MODname NetCDF file. Many thanks to Brian Powell for this suggestion.

I modified and updated several routines:

  • Modified nl_ocean.h to allow computing and saving of the nonlinear model solution at the observation spatial and temporal locations. Several routines associated with data assimilation were changed slightly to accomplish this: cppdefs.h, globaldefs.h, checkdefs.F, def_mod.F, extract_obs.F, initial.F, inp_par.F, mod_fourdvar.F, mod_ncparam.F, mod_scalars.F, obs_read.F, obs_write.F, and output.F. Mostly all the changes involve adding VERIFICATION to few CPP directives.
  • Corrected a couple of adjoint bugs in ad_set_vbc.F and ini_adjust.F. These bugs only affects 2D applications and 2D optimal perturbations. Many thanks to Andy Moore for finding and correctiong these bugs.
  • Renamed routine stats_4dvar.F to a more appropriate stats_modobs.F. This implied changes in is4dvar_ocean.h, s4dvar_ocean.h, w4dpsas_ocean.h, and w4dvar_ocean.h.
  • Corrected parallel bugs in grid_coords.F and interpolate.F when computing the initial locations of stations and floats from (lon,lat) data. This bug was reported in the ROMS forum by Wen Long.
  • Corrected an array out-of-bounds in nf_fread.F in distributed-memory applications. The scratch variable wrk need to be allocated as Npts+2 since the minimum and maximum values are appended to the end of wrk in routine mp_scatter to reduce additional parallel reduction. Many thanks to John Warner for bringing this to my attention. This one was a hard one.
  • Corrected bugs in ecosim.h to fix how pigment biomass is computed. Many thanks to Bronwyn for fixing this one.
  • Corrected a typo in wrt_station.F. Many thanks to Jacopo for finding this one.
  • Corrected computation of volume-averaged kinetic energy in diag.F, ad_diag.F, rp_diag.F, and tl_diag.F as reported by Bin Zhang and Sasha in the forum.
  • Correct several parallel bugs when processing point data in set_data.F, ad_set_data.F, rp_set_data.F, and tl_set_data.F. Many thanks to Rob Hetland for finding this one.
For the current updated file list .


  1. Hernan,

    Nice description. This looks like a very useful set of modifications. But I cannot remember whether these are accessible to all users, or which version of the model they are found in (3.x?). And how do we port these to ROMS_SED… is that something John Warner has to do?
    How does Bronwyn get the version with her bug fixed?


    Comment by csherwood — December 1, 2006 @ 9:49 @ 9:49 am

  2. Yes, this option is part of ROMS version 3.0. It uses the same observation NetCDF as in the 4DVAR drivers. The model needs the observation location in space and time to interpolate the model solution at the observation points and compute the comparison statistics. We have several matlab scripts to create this observation NetCDF file.

    Comment by arango — January 22, 2007 @ 12:43 @ 12:43 pm

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.