FMS 2025.01-dev
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
subroutine | ct_data_override_2d (gridname, var, time) |
Potentially override the values in a coupler_2d_bc_type. | |
subroutine | ct_data_override_3d (gridname, var, time) |
Potentially override the values in a coupler_3d_bc_type. | |
subroutine | ct_destructor_1d (var) |
Deallocate all data associated with a coupler_1d_bc_type. | |
subroutine | ct_destructor_2d (var) |
Deallocate all data associated with a coupler_2d_bc_type. | |
subroutine | ct_destructor_3d (var) |
Deallocate all data associated with a coupler_3d_bc_type. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
logical function | ct_initialized_1d (var) |
Indicate whether a coupler_1d_bc_type has been initialized. | |
logical function | ct_initialized_2d (var) |
Indicate whether a coupler_2d_bc_type has been initialized. | |
logical function | ct_initialized_3d (var) |
Indicate whether a coupler_3d_bc_type has been initialized. | |
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. | |
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. | |
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. | |
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. | |
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. | |
subroutine | ct_send_data_2d (var, time, return_statuses) |
Write out all diagnostics of elements of a coupler_2d_bc_type. | |
subroutine | ct_send_data_3d (var, time, return_statuses) |
Write out all diagnostics of elements of a coupler_3d_bc_type. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
subroutine | ct_write_chksums_2d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_2d_bc_type. | |
subroutine | ct_write_chksums_3d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_3d_bc_type. | |
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_1d_real8_field_type), dimension(:), pointer bc => NULL() |
A pointer to the array of boundary condition fields.
Definition at line 367 of file coupler_types.F90.
type(coupler_1d_real4_field_type), dimension(:), pointer bc_r4 => NULL() |
A pointer to the array of boundary condition fields.
Definition at line 369 of file coupler_types.F90.
integer num_bcs = 0 |
The number of boundary condition fields.
Definition at line 366 of file coupler_types.F90.
logical set = .false. |
If true, this type has been initialized.
Definition at line 371 of file coupler_types.F90.
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. | |
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 | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 352 of file coupler_types.F90.
type(coupler_1d_real4_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 344 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 351 of file coupler_types.F90.
character(len=128) flux_type = ' ' |
flux_type
Definition at line 345 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 353 of file coupler_types.F90.
character(len=128) implementation = ' ' |
implementation
Definition at line 346 of file coupler_types.F90.
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.
character(len=48) name = ' ' |
name
Definition at line 342 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 343 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 354 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.
logical pass_through_ice |
pass_through_ice
Definition at line 357 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 356 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 355 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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 331 of file coupler_types.F90.
character(len=128) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 332 of file coupler_types.F90.
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.
Definition at line 334 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 329 of file coupler_types.F90.
character(len=48) name = ' ' |
The diagnostic name for this array.
Definition at line 327 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 330 of file coupler_types.F90.
character(len=128) units = ' ' |
The units for this array.
Definition at line 333 of file coupler_types.F90.
real(r4_kind), dimension(:), pointer values => NULL() |
The pointer to the array of values.
Definition at line 328 of file coupler_types.F90.
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_ | |
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_ | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 311 of file coupler_types.F90.
type(coupler_1d_real8_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 303 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 310 of file coupler_types.F90.
character(len=128) flux_type = ' ' |
flux_type
Definition at line 304 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 312 of file coupler_types.F90.
character(len=128) implementation = ' ' |
implementation
Definition at line 305 of file coupler_types.F90.
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.
character(len=48) name = ' ' |
name
Definition at line 301 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 302 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 313 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.
logical pass_through_ice |
pass_through_ice
Definition at line 316 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 315 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 314 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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 290 of file coupler_types.F90.
character(len=128) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 291 of file coupler_types.F90.
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.
Definition at line 293 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 288 of file coupler_types.F90.
character(len=48) name = ' ' |
The diagnostic name for this array.
Definition at line 286 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 289 of file coupler_types.F90.
character(len=128) units = ' ' |
The units for this array.
Definition at line 292 of file coupler_types.F90.
real(r8_kind), dimension(:), pointer values => NULL() |
The pointer to the array of values.
Definition at line 287 of file coupler_types.F90.
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_2d_real8_field_type), dimension(:), pointer bc => NULL() |
A pointer to the array of boundary condition fields.
Definition at line 274 of file coupler_types.F90.
type(coupler_2d_real4_field_type), dimension(:), pointer bc_r4 => NULL() |
A pointer to the array of boundary condition fields.
Definition at line 276 of file coupler_types.F90.
integer iec |
Definition at line 279 of file coupler_types.F90.
integer ied |
The i-direction data and computational domain index ranges for this type.
Definition at line 279 of file coupler_types.F90.
integer isc |
Definition at line 279 of file coupler_types.F90.
integer isd |
Definition at line 279 of file coupler_types.F90.
integer jec |
Definition at line 280 of file coupler_types.F90.
integer jed |
The j-direction data and computational domain index ranges for this type.
Definition at line 280 of file coupler_types.F90.
integer jsc |
Definition at line 280 of file coupler_types.F90.
integer jsd |
Definition at line 280 of file coupler_types.F90.
integer num_bcs = 0 |
The number of boundary condition fields.
Definition at line 273 of file coupler_types.F90.
logical set = .false. |
If true, this type has been initialized.
Definition at line 278 of file coupler_types.F90.
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 | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 255 of file coupler_types.F90.
type(coupler_2d_real4_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 247 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 254 of file coupler_types.F90.
character(len=124) flux_type = ' ' |
flux_type
Definition at line 248 of file coupler_types.F90.
type(fmsnetcdfdomainfile_t), pointer fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field.
Definition at line 262 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 256 of file coupler_types.F90.
character(len=124) implementation = ' ' |
implementation
Definition at line 249 of file coupler_types.F90.
real(r8_kind) mol_wt = 0.0_r8_kind |
mol_wt
Definition at line 267 of file coupler_types.F90.
character(len=44) name = ' ' |
name
Definition at line 245 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 246 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 257 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 253 of file coupler_types.F90.
logical pass_through_ice |
pass_through_ice
Definition at line 266 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 265 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 264 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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 233 of file coupler_types.F90.
integer id_rest = 0 |
The id of this array in the restart field.
Definition at line 236 of file coupler_types.F90.
character(len=124) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 234 of file coupler_types.F90.
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.
Definition at line 237 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 231 of file coupler_types.F90.
character(len=44) name = ' ' |
The diagnostic name for this array.
Definition at line 227 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 232 of file coupler_types.F90.
character(len=124) units = ' ' |
The units for this array.
Definition at line 235 of file coupler_types.F90.
real(r4_kind), dimension(:,:), pointer, contiguous values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable.
Definition at line 228 of file coupler_types.F90.
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 | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 209 of file coupler_types.F90.
type(coupler_2d_real8_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 204 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 208 of file coupler_types.F90.
character(len=128) flux_type = ' ' |
flux_type
Definition at line 205 of file coupler_types.F90.
type(fmsnetcdfdomainfile_t), pointer fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field.
Definition at line 216 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 210 of file coupler_types.F90.
character(len=128) implementation = ' ' |
implementation
Definition at line 206 of file coupler_types.F90.
real(r8_kind) mol_wt = 0.0_r8_kind |
mol_wt
Definition at line 221 of file coupler_types.F90.
character(len=48) name = ' ' |
name
Definition at line 202 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 203 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 211 of file coupler_types.F90.
real(r8_kind), dimension(:), pointer param => NULL() |
param
Definition at line 207 of file coupler_types.F90.
logical pass_through_ice |
pass_through_ice
Definition at line 220 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 219 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 218 of file coupler_types.F90.
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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 190 of file coupler_types.F90.
integer id_rest = 0 |
The id of this array in the restart field.
Definition at line 193 of file coupler_types.F90.
character(len=128) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 191 of file coupler_types.F90.
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.
Definition at line 194 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 188 of file coupler_types.F90.
character(len=48) name = ' ' |
The diagnostic name for this array.
Definition at line 184 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 189 of file coupler_types.F90.
character(len=128) units = ' ' |
The units for this array.
Definition at line 192 of file coupler_types.F90.
real(r8_kind), dimension(:,:), pointer, contiguous values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable.
Definition at line 185 of file coupler_types.F90.
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_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.
Definition at line 171 of file coupler_types.F90.
type(coupler_3d_real4_field_type), dimension(:), pointer bc_r4 => NULL() |
A pointer to the array of boundary.
Definition at line 173 of file coupler_types.F90.
integer iec |
Definition at line 175 of file coupler_types.F90.
integer ied |
The i-direction data and computational domain index ranges for this type.
Definition at line 175 of file coupler_types.F90.
integer isc |
Definition at line 175 of file coupler_types.F90.
integer isd |
Definition at line 175 of file coupler_types.F90.
integer jec |
Definition at line 176 of file coupler_types.F90.
integer jed |
The j-direction data and computational domain index ranges for this type.
Definition at line 176 of file coupler_types.F90.
integer jsc |
Definition at line 176 of file coupler_types.F90.
integer jsd |
Definition at line 176 of file coupler_types.F90.
integer ke |
The k-direction index ranges for this type.
Definition at line 177 of file coupler_types.F90.
integer ks |
Definition at line 177 of file coupler_types.F90.
integer num_bcs = 0 |
The number of boundary condition fields.
Definition at line 170 of file coupler_types.F90.
logical set = .false. |
If true, this type has been initialized.
Definition at line 174 of file coupler_types.F90.
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 | |
logical | pass_through_ice |
pass_through_ice | |
logical | use_10m_wind_speed |
use_10m_wind_speed | |
logical | use_atm_pressure |
use_atm_pressure | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 148 of file coupler_types.F90.
type(coupler_3d_real4_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 144 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 147 of file coupler_types.F90.
character(len=128) flux_type = ' ' |
flux_type
Definition at line 145 of file coupler_types.F90.
type(fmsnetcdfdomainfile_t), pointer fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field.
Definition at line 155 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 149 of file coupler_types.F90.
character(len=128) implementation = ' ' |
implementation
Definition at line 146 of file coupler_types.F90.
real(r8_kind) mol_wt = 0.0_r8_kind |
mol_wt
Definition at line 164 of file coupler_types.F90.
character(len=48) name = ' ' |
name
Definition at line 142 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 143 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 150 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 163 of file coupler_types.F90.
logical pass_through_ice |
pass_through_ice
Definition at line 159 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 158 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 157 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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 127 of file coupler_types.F90.
integer id_rest = 0 |
The id of this array in the restart field.
Definition at line 130 of file coupler_types.F90.
character(len=128) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 128 of file coupler_types.F90.
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.
Definition at line 131 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 125 of file coupler_types.F90.
character(len=48) name = ' ' |
The diagnostic name for this array.
Definition at line 124 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 126 of file coupler_types.F90.
character(len=128) units = ' ' |
The units for this array.
Definition at line 129 of file coupler_types.F90.
real(r4_kind), dimension(:,:,:), pointer, contiguous values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable.
Definition at line 134 of file coupler_types.F90.
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 | |
integer atm_tr_index = 0 |
atm_tr_index
Definition at line 105 of file coupler_types.F90.
type(coupler_3d_real8_values_type), dimension(:), pointer field => NULL() |
field
Definition at line 101 of file coupler_types.F90.
logical, dimension(:), pointer flag => NULL() |
flag
Definition at line 104 of file coupler_types.F90.
character(len=128) flux_type = ' ' |
flux_type
Definition at line 102 of file coupler_types.F90.
type(fmsnetcdfdomainfile_t), pointer fms2_io_rest_type => NULL() |
A pointer to the restart_file_type That is used for this field.
Definition at line 112 of file coupler_types.F90.
character(len=fms_file_len) ice_restart_file = ' ' |
ice_restart_file
Definition at line 106 of file coupler_types.F90.
character(len=128) implementation = ' ' |
implementation
Definition at line 103 of file coupler_types.F90.
real(r8_kind) mol_wt = 0.0_r8_kind |
mol_wt
Definition at line 118 of file coupler_types.F90.
character(len=48) name = ' ' |
name
Definition at line 99 of file coupler_types.F90.
integer num_fields = 0 |
num_fields
Definition at line 100 of file coupler_types.F90.
character(len=fms_file_len) ocean_restart_file = ' ' |
ocean_restart_file
Definition at line 107 of file coupler_types.F90.
real(r8_kind), dimension(:), pointer param => NULL() |
param
Definition at line 117 of file coupler_types.F90.
logical pass_through_ice |
pass_through_ice
Definition at line 116 of file coupler_types.F90.
logical use_10m_wind_speed |
use_10m_wind_speed
Definition at line 115 of file coupler_types.F90.
logical use_atm_pressure |
use_atm_pressure
Definition at line 114 of file coupler_types.F90.
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. | |
integer id_diag = 0 |
The diagnostic id for this array.
Definition at line 84 of file coupler_types.F90.
integer id_rest = 0 |
The id of this array in the restart field.
Definition at line 87 of file coupler_types.F90.
character(len=128) long_name = ' ' |
The diagnostic long_name for this array.
Definition at line 85 of file coupler_types.F90.
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.
Definition at line 88 of file coupler_types.F90.
logical mean = .true. |
mean
Definition at line 82 of file coupler_types.F90.
character(len=48) name = ' ' |
The diagnostic name for this array.
Definition at line 81 of file coupler_types.F90.
logical override = .false. |
override
Definition at line 83 of file coupler_types.F90.
character(len=128) units = ' ' |
The units for this array.
Definition at line 86 of file coupler_types.F90.
real(r8_kind), dimension(:,:,:), pointer, contiguous values => NULL() |
The pointer to the array of values for this field; this should be changed to allocatable.
Definition at line 91 of file coupler_types.F90.
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.
Public 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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
subroutine 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 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.
subroutine coupler_type_copy_2d_2d | ( | type(coupler_2d_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. 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.
subroutine coupler_type_copy_2d_3d | ( | type(coupler_2d_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. 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.
subroutine coupler_type_copy_3d_2d | ( | type(coupler_3d_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. 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.
subroutine coupler_type_copy_3d_3d | ( | type(coupler_3d_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. 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.
Public 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. | |
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. | |
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. | |
subroutine ct_copy_data_2d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
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, | ||
character(len=*), intent(in), optional | exclude_flux_type, | ||
character(len=*), intent(in), optional | only_flux_type, | ||
logical, intent(in), optional | 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.
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.
subroutine ct_copy_data_2d_3d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
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, | ||
integer, intent(in), optional | ind3_start, | ||
integer, intent(in), optional | ind3_end | ||
) |
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.
subroutine ct_copy_data_3d | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
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 | ||
) |
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.
Public Member Functions | |
subroutine | ct_data_override_2d (gridname, var, time) |
Potentially override the values in a coupler_2d_bc_type. | |
subroutine | ct_data_override_3d (gridname, var, time) |
Potentially override the values in a coupler_3d_bc_type. | |
subroutine ct_data_override_2d | ( | character(len=3), intent(in) | gridname, |
type(coupler_2d_bc_type), intent(inout) | var, | ||
type(time_type), intent(in) | time | ||
) |
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.
subroutine ct_data_override_3d | ( | character(len=3), intent(in) | gridname, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
type(time_type), intent(in) | time | ||
) |
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.
Public Member Functions | |
subroutine | ct_destructor_1d (var) |
Deallocate all data associated with a coupler_1d_bc_type. | |
subroutine | ct_destructor_2d (var) |
Deallocate all data associated with a coupler_2d_bc_type. | |
subroutine | ct_destructor_3d (var) |
Deallocate all data associated with a coupler_3d_bc_type. | |
subroutine ct_destructor_1d | ( | type(coupler_1d_bc_type), intent(inout) | var | ) |
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.
subroutine ct_destructor_2d | ( | type(coupler_2d_bc_type), intent(inout) | var | ) |
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.
subroutine ct_destructor_3d | ( | type(coupler_3d_bc_type), intent(inout) | var | ) |
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.
Public 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.
Public 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. | |
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. | |
subroutine ct_increment_data_2d_2d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
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(r8_kind), intent(in), optional | scale_factor, | ||
real(r8_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 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_3d_3d | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
integer, intent(in), optional | halo_size, | ||
integer, intent(in), optional | bc_index, | ||
integer, intent(in), optional | field_index, | ||
real(r8_kind), intent(in), optional | scale_factor, | ||
real(r8_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 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.
Public Member Functions | |
logical function | ct_initialized_1d (var) |
Indicate whether a coupler_1d_bc_type has been initialized. | |
logical function | ct_initialized_2d (var) |
Indicate whether a coupler_2d_bc_type has been initialized. | |
logical function | ct_initialized_3d (var) |
Indicate whether a coupler_3d_bc_type has been initialized. | |
logical function ct_initialized_1d | ( | type(coupler_1d_bc_type), intent(in) | var | ) |
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.
logical function ct_initialized_2d | ( | type(coupler_2d_bc_type), intent(in) | var | ) |
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.
logical function ct_initialized_3d | ( | type(coupler_3d_bc_type), intent(in) | var | ) |
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.
Public 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. | |
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. | |
subroutine ct_redistribute_data_2d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
type(domain2d), intent(in) | domain_in, | ||
type(coupler_2d_bc_type), intent(inout) | var_out, | ||
type(domain2d), intent(in) | domain_out, | ||
logical, intent(in), optional | complete | ||
) |
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.
subroutine ct_redistribute_data_3d | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
type(domain2d), intent(in) | domain_in, | ||
type(coupler_3d_bc_type), intent(inout) | var_out, | ||
type(domain2d), intent(in) | domain_out, | ||
logical, intent(in), optional | complete | ||
) |
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.
Public 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) |
subroutine ct_register_restarts_2d | ( | type(coupler_2d_bc_type), intent(inout) | var, |
type(fmsnetcdfdomainfile_t), dimension(:), pointer | bc_rest_files, | ||
integer, intent(out) | num_rest_files, | ||
type(domain2d), intent(in) | mpp_domain, | ||
logical, intent(in) | to_read, | ||
logical, intent(in), optional | ocean_restart, | ||
character(len=*), intent(in), optional | directory | ||
) |
[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.
subroutine ct_register_restarts_3d | ( | type(coupler_3d_bc_type), intent(inout) | var, |
type(fmsnetcdfdomainfile_t), dimension(:), pointer | bc_rest_files, | ||
integer, intent(out) | num_rest_files, | ||
type(domain2d), intent(in) | mpp_domain, | ||
logical, intent(in) | to_read, | ||
logical, intent(in), optional | ocean_restart, | ||
character(len=*), intent(in), optional | directory | ||
) |
[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.
Public 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.
Public 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. | |
subroutine ct_restore_state_2d | ( | type(coupler_2d_bc_type), intent(inout) | var, |
logical, intent(in) | use_fms2_io, | ||
character(len=*), intent(in), optional | directory, | ||
logical, intent(in), optional | all_or_nothing, | ||
logical, intent(in), optional | all_required, | ||
logical, intent(in), optional | test_by_field | ||
) |
[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.
subroutine ct_restore_state_3d | ( | type(coupler_3d_bc_type), intent(inout) | var, |
logical, intent(in) | use_fms2_io, | ||
character(len=*), intent(in), optional | directory, | ||
logical, intent(in), optional | all_or_nothing, | ||
logical, intent(in), optional | all_required, | ||
logical, intent(in), optional | test_by_field | ||
) |
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.
Public Member Functions | |
subroutine | ct_send_data_2d (var, time, return_statuses) |
Write out all diagnostics of elements of a coupler_2d_bc_type. | |
subroutine | ct_send_data_3d (var, time, return_statuses) |
Write out all diagnostics of elements of a coupler_3d_bc_type. | |
subroutine ct_send_data_2d | ( | type(coupler_2d_bc_type), intent(in) | var, |
type(time_type), intent(in) | time, | ||
logical, dimension(:,:), intent(out), optional, allocatable | return_statuses | ||
) |
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.
subroutine ct_send_data_3d | ( | type(coupler_3d_bc_type), intent(in) | var, |
type(time_type), intent(in) | time, | ||
logical, dimension(:,:), intent(out), optional, allocatable | return_statuses | ||
) |
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.
Public 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.
Public 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. | |
subroutine ct_set_diags_2d | ( | type(coupler_2d_bc_type), intent(inout) | var, |
character(len=*), intent(in) | diag_name, | ||
integer, dimension(:), intent(in) | axes, | ||
type(time_type), intent(in) | time | ||
) |
[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.
subroutine ct_set_diags_3d | ( | type(coupler_3d_bc_type), intent(inout) | var, |
character(len=*), intent(in) | diag_name, | ||
integer, dimension(:), intent(in) | axes, | ||
type(time_type), intent(in) | time | ||
) |
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.
Public 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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
subroutine ct_spawn_1d_2d | ( | type(coupler_1d_bc_type), intent(in) | var_in, |
type(coupler_2d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
subroutine ct_spawn_1d_3d | ( | type(coupler_1d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
integer, dimension(2), intent(in) | kdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
subroutine ct_spawn_2d_2d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
type(coupler_2d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
subroutine ct_spawn_2d_3d | ( | type(coupler_2d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
integer, dimension(2), intent(in) | kdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
subroutine ct_spawn_3d_2d | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
type(coupler_2d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
subroutine ct_spawn_3d_3d | ( | type(coupler_3d_bc_type), intent(in) | var_in, |
type(coupler_3d_bc_type), intent(inout) | var, | ||
integer, dimension(4), intent(in) | idim, | ||
integer, dimension(4), intent(in) | jdim, | ||
integer, dimension(2), intent(in) | kdim, | ||
character(len=*), intent(in), optional | suffix, | ||
logical, intent(in), optional | as_needed | ||
) |
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.
Public Member Functions | |
subroutine | ct_write_chksums_2d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_2d_bc_type. | |
subroutine | ct_write_chksums_3d (var, outunit, name_lead) |
Write out checksums for the elements of a coupler_3d_bc_type. | |
subroutine ct_write_chksums_2d | ( | type(coupler_2d_bc_type), intent(in) | var, |
integer, intent(in) | outunit, | ||
character(len=*), intent(in), optional | name_lead | ||
) |
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.
subroutine ct_write_chksums_3d | ( | type(coupler_3d_bc_type), intent(in) | var, |
integer, intent(in) | outunit, | ||
character(len=*), intent(in), optional | name_lead | ||
) |
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_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_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.
subroutine, public coupler_types_init |
Initialize the coupler types.
Definition at line 520 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.
integer, public ind_alpha = 1 |
The index of the solubility array for a tracer.
Definition at line 383 of file coupler_types.F90.
integer, public ind_csurf = 2 |
The index of the ocean surface concentration.
Definition at line 384 of file coupler_types.F90.
integer, public ind_deltap = 2 |
The index for ocean-air gas partial pressure change.
Definition at line 387 of file coupler_types.F90.
integer, public ind_deposition = 1 |
The index for the atmospheric deposition flux.
Definition at line 390 of file coupler_types.F90.
integer, public ind_flux = 1 |
The index for the tracer flux.
Definition at line 386 of file coupler_types.F90.
integer, public ind_flux0 = 4 |
The index for the piston velocity.
Definition at line 389 of file coupler_types.F90.
integer, public ind_kw = 3 |
The index for the piston velocity.
Definition at line 388 of file coupler_types.F90.
integer, public ind_pcair = 1 |
The index of the atmospheric concentration.
Definition at line 380 of file coupler_types.F90.
integer, public ind_psurf = 3 |
The index of the surface atmospheric pressure.
Definition at line 382 of file coupler_types.F90.
integer, public ind_runoff = 1 |
The index for a runoff flux.
Definition at line 391 of file coupler_types.F90.
integer, public ind_sc_no = 3 |
The index for the Schmidt number for a tracer flux.
Definition at line 385 of file coupler_types.F90.
integer, public ind_u10 = 2 |
The index of the 10 m wind speed.
Definition at line 381 of file coupler_types.F90.