0.6.2-dev0
FORCES
FORtran lib for Comp. Env. Sys.
Loading...
Searching...
No Matches
mo_append::append Interface Reference

Append (rows) scalars, vectors, and matrixes onto existing array. More...

Public Member Functions

subroutine append_i4_v_s (vec1, sca2)
 
subroutine append_i4_v_v (vec1, vec2)
 
subroutine append_i4_m_m (mat1, mat2, fill_value)
 
subroutine append_i4_3d (mat1, mat2, fill_value)
 
subroutine append_i8_v_s (vec1, sca2)
 
subroutine append_i8_v_v (vec1, vec2)
 
subroutine append_i8_m_m (mat1, mat2, fill_value)
 
subroutine append_i8_3d (mat1, mat2, fill_value)
 
subroutine append_sp_v_s (vec1, sca2)
 
subroutine append_sp_v_v (vec1, vec2)
 
subroutine append_sp_m_m (mat1, mat2, fill_value)
 
subroutine append_sp_3d (mat1, mat2, fill_value)
 
subroutine append_dp_v_s (vec1, sca2)
 
subroutine append_dp_v_v (vec1, vec2)
 
subroutine append_dp_m_m (mat1, mat2, fill_value, idim)
 
subroutine append_dp_3d (mat1, mat2, fill_value, idim)
 
subroutine append_dp_4d (mat1, mat2, fill_value, idim)
 
subroutine append_char_v_s (vec1, sca2)
 
subroutine append_char_v_v (vec1, vec2)
 
subroutine append_char_m_m (mat1, mat2, fill_value)
 
subroutine append_char_3d (mat1, mat2, fill_value)
 
subroutine append_lgt_v_s (vec1, sca2)
 
subroutine append_lgt_v_v (vec1, vec2)
 
subroutine append_lgt_m_m (mat1, mat2, fill_value, idim)
 
subroutine append_lgt_3d (mat1, mat2, fill_value, idim)
 
subroutine append_lgt_4d (mat1, mat2, fill_value, idim)
 

Detailed Description

Append (rows) scalars, vectors, and matrixes onto existing array.

Appends one input to the rows of another, i.e. append on the first dimension. Append variants for 3d and 4d also exists.
The input might be a scalar, a vector or a matrix.
Possibilities are:

  1. append scalar to vector
  2. append vector to vector
  3. append matrix to matrix

Example

Append input1 with input2

input1 = (/ 1.0_dp , 2.0_dp /)
input2 = 3.0_dp
call append(input1, input2)
--> input1 = (/ 1.0_dp , 2.0_dp, 3.0_dp /)

See also test folder for a detailed example, "test/test_mo_append/".

Parameters
[in]input2Values to append. Can be integer(i4/i8), real(sp/dp), logical, or character(len=*) and also scalar, dimension(:), or dimension(:,:).
Includes 3d version, where the append is always done along the first dimension.
4d version is available for real(dp) and logical, where append can be done in any component of the dimension.
If not scalar then the columns have to agree with input1.
[in,out]`allocatable` :: input1Array to be appended to. Can be integer(i4/i8), real(sp/dp), logical, or character(len=*). Must be dimension(:) or dimension(:,:), and allocatable.
If input2 is not scalar then it must be size(input1,2) = size(input2,2).
[in]optional :: fill_valueFiller value if number of columns do not coincide. Then the largest column will be taken and empty elements from the generated column will be filled by this value.
[in]integer(i4), optional :: idimApplicable when appending matrix-matrix, 3d, and 4d for logical and real(dp). Determines along which dimension input2 is appended to.
Note
Size of input1 and input2 have to fit together, i.e. number of columns input1 = number of columns input2.
Author
Juliane Mai
Date
Aug 2012
Author
Matthias Cuntz
Date
Jan 2013
  • removed 256 character restriction.
Feb 2013
  • logical append and paste.
Author
Matthias Zink
Date
Feb 2015
  • added optional 'fill_value' for logical append
Author
Stephan Thober
Date
Jan 2017
  • added 3d version for append
Jul 2018
  • added optional iDim argument for arrays larger equal 2d
Author
Arya Prasetya
Date
Nov 2021
  • included i4_3d in append interface

Definition at line 101 of file mo_append.f90.

Member Function/Subroutine Documentation

◆ append_char_3d()

subroutine mo_append::append::append_char_3d ( character(len=*), dimension(:,:,:), intent(inout), allocatable  mat1,
character(len=*), dimension(:,:,:), intent(in)  mat2,
character(len=*), intent(in), optional  fill_value 
)

Definition at line 1176 of file mo_append.f90.

◆ append_char_m_m()

subroutine mo_append::append::append_char_m_m ( character(len=*), dimension(:,:), intent(inout), allocatable  mat1,
character(len=*), dimension(:,:), intent(in)  mat2,
character(len=*), intent(in), optional  fill_value 
)

Definition at line 1119 of file mo_append.f90.

◆ append_char_v_s()

subroutine mo_append::append::append_char_v_s ( character(len=*), dimension(:), intent(inout), allocatable  vec1,
character(len=*), intent(in)  sca2 
)

Definition at line 1061 of file mo_append.f90.

◆ append_char_v_v()

subroutine mo_append::append::append_char_v_v ( character(len=*), dimension(:), intent(inout), allocatable  vec1,
character(len=*), dimension(:), intent(in)  vec2 
)

Definition at line 1091 of file mo_append.f90.

◆ append_dp_3d()

subroutine mo_append::append::append_dp_3d ( real(dp), dimension(:,:,:), intent(inout), allocatable  mat1,
real(dp), dimension(:,:,:), intent(in)  mat2,
real(dp), intent(in), optional  fill_value,
integer(i4), intent(in), optional  idim 
)

Definition at line 875 of file mo_append.f90.

◆ append_dp_4d()

subroutine mo_append::append::append_dp_4d ( real(dp), dimension(:,:,:,:), intent(inout), allocatable  mat1,
real(dp), dimension(:,:,:,:), intent(in)  mat2,
real(dp), intent(in), optional  fill_value,
integer(i4), intent(in), optional  idim 
)

Definition at line 959 of file mo_append.f90.

◆ append_dp_m_m()

subroutine mo_append::append::append_dp_m_m ( real(dp), dimension(:,:), intent(inout), allocatable  mat1,
real(dp), dimension(:,:), intent(in)  mat2,
real(dp), intent(in), optional  fill_value,
integer(i4), intent(in), optional  idim 
)

Definition at line 777 of file mo_append.f90.

◆ append_dp_v_s()

subroutine mo_append::append::append_dp_v_s ( real(dp), dimension(:), intent(inout), allocatable  vec1,
real(dp), intent(in)  sca2 
)

Definition at line 717 of file mo_append.f90.

◆ append_dp_v_v()

subroutine mo_append::append::append_dp_v_v ( real(dp), dimension(:), intent(inout), allocatable  vec1,
real(dp), dimension(:), intent(in)  vec2 
)

Definition at line 747 of file mo_append.f90.

◆ append_i4_3d()

subroutine mo_append::append::append_i4_3d ( integer(i4), dimension(:,:,:), intent(inout), allocatable  mat1,
integer(i4), dimension(:,:,:), intent(in)  mat2,
integer(i4), intent(in), optional  fill_value 
)

Definition at line 342 of file mo_append.f90.

◆ append_i4_m_m()

subroutine mo_append::append::append_i4_m_m ( integer(i4), dimension(:,:), intent(inout), allocatable  mat1,
integer(i4), dimension(:,:), intent(in)  mat2,
integer(i4), intent(in), optional  fill_value 
)

Definition at line 285 of file mo_append.f90.

◆ append_i4_v_s()

subroutine mo_append::append::append_i4_v_s ( integer(i4), dimension(:), intent(inout), allocatable  vec1,
integer(i4), intent(in)  sca2 
)

Definition at line 225 of file mo_append.f90.

◆ append_i4_v_v()

subroutine mo_append::append::append_i4_v_v ( integer(i4), dimension(:), intent(inout), allocatable  vec1,
integer(i4), dimension(:), intent(in)  vec2 
)

Definition at line 255 of file mo_append.f90.

◆ append_i8_3d()

subroutine mo_append::append::append_i8_3d ( integer(i8), dimension(:,:,:), intent(inout), allocatable  mat1,
integer(i8), dimension(:,:,:), intent(in)  mat2,
integer(i8), intent(in), optional  fill_value 
)

Definition at line 506 of file mo_append.f90.

◆ append_i8_m_m()

subroutine mo_append::append::append_i8_m_m ( integer(i8), dimension(:,:), intent(inout), allocatable  mat1,
integer(i8), dimension(:,:), intent(in)  mat2,
integer(i8), intent(in), optional  fill_value 
)

Definition at line 449 of file mo_append.f90.

◆ append_i8_v_s()

subroutine mo_append::append::append_i8_v_s ( integer(i8), dimension(:), intent(inout), allocatable  vec1,
integer(i8), intent(in)  sca2 
)

Definition at line 389 of file mo_append.f90.

◆ append_i8_v_v()

subroutine mo_append::append::append_i8_v_v ( integer(i8), dimension(:), intent(inout), allocatable  vec1,
integer(i8), dimension(:), intent(in)  vec2 
)

Definition at line 419 of file mo_append.f90.

◆ append_lgt_3d()

subroutine mo_append::append::append_lgt_3d ( logical, dimension(:,:,:), intent(inout), allocatable  mat1,
logical, dimension(:,:,:), intent(in)  mat2,
logical, intent(in), optional  fill_value,
integer(i4), optional  idim 
)

Definition at line 1381 of file mo_append.f90.

◆ append_lgt_4d()

subroutine mo_append::append::append_lgt_4d ( logical, dimension(:,:,:,:), intent(inout), allocatable  mat1,
logical, dimension(:,:,:,:), intent(in)  mat2,
logical, intent(in), optional  fill_value,
integer(i4), intent(in), optional  idim 
)

Definition at line 1465 of file mo_append.f90.

◆ append_lgt_m_m()

subroutine mo_append::append::append_lgt_m_m ( logical, dimension(:,:), intent(inout), allocatable  mat1,
logical, dimension(:,:), intent(in)  mat2,
logical, intent(in), optional  fill_value,
integer(i4), intent(in), optional  idim 
)

Definition at line 1283 of file mo_append.f90.

◆ append_lgt_v_s()

subroutine mo_append::append::append_lgt_v_s ( logical, dimension(:), intent(inout), allocatable  vec1,
logical, intent(in)  sca2 
)

Definition at line 1223 of file mo_append.f90.

◆ append_lgt_v_v()

subroutine mo_append::append::append_lgt_v_v ( logical, dimension(:), intent(inout), allocatable  vec1,
logical, dimension(:), intent(in)  vec2 
)

Definition at line 1253 of file mo_append.f90.

◆ append_sp_3d()

subroutine mo_append::append::append_sp_3d ( real(sp), dimension(:,:,:), intent(inout), allocatable  mat1,
real(sp), dimension(:,:,:), intent(in)  mat2,
real(sp), intent(in), optional  fill_value 
)

Definition at line 670 of file mo_append.f90.

◆ append_sp_m_m()

subroutine mo_append::append::append_sp_m_m ( real(sp), dimension(:,:), intent(inout), allocatable  mat1,
real(sp), dimension(:,:), intent(in)  mat2,
real(sp), intent(in), optional  fill_value 
)

Definition at line 613 of file mo_append.f90.

◆ append_sp_v_s()

subroutine mo_append::append::append_sp_v_s ( real(sp), dimension(:), intent(inout), allocatable  vec1,
real(sp), intent(in)  sca2 
)

Definition at line 553 of file mo_append.f90.

◆ append_sp_v_v()

subroutine mo_append::append::append_sp_v_v ( real(sp), dimension(:), intent(inout), allocatable  vec1,
real(sp), dimension(:), intent(in)  vec2 
)

Definition at line 583 of file mo_append.f90.


The documentation for this interface was generated from the following file: