Changeset 65 for trunk/NEMO/OPA_SRC/DOM
- Timestamp:
- 2004-04-22T14:13:14+02:00 (20 years ago)
- Location:
- trunk/NEMO/OPA_SRC/DOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DOM/dom_oce.F90
r32 r65 55 55 INTEGER, PUBLIC, DIMENSION(jpj) :: & !: 56 56 mjg !: local ==> global domain j-indice 57 INTEGER, PUBLIC, DIMENSION( jpi glo) :: & !: !!bug ==> other solution?57 INTEGER, PUBLIC, DIMENSION( jpidta ) :: & !: !!bug ==> other solution? 58 58 mi0, mi1 !: global ==> local domain i-indice 59 59 ! ! (mi0=1 and mi1=0 if the global indice is not in the local domain) 60 INTEGER, PUBLIC, DIMENSION( jpj glo) :: & !:60 INTEGER, PUBLIC, DIMENSION( jpjdta ) :: & !: 61 61 mj0, mj1 !: global ==> local domain j-indice 62 62 ! ! (mi0=1 and mi1=0 if the global indice is not in the local domain) -
trunk/NEMO/OPA_SRC/DOM/domcfg.F90
r3 r65 100 100 ! ============ 101 101 102 ! local domain indices ==> globaldomain indices102 ! local domain indices ==> data domain indices 103 103 DO ji = 1, jpi 104 104 mig(ji) = ji + jpizoom - 1 + nimpp - 1 … … 108 108 END DO 109 109 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 ' 124 125 WRITE(numout,*) '~~~~~~~ ' 125 126 WRITE(numout,*) ' data input domain : jpidta = ', jpidta, & … … 133 134 & ' jpjzoom = ', jpjzoom 134 135 WRITE(numout,*) 135 WRITE(numout,*) ' conversion local ==> global/zoomi-index domain'136 WRITE(numout,*) ' conversion local ==> data i-index domain' 136 137 WRITE(numout,25) (mig(ji),ji = 1,jpi) 137 138 WRITE(numout,*) 138 WRITE(numout,*) ' conversion global/zoom==> local i-index domain'139 WRITE(numout,*) ' conversion data ==> local i-index domain' 139 140 WRITE(numout,*) ' starting index' 140 WRITE(numout,25) (mi0(ji),ji = 1,jpi glo)141 WRITE(numout,25) (mi0(ji),ji = 1,jpidta) 141 142 WRITE(numout,*) ' ending index' 142 WRITE(numout,25) (mi1(ji),ji = 1,jpi glo)143 WRITE(numout,*) 144 WRITE(numout,*) ' conversion local ==> global/zoomi-index domain'143 WRITE(numout,25) (mi1(ji),ji = 1,jpidta) 144 WRITE(numout,*) 145 WRITE(numout,*) ' conversion local ==> data i-index domain' 145 146 WRITE(numout,25) (mjg(jj),jj = 1,jpj) 146 147 WRITE(numout,*) 147 WRITE(numout,*) ' conversion global/zoom ==> locali-index domain'148 WRITE(numout,*) ' conversion data ==> local i-index domain' 148 149 WRITE(numout,*) ' starting index' 149 WRITE(numout,25) (mj0(jj),jj = 1,jpj glo)150 WRITE(numout,25) (mj0(jj),jj = 1,jpjdta) 150 151 WRITE(numout,*) ' ending index' 151 WRITE(numout,25) (mj1(jj),jj = 1,jpj glo)152 WRITE(numout,25) (mj1(jj),jj = 1,jpjdta) 152 153 ENDIF 153 154 25 FORMAT( 100(10x,19i4,/) ) … … 157 158 158 159 ! zoom control 159 IF( jpiglo - jpizoom +1 > jpidta .OR. &160 jpjglo - jpjzoom +1 > jpjdta ) THEN160 IF( jpiglo + jpizoom - 1 > jpidta .OR. & 161 jpjglo + jpjzoom - 1 > jpjdta ) THEN 161 162 IF(lwp)WRITE(numout,cform_err) 162 163 IF(lwp)WRITE(numout,*)' global or zoom domain exceed the data domain ! ' … … 168 169 169 170 ! set zoom type flags 170 IF( lzoom .AND. jpizoom /= 1 ) lzoom_ e= .TRUE. !171 IF( lzoom .AND. jpizoom /= 1 ) lzoom_w = .TRUE. ! 171 172 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. 173 174 IF( lzoom .AND. jpjglo + jpjzoom -1 /= jpjdta ) lzoom_n = .TRUE. 174 175 … … 192 193 nstop = nstop + 1 193 194 ENDIF 194 IF( lzoom .AND. l _isl ) THEN195 IF( lzoom .AND. lk_isl ) THEN 195 196 IF(lwp)WRITE(numout,cform_err) 196 197 IF(lwp)WRITE(numout,*)' key_islands and zoom are not allowed'
Note: See TracChangeset
for help on using the changeset viewer.