FMS 2025.01-dev
Flexible Modeling System
Loading...
Searching...
No Matches
coupler_types_mod

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.
 

Detailed Description

This module contains type declarations for the coupler.

Author
Richard Slater, John Dunne

Data Type Documentation

◆ coupler_types_mod::coupler_1d_bc_type

type coupler_types_mod::coupler_1d_bc_type

Coupler data for 1D boundary conditions.

Definition at line 365 of file coupler_types.F90.

Collaboration diagram for coupler_1d_bc_type:
[legend]

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.
 

Member Data Documentation

◆ bc

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.

◆ bc_r4

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.

◆ num_bcs

integer num_bcs = 0

The number of boundary condition fields.

Definition at line 366 of file coupler_types.F90.

◆ set

logical set = .false.

If true, this type has been initialized.

Definition at line 371 of file coupler_types.F90.

◆ coupler_types_mod::coupler_1d_real4_field_type

type coupler_types_mod::coupler_1d_real4_field_type

Coupler data for 1D fields.

Definition at line 341 of file coupler_types.F90.

Collaboration diagram for coupler_1d_real4_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 352 of file coupler_types.F90.

◆ field

type(coupler_1d_real4_values_type), dimension(:), pointer field => NULL()

field

Definition at line 344 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 351 of file coupler_types.F90.

◆ flux_type

character(len=128) flux_type = ' '

flux_type

Definition at line 345 of file coupler_types.F90.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 353 of file coupler_types.F90.

◆ implementation

character(len=128) implementation = ' '

implementation

Definition at line 346 of file coupler_types.F90.

◆ mol_wt

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.

◆ name

character(len=48) name = ' '

name

Definition at line 342 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 343 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 354 of file coupler_types.F90.

◆ param

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.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 357 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 356 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 355 of file coupler_types.F90.

◆ coupler_types_mod::coupler_1d_real4_values_type

type coupler_types_mod::coupler_1d_real4_values_type

Coupler data for 1D values.

Definition at line 326 of file coupler_types.F90.

Collaboration diagram for coupler_1d_real4_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 331 of file coupler_types.F90.

◆ long_name

character(len=128) long_name = ' '

The diagnostic long_name for this array.

Definition at line 332 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 329 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

The diagnostic name for this array.

Definition at line 327 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 330 of file coupler_types.F90.

◆ units

character(len=128) units = ' '

The units for this array.

Definition at line 333 of file coupler_types.F90.

◆ values

real(r4_kind), dimension(:), pointer values => NULL()

The pointer to the array of values.

Definition at line 328 of file coupler_types.F90.

◆ coupler_types_mod::coupler_1d_real8_field_type

type coupler_types_mod::coupler_1d_real8_field_type

Coupler data for 1D fields.

Definition at line 300 of file coupler_types.F90.

Collaboration diagram for coupler_1d_real8_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 311 of file coupler_types.F90.

◆ field

type(coupler_1d_real8_values_type), dimension(:), pointer field => NULL()

field

Definition at line 303 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 310 of file coupler_types.F90.

◆ flux_type

character(len=128) flux_type = ' '

flux_type

Definition at line 304 of file coupler_types.F90.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 312 of file coupler_types.F90.

◆ implementation

character(len=128) implementation = ' '

implementation

Definition at line 305 of file coupler_types.F90.

◆ mol_wt

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.

◆ name

character(len=48) name = ' '

name

Definition at line 301 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 302 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 313 of file coupler_types.F90.

◆ param

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.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 316 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 315 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 314 of file coupler_types.F90.

◆ coupler_types_mod::coupler_1d_real8_values_type

type coupler_types_mod::coupler_1d_real8_values_type

Coupler data for 1D values.

Definition at line 285 of file coupler_types.F90.

Collaboration diagram for coupler_1d_real8_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 290 of file coupler_types.F90.

◆ long_name

character(len=128) long_name = ' '

The diagnostic long_name for this array.

Definition at line 291 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 288 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

The diagnostic name for this array.

Definition at line 286 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 289 of file coupler_types.F90.

◆ units

character(len=128) units = ' '

The units for this array.

Definition at line 292 of file coupler_types.F90.

◆ values

real(r8_kind), dimension(:), pointer values => NULL()

The pointer to the array of values.

Definition at line 287 of file coupler_types.F90.

◆ coupler_types_mod::coupler_2d_bc_type

type coupler_types_mod::coupler_2d_bc_type

Coupler data for 2D boundary conditions.

Definition at line 272 of file coupler_types.F90.

Collaboration diagram for coupler_2d_bc_type:
[legend]

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.
 

Member Data Documentation

◆ bc

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.

◆ bc_r4

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.

◆ iec

integer iec

Definition at line 279 of file coupler_types.F90.

◆ ied

integer ied

The i-direction data and computational domain index ranges for this type.

Definition at line 279 of file coupler_types.F90.

◆ isc

integer isc

Definition at line 279 of file coupler_types.F90.

◆ isd

integer isd

Definition at line 279 of file coupler_types.F90.

◆ jec

integer jec

Definition at line 280 of file coupler_types.F90.

◆ jed

integer jed

The j-direction data and computational domain index ranges for this type.

Definition at line 280 of file coupler_types.F90.

◆ jsc

integer jsc

Definition at line 280 of file coupler_types.F90.

◆ jsd

integer jsd

Definition at line 280 of file coupler_types.F90.

◆ num_bcs

integer num_bcs = 0

The number of boundary condition fields.

Definition at line 273 of file coupler_types.F90.

◆ set

logical set = .false.

If true, this type has been initialized.

Definition at line 278 of file coupler_types.F90.

◆ coupler_types_mod::coupler_2d_real4_field_type

type coupler_types_mod::coupler_2d_real4_field_type

Coupler data for 2D fields.

Definition at line 244 of file coupler_types.F90.

Collaboration diagram for coupler_2d_real4_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 255 of file coupler_types.F90.

◆ field

type(coupler_2d_real4_values_type), dimension(:), pointer field => NULL()

field

Definition at line 247 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 254 of file coupler_types.F90.

◆ flux_type

character(len=124) flux_type = ' '

flux_type

Definition at line 248 of file coupler_types.F90.

◆ fms2_io_rest_type

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.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 256 of file coupler_types.F90.

◆ implementation

character(len=124) implementation = ' '

implementation

Definition at line 249 of file coupler_types.F90.

◆ mol_wt

real(r8_kind) mol_wt = 0.0_r8_kind

mol_wt

Definition at line 267 of file coupler_types.F90.

◆ name

character(len=44) name = ' '

name

Definition at line 245 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 246 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 257 of file coupler_types.F90.

◆ param

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.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 266 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 265 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 264 of file coupler_types.F90.

◆ coupler_types_mod::coupler_2d_real4_values_type

type coupler_types_mod::coupler_2d_real4_values_type

Coupler data for 2D values.

Definition at line 226 of file coupler_types.F90.

Collaboration diagram for coupler_2d_real4_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 233 of file coupler_types.F90.

◆ id_rest

integer id_rest = 0

The id of this array in the restart field.

Definition at line 236 of file coupler_types.F90.

◆ long_name

character(len=124) long_name = ' '

The diagnostic long_name for this array.

Definition at line 234 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 231 of file coupler_types.F90.

◆ name

character(len=44) name = ' '

The diagnostic name for this array.

Definition at line 227 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 232 of file coupler_types.F90.

◆ units

character(len=124) units = ' '

The units for this array.

Definition at line 235 of file coupler_types.F90.

◆ values

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.

◆ coupler_types_mod::coupler_2d_real8_field_type

type coupler_types_mod::coupler_2d_real8_field_type

Coupler data for 2D fields.

Definition at line 201 of file coupler_types.F90.

Collaboration diagram for coupler_2d_real8_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 209 of file coupler_types.F90.

◆ field

type(coupler_2d_real8_values_type), dimension(:), pointer field => NULL()

field

Definition at line 204 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 208 of file coupler_types.F90.

◆ flux_type

character(len=128) flux_type = ' '

flux_type

Definition at line 205 of file coupler_types.F90.

◆ fms2_io_rest_type

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.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 210 of file coupler_types.F90.

◆ implementation

character(len=128) implementation = ' '

implementation

Definition at line 206 of file coupler_types.F90.

◆ mol_wt

real(r8_kind) mol_wt = 0.0_r8_kind

mol_wt

Definition at line 221 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

name

Definition at line 202 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 203 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 211 of file coupler_types.F90.

◆ param

real(r8_kind), dimension(:), pointer param => NULL()

param

Definition at line 207 of file coupler_types.F90.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 220 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 219 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 218 of file coupler_types.F90.

◆ coupler_types_mod::coupler_2d_real8_values_type

type coupler_types_mod::coupler_2d_real8_values_type

Coupler data for 2D values.

Definition at line 183 of file coupler_types.F90.

Collaboration diagram for coupler_2d_real8_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 190 of file coupler_types.F90.

◆ id_rest

integer id_rest = 0

The id of this array in the restart field.

Definition at line 193 of file coupler_types.F90.

◆ long_name

character(len=128) long_name = ' '

The diagnostic long_name for this array.

Definition at line 191 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 188 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

The diagnostic name for this array.

Definition at line 184 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 189 of file coupler_types.F90.

◆ units

character(len=128) units = ' '

The units for this array.

Definition at line 192 of file coupler_types.F90.

◆ values

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.

◆ coupler_types_mod::coupler_3d_bc_type

type coupler_types_mod::coupler_3d_bc_type

Coupler data for 3D boundary conditions.

Definition at line 169 of file coupler_types.F90.

Collaboration diagram for coupler_3d_bc_type:
[legend]

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.
 

Member Data Documentation

◆ bc

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.

◆ bc_r4

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.

◆ iec

integer iec

Definition at line 175 of file coupler_types.F90.

◆ ied

integer ied

The i-direction data and computational domain index ranges for this type.

Definition at line 175 of file coupler_types.F90.

◆ isc

integer isc

Definition at line 175 of file coupler_types.F90.

◆ isd

integer isd

Definition at line 175 of file coupler_types.F90.

◆ jec

integer jec

Definition at line 176 of file coupler_types.F90.

◆ jed

integer jed

The j-direction data and computational domain index ranges for this type.

Definition at line 176 of file coupler_types.F90.

◆ jsc

integer jsc

Definition at line 176 of file coupler_types.F90.

◆ jsd

integer jsd

Definition at line 176 of file coupler_types.F90.

◆ ke

integer ke

The k-direction index ranges for this type.

Definition at line 177 of file coupler_types.F90.

◆ ks

integer ks

Definition at line 177 of file coupler_types.F90.

◆ num_bcs

integer num_bcs = 0

The number of boundary condition fields.

Definition at line 170 of file coupler_types.F90.

◆ set

logical set = .false.

If true, this type has been initialized.

Definition at line 174 of file coupler_types.F90.

◆ coupler_types_mod::coupler_3d_real4_field_type

type coupler_types_mod::coupler_3d_real4_field_type

Coupler data for 3D fields.

Definition at line 141 of file coupler_types.F90.

Collaboration diagram for coupler_3d_real4_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 148 of file coupler_types.F90.

◆ field

type(coupler_3d_real4_values_type), dimension(:), pointer field => NULL()

field

Definition at line 144 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 147 of file coupler_types.F90.

◆ flux_type

character(len=128) flux_type = ' '

flux_type

Definition at line 145 of file coupler_types.F90.

◆ fms2_io_rest_type

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.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 149 of file coupler_types.F90.

◆ implementation

character(len=128) implementation = ' '

implementation

Definition at line 146 of file coupler_types.F90.

◆ mol_wt

real(r8_kind) mol_wt = 0.0_r8_kind

mol_wt

Definition at line 164 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

name

Definition at line 142 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 143 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 150 of file coupler_types.F90.

◆ param

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.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 159 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 158 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 157 of file coupler_types.F90.

◆ coupler_types_mod::coupler_3d_real4_values_type

type coupler_types_mod::coupler_3d_real4_values_type

Coupler data for 3D values.

Definition at line 123 of file coupler_types.F90.

Collaboration diagram for coupler_3d_real4_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 127 of file coupler_types.F90.

◆ id_rest

integer id_rest = 0

The id of this array in the restart field.

Definition at line 130 of file coupler_types.F90.

◆ long_name

character(len=128) long_name = ' '

The diagnostic long_name for this array.

Definition at line 128 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 125 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

The diagnostic name for this array.

Definition at line 124 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 126 of file coupler_types.F90.

◆ units

character(len=128) units = ' '

The units for this array.

Definition at line 129 of file coupler_types.F90.

◆ values

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.

◆ coupler_types_mod::coupler_3d_real8_field_type

type coupler_types_mod::coupler_3d_real8_field_type

Coupler data for 3D fields.

Definition at line 98 of file coupler_types.F90.

Collaboration diagram for coupler_3d_real8_field_type:
[legend]

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
 

Member Data Documentation

◆ atm_tr_index

integer atm_tr_index = 0

atm_tr_index

Definition at line 105 of file coupler_types.F90.

◆ field

type(coupler_3d_real8_values_type), dimension(:), pointer field => NULL()

field

Definition at line 101 of file coupler_types.F90.

◆ flag

logical, dimension(:), pointer flag => NULL()

flag

Definition at line 104 of file coupler_types.F90.

◆ flux_type

character(len=128) flux_type = ' '

flux_type

Definition at line 102 of file coupler_types.F90.

◆ fms2_io_rest_type

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.

◆ ice_restart_file

character(len=fms_file_len) ice_restart_file = ' '

ice_restart_file

Definition at line 106 of file coupler_types.F90.

◆ implementation

character(len=128) implementation = ' '

implementation

Definition at line 103 of file coupler_types.F90.

◆ mol_wt

real(r8_kind) mol_wt = 0.0_r8_kind

mol_wt

Definition at line 118 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

name

Definition at line 99 of file coupler_types.F90.

◆ num_fields

integer num_fields = 0

num_fields

Definition at line 100 of file coupler_types.F90.

◆ ocean_restart_file

character(len=fms_file_len) ocean_restart_file = ' '

ocean_restart_file

Definition at line 107 of file coupler_types.F90.

◆ param

real(r8_kind), dimension(:), pointer param => NULL()

param

Definition at line 117 of file coupler_types.F90.

◆ pass_through_ice

logical pass_through_ice

pass_through_ice

Definition at line 116 of file coupler_types.F90.

◆ use_10m_wind_speed

logical use_10m_wind_speed

use_10m_wind_speed

Definition at line 115 of file coupler_types.F90.

◆ use_atm_pressure

logical use_atm_pressure

use_atm_pressure

Definition at line 114 of file coupler_types.F90.

◆ coupler_types_mod::coupler_3d_real8_values_type

type coupler_types_mod::coupler_3d_real8_values_type

Coupler data for 3D values.

Definition at line 80 of file coupler_types.F90.

Collaboration diagram for coupler_3d_real8_values_type:
[legend]

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.
 

Member Data Documentation

◆ id_diag

integer id_diag = 0

The diagnostic id for this array.

Definition at line 84 of file coupler_types.F90.

◆ id_rest

integer id_rest = 0

The id of this array in the restart field.

Definition at line 87 of file coupler_types.F90.

◆ long_name

character(len=128) long_name = ' '

The diagnostic long_name for this array.

Definition at line 85 of file coupler_types.F90.

◆ may_init

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.

◆ mean

logical mean = .true.

mean

Definition at line 82 of file coupler_types.F90.

◆ name

character(len=48) name = ' '

The diagnostic name for this array.

Definition at line 81 of file coupler_types.F90.

◆ override

logical override = .false.

override

Definition at line 83 of file coupler_types.F90.

◆ units

character(len=128) units = ' '

The units for this array.

Definition at line 86 of file coupler_types.F90.

◆ values

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.

◆ coupler_types_mod::coupler_type_copy

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.
 

Member Function/Subroutine Documentation

◆ coupler_type_copy_1d_2d()

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.

Exceptions
FATAL,Number of output fields exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 541 of file coupler_types.F90.

◆ coupler_type_copy_1d_3d()

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.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 575 of file coupler_types.F90.

◆ coupler_type_copy_2d_2d()

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.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 609 of file coupler_types.F90.

◆ coupler_type_copy_2d_3d()

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.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 642 of file coupler_types.F90.

◆ coupler_type_copy_3d_2d()

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.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 676 of file coupler_types.F90.

◆ coupler_type_copy_3d_3d()

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.

Exceptions
FATAL,Number of output fields exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 709 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_copy_data

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.
 

Member Function/Subroutine Documentation

◆ ct_copy_data_2d()

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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 1703 of file coupler_types.F90.

◆ ct_copy_data_2d_3d()

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..

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this
[in]ind3_startThe starting value of the 3rd index of the 3d type to fill in.
[in]ind3_endThe ending value of the 3rd index of the 3d type to fill in.

Definition at line 2002 of file coupler_types.F90.

◆ ct_copy_data_3d()

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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 1850 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_data_override

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.
 

Member Function/Subroutine Documentation

◆ ct_data_override_2d()

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.

Parameters
[in]gridname3-character long model grid ID
[in,out]varBC_type structure to override
[in]timeThe current model time

Definition at line 3759 of file coupler_types.F90.

◆ ct_data_override_3d()

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.

Parameters
[in]gridname3-character long model grid ID
[in,out]varBC_type structure to override
[in]timeThe current model time TODO remove this when data_override is merged in

Definition at line 3796 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_destructor

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.
 

Member Function/Subroutine Documentation

◆ ct_destructor_1d()

subroutine ct_destructor_1d ( type(coupler_1d_bc_type), intent(inout)  var)

Deallocate all data associated with a coupler_1d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 3967 of file coupler_types.F90.

◆ ct_destructor_2d()

subroutine ct_destructor_2d ( type(coupler_2d_bc_type), intent(inout)  var)

Deallocate all data associated with a coupler_2d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 4000 of file coupler_types.F90.

◆ ct_destructor_3d()

subroutine ct_destructor_3d ( type(coupler_3d_bc_type), intent(inout)  var)

Deallocate all data associated with a coupler_3d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 4033 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_extract_data

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
 

◆ coupler_types_mod::coupler_type_increment_data

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.
 

Member Function/Subroutine Documentation

◆ ct_increment_data_2d_2d()

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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to add to the other type
[in,out]varThe BC_type structure whose fields are being incremented
[in]halo_sizeThe extent of the halo to increment; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]scale_factorA scaling factor for the data that is being added
[in]scale_prevA scaling factor for the data that is already here
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this increment.
[in]only_flux_typeA string describing which types of fluxes to include from this increment.
[in]pass_through_iceIf true, only increment BCs whose value of pass_through ice matches this

Definition at line 2525 of file coupler_types.F90.

◆ ct_increment_data_3d_3d()

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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to add to the other type
[in,out]varThe BC_type structure whose fields are being incremented
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]scale_factorA scaling factor for the data that is being added
[in]scale_prevA scaling factor for the data that is already here
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this increment.
[in]only_flux_typeA string describing which types of fluxes to include from this increment.
[in]pass_through_iceIf true, only increment BCs whose value of pass_through ice matches this

Definition at line 2684 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_initialized

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.
 

Member Function/Subroutine Documentation

◆ ct_initialized_1d()

logical function ct_initialized_1d ( type(coupler_1d_bc_type), intent(in)  var)

Indicate whether a coupler_1d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3944 of file coupler_types.F90.

◆ ct_initialized_2d()

logical function ct_initialized_2d ( type(coupler_2d_bc_type), intent(in)  var)

Indicate whether a coupler_2d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3952 of file coupler_types.F90.

◆ ct_initialized_3d()

logical function ct_initialized_3d ( type(coupler_3d_bc_type), intent(in)  var)

Indicate whether a coupler_3d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3960 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_redistribute_data

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.
 

Member Function/Subroutine Documentation

◆ ct_redistribute_data_2d()

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.

Exceptions
FATAL,Mismatch in num_bcs in CT_copy_data_2d.
FATAL,Mismatch in the total number of fields in CT_redistribute_data_2d.
Parameters
[in]var_inBC_type structure with the data to copy (intent in)
[in]domain_inThe FMS domain for the input structure
[in,out]var_outThe recipient BC_type structure (data intent out)
[in]domain_outThe FMS domain for the output structure
[in]completeIf true, complete the updates

Definition at line 2155 of file coupler_types.F90.

◆ ct_redistribute_data_3d()

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.

Parameters
[in]var_inBC_type structure with the data to copy (intent in)
[in]domain_inThe FMS domain for the input structure
[in,out]var_outThe recipient BC_type structure (data intent out)
[in]domain_outThe FMS domain for the output structure
[in]completeIf true, complete the updates

Definition at line 2334 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_register_restarts

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)
 

Member Function/Subroutine Documentation

◆ ct_register_restarts_2d()

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 
)
Parameters
[in,out]varBC_type structure to be registered for restarts
bc_rest_filesStructures describing the restart files
[out]num_rest_filesThe number of restart files to use
[in]mpp_domainThe FMS domain to use for this registration call
[in]to_readFlag indicating if reading/writing a file
[in]ocean_restartIf true, use the ocean restart file name.
[in]directoryDirectory where to open the file

Definition at line 3070 of file coupler_types.F90.

◆ ct_register_restarts_3d()

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 
)
Parameters
[in,out]varBC_type structure to be registered for restarts
bc_rest_filesStructures describing the restart files
[out]num_rest_filesThe number of restart files to use
[in]mpp_domainThe FMS domain to use for this registration call
[in]to_readFlag indicating if reading/writing a file
[in]ocean_restartIf true, use the ocean restart file name.
[in]directoryDirectory where to open the file

Definition at line 3352 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_rescale_data

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
 

◆ coupler_types_mod::coupler_type_restore_state

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.
 

Member Function/Subroutine Documentation

◆ ct_restore_state_2d()

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 
)
Parameters
[in,out]varBC_type structure to restore from restart files
[in]directoryA directory where the restart files should be found. The default for FMS is 'INPUT'.
[in]all_or_nothingIf 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_requiredIf true, all fields must be successfully read from the restart file, even if they were registered as not mandatory.
[in]test_by_fieldIf true, all or none of the variables in a single field must be read successfully.
[in]use_fms2_ioThis is just to distinguish the interfaces

Definition at line 3542 of file coupler_types.F90.

◆ ct_restore_state_3d()

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.

Parameters
[in,out]varBC_type structure to restore from restart files
[in]directoryA directory where the restart files should be found. The default for FMS is 'INPUT'.
[in]use_fms2_ioThis is just to distinguish the interfaces
[in]all_or_nothingIf 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_requiredIf true, all fields must be successfully read from the restart file, even if they were registered as not mandatory.
[in]test_by_fieldIf true, all or none of the variables in a single field must be read successfully.

Definition at line 3650 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_send_data

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.
 

Member Function/Subroutine Documentation

◆ ct_send_data_2d()

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.

Parameters
[in]varBC_type structure with the diagnostics to write
[in]timeThe current model time
[out]return_statusesReturn 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.

◆ ct_send_data_3d()

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.

Parameters
[in]varBC_type structure with the diagnostics to write
[in]timeThe current model time
[out]return_statusesReturn 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.

◆ coupler_types_mod::coupler_type_set_data

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
 

◆ coupler_types_mod::coupler_type_set_diags

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.
 

Member Function/Subroutine Documentation

◆ ct_set_diags_2d()

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 
)
Parameters
[in,out]varBC_type structure for which to register diagnostics
[in]diag_nameModule name for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field

Definition at line 2838 of file coupler_types.F90.

◆ ct_set_diags_3d()

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.

Exceptions
FATAL,axes has less than 3 elements
Parameters
[in,out]varBC_type structure for which to register diagnostics
[in]diag_nameModule name for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field

Definition at line 2894 of file coupler_types.F90.

◆ coupler_types_mod::coupler_type_spawn

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.
 

Member Function/Subroutine Documentation

◆ ct_spawn_1d_2d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_1d_3d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_2d_2d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_2d_3d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_3d_2d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_3d_3d()

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.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ coupler_types_mod::coupler_type_write_chksums

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.
 

Member Function/Subroutine Documentation

◆ ct_write_chksums_2d()

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.

Parameters
[in]varBC_type structure for which to register diagnostics
[in]outunitThe index of a open output file
[in]name_leadAn optional prefix for the variable names

Definition at line 3838 of file coupler_types.F90.

◆ ct_write_chksums_3d()

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.

Parameters
[in]varBC_type structure for which to register diagnostics
[in]outunitThe index of a open output file
[in]name_leadAn optional prefix for the variable names

Definition at line 3890 of file coupler_types.F90.

Function/Subroutine Documentation

◆ coupler_type_copy_1d_2d()

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.

Exceptions
FATAL,Number of output fields exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 541 of file coupler_types.F90.

◆ coupler_type_copy_1d_3d()

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.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 575 of file coupler_types.F90.

◆ coupler_type_copy_2d_2d()

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 
)
private

Copy fields from one coupler type to another. 2-D to 2-D version for generic coupler_type_copy.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 609 of file coupler_types.F90.

◆ coupler_type_copy_2d_3d()

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 
)
private

Copy fields from one coupler type to another. 2-D to 3-D version for generic coupler_type_copy.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 642 of file coupler_types.F90.

◆ coupler_type_copy_3d_2d()

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 
)
private

Copy fields from one coupler type to another. 3-D to 2-D version for generic coupler_type_copy.

Exceptions
FATAL,Number of output fields is exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 676 of file coupler_types.F90.

◆ coupler_type_copy_3d_3d()

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 
)
private

Copy fields from one coupler type to another. 3-D to 3-D version for generic coupler_type_copy.

Exceptions
FATAL,Number of output fields exceeds zero
Parameters
[in]var_invariable to copy information from
[in,out]var_outvariable to copy information to
[in]islower bound of first dimension
[in]ieupper bound of first dimension
[in]jslower bound of second dimension
[in]jeupper bound of second dimension
[in]kdthird dimension
[in]diag_namename for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field
[in]suffixoptional suffix to make the name identifier unique

Definition at line 709 of file coupler_types.F90.

◆ coupler_types_init()

subroutine, public coupler_types_init

Initialize the coupler types.

Definition at line 520 of file coupler_types.F90.

◆ ct_copy_data_2d()

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 
)
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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 1703 of file coupler_types.F90.

◆ ct_copy_data_2d_3d()

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 
)
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..

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this
[in]ind3_startThe starting value of the 3rd index of the 3d type to fill in.
[in]ind3_endThe ending value of the 3rd index of the 3d type to fill in.

Definition at line 2002 of file coupler_types.F90.

◆ ct_copy_data_3d()

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 
)
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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to copy
[in,out]varThe recipient BC_type structure
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 1850 of file coupler_types.F90.

◆ ct_data_override_2d()

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 
)
private

Potentially override the values in a coupler_2d_bc_type.

Parameters
[in]gridname3-character long model grid ID
[in,out]varBC_type structure to override
[in]timeThe current model time

Definition at line 3759 of file coupler_types.F90.

◆ ct_data_override_3d()

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 
)
private

Potentially override the values in a coupler_3d_bc_type.

Parameters
[in]gridname3-character long model grid ID
[in,out]varBC_type structure to override
[in]timeThe current model time TODO remove this when data_override is merged in

Definition at line 3796 of file coupler_types.F90.

◆ ct_destructor_1d()

subroutine ct_destructor_1d ( type(coupler_1d_bc_type), intent(inout)  var)
private

Deallocate all data associated with a coupler_1d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 3967 of file coupler_types.F90.

◆ ct_destructor_2d()

subroutine ct_destructor_2d ( type(coupler_2d_bc_type), intent(inout)  var)
private

Deallocate all data associated with a coupler_2d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 4000 of file coupler_types.F90.

◆ ct_destructor_3d()

subroutine ct_destructor_3d ( type(coupler_3d_bc_type), intent(inout)  var)
private

Deallocate all data associated with a coupler_3d_bc_type.

Parameters
[in,out]varBC_type structure to be deconstructed

Definition at line 4033 of file coupler_types.F90.

◆ ct_extract_data_2d_()

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.

Exceptions
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'
Parameters
[in]var_inBC_type structure with the data to extract
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[out]array_outThe recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_extract_data_3d_()

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.

Exceptions
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'
Parameters
[in]var_inBC_type structure with the data to extract
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[out]array_outThe recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_extract_data_3d_2d_()

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.

Exceptions
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'
Parameters
[in]var_inBC_type structure with the data to extract
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]k_inThe k-index to extract
[out]array_outThe recipient array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_increment_data_2d_2d()

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 
)
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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to add to the other type
[in,out]varThe BC_type structure whose fields are being incremented
[in]halo_sizeThe extent of the halo to increment; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]scale_factorA scaling factor for the data that is being added
[in]scale_prevA scaling factor for the data that is already here
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this increment.
[in]only_flux_typeA string describing which types of fluxes to include from this increment.
[in]pass_through_iceIf true, only increment BCs whose value of pass_through ice matches this

Definition at line 2525 of file coupler_types.F90.

◆ ct_increment_data_2d_3d_()

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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to add to the other type
[in]weightsAn 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]varThe BC_type structure whose fields are being incremented
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]scale_factorA scaling factor for the data that is being added
[in]scale_prevA scaling factor for the data that is already here and is being added
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this increment.
[in]only_flux_typeA string describing which types of fluxes to include from this increment.
[in]pass_through_iceIf true, only increment BCs whose value of pass_through ice matches this

Definition at line 233 of file coupler_types.inc.

◆ ct_increment_data_3d_3d()

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 
)
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.

Exceptions
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.
Parameters
[in]var_inBC_type structure with the data to add to the other type
[in,out]varThe BC_type structure whose fields are being incremented
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]scale_factorA scaling factor for the data that is being added
[in]scale_prevA scaling factor for the data that is already here
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this increment.
[in]only_flux_typeA string describing which types of fluxes to include from this increment.
[in]pass_through_iceIf true, only increment BCs whose value of pass_through ice matches this

Definition at line 2684 of file coupler_types.F90.

◆ ct_initialized_1d()

logical function ct_initialized_1d ( type(coupler_1d_bc_type), intent(in)  var)
private

Indicate whether a coupler_1d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3944 of file coupler_types.F90.

◆ ct_initialized_2d()

logical function ct_initialized_2d ( type(coupler_2d_bc_type), intent(in)  var)
private

Indicate whether a coupler_2d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3952 of file coupler_types.F90.

◆ ct_initialized_3d()

logical function ct_initialized_3d ( type(coupler_3d_bc_type), intent(in)  var)
private

Indicate whether a coupler_3d_bc_type has been initialized.

Returns
Logical
Parameters
[in]varBC_type structure to check initialization

Definition at line 3960 of file coupler_types.F90.

◆ ct_redistribute_data_2d()

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 
)
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.

Exceptions
FATAL,Mismatch in num_bcs in CT_copy_data_2d.
FATAL,Mismatch in the total number of fields in CT_redistribute_data_2d.
Parameters
[in]var_inBC_type structure with the data to copy (intent in)
[in]domain_inThe FMS domain for the input structure
[in,out]var_outThe recipient BC_type structure (data intent out)
[in]domain_outThe FMS domain for the output structure
[in]completeIf true, complete the updates

Definition at line 2155 of file coupler_types.F90.

◆ ct_redistribute_data_3d()

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 
)
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.

Parameters
[in]var_inBC_type structure with the data to copy (intent in)
[in]domain_inThe FMS domain for the input structure
[in,out]var_outThe recipient BC_type structure (data intent out)
[in]domain_outThe FMS domain for the output structure
[in]completeIf true, complete the updates

Definition at line 2334 of file coupler_types.F90.

◆ ct_register_restarts_2d()

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 
)
private
Parameters
[in,out]varBC_type structure to be registered for restarts
bc_rest_filesStructures describing the restart files
[out]num_rest_filesThe number of restart files to use
[in]mpp_domainThe FMS domain to use for this registration call
[in]to_readFlag indicating if reading/writing a file
[in]ocean_restartIf true, use the ocean restart file name.
[in]directoryDirectory where to open the file

Definition at line 3070 of file coupler_types.F90.

◆ ct_register_restarts_3d()

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 
)
private
Parameters
[in,out]varBC_type structure to be registered for restarts
bc_rest_filesStructures describing the restart files
[out]num_rest_filesThe number of restart files to use
[in]mpp_domainThe FMS domain to use for this registration call
[in]to_readFlag indicating if reading/writing a file
[in]ocean_restartIf true, use the ocean restart file name.
[in]directoryDirectory where to open the file

Definition at line 3352 of file coupler_types.F90.

◆ ct_rescale_data_2d_()

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.

Parameters
[in,out]varThe BC_type structure whose fields are being rescaled
[in]scaleA scaling factor to multiply fields by
[in]halo_sizeThe extent of the halo to copy; 0 by default or the full arrays if scale is 0.
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 34 of file coupler_types.inc.

◆ ct_rescale_data_3d_()

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.

Parameters
[in,out]varThe BC_type structure whose fields are being rescaled
[in]scaleA scaling factor to multiply fields by
[in]halo_sizeThe extent of the halo to copy; 0 by default or the full arrays if scale is 0.
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]exclude_flux_typeA string describing which types of fluxes to exclude from this copy.
[in]only_flux_typeA string describing which types of fluxes to include from this copy.
[in]pass_through_iceIf true, only copy BCs whose value of pass_through ice matches this

Definition at line 125 of file coupler_types.inc.

◆ ct_restore_state_2d()

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 
)
private
Parameters
[in,out]varBC_type structure to restore from restart files
[in]directoryA directory where the restart files should be found. The default for FMS is 'INPUT'.
[in]all_or_nothingIf 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_requiredIf true, all fields must be successfully read from the restart file, even if they were registered as not mandatory.
[in]test_by_fieldIf true, all or none of the variables in a single field must be read successfully.
[in]use_fms2_ioThis is just to distinguish the interfaces

Definition at line 3542 of file coupler_types.F90.

◆ ct_restore_state_3d()

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 
)
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.

Parameters
[in,out]varBC_type structure to restore from restart files
[in]directoryA directory where the restart files should be found. The default for FMS is 'INPUT'.
[in]use_fms2_ioThis is just to distinguish the interfaces
[in]all_or_nothingIf 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_requiredIf true, all fields must be successfully read from the restart file, even if they were registered as not mandatory.
[in]test_by_fieldIf true, all or none of the variables in a single field must be read successfully.

Definition at line 3650 of file coupler_types.F90.

◆ ct_send_data_2d()

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 
)
private

Write out all diagnostics of elements of a coupler_2d_bc_type.

Parameters
[in]varBC_type structure with the diagnostics to write
[in]timeThe current model time
[out]return_statusesReturn 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.

◆ ct_send_data_3d()

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 
)
private

Write out all diagnostics of elements of a coupler_3d_bc_type.

Parameters
[in]varBC_type structure with the diagnostics to write
[in]timeThe current model time
[out]return_statusesReturn 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.

◆ ct_set_data_2d_()

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.

Exceptions
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'
Parameters
[in]array_inThe source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in,out]varBC_type structure with the data to set
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_set_data_2d_3d_()

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.

Exceptions
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'
Parameters
[in]array_inThe source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in]k_outThe k-index to set
[in,out]varBC_type structure with the data to be set
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_set_data_3d_()

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.

Exceptions
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'
Parameters
[in]array_inThe source array for the field; its size must match the size of the data being copied unless idim and jdim are supplied.
[in]bc_indexThe index of the boundary condition that is being copied
[in]field_indexThe index of the field in the boundary condition that is being copied
[in,out]varBC_type structure with the data to be set
[in]scale_factorA scaling factor for the data that is being added
[in]halo_sizeThe extent of the halo to copy; 0 by default
[in]idimThe data and computational domain extents of the first dimension of the output array in a non-decreasing list
[in]jdimThe 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.

◆ ct_set_diags_2d()

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 
)
private
Parameters
[in,out]varBC_type structure for which to register diagnostics
[in]diag_nameModule name for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field

Definition at line 2838 of file coupler_types.F90.

◆ ct_set_diags_3d()

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 
)
private

Register the diagnostics of a coupler_3d_bc_type.

Exceptions
FATAL,axes has less than 3 elements
Parameters
[in,out]varBC_type structure for which to register diagnostics
[in]diag_nameModule name for diagnostic file–if blank, then don't register the fields
[in]axesarray of axes identifiers for diagnostic variable registration
[in]timemodel time variable for registering diagnostic field

Definition at line 2894 of file coupler_types.F90.

◆ ct_spawn_1d_2d()

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 
)
private

Generate one coupler type using another as a template. 1-D to 2-D version for generic coupler_type_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_1d_3d()

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 
)
private

Generate one coupler type using another as a template. 1-D to 3-D version for generic CT_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_2d_2d()

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 
)
private

Generate one coupler type using another as a template. 2-D to 2-D version for generic CT_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_2d_3d()

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 
)
private

Generate one coupler type using another as a template. 2-D to 3-D version for generic CT_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_3d_2d()

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 
)
private

Generate one coupler type using another as a template. 3-D to 2-D version for generic CT_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_spawn_3d_3d()

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 
)
private

Generate one coupler type using another as a template. 3-D to 3-D version for generic CT_spawn.

Exceptions
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
Parameters
[in]var_instructure from which to copy information
[in,out]varstructure into which to copy information
[in]idimThe data and computational domain extents of the first dimension in a non-decreasing list
[in]jdimThe data and computational domain extents of the second dimension in a non-decreasing list
[in]kdimThe array extents of the third dimension in a non-decreasing list
[in]suffixoptional suffix to make the name identifier unique
[in]as_neededOnly 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.

◆ ct_write_chksums_2d()

subroutine ct_write_chksums_2d ( type(coupler_2d_bc_type), intent(in)  var,
integer, intent(in)  outunit,
character(len=*), intent(in), optional  name_lead 
)
private

Write out checksums for the elements of a coupler_2d_bc_type.

Parameters
[in]varBC_type structure for which to register diagnostics
[in]outunitThe index of a open output file
[in]name_leadAn optional prefix for the variable names

Definition at line 3838 of file coupler_types.F90.

◆ ct_write_chksums_3d()

subroutine ct_write_chksums_3d ( type(coupler_3d_bc_type), intent(in)  var,
integer, intent(in)  outunit,
character(len=*), intent(in), optional  name_lead 
)
private

Write out checksums for the elements of a coupler_3d_bc_type.

Parameters
[in]varBC_type structure for which to register diagnostics
[in]outunitThe index of a open output file
[in]name_leadAn optional prefix for the variable names

Definition at line 3890 of file coupler_types.F90.

◆ register_axis_wrapper()

subroutine register_axis_wrapper ( type(fmsnetcdfdomainfile_t), intent(inout)  fileobj,
logical, intent(in)  to_read,
integer, intent(in), optional  nz 
)
private
Parameters
[in,out]fileobjDomain decomposed fileobj
[in]to_readFlag indicating if reading file
[in]nzlength of the z dimension

Definition at line 3336 of file coupler_types.F90.

◆ register_axis_wrapper_read()

subroutine register_axis_wrapper_read ( type(fmsnetcdfdomainfile_t), intent(inout)  fileobj)
private
Parameters
[in,out]fileobjDomain decomposed fileobj

Definition at line 3250 of file coupler_types.F90.

◆ register_axis_wrapper_write()

subroutine register_axis_wrapper_write ( type(fmsnetcdfdomainfile_t), intent(inout)  fileobj,
integer, intent(in), optional  nz 
)
private
Parameters
[in,out]fileobjDomain decomposed fileobj
[in]nzlength of the z dimension

Definition at line 3303 of file coupler_types.F90.

Variable Documentation

◆ ind_alpha

integer, public ind_alpha = 1

The index of the solubility array for a tracer.

Definition at line 383 of file coupler_types.F90.

◆ ind_csurf

integer, public ind_csurf = 2

The index of the ocean surface concentration.

Definition at line 384 of file coupler_types.F90.

◆ ind_deltap

integer, public ind_deltap = 2

The index for ocean-air gas partial pressure change.

Definition at line 387 of file coupler_types.F90.

◆ ind_deposition

integer, public ind_deposition = 1

The index for the atmospheric deposition flux.

Definition at line 390 of file coupler_types.F90.

◆ ind_flux

integer, public ind_flux = 1

The index for the tracer flux.

Definition at line 386 of file coupler_types.F90.

◆ ind_flux0

integer, public ind_flux0 = 4

The index for the piston velocity.

Definition at line 389 of file coupler_types.F90.

◆ ind_kw

integer, public ind_kw = 3

The index for the piston velocity.

Definition at line 388 of file coupler_types.F90.

◆ ind_pcair

integer, public ind_pcair = 1

The index of the atmospheric concentration.

Definition at line 380 of file coupler_types.F90.

◆ ind_psurf

integer, public ind_psurf = 3

The index of the surface atmospheric pressure.

Definition at line 382 of file coupler_types.F90.

◆ ind_runoff

integer, public ind_runoff = 1

The index for a runoff flux.

Definition at line 391 of file coupler_types.F90.

◆ ind_sc_no

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.

◆ ind_u10

integer, public ind_u10 = 2

The index of the 10 m wind speed.

Definition at line 381 of file coupler_types.F90.