[Dart-dev] DART/branches Revision: 11865
dart at ucar.edu
dart at ucar.edu
Wed Aug 2 16:32:59 MDT 2017
nancy at ucar.edu
2017-08-02 16:32:57 -0600 (Wed, 02 Aug 2017)
47
null_model updated for the Manhattan release.
Modified: DART/branches/rma_trunk/models/null_model/model_mod.f90
===================================================================
--- DART/branches/rma_trunk/models/null_model/model_mod.f90 2017-08-02 19:40:28 UTC (rev 11864)
+++ DART/branches/rma_trunk/models/null_model/model_mod.f90 2017-08-02 22:32:57 UTC (rev 11865)
@@ -8,41 +8,69 @@
! This module provides very simple models for evaluating filtering algorithms.
! It can provide simple linear growth around a fixed point, a random draw from
-! a Gaussian, or combinations of the two. At present, these combinations are
-! controlled by modifying the code comments in adv_1step and comp_dt in your
-! sandbox.
+! a Gaussian, or combinations of the two. Several options are selectable via
+! the namelist for interpolation options, amount of noise, and model advance types.
-use types_mod, only : r8, MISSING_R8
+use types_mod, only : r8, i8, i4
+
+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
+
+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 location_mod, only : location_type, get_dist, set_location, get_location, &
- LocationDims, LocationName, LocationLName, &
- get_close_maxdist_init, get_close_obs_init, get_close_obs
-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
use random_seq_mod, only : random_seq_type, init_random_seq, random_gaussian
+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 : pert_model_copies, nc_write_model_vars, &
+ init_time, init_conditions
+
implicit none
private
-! Following is for repeatable random numbers
-logical :: first_ens_seq = .true.
-type (random_seq_type) :: ens_seq
+! 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, &
+ shortest_time_between_assimilations, &
+ static_init_model, &
+ adv_1step, &
end_model, &
- static_init_model, &
+ nc_write_model_atts
+
+!> required routines where code is in other modules
+public :: pert_model_copies, &
+ nc_write_model_vars, &
init_time, &
init_conditions, &
- nc_write_model_atts, &
- nc_write_model_vars, &
- pert_model_state, &
- 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, &
+ read_model_time, &
+ write_model_time
! version controlled file description for error handling, do not edit
@@ -51,39 +79,46 @@
character(len=32 ), parameter :: revision = "$Revision$"
character(len=128), parameter :: revdate = "$Date$"
-! Basic model parameters controlled by nameslist; have defaults
+! Basic model parameters controlled by namelist; have defaults
More information about the Dart-dev
mailing list