- Timestamp:
- 2020-04-23T15:14:45+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbini.F90
r12738 r12807 133 133 ! first entry with narea for this processor is left hand interior index 134 134 ! last entry is right hand interior index 135 jj = nlcj/2135 jj = jpj/2 136 136 nicbdi = -1 137 137 nicbei = -1 … … 149 149 ! 150 150 ! repeat for j direction 151 ji = nlci/2151 ji = jpi/2 152 152 nicbdj = -1 153 153 nicbej = -1 … … 166 166 ! special for east-west boundary exchange we save the destination index 167 167 i1 = MAX( nicbdi-1, 1) 168 i3 = INT( src_calving(i1, nlcj/2) )168 i3 = INT( src_calving(i1,jpj/2) ) 169 169 jj = INT( i3/nicbpack ) 170 170 ricb_left = REAL( i3 - nicbpack*jj, wp ) 171 171 i1 = MIN( nicbei+1, jpi ) 172 i3 = INT( src_calving(i1, nlcj/2) )172 i3 = INT( src_calving(i1,jpj/2) ) 173 173 jj = INT( i3/nicbpack ) 174 174 ricb_right = REAL( i3 - nicbpack*jj, wp ) … … 203 203 WRITE(numicb,*) 'processor ', narea 204 204 WRITE(numicb,*) 'jpi, jpj ', jpi, jpj 205 WRITE(numicb,*) ' nldi, nlei ', nldi, nlei206 WRITE(numicb,*) ' nldj, nlej ', nldj, nlej205 WRITE(numicb,*) 'Nis0, Nie0 ', Nis0, Nie0 206 WRITE(numicb,*) 'Njs0, Nje0 ', Njs0, Nje0 207 207 WRITE(numicb,*) 'berg i interior ', nicbdi, nicbei 208 208 WRITE(numicb,*) 'berg j interior ', nicbdj, nicbej 209 209 WRITE(numicb,*) 'berg left ', ricb_left 210 210 WRITE(numicb,*) 'berg right ', ricb_right 211 jj = nlcj/2211 jj = jpj/2 212 212 WRITE(numicb,*) "central j line:" 213 213 WRITE(numicb,*) "i processor" … … 215 215 WRITE(numicb,*) "i point" 216 216 WRITE(numicb,*) (INT(src_calving(ji,jj)), ji=1,jpi) 217 ji = nlci/2217 ji = jpi/2 218 218 WRITE(numicb,*) "central i line:" 219 219 WRITE(numicb,*) "j processor" -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbrst.F90
r12745 r12807 91 91 ij = INT( localpt%yj + 0.5 ) 92 92 ! Only proceed if this iceberg is on the local processor (excluding halos). 93 IF ( ii >= mig( nldi) .AND. ii <= mig(nlei) .AND. &94 & ij >= mjg( nldj) .AND. ij <= mjg(nlej) ) THEN93 IF ( ii >= mig(Nis0) .AND. ii <= mig(Nie0) .AND. & 94 & ij >= mjg(Njs0) .AND. ij <= mjg(Nje0) ) THEN 95 95 96 96 CALL iom_get( ncid, jpdom_unknown, 'number', zdata(:) , ktime=jn, kstart=(/1/), kcount=(/nkounts/) ) … … 226 226 227 227 ! Dimensions 228 nret = NF90_DEF_DIM(ncid, 'x', nlei-nldi+1, ix_dim)228 nret = NF90_DEF_DIM(ncid, 'x', Ni_0, ix_dim) 229 229 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_def_dim x failed') 230 230 231 nret = NF90_DEF_DIM(ncid, 'y', nlej-nldj+1, iy_dim)231 nret = NF90_DEF_DIM(ncid, 'y', Nj_0, iy_dim) 232 232 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_def_dim y failed') 233 233 … … 243 243 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_number_total' , jpnij ) 244 244 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_number' , narea-1 ) 245 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_dimensions_ids' , (/ 1 , 2/) )246 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_size_global' , (/ jpiglo , jpjglo/) )247 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_size_local' , (/ nlei - nldi + 1, nlej - nldj + 1/) )248 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_position_first' , (/ mig( nldi) , mjg(nldj)/) )249 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_position_last' , (/ mig( nlei) , mjg(nlej)/) )250 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_halo_size_start', (/ 0 , 0/) )251 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_halo_size_end' , (/ 0 , 0/) )245 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_dimensions_ids' , (/ 1 , 2 /) ) 246 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_size_global' , (/ jpiglo , jpjglo /) ) 247 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_size_local' , (/ Ni_0 , Nj_0 /) ) 248 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_position_first' , (/ mig(Nis0), mjg(Njs0) /) ) 249 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_position_last' , (/ mig(Nie0), mjg(Nje0) /) ) 250 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_halo_size_start', (/ 0 , 0 /) ) 251 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_halo_size_end' , (/ 0 , 0 /) ) 252 252 nret = NF90_PUT_ATT( ncid, NF90_GLOBAL, 'DOMAIN_type' , 'BOX' ) 253 253 ENDIF … … 341 341 nstrt3(1) = 1 342 342 nstrt3(2) = 1 343 nlngth3(1) = nlei - nldi + 1344 nlngth3(2) = nlej - nldj + 1343 nlngth3(1) = Ni_0 344 nlngth3(2) = Nj_0 345 345 nlngth3(3) = 1 346 346 347 347 DO jn=1,nclasses 348 348 nstrt3(3) = jn 349 nret = NF90_PUT_VAR( ncid, nsiceid, berg_grid%stored_ice( nldi:nlei,nldj:nlej,jn), nstrt3, nlngth3 )349 nret = NF90_PUT_VAR( ncid, nsiceid, berg_grid%stored_ice(Nis0:Nie0,Njs0:Nje0,jn), nstrt3, nlngth3 ) 350 350 IF (nret .ne. NF90_NOERR) THEN 351 351 IF( lwp ) WRITE(numout,*) TRIM(NF90_STRERROR( nret )) … … 358 358 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var kount failed') 359 359 360 nret = NF90_PUT_VAR( ncid, nsheatid, berg_grid%stored_heat( nldi:nlei,nldj:nlej) )360 nret = NF90_PUT_VAR( ncid, nsheatid, berg_grid%stored_heat(Nis0:Nie0,Njs0:Nje0) ) 361 361 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var stored_heat failed') 362 362 IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: stored_heat written' 363 363 364 nret = NF90_PUT_VAR( ncid, ncalvid , src_calving( nldi:nlei,nldj:nlej) )364 nret = NF90_PUT_VAR( ncid, ncalvid , src_calving(Nis0:Nie0,Njs0:Nje0) ) 365 365 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var calving failed') 366 nret = NF90_PUT_VAR( ncid, ncalvhid, src_calving_hflx( nldi:nlei,nldj:nlej) )366 nret = NF90_PUT_VAR( ncid, ncalvhid, src_calving_hflx(Nis0:Nie0,Njs0:Nje0) ) 367 367 IF (nret .ne. NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_put_var calving_hflx failed') 368 368 IF( lwp ) WRITE(numout,*) 'file: ',TRIM(cl_path)//TRIM(cl_filename),' var: calving written'
Note: See TracChangeset
for help on using the changeset viewer.