C---------------------------------------------------------------
C Subroutine barrier is difficult to handle,
C it is required but it does not compute values.
C TAMC has been extended to handle such routines
C REQUIRED means the call will be included for recomputations
C INFLUENCED means if also required
C            the adjoint routine will be called
C---------------------------------------------------------------
CADJ SUBROUTINE BARRIER INPUT   = 1
CADJ SUBROUTINE BARRIER OUTPUT  =
CADJ SUBROUTINE BARRIER REQUIRED
CADJ SUBROUTINE BARRIER INFLUENCED
CADJ SUBROUTINE BARRIER ADNAME  = BARRIER
CADJ SUBROUTINE BARRIER FTLNAME = BARRIER
CADJ SUBROUTINE BARRIER DEPEND  = 1

CADJ SUBROUTINE FOOL_THE_COMPILER INPUT   = 1
CADJ SUBROUTINE FOOL_THE_COMPILER OUTPUT  =
CADJ SUBROUTINE FOOL_THE_COMPILER REQUIRED
CADJ SUBROUTINE FOOL_THE_COMPILER INFLUENCED
CADJ SUBROUTINE FOOL_THE_COMPILER ADNAME  = FOOL_THE_COMPILER
CADJ SUBROUTINE FOOL_THE_COMPILER FTLNAME = FOOL_THE_COMPILER
CADJ SUBROUTINE FOOL_THE_COMPILER DEPEND  = 1

CADJ SUBROUTINE FOOL_THE_COMPILER_RL INPUT   = 1
CADJ SUBROUTINE FOOL_THE_COMPILER_RL OUTPUT  =
CADJ SUBROUTINE FOOL_THE_COMPILER_RL REQUIRED
CADJ SUBROUTINE FOOL_THE_COMPILER_RL INFLUENCED
CADJ SUBROUTINE FOOL_THE_COMPILER_RL ADNAME  = FOOL_THE_COMPILER_RL
CADJ SUBROUTINE FOOL_THE_COMPILER_RL FTLNAME = FOOL_THE_COMPILER_RL
CADJ SUBROUTINE FOOL_THE_COMPILER_RL DEPEND  = 1

CADJ SUBROUTINE MEMSYNC INPUT   =
CADJ SUBROUTINE MEMSYNC OUTPUT  =
CADJ SUBROUTINE MEMSYNC REQUIRED
CADJ SUBROUTINE MEMSYNC INFLUENCED
CADJ SUBROUTINE MEMSYNC ADNAME  = MEMSYNC
CADJ SUBROUTINE MEMSYNC FTLNAME = MEMSYNC
CADJ SUBROUTINE MEMSYNC DEPEND  =

CADJ SUBROUTINE BARRIER_INIT  INPUT  =
CADJ SUBROUTINE BARRIER_INIT  OUTPUT =

CADJ SUBROUTINE BAR2       INPUT  = 1
CADJ SUBROUTINE BAR2       OUTPUT =

CADJ SUBROUTINE BAR2_INIT  INPUT  = 1
CADJ SUBROUTINE BAR2_INIT  OUTPUT =

CADJ SUBROUTINE BAR_CHECK  INPUT = 1,2
CADJ SUBROUTINE BAR_CHECK  OUTPUT =

CADJ SUBROUTINE CHECK_THREADS  INPUT  = 1
CADJ SUBROUTINE CHECK_THREADS  OUTPUT =

CADJ SUBROUTINE EEDIE  INPUT  =
CADJ SUBROUTINE EEDIE  OUTPUT =

CADJ SUBROUTINE ALL_PROC_DIE  INPUT  = 1
CADJ SUBROUTINE ALL_PROC_DIE  OUTPUT =

CADJ FUNCTION   TIMER_INDEX  INPUT  = 1,2,3,4
CADJ FUNCTION   TIMER_INDEX  OUTPUT =

CADJ SUBROUTINE TIMER_CONTROL  INPUT  = 1,2,3,4
CADJ SUBROUTINE TIMER_CONTROL  OUTPUT =

CADJ SUBROUTINE TIMER_GET_TIME INPUT  =
CADJ SUBROUTINE TIMER_GET_TIME OUTPUT = 1,2,3

CADJ SUBROUTINE TIMER_PRINTALL INPUT  = 1
CADJ SUBROUTINE TIMER_PRINTALL OUTPUT =

CADJ SUBROUTINE TIMER_START    INPUT  = 1,2
CADJ SUBROUTINE TIMER_START    OUTPUT =

CADJ SUBROUTINE TIMER_STOP     INPUT  = 1,2
CADJ SUBROUTINE TIMER_STOP     OUTPUT =

CADJ SUBROUTINE PAPIF_flops    INPUT =
CADJ SUBROUTINE PAPIF_flops    OUTPUT = 1,2,3,4,5

CADJ SUBROUTINE PAPIF_flips    INPUT =
CADJ SUBROUTINE PAPIF_flips    OUTPUT = 1,2,3,4,5

CADJ SUBROUTINE PAPIF_ipc      INPUT =
CADJ SUBROUTINE PAPIF_ipc      OUTPUT = 1,2,3,4,5

CADJ FUNCTION   PCLstart       INPUT = 1,2,3,4
CADJ FUNCTION   PCLstart       OUTPUT =

CADJ FUNCTION   PCLstop        INPUT = 1,4
CADJ FUNCTION   PCLstop        OUTPUT = 2,3

CADJ SUBROUTINE DATE  INPUT  = 2
CADJ SUBROUTINE DATE  OUTPUT = 1

CADJ SUBROUTINE LCASE  INPUT  = 1
CADJ SUBROUTINE LCASE  OUTPUT = 1

CADJ SUBROUTINE UCASE  INPUT  = 1
CADJ SUBROUTINE UCASE  OUTPUT = 1

CADJ SUBROUTINE MACHINE  INPUT  =
CADJ SUBROUTINE MACHINE  OUTPUT = 1

CADJ FUNCTION   IFNBLNK  INPUT  = 1
CADJ FUNCTION   IFNBLNK  OUTPUT =

CADJ FUNCTION   ILNBLNK  INPUT  = 1
CADJ FUNCTION   ILNBLNK  OUTPUT =

CADJ FUNCTION   IO_ERRCOUNT  INPUT  = 1
CADJ FUNCTION   IO_ERRCOUNT  OUTPUT =

CADJ SUBROUTINE READ_FIELD_XYZR8  INPUT  = 2,3,4
CADJ SUBROUTINE READ_FIELD_XYZR8  OUTPUT = 1

CADJ SUBROUTINE WRITE_FIELD_XYZR8  INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_FIELD_XYZR8  OUTPUT =

CADJ SUBROUTINE PRINT_MESSAGE  INPUT  = 1,2,3,4
CADJ SUBROUTINE PRINT_MESSAGE  OUTPUT =

CADJ SUBROUTINE PRINT_ERROR   INPUT  = 1,2
CADJ SUBROUTINE PRINT_ERROR   OUTPUT =

CADJ SUBROUTINE PRINT_LIST_I  INPUT  = 1,2,3,4,5,6,7
CADJ SUBROUTINE PRINT_LIST_I  OUTPUT =

CADJ SUBROUTINE PRINT_LIST_L  INPUT  = 1,2,3,4,5,6,7
CADJ SUBROUTINE PRINT_LIST_L  OUTPUT =

CADJ SUBROUTINE PRINT_LIST_RL INPUT  = 1,2,3,4,5,6,7
CADJ SUBROUTINE PRINT_LIST_RL OUTPUT =

CADJ SUBROUTINE PRINT_MAPRS INPUT  = 1,2,3,4,5,6,7,8,9,10
CADJ SUBROUTINE PRINT_MAPRS INPUT += 11,12,13,14,15,16,17,18,19,20
CADJ SUBROUTINE PRINT_MAPRS INPUT += 21,22,23,24,25,26
CADJ SUBROUTINE PRINT_MAPRS OUTPUT =

CADJ SUBROUTINE PRINT_MAPRL INPUT  = 1,2,3,4,5,6,7,8,9,10
CADJ SUBROUTINE PRINT_MAPRL INPUT += 11,12,13,14,15,16,17,18,19,20
CADJ SUBROUTINE PRINT_MAPRL INPUT += 21,22,23,24,25,26
CADJ SUBROUTINE PRINT_MAPRL OUTPUT =

CADJ SUBROUTINE  mdsfindunit   INPUT  =   2
CADJ SUBROUTINE  mdsfindunit   OUTPUT = 1

CADJ SUBROUTINE mds_byteswapr8  INPUT  = 1,2
CADJ SUBROUTINE mds_byteswapr8  OUTPUT = 2

CADJ SUBROUTINE mds_byteswapr4  INPUT  = 1,2
CADJ SUBROUTINE mds_byteswapr4  OUTPUT = 2

CADJ FUNCTION   MASTER_CPU_IO   INPUT  = 1
CADJ FUNCTION   MASTER_CPU_IO   OUTPUT =

CADJ FUNCTION   MASTER_CPU_THREAD  INPUT  = 1
CADJ FUNCTION   MASTER_CPU_THREAD  OUTPUT =

C----------------------------------------
C subroutine  open_copy_data_file
C----------------------------------------
CADJ SUBROUTINE OPEN_COPY_DATA_FILE  INPUT  = 1,2,  4
CADJ SUBROUTINE OPEN_COPY_DATA_FILE  OUTPUT =     3

C-------------------------------------------------------
C-- formerly in pkg/autodiff/write_utils.flow (previously: read_write.flow)

C----------------------------------------
C subroutine  write_1d_i
C----------------------------------------
CADJ SUBROUTINE WRITE_1D_I  INPUT  = 1,2,3,4,5
CADJ SUBROUTINE WRITE_1D_I  OUTPUT =

C----------------------------------------
C subroutine  write_1d_l
C----------------------------------------
CADJ SUBROUTINE WRITE_1D_L  INPUT  = 1,2,3,4,5
CADJ SUBROUTINE WRITE_1D_L  OUTPUT =

C----------------------------------------
C subroutine  write_1d_rl
C----------------------------------------
CADJ SUBROUTINE WRITE_1D_RL INPUT  = 1,2,3,4,5
CADJ SUBROUTINE WRITE_1D_RL OUTPUT =

C----------------------------------------
C subroutine  write_0d_i
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_I INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_I OUTPUT =

C----------------------------------------
C subroutine  write_0d_l
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_L INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_L OUTPUT =

C----------------------------------------
C subroutine  write_0d_r4
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_R4 INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_R4 OUTPUT =

C----------------------------------------
C subroutine  write_0d_r8
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_R8 INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_R8 OUTPUT =

C----------------------------------------
C subroutine  write_0d_rs
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_RS INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_RS OUTPUT =

C----------------------------------------
C subroutine  write_0d_rl
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_RL INPUT  = 1,2,3,4
CADJ SUBROUTINE WRITE_0D_RL OUTPUT =

C----------------------------------------
C subroutine  write_0d_c
C----------------------------------------
CADJ SUBROUTINE WRITE_0D_C INPUT  = 1,2,3,4,5
CADJ SUBROUTINE WRITE_0D_C OUTPUT =

C----------------------------------------
C subroutine  write_copy1d_r4
C----------------------------------------
CADJ SUBROUTINE WRITE_COPY1D_R4 INPUT  =   2,3,4,5,6
CADJ SUBROUTINE WRITE_COPY1D_R4 OUTPUT = 1

C----------------------------------------
C subroutine  write_copy1d_r8
C----------------------------------------
CADJ SUBROUTINE WRITE_COPY1D_R8 INPUT  =   2,3,4,5,6
CADJ SUBROUTINE WRITE_COPY1D_R8 OUTPUT = 1

C----------------------------------------
C subroutine  write_copy1d_rs
C----------------------------------------
CADJ SUBROUTINE WRITE_COPY1D_RS INPUT  =   2,3,4,5,6
CADJ SUBROUTINE WRITE_COPY1D_RS OUTPUT = 1

C-------------------------------------------------------
