[Dart-dev] DART/branches Revision: 11551

dart at ucar.edu dart at ucar.edu
Thu Apr 27 14:07:05 MDT 2017


hendric at ucar.edu
2017-04-27 14:07:05 -0600 (Thu, 27 Apr 2017)
49
converted lorenz 04 to new model mod interface.




Modified: DART/branches/model_mod_changes/models/lorenz_04/model_mod.f90
===================================================================
--- DART/branches/model_mod_changes/models/lorenz_04/model_mod.f90	2017-04-27 20:06:13 UTC (rev 11550)
+++ DART/branches/model_mod_changes/models/lorenz_04/model_mod.f90	2017-04-27 20:07:05 UTC (rev 11551)
@@ -4,53 +4,67 @@
 !
 ! $Id$
 
+!> Interface to Lorenz-04 3-variable model
+
 module model_mod
 
-use        types_mod,      only : r8, i8, i4
+use             types_mod, only : r8, i8, i4
 
-use time_manager_mod,      only : time_type, set_time
+use      time_manager_mod, only : time_type, set_time
 
-use     location_mod,      only : location_type, set_location, get_location, &
-                                  LocationDims, LocationName, LocationLName, &
-                                  get_close_maxdist_init, get_close_obs_init, &
-                                  loc_get_close_obs => get_close_obs, get_close_type
+use          location_mod, only : location_type, set_location, get_location, &
+                                  get_close_obs, get_close_state, &
+                                  convert_vertical_obs, convert_vertical_state
 
-use    utilities_mod,      only : register_module, error_handler, E_ERR, E_MSG, nmlfileunit, &
+use         utilities_mod, only : register_module, error_handler, E_ERR, E_MSG, nmlfileunit, &
                                   do_output, find_namelist_in_file, check_namelist_read,     &
                                   do_nml_file, do_nml_term, nc_check
 
-use         obs_kind_mod,  only : RAW_STATE_VARIABLE
+use  netcdf_utilities_mod, only : nc_add_global_attribute, nc_sync, &
+                                  nc_add_global_creation_time, nc_redef, nc_enddef
 
-use ensemble_manager_mod,  only : ensemble_type
+use          obs_kind_mod, only : RAW_STATE_VARIABLE
 
+use  ensemble_manager_mod, only : ensemble_type
+
 use distributed_state_mod, only : get_state
 
-use state_structure_mod,   only : add_domain
+use   state_structure_mod, only : add_domain
 
-use dart_time_io_mod,      only : read_model_time, write_model_time
+use      dart_time_io_mod, only : read_model_time, write_model_time
 
+use       location_io_mod, only : nc_write_location_atts, nc_get_location_varids, &
+                                  nc_write_location
 
+use     default_model_mod, only : end_model, pert_model_copies, nc_write_model_vars
+
 implicit none
 private
 
-public :: get_model_size, &
+! these routines must be public and you cannot change the
+! arguments because they will be called *from* other DART code.
+
+!> required routines with code in this module
+public :: static_init_model, &
+          init_conditions, &
+          init_time, &
           adv_1step, &
+          get_model_size, &
           get_state_meta_data, &
           model_interpolate, &
-          get_model_time_step, &
-          end_model, &
-          static_init_model, &
-          init_time, &
-          init_conditions, &
-          nc_write_model_atts, &
-          nc_write_model_vars, &
-          nc_read_model_vars, &
+          shortest_time_between_assimilations, &
+          nc_write_model_atts
+
+!> required routines where code is in other modules
+public :: nc_write_model_vars, &
           pert_model_copies, &
           read_model_time, &
           write_model_time, &
-          query_vert_localization_coord, &
-          vert_convert, &
-          get_close_maxdist_init, get_close_obs_init, get_close_obs, ens_mean_for_model
+          get_close_obs, &
+          get_close_state, &
+          convert_vertical_obs, &
+          convert_vertical_state, &
+          end_model
 
 ! version controlled file description for error handling, do not edit
 character(len=256), parameter :: source   = &
@@ -61,16 +75,16 @@
 !---------------------------------------------------------------
 ! Basic model parameters controlled by nameslist; have defaults
 !
-integer(i8)  :: model_size       = 960
-real(r8) :: forcing          = 15.00_r8


More information about the Dart-dev mailing list