New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3837 for branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/arpdebugging.f90 – NEMO

Ignore:
Timestamp:
2013-03-12T15:55:32+01:00 (11 years ago)
Author:
trackstand2
Message:

Merge of finiss

File:
1 edited

Legend:

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

    r3432 r3837  
    1111  CONTAINS 
    1212 
    13     SUBROUTINE dump_rarray(count, name, field1, field2, withHalos) 
     13    SUBROUTINE dump_rarray(count, name, field1, field2, withHalos, & 
     14                           toGlobal) 
    1415      IMPLICIT none 
    1516      INTEGER,           INTENT(in) :: count  ! What timestep we're on 
     
    1819      REAL,              INTENT(in), DIMENSION(:,:), OPTIONAL :: field2 
    1920      LOGICAL,           INTENT(in),                 OPTIONAL :: withHalos 
     21      LOGICAL,           INTENT(in),                 OPTIONAL :: toGlobal 
    2022      ! Locals 
    2123      INTEGER           :: ji, jj 
    2224      CHARACTER (len=4) :: crank,ccount 
    23       LOGICAL           :: lwithHalos 
     25      LOGICAL           :: lwithHalos, ltoGlobal 
    2426      INTEGER           :: ibound, jbound 
    2527      INTEGER, DIMENSION(2) :: shape1, shape2 
     
    3739      lwithHalos = .false. 
    3840      IF(present(withHalos))lwithHalos = withHalos 
     41      ! By default we convert to global coordinates rather than those local 
     42      ! to this process 
     43      ltoGlobal = .true. 
     44      IF(present(toGlobal))ltoGlobal = toGlobal 
    3945 
    4046      WRITE(crank,FMT="(I4)") narea-1 
     
    5763            END DO 
    5864         ELSE 
    59             DO jj=nldj,nlej,1 
    60                DO ji=nldi,nlei,1 
    61                   WRITE(997,FMT=fmt_var) mig(ji),mjg(jj), & 
    62                                                field1(ji,jj) 
    63                END DO 
    64             END DO 
     65 
     66            IF(ltoGlobal)THEN 
     67               DO jj=nldj,nlej,1 
     68                  DO ji=nldi,nlei,1 
     69                     WRITE(997,FMT=fmt_var) mig(ji),mjg(jj), & 
     70                                            field1(ji,jj) 
     71                  END DO 
     72               END DO 
     73            ELSE 
     74               DO jj=nldj,nlej,1 
     75                  DO ji=nldi,nlei,1 
     76                     WRITE(997,FMT=fmt_var) ji,jj, field1(ji,jj) 
     77                  END DO 
     78               END DO 
     79            END IF 
    6580         END IF 
    6681 
     
    7186 
    7287         IF(PRESENT(field2))THEN 
    73             DO ji=1,ibound,1 
    74                DO jj=1,jbound,1 
    75                   WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), & 
    76                                                 field1(ji,jj),field2(ji,jj) 
    77                END DO 
    78                WRITE(997,*) 
    79             END DO 
    80          ELSE 
    81             DO ji=1,ibound,1 
    82                DO jj=1,jbound,1 
    83                   WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), field1(ji,jj) 
    84                END DO 
    85                WRITE(997,*) 
    86             END DO 
     88            IF(ltoGlobal)THEN 
     89               DO ji=1,ibound,1 
     90                  DO jj=1,jbound,1 
     91                     WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), & 
     92                                            field1(ji,jj),field2(ji,jj) 
     93                  END DO 
     94                  WRITE(997,*) 
     95               END DO 
     96            ELSE 
     97               DO ji=1,ibound,1 
     98                  DO jj=1,jbound,1 
     99                     WRITE(997,FMT=fmt_var) ji, jj, field1(ji,jj), field2(ji,jj) 
     100                  END DO 
     101                  WRITE(997,*) 
     102               END DO 
     103            END IF 
     104         ELSE 
     105            IF(ltoGlobal)THEN 
     106               DO ji=1,ibound,1 
     107                  DO jj=1,jbound,1 
     108                     WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), field1(ji,jj) 
     109                  END DO 
     110                  WRITE(997,*) 
     111               END DO 
     112            ELSE 
     113               DO ji=1,ibound,1 
     114                  DO jj=1,jbound,1 
     115                     WRITE(997,FMT=fmt_var) ji, jj, field1(ji,jj) 
     116                  END DO 
     117                  WRITE(997,*) 
     118               END DO 
     119            END IF 
    87120         END IF 
    88121 
     
    94127 
    95128 
    96     SUBROUTINE dump_iarray(count, name, field1, field2, withHalos) 
     129    SUBROUTINE dump_iarray(count, name, field1, field2, withHalos, & 
     130                           toGlobal) 
    97131      IMPLICIT none 
    98132      INTEGER,           INTENT(in) :: count  ! What timestep we're on 
     
    101135      INTEGER,           INTENT(in), DIMENSION(:,:), OPTIONAL :: field2 
    102136      LOGICAL,           INTENT(in),                 OPTIONAL :: withHalos 
     137      LOGICAL,           INTENT(in),                 OPTIONAL :: toGlobal 
    103138      ! Locals 
    104139      INTEGER           :: ji, jj 
    105140      CHARACTER (len=4) :: crank,ccount 
    106       LOGICAL           :: lwithHalos 
     141      LOGICAL           :: lwithHalos, ltoGlobal 
    107142      INTEGER           :: ibound, jbound 
    108143      INTEGER, DIMENSION(2) :: shape1, shape2 
     
    120155      lwithHalos = .false. 
    121156      IF(present(withHalos))lwithHalos = withHalos 
     157      ! By default we convert to global coordinates rather than those local 
     158      ! to this process 
     159      ltoGlobal = .true. 
     160      IF(present(toGlobal))ltoGlobal = toGlobal 
    122161 
    123162      WRITE(crank,FMT="(I4)") narea-1 
     
    156195            DO ji=1,ibound,1 
    157196               DO jj=1,jbound,1 
    158                   WRITE(997,FMT=fmt_var) ji, jj, & 
     197                  WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), & 
    159198                                                field1(ji,jj),field2(ji,jj) 
    160199               END DO 
     
    164203            DO ji=1,ibound,1 
    165204               DO jj=1,jbound,1 
    166                   WRITE(997,FMT=fmt_var) ji, jj, field1(ji,jj) 
     205                  WRITE(997,FMT=fmt_var) mig(ji), mjg(jj), field1(ji,jj) 
    167206               END DO 
    168207               WRITE(997,*) 
Note: See TracChangeset for help on using the changeset viewer.