Changeset 4412


Ignore:
Timestamp:
2014-02-04T13:12:36+01:00 (7 years ago)
Author:
trackstand2
Message:

Added dump_1drarray()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/arpdebugging.f90

    r4403 r4412  
    44 
    55   INTERFACE dump_array 
    6       MODULE PROCEDURE dump_iarray, dump_rarray 
     6      MODULE PROCEDURE dump_iarray, dump_1diarray, dump_rarray, dump_1drarray 
    77   END INTERFACE 
    88 
     
    1010 
    1111  CONTAINS 
     12 
     13    SUBROUTINE dump_1drarray(count, name, field1) 
     14      IMPLICIT none 
     15      INTEGER,           INTENT(in) :: count  ! What timestep we're on 
     16      CHARACTER (LEN=*), INTENT(in) :: name   ! Root of filename to create 
     17      REAL,              INTENT(in), DIMENSION(:) :: field1 
     18      ! Locals 
     19      INTEGER           :: ji 
     20      CHARACTER (len=4) :: crank,ccount 
     21      INTEGER           :: ibound 
     22      CHARACTER (LEN=13), PARAMETER :: fmt_var = "(I4,E18.10)" 
     23 
     24      WRITE(crank,FMT="(I4)") narea-1 
     25      WRITE(ccount,FMT="(I4)") count 
     26      OPEN(UNIT=997, FILE=TRIM(ADJUSTL(name))//"_step_"//TRIM(ADJUSTL(ccount))//"_pe_"//TRIM(ADJUSTL(crank))//".dat", & 
     27           STATUS='REPLACE', ACTION='WRITE', IOSTAT=ji) 
     28      IF(ji.ne.0)THEN 
     29         WRITE (*,*) "ARPDBG - FAILED to open "//name//" dump file on "//crank//", call number "//ccount 
     30         RETURN 
     31      END IF 
     32 
     33      ibound = UBOUND(field1, 1) 
     34 
     35      DO ji=1,ibound,1 
     36         WRITE(997,FMT=fmt_var) ji, field1(ji) 
     37      END DO 
     38      WRITE(997,*) 
     39 
     40      CLOSE(997) 
     41 
     42    END SUBROUTINE dump_1drarray 
     43 
     44 
     45    SUBROUTINE dump_1diarray(count, name, field1) 
     46      IMPLICIT none 
     47      INTEGER,           INTENT(in) :: count  ! What timestep we're on 
     48      CHARACTER (LEN=*), INTENT(in) :: name   ! Root of filename to create 
     49      INTEGER,           INTENT(in), DIMENSION(:) :: field1 
     50      ! Locals 
     51      INTEGER           :: ji 
     52      CHARACTER (len=4) :: crank,ccount 
     53      INTEGER           :: ibound 
     54      CHARACTER (LEN=13), PARAMETER :: fmt_var = "(I4,1X,I6)" 
     55 
     56      WRITE(crank,FMT="(I4)") narea-1 
     57      WRITE(ccount,FMT="(I4)") count 
     58      OPEN(UNIT=997, FILE=TRIM(ADJUSTL(name))//"_step_"//TRIM(ADJUSTL(ccount))//"_pe_"//TRIM(ADJUSTL(crank))//".dat", & 
     59           STATUS='REPLACE', ACTION='WRITE', IOSTAT=ji) 
     60      IF(ji.ne.0)THEN 
     61         WRITE (*,*) "ARPDBG - FAILED to open "//name//" dump file on "//crank//", call number "//ccount 
     62         RETURN 
     63      END IF 
     64 
     65      ibound = UBOUND(field1, 1) 
     66 
     67      DO ji=1,ibound,1 
     68         WRITE(997,FMT=fmt_var) ji, field1(ji) 
     69      END DO 
     70      WRITE(997,*) 
     71 
     72      CLOSE(997) 
     73 
     74    END SUBROUTINE dump_1diarray 
    1275 
    1376    SUBROUTINE dump_rarray(count, name, field1, field2, withHalos, & 
Note: See TracChangeset for help on using the changeset viewer.