47 print*,
'#################################'
48 print*,
'######### SANITY CHECK ##########'
49 print*,
'#################################'
50 print*,
'## STATE DIMENSION = ',state_dim
51 print*,
'## OBS DIMENSION = ',obs_dim
52 print*,
'## TOTAL TIMESTEPS = ',tsdata%total_timesteps
53 print*,
'#################################'
70 integer,
parameter :: rk=kind(1.0d+0)
71 integer,
intent(in) :: obsDim
72 integer,
intent(in) :: nrhs
73 real(kind=rk),
dimension(obsdim,nrhs),
intent(in) :: y
75 real(kind=rk),
dimension(obsdim,nrhs),
intent(out) :: v
77 integer,
intent(in) :: t
80 stop
'Solve_r not yet implemented'
91 integer,
parameter :: rk=kind(1.0d+0)
92 integer,
intent(in) :: obsDim
93 integer,
intent(in) :: nrhs
94 real(kind=rk),
dimension(obsdim,nrhs),
intent(in) :: y
96 real(kind=rk),
dimension(obsdim,nrhs),
intent(out) :: v
98 integer,
intent(in) :: t
101 stop
'Solve_r_half not yet implemented'
113 integer,
parameter :: rk=kind(1.0d+0)
114 integer,
intent(in) :: obsdim
115 real(kind=rk),
dimension(obsdim),
intent(in) :: y
116 real(kind=rk),
dimension(obsdim),
intent(out) :: v
118 integer,
intent(in) :: t
122 stop
'solve_hqht_plus_r not yet implemented'
131 subroutine q(nrhs,x,Qx)
135 integer,
parameter :: rk=kind(1.0d+0)
136 integer,
intent(in) :: nrhs
137 real(kind=rk),
dimension(state_dim,nrhs),
intent(in) :: x
139 real(kind=rk),
dimension(state_dim,nrhs),
intent(out) :: Qx
141 real(kind=rk),
dimension(state_dim,nrhs) :: temp
143 call
qhalf(nrhs,x,temp)
145 call
qhalf(nrhs,temp,qx)
160 integer,
parameter :: rk=kind(1.0d+0)
161 integer,
intent(in) :: nrhs
162 real(kind=rk),
dimension(state_dim,nrhs),
intent(in) :: x
164 real(kind=rk),
dimension(state_dim,nrhs),
intent(out) :: qx
168 stop
'Qhalf not yet implemented'
176 subroutine r(obsDim,nrhs,y,Ry,t)
179 integer,
parameter :: rk=kind(1.0d+0)
180 integer,
intent(in) :: obsDim
181 integer,
intent(in) :: nrhs
182 real(kind=rk),
dimension(obsDim,nrhs),
intent(in) :: y
184 real(kind=rk),
dimension(obsDim,nrhs),
intent(out) :: Ry
186 integer,
intent(in) :: t
189 stop
'R not yet implemented'
198 subroutine rhalf(obsDim,nrhs,y,Ry,t)
201 integer,
parameter :: rk=kind(1.0d+0)
202 integer,
intent(in) :: obsDim
203 integer,
intent(in) :: nrhs
204 real(kind=rk),
dimension(obsDim,nrhs),
intent(in) :: y
206 real(kind=rk),
dimension(obsDim,nrhs),
intent(out) :: Ry
208 integer,
intent(in) :: t
211 stop
'Rhalf not yet implemented'
221 subroutine h(obsDim,nrhs,x,hx,t)
224 integer,
parameter :: rk=kind(1.0d+0)
225 integer,
intent(in) :: obsDim
226 integer,
intent(in) :: nrhs
227 real(kind=rk),
dimension(state_dim,nrhs),
intent(in) :: x
229 real(kind=rk),
dimension(obsDim,nrhs),
intent(out) :: hx
231 integer,
intent(in) :: t
234 stop
'H not yet implemented'
243 subroutine ht(obsDim,nrhs,y,x,t)
246 integer,
parameter :: rk=kind(1.0d+0)
247 integer,
intent(in) :: obsDim
248 integer,
intent(in) :: nrhs
249 real(kind=rk),
dimension(obsDim,nrhs),
intent(in) :: y
251 real(kind=rk),
dimension(state_dim,nrhs),
intent(out) :: x
253 integer,
intent(in) :: t
255 stop
'HT not yet implemented'
268 integer,
intent(in) :: xp
269 integer,
intent(in) :: yp
270 real(kind=kind(1.0d0)),
intent(out) :: dis
272 integer,
intent(in) :: t
273 stop
'dist not yet implemented'
285 integer,
parameter :: rk=kind(1.0d+0)
286 integer,
intent(in) :: nrhs
287 real(kind=rk),
dimension(state_dim,nrhs),
intent(in) :: x
289 real(kind=rk),
dimension(state_dim,nrhs),
intent(out) :: bx
293 stop
'Bhalf not yet implemented'
304 integer,
parameter :: rk=kind(1.0d+0)
305 integer,
intent(in) :: nrhs
306 real(kind=rk),
dimension(state_dim,nrhs),
intent(in) :: x
307 real(kind=rk),
dimension(state_dim,nrhs),
intent(out) :: v
311 stop
'solve_b not yet implemented'
323 integer,
parameter :: rk = kind(1.0d0)
324 integer,
intent(in) :: t
325 real(kind=rk),
dimension(obs_dim),
intent(out) :: y
subroutine bhalf(nrhs, x, bx)
subroutine to take a full state vector x and return in state space.
subroutine default_get_observation_data(y, t)
Subroutine to read observation from a file Uses pftimestep to determine which observation to read...
subroutine solve_r(obsDim, nrhs, y, v, t)
subroutine to take an observation vector y and return v in observation space.
subroutine configure_model
subroutine called initially to set up details and data for model specific functions ...
subroutine reconfigure_model
subroutine to reset variables that may change when the observation network changes ...
Module to hold user supplied data for observation error covariance matrix.
Module that stores the information about the timestepping process.
subroutine timestep_data_set_total(t)
subroutine to define the total number of timesteps that the model will run for
Module that stores the dimension of observation and state spaces.
subroutine h(obsDim, nrhs, x, hx, t)
subroutine to take a full state vector x and return H(x) in observation space.
subroutine solve_b(nrhs, x, v)
subroutine to take a state vector x and return v in state space.
Module as a place to store user specified data for .
subroutine solve_rhalf(obsdim, nrhs, y, v, t)
subroutine to take an observation vector y and return v in observation space.
subroutine ht(obsDim, nrhs, y, x, t)
subroutine to take an observation vector y and return x in full state space.
subroutine rhalf(obsDim, nrhs, y, Ry, t)
subroutine to take an observation vector x and return Rx in observation space.
module pf_control holds all the information to control the the main program
subroutine solve_hqht_plus_r(obsdim, y, v, t)
subroutine to take an observation vector y and return v in observation space.
subroutine get_observation_data(y, t)
Subroutine to read observation from a file .
subroutine qhalf(nrhs, x, Qx)
subroutine to take a full state vector x and return in state space.
subroutine q(nrhs, x, Qx)
subroutine to take a full state vector x and return Qx in state space.
subroutine dist_st_ob(xp, yp, dis, t)
subroutine to compute the distance between the variable in the state vector and the variable in the o...
subroutine r(obsDim, nrhs, y, Ry, t)
subroutine to take an observation vector x and return Rx in observation space.