OOPS
|
Data Types | |
type | qg_fields |
Functions/Subroutines | |
subroutine, public | qg_fields_create (self, geom, vars, lbc) |
Linked list implementation. More... | |
subroutine, public | qg_fields_create_default (self, geom, lbc) |
Create fields from geometry (x) More... | |
subroutine, public | qg_fields_create_from_other (self, other) |
Create fields from another one. More... | |
subroutine, public | qg_fields_delete (self) |
Delete fields. More... | |
subroutine, public | qg_fields_zero (self) |
Set fields to zero. More... | |
subroutine, public | qg_fields_ones (self) |
Set fields to ones. More... | |
subroutine, public | qg_fields_dirac (self, f_conf) |
Set fields to Diracs. More... | |
subroutine, public | qg_fields_random (self) |
Generate random fields. More... | |
subroutine, public | qg_fields_copy (self, other, bconly) |
Copy fields. More... | |
subroutine, public | qg_fields_self_add (self, rhs) |
Add fields. More... | |
subroutine, public | qg_fields_self_sub (self, rhs) |
Subtract fields. More... | |
subroutine, public | qg_fields_self_mul (self, zz) |
Multiply fields by a scalar. More... | |
subroutine, public | qg_fields_axpy (self, zz, rhs) |
Apply axpy operator to fields. More... | |
subroutine, public | qg_fields_self_schur (self, rhs) |
Schur product of fields. More... | |
subroutine, public | qg_fields_dot_prod (fld1, fld2, zprod) |
Compute dot product for fields. More... | |
subroutine, public | qg_fields_add_incr (self, rhs) |
Add increment to fields. More... | |
subroutine, public | qg_fields_diff_incr (lhs, fld1, fld2) |
Compute increment from the difference of two fields. More... | |
subroutine, public | qg_fields_change_resol (fld, rhs) |
Change fields resolution. More... | |
subroutine, public | qg_fields_read_file (fld, f_conf, vdate) |
Read fields from file. More... | |
subroutine, public | qg_fields_write_file (fld, f_conf, vdate) |
Write fields to file. More... | |
subroutine, public | qg_fields_analytic_init (fld, f_conf, vdate) |
Analytic initialization of fields. More... | |
subroutine, public | qg_fields_gpnorm (fld, nb, pstat) |
Fields statistics. More... | |
subroutine, public | qg_fields_rms (fld, prms) |
Fields RMS. More... | |
subroutine, public | qg_fields_sizes (fld, nx, ny, nz, nb) |
Get fields geometry. More... | |
subroutine, public | qg_fields_vars (fld, lq, lbc) |
Get fields variables. More... | |
subroutine, public | qg_fields_set_atlas (self, vars, afieldset) |
Set ATLAS field. More... | |
subroutine, public | qg_fields_to_atlas (self, vars, afieldset) |
Convert fields to ATLAS. More... | |
subroutine, public | qg_fields_from_atlas (self, vars, afieldset) |
Get fields from ATLAS. More... | |
subroutine, public | qg_fields_getpoint (fld, iter, nval, vals) |
Get points from fields. More... | |
subroutine, public | qg_fields_setpoint (fld, iter, nval, vals) |
Set fields values at a specified gridpoint. More... | |
subroutine, public | qg_fields_serialize (fld, vsize, vect_fld) |
Serialize fields. More... | |
subroutine, public | qg_fields_deserialize (self, vsize, vect_fld, index) |
Deserialize fields. More... | |
subroutine, public | qg_fields_check (self) |
Check fields. More... | |
subroutine, public | qg_fields_check_resolution (fld1, fld2) |
Check fields resolution. More... | |
subroutine, public | qg_fields_check_variables (fld1, fld2) |
Check fields variables. More... | |
Variables | |
integer, parameter | rseed = 7 |
Random seed (for reproducibility) More... | |
type(registry_t), public | qg_fields_registry |
Linked list interface - defines registry_t type. More... | |
subroutine, public qg_fields_mod::qg_fields_add_incr | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | rhs | ||
) |
Add increment to fields.
[in,out] | self | Fields |
[in] | rhs | Right-hand side |
Definition at line 503 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_analytic_init | ( | type(qg_fields), intent(inout) | fld, |
type(fckit_configuration), intent(in) | f_conf, | ||
type(datetime), intent(inout) | vdate | ||
) |
Analytic initialization of fields.
[in,out] | fld | Fields |
[in] | f_conf | FCKIT configuration |
[in,out] | vdate | Date and time |
Definition at line 878 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_axpy | ( | type(qg_fields), intent(inout) | self, |
real(kind_real), intent(in) | zz, | ||
type(qg_fields), intent(in) | rhs | ||
) |
Apply axpy operator to fields.
[in,out] | self | Fields |
[in] | zz | Multiplier |
[in] | rhs | Right-hand side |
Definition at line 435 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_change_resol | ( | type(qg_fields), intent(inout) | fld, |
type(qg_fields), intent(in) | rhs | ||
) |
Change fields resolution.
[in,out] | fld | Fields |
[in] | rhs | Right-hand side |
Definition at line 562 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_check | ( | type(qg_fields), intent(in) | self | ) |
Check fields.
[in] | self | Fields |
Definition at line 1428 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_check_resolution | ( | type(qg_fields), intent(in) | fld1, |
type(qg_fields), intent(in) | fld2 | ||
) |
Check fields resolution.
[in] | fld1 | First fields |
[in] | fld2 | Second fields |
Definition at line 1489 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_check_variables | ( | type(qg_fields), intent(in) | fld1, |
type(qg_fields), intent(in) | fld2 | ||
) |
Check fields variables.
[in] | fld1 | First fields |
[in] | fld2 | Second fields |
Definition at line 1514 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_copy | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | other, | ||
logical, intent(in), optional | bconly | ||
) |
Copy fields.
[in,out] | self | Fields |
[in] | other | Other fields |
[in] | bconly | Boundary condition only flag |
Definition at line 320 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_create | ( | type(qg_fields), intent(inout) | self, |
type(qg_geom), intent(in), target | geom, | ||
type(oops_variables), intent(in) | vars, | ||
logical, intent(in) | lbc | ||
) |
Linked list implementation.
Create fields from geometry and variables
[in,out] | self | Fields |
[in] | geom | Geometry |
[in] | vars | Variables |
[in] | lbc | Boundaries flag |
Definition at line 78 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_create_default | ( | type(qg_fields), intent(inout) | self, |
type(qg_geom), intent(in), target | geom, | ||
logical, intent(in) | lbc | ||
) |
Create fields from geometry (x)
[in,out] | self | Fields |
[in] | geom | Geometry |
[in] | lbc | Boundaries flag |
Definition at line 128 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_create_from_other | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | other | ||
) |
Create fields from another one.
[in,out] | self | Fields |
[in] | other | Other fields |
Definition at line 167 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_delete | ( | type(qg_fields), intent(inout) | self | ) |
Delete fields.
[in,out] | self | Fields |
Definition at line 200 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_deserialize | ( | type(qg_fields), intent(inout) | self, |
integer, intent(in) | vsize, | ||
real(kind_real), dimension(vsize), intent(in) | vect_fld, | ||
integer, intent(inout) | index | ||
) |
Deserialize fields.
[in,out] | self | Fields |
[in] | vsize | Size |
[in] | vect_fld | Vector |
Definition at line 1383 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_diff_incr | ( | type(qg_fields), intent(inout) | lhs, |
type(qg_fields), intent(in) | fld1, | ||
type(qg_fields), intent(in) | fld2 | ||
) |
Compute increment from the difference of two fields.
[in,out] | lhs | Left-hand side |
[in] | fld1 | First fields |
[in] | fld2 | Second fields |
Definition at line 530 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_dirac | ( | type(qg_fields), intent(inout) | self, |
type(fckit_configuration), intent(in) | f_conf | ||
) |
Set fields to Diracs.
[in,out] | self | Fields |
[in] | f_conf | FCKIT configuration |
Definition at line 261 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_dot_prod | ( | type(qg_fields), intent(in) | fld1, |
type(qg_fields), intent(in) | fld2, | ||
real(kind_real), intent(out) | zprod | ||
) |
Compute dot product for fields.
[in] | fld1 | First fields |
[in] | fld2 | Second fields |
[out] | zprod | Dot product |
Definition at line 484 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_from_atlas | ( | type(qg_fields), intent(inout) | self, |
type(oops_variables), intent(in) | vars, | ||
type(atlas_fieldset), intent(inout) | afieldset | ||
) |
Get fields from ATLAS.
[in,out] | self | Fields |
[in] | vars | Variables |
[in,out] | afieldset | ATLAS fieldset |
Definition at line 1224 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_getpoint | ( | type(qg_fields), intent(in) | fld, |
type(qg_geom_iter), intent(in) | iter, | ||
integer, intent(in) | nval, | ||
real(kind_real), dimension(nval), intent(inout) | vals | ||
) |
Get points from fields.
[in] | fld | Fields |
[in] | iter | Geometry iterator |
[in] | nval | Number of values |
[in,out] | vals | Values |
Definition at line 1280 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_gpnorm | ( | type(qg_fields), intent(in) | fld, |
integer, intent(in) | nb, | ||
real(kind_real), dimension(4*(1+nb)), intent(inout) | pstat | ||
) |
Fields statistics.
[in] | fld | Fields |
[in] | nb | Number of boundaries |
[in,out] | pstat | Statistics |
Definition at line 973 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_ones | ( | type(qg_fields), intent(inout) | self | ) |
Set fields to ones.
Definition at line 239 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_random | ( | type(qg_fields), intent(inout) | self | ) |
Generate random fields.
[in,out] | self | Fields |
Definition at line 304 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_read_file | ( | type(qg_fields), intent(inout) | fld, |
type(fckit_configuration), intent(in) | f_conf, | ||
type(datetime), intent(inout) | vdate | ||
) |
Read fields from file.
[in,out] | fld | Fields |
[in] | f_conf | FCKIT configuration |
[in,out] | vdate | Date and time |
Definition at line 632 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_rms | ( | type(qg_fields), intent(in) | fld, |
real(kind_real), intent(out) | prms | ||
) |
Fields RMS.
[in] | fld | Fields |
[out] | prms | RMS |
Definition at line 1043 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_self_add | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | rhs | ||
) |
Add fields.
[in,out] | self | Fields |
[in] | rhs | Right-hand side |
Definition at line 364 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_self_mul | ( | type(qg_fields), intent(inout) | self, |
real(kind_real), intent(in) | zz | ||
) |
Multiply fields by a scalar.
[in,out] | self | Fields |
[in] | zz | Multiplier |
Definition at line 412 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_self_schur | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | rhs | ||
) |
Schur product of fields.
[in,out] | self | Fields |
[in] | rhs | Right-hand side |
Definition at line 460 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_self_sub | ( | type(qg_fields), intent(inout) | self, |
type(qg_fields), intent(in) | rhs | ||
) |
Subtract fields.
[in,out] | self | Fields |
[in] | rhs | Right-hand side |
Definition at line 388 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_serialize | ( | type(qg_fields), intent(in) | fld, |
integer, intent(in) | vsize, | ||
real(kind_real), dimension(vsize), intent(inout) | vect_fld | ||
) |
Serialize fields.
[in] | fld | Fields |
[in] | vsize | Size |
[in,out] | vect_fld | Vector |
Definition at line 1340 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_set_atlas | ( | type(qg_fields), intent(in) | self, |
type(oops_variables), intent(in) | vars, | ||
type(atlas_fieldset), intent(inout) | afieldset | ||
) |
Set ATLAS field.
[in] | self | Fields |
[in] | vars | Variables |
[in,out] | afieldset | ATLAS fieldset |
Definition at line 1126 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_setpoint | ( | type(qg_fields), intent(inout) | fld, |
type(qg_geom_iter), intent(in) | iter, | ||
integer, intent(in) | nval, | ||
real(kind_real), dimension(nval), intent(in) | vals | ||
) |
Set fields values at a specified gridpoint.
[in,out] | fld | Fields |
[in] | iter | Geometry iterator |
[in] | nval | Number of values |
[in] | vals | Values |
Definition at line 1310 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_sizes | ( | type(qg_fields), intent(in) | fld, |
integer, intent(out) | nx, | ||
integer, intent(out) | ny, | ||
integer, intent(out) | nz, | ||
integer, intent(out) | nb | ||
) |
Get fields geometry.
[in] | fld | Fields |
[out] | nx | X size |
[out] | ny | Y size |
[out] | nz | Z size |
[out] | nb | Number of boundaries |
Definition at line 1074 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_to_atlas | ( | type(qg_fields), intent(in) | self, |
type(oops_variables), intent(in) | vars, | ||
type(atlas_fieldset), intent(inout) | afieldset | ||
) |
Convert fields to ATLAS.
[in] | self | Fields |
[in] | vars | Variables |
[in,out] | afieldset | ATLAS fieldset |
Definition at line 1159 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_vars | ( | type(qg_fields), intent(in) | fld, |
integer, intent(out) | lq, | ||
integer, intent(out) | lbc | ||
) |
Get fields variables.
[in] | fld | Fields |
[out] | lq | Potential vorticity flag |
[out] | lbc | Boundaries flag |
Definition at line 1100 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_write_file | ( | type(qg_fields), intent(in) | fld, |
type(fckit_configuration), intent(in) | f_conf, | ||
type(datetime), intent(in) | vdate | ||
) |
Write fields to file.
[in] | fld | Fields |
[in] | f_conf | FCKIT configuration |
[in] | vdate | Date and time |
Definition at line 745 of file qg_fields_mod.F90.
subroutine, public qg_fields_mod::qg_fields_zero | ( | type(qg_fields), intent(inout) | self | ) |
Set fields to zero.
Definition at line 217 of file qg_fields_mod.F90.
type(registry_t), public qg_fields_mod::qg_fields_registry |
Linked list interface - defines registry_t type.
Global registry
Definition at line 68 of file qg_fields_mod.F90.
|
private |
Random seed (for reproducibility)
Definition at line 49 of file qg_fields_mod.F90.