diff --git a/Source/LK1/L1A-CC/CC_ACCE.f90 b/Source/LK1/L1A-CC/CC_ACCE.f90 index 06b774b9..d38ac496 100644 --- a/Source/LK1/L1A-CC/CC_ACCE.f90 +++ b/Source/LK1/L1A-CC/CC_ACCE.f90 @@ -41,8 +41,6 @@ SUBROUTINE CC_ACCE ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_ACCE' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -57,18 +55,7 @@ SUBROUTINE CC_ACCE ( CARD ) ! Check to see if BOTH, ENGR or NODE were in the ELFO request - FOUND_PRINT = 'N' - FOUND_PUNCH = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - ENDDO - - ACCE_OUT(1:) = ' ' - IF ((FOUND_PRINT == 'Y') .AND. (FOUND_PUNCH == 'N')) ACCE_OUT(1:5) = 'PRINT' - IF ((FOUND_PRINT == 'N') .AND. (FOUND_PUNCH == 'Y')) ACCE_OUT(1:5) = 'PUNCH' ; PCHSTAT = 'KEEP ' - IF ((FOUND_PRINT == 'Y') .AND. (FOUND_PUNCH == 'Y')) ACCE_OUT(1:4) = 'BOTH' ; PCHSTAT = 'KEEP ' - IF ( ACCE_OUT(1:) == ' ') ACCE_OUT(1:5) = 'PRINT' ! Neither PRINT or PUNCH found so default to PRINT + CALL COMPUTE_OUTPUT_TARGETS(ACCE_OUT) ! Set CASE CONTROL output request variable to SETID diff --git a/Source/LK1/L1A-CC/CC_DISP.f90 b/Source/LK1/L1A-CC/CC_DISP.f90 index a08c4a87..6be4ae75 100644 --- a/Source/LK1/L1A-CC/CC_DISP.f90 +++ b/Source/LK1/L1A-CC/CC_DISP.f90 @@ -41,11 +41,6 @@ SUBROUTINE CC_DISP ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_DISP' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -58,27 +53,7 @@ SUBROUTINE CC_DISP ( CARD ) ! (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'DISP', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - DISP_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (DISP_OUT(1:5) == 'NNNNN') THEN - DISP_OUT = 'YNNNN' - ENDIF - + CALL COMPUTE_OUTPUT_TARGETS(DISP_OUT) ! Set CASE CONTROL output request variable to SETID IF (NSUB == 0) THEN diff --git a/Source/LK1/L1A-CC/CC_ELFO.f90 b/Source/LK1/L1A-CC/CC_ELFO.f90 index 2f45d026..9cd84259 100644 --- a/Source/LK1/L1A-CC/CC_ELFO.f90 +++ b/Source/LK1/L1A-CC/CC_ELFO.f90 @@ -40,11 +40,6 @@ SUBROUTINE CC_ELFO ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_ELFO' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" CHARACTER( 1*BYTE) :: FOUND_BOTH ! CC_CMD_DESCRIBERS has request for "BOTH" CHARACTER( 1*BYTE) :: FOUND_ENGR ! CC_CMD_DESCRIBERS has request for "ENGR" @@ -60,36 +55,18 @@ SUBROUTINE CC_ELFO ( CARD ) ! CC_OUTPUTS processes all output type Case Control entries (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'ELFO', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' ! Check to see if BOTH, ENGR or NODE were in the ELFO request FOUND_BOTH = 'N' FOUND_ENGR = 'N' FOUND_NODE = 'N' DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'BOTH') FOUND_BOTH = 'Y' IF (CC_CMD_DESCRIBERS(I)(1:4) == 'ENGR') FOUND_ENGR = 'Y' IF (CC_CMD_DESCRIBERS(I)(1:4) == 'NODE') FOUND_NODE = 'Y' ENDDO - ! concatenate the strings - FORC_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (FORC_OUT(1:5) == 'NNNNN') THEN - FORC_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(FORC_OUT) ! Set CASE CONTROL output request variable to SETID diff --git a/Source/LK1/L1A-CC/CC_GPFO.f90 b/Source/LK1/L1A-CC/CC_GPFO.f90 index 17d7e7cb..53ebe482 100644 --- a/Source/LK1/L1A-CC/CC_GPFO.f90 +++ b/Source/LK1/L1A-CC/CC_GPFO.f90 @@ -39,11 +39,6 @@ SUBROUTINE CC_GPFO ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_GPFO' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -56,26 +51,7 @@ SUBROUTINE CC_GPFO ( CARD ) ! (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'GPFO', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - GPFO_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (GPFO_OUT(1:5) == 'NNNNN') THEN - GPFO_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(GPFO_OUT) ! Set CASE CONTROL output request variable to SETID IF (NSUB == 0) THEN diff --git a/Source/LK1/L1A-CC/CC_MPCF.f90 b/Source/LK1/L1A-CC/CC_MPCF.f90 index bc28bf1b..f3bbed79 100644 --- a/Source/LK1/L1A-CC/CC_MPCF.f90 +++ b/Source/LK1/L1A-CC/CC_MPCF.f90 @@ -41,11 +41,6 @@ SUBROUTINE CC_MPCF ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_MPCF' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -58,26 +53,7 @@ SUBROUTINE CC_MPCF ( CARD ) ! (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'MPCF', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - MPCF_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (MPCF_OUT(1:5) == 'NNNNN') THEN - MPCF_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(MPCF_OUT) ! Set CASE CONTROL output request variable to SETID diff --git a/Source/LK1/L1A-CC/CC_OLOA.f90 b/Source/LK1/L1A-CC/CC_OLOA.f90 index 4ca2263e..65c13bba 100644 --- a/Source/LK1/L1A-CC/CC_OLOA.f90 +++ b/Source/LK1/L1A-CC/CC_OLOA.f90 @@ -41,11 +41,6 @@ SUBROUTINE CC_OLOA ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_OLOA' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -58,26 +53,7 @@ SUBROUTINE CC_OLOA ( CARD ) ! (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'OLOA', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - OLOA_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (OLOA_OUT(1:5) == 'NNNNN') THEN - OLOA_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(OLOA_OUT) ! Set CASE CONTROL output request variable to SETID diff --git a/Source/LK1/L1A-CC/CC_SPCF.f90 b/Source/LK1/L1A-CC/CC_SPCF.f90 index a563c9f5..58b25e8e 100644 --- a/Source/LK1/L1A-CC/CC_SPCF.f90 +++ b/Source/LK1/L1A-CC/CC_SPCF.f90 @@ -41,11 +41,6 @@ SUBROUTINE CC_SPCF ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_SPCF' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -58,26 +53,7 @@ SUBROUTINE CC_SPCF ( CARD ) ! (they all have some common code so it is put there) CALL CC_OUTPUTS ( CARD, 'SPCF', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - SPCF_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (SPCF_OUT(1:5) == 'NNNNN') THEN - SPCF_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(SPCF_OUT) ! Set CASE CONTROL output request variable to SETID diff --git a/Source/LK1/L1A-CC/CC_STRE.f90 b/Source/LK1/L1A-CC/CC_STRE.f90 index e8fde499..87213041 100644 --- a/Source/LK1/L1A-CC/CC_STRE.f90 +++ b/Source/LK1/L1A-CC/CC_STRE.f90 @@ -39,11 +39,6 @@ SUBROUTINE CC_STRE ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_STRE' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -57,26 +52,7 @@ SUBROUTINE CC_STRE ( CARD ) CALL CC_OUTPUTS ( CARD, 'STRE', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - STRE_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (STRE_OUT(1:5) == 'NNNNN') THEN - STRE_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(STRE_OUT) ! Set CASE CONTROL output request variable to SETID IF (NSUB == 0) THEN diff --git a/Source/LK1/L1A-CC/CC_STRN.f90 b/Source/LK1/L1A-CC/CC_STRN.f90 index d8ec7322..a101fb06 100644 --- a/Source/LK1/L1A-CC/CC_STRN.f90 +++ b/Source/LK1/L1A-CC/CC_STRN.f90 @@ -39,11 +39,6 @@ SUBROUTINE CC_STRN ( CARD ) CHARACTER(LEN=LEN(BLNK_SUB_NAM)):: SUBR_NAME = 'CC_STRN' CHARACTER(LEN=*), INTENT(IN) :: CARD ! A Bulk Data card - CHARACTER( 1*BYTE) :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" - CHARACTER( 1*BYTE) :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" - CHARACTER( 1*BYTE) :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" - CHARACTER( 1*BYTE) :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" - CHARACTER( 1*BYTE) :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" INTEGER(LONG) :: I ! DO loop index INTEGER(LONG) :: SETID ! Set ID on this Case Control card @@ -57,26 +52,7 @@ SUBROUTINE CC_STRN ( CARD ) CALL CC_OUTPUTS ( CARD, 'STRN', SETID ) - ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request - FOUND_PRINT = 'N' - FOUND_PLOT = 'N' - FOUND_PUNCH = 'N' - FOUND_NEU = 'N' - FOUND_CSV = 'N' - DO I=1,NCCCD - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = 'Y' - IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = 'Y' - ENDDO - ! concatenate the strings - STRN_OUT = TRIM(FOUND_PRINT) // TRIM(FOUND_PLOT) // TRIM(FOUND_PUNCH) // TRIM(FOUND_NEU) // TRIM(FOUND_CSV) - - ! default to print - IF (STRN_OUT(1:5) == 'NNNNN') THEN - STRN_OUT = 'YNNNN' - ENDIF + CALL COMPUTE_OUTPUT_TARGETS(STRN_OUT) ! Set CASE CONTROL output request variable to SETID IF (NSUB == 0) THEN diff --git a/Source/LK1/L1A-CC/COMPUTE_OUTPUT_TARGETS.f90 b/Source/LK1/L1A-CC/COMPUTE_OUTPUT_TARGETS.f90 new file mode 100644 index 00000000..12539252 --- /dev/null +++ b/Source/LK1/L1A-CC/COMPUTE_OUTPUT_TARGETS.f90 @@ -0,0 +1,72 @@ +! ################################################################################################################################## +! Begin MIT license text. +! _______________________________________________________________________________________________________ + +! Copyright 2022 Dr William R Case, Jr (mystransolver@gmail.com) + +! Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +! associated documentation files (the "Software"), to deal in the Software without restriction, including +! without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +! copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to +! the following conditions: + +! The above copyright notice and this permission notice shall be included in all copies or substantial +! portions of the Software and documentation. + +! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +! OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +! THE SOFTWARE. +! _______________________________________________________________________________________________________ + +! End MIT license text. + +MODULE COMPUTE_OUTPUT_TARGETS_MOD + + CONTAINS + SUBROUTINE COMPUTE_OUTPUT_TARGETS(REQUEST_OUT) + USE PENTIUM_II_KIND, ONLY : BYTE, LONG, DOUBLE + USE IOUNT1, ONLY : PCHSTAT + USE SCONTR, ONLY : CC_CMD_DESCRIBERS, NCCCD + USE DERIVED_DATA_TYPES, ONLY : OUTPUT_TARGETS + + IMPLICIT NONE + + TYPE(OUTPUT_TARGETS), INTENT(OUT) :: REQUEST_OUT + LOGICAL :: FOUND_PRINT ! CC_CMD_DESCRIBERS has request for "PRINT" + LOGICAL :: FOUND_PLOT ! CC_CMD_DESCRIBERS has request for "PLOT" + LOGICAL :: FOUND_PUNCH ! CC_CMD_DESCRIBERS has request for "PUNCH" + LOGICAL :: FOUND_NEU ! CC_CMD_DESCRIBERS has request for "NEU" + LOGICAL :: FOUND_CSV ! CC_CMD_DESCRIBERS has request for "CSV" + + INTEGER(LONG) :: I ! DO loop index + + ! Check to see if PLOT, PRINT, PUNCH, NEU, CSV were in the request + FOUND_PRINT = .FALSE. + FOUND_PLOT = .FALSE. + FOUND_PUNCH = .FALSE. + FOUND_NEU = .FALSE. + FOUND_CSV = .FALSE. + DO I=1,NCCCD + IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PRINT') FOUND_PRINT = .TRUE. + IF (CC_CMD_DESCRIBERS(I)(1:4) == 'PLOT') FOUND_PLOT = .TRUE. + IF (CC_CMD_DESCRIBERS(I)(1:5) == 'PUNCH') FOUND_PUNCH = .TRUE. + IF (CC_CMD_DESCRIBERS(I)(1:3) == 'NEU') FOUND_NEU = .TRUE. + IF (CC_CMD_DESCRIBERS(I)(1:3) == 'CSV') FOUND_CSV = .TRUE. + ENDDO + + ! only write files specifically requested + REQUEST_OUT%WRITE_F06 = FOUND_PRINT + REQUEST_OUT%WRITE_OP2 = FOUND_PLOT + REQUEST_OUT%WRITE_PCH = FOUND_PUNCH + + ! no PRINT nor PLOT nor PUNCH? default to PRINT+PLOT + IF (.NOT. (FOUND_PRINT .OR. FOUND_PLOT .OR. FOUND_PUNCH)) THEN + REQUEST_OUT%WRITE_F06 = .TRUE. + REQUEST_OUT%WRITE_OP2 = .TRUE. + END IF + END SUBROUTINE COMPUTE_OUTPUT_TARGETS +END MODULE COMPUTE_OUTPUT_TARGETS_MOD diff --git a/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 b/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 index 6e544b48..48bb041e 100644 --- a/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 +++ b/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 @@ -103,8 +103,8 @@ SUBROUTINE WRITE_ELEM_ENGR_FORCE ( JSUB, NUM, IHDR, NUM_PTS, ITABLE ) FIELD5_INT_MODE = 0 FIELD6_EIGENVALUE = 0.0 - WRITE_F06 = (FORC_OUT(1:1) == 'Y') - WRITE_OP2 = (FORC_OUT(2:2) == 'Y') + WRITE_F06 = FORC_OUT%WRITE_F06 + WRITE_OP2 = FORC_OUT%WRITE_OP2 headr:IF (IHDR == 'Y') THEN diff --git a/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 b/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 index 9f55cccc..0a62c98c 100644 --- a/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 +++ b/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 @@ -137,8 +137,8 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE ) ANALYSIS_CODE = -1 FIELD5_INT_MODE = 0 FIELD6_EIGENVALUE = 0.0 - WRITE_F06 = (STRN_OUT(1:1) == 'Y') - WRITE_OP2 = (STRN_OUT(2:2) == 'Y') + WRITE_F06 = STRN_OUT%WRITE_F06 + WRITE_OP2 = STRN_OUT%WRITE_OP2 IF (STRN_CUR == 'FIBER') THEN IS_FIBER_DISTANCE = 1 diff --git a/Source/LK9/L91/WRITE_ELEM_STRESSES.f90 b/Source/LK9/L91/WRITE_ELEM_STRESSES.f90 index 082205a1..2a40bc35 100644 --- a/Source/LK9/L91/WRITE_ELEM_STRESSES.f90 +++ b/Source/LK9/L91/WRITE_ELEM_STRESSES.f90 @@ -139,8 +139,8 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE ) FIELD5_INT_MODE = 0 !FIELD5_FLOAT_TIME_FREQ = 0.0 FIELD6_EIGENVALUE = 0.0 - WRITE_F06 = (STRE_OUT(1:1) == 'Y') - WRITE_OP2 = (STRE_OUT(2:2) == 'Y') + WRITE_F06 = STRE_OUT%WRITE_F06 + WRITE_OP2 = STRE_OUT%WRITE_OP2 IF (IHEADER == 'Y') THEN ! -- F06 header: OUTPUT FOR SUBCASE, EIGENVECTOR or CRAIG-BAMPTON DOF @@ -487,7 +487,7 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE ) CALL GET_STRESS_CODE( STRESS_CODE, 1, 0, 1) IF (WRITE_OP2) THEN - + IF ((STRE_LOC == 'CENTER ') .AND. (TYPE(1:5) /= 'QUAD8')) THEN ! CQUAD4-33 2 FORMAT(' *DEBUG: WRITE_CQUAD4-33: NUM=',I4, " NUM_PTS=", I4, " STRE_LOC=",A,"ITABLE=",I4) @@ -545,7 +545,7 @@ SUBROUTINE WRITE_ELEM_STRESSES ( JSUB, NUM, IHEADER, NUM_PTS, ITABLE ) ENDIF ! end of op2 IF (WRITE_F06) THEN - + K = 0 DO I=1,NUM,NUM_PTS 4 FORMAT(' *DEBUG: WRITE_CQUAD4-144: I=',I4, " K=", I4) diff --git a/Source/LK9/L92/GP_FORCE_BALANCE_PROC.f90 b/Source/LK9/L92/GP_FORCE_BALANCE_PROC.f90 index 44aea369..6a81ff98 100644 --- a/Source/LK9/L92/GP_FORCE_BALANCE_PROC.f90 +++ b/Source/LK9/L92/GP_FORCE_BALANCE_PROC.f90 @@ -125,8 +125,8 @@ SUBROUTINE GP_FORCE_BALANCE_PROC ( JVEC, IHEADER ) IS_THERMAL = (SUBLOD(INT_SC_NUM,2) > 0) IS_MODES = ((SOL_NAME(1:5) == 'MODES') .OR. (SOL_NAME(1:12) == 'GEN CB MODEL')) - WRITE_F06 = (GPFO_OUT(1:1) == 'Y') - WRITE_OP2 = (GPFO_OUT(2:2) == 'Y') + WRITE_F06 = GPFO_OUT%WRITE_F06 + WRITE_OP2 = GPFO_OUT%WRITE_OP2 ! OP2: Write output headers if this is not the first use of this subr. ANALYSIS_CODE = -1 diff --git a/Source/LK9/L92/OFP1.f90 b/Source/LK9/L92/OFP1.f90 index bf0dcea3..6165040a 100644 --- a/Source/LK9/L92/OFP1.f90 +++ b/Source/LK9/L92/OFP1.f90 @@ -156,9 +156,9 @@ SUBROUTINE OFP1 ( JVEC, WHAT, SC_OUT_REQ, FEMAP_SET_ID, ITG, OT4_GROW, ITABLE, N ENDDO IF ((NUM == NREQ) .AND. (SC_OUT_REQ > 0)) THEN - WRITE_F06 = (ACCE_OUT(1:1) == 'Y') - WRITE_OP2 = (ACCE_OUT(2:2) == 'Y') - WRITE_PCH = (ACCE_OUT(3:3) == 'Y') + WRITE_F06 = ACCE_OUT%WRITE_F06 + WRITE_OP2 = ACCE_OUT%WRITE_OP2 + WRITE_PCH = ACCE_OUT%WRITE_PCH IF (WRITE_OP2) THEN CALL WRITE_GRD_OP2_OUTPUTS ( JVEC, NUM, WHAT, ITABLE, NEW_RESULT ) ENDIF @@ -244,9 +244,9 @@ SUBROUTINE OFP1 ( JVEC, WHAT, SC_OUT_REQ, FEMAP_SET_ID, ITG, OT4_GROW, ITABLE, N ENDDO IF ((NUM == NREQ) .AND. (SC_OUT_REQ > 0)) THEN - WRITE_F06 = (DISP_OUT(1:1) == 'Y') - WRITE_OP2 = (DISP_OUT(2:2) == 'Y') - WRITE_PCH = (DISP_OUT(3:3) == 'Y') + WRITE_F06 = DISP_OUT%WRITE_F06 + WRITE_OP2 = DISP_OUT%WRITE_OP2 + WRITE_PCH = DISP_OUT%WRITE_PCH IF (WRITE_OP2) THEN CALL WRITE_GRD_OP2_OUTPUTS ( JVEC, NUM, WHAT, ITABLE, NEW_RESULT ) ENDIF @@ -325,9 +325,9 @@ SUBROUTINE OFP1 ( JVEC, WHAT, SC_OUT_REQ, FEMAP_SET_ID, ITG, OT4_GROW, ITABLE, N ENDDO IF (NUM == NREQ) THEN - WRITE_F06 = (OLOA_OUT(1:1) == 'Y') - WRITE_OP2 = (OLOA_OUT(2:2) == 'Y') - WRITE_PCH = (OLOA_OUT(3:3) == 'Y') + WRITE_F06 = OLOA_OUT%WRITE_F06 + WRITE_OP2 = OLOA_OUT%WRITE_OP2 + WRITE_PCH = OLOA_OUT%WRITE_PCH IF (WRITE_OP2) THEN CALL WRITE_GRD_OP2_OUTPUTS ( JVEC, NUM, WHAT, ITABLE, NEW_RESULT ) ENDIF diff --git a/Source/LK9/L92/OFP2.f90 b/Source/LK9/L92/OFP2.f90 index ab6c918c..2f3fc3bd 100644 --- a/Source/LK9/L92/OFP2.f90 +++ b/Source/LK9/L92/OFP2.f90 @@ -283,9 +283,9 @@ SUBROUTINE OFP2 ( JVEC, WHAT, SC_OUT_REQ, ZERO_GEN_STIFF, FEMAP_SET_ID, ITG, OT4 IF ((NUM == NREQ) .AND. (SC_OUT_REQ > 0)) THEN - WRITE_F06 = (SPCF_OUT(1:1) == 'Y') - WRITE_OP2 = (SPCF_OUT(2:2) == 'Y') - WRITE_PCH = (SPCF_OUT(3:3) == 'Y') + WRITE_F06 = SPCF_OUT%WRITE_F06 + WRITE_OP2 = SPCF_OUT%WRITE_OP2 + WRITE_PCH = SPCF_OUT%WRITE_PCH IF (WRITE_OP2) THEN CALL WRITE_GRD_OP2_OUTPUTS ( JVEC, NUM, WHAT, ITABLE, NEW_RESULT ) NEW_RESULT = .FALSE. @@ -571,9 +571,9 @@ SUBROUTINE OFP2 ( JVEC, WHAT, SC_OUT_REQ, ZERO_GEN_STIFF, FEMAP_SET_ID, ITG, OT4 IF ((NUM == NREQ) .AND. (SC_OUT_REQ > 0)) THEN - WRITE_F06 = (MPCF_OUT(1:1) == 'Y') - WRITE_OP2 = (MPCF_OUT(2:2) == 'Y') - WRITE_PCH = (MPCF_OUT(3:3) == 'Y') + WRITE_F06 = MPCF_OUT%WRITE_F06 + WRITE_OP2 = MPCF_OUT%WRITE_OP2 + WRITE_PCH = MPCF_OUT%WRITE_PCH IF (WRITE_OP2) THEN CALL WRITE_GRD_OP2_OUTPUTS ( JVEC, NUM, WHAT, ITABLE, NEW_RESULT ) NEW_RESULT = .FALSE. diff --git a/Source/LK9/LINK9/LINK9.f90 b/Source/LK9/LINK9/LINK9.f90 index dd7aca73..78084102 100644 --- a/Source/LK9/LINK9/LINK9.f90 +++ b/Source/LK9/LINK9/LINK9.f90 @@ -196,28 +196,28 @@ SUBROUTINE LINK9 ( LK9_PROC_NUM ) !IF (PRTNEU == 'Y') THEN ! DEBUG(200) = 1 !ENDIF - IF (PRTF06 == 'Y') THEN - DISP_OUT(1:1) = 'Y' ! f06 - ACCE_OUT(2:2) = 'Y' - OLOA_OUT(1:1) = 'Y' - SPCF_OUT(1:1) = 'Y' - MPCF_OUT(1:1) = 'Y' - STRE_OUT(1:1) = 'Y' - STRN_OUT(1:1) = 'Y' - FORC_OUT(1:1) = 'Y' - GPFO_OUT(1:1) = 'Y' - ENDIF - IF (PRTOP2 == 'Y') THEN - DISP_OUT(2:2) = 'Y' ! op2 - ACCE_OUT(2:2) = 'Y' - OLOA_OUT(2:2) = 'Y' - SPCF_OUT(2:2) = 'Y' - MPCF_OUT(2:2) = 'Y' - STRE_OUT(2:2) = 'Y' - STRN_OUT(2:2) = 'Y' - FORC_OUT(2:2) = 'Y' - GPFO_OUT(2:2) = 'Y' - ENDIF + ! IF (PRTF06 == 'Y') THEN + ! DISP_OUT(1:1) = 'Y' ! f06 + ! ACCE_OUT(2:2) = 'Y' + ! OLOA_OUT(1:1) = 'Y' + ! SPCF_OUT(1:1) = 'Y' + ! MPCF_OUT(1:1) = 'Y' + ! STRE_OUT(1:1) = 'Y' + ! STRN_OUT(1:1) = 'Y' + ! FORC_OUT(1:1) = 'Y' + ! GPFO_OUT(1:1) = 'Y' + ! ENDIF + ! IF (PRTOP2 == 'Y') THEN + ! DISP_OUT(2:2) = 'Y' ! op2 + ! ACCE_OUT(2:2) = 'Y' + ! OLOA_OUT(2:2) = 'Y' + ! SPCF_OUT(2:2) = 'Y' + ! MPCF_OUT(2:2) = 'Y' + ! STRE_OUT(2:2) = 'Y' + ! STRN_OUT(2:2) = 'Y' + ! FORC_OUT(2:2) = 'Y' + ! GPFO_OUT(2:2) = 'Y' + ! ENDIF !DISP_OUT(3:3) = 'Y' ! pch !------------------------------------------------------------------------ @@ -229,9 +229,9 @@ SUBROUTINE LINK9 ( LK9_PROC_NUM ) OUNT(1) = ERR OUNT(2) = F06 - WRITE_F06 = (DISP_OUT(1:1) == 'Y') - WRITE_OP2 = (DISP_OUT(2:2) == 'Y') - WRITE_PCH = (DISP_OUT(3:3) == 'Y') + WRITE_F06 = DISP_OUT%WRITE_F06 + WRITE_OP2 = DISP_OUT%WRITE_OP2 + WRITE_PCH = DISP_OUT%WRITE_PCH IF (WRITE_PCH) THEN INQUIRE (FILE=PCHFIL, OPENED=LOPEN) IF (.NOT.LOPEN) THEN ! Otherwise we assume it is positioned at its end and ready for write diff --git a/Source/Modules/CC_OUTPUT_DESCRIBERS.f90 b/Source/Modules/CC_OUTPUT_DESCRIBERS.f90 index 6517f616..c74e2bd0 100644 --- a/Source/Modules/CC_OUTPUT_DESCRIBERS.f90 +++ b/Source/Modules/CC_OUTPUT_DESCRIBERS.f90 @@ -28,6 +28,7 @@ MODULE CC_OUTPUT_DESCRIBERS USE PENTIUM_II_KIND, ONLY : BYTE, LONG USE SCONTR, ONLY : CC_CMD_DESCRIBERS + USE DERIVED_DATA_TYPES, ONLY : OUTPUT_TARGETS IMPLICIT NONE @@ -40,42 +41,42 @@ MODULE CC_OUTPUT_DESCRIBERS ! Case Control, warning messages are written to the MYSTRAN output file. CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: ACCE_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: ACCE_OUT = 'YNNNN ' ! print, plot, punch, neu, csv + TYPE(OUTPUT_TARGETS) :: ACCE_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) ! print, plot, punch, neu, csv CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: ACCE_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: DISP_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: DISP_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: DISP_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: DISP_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: GPFO_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: GPFO_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: GPFO_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: MPCF_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: MPCF_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: MPCF_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: MPCF_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: OLOA_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: OLOA_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: OLOA_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: OLOA_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: SPCF_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: SPCF_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: SPCF_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: SPCF_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: FORC_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: FORC_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: FORC_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: FORC_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: FORC_LOC = 'CENTER ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: STRN_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_OPT = 'VONMISES' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_CUR = 'STRCUR ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRN_LOC = 'CENTER ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRE_SORT = 'SORT1 ' - CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRE_OUT = 'YNNNN ' + TYPE(OUTPUT_TARGETS) :: STRE_OUT = OUTPUT_TARGETS(.TRUE., .TRUE., .FALSE.) CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRE_MAG = 'MAG ' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRE_OPT = 'VONMISES' CHARACTER(LEN(CC_CMD_DESCRIBERS)) :: STRE_LOC = 'CENTER ' diff --git a/Source/Modules/DERIVED_DATA_TYPES.f90 b/Source/Modules/DERIVED_DATA_TYPES.f90 index fc0b3d87..a8f2fa67 100644 --- a/Source/Modules/DERIVED_DATA_TYPES.f90 +++ b/Source/Modules/DERIVED_DATA_TYPES.f90 @@ -24,22 +24,27 @@ ! End MIT license text. - MODULE DERIVED_DATA_TYPES +MODULE DERIVED_DATA_TYPES - USE PENTIUM_II_KIND, ONLY : BYTE, LONG, DOUBLE + USE PENTIUM_II_KIND, ONLY : BYTE, LONG, DOUBLE - IMPLICIT NONE + IMPLICIT NONE - TYPE :: INT2_REAL1 - INTEGER(LONG) :: Col_1 - INTEGER(LONG) :: Col_2 - REAL(DOUBLE) :: Col_3 - END TYPE INT2_REAL1 + TYPE :: INT2_REAL1 + INTEGER(LONG) :: Col_1 + INTEGER(LONG) :: Col_2 + REAL(DOUBLE) :: Col_3 + END TYPE INT2_REAL1 - TYPE :: CHAR1_INT1 - CHARACTER(8*BYTE) :: Col_1 - INTEGER(LONG) :: Col_2 - END TYPE CHAR1_INT1 + TYPE :: CHAR1_INT1 + CHARACTER(8*BYTE) :: Col_1 + INTEGER(LONG) :: Col_2 + END TYPE CHAR1_INT1 - END MODULE DERIVED_DATA_TYPES + TYPE OUTPUT_TARGETS + LOGICAL :: WRITE_F06 + LOGICAL :: WRITE_OP2 + LOGICAL :: WRITE_PCH + END TYPE OUTPUT_TARGETS +END MODULE DERIVED_DATA_TYPES diff --git a/Source/USE_IFs/CC_ACCE_USE_IFs.f90 b/Source/USE_IFs/CC_ACCE_USE_IFs.f90 index a8db97c2..772ac604 100644 --- a/Source/USE_IFs/CC_ACCE_USE_IFs.f90 +++ b/Source/USE_IFs/CC_ACCE_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_ACCE_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_ACCE_USE_IFs diff --git a/Source/USE_IFs/CC_DISP_USE_IFs.f90 b/Source/USE_IFs/CC_DISP_USE_IFs.f90 index dd79eee4..c97a249d 100644 --- a/Source/USE_IFs/CC_DISP_USE_IFs.f90 +++ b/Source/USE_IFs/CC_DISP_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_DISP_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY: COMPUTE_OUTPUT_TARGETS END MODULE CC_DISP_USE_IFs diff --git a/Source/USE_IFs/CC_ELFO_USE_IFs.f90 b/Source/USE_IFs/CC_ELFO_USE_IFs.f90 index 23f18f23..c8720f93 100644 --- a/Source/USE_IFs/CC_ELFO_USE_IFs.f90 +++ b/Source/USE_IFs/CC_ELFO_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_ELFO_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_ELFO_USE_IFs diff --git a/Source/USE_IFs/CC_GPFO_USE_IFs.f90 b/Source/USE_IFs/CC_GPFO_USE_IFs.f90 index bb3b77dd..723bd83a 100644 --- a/Source/USE_IFs/CC_GPFO_USE_IFs.f90 +++ b/Source/USE_IFs/CC_GPFO_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_GPFO_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_GPFO_USE_IFs diff --git a/Source/USE_IFs/CC_MPCF_USE_IFs.f90 b/Source/USE_IFs/CC_MPCF_USE_IFs.f90 index cdb87750..34f3d9d0 100644 --- a/Source/USE_IFs/CC_MPCF_USE_IFs.f90 +++ b/Source/USE_IFs/CC_MPCF_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_MPCF_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_MPCF_USE_IFs diff --git a/Source/USE_IFs/CC_OLOA_USE_IFs.f90 b/Source/USE_IFs/CC_OLOA_USE_IFs.f90 index d74bb03a..05d19c66 100644 --- a/Source/USE_IFs/CC_OLOA_USE_IFs.f90 +++ b/Source/USE_IFs/CC_OLOA_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_OLOA_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_OLOA_USE_IFs diff --git a/Source/USE_IFs/CC_SPCF_USE_IFs.f90 b/Source/USE_IFs/CC_SPCF_USE_IFs.f90 index 1477b6e8..92150042 100644 --- a/Source/USE_IFs/CC_SPCF_USE_IFs.f90 +++ b/Source/USE_IFs/CC_SPCF_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_SPCF_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_SPCF_USE_IFs diff --git a/Source/USE_IFs/CC_STRE_USE_IFs.f90 b/Source/USE_IFs/CC_STRE_USE_IFs.f90 index eacb031e..d546d5f8 100644 --- a/Source/USE_IFs/CC_STRE_USE_IFs.f90 +++ b/Source/USE_IFs/CC_STRE_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_STRE_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_STRE_USE_IFs diff --git a/Source/USE_IFs/CC_STRN_USE_IFs.f90 b/Source/USE_IFs/CC_STRN_USE_IFs.f90 index 304c992c..0b0876c7 100644 --- a/Source/USE_IFs/CC_STRN_USE_IFs.f90 +++ b/Source/USE_IFs/CC_STRN_USE_IFs.f90 @@ -29,5 +29,6 @@ MODULE CC_STRN_USE_IFs USE OURTIM_Interface USE CC_OUTPUTS_Interface + USE COMPUTE_OUTPUT_TARGETS_MOD, ONLY : COMPUTE_OUTPUT_TARGETS END MODULE CC_STRN_USE_IFs diff --git a/Source/UTIL/OUTPUT2_UTILS.f90 b/Source/UTIL/OUTPUT2_UTILS.f90 index d2f008f4..8af52380 100644 --- a/Source/UTIL/OUTPUT2_UTILS.f90 +++ b/Source/UTIL/OUTPUT2_UTILS.f90 @@ -6,7 +6,7 @@ SUBROUTINE WRITE_OP2_HEADER(POST) integer, intent(in) :: POST character(len=28) :: TAPE_CODE character(len=8) :: NASTRAN_VERSION - IF (POST == -1) THEN + IF (POST /= -2) THEN !_write_markers(op2, op2_ascii, [3, 0, 7]) WRITE(OP2) 3 WRITE(OP2) 3, 24, 2021-2000 ! date @@ -34,7 +34,7 @@ SUBROUTINE WRITE_OP2_HEADER(POST) WRITE(OP2) 0 ! fop2.write(pack(endian + b'6i', *[4, -1, 4, ! 4, 0, 4,])) - ELSE IF(POST == -2) THEN + ELSE ! write_markers(fop2_ascii, [2, 4]) WRITE(OP2) 2 WRITE(OP2) 4