FMS
2024.03
Flexible Modeling System
|
This module contains type declarations for the coupler. More...
Data Types | |
type | coupler_1d_bc_type |
Coupler data for 1D boundary conditions. More... | |
type | coupler_1d_real4_field_type |
Coupler data for 1D fields. More... | |
type | coupler_1d_real4_values_type |
Coupler data for 1D values. More... | |
type | coupler_1d_real8_field_type |
Coupler data for 1D fields. More... | |
type | coupler_1d_real8_values_type |
Coupler data for 1D values. More... | |
type | coupler_2d_bc_type |
Coupler data for 2D boundary conditions. More... | |
type | coupler_2d_real4_field_type |
Coupler data for 2D fields. More... | |
type | coupler_2d_real4_values_type |
Coupler data for 2D values. More... | |
type | coupler_2d_real8_field_type |
Coupler data for 2D fields. More... | |
type | coupler_2d_real8_values_type |
Coupler data for 2D values. More... | |
type | coupler_3d_bc_type |
Coupler data for 3D boundary conditions. More... | |
type | coupler_3d_real4_field_type |
Coupler data for 3D fields. More... | |
type | coupler_3d_real4_values_type |
Coupler data for 3D values. More... | |
type | coupler_3d_real8_field_type |
Coupler data for 3D fields. More... | |
type | coupler_3d_real8_values_type |
Coupler data for 3D values. More... | |
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_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, public | coupler_types_init |
Initialize the coupler types. | |
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. 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. 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_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_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_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... | |
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_ (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_extract_data_3d_2d_ (var_in, bc_index, field_index, k_in, array_out, scale_factor, halo_size, idim, jdim) |
Extract a single k-level of a 3d field from a coupler_3d_bc_type. More... | |
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) |
Increment data in all elements of one coupler_2d_bc_type. More... | |
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) |
Increment data in the elements of a coupler_2d_bc_type with weighted averages of elements of a coupler_3d_bc_type. More... | |
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) |
Increment data in all elements of one 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_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_register_restarts_2d (var, bc_rest_files, num_rest_files, mpp_domain, to_read, ocean_restart, directory) |
subroutine | ct_register_restarts_3d (var, bc_rest_files, num_rest_files, mpp_domain, to_read, ocean_restart, directory) |
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) |
Rescales the fields in the elements of a coupler_3d_bc_type. More... | |
subroutine | ct_restore_state_2d (var, use_fms2_io, directory, all_or_nothing, all_required, test_by_field) |
subroutine | ct_restore_state_3d (var, use_fms2_io, directory, all_or_nothing, all_required, test_by_field) |
Read in fields from restart files into a coupler_3d_bc_type. More... | |
subroutine | ct_send_data_2d (var, Time, return_statuses) |
Write out all diagnostics of elements of a coupler_2d_bc_type. More... | |
subroutine | ct_send_data_3d (var, Time, return_statuses) |
Write out all diagnostics of elements of 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_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_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... | |
subroutine | register_axis_wrapper (fileobj, to_read, nz) |
subroutine | register_axis_wrapper_read (fileobj) |
subroutine | register_axis_wrapper_write (fileobj, nz) |
Variables | |
integer, public | ind_alpha = 1 |
The index of the solubility array for a tracer. | |
integer, public | ind_csurf = 2 |
The index of the ocean surface concentration. | |
integer, public | ind_deltap = 2 |
The index for ocean-air gas partial pressure change. | |
integer, public | ind_deposition = 1 |
The index for the atmospheric deposition flux. | |
integer, public | ind_flux = 1 |
The index for the tracer flux. | |
integer, public | ind_flux0 = 4 |
The index for the piston velocity. | |
integer, public | ind_kw = 3 |
The index for the piston velocity. | |
integer, public | ind_pcair = 1 |
The index of the atmospheric concentration. | |
integer, public | ind_psurf = 3 |
The index of the surface atmospheric pressure. | |
integer, public | ind_runoff = 1 |
The index for a runoff flux. | |
integer, public | ind_sc_no = 3 |
The index for the Schmidt number for a tracer flux. | |
integer, public | ind_u10 = 2 |
The index of the 10 m wind speed. | |
This module contains type declarations for the coupler.
type coupler_types_mod::coupler_1d_bc_type |
Coupler data for 1D boundary conditions.
Definition at line 365 of file coupler_types.F90.
Public Attributes | |
type(coupler_1d_real8_field_type), dimension(:), pointer | bc => NULL() |
A pointer to the array of boundary condition fields. | |
type(coupler_1d_real4_field_type), dimension(:), pointer | bc_r4 => NULL() |
A pointer to the array of boundary condition fields. | |
integer | num_bcs = 0 |
The number of boundary condition fields. | |
logical | set = .false. |
If true, this type has been initialized. | |
type coupler_types_mod::coupler_1d_real4_field_type |
Coupler data for 1D fields.
Definition at line 341 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_1d_real4_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=128) | flux_type = ' ' |
flux_type | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=128) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
This is also read in r8 from the field manager, but since its not a pointer the conversion is allowed. More... | |
character(len=48) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion More... | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
real(r8_kind) mol_wt = 0.0_r8_kind |
This is also read in r8 from the field manager, but since its not a pointer the conversion is allowed.
mol_wt
Definition at line 359 of file coupler_types.F90.
real(r8_kind), dimension(:), pointer param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion
param
Definition at line 350 of file coupler_types.F90.
type coupler_types_mod::coupler_1d_real4_values_type |
Coupler data for 1D values.
Definition at line 326 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
character(len=128) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=48) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=128) | units = ' ' |
The units for this array. | |
real(r4_kind), dimension(:), pointer | values => NULL() |
The pointer to the array of values. | |
type coupler_types_mod::coupler_1d_real8_field_type |
Coupler data for 1D fields.
Definition at line 300 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_1d_real8_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=128) | flux_type = ' ' |
flux_type | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=128) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
precision has been explicitly defined to be r8_kind during mixedmode update to field_manager this explicit definition can be removed during the coupler update and be made into FMS_CP_KIND_ More... | |
character(len=48) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
precision has been explicitly defined to be r8_kind during mixedmode update to field_manager this explicit definition can be removed during the coupler update and be made into FMS_CP_KIND_ More... | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
real(r8_kind) mol_wt = 0.0_r8_kind |
precision has been explicitly defined to be r8_kind during mixedmode update to field_manager this explicit definition can be removed during the coupler update and be made into FMS_CP_KIND_
mol_wt
Definition at line 320 of file coupler_types.F90.
real(r8_kind), dimension(:), pointer param => NULL() |
precision has been explicitly defined to be r8_kind during mixedmode update to field_manager this explicit definition can be removed during the coupler update and be made into FMS_CP_KIND_
param
Definition at line 309 of file coupler_types.F90.
type coupler_types_mod::coupler_1d_real8_values_type |
Coupler data for 1D values.
Definition at line 285 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
character(len=128) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=48) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=128) | units = ' ' |
The units for this array. | |
real(r8_kind), dimension(:), pointer | values => NULL() |
The pointer to the array of values. | |
type coupler_types_mod::coupler_2d_bc_type |
Coupler data for 2D boundary conditions.
Definition at line 272 of file coupler_types.F90.
Public Attributes | |
type(coupler_2d_real8_field_type), dimension(:), pointer | bc => NULL() |
A pointer to the array of boundary condition fields. | |
type(coupler_2d_real4_field_type), dimension(:), pointer | bc_r4 => NULL() |
A pointer to the array of boundary condition fields. | |
integer | iec |
integer | ied |
The i-direction data and computational domain index ranges for this type. | |
integer | isc |
integer | isd |
integer | jec |
integer | jed |
The j-direction data and computational domain index ranges for this type. | |
integer | jsc |
integer | jsd |
integer | num_bcs = 0 |
The number of boundary condition fields. | |
logical | set = .false. |
If true, this type has been initialized. | |
type coupler_types_mod::coupler_2d_real4_field_type |
Coupler data for 2D fields.
Definition at line 244 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_2d_real4_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=124) | flux_type = ' ' |
flux_type | |
type(fmsnetcdfdomainfile_t), pointer | fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field. | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=124) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
mol_wt | |
character(len=44) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion More... | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
real(r8_kind), dimension(:), pointer param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion
param
Definition at line 253 of file coupler_types.F90.
type coupler_types_mod::coupler_2d_real4_values_type |
Coupler data for 2D values.
Definition at line 226 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
integer | id_rest = 0 |
The id of this array in the restart field. | |
character(len=124) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=44) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=124) | units = ' ' |
The units for this array. | |
real(r4_kind), dimension(:,:), pointer, contiguous | values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable. | |
type coupler_types_mod::coupler_2d_real8_field_type |
Coupler data for 2D fields.
Definition at line 201 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_2d_real8_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=128) | flux_type = ' ' |
flux_type | |
type(fmsnetcdfdomainfile_t), pointer | fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field. | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=128) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
mol_wt | |
character(len=48) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
param | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
type coupler_types_mod::coupler_2d_real8_values_type |
Coupler data for 2D values.
Definition at line 183 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
integer | id_rest = 0 |
The id of this array in the restart field. | |
character(len=128) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=48) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=128) | units = ' ' |
The units for this array. | |
real(r8_kind), dimension(:,:), pointer, contiguous | values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable. | |
type coupler_types_mod::coupler_3d_bc_type |
Coupler data for 3D boundary conditions.
Definition at line 169 of file coupler_types.F90.
Public Attributes | |
type(coupler_3d_real8_field_type), dimension(:), pointer | bc => NULL() |
A pointer to the array of boundary TODO above should be renamed eventually to indicate kind=8. | |
type(coupler_3d_real4_field_type), dimension(:), pointer | bc_r4 => NULL() |
A pointer to the array of boundary. | |
integer | iec |
integer | ied |
The i-direction data and computational domain index ranges for this type. | |
integer | isc |
integer | isd |
integer | jec |
integer | jed |
The j-direction data and computational domain index ranges for this type. | |
integer | jsc |
integer | jsd |
integer | ke |
The k-direction index ranges for this type. | |
integer | ks |
integer | num_bcs = 0 |
The number of boundary condition fields. | |
logical | set = .false. |
If true, this type has been initialized. | |
type coupler_types_mod::coupler_3d_real4_field_type |
Coupler data for 3D fields.
Definition at line 141 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_3d_real4_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=128) | flux_type = ' ' |
flux_type | |
type(fmsnetcdfdomainfile_t), pointer | fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field. | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=128) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
mol_wt | |
character(len=48) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion More... | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
real(r8_kind), dimension(:), pointer param => NULL() |
precision needs to be r8_kind since this array is retrieved from the field_manager routine fm_util_get_real_array which only returns a r8_kind Might be able to change to allocatable(?) to do a conversion
param
Definition at line 163 of file coupler_types.F90.
type coupler_types_mod::coupler_3d_real4_values_type |
Coupler data for 3D values.
Definition at line 123 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
integer | id_rest = 0 |
The id of this array in the restart field. | |
character(len=128) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=48) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=128) | units = ' ' |
The units for this array. | |
real(r4_kind), dimension(:,:,:), pointer, contiguous | values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable. | |
type coupler_types_mod::coupler_3d_real8_field_type |
Coupler data for 3D fields.
Definition at line 98 of file coupler_types.F90.
Public Attributes | |
integer | atm_tr_index = 0 |
atm_tr_index | |
type(coupler_3d_real8_values_type), dimension(:), pointer | field => NULL() |
field | |
logical, dimension(:), pointer | flag => NULL() |
flag | |
character(len=128) | flux_type = ' ' |
flux_type | |
type(fmsnetcdfdomainfile_t), pointer | fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field. | |
character(len=fms_file_len) | ice_restart_file = ' ' |
ice_restart_file | |
character(len=128) | implementation = ' ' |
implementation | |
real(r8_kind) | mol_wt = 0.0_r8_kind |
mol_wt | |
character(len=48) | name = ' ' |
name | |
integer | num_fields = 0 |
num_fields | |
character(len=fms_file_len) | ocean_restart_file = ' ' |
ocean_restart_file | |
real(r8_kind), dimension(:), pointer | param => NULL() |
param | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
type coupler_types_mod::coupler_3d_real8_values_type |
Coupler data for 3D values.
Definition at line 80 of file coupler_types.F90.
Public Attributes | |
integer | id_diag = 0 |
The diagnostic id for this array. | |
integer | id_rest = 0 |
The id of this array in the restart field. | |
character(len=128) | long_name = ' ' |
The diagnostic long_name for this array. | |
logical | may_init = .true. |
If true, there is an internal method that can be used to initialize this field if it can not be read from a restart file. | |
logical | mean = .true. |
mean | |
character(len=48) | name = ' ' |
The diagnostic name for this array. | |
logical | override = .false. |
override | |
character(len=128) | units = ' ' |
The units for this array. | |
real(r8_kind), dimension(:,:,:), pointer, contiguous | values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable. | |
interface coupler_types_mod::coupler_type_copy |
This is the interface to spawn one coupler_bc_type into another and then register diagnostics associated with the new type.
Definition at line 399 of file coupler_types.F90.
Private Member Functions | |
subroutine | 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 | 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... | |
|
private |
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 541 of file coupler_types.F90.
|
private |
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 575 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 609 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 642 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 676 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 709 of file coupler_types.F90.
interface coupler_types_mod::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.
Definition at line 415 of file coupler_types.F90.
Private Member Functions | |
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. 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. 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_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... | |
|
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 1703 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 2002 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 1850 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_data_override |
This is the interface to override the values of the arrays in a coupler_bc_type.
Definition at line 477 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
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 3759 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 TODO remove this when data_override is merged in |
Definition at line 3796 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_destructor |
This is the interface to deallocate any data associated with a coupler_bc_type.
Definition at line 510 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
private |
Deallocate all data associated with a coupler_1d_bc_type.
[in,out] | var | BC_type structure to be deconstructed |
Definition at line 3967 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 4000 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 4033 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_extract_data |
This is the interface to extract a field in a coupler_bc_type into an array.
Definition at line 444 of file coupler_types.F90.
Private Member Functions | |
ct_extract_data_2d_r4 | |
ct_extract_data_2d_r8 | |
ct_extract_data_3d_2d_r4 | |
ct_extract_data_3d_2d_r8 | |
ct_extract_data_3d_r4 | |
ct_extract_data_3d_r8 | |
interface coupler_types_mod::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.
Definition at line 437 of file coupler_types.F90.
Private Member Functions | |
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) |
Increment data in all elements of one coupler_2d_bc_type. More... | |
ct_increment_data_2d_3d_r4 | |
ct_increment_data_2d_3d_r8 | |
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) |
Increment data in all elements of one coupler_3d_bc_type. More... | |
|
private |
Increment data in all elements of one coupler_2d_bc_type.
Do a direct increment 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 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 2525 of file coupler_types.F90.
|
private |
Increment data in all elements of one coupler_3d_bc_type.
Do a direct increment 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 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 2684 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_initialized |
This function interface indicates whether a coupler_bc_type has been initialized.
Definition at line 504 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
private |
Indicate whether a coupler_1d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3944 of file coupler_types.F90.
|
private |
Indicate whether a coupler_2d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3952 of file coupler_types.F90.
|
private |
Indicate whether a coupler_3d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3960 of file coupler_types.F90.
interface coupler_types_mod::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.
Definition at line 422 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
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 2155 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 2334 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_register_restarts |
This is the interface to register the fields in a coupler_bc_type to be saved in restart files.
Definition at line 484 of file coupler_types.F90.
Private Member Functions | |
subroutine | ct_register_restarts_2d (var, bc_rest_files, num_rest_files, mpp_domain, to_read, ocean_restart, directory) |
subroutine | ct_register_restarts_3d (var, bc_rest_files, num_rest_files, mpp_domain, to_read, ocean_restart, directory) |
|
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] | to_read | Flag indicating if reading/writing a file |
[in] | ocean_restart | If true, use the ocean restart file name. |
[in] | directory | Directory where to open the file |
Definition at line 3070 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] | to_read | Flag indicating if reading/writing a file |
[in] | ocean_restart | If true, use the ocean restart file name. |
[in] | directory | Directory where to open the file |
Definition at line 3352 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_rescale_data |
This is the interface to rescale the field data in a coupler_bc_type.
Definition at line 428 of file coupler_types.F90.
Private Member Functions | |
ct_rescale_data_2d_r4 | |
ct_rescale_data_2d_r8 | |
ct_rescale_data_3d_r4 | |
ct_rescale_data_3d_r8 | |
interface coupler_types_mod::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.
Definition at line 495 of file coupler_types.F90.
Private Member Functions | |
subroutine | ct_restore_state_2d (var, use_fms2_io, directory, all_or_nothing, all_required, test_by_field) |
subroutine | ct_restore_state_3d (var, use_fms2_io, directory, all_or_nothing, all_required, test_by_field) |
Read in fields from restart files into a coupler_3d_bc_type. More... | |
|
private |
[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. |
[in] | use_fms2_io | This is just to distinguish the interfaces |
Definition at line 3542 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] | use_fms2_io | This is just to distinguish the interfaces |
[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 3650 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_send_data |
This is the interface to write out diagnostics of the arrays in a coupler_bc_type.
Definition at line 471 of file coupler_types.F90.
Private Member Functions | |
subroutine | ct_send_data_2d (var, Time, return_statuses) |
Write out all diagnostics of elements of a coupler_2d_bc_type. More... | |
subroutine | ct_send_data_3d (var, Time, return_statuses) |
Write out all diagnostics of elements of a coupler_3d_bc_type. More... | |
|
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 |
[out] | return_statuses | Return status of send data calls first index is index of boundary condition second index is field/value within that boundary condition |
Definition at line 2947 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 |
[out] | return_statuses | Return status of send data calls first index is index of boundary condition second index is field/value within that boundary condition |
Definition at line 3008 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_set_data |
This is the interface to set a field in a coupler_bc_type from an array.
Definition at line 452 of file coupler_types.F90.
Private Member Functions | |
ct_set_data_2d_3d_r4 | |
ct_set_data_2d_3d_r8 | |
ct_set_data_2d_r4 | |
ct_set_data_2d_r8 | |
ct_set_data_3d_r4 | |
ct_set_data_3d_r8 | |
interface coupler_types_mod::coupler_type_set_diags |
This is the interface to set diagnostics for the arrays in a coupler_bc_type.
Definition at line 459 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
private |
[in,out] | var | BC_type structure for which to register diagnostics |
[in] | diag_name | Module 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 2838 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 | Module 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 2894 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_spawn |
This is the interface to spawn one coupler_bc_type into another.
Definition at line 407 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
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 750 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 905 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 1067 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 1221 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 1382 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 1538 of file coupler_types.F90.
interface coupler_types_mod::coupler_type_write_chksums |
This is the interface to write out checksums for the elements of a coupler_bc_type.
Definition at line 465 of file coupler_types.F90.
Private Member Functions | |
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... | |
|
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 3838 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 3890 of file coupler_types.F90.
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 541 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 575 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 609 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 642 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 676 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 709 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 1703 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 2002 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 1850 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 3759 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 TODO remove this when data_override is merged in |
Definition at line 3796 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 3967 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 4000 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 4033 of file coupler_types.F90.
subroutine ct_extract_data_2d_ | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
real(fms_cp_kind_), dimension(1:,1:), intent(out) | array_out, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
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%FMS_CP_BC_TYPE_(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 379 of file coupler_types.inc.
subroutine ct_extract_data_3d_ | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
real(fms_cp_kind_), dimension(1:,1:,1:), intent(out) | array_out, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
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%FMS_CP_BC_TYPE_(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 661 of file coupler_types.inc.
subroutine ct_extract_data_3d_2d_ | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
integer, intent(in) | k_in, | ||
real(fms_cp_kind_), dimension(1:,1:), intent(out) | array_out, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
Extract a single k-level of a 3d field from a coupler_3d_bc_type.
Extract a single k-level of a 3-d field from a coupler_3d_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%FMS_CP_BC_TYPE_(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 extracted k-index of 'k' is outside of the valid range of 'ks' to 'ke' |
[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 517 of file coupler_types.inc.
|
private |
Increment data in all elements of one coupler_2d_bc_type.
Do a direct increment 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 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 2525 of file coupler_types.F90.
subroutine ct_increment_data_2d_3d_ | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
real(fms_cp_kind_), dimension(:,:,:), intent(in) | weights, | ||
type(coupler_2d_bc_type), intent(inout) | var, | ||
integer, intent(in), optional | halo_size, | ||
integer, intent(in), optional | bc_index, | ||
integer, intent(in), optional | field_index, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
real(fms_cp_kind_), intent(in), optional | scale_prev, | ||
character(len=*), intent(in), optional | exclude_flux_type, | ||
character(len=*), intent(in), optional | only_flux_type, | ||
logical, intent(in), optional | pass_through_ice | ||
) |
Increment data in the elements of a coupler_2d_bc_type with weighted averages of elements of a coupler_3d_bc_type.
Increments the data in the elements of a coupler_2d_bc_type with the weighed average of the elements of a coupler_3d_bc_type. Both must have the same horizontal array sizes and the normalized weight array must match the array sizes of the coupler_3d_bc_type.
FATAL,bc_index is present and exceeds var_in%num_bcs. | |
FATAL,field_index is present and exceeds num_fields for var_in%FMS_CP_BC_TYPE_(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,weights array must be the i-size of a computational or data domain. | |
FATAL,weights array must be the j-size of a computational or data domain. |
[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 and is being added |
[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 233 of file coupler_types.inc.
|
private |
Increment data in all elements of one coupler_3d_bc_type.
Do a direct increment 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 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 2684 of file coupler_types.F90.
|
private |
Indicate whether a coupler_1d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3944 of file coupler_types.F90.
|
private |
Indicate whether a coupler_2d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3952 of file coupler_types.F90.
|
private |
Indicate whether a coupler_3d_bc_type has been initialized.
[in] | var | BC_type structure to check initialization |
Definition at line 3960 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 2155 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 2334 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] | to_read | Flag indicating if reading/writing a file |
[in] | ocean_restart | If true, use the ocean restart file name. |
[in] | directory | Directory where to open the file |
Definition at line 3070 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] | to_read | Flag indicating if reading/writing a file |
[in] | ocean_restart | If true, use the ocean restart file name. |
[in] | directory | Directory where to open the file |
Definition at line 3352 of file coupler_types.F90.
subroutine ct_rescale_data_2d_ | ( | type(coupler_2d_bc_type), intent(inout) | var, |
real(fms_cp_kind_), intent(in) | scale, | ||
integer, intent(in), optional | halo_size, | ||
integer, intent(in), optional | bc_index, | ||
integer, intent(in), optional | field_index, | ||
character(len=*), intent(in), optional | exclude_flux_type, | ||
character(len=*), intent(in), optional | only_flux_type, | ||
logical, intent(in), optional | pass_through_ice | ||
) |
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 34 of file coupler_types.inc.
subroutine ct_rescale_data_3d_ | ( | type(coupler_3d_bc_type), intent(inout) | var, |
real(fms_cp_kind_), intent(in) | scale, | ||
integer, intent(in), optional | halo_size, | ||
integer, intent(in), optional | bc_index, | ||
integer, intent(in), optional | field_index, | ||
character(len=*), intent(in), optional | exclude_flux_type, | ||
character(len=*), intent(in), optional | only_flux_type, | ||
logical, intent(in), optional | pass_through_ice | ||
) |
Rescales the fields in the elements of a coupler_3d_bc_type.
This subroutine rescales the fields in the elements of a coupler_3d_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 125 of file coupler_types.inc.
|
private |
[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. |
[in] | use_fms2_io | This is just to distinguish the interfaces |
Definition at line 3542 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] | use_fms2_io | This is just to distinguish the interfaces |
[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 3650 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 |
[out] | return_statuses | Return status of send data calls first index is index of boundary condition second index is field/value within that boundary condition |
Definition at line 2947 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 |
[out] | return_statuses | Return status of send data calls first index is index of boundary condition second index is field/value within that boundary condition |
Definition at line 3008 of file coupler_types.F90.
subroutine ct_set_data_2d_ | ( | real(fms_cp_kind_), dimension(1:,1:), intent(in) | array_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
type(coupler_2d_bc_type), intent(inout) | var, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
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%FMS_CP_BC_TYPE_(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 808 of file coupler_types.inc.
subroutine ct_set_data_2d_3d_ | ( | real(fms_cp_kind_), dimension(1:,1:), intent(in) | array_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
integer, intent(in) | k_out, | ||
type(coupler_3d_bc_type), intent(inout) | var, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
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%FMS_CP_BC_TYPE_(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 943 of file coupler_types.inc.
subroutine ct_set_data_3d_ | ( | real(fms_cp_kind_), dimension(1:,1:,1:), intent(in) | array_in, |
integer, intent(in) | bc_index, | ||
integer, intent(in) | field_index, | ||
type(coupler_3d_bc_type), intent(inout) | var, | ||
real(fms_cp_kind_), intent(in), optional | scale_factor, | ||
integer, intent(in), optional | halo_size, | ||
integer, dimension(4), intent(in), optional | idim, | ||
integer, dimension(4), intent(in), optional | jdim | ||
) |
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%FMS_CP_BC_TYPE_(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 1085 of file coupler_types.inc.
|
private |
[in,out] | var | BC_type structure for which to register diagnostics |
[in] | diag_name | Module 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 2838 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 | Module 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 2894 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 750 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 905 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 1067 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 1221 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 1382 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 1538 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 3838 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 3890 of file coupler_types.F90.
|
private |
[in,out] | fileobj | Domain decomposed fileobj |
[in] | to_read | Flag indicating if reading file |
[in] | nz | length of the z dimension |
Definition at line 3336 of file coupler_types.F90.
|
private |
[in,out] | fileobj | Domain decomposed fileobj |
Definition at line 3250 of file coupler_types.F90.
|
private |
[in,out] | fileobj | Domain decomposed fileobj |
[in] | nz | length of the z dimension |
Definition at line 3303 of file coupler_types.F90.