FV3 Bundle
|
This module contains type declarations for the coupler. More...
Data Types | |
type | coupler_1d_bc_type |
type | coupler_1d_field_type |
type | coupler_1d_values_type |
type | coupler_2d_bc_type |
type | coupler_2d_field_type |
type | coupler_2d_values_type |
type | coupler_3d_bc_type |
type | coupler_3d_field_type |
type | coupler_3d_values_type |
interface | coupler_type_copy |
This is the interface to spawn one coupler_bc_type into another and then register diagnostics associated with the new type. More... | |
interface | coupler_type_copy_data |
This is the interface to copy the field data from one coupler_bc_type to another of the same rank, size and decomposition. More... | |
interface | coupler_type_data_override |
This is the interface to override the values of the arrays in a coupler_bc_type. More... | |
interface | coupler_type_destructor |
This is the interface to deallocate any data associated with a coupler_bc_type. More... | |
interface | coupler_type_extract_data |
This is the interface to extract a field in a coupler_bc_type into an array. More... | |
interface | coupler_type_increment_data |
This is the interface to increment the field data from one coupler_bc_type with the data from another. Both must have the same horizontal size and decomposition, but a 2d type may be incremented by a 2d or 3d type. More... | |
interface | coupler_type_initialized |
This function interface indicates whether a coupler_bc_type has been initialized. More... | |
interface | coupler_type_redistribute_data |
This is the interface to redistribute the field data from one coupler_bc_type to another of the same rank and global size, but a different decomposition. More... | |
interface | coupler_type_register_restarts |
This is the interface to register the fields in a coupler_bc_type to be saved in restart files. More... | |
interface | coupler_type_rescale_data |
This is the interface to rescale the field data in a coupler_bc_type. More... | |
interface | coupler_type_restore_state |
This is the interface to read in the fields in a coupler_bc_type that have been saved in restart files. More... | |
interface | coupler_type_send_data |
This is the interface to write out diagnostics of the arrays in a coupler_bc_type. More... | |
interface | coupler_type_set_data |
This is the interface to set a field in a coupler_bc_type from an array. More... | |
interface | coupler_type_set_diags |
This is the interface to set diagnostics for the arrays in a coupler_bc_type. More... | |
interface | coupler_type_spawn |
This is the interface to spawn one coupler_bc_type into another. More... | |
interface | coupler_type_write_chksums |
This is the interface to write out checksums for the elements of a coupler_bc_type. More... | |
Functions/Subroutines | |
subroutine, public | coupler_types_init |
Initialize the coupler types. More... | |
subroutine, public | coupler_type_copy_1d_2d (var_in, var_out, is, ie, js, je, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 1-D to 2-D version for generic coupler_type_copy. More... | |
subroutine, public | coupler_type_copy_1d_3d (var_in, var_out, is, ie, js, je, kd, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 1-D to 3-D version for generic coupler_type_copy. More... | |
subroutine | coupler_type_copy_2d_2d (var_in, var_out, is, ie, js, je, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 2-D to 2-D version for generic coupler_type_copy. More... | |
subroutine | coupler_type_copy_2d_3d (var_in, var_out, is, ie, js, je, kd, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 2-D to 3-D version for generic coupler_type_copy. More... | |
subroutine | coupler_type_copy_3d_2d (var_in, var_out, is, ie, js, je, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 3-D to 2-D version for generic coupler_type_copy. More... | |
subroutine | coupler_type_copy_3d_3d (var_in, var_out, is, ie, js, je, kd, diag_name, axes, time, suffix) |
Copy fields from one coupler type to another. 3-D to 3-D version for generic coupler_type_copy. More... | |
subroutine | ct_spawn_1d_2d (var_in, var, idim, jdim, suffix, as_needed) |
Generate one coupler type using another as a template. 1-D to 2-D version for generic coupler_type_spawn. More... | |
subroutine | ct_spawn_1d_3d (var_in, var, idim, jdim, kdim, suffix, as_needed) |
Generate one coupler type using another as a template. 1-D to 3-D version for generic CT_spawn. More... | |
subroutine | ct_spawn_2d_2d (var_in, var, idim, jdim, suffix, as_needed) |
Generate one coupler type using another as a template. 2-D to 2-D version for generic CT_spawn. More... | |
subroutine | ct_spawn_2d_3d (var_in, var, idim, jdim, kdim, suffix, as_needed) |
Generate one coupler type using another as a template. 2-D to 3-D version for generic CT_spawn. More... | |
subroutine | ct_spawn_3d_2d (var_in, var, idim, jdim, suffix, as_needed) |
Generate one coupler type using another as a template. 3-D to 2-D version for generic CT_spawn. More... | |
subroutine | ct_spawn_3d_3d (var_in, var, idim, jdim, kdim, suffix, as_needed) |
Generate one coupler type using another as a template. 3-D to 3-D version for generic CT_spawn. More... | |
subroutine | ct_copy_data_2d (var_in, var, halo_size, bc_index, field_index, exclude_flux_type, only_flux_type, pass_through_ice) |
Copy all elements of coupler_2d_bc_type. More... | |
subroutine | ct_copy_data_3d (var_in, var, halo_size, bc_index, field_index, exclude_flux_type, only_flux_type, pass_through_ice) |
Copy all elements of coupler_3d_bc_type. More... | |
subroutine | ct_copy_data_2d_3d (var_in, var, halo_size, bc_index, field_index, exclude_flux_type, only_flux_type, pass_through_ice, ind3_start, ind3_end) |
Copy all elements of coupler_2d_bc_type to coupler_3d_bc_type. More... | |
subroutine | ct_redistribute_data_2d (var_in, domain_in, var_out, domain_out, complete) |
Redistribute the data in all elements of a coupler_2d_bc_type. More... | |
subroutine | ct_redistribute_data_3d (var_in, domain_in, var_out, domain_out, complete) |
Redistributes the data in all elements of one coupler_2d_bc_type. More... | |
subroutine | ct_rescale_data_2d (var, scale, halo_size, bc_index, field_index, exclude_flux_type, only_flux_type, pass_through_ice) |
Rescales the fields in the fields in the elements of a coupler_2d_bc_type. More... | |
subroutine | ct_rescale_data_3d (var, scale, halo_size, bc_index, field_index, exclude_flux_type, only_flux_type, pass_through_ice) |
subroutine | ct_increment_data_2d_2d (var_in, var, halo_size, bc_index, field_index, scale_factor, scale_prev, exclude_flux_type, only_flux_type, pass_through_ice) |
subroutine | ct_increment_data_3d_3d (var_in, var, halo_size, bc_index, field_index, scale_factor, scale_prev, exclude_flux_type, only_flux_type, pass_through_ice) |
subroutine | ct_increment_data_2d_3d (var_in, weights, var, halo_size, bc_index, field_index, scale_factor, scale_prev, exclude_flux_type, only_flux_type, pass_through_ice) |
subroutine | ct_extract_data_2d (var_in, bc_index, field_index, array_out, scale_factor, halo_size, idim, jdim) |
Extract a 2d field from a coupler_2d_bc_type. More... | |
subroutine | ct_extract_data_3d_2d (var_in, bc_index, field_index, k_in, array_out, scale_factor, halo_size, idim, jdim) |
subroutine | ct_extract_data_3d (var_in, bc_index, field_index, array_out, scale_factor, halo_size, idim, jdim) |
Extract single 3d field from a coupler_3d_bc_type. More... | |
subroutine | ct_set_data_2d (array_in, bc_index, field_index, var, scale_factor, halo_size, idim, jdim) |
Set single 2d field in coupler_3d_bc_type. More... | |
subroutine | ct_set_data_2d_3d (array_in, bc_index, field_index, k_out, var, scale_factor, halo_size, idim, jdim) |
Set one k-level of a single 3d field in a coupler_3d_bc_type. More... | |
subroutine | ct_set_data_3d (array_in, bc_index, field_index, var, scale_factor, halo_size, idim, jdim) |
Set a single 3d field in a coupler_3d_bc_type. More... | |
subroutine | ct_set_diags_2d (var, diag_name, axes, time) |
subroutine | ct_set_diags_3d (var, diag_name, axes, time) |
Register the diagnostics of a coupler_3d_bc_type. More... | |
subroutine | ct_send_data_2d (var, Time) |
Write out all diagnostics of elements of a coupler_2d_bc_type. More... | |
subroutine | ct_send_data_3d (var, Time) |
Write out all diagnostics of elements of a coupler_3d_bc_type. More... | |
subroutine | ct_register_restarts_2d (var, bc_rest_files, num_rest_files, mpp_domain, ocean_restart) |
subroutine | ct_register_restarts_to_file_2d (var, file_name, rest_file, mpp_domain, varname_prefix) |
subroutine | ct_register_restarts_3d (var, bc_rest_files, num_rest_files, mpp_domain, ocean_restart) |
subroutine | ct_register_restarts_to_file_3d (var, file_name, rest_file, mpp_domain, varname_prefix) |
Register the fields in a coupler_3d_bc_type to be saved to restart files. More... | |
subroutine | ct_restore_state_2d (var, directory, all_or_nothing, all_required, test_by_field) |
Reads in fields from restart files into a coupler_2d_bc_type. More... | |
subroutine | ct_restore_state_3d (var, directory, all_or_nothing, all_required, test_by_field) |
Read in fields from restart files into a coupler_3d_bc_type. More... | |
subroutine | ct_data_override_2d (gridname, var, Time) |
Potentially override the values in a coupler_2d_bc_type. More... | |
subroutine | ct_data_override_3d (gridname, var, Time) |
Potentially override the values in a coupler_3d_bc_type. More... | |
subroutine | ct_write_chksums_2d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_2d_bc_type. More... | |
subroutine | ct_write_chksums_3d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_3d_bc_type. More... | |
logical function | ct_initialized_1d (var) |
Indicate whether a coupler_1d_bc_type has been initialized. More... | |
logical function | ct_initialized_2d (var) |
Indicate whether a coupler_2d_bc_type has been initialized. More... | |
logical function | ct_initialized_3d (var) |
Indicate whether a coupler_3d_bc_type has been initialized. More... | |
subroutine | ct_destructor_1d (var) |
Deallocate all data associated with a coupler_1d_bc_type. More... | |
subroutine | ct_destructor_2d (var) |
Deallocate all data associated with a coupler_2d_bc_type. More... | |
subroutine | ct_destructor_3d (var) |
Deallocate all data associated with a coupler_3d_bc_type. More... | |
Variables | |
character(len= *), parameter | mod_name = 'coupler_types_mod' |
integer, public | ind_pcair = 1 |
The index of the atmospheric concentration. More... | |
integer, public | ind_u10 = 2 |
The index of the 10 m wind speed. More... | |
integer, public | ind_psurf = 3 |
The index of the surface atmospheric pressure. More... | |
integer, public | ind_alpha = 1 |
The index of the solubility array for a tracer. More... | |
integer, public | ind_csurf = 2 |
The index of the ocean surface concentration. More... | |
integer, public | ind_sc_no = 3 |
The index for the Schmidt number for a tracer flux. More... | |
integer, public | ind_flux = 1 |
The index for the tracer flux. More... | |
integer, public | ind_deltap = 2 |
The index for ocean-air gas partial pressure change. More... | |
integer, public | ind_kw = 3 |
The index for the piston velocity. More... | |
integer, public | ind_flux0 = 4 |
The index for the piston velocity. More... | |
integer, public | ind_deposition = 1 |
The index for the atmospheric deposition flux. More... | |
integer, public | ind_runoff = 1 |
The index for a runoff flux. More... | |
This module contains type declarations for the coupler.
subroutine, public coupler_types_mod::coupler_type_copy_1d_2d | ( | type(coupler_1d_bc_type), intent(in) | var_in, |
type(coupler_2d_bc_type), intent(inout) | var_out, | ||
integer, intent(in) | is, | ||
integer, intent(in) | ie, | ||
integer, intent(in) | js, | ||
integer, intent(in) | je, | ||
character(len=*), intent(in) | diag_name, | ||
integer, dimension(:), intent(in) | axes, | ||
type(time_type), intent(in) | time, | ||
character(len=*), intent(in), optional | suffix | ||
) |
Copy fields from one coupler type to another. 1-D to 2-D version for generic coupler_type_copy.
FATAL,Number of output fields exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 321 of file coupler_types.F90.
subroutine, public coupler_types_mod::coupler_type_copy_1d_3d | ( | type(coupler_1d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var_out, | ||
integer, intent(in) | is, | ||
integer, intent(in) | ie, | ||
integer, intent(in) | js, | ||
integer, intent(in) | je, | ||
integer, intent(in) | kd, | ||
character(len=*), intent(in) | diag_name, | ||
integer, dimension(:), intent(in) | axes, | ||
type(time_type), intent(in) | time, | ||
character(len=*), intent(in), optional | suffix | ||
) |
Copy fields from one coupler type to another. 1-D to 3-D version for generic coupler_type_copy.
FATAL,Number of output fields is exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | kd | third dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 356 of file coupler_types.F90.
|
private |
Copy fields from one coupler type to another. 2-D to 2-D version for generic coupler_type_copy.
FATAL,Number of output fields is exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 391 of file coupler_types.F90.
|
private |
Copy fields from one coupler type to another. 2-D to 3-D version for generic coupler_type_copy.
FATAL,Number of output fields is exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | kd | third dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 425 of file coupler_types.F90.
|
private |
Copy fields from one coupler type to another. 3-D to 2-D version for generic coupler_type_copy.
FATAL,Number of output fields is exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 460 of file coupler_types.F90.
|
private |
Copy fields from one coupler type to another. 3-D to 3-D version for generic coupler_type_copy.
FATAL,Number of output fields exceeds zero |
[in] | var_in | variable to copy information from |
[in,out] | var_out | variable to copy information to |
[in] | is | lower bound of first dimension |
[in] | ie | upper bound of first dimension |
[in] | js | lower bound of second dimension |
[in] | je | upper bound of second dimension |
[in] | kd | third dimension |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
[in] | suffix | optional suffix to make the name identifier unique |
Definition at line 494 of file coupler_types.F90.
subroutine, public coupler_types_mod::coupler_types_init | ( | ) |
Initialize the coupler types.
Definition at line 299 of file coupler_types.F90.
|
private |
Copy all elements of coupler_2d_bc_type.
Do a direct copy of the data in all elements of one coupler_2d_bc_type into another. Both must have the same array sizes.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index is present and exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,bc_index must be present if field_index is present. | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive i-direction halo size for the input structure. |
[in] | var_in | BC_type structure with the data to copy |
[in,out] | var | The recipient BC_type structure |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this copy. |
[in] | only_flux_type | A string describing which types of fluxes to include from this copy. |
[in] | pass_through_ice | If true, only copy BCs whose value of pass_through ice matches this |
Definition at line 1133 of file coupler_types.F90.
|
private |
Copy all elements of coupler_2d_bc_type to coupler_3d_bc_type.
Do a direct copy of the data in all elements of one coupler_2d_bc_type into a coupler_3d_bc_type. Both must have the same array sizes for the first two dimensions, while the extend of the 3rd dimension that is being filled may be specified via optional arguments..
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index is present and exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,bc_index must be present if field_index is present. | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive i-direction halo size for the input structure. |
[in] | var_in | BC_type structure with the data to copy |
[in,out] | var | The recipient BC_type structure |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this copy. |
[in] | only_flux_type | A string describing which types of fluxes to include from this copy. |
[in] | pass_through_ice | If true, only copy BCs whose value of pass_through ice matches this |
[in] | ind3_start | The starting value of the 3rd index of the 3d type to fill in. |
[in] | ind3_end | The ending value of the 3rd index of the 3d type to fill in. |
Definition at line 1330 of file coupler_types.F90.
|
private |
Copy all elements of coupler_3d_bc_type.
Do a direct copy of the data in all elements of one coupler_3d_bc_type into another. Both must have the same array sizes.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index is present and exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,bc_index must be present if field_index is present. | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,There is an k-direction computational domain size mismatch. | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive k-direction halo size for the input structure. |
[in] | var_in | BC_type structure with the data to copy |
[in,out] | var | The recipient BC_type structure |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this copy. |
[in] | only_flux_type | A string describing which types of fluxes to include from this copy. |
[in] | pass_through_ice | If true, only copy BCs whose value of pass_through ice matches this |
Definition at line 1228 of file coupler_types.F90.
|
private |
Potentially override the values in a coupler_2d_bc_type.
[in] | gridname | 3-character long model grid ID |
[in,out] | var | BC_type structure to override |
[in] | time | The current model time |
Definition at line 3403 of file coupler_types.F90.
|
private |
Potentially override the values in a coupler_3d_bc_type.
[in] | gridname | 3-character long model grid ID |
[in,out] | var | BC_type structure to override |
[in] | time | The current model time |
Definition at line 3418 of file coupler_types.F90.
|
private |
Deallocate all data associated with a coupler_1d_bc_type.
[in,out] | var | BC_type structure to be deconstructed |
Definition at line 3500 of file coupler_types.F90.
|
private |
Deallocate all data associated with a coupler_2d_bc_type.
[in,out] | var | BC_type structure to be deconstructed |
Definition at line 3520 of file coupler_types.F90.
|
private |
Deallocate all data associated with a coupler_3d_bc_type.
[in,out] | var | BC_type structure to be deconstructed |
Definition at line 3540 of file coupler_types.F90.
|
private |
Extract a 2d field from a coupler_2d_bc_type.
Extract a single 2-d field from a coupler_2d_bc_type into a two-dimensional array.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive j-direction halo size for the input structure. | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,The declared i-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,The declared j-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,The target array with i-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with j-dimension size 'n' is too small to match the data of size 'd' |
[in] | var_in | BC_type structure with the data to extract |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[out] | array_out | The recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2166 of file coupler_types.F90.
|
private |
Extract single 3d field from a coupler_3d_bc_type.
Extract a single 3-d field from a coupler_3d_bc_type into a three-dimensional array.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive j-direction halo size for the input structure. | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,The declared i-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,The declared j-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,The target array with i-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with j-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with k-dimension size 'n' does not match the data of size 'd' |
[in] | var_in | BC_type structure with the data to extract |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[out] | array_out | The recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2446 of file coupler_types.F90.
|
private |
[in] | var_in | BC_type structure with the data to extract |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | k_in | The k-index to extract |
[out] | array_out | The recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2303 of file coupler_types.F90.
|
private |
[in] | var_in | BC_type structure with the data to add to the other type |
[in,out] | var | The BC_type structure whose fields are being incremented |
[in] | halo_size | The extent of the halo to increment; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | scale_prev | A scaling factor for the data that is already here |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this increment. |
[in] | only_flux_type | A string describing which types of fluxes to include from this increment. |
[in] | pass_through_ice | If true, only increment BCs whose value of pass_through ice matches this |
Definition at line 1804 of file coupler_types.F90.
|
private |
[in] | var_in | BC_type structure with the data to add to the other type |
[in] | weights | An array of normalized weights for the 3d-data to increment the 2d-data. There is no renormalization, so if the weights do not sum to 1 in the 3rd dimension there may be adverse consequences! |
[in,out] | var | The BC_type structure whose fields are being incremented |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | scale_prev | A scaling factor for the data that is already here |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this increment. |
[in] | only_flux_type | A string describing which types of fluxes to include from this increment. |
[in] | pass_through_ice | If true, only increment BCs whose value of pass_through ice matches this |
Definition at line 2028 of file coupler_types.F90.
|
private |
[in] | var_in | BC_type structure with the data to add to the other type |
[in,out] | var | The BC_type structure whose fields are being incremented |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | scale_prev | A scaling factor for the data that is already here |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this increment. |
[in] | only_flux_type | A string describing which types of fluxes to include from this increment. |
[in] | pass_through_ice | If true, only increment BCs whose value of pass_through ice matches this |
Definition at line 1913 of file coupler_types.F90.
|
private |
Indicate whether a coupler_1d_bc_type has been initialized.
[in] | var | BC_type structure to be deconstructed |
Definition at line 3479 of file coupler_types.F90.
|
private |
Indicate whether a coupler_2d_bc_type has been initialized.
[in] | var | BC_type structure to be deconstructed |
Definition at line 3486 of file coupler_types.F90.
|
private |
Indicate whether a coupler_3d_bc_type has been initialized.
[in] | var | BC_type structure to be deconstructed |
Definition at line 3493 of file coupler_types.F90.
|
private |
Redistribute the data in all elements of a coupler_2d_bc_type.
Redistributes the data in all elements of one coupler_2d_bc_type into another, which may be on different processors with a different decomposition.
FATAL,Mismatch in num_bcs in CT_copy_data_2d. | |
FATAL,Mismatch in the total number of fields in CT_redistribute_data_2d. |
[in] | var_in | BC_type structure with the data to copy (intent in) |
[in] | domain_in | The FMS domain for the input structure |
[in,out] | var_out | The recipient BC_type structure (data intent out) |
[in] | domain_out | The FMS domain for the output structure |
[in] | complete | If true, complete the updates |
Definition at line 1428 of file coupler_types.F90.
|
private |
Redistributes the data in all elements of one coupler_2d_bc_type.
Redistributes the data in all elements of one coupler_2d_bc_type into another, which may be on different processors with a different decomposition.
[in] | var_in | BC_type structure with the data to copy (intent in) |
[in] | domain_in | The FMS domain for the input structure |
[in,out] | var_out | The recipient BC_type structure (data intent out) |
[in] | domain_out | The FMS domain for the output structure |
[in] | complete | If true, complete the updates |
Definition at line 1518 of file coupler_types.F90.
|
private |
[in,out] | var | BC_type structure to be registered for restarts |
bc_rest_files | Structures describing the restart files | |
[out] | num_rest_files | The number of restart files to use |
[in] | mpp_domain | The FMS domain to use for this registration call |
[in] | ocean_restart | If true, use the ocean restart file name. |
Definition at line 3087 of file coupler_types.F90.
|
private |
[in,out] | var | BC_type structure to be registered for restarts |
bc_rest_files | Structures describing the restart files | |
[out] | num_rest_files | The number of restart files to use |
[in] | mpp_domain | The FMS domain to use for this registration call |
[in] | ocean_restart | If true, use the ocean restart file name. |
Definition at line 3176 of file coupler_types.F90.
|
private |
[in,out] | var | BC_type structure to be registered for restarts |
[in] | file_name | The name of the restart file |
rest_file | A (possibly associated) structure describing the restart file | |
[in] | mpp_domain | The FMS domain to use for this registration call |
[in] | varname_prefix | A prefix for the variable name in the restart file, intended to allow multiple BC_type variables to use the same restart files. |
Definition at line 3143 of file coupler_types.F90.
|
private |
Register the fields in a coupler_3d_bc_type to be saved to restart files.
Registers the fields in a coupler_3d_bc_type to be saved in the specified restart file.
[in,out] | var | BC_type structure to be registered for restarts |
[in] | file_name | The name of the restart file |
rest_file | A (possibly associated) structure describing the restart file | |
[in] | mpp_domain | The FMS domain to use for this registration call |
[in] | varname_prefix | A prefix for the variable name in the restart file, intended to allow multiple BC_type variables to use the same restart files. |
Definition at line 3230 of file coupler_types.F90.
|
private |
Rescales the fields in the fields in the elements of a coupler_2d_bc_type.
Rescales the fields in the elements of a coupler_2d_bc_type by multiplying by a factor scale. If scale is 0, this is a direct assignment to 0, so that NaNs will not persist.
[in,out] | var | The BC_type structure whose fields are being rescaled |
[in] | scale | A scaling factor to multiply fields by |
[in] | halo_size | The extent of the halo to copy; 0 by default or the full arrays if scale is 0. |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this copy. |
[in] | only_flux_type | A string describing which types of fluxes to include from this copy. |
[in] | pass_through_ice | If true, only copy BCs whose value of pass_through ice matches this |
Definition at line 1611 of file coupler_types.F90.
|
private |
[in,out] | var | The BC_type structure whose fields are being rescaled |
[in] | scale | A scaling factor to multiply fields by |
[in] | halo_size | The extent of the halo to copy; 0 by default or the full arrays if scale is 0. |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | exclude_flux_type | A string describing which types of fluxes to exclude from this copy. |
[in] | only_flux_type | A string describing which types of fluxes to include from this copy. |
[in] | pass_through_ice | If true, only copy BCs whose value of pass_through ice matches this |
Definition at line 1701 of file coupler_types.F90.
|
private |
Reads in fields from restart files into a coupler_2d_bc_type.
This subroutine reads in the fields in a coupler_2d_bc_type that have been saved in restart files.
[in,out] | var | BC_type structure to restore from restart files |
[in] | directory | A directory where the restart files should be found. The default for FMS is 'INPUT'. |
[in] | all_or_nothing | If true and there are non-mandatory restart fields, it is still an error if some fields are read successfully but others are not. |
[in] | all_required | If true, all fields must be successfully read from the restart file, even if they were registered as not mandatory. |
[in] | test_by_field | If true, all or none of the variables in a single field must be read successfully. |
Definition at line 3264 of file coupler_types.F90.
|
private |
Read in fields from restart files into a coupler_3d_bc_type.
This subroutine reads in the fields in a coupler_3d_bc_type that have been saved in restart files.
[in,out] | var | BC_type structure to restore from restart files |
[in] | directory | A directory where the restart files should be found. The default for FMS is 'INPUT'. |
[in] | all_or_nothing | If true and there are non-mandatory restart fields, it is still an error if some fields are read successfully but others are not. |
[in] | all_required | If true, all fields must be successfully read from the restart file, even if they were registered as not mandatory. |
[in] | test_by_field | If true, all or none of the variables in a single field must be read successfully. |
Definition at line 3334 of file coupler_types.F90.
|
private |
Write out all diagnostics of elements of a coupler_2d_bc_type.
[in] | var | BC_type structure with the diagnostics to write |
[in] | time | The current model time |
Definition at line 3050 of file coupler_types.F90.
|
private |
Write out all diagnostics of elements of a coupler_3d_bc_type.
[in] | var | BC_type structure with the diagnostics to write |
[in] | time | The current model time |
Definition at line 3067 of file coupler_types.F90.
|
private |
Set single 2d field in coupler_3d_bc_type.
Set a single 2-d field in a coupler_3d_bc_type from a two-dimensional array.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive j-direction halo size for the input structure. | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,The declared i-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,The declared j-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,The target array with i-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with j-dimension size 'n' is too small to match the data of size 'd' |
[in] | array_in | The source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in,out] | var | BC_type structure with the data to set |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2592 of file coupler_types.F90.
|
private |
Set one k-level of a single 3d field in a coupler_3d_bc_type.
This subroutine sets a one k-level of a single 3-d field in a coupler_3d_bc_type from a two-dimensional array.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive j-direction halo size for the input structure. | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,The declared i-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,The declared j-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,The target array with i-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with j-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The k-index of 'k' is outside of the valid range of 'ks' to 'ke' |
[in] | array_in | The source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in] | k_out | The k-index to set |
[in,out] | var | BC_type structure with the data to be set |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2726 of file coupler_types.F90.
|
private |
Set a single 3d field in a coupler_3d_bc_type.
This subroutine sets a single 3-d field in a coupler_3d_bc_type from a three-dimensional array.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index exceeds num_fields for var_in%bc(bc_incdx)%name | |
FATAL,Excessive i-direction halo size for the input structure. | |
FATAL,Excessive j-direction halo size for the input structure. | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,The declared i-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,The declared j-dimension size of 'n' does not match the actual size of 'a' | |
FATAL,There is an i-direction computational domain size mismatch. | |
FATAL,There is an j-direction computational domain size mismatch. | |
FATAL,The target array with i-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with j-dimension size 'n' is too small to match the data of size 'd' | |
FATAL,The target array with K-dimension size 'n' is too small to match the data of size 'd' |
[in] | array_in | The source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied. |
[in] | bc_index | The index of the boundary condition that is being copied |
[in] | field_index | The index of the field in the boundary condition that is being copied |
[in,out] | var | BC_type structure with the data to be set |
[in] | scale_factor | A scaling factor for the data that is being added |
[in] | halo_size | The extent of the halo to copy; 0 by default |
[in] | idim | The data and computational domain extents of the first dimension of the output array in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension of the output array in a non-decreasing list |
Definition at line 2867 of file coupler_types.F90.
|
private |
[in,out] | var | BC_type structure for which to register diagnostics |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
Definition at line 2997 of file coupler_types.F90.
|
private |
Register the diagnostics of a coupler_3d_bc_type.
FATAL,axes has less than 3 elements |
[in,out] | var | BC_type structure for which to register diagnostics |
[in] | diag_name | name for diagnostic file–if blank, then don't register the fields |
[in] | axes | array of axes identifiers for diagnostic variable registration |
[in] | time | model time variable for registering diagnostic field |
Definition at line 3024 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 1-D to 2-D version for generic coupler_type_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 535 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 1-D to 3-D version for generic CT_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | kdim | The array extents of the third dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 630 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 2-D to 2-D version for generic CT_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 734 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 2-D to 3-D version for generic CT_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,Disordered k-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | kdim | The array extents of the third dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 829 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 3-D to 2-D version for generic CT_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 931 of file coupler_types.F90.
|
private |
Generate one coupler type using another as a template. 3-D to 3-D version for generic CT_spawn.
FATAL,The output type has already been initialized | |
FATAL,The parent type has not been initialized | |
FATAL,Disordered i-dimension index bound list | |
FATAL,Disordered j-dimension index bound list | |
FATAL,Disordered k-dimension index bound list | |
FATAL,var%bc already assocated | |
FATAL,var%bc('n')%field already associated | |
FATAL,var%bc('n')%field('m')%values already associated |
[in] | var_in | structure from which to copy information |
[in,out] | var | structure into which to copy information |
[in] | idim | The data and computational domain extents of the first dimension in a non-decreasing list |
[in] | jdim | The data and computational domain extents of the second dimension in a non-decreasing list |
[in] | kdim | The array extents of the third dimension in a non-decreasing list |
[in] | suffix | optional suffix to make the name identifier unique |
[in] | as_needed | Only do the spawn if the target type (var) is not set and the parent type (var_in) is set. |
Definition at line 1026 of file coupler_types.F90.
|
private |
Write out checksums for the elements of a coupler_2d_bc_type.
[in] | var | BC_type structure for which to register diagnostics |
[in] | outunit | The index of a open output file |
[in] | name_lead | An optional prefix for the variable names |
Definition at line 3434 of file coupler_types.F90.
|
private |
Write out checksums for the elements of a coupler_3d_bc_type.
[in] | var | BC_type structure for which to register diagnostics |
[in] | outunit | The index of a open output file |
[in] | name_lead | An optional prefix for the variable names |
Definition at line 3456 of file coupler_types.F90.
integer, public coupler_types_mod::ind_alpha = 1 |
The index of the solubility array for a tracer.
Definition at line 192 of file coupler_types.F90.
integer, public coupler_types_mod::ind_csurf = 2 |
The index of the ocean surface concentration.
Definition at line 193 of file coupler_types.F90.
integer, public coupler_types_mod::ind_deltap = 2 |
The index for ocean-air gas partial pressure change.
Definition at line 196 of file coupler_types.F90.
integer, public coupler_types_mod::ind_deposition = 1 |
The index for the atmospheric deposition flux.
Definition at line 199 of file coupler_types.F90.
integer, public coupler_types_mod::ind_flux = 1 |
The index for the tracer flux.
Definition at line 195 of file coupler_types.F90.
integer, public coupler_types_mod::ind_flux0 = 4 |
The index for the piston velocity.
Definition at line 198 of file coupler_types.F90.
integer, public coupler_types_mod::ind_kw = 3 |
The index for the piston velocity.
Definition at line 197 of file coupler_types.F90.
integer, public coupler_types_mod::ind_pcair = 1 |
The index of the atmospheric concentration.
Definition at line 189 of file coupler_types.F90.
integer, public coupler_types_mod::ind_psurf = 3 |
The index of the surface atmospheric pressure.
Definition at line 191 of file coupler_types.F90.
integer, public coupler_types_mod::ind_runoff = 1 |
The index for a runoff flux.
Definition at line 200 of file coupler_types.F90.
integer, public coupler_types_mod::ind_sc_no = 3 |
The index for the Schmidt number for a tracer flux.
Definition at line 194 of file coupler_types.F90.
integer, public coupler_types_mod::ind_u10 = 2 |
The index of the 10 m wind speed.
Definition at line 190 of file coupler_types.F90.
|
private |
Definition at line 55 of file coupler_types.F90.