diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/src/THMINP.f | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/src/THMINP.f')
| -rw-r--r-- | Donjon/src/THMINP.f | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Donjon/src/THMINP.f b/Donjon/src/THMINP.f new file mode 100644 index 0000000..19c38c5 --- /dev/null +++ b/Donjon/src/THMINP.f @@ -0,0 +1,64 @@ +*DECK THMINP + SUBROUTINE THMINP(HNAME,NCH,VECT) +* +*----------------------------------------------------------------------- +* +*Purpose: +* Read channel-dependent data. +* +*Copyright: +* Copyright (C) 2018 Ecole Polytechnique de Montreal. +* +*Author(s): +* A. Hebert +* +*Parameters: input +* HNAME character*8 name of the data +* NCH number of channels +* +*Parameters: output +* VECT data vector +* +*----------------------------------------------------------------------- +* + IMPLICIT NONE +*---- +* SUBROUTINE ARGUMENTS +*---- + CHARACTER*(*) HNAME + INTEGER NCH + REAL VECT(NCH) +*---- +* LOCAL VARIABLES +*---- + INTEGER ITYP,NITMA,ICH + REAL FLOT + CHARACTER TEXT*8,HSMG*131 + DOUBLE PRECISION DFLOT +* + CALL REDGET(ITYP,NITMA,FLOT,TEXT,DFLOT) + IF(ITYP.EQ.1) THEN + FLOT=REAL(NITMA) + VECT(:NCH)=FLOT + ELSE IF(ITYP.EQ.2) THEN + VECT(:NCH)=FLOT + ELSE IF((ITYP.EQ.3).AND.(TEXT.EQ.'CHAN')) THEN + DO ICH=1,NCH + CALL REDGET(ITYP,NITMA,FLOT,TEXT,DFLOT) + IF(ITYP.EQ.1) THEN + VECT(ICH)=REAL(NITMA) + ELSE IF(ITYP.EQ.2) THEN + VECT(ICH)=FLOT + ELSE + WRITE(HSMG,'(14H@THMINP: NAME=,A,21H. INTEGER OR REAL VAL, + > 12HUE EXPECTED.)') HNAME + CALL XABORT(HSMG) + ENDIF + ENDDO + ELSE + WRITE(HSMG,'(14H@THMINP: NAME=,A,26H. SINGLE INTEGER OR REAL V, + > 30HALUE OR CHAN KEYWORD EXPECTED.)') HNAME + CALL XABORT(HSMG) + ENDIF + RETURN + END |
