46 real(kind=kind(1.0d0)) :: start_t,end_t
49 write(emp_o,
'(A)')
'PF: Starting PF code'
59 write(emp_o,*)
'PF: setting controls'
64 write(emp_o,*)
'PF: configuring model'
69 write(emp_o,*)
'allocating pf'
76 write(emp_o,*)
'PF: starting to receive from model'
90 write(emp_o,*)
'PF: All models received in pf couple'
104 write(emp_o,*)
'PF: observation counter = ',j
108 do i = 1,pf%time_bwn_obs-1
109 pf%timestep = pf%timestep + 1
114 select case(pf%filter)
132 write(emp_e,*)
'Error -555: Incorrect pf%filter'
144 pf%timestep = pf%timestep + 1
145 write(emp_o,*)
'starting the observation timestep'
152 select case(pf%filter)
178 write(emp_e,*)
'Error -556: Incorrect pf%filter'
183 write(emp_o,*)
'PF: timestep = ',pf%timestep,
'after observation analysis'
195 write(emp_o,*)
'PF: finished the loop - now to tidy up'
214 write(emp_o,*)
'PF: finished deallocate_data - off to mpi_finalize'
217 call mpi_finalize(mpi_err)
218 write(emp_o,*)
'Program couple_pf terminated successfully.'
219 write(emp_o,*)
'Time taken in running the model = ',end_t-start_t
subroutine timestep_data_allocate_obs_times(n)
subroutine to allocate space for obs_times array
subroutine send_all_models(stateDim, nrhs, x, tag)
subroutine to send all the model states to the models
subroutine deallocate_pf
subroutine to deallocate space for the filtering code
subroutine deterministic_model
subroutine to simply move the model forward in time one timestep
subroutine configure_model
subroutine called initially to set up details and data for model specific functions ...
Module containing EMPIRE coupling data.
subroutine equivalent_weights_filter_zhu
subroutine to do the new scheme equal weights last time-step
subroutine close_emp_o()
subroutine to close the output file
Module that stores the information about the outputting from empire.
subroutine timestep_data_set_completed(t)
subroutine to define the number of completed timesteps
subroutine stochastic_model
subroutine to simply move the model forward in time one timestep PAB 21-05-2013
subroutine reconfigure_model
subroutine to reset variables that may change when the observation network changes ...
subroutine sir_filter
Subroutine to perform SIR filter (Sequential Importance Resampling)
program empire_main
the main program
Module that stores the information about the timestepping process.
subroutine output_ens_rmse()
subroutine to output RMSEs
subroutine recv_all_models(stateDim, nrhs, x)
subroutine to receive all the model states from the models after
subroutine three_d_var_all_particles
subroutine to call 3DVar for each particle
subroutine initialise_mpi(mdl_id, cpl_root, cpl_mpi_comm)
subroutine letkf_analysis
subroutine to perform the ensemble transform Kalman filter as part of L-ETKF
subroutine save_truth(x)
Subroutine to save truth to a file .
subroutine timestep_data_set_tau(pseudotimestep)
subroutine to define the current number of timesteps between observations
subroutine timestep_data_set_current(t)
subroutine to define the current timestep
Module that stores the dimension of observation and state spaces.
subroutine diagnostics
Subroutine to give output diagnositics such as rank histograms.
subroutine proposal_filter
Subroutine to perform nudging in the proposal step of EWPF.
subroutine timestep_data_set_do_no_analysis
subroutine to define if the current timestep should not perform an analysis
subroutine trajectories
subroutine to output trajectories
subroutine output_from_pf
subroutine to output data from the filter
subroutine allocate_pf
subroutine to allocate space for the filtering code
subroutine random_seed_mpi(pfid)
Subroutine to set the random seed across MPI threads.
subroutine timestep_data_set_obs_times(obs_num_in_time, timestep)
subroutine to set the timestep corresponding to the observation number in time
subroutine perturb_particle(x)
Subroutine to perturb state vector governed by the init option.
subroutine set_pf_controls
subroutine to ensure pf_control data is ok
module pf_control holds all the information to control the the main program
subroutine timestep_data_set_do_analysis
subroutine to define if the current timestep should perform an analysis
subroutine timestep_data_set_next_ob_time(ob_time)
subroutine to set the next observation timestep
subroutine output_forecast
subroutine to output forecast ensemble to forecast_path
subroutine equivalent_weights_filter
subroutine to do the equivalent weights step
subroutine open_emp_o(id_num)
subroutine to open the file for outputting