Contact: | Jeff Anderson |
Reviewers: | |
Revision: | $Revision: 1.7 $ |
Release Name: | $Name: pre_hawaii $ |
Change Date: | $Date: 2004/12/22 20:48:12 $ |
Change history: | see CVS log (cop-out, I know) |
A note about documentation style. Optional arguments are enclosed in brackets [like this].
Atmospheric driver for the dry B-grid dynamical core and Held-Suarez benchmark (aka simple_physics).
types_mod model_mod assim_tools_mod time_manager_mod fms_mod
use xxxxxxx, only : | yyypubtype1 |
yyyroutine1 | |
yyyroutine2 | |
yyyroutine3 |
Optional namelist interface &lim_obs_seq_nml may be read from file input.nml.
fill in text here
type location_type private real(r8) :: x end type location_type
The location type is essential to the fabric of the universe. If we don't know where we are, how do we know which exit to take?
Component | Description |
---|---|
x | is the nondimensional distance [0,1] |
type time_type private integer :: year integer :: month integer :: day integer :: hour integer :: minute integer :: second real(r8) :: umt character(len=80) :: calendar end type time_type
The time type is ubiquitous throughout the module. Given the value of calendar, everything should be pretty clear. calendar may take on several values: julian, nondimensional, uniformleap, threesixty.
Component | Description |
---|---|
year | the (non-negative) year |
month | the month |
day | the day-of-month |
hour | the hour-of-day |
minute | the minute |
second | the second |
umt | uniformly monotonic time |
calendar | the type of calendar being used |
type(time_type), intent(in) :: var1 real(r8), dimension(:), intent(inout) :: var2 real(r8), dimension(:,:), intent(out) :: var3 real(r8), OPTIONAL, intent(in) :: global
Returns the resolution of compute domain for either the current processor or the global domain.
This is the best thing since sliced bread. All you have to do is throw some arguments in the call and the subroutine automatically slices, dices and makes julienne fries. But wait! There's more!
var1 | is the number of spark plugs in a '67 Cuda. |
var2 | is used for both input and output. Upon input, this contains the furlongs per weekday for every vertical level. Upon exit, we now have the number of spotted gobies per square hectare at that level. |
var3 | The leftmost dimension pertains to the number of feet in an orange-footed brush fowl, indiginous to Australia. The next dimension is the number of feathers on said fowl, naturally. |
global | is really, REALLY useful in certain situations. |
would go here
type(time_type), intent(in) :: var1 real(r8), dimension(:), intent(in) :: var2 real(r8), dimension(:,:), intent(in) :: var3 real(r8), OPTIONAL, intent(in) :: bob integer, dimension(size(var2)) :: var
Returns the resolution of compute domain for either the current processor or the global domain. All input variables are not changed. Otherwise, this would be a subroutine.
This is the second-best thing since sliced bread. All you have to do is throw some arguments in the call and the function automatically deep fries.
var1 | the first time you changed your oil. |
var2 | miles between every oil change you've ever done. Don't lie. |
var3 | the distances you've ridden. Each row corresponds to the hour-of-day, each column is a different day-of-the-week. |
bob | mean time between failures. in msec. |
var | number of gray hairs as a function of time. in kilohairs. |
would go here
We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'.
namelist / lim_obs_seq_nml / & ens_size, spin_up_steps, num_steps, output_start, ens_spin_up_steps, & obs_freq, cov_inflate, mean_inflate, restart, add_on, noise_amp
This namelist is read in a file called input.nml
Contents | Type | Description |
---|---|---|
ens_size | integer [default: 0] | The number of "i" and "j" rows processed each time the modular physics is called. |
spin_up_steps | integer | the month |
num_steps | real(r8) | the day-of-month |
output_start | real(r4) | the hour-of-day |
ens_spin_up_steps | real(r4) | the minute |
obs_freq, | real(r4) | the second |
cov_inflate | real(r8) | uniformly monotonic time |
mean_inflate | character(len=80) | the type of calendar being used |
restart | integer | the type of calendar being used |
add_on | integer | the type of calendar being used |
noise_amp | integer | the type of calendar being used |
Routine | Message | Comment |
---|---|---|
xxxx | size of [argument] is incorrect | The size of [argument] must be 1 and 4 |
xxxx | yyyyy | bad judgement What were you thinking? |
type location_type private real(r8) :: x end type location_type