[Dart-dev] DART/branches Revision: 11880
dart at ucar.edu
dart at ucar.edu
Fri Aug 4 15:27:38 MDT 2017
nancy at ucar.edu
2017-08-04 15:27:38 -0600 (Fri, 04 Aug 2017)
145
do the minor conversion work of making the ikeda model
compatible with manhattan. this was contributed by
greg lawson while he was at caltech.
Modified: DART/branches/rma_trunk/models/ikeda/model_mod.f90
===================================================================
--- DART/branches/rma_trunk/models/ikeda/model_mod.f90 2017-08-04 21:07:07 UTC (rev 11879)
+++ DART/branches/rma_trunk/models/ikeda/model_mod.f90 2017-08-04 21:27:38 UTC (rev 11880)
@@ -4,51 +4,71 @@
!
! $Id$
+!> Ikeda model interfaces to DART
+
module model_mod
-! This is a template showing the interfaces required for a model to be compliant
-! with the DART data assimilation infrastructure. The public interfaces listed
-! must all be supported with the argument lists as indicated. Many of the interfaces
-! are not required for minimal implementation (see the discussion of each
-! interface and look for NULL INTERFACE).
+! Original implementation by W. Greg Lawson, Caltech, Wednesday 14 March 2007
+! Updated for the Manhattan release, 2017
-! THIS IS BEING MODIFIED FROM THE TEMPLATE TO ENABLE USE OF THE IKEDA SYSTEM
-! WGL, Caltech, Wednesday 14 March 2007
-! I'm sure much can be cleaned-up here as far as comments -- really this is just
-! an adaptation of the lorenz_63 model_mod.f90 for a new simple system.
+use types_mod, only : r8, i8, i4
-! Modules that are absolutely required for use are listed
-use types_mod, only : r8, MISSING_R8
-use time_manager_mod, only : time_type, set_time
-use location_mod, only : location_type, get_close_maxdist_init, &
- get_close_obs_init, get_close_obs, set_location, &
- get_location, &
- LocationDims, LocationName, LocationLName
use utilities_mod, only : register_module, error_handler, E_ERR, E_MSG, &
- do_output, nmlfileunit, &
- find_namelist_in_file, check_namelist_read, &
- do_nml_file, do_nml_term
+ nmlfileunit, do_output, find_namelist_in_file, &
+ check_namelist_read, do_nml_file, do_nml_term
+use netcdf_utilities_mod, only : nc_add_global_attribute, nc_sync, &
+ nc_add_global_creation_time, nc_redef, nc_enddef
+use time_manager_mod, only : time_type, set_time
+
+use distributed_state_mod, only : get_state
+
+use state_structure_mod, only : add_domain
+
+use location_mod, only : location_type, set_location, get_location, &
+ get_close_obs, get_close_state, &
+ convert_vertical_obs, convert_vertical_state
+
+use location_io_mod, only : nc_write_location_atts, nc_get_location_varids, &
+ nc_write_location
+
+use obs_kind_mod, only : QTY_STATE_VARIABLE
+
+use ensemble_manager_mod, only : ensemble_type
+
+use dart_time_io_mod, only : read_model_time, write_model_time
+
+use default_model_mod, only : end_model, pert_model_copies, nc_write_model_vars, &
+ init_time
+
implicit none
private
+! 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 :: get_model_size, &
- adv_1step, &
get_state_meta_data, &
model_interpolate, &
- get_model_time_step, &
- end_model, &
+ shortest_time_between_assimilations, &
static_init_model, &
- init_time, &
init_conditions, &
- nc_write_model_atts, &
+ adv_1step, &
+ nc_write_model_atts
+
+!> required routines where code is in other modules
+public :: pert_model_copies, &
nc_write_model_vars, &
- pert_model_state, &
- get_close_maxdist_init, &
- get_close_obs_init, &
+ init_time, &
get_close_obs, &
- ens_mean_for_model
+ get_close_state, &
+ end_model, &
+ convert_vertical_obs, &
+ convert_vertical_state, &
+ read_model_time, &
+ write_model_time
More information about the Dart-dev
mailing list