Get logical, integer, real, integer array or real array and transform it to string in the proposal format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(inout) | :: | ProposalStr | |||
| logical, | intent(in), | optional | :: | LogScalar | ||
| integer, | intent(in), | optional | :: | intScalar | ||
| real(kind=wp), | intent(in), | optional | :: | realScalar | ||
| integer, | intent(in), | optional | :: | intarr(:) | ||
| real(kind=wp), | intent(in), | optional | :: | realarr(:) |
SUBROUTINE ConvertToProposalStr(ProposalStr,LogScalar,IntScalar,realScalar,Intarr,realarr) ! MODULES IMPLICIT NONE !----------------------------------------------------------------------------------------------------------------------------------- ! INPUT VARIABLES LOGICAL ,INTENT(IN),OPTIONAL :: LogScalar INTEGER ,INTENT(IN),OPTIONAL :: intScalar REAL(wp),INTENT(IN),OPTIONAL :: realScalar INTEGER ,INTENT(IN),OPTIONAL :: intarr(:) REAL(wp),INTENT(IN),OPTIONAL :: realarr(:) !----------------------------------------------------------------------------------------------------------------------------------- ! OUTPUT VARIABLES CHARACTER(LEN=*),INTENT(INOUT) :: ProposalStr !----------------------------------------------------------------------------------------------------------------------------------- ! LOCAL VARIABLES CHARACTER(LEN=LEN(ProposalStr)) :: str_tmp !=================================================================================================================================== IF(PRESENT(logScalar))THEN IF(logScalar)THEn str_tmp='T' ELSE str_tmp='F' END IF ELSEIF(PRESENT(intscalar))THEN WRITE(str_tmp,'(I10)')intScalar ELSEIF(PRESENT(realScalar))THEN WRITE(str_tmp,'(E23.15)')realScalar ELSEIF(PRESENT(intarr))THEN WRITE(str_tmp,'(*(I8,:,","))')intarr(:) ELSEIF(PRESENT(realarr))THEN WRITE(str_tmp,'(*(E21.11,:,","))')realarr(:) ELSE ProposalStr=" " RETURN END IF ProposalStr=TRIM(remove_blanks(str_tmp)) END SUBROUTINE ConvertToProposalStr