[Dart-dev] DART/branches Revision: 11612

dart at ucar.edu dart at ucar.edu
Mon May 8 16:18:46 MDT 2017


nancy at ucar.edu
2017-05-08 16:18:42 -0600 (Mon, 08 May 2017)
339
massive update to the model_mod required interfaces, to the
location_mod interfaces, added default model_mod interfaces,
the start of netcdf utilities.  test this version carefully
before we push it to the manhattan release.

see the last section in the CHANGELOG file for the details
of what has changed in the interfaces and namelists.




Index: DART/branches/rma_trunk
===================================================================
--- DART/branches/rma_trunk	2017-05-05 23:10:55 UTC (rev 11611)
+++ DART/branches/rma_trunk	2017-05-08 22:18:42 UTC (rev 11612)

Property changes on: DART/branches/rma_trunk
___________________________________________________________________
Modified: svn:mergeinfo
## -5,6 +5,7 ##
 /DART/branches/gitm:5143-6215
 /DART/branches/gitm_lanai:6571-6652
 /DART/branches/helen:5995-6161
+/DART/branches/model_mod_changes:11409-11610
 /DART/branches/rma_cam_fv:9558-9734
 /DART/branches/rma_cf_conventions:9733-10092
 /DART/branches/rma_cice:10655-10858
Modified: DART/branches/rma_trunk/CHANGELOG
===================================================================
--- DART/branches/rma_trunk/CHANGELOG	2017-05-05 23:10:55 UTC (rev 11611)
+++ DART/branches/rma_trunk/CHANGELOG	2017-05-08 22:18:42 UTC (rev 11612)
@@ -255,7 +255,7 @@
 has_cycling           -- REMOVED for low order models
 
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-+ April 27th 2017 :: change $Revision$
++ April 27th 2017 :: changes  Revision: 11545
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 Two additional Diagnostic Files (forecast and analysis) in Filter 
@@ -292,6 +292,99 @@
            and posterior inflation
 
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ May 5th 2017 :: major changes to model_mod interfaces  $Revision$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+A long-awaited overhaul of the model_mod interfaces. All models which are
+in our subversion repository and are supported in the Manhattan release
+have been updated to match the new interfaces.  If you have model_mods with
+extensive changes, our recommendation is to diff your changes with the version
+you checked out and insert those changes into the new version.  The changes for
+this update are unfortunately extensive.
+
+The detailed list of changes: 
+
+model_mod::get_state_meta_data() is no longer passed an ensemble_handle as the
+first argument.  it should not do vertical coordinate conversion.  that will be
+done as a separate step by convert_vertical_state()
+
+model_mod::vert_convert is replaced by convert_vertical_state() and convert_vertical_obs()
+Any vertical conversion code that was in get_state_meta_data should be moved
+to convert_vertical_state() which has access to the state vector index, so the
+code should move easily.
+
+model_mod::query_vert_localization_coord is no longer a required interface
+model_mod::get_close_maxdist_init is not longer a required interface
+model_mod::get_close_obs_init is not longer a required interface
+
+model_mod::get_close_obs has a different calling convention and is split into
+get_close_obs() and get_close_state().  the close obs routine is passed both the
+obs types and quantities, and the close state routine is passed both the
+state quantities and the state index, for ease in vertical conversion if needed.
+
+model_mod::nc_write_model_vars() is deprecated for now; it may return in a
+slightly different form in the future.  
+
+model_mod::nc_write_model_atts() is now a subroutine with different arguments.
+it should now only write any global attributes wanted, and possibly some grid 
+information.  it should NOT write any of the state variables; those will be 
+written by DART routines.
+
+model_mod::get_model_size() needs to return an i8 for the size.
+
+A new module "default_model_mod" supplies default routines for any required
+interfaces that don't need to be specialized for this model.
+
+A new module "netcdf_utilities_mod" can do some simple netcdf functions for
+you and we plan to add many more over the next couple months.
+
+model_mod::get_model_time_step has been replaced by shortest_time_between_assimilations()
+since in fact it has always controlled the minimum time filter would request a model advance
+and never had anything to do with the internal time step of the dynamics of the model.
+
+We have removed 'output_state_vector' from the namelist of all model_mods since
+we no longer output a single 1d vector.  all i/o is now in netcdf format.
+
+Models that were doing vertical conversion in get_state_meta_data should set
+&assim_tools_nml
+   convert_all_state_verticals_first = .true.
+   convert_all_obs_verticals_first = .true.
+
+The location_mod::vert_is_xxx() routines have become a single is_vertical(loc, "string") where
+string is one of: "PRESSURE", "HEIGHT", "SURFACE", "LEVEL", "UNDEFINED", "SCALE_HEIGHT"
+
+Models doing vertical localization should add a call to set_vertical_localization_coord()
+in their static_init_model() routine to tell dart what vertical coordinate system they
+are expecting to convert to for vert localization
+
+Most path_names_xxx files have been updated to add additional modules.  compare against
+what is checked out to see the differences.


More information about the Dart-dev mailing list