[Dart-dev] DART/branches Revision: 11273
dart at ucar.edu
dart at ucar.edu
Thu Mar 9 14:41:53 MST 2017
nancy at ucar.edu
2017-03-09 14:41:52 -0700 (Thu, 09 Mar 2017)
223
add the model_mod which uses the template for all
routines it doesn't need to have.
add the template filename to the path_names.
remove wakeup_filter mkmf and path_names - this
model will never need to run with async 4.
Modified: DART/branches/rma_trunk/models/lorenz_63/model_mod.f90
===================================================================
--- DART/branches/rma_trunk/models/lorenz_63/model_mod.f90 2017-03-09 21:30:32 UTC (rev 11272)
+++ DART/branches/rma_trunk/models/lorenz_63/model_mod.f90 2017-03-09 21:41:52 UTC (rev 11273)
@@ -4,6 +4,8 @@
!
! $Id$
+!> Lorenz 63 model interfaces to DART
+
module model_mod
! Revised assim_model version of Lorenz-63 3-variable model
@@ -13,9 +15,7 @@
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
+ LocationDims, LocationName, LocationLName
use utilities_mod, only : register_module, error_handler, E_ERR, E_MSG, nmlfileunit, &
do_output, find_namelist_in_file, check_namelist_read, &
@@ -31,9 +31,16 @@
use dart_time_io_mod, only : read_model_time, write_model_time
+use default_model_mod, only : end_model, pert_model_copies, vert_convert, &
+ query_vert_localization_coord, get_close_obs, &
+ get_close_maxdist_init, get_close_obs_init, &
+ get_close_type, nc_write_model_vars
+
implicit none
private
+!>@todo list real routines first, passthrus at end,
+!> or two public lists w/ !default comments
public :: get_model_size, &
adv_1step, &
get_state_meta_data, &
@@ -68,7 +75,7 @@
!-------------------------------------------------------------
! Namelist with default values
-!
+
real(r8) :: sigma = 10.0_r8
real(r8) :: r = 28.0_r8
real(r8) :: b = 8.0_r8 / 3.0_r8
@@ -77,6 +84,7 @@
integer :: time_step_seconds = 3600
namelist /model_nml/ sigma, r, b, deltat, time_step_days, time_step_seconds
+
!---------------------------------------------------------------
! Define the location of the state variables in module storage
@@ -90,11 +98,11 @@
-subroutine static_init_model()
!------------------------------------------------------------------
-! Initializes class data for L63 model and outputs I.D.
-!
+!> Initializes class data for L63 model
+subroutine static_init_model()
+
real(r8) :: x_loc
integer :: i, iunit, io, dom_id
@@ -110,6 +118,7 @@
if (do_nml_file()) write(nmlfileunit, nml=model_nml)
if (do_nml_term()) write( * , nml=model_nml)
+
! Define the locations of the model state variables
do i = 1, model_size
x_loc = (i - 1.0_r8) / model_size
@@ -116,8 +125,7 @@
state_loc(i) = set_location(x_loc)
end do
-! The time_step in terms of a time type must also be initialized. Need
-! to determine appropriate non-dimensionalization conversion for L93
+! The time_step in terms of a time type must also be initialized.
time_step = set_time(time_step_seconds, time_step_days)
! Tell the DART I/O routines how large the model data is so they
@@ -126,24 +134,11 @@
end subroutine static_init_model
-
-
-subroutine init_model_instance()
!------------------------------------------------------------------
-! subroutine init_model_instance
-!
More information about the Dart-dev
mailing list