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 65 – NEMO

Changeset 65


Ignore:
Timestamp:
2004-04-22T14:13:14+02:00 (20 years ago)
Author:
opalod
Message:

CT : BUGFIX039 : Indices and comments correction for zoom functionalities

Location:
trunk/NEMO/OPA_SRC/DOM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/dom_oce.F90

    r32 r65  
    5555   INTEGER, PUBLIC, DIMENSION(jpj) ::   &   !: 
    5656      mjg                 !: local  ==> global  domain j-indice 
    57    INTEGER, PUBLIC, DIMENSION( jpiglo ) ::   &  !:  !!bug ==> other solution? 
     57   INTEGER, PUBLIC, DIMENSION( jpidta ) ::   &  !:  !!bug ==> other solution? 
    5858      mi0, mi1            !: global ==> local domain i-indice 
    5959      !                   !  (mi0=1 and mi1=0 if the global indice is not in the local domain) 
    60    INTEGER, PUBLIC, DIMENSION( jpjglo ) ::   &  !: 
     60   INTEGER, PUBLIC, DIMENSION( jpjdta ) ::   &  !: 
    6161      mj0, mj1            !: global ==> local domain j-indice 
    6262      !                   ! (mi0=1 and mi1=0 if the global indice is not in the local domain) 
  • trunk/NEMO/OPA_SRC/DOM/domcfg.F90

    r3 r65  
    100100      ! ============ 
    101101 
    102       ! local domain indices ==> global domain indices 
     102      ! local domain indices ==> data domain indices 
    103103      DO ji = 1, jpi 
    104104        mig(ji) = ji + jpizoom - 1 + nimpp - 1 
     
    108108      END DO 
    109109 
    110       ! global domain indices ==> local domain indices 
    111       ! (return (m.0,m.1)=(1,0) if global domain gridpoint is not in the local domain) 
    112       DO ji = 1, jpiglo 
    113         mi0(ji) = MAX( 1, MIN( ji - jpizoom + 1 - nimpp + 1, jpi   ) ) 
    114         mi1(ji) = MAX( 0, MIN( ji - jpizoom + 1 - nimpp + 1, jpim1 ) ) 
    115       END DO 
    116       DO jj = 1, jpjglo 
    117         mj0(jj) = MAX( 1, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj   ) ) 
    118         mj1(jj) = MAX( 0, MIN( jj - jpjzoom + 1 - njmpp + 1, jpjm1 ) ) 
    119       END DO 
    120  
    121       IF(lwp) THEN 
    122          WRITE(numout,*) 
    123          WRITE(numout,*) 'dom_glo : domain: data / global or zoom / local' 
     110      ! data domain indices ==> local domain indices 
     111      ! (return (m.0,m.1)=(1,0) if data domain gridpoint is to the west/south of the  
     112      ! local domain, or (m.0,m.1)=(jp.+1,jp.) to the east/north of local domain.  
     113      DO ji = 1, jpidta 
     114        mi0(ji) = MAX( 1, MIN( ji - jpizoom + 1 - nimpp + 1, jpi+1 ) ) 
     115        mi1(ji) = MAX( 0, MIN( ji - jpizoom + 1 - nimpp + 1, jpi   ) ) 
     116      END DO 
     117      DO jj = 1, jpjdta 
     118        mj0(jj) = MAX( 1, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj+1 ) ) 
     119        mj1(jj) = MAX( 0, MIN( jj - jpjzoom + 1 - njmpp + 1, jpj   ) ) 
     120      END DO 
     121 
     122      IF(lwp) THEN 
     123         WRITE(numout,*) 
     124         WRITE(numout,*) 'dom_glo : domain: data / local ' 
    124125         WRITE(numout,*) '~~~~~~~ ' 
    125126         WRITE(numout,*) '          data input domain    : jpidta = ', jpidta,   & 
     
    133134            &                                           ' jpjzoom = ', jpjzoom 
    134135         WRITE(numout,*) 
    135          WRITE(numout,*) '          conversion local  ==> global/zoom i-index domain' 
     136         WRITE(numout,*) '          conversion local  ==> data i-index domain' 
    136137         WRITE(numout,25)              (mig(ji),ji = 1,jpi) 
    137138         WRITE(numout,*) 
    138          WRITE(numout,*) '          conversion global/zoom ==> local  i-index domain' 
     139         WRITE(numout,*) '          conversion data  ==> local  i-index domain' 
    139140         WRITE(numout,*) '             starting index' 
    140          WRITE(numout,25)              (mi0(ji),ji = 1,jpiglo) 
     141         WRITE(numout,25)              (mi0(ji),ji = 1,jpidta) 
    141142         WRITE(numout,*) '             ending index' 
    142          WRITE(numout,25)              (mi1(ji),ji = 1,jpiglo) 
    143          WRITE(numout,*) 
    144          WRITE(numout,*) '          conversion local  ==> global/zoom i-index domain' 
     143         WRITE(numout,25)              (mi1(ji),ji = 1,jpidta) 
     144         WRITE(numout,*) 
     145         WRITE(numout,*) '          conversion local  ==> data i-index domain' 
    145146         WRITE(numout,25)              (mjg(jj),jj = 1,jpj) 
    146147         WRITE(numout,*) 
    147          WRITE(numout,*) '          conversion global/zoom ==> local i-index domain' 
     148         WRITE(numout,*) '          conversion data  ==> local i-index domain' 
    148149         WRITE(numout,*) '             starting index' 
    149          WRITE(numout,25)              (mj0(jj),jj = 1,jpjglo) 
     150         WRITE(numout,25)              (mj0(jj),jj = 1,jpjdta) 
    150151         WRITE(numout,*) '             ending index' 
    151          WRITE(numout,25)              (mj1(jj),jj = 1,jpjglo) 
     152         WRITE(numout,25)              (mj1(jj),jj = 1,jpjdta) 
    152153      ENDIF 
    153154 25   FORMAT( 100(10x,19i4,/) ) 
     
    157158 
    158159      ! zoom control 
    159       IF( jpiglo - jpizoom + 1  >  jpidta .OR.   & 
    160           jpjglo - jpjzoom + 1  >  jpjdta      ) THEN 
     160      IF( jpiglo + jpizoom - 1  >  jpidta .OR.   & 
     161          jpjglo + jpjzoom - 1  >  jpjdta      ) THEN 
    161162         IF(lwp)WRITE(numout,cform_err) 
    162163         IF(lwp)WRITE(numout,*)' global or zoom domain exceed the data domain ! ' 
     
    168169 
    169170      ! set zoom type flags 
    170       IF( lzoom .AND. jpizoom /= 1 )   lzoom_e = .TRUE.                     !  
     171      IF( lzoom .AND. jpizoom /= 1 )   lzoom_w = .TRUE.                     !  
    171172      IF( lzoom .AND. jpjzoom /= 1 )   lzoom_s = .TRUE. 
    172       IF( lzoom .AND. jpiglo + jpizoom -1 /= jpidta )   lzoom_w = .TRUE. 
     173      IF( lzoom .AND. jpiglo + jpizoom -1 /= jpidta )   lzoom_e = .TRUE. 
    173174      IF( lzoom .AND. jpjglo + jpjzoom -1 /= jpjdta )   lzoom_n = .TRUE. 
    174175 
     
    192193         nstop = nstop + 1 
    193194      ENDIF 
    194       IF(  lzoom  .AND.  l_isl  ) THEN 
     195      IF(  lzoom  .AND.  lk_isl  ) THEN 
    195196         IF(lwp)WRITE(numout,cform_err) 
    196197         IF(lwp)WRITE(numout,*)' key_islands and zoom are not allowed' 
Note: See TracChangeset for help on using the changeset viewer.