FV3 Bundle
qg Namespace Reference

The namespace for the qg model. More...

Classes

class  ChangeVar
 QG linear change of variable. More...
 
class  ErrorCovarianceQG
 Background error covariance matrix for QG model. More...
 
class  ErrorStdDevQG
 QG background error standard deviations. More...
 
class  FieldsQG
 Class to represent a FieldSet for the QG model. More...
 
class  GeometryQG
 GeometryQG handles geometry for QG model. More...
 
class  GeometryQGIterator
 
class  GomQG
 GomQG class to handle local model values for QG model. More...
 
class  IncrementQG
 Increment Class: Difference between two states. More...
 
class  LocalizationMatrixQG
 Localization matrix for QG model. More...
 
class  LocationsQG
 LocationsQG class to handle locations for QG model. More...
 
class  ModelBias
 Model error for the QG model. More...
 
class  ModelBiasCovariance
 
class  ModelBiasIncrement
 
class  ModelQG
 QG model definition. More...
 
class  Nothing
 
class  ObsBias
 Class to handle observation bias parameters. More...
 
class  ObsBiasCovariance
 
class  ObsBiasIncrement
 
class  ObsHelpQG
 Observation Data Handler for QG Model. More...
 
class  ObsOpBaseQG
 Base class for observation operators. More...
 
class  ObsOpBaseTLAD
 Base class for observation operators. More...
 
class  ObsOperatorQG
 
class  ObsOperatorTLAD
 
class  ObsOpFactory
 Obs Operator Factory. More...
 
class  ObsOpMaker
 
class  ObsOpTLADFactory
 Obs Operator Factory. More...
 
class  ObsOpTLADMaker
 
class  ObsSpaceQG
 Wrapper around ObsHelpQG, mostly to hide the factory. More...
 
class  ObsStreamQG
 Streamfunction observation for QG model. More...
 
class  ObsStreamTLAD
 Streamfunction TL/AD observation operator for QG model. More...
 
class  ObsVecQG
 ObsVecQG class to handle vectors in observation space for QG model. More...
 
class  ObsWindQG
 Wind observation for QG model. More...
 
class  ObsWindTLAD
 Wind TL/AD observation operator for QG model. More...
 
class  ObsWSpeedQG
 Wind speed observation for QG model. More...
 
class  ObsWSpeedTLAD
 Wind speed TL/AD observation operator for QG model. More...
 
struct  QgTraits
 
class  StateQG
 QG model state. More...
 
class  TlmIdQG
 QG linear identity model definition. More...
 
class  TlmQG
 QG linear model definition. More...
 
class  VariablesQG
 

Typedefs

typedef int F90geom
 
typedef int F90iter
 
typedef int F90model
 
typedef int F90vars
 
typedef int F90locs
 
typedef int F90goms
 
typedef int F90flds
 
typedef int F90traj
 
typedef int F90bmat
 
typedef int F90bstddev
 
typedef int F90ovec
 
typedef int F90hop
 
typedef int F90odb
 
typedef int F90lclz
 

Functions

void random_f (const int &nn, double *xx)
 
void fft_fwd_f (const int &kk, const double *xx, double *ff)
 
void fft_inv_f (const int &kk, const double *ff, double *xx)
 
void instantiateQgChangeVarFactory ()
 
void instantiateQgLocalizationFactory ()
 
void qg_geo_setup_f90 (F90geom &, const eckit::Configuration *const *)
 Interface to Fortran QG model. More...
 
void qg_geo_clone_f90 (const F90geom &, F90geom &)
 
void qg_geo_info_f90 (const F90geom &, int &, int &)
 
void qg_geo_delete_f90 (F90geom &)
 
void qg_geo_iter_setup_f90 (F90iter &, const F90geom &, const int &)
 
void qg_geo_iter_clone_f90 (F90iter &, const F90iter &)
 
void qg_geo_iter_delete_f90 (F90iter &)
 
void qg_geo_iter_equals_f90 (const F90iter &, const F90iter &, int &)
 
void qg_geo_iter_current_f90 (const F90iter &, double &, double &)
 
void qg_geo_iter_next_f90 (const F90iter &)
 
void qg_setup_f90 (const eckit::Configuration *const *, const F90geom &, F90model &)
 
void qg_delete_f90 (F90model &)
 
void qg_prepare_integration_f90 (const F90model &, const F90flds &)
 
void qg_prepare_integration_tl_f90 (const F90model &, const F90flds &)
 
void qg_prepare_integration_ad_f90 (const F90model &, const F90flds &)
 
void qg_propagate_f90 (const F90model &, const F90flds &)
 
void qg_prop_traj_f90 (const F90model &, const F90flds &, F90traj &)
 
void qg_propagate_tl_f90 (const F90model &, const F90flds &, const F90traj &)
 
void qg_propagate_ad_f90 (const F90model &, const F90flds &, const F90traj &)
 
void qg_wipe_traj_f90 (F90traj &)
 
void qg_traj_minmaxrms_f90 (const F90traj &, double &)
 
void qg_field_create_f90 (F90flds &, const F90geom &, const F90vars *)
 
void qg_field_delete_f90 (F90flds &)
 
void qg_field_copy_f90 (const F90flds &, const F90flds &)
 
void qg_field_zero_f90 (const F90flds &)
 
void qg_field_self_add_f90 (const F90flds &, const F90flds &)
 
void qg_field_self_sub_f90 (const F90flds &, const F90flds &)
 
void qg_field_self_mul_f90 (const F90flds &, const double &)
 
void qg_field_axpy_f90 (const F90flds &, const double &, const F90flds &)
 
void qg_field_dot_prod_f90 (const F90flds &, const F90flds &, double &)
 
void qg_field_self_schur_f90 (const F90flds &, const F90flds &)
 
void qg_field_random_f90 (const F90flds &)
 
void qg_field_dirac_f90 (const F90flds &, const eckit::Configuration *const *)
 
void qg_field_add_incr_f90 (const F90flds &, const F90flds &)
 
void qg_field_diff_incr_f90 (const F90flds &, const F90flds &, const F90flds &)
 
void qg_field_change_resol_f90 (const F90flds &, const F90flds &)
 
void qg_field_read_file_f90 (const F90flds &, const eckit::Configuration *const *, util::DateTime *const *)
 
void qg_field_analytic_init_f90 (const F90flds &, const F90geom &, const eckit::Configuration *const *, util::DateTime *const *)
 
void qg_field_write_file_f90 (const F90flds &, const eckit::Configuration *const *, const util::DateTime *const *)
 
void qg_field_interp_f90 (const F90flds &, const F90locs &, const F90vars *, const F90goms &)
 
void qg_field_interp_tl_f90 (const F90flds &, const F90locs &, const F90vars *, const F90goms &)
 
void qg_field_interp_ad_f90 (const F90flds &, const F90locs &, const F90vars *, const F90goms &)
 
void qg_field_ug_coord_f90 (const F90flds &, const int &, const int &)
 
void qg_field_field_to_ug_f90 (const F90flds &, const int &, const int &)
 
void qg_field_field_from_ug_f90 (const F90flds &, const int &)
 
void qg_field_gpnorm_f90 (const F90flds &, const int &, double &)
 
void qg_field_sizes_f90 (const F90flds &, int &, int &, int &, int &, int &)
 
void qg_field_rms_f90 (const F90flds &, double &)
 
void qg_field_getpoint_f90 (const F90flds &, const F90iter &, const int &, double &)
 
void qg_b_setup_f90 (F90bmat &, const eckit::Configuration *const *, const F90geom &)
 
void qg_b_delete_f90 (F90bmat &)
 
void qg_b_linearize_f90 (const F90bmat &, const eckit::Configuration *const *)
 
void qg_b_mult_f90 (const F90bmat &, const F90flds &, const F90flds &)
 
void qg_b_invmult_f90 (const F90bmat &, const F90flds &, const F90flds &)
 
void qg_b_randomize_f90 (const F90bmat &, const F90flds &)
 
void qg_bstddev_setup_f90 (F90bstddev &, const eckit::Configuration *const *)
 
void qg_bstddev_delete_f90 (F90bstddev &)
 
void qg_bstddev_mult_f90 (const F90bstddev &, const F90flds &, const F90flds &)
 
void qg_bstddev_invmult_f90 (const F90bstddev &, const F90flds &, const F90flds &)
 
void qg_localization_setup_f90 (F90lclz &, const eckit::Configuration *const *, const F90geom &)
 
void qg_localization_delete_f90 (F90lclz &)
 
void qg_localization_mult_f90 (const F90lclz &, const F90flds &)
 
void qg_loc_create_f90 (F90locs &)
 
void qg_loc_test_f90 (const F90locs &, const eckit::Configuration *const *, const int &, const double *, const double *, const double *)
 
void qg_loc_delete_f90 (F90locs &)
 
void qg_loc_nobs_f90 (const F90locs &, int &)
 
void qg_loc_element_f90 (const F90locs &, const int &, double *)
 
void qg_gom_setup_f90 (F90goms &, const F90locs &, const F90vars *)
 
void qg_gom_create_f90 (F90goms &)
 
void qg_gom_delete_f90 (F90goms &)
 
void qg_gom_abs_f90 (const F90goms &)
 
void qg_gom_rms_f90 (const F90goms &, double &)
 
void qg_gom_zero_f90 (const F90goms &)
 
void qg_gom_assign_f90 (const F90goms &, const F90goms &)
 
void qg_gom_random_f90 (const F90goms &)
 
void qg_gom_mult_f90 (const F90goms &, const double &)
 
void qg_gom_add_f90 (const F90goms &, const F90goms &)
 
void qg_gom_diff_f90 (const F90goms &, const F90goms &)
 
void qg_gom_divide_f90 (const F90goms &, const F90goms &)
 
void qg_gom_dotprod_f90 (const F90goms &, const F90goms &, double &)
 
void qg_gom_minmaxavg_f90 (const F90goms &, int &, double &, double &, double &)
 
void qg_gom_maxloc_f90 (const F90goms &, double &, int &, int &)
 
void qg_gom_read_file_f90 (const F90goms &, const eckit::Configuration *const *)
 
void qg_gom_analytic_init_f90 (const F90goms &, const F90locs &, const eckit::Configuration *const *)
 
void qg_gom_write_file_f90 (const F90goms &, const eckit::Configuration *const *)
 
void qg_stream_setup_f90 (F90hop &, const eckit::Configuration *const *)
 
void qg_stream_delete_f90 (F90hop &)
 
void qg_stream_equiv_f90 (const F90goms &, const F90ovec &, const double &)
 
void qg_stream_equiv_tl_f90 (const F90goms &, const F90ovec &, const double &)
 
void qg_stream_equiv_ad_f90 (const F90goms &, const F90ovec &, double &)
 
void qg_wind_setup_f90 (F90hop &, const eckit::Configuration *const *)
 
void qg_wind_delete_f90 (F90hop &)
 
void qg_wind_equiv_f90 (const F90goms &, F90ovec &, const double &)
 
void qg_wind_equiv_tl_f90 (const F90goms &, const F90ovec &, const double &)
 
void qg_wind_equiv_ad_f90 (const F90goms &, const F90ovec &, double &)
 
void qg_wspeed_setup_f90 (F90hop &, const eckit::Configuration *const *)
 
void qg_wspeed_delete_f90 (F90hop &)
 
void qg_wspeed_eqv_f90 (const F90goms &, const F90ovec &, const double &)
 
void qg_wspeed_equiv_tl_f90 (const F90goms &, const F90ovec &, const F90goms &, const double &)
 
void qg_wspeed_equiv_ad_f90 (const F90goms &, const F90ovec &, const F90goms &, double &)
 
void qg_wspeed_gettraj_f90 (const F90hop &, const int &, const int *, F90goms &)
 
void qg_wspeed_settraj_f90 (const F90goms &, const F90goms &)
 
void qg_obsvec_setup_f90 (F90ovec &, const int &, const int &)
 
void qg_obsvec_clone_f90 (const F90ovec &, F90ovec &)
 
void qg_obsvec_delete_f90 (F90ovec &)
 
void qg_obsvec_assign_f90 (const F90ovec &, const F90ovec &)
 
void qg_obsvec_zero_f90 (const F90ovec &)
 
void qg_obsvec_mul_scal_f90 (const F90ovec &, const double &)
 
void qg_obsvec_add_f90 (const F90ovec &, const F90ovec &)
 
void qg_obsvec_sub_f90 (const F90ovec &, const F90ovec &)
 
void qg_obsvec_mul_f90 (const F90ovec &, const F90ovec &)
 
void qg_obsvec_div_f90 (const F90ovec &, const F90ovec &)
 
void qg_obsvec_axpy_f90 (const F90ovec &, const double &, const F90ovec &)
 
void qg_obsvec_invert_f90 (const F90ovec &)
 
void qg_obsvec_random_f90 (const F90ovec &)
 
void qg_obsvec_dotprod_f90 (const F90ovec &, const F90ovec &, double &)
 
void qg_obsvec_minmaxavg_f90 (const F90ovec &, double &, double &, double &)
 
void qg_obsvec_nobs_f90 (const F90ovec &, int &)
 
void qg_obsdb_setup_f90 (F90odb &, const eckit::Configuration *const *)
 
void qg_obsdb_delete_f90 (F90odb &)
 
void qg_obsdb_get_f90 (const F90odb &, const int &, const char *, const int &, const char *, const F90ovec &)
 
void qg_obsdb_put_f90 (const F90odb &, const int &, const char *, const int &, const char *, const F90ovec &)
 
void qg_obsdb_locations_f90 (const F90odb &, const int &, const char *, const util::DateTime *const *, const util::DateTime *const *, F90locs &)
 
void qg_obsdb_generate_f90 (const F90odb &, const int &, const char *, const eckit::Configuration *const *, const util::DateTime *const *, const util::Duration *const *, const int &, int &)
 
void qg_obsdb_nobs_f90 (const F90odb &, const int &, const char *, int &)
 
void qg_obsoper_inputs_f90 (const F90hop &, F90vars *)
 

Variables

static oops::ModelMaker< QgTraits, ModelQGmakermodel_ ("QG")
 
static ObsOpMaker< ObsStreamQGmakerStream_ ("Stream")
 
static ObsOpTLADMaker< ObsStreamTLADmakerStreamTL_ ("Stream")
 
static ObsOpMaker< ObsWindQGmakerWind_ ("Wind")
 
static ObsOpTLADMaker< ObsWindTLADmakerWindTL_ ("Wind")
 
static ObsOpMaker< ObsWSpeedQGmakerWSpeed_ ("WSpeed")
 
static ObsOpTLADMaker< ObsWSpeedTLADmakerWSpeedTL_ ("WSpeed")
 
static oops::LinearModelMaker< QgTraits, TlmIdQGmakerQGIdTLM_ ("QgIdTLM")
 
static oops::LinearModelMaker< QgTraits, TlmQGmakerQGTLM_ ("QgTLM")
 

Detailed Description

The namespace for the qg model.

Typedef Documentation

◆ F90bmat

typedef int qg::F90bmat

Definition at line 42 of file QgFortran.h.

◆ F90bstddev

typedef int qg::F90bstddev

Definition at line 44 of file QgFortran.h.

◆ F90flds

typedef int qg::F90flds

Definition at line 38 of file QgFortran.h.

◆ F90geom

typedef int qg::F90geom

Definition at line 27 of file QgFortran.h.

◆ F90goms

typedef int qg::F90goms

Definition at line 36 of file QgFortran.h.

◆ F90hop

typedef int qg::F90hop

Definition at line 48 of file QgFortran.h.

◆ F90iter

typedef int qg::F90iter

Definition at line 28 of file QgFortran.h.

◆ F90lclz

typedef int qg::F90lclz

Definition at line 52 of file QgFortran.h.

◆ F90locs

typedef int qg::F90locs

Definition at line 34 of file QgFortran.h.

◆ F90model

typedef int qg::F90model

Definition at line 30 of file QgFortran.h.

◆ F90odb

typedef int qg::F90odb

Definition at line 50 of file QgFortran.h.

◆ F90ovec

typedef int qg::F90ovec

Definition at line 46 of file QgFortran.h.

◆ F90traj

typedef int qg::F90traj

Definition at line 40 of file QgFortran.h.

◆ F90vars

typedef int qg::F90vars

Definition at line 32 of file QgFortran.h.

Function Documentation

◆ fft_fwd_f()

void qg::fft_fwd_f ( const int &  kk,
const double *  xx,
double *  ff 
)

Definition at line 20 of file fft_f.cc.

Here is the call graph for this function:

◆ fft_inv_f()

void qg::fft_inv_f ( const int &  kk,
const double *  ff,
double *  xx 
)

Definition at line 38 of file fft_f.cc.

Here is the call graph for this function:

◆ instantiateQgChangeVarFactory()

void qg::instantiateQgChangeVarFactory ( )

Definition at line 21 of file instantiateQgChangeVarFactory.h.

Here is the caller graph for this function:

◆ instantiateQgLocalizationFactory()

void qg::instantiateQgLocalizationFactory ( )

Definition at line 20 of file instantiateQgLocalizationFactory.h.

Here is the caller graph for this function:

◆ qg_b_delete_f90()

void qg::qg_b_delete_f90 ( F90bmat )
Here is the caller graph for this function:

◆ qg_b_invmult_f90()

void qg::qg_b_invmult_f90 ( const F90bmat ,
const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_b_linearize_f90()

void qg::qg_b_linearize_f90 ( const F90bmat ,
const eckit::Configuration *const *   
)

◆ qg_b_mult_f90()

void qg::qg_b_mult_f90 ( const F90bmat ,
const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_b_randomize_f90()

void qg::qg_b_randomize_f90 ( const F90bmat ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_b_setup_f90()

void qg::qg_b_setup_f90 ( F90bmat ,
const eckit::Configuration *const *  ,
const F90geom  
)
Here is the caller graph for this function:

◆ qg_bstddev_delete_f90()

void qg::qg_bstddev_delete_f90 ( F90bstddev )
Here is the caller graph for this function:

◆ qg_bstddev_invmult_f90()

void qg::qg_bstddev_invmult_f90 ( const F90bstddev ,
const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_bstddev_mult_f90()

void qg::qg_bstddev_mult_f90 ( const F90bstddev ,
const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_bstddev_setup_f90()

void qg::qg_bstddev_setup_f90 ( F90bstddev ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_delete_f90()

void qg::qg_delete_f90 ( F90model )
Here is the caller graph for this function:

◆ qg_field_add_incr_f90()

void qg::qg_field_add_incr_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_analytic_init_f90()

void qg::qg_field_analytic_init_f90 ( const F90flds ,
const F90geom ,
const eckit::Configuration *const *  ,
util::DateTime *const *   
)
Here is the caller graph for this function:

◆ qg_field_axpy_f90()

void qg::qg_field_axpy_f90 ( const F90flds ,
const double &  ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_change_resol_f90()

void qg::qg_field_change_resol_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_copy_f90()

void qg::qg_field_copy_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_create_f90()

void qg::qg_field_create_f90 ( F90flds ,
const F90geom ,
const F90vars  
)
Here is the caller graph for this function:

◆ qg_field_delete_f90()

void qg::qg_field_delete_f90 ( F90flds )
Here is the caller graph for this function:

◆ qg_field_diff_incr_f90()

void qg::qg_field_diff_incr_f90 ( const F90flds ,
const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_dirac_f90()

void qg::qg_field_dirac_f90 ( const F90flds ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_field_dot_prod_f90()

void qg::qg_field_dot_prod_f90 ( const F90flds ,
const F90flds ,
double &   
)
Here is the caller graph for this function:

◆ qg_field_field_from_ug_f90()

void qg::qg_field_field_from_ug_f90 ( const F90flds ,
const int &   
)
Here is the caller graph for this function:

◆ qg_field_field_to_ug_f90()

void qg::qg_field_field_to_ug_f90 ( const F90flds ,
const int &  ,
const int &   
)
Here is the caller graph for this function:

◆ qg_field_getpoint_f90()

void qg::qg_field_getpoint_f90 ( const F90flds ,
const F90iter ,
const int &  ,
double &   
)
Here is the caller graph for this function:

◆ qg_field_gpnorm_f90()

void qg::qg_field_gpnorm_f90 ( const F90flds ,
const int &  ,
double &   
)
Here is the caller graph for this function:

◆ qg_field_interp_ad_f90()

void qg::qg_field_interp_ad_f90 ( const F90flds ,
const F90locs ,
const F90vars ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_field_interp_f90()

void qg::qg_field_interp_f90 ( const F90flds ,
const F90locs ,
const F90vars ,
const F90goms  
)

◆ qg_field_interp_tl_f90()

void qg::qg_field_interp_tl_f90 ( const F90flds ,
const F90locs ,
const F90vars ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_field_random_f90()

void qg::qg_field_random_f90 ( const F90flds )
Here is the caller graph for this function:

◆ qg_field_read_file_f90()

void qg::qg_field_read_file_f90 ( const F90flds ,
const eckit::Configuration *const *  ,
util::DateTime *const *   
)
Here is the caller graph for this function:

◆ qg_field_rms_f90()

void qg::qg_field_rms_f90 ( const F90flds ,
double &   
)
Here is the caller graph for this function:

◆ qg_field_self_add_f90()

void qg::qg_field_self_add_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_self_mul_f90()

void qg::qg_field_self_mul_f90 ( const F90flds ,
const double &   
)
Here is the caller graph for this function:

◆ qg_field_self_schur_f90()

void qg::qg_field_self_schur_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_self_sub_f90()

void qg::qg_field_self_sub_f90 ( const F90flds ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_field_sizes_f90()

void qg::qg_field_sizes_f90 ( const F90flds ,
int &  ,
int &  ,
int &  ,
int &  ,
int &   
)
Here is the caller graph for this function:

◆ qg_field_ug_coord_f90()

void qg::qg_field_ug_coord_f90 ( const F90flds ,
const int &  ,
const int &   
)
Here is the caller graph for this function:

◆ qg_field_write_file_f90()

void qg::qg_field_write_file_f90 ( const F90flds ,
const eckit::Configuration *const *  ,
const util::DateTime *const *   
)
Here is the caller graph for this function:

◆ qg_field_zero_f90()

void qg::qg_field_zero_f90 ( const F90flds )
Here is the caller graph for this function:

◆ qg_geo_clone_f90()

void qg::qg_geo_clone_f90 ( const F90geom ,
F90geom  
)
Here is the caller graph for this function:

◆ qg_geo_delete_f90()

void qg::qg_geo_delete_f90 ( F90geom )
Here is the caller graph for this function:

◆ qg_geo_info_f90()

void qg::qg_geo_info_f90 ( const F90geom ,
int &  ,
int &   
)
Here is the caller graph for this function:

◆ qg_geo_iter_clone_f90()

void qg::qg_geo_iter_clone_f90 ( F90iter ,
const F90iter  
)
Here is the caller graph for this function:

◆ qg_geo_iter_current_f90()

void qg::qg_geo_iter_current_f90 ( const F90iter ,
double &  ,
double &   
)
Here is the caller graph for this function:

◆ qg_geo_iter_delete_f90()

void qg::qg_geo_iter_delete_f90 ( F90iter )
Here is the caller graph for this function:

◆ qg_geo_iter_equals_f90()

void qg::qg_geo_iter_equals_f90 ( const F90iter ,
const F90iter ,
int &   
)
Here is the caller graph for this function:

◆ qg_geo_iter_next_f90()

void qg::qg_geo_iter_next_f90 ( const F90iter )
Here is the caller graph for this function:

◆ qg_geo_iter_setup_f90()

void qg::qg_geo_iter_setup_f90 ( F90iter ,
const F90geom ,
const int &   
)
Here is the caller graph for this function:

◆ qg_geo_setup_f90()

void qg::qg_geo_setup_f90 ( F90geom ,
const eckit::Configuration *const *   
)

Interface to Fortran QG model.

The core of the QG model is coded in Fortran. Here we define the interfaces to the Fortran code.

Here is the caller graph for this function:

◆ qg_gom_abs_f90()

void qg::qg_gom_abs_f90 ( const F90goms )
Here is the caller graph for this function:

◆ qg_gom_add_f90()

void qg::qg_gom_add_f90 ( const F90goms ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_gom_analytic_init_f90()

void qg::qg_gom_analytic_init_f90 ( const F90goms ,
const F90locs ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_gom_assign_f90()

void qg::qg_gom_assign_f90 ( const F90goms ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_gom_create_f90()

void qg::qg_gom_create_f90 ( F90goms )
Here is the caller graph for this function:

◆ qg_gom_delete_f90()

void qg::qg_gom_delete_f90 ( F90goms )
Here is the caller graph for this function:

◆ qg_gom_diff_f90()

void qg::qg_gom_diff_f90 ( const F90goms ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_gom_divide_f90()

void qg::qg_gom_divide_f90 ( const F90goms ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_gom_dotprod_f90()

void qg::qg_gom_dotprod_f90 ( const F90goms ,
const F90goms ,
double &   
)
Here is the caller graph for this function:

◆ qg_gom_maxloc_f90()

void qg::qg_gom_maxloc_f90 ( const F90goms ,
double &  ,
int &  ,
int &   
)
Here is the caller graph for this function:

◆ qg_gom_minmaxavg_f90()

void qg::qg_gom_minmaxavg_f90 ( const F90goms ,
int &  ,
double &  ,
double &  ,
double &   
)
Here is the caller graph for this function:

◆ qg_gom_mult_f90()

void qg::qg_gom_mult_f90 ( const F90goms ,
const double &   
)
Here is the caller graph for this function:

◆ qg_gom_random_f90()

void qg::qg_gom_random_f90 ( const F90goms )
Here is the caller graph for this function:

◆ qg_gom_read_file_f90()

void qg::qg_gom_read_file_f90 ( const F90goms ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_gom_rms_f90()

void qg::qg_gom_rms_f90 ( const F90goms ,
double &   
)
Here is the caller graph for this function:

◆ qg_gom_setup_f90()

void qg::qg_gom_setup_f90 ( F90goms ,
const F90locs ,
const F90vars  
)
Here is the caller graph for this function:

◆ qg_gom_write_file_f90()

void qg::qg_gom_write_file_f90 ( const F90goms ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_gom_zero_f90()

void qg::qg_gom_zero_f90 ( const F90goms )
Here is the caller graph for this function:

◆ qg_loc_create_f90()

void qg::qg_loc_create_f90 ( F90locs )
Here is the caller graph for this function:

◆ qg_loc_delete_f90()

void qg::qg_loc_delete_f90 ( F90locs )
Here is the caller graph for this function:

◆ qg_loc_element_f90()

void qg::qg_loc_element_f90 ( const F90locs ,
const int &  ,
double *   
)
Here is the caller graph for this function:

◆ qg_loc_nobs_f90()

void qg::qg_loc_nobs_f90 ( const F90locs ,
int &   
)
Here is the caller graph for this function:

◆ qg_loc_test_f90()

void qg::qg_loc_test_f90 ( const F90locs ,
const eckit::Configuration *const *  ,
const int &  ,
const double *  ,
const double *  ,
const double *   
)
Here is the caller graph for this function:

◆ qg_localization_delete_f90()

void qg::qg_localization_delete_f90 ( F90lclz )
Here is the caller graph for this function:

◆ qg_localization_mult_f90()

void qg::qg_localization_mult_f90 ( const F90lclz ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_localization_setup_f90()

void qg::qg_localization_setup_f90 ( F90lclz ,
const eckit::Configuration *const *  ,
const F90geom  
)
Here is the caller graph for this function:

◆ qg_obsdb_delete_f90()

void qg::qg_obsdb_delete_f90 ( F90odb )
Here is the caller graph for this function:

◆ qg_obsdb_generate_f90()

void qg::qg_obsdb_generate_f90 ( const F90odb ,
const int &  ,
const char *  ,
const eckit::Configuration *const *  ,
const util::DateTime *const *  ,
const util::Duration *const *  ,
const int &  ,
int &   
)
Here is the caller graph for this function:

◆ qg_obsdb_get_f90()

void qg::qg_obsdb_get_f90 ( const F90odb ,
const int &  ,
const char *  ,
const int &  ,
const char *  ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsdb_locations_f90()

void qg::qg_obsdb_locations_f90 ( const F90odb ,
const int &  ,
const char *  ,
const util::DateTime *const *  ,
const util::DateTime *const *  ,
F90locs  
)
Here is the caller graph for this function:

◆ qg_obsdb_nobs_f90()

void qg::qg_obsdb_nobs_f90 ( const F90odb ,
const int &  ,
const char *  ,
int &   
)
Here is the caller graph for this function:

◆ qg_obsdb_put_f90()

void qg::qg_obsdb_put_f90 ( const F90odb ,
const int &  ,
const char *  ,
const int &  ,
const char *  ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsdb_setup_f90()

void qg::qg_obsdb_setup_f90 ( F90odb ,
const eckit::Configuration *const *   
)
Here is the caller graph for this function:

◆ qg_obsoper_inputs_f90()

void qg::qg_obsoper_inputs_f90 ( const F90hop ,
F90vars  
)

◆ qg_obsvec_add_f90()

void qg::qg_obsvec_add_f90 ( const F90ovec ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_assign_f90()

void qg::qg_obsvec_assign_f90 ( const F90ovec ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_axpy_f90()

void qg::qg_obsvec_axpy_f90 ( const F90ovec ,
const double &  ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_clone_f90()

void qg::qg_obsvec_clone_f90 ( const F90ovec ,
F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_delete_f90()

void qg::qg_obsvec_delete_f90 ( F90ovec )
Here is the caller graph for this function:

◆ qg_obsvec_div_f90()

void qg::qg_obsvec_div_f90 ( const F90ovec ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_dotprod_f90()

void qg::qg_obsvec_dotprod_f90 ( const F90ovec ,
const F90ovec ,
double &   
)
Here is the caller graph for this function:

◆ qg_obsvec_invert_f90()

void qg::qg_obsvec_invert_f90 ( const F90ovec )
Here is the caller graph for this function:

◆ qg_obsvec_minmaxavg_f90()

void qg::qg_obsvec_minmaxavg_f90 ( const F90ovec ,
double &  ,
double &  ,
double &   
)
Here is the caller graph for this function:

◆ qg_obsvec_mul_f90()

void qg::qg_obsvec_mul_f90 ( const F90ovec ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_mul_scal_f90()

void qg::qg_obsvec_mul_scal_f90 ( const F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_obsvec_nobs_f90()

void qg::qg_obsvec_nobs_f90 ( const F90ovec ,
int &   
)
Here is the caller graph for this function:

◆ qg_obsvec_random_f90()

void qg::qg_obsvec_random_f90 ( const F90ovec )
Here is the caller graph for this function:

◆ qg_obsvec_setup_f90()

void qg::qg_obsvec_setup_f90 ( F90ovec ,
const int &  ,
const int &   
)
Here is the caller graph for this function:

◆ qg_obsvec_sub_f90()

void qg::qg_obsvec_sub_f90 ( const F90ovec ,
const F90ovec  
)
Here is the caller graph for this function:

◆ qg_obsvec_zero_f90()

void qg::qg_obsvec_zero_f90 ( const F90ovec )
Here is the caller graph for this function:

◆ qg_prepare_integration_ad_f90()

void qg::qg_prepare_integration_ad_f90 ( const F90model ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_prepare_integration_f90()

void qg::qg_prepare_integration_f90 ( const F90model ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_prepare_integration_tl_f90()

void qg::qg_prepare_integration_tl_f90 ( const F90model ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_prop_traj_f90()

void qg::qg_prop_traj_f90 ( const F90model ,
const F90flds ,
F90traj  
)
Here is the caller graph for this function:

◆ qg_propagate_ad_f90()

void qg::qg_propagate_ad_f90 ( const F90model ,
const F90flds ,
const F90traj  
)
Here is the caller graph for this function:

◆ qg_propagate_f90()

void qg::qg_propagate_f90 ( const F90model ,
const F90flds  
)
Here is the caller graph for this function:

◆ qg_propagate_tl_f90()

void qg::qg_propagate_tl_f90 ( const F90model ,
const F90flds ,
const F90traj  
)
Here is the caller graph for this function:

◆ qg_setup_f90()

void qg::qg_setup_f90 ( const eckit::Configuration *const *  ,
const F90geom ,
F90model  
)
Here is the caller graph for this function:

◆ qg_stream_delete_f90()

void qg::qg_stream_delete_f90 ( F90hop )
Here is the caller graph for this function:

◆ qg_stream_equiv_ad_f90()

void qg::qg_stream_equiv_ad_f90 ( const F90goms ,
const F90ovec ,
double &   
)
Here is the caller graph for this function:

◆ qg_stream_equiv_f90()

void qg::qg_stream_equiv_f90 ( const F90goms ,
const F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_stream_equiv_tl_f90()

void qg::qg_stream_equiv_tl_f90 ( const F90goms ,
const F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_stream_setup_f90()

void qg::qg_stream_setup_f90 ( F90hop ,
const eckit::Configuration *const *   
)

◆ qg_traj_minmaxrms_f90()

void qg::qg_traj_minmaxrms_f90 ( const F90traj ,
double &   
)
Here is the caller graph for this function:

◆ qg_wind_delete_f90()

void qg::qg_wind_delete_f90 ( F90hop )
Here is the caller graph for this function:

◆ qg_wind_equiv_ad_f90()

void qg::qg_wind_equiv_ad_f90 ( const F90goms ,
const F90ovec ,
double &   
)
Here is the caller graph for this function:

◆ qg_wind_equiv_f90()

void qg::qg_wind_equiv_f90 ( const F90goms ,
F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_wind_equiv_tl_f90()

void qg::qg_wind_equiv_tl_f90 ( const F90goms ,
const F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_wind_setup_f90()

void qg::qg_wind_setup_f90 ( F90hop ,
const eckit::Configuration *const *   
)

◆ qg_wipe_traj_f90()

void qg::qg_wipe_traj_f90 ( F90traj )
Here is the caller graph for this function:

◆ qg_wspeed_delete_f90()

void qg::qg_wspeed_delete_f90 ( F90hop )
Here is the caller graph for this function:

◆ qg_wspeed_equiv_ad_f90()

void qg::qg_wspeed_equiv_ad_f90 ( const F90goms ,
const F90ovec ,
const F90goms ,
double &   
)
Here is the caller graph for this function:

◆ qg_wspeed_equiv_tl_f90()

void qg::qg_wspeed_equiv_tl_f90 ( const F90goms ,
const F90ovec ,
const F90goms ,
const double &   
)
Here is the caller graph for this function:

◆ qg_wspeed_eqv_f90()

void qg::qg_wspeed_eqv_f90 ( const F90goms ,
const F90ovec ,
const double &   
)
Here is the caller graph for this function:

◆ qg_wspeed_gettraj_f90()

void qg::qg_wspeed_gettraj_f90 ( const F90hop ,
const int &  ,
const int *  ,
F90goms  
)

◆ qg_wspeed_settraj_f90()

void qg::qg_wspeed_settraj_f90 ( const F90goms ,
const F90goms  
)
Here is the caller graph for this function:

◆ qg_wspeed_setup_f90()

void qg::qg_wspeed_setup_f90 ( F90hop ,
const eckit::Configuration *const *   
)

◆ random_f()

void qg::random_f ( const int &  nn,
double *  xx 
)

Definition at line 15 of file ioda/src/ioda/random_f.cc.

Variable Documentation

◆ makermodel_

oops::ModelMaker<QgTraits, ModelQG> qg::makermodel_("QG")
static

◆ makerQGIdTLM_

oops::LinearModelMaker<QgTraits, TlmIdQG> qg::makerQGIdTLM_("QgIdTLM")
static

◆ makerQGTLM_

oops::LinearModelMaker<QgTraits, TlmQG> qg::makerQGTLM_("QgTLM")
static

◆ makerStream_

ObsOpMaker<ObsStreamQG> qg::makerStream_("Stream")
static

◆ makerStreamTL_

ObsOpTLADMaker<ObsStreamTLAD> qg::makerStreamTL_("Stream")
static

◆ makerWind_

ObsOpMaker<ObsWindQG> qg::makerWind_("Wind")
static

◆ makerWindTL_

ObsOpTLADMaker<ObsWindTLAD> qg::makerWindTL_("Wind")
static

◆ makerWSpeed_

ObsOpMaker<ObsWSpeedQG> qg::makerWSpeed_("WSpeed")
static

◆ makerWSpeedTL_

ObsOpTLADMaker<ObsWSpeedTLAD> qg::makerWSpeedTL_("WSpeed")
static