![]() |
Jump to DART Documentation Main Index |
Provides a set of routines to generate a regular pattern of time windows. This module is only used for converting observation sequences files to netCDF format. If it stands the test of time, it will likely be used to create an assimilation schedule independent of the observation sequence file. Wouldn't that be nice ...
This namelist is read from the file input.nml. Namelists start with an ampersand '&' and terminate with a slash '/'. Character strings that contain a '/' must be enclosed in quotes to prevent them from prematurely terminating the namelist.
&schedule_nml first_bin_start = 1601, 1, 1, 0, 0, 0 first_bin_end = 2999, 1, 1, 0, 0, 0 last_bin_end = 2999, 1, 1, 0, 0, 0 bin_interval_days = 1000000 bin_interval_seconds = 0 max_num_bins = 1000 calendar = 'Gregorian' print_table = .true. /
Controls various aspects of filter. The inflation control variables are all dimensioned 2, the first value being for the prior inflation and the second being for the posterior inflation.
The default values will cause (pretty much) all possible observations to be put into one output file.
Item | Type | Description |
---|---|---|
first_bin_start | integer, dimension(6) | Date/time specification for starting time of first bin. |
first_bin_end | integer, dimension(6) | Date/time specification for ending time of first bin. Sets the bin width. |
last_bin_end | integer, dimension(6) | Date/time specification for ending time of last bin. Sets the length of the overall time of the schedule. |
bin_interval_days | integer | Sets the time between bins. Must be larger or equal to the bin width. |
bin_interval_seconds | integer | Sets the time between bins. Must be larger or equal to the bin width. |
max_num_bins | integer | Upper limit on the number of bins. |
calendar | character(len=32) | String calendar type. Valid types are listed in the time_manager_mod file. |
print_table | logical | If .TRUE., print out information about the schedule each time set_regular_schedule() is called. |
types_mod utilities_mod time_manager_mod
use schedule_mod, only : | schedule_type |
set_regular_schedule | |
get_time_from_schedule | |
get_schedule_length |
Namelist &schedule_mod_nml may be read from file input.nml.
type(schedule_type), intent(out) :: schedule
Uses the namelist information to compute and fill a schedule_type variable.
schedule | Fills this derived type with the information needed to generate a series of regularly spaced time windows. |
type(time_type), intent(out) :: mytime or real(digits12), intent(out) :: mytime type(schedule_type), intent(in) :: schedule integer, intent(in) :: iepoch integer, optional, intent(in) :: edge
Returns either the leading or trailing time for the specified bin/epoch number for the given schedule. The time can be returned in one of two formats, depending on the variable type specified for the first argument: either a DART derived time_type, or a real of kind digits12 (defined in the types_mod).
mytime | Return value with the leading or trailing edge time for the requested bin. There are two supported return formats, either as a standard DART time_type, or as a real value which will contain the number of days plus any fraction. |
schedule | Schedule type to extract information from. |
iepoch | The bin number, or epoch number, to return a time for. Unless edge is specified and requests the ending time, the time returned is the starting time for this bin. |
edge | If specified, and if edge is larger than 1, the trailing edge time of the bin is returned. Any other value, or if this argument is not specified, returns the leading edge time of the bin. |
integer :: get_schedule_length type(schedule_type), intent(in) :: schedule
Return the total number of intervals/bins/epochs defined by this schedule.
schedule | Return number of time intervals in this schedule. |
type schedule_type private integer :: num_bins integer :: current_bin logical :: last_bin integer :: calendar character(len=32) :: calendarstring type(time_type) :: binwidth type(time_type) :: bininterval type(time_type), pointer :: binstart( :) => NULL() type(time_type), pointer :: binend( :) => NULL() real(digits12), pointer :: epoch_start(:) => NULL() real(digits12), pointer :: epoch_end( :) => NULL() end type schedule_type
This type is used to define a schedule.
filename | purpose |
---|---|
input.nml | to read the schedule_mod namelist |
Routine | Message | Comment |
---|---|---|
none at this time
Setting the schedule from the namelist values means you can only have a single schedule object in the entire program. We also need a subroutine to initialize a schedule type by giving explicit arguments.
N/A
DART software - Copyright UCAR. This open source software is provided by UCAR, "as is", without charge, subject to all terms of use at http://www.image.ucar.edu/DAReS/DART/DART_download
Contact: | DART core group |
Revision: | $Revision$ |
Source: | $URL$ |
Change Date: | $Date$ |
Change history: | try "svn log" or "svn diff" |