SOCA
|
State fields. More...
Public Member Functions | |
interactions with increment | |
procedure | diff_incr => soca_state_diff_incr |
subtract two sets of fields, saving the results in inc More... | |
procedure | add_incr => soca_state_add_incr |
add a set of increments to the set of fields More... | |
misc | |
procedure | rotate => soca_state_rotate |
Rotate horizontal vector. More... | |
procedure | convert => soca_state_convert |
Change resolution of rhs to self . More... | |
procedure | logexpon => soca_state_logexpon |
Apply logarithmic and exponential transformations. More... | |
![]() | |
procedure | create => soca_fields_create |
Create a new set of fields, allocate space for them, and initialize to zero. More... | |
procedure | copy => soca_fields_copy |
Copy the contents of rhs to self . More... | |
procedure | delete => soca_fields_delete |
delete all the fields More... | |
procedure | get => soca_fields_get |
Get a pointer to the soca_field with the given name. More... | |
procedure | has => soca_fields_has |
Returns whether a field with the given name exists. More... | |
procedure | check_congruent => soca_fields_check_congruent |
Make sure two sets of fields are the same shape (same variables, same resolution) More... | |
procedure | check_subset => soca_fields_check_subset |
make sure two sets of fields are the same shape for fields they have in common More... | |
procedure | add => soca_fields_add |
Add two sets of fields together. More... | |
procedure | axpy => soca_fields_axpy |
Add two fields (multiplying the rhs first) More... | |
procedure | dot_prod => soca_fields_dotprod |
Calculate the global dot product of two sets of fields. More... | |
procedure | gpnorm => soca_fields_gpnorm |
calculate global statistics for each field (min, max, average) More... | |
procedure | mul => soca_fields_mul |
Multiply a set of fields by a constant. More... | |
procedure | sub => soca_fields_sub |
subtract two sets of fields More... | |
procedure | ones => soca_fields_ones |
Set the value of all fields to one. More... | |
procedure | zeros => soca_fields_zeros |
Reset the value of all fields to zero. More... | |
procedure | read => soca_fields_read |
read a set of fields from a file More... | |
procedure | write_file => soca_fields_write_file |
Save soca fields to file using fms write_data. More... | |
procedure | write_rst => soca_fields_write_rst |
Save soca fields in a restart format. More... | |
procedure | update_halos => soca_fields_update_halos |
Update the halo region of all fields. More... | |
procedure | colocate => soca_fields_colocate |
Colocate by interpolating from one c-grid location to another. More... | |
procedure | serial_size => soca_fields_serial_size |
Number of elements to return in the serialized array. More... | |
procedure | serialize => soca_fields_serialize |
Return the fields as a serialized array. More... | |
procedure | deserialize => soca_fields_deserialize |
Deserialize, creating fields from a single serialized array. More... | |
Related Functions | |
(Note that these are not member functions.) | |
subroutine | soca_state_rotate (self, coordinate, uvars, vvars) |
Rotate horizontal vector. More... | |
subroutine | soca_state_add_incr (self, rhs) |
add a set of increments to the set of fields More... | |
subroutine | soca_state_diff_incr (x1, x2, inc) |
subtract two sets of fields, saving the results in inc More... | |
subroutine | soca_state_convert (self, rhs) |
Change resolution of rhs to self . More... | |
subroutine | soca_state_logexpon (self, transfunc, trvars) |
Apply logarithmic and exponential transformations. More... | |
![]() | |
subroutine | soca_fields_init_vars (self, vars) |
For a given list of field names, initialize the properties of those fields. More... | |
subroutine | soca_fields_create (self, geom, vars) |
Create a new set of fields, allocate space for them, and initialize to zero. More... | |
subroutine | soca_fields_delete (self) |
delete all the fields More... | |
subroutine | soca_fields_copy (self, rhs) |
Copy the contents of rhs to self . More... | |
subroutine | soca_fields_get (self, name, field) |
Get a pointer to the soca_field with the given name. More... | |
logical function | soca_fields_has (self, name) |
Returns whether a field with the given name exists. More... | |
subroutine | soca_fields_update_halos (self) |
Update the halo region of all fields. More... | |
subroutine | soca_fields_ones (self) |
Set the value of all fields to one. More... | |
subroutine | soca_fields_zeros (self) |
Reset the value of all fields to zero. More... | |
subroutine | soca_fields_add (self, rhs) |
Add two sets of fields together. More... | |
subroutine | soca_fields_sub (self, rhs) |
subtract two sets of fields More... | |
subroutine | soca_fields_mul (self, zz) |
Multiply a set of fields by a constant. More... | |
subroutine | soca_fields_axpy (self, zz, rhs) |
Add two fields (multiplying the rhs first) More... | |
subroutine | soca_fields_dotprod (self, rhs, zprod) |
Calculate the global dot product of two sets of fields. More... | |
subroutine | soca_fields_read (self, f_conf, vdate) |
read a set of fields from a file More... | |
subroutine | soca_fields_gpnorm (self, nf, pstat) |
calculate global statistics for each field (min, max, average) More... | |
subroutine | soca_fields_check_congruent (self, rhs) |
Make sure two sets of fields are the same shape (same variables, same resolution) More... | |
subroutine | soca_fields_check_subset (self, rhs) |
make sure two sets of fields are the same shape for fields they have in common More... | |
subroutine | soca_fields_write_file (self, filename) |
Save soca fields to file using fms write_data. More... | |
subroutine | soca_fields_write_rst (self, f_conf, vdate) |
Save soca fields in a restart format. More... | |
subroutine | soca_fields_colocate (self, cgridlocout) |
Colocate by interpolating from one c-grid location to another. More... | |
subroutine | soca_fields_serial_size (self, geom, vec_size) |
Number of elements to return in the serialized array. More... | |
subroutine | soca_fields_serialize (self, geom, vec_size, vec) |
Return the fields as a serialized array. More... | |
subroutine | soca_fields_deserialize (self, geom, vec_size, vec, index) |
Deserialize, creating fields from a single serialized array. More... | |
Additional Inherited Members | |
![]() | |
type(soca_geom), pointer | geom => null() |
Pointer to the relevant soca_geom_mod::soca_geom. More... | |
type(soca_field), dimension(:), pointer | fields => null() |
The soca_field instances that make up the fields. More... | |
State fields.
Any procedures that are shared with soca_increment are implemented in the soca_fields base class
Definition at line 28 of file soca_state_mod.F90.
procedure soca_state_mod::soca_state::add_incr |
add a set of increments to the set of fields
Definition at line 39 of file soca_state_mod.F90.
procedure soca_state_mod::soca_state::convert |
Change resolution of rhs
to self
.
Definition at line 51 of file soca_state_mod.F90.
procedure soca_state_mod::soca_state::diff_incr |
subtract two sets of fields, saving the results in inc
Definition at line 36 of file soca_state_mod.F90.
procedure soca_state_mod::soca_state::logexpon |
Apply logarithmic and exponential transformations.
Definition at line 54 of file soca_state_mod.F90.
procedure soca_state_mod::soca_state::rotate |
Rotate horizontal vector.
Definition at line 48 of file soca_state_mod.F90.
|
related |
add a set of increments to the set of fields
abor1_ftn | aborts if rhs is not a subset of self |
[in] | rhs | increment to add to self |
Definition at line 132 of file soca_state_mod.F90.
|
related |
Change resolution of rhs
to self
.
self
must have valid "layer_depth" and "hocn" fields. The other fields are interpolated from rhs
to self
. Any variables that are marked as "positive definite" in the metadata configuration file are forced to be >= 0.0 after interpolation.
[in] | rhs | source |
Definition at line 198 of file soca_state_mod.F90.
|
related |
subtract two sets of fields, saving the results in inc
\( inc = x1 - x2 \)
abor1_ftn | aborts if inc and x2 are not subsets of x1 |
Definition at line 168 of file soca_state_mod.F90.
|
related |
Apply logarithmic and exponential transformations.
[in] | transfunc | "log" or "expon" |
[in] | trvars | list of variables to transform |
Definition at line 234 of file soca_state_mod.F90.
|
related |
Rotate horizontal vector.
One or more sets of vectors, represented by corresponding u and v variables in the uvars
and vvars
lists are rotated to north (if coordinate
== "north") or rotated back to the grid (if coordinate
== "grid")
[in] | coordinate | "north" or "grid" |
[in] | uvars | list of one or more U variables |
[in] | vvars | list of one or more V variables |
Definition at line 73 of file soca_state_mod.F90.