Changeset 14090 for NEMO/trunk/src
- Timestamp:
- 2020-12-04T14:32:28+01:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/ASM/asminc.F90
r14072 r14090 26 26 USE par_oce ! Ocean space and time domain variables 27 27 USE dom_oce ! Ocean space and time domain 28 USE dom ain, ONLY : dom_tile28 USE domtile 29 29 USE domvvl ! domain: variable volume level 30 30 USE ldfdyn ! lateral diffusion: eddy viscosity coefficients -
NEMO/trunk/src/OCE/DIA/diaptr.F90
r14072 r14090 22 22 USE oce ! ocean dynamics and active tracers 23 23 USE dom_oce ! ocean space and time domain 24 USE dom ain, ONLY : dom_tile24 USE domtile 25 25 USE phycst ! physical constants 26 26 ! -
NEMO/trunk/src/OCE/DOM/domain.F90
r14072 r14090 39 39 USE domhgr ! domain: set the horizontal mesh 40 40 USE domzgr ! domain: set the vertical mesh 41 USE domtile 41 42 USE dommsk ! domain: set the mask system 42 43 USE domwri ! domain: write the meshmask file … … 46 47 USE closea , ONLY : dom_clo ! closed seas routine 47 48 ! 48 USE prtctl ! Print control (prt_ctl_info routine)49 49 USE in_out_manager ! I/O manager 50 50 USE iom ! I/O library … … 58 58 PUBLIC dom_init ! called by nemogcm.F90 59 59 PUBLIC domain_cfg ! called by nemogcm.F90 60 PUBLIC dom_tile ! called by step.F9061 60 62 61 !! * Substitutions … … 301 300 302 301 303 SUBROUTINE dom_tile( ktsi, ktsj, ktei, ktej, ktile )304 !!----------------------------------------------------------------------305 !! *** ROUTINE dom_tile ***306 !!307 !! ** Purpose : Set tile domain variables308 !!309 !! ** Action : - ktsi, ktsj : start of internal part of domain310 !! - ktei, ktej : end of internal part of domain311 !! - ntile : current tile number312 !! - nijtile : total number of tiles313 !!----------------------------------------------------------------------314 INTEGER, INTENT(out) :: ktsi, ktsj, ktei, ktej ! Tile domain indices315 INTEGER, INTENT(in), OPTIONAL :: ktile ! Tile number316 INTEGER :: jt ! dummy loop argument317 INTEGER :: iitile, ijtile ! Local integers318 CHARACTER (len=11) :: charout319 !!----------------------------------------------------------------------320 IF( PRESENT(ktile) .AND. ln_tile ) THEN321 ntile = ktile ! Set domain indices for tile322 ktsi = ntsi_a(ktile)323 ktsj = ntsj_a(ktile)324 ktei = ntei_a(ktile)325 ktej = ntej_a(ktile)326 327 IF(sn_cfctl%l_prtctl) THEN328 WRITE(charout, FMT="('ntile =', I4)") ktile329 CALL prt_ctl_info( charout )330 ENDIF331 ELSE332 ntile = 0 ! Initialise to full domain333 nijtile = 1334 ktsi = Nis0335 ktsj = Njs0336 ktei = Nie0337 ktej = Nje0338 339 IF( ln_tile ) THEN ! Calculate tile domain indices340 iitile = Ni_0 / nn_ltile_i ! Number of tiles341 ijtile = Nj_0 / nn_ltile_j342 IF( MOD( Ni_0, nn_ltile_i ) /= 0 ) iitile = iitile + 1343 IF( MOD( Nj_0, nn_ltile_j ) /= 0 ) ijtile = ijtile + 1344 345 nijtile = iitile * ijtile346 ALLOCATE( ntsi_a(0:nijtile), ntsj_a(0:nijtile), ntei_a(0:nijtile), ntej_a(0:nijtile) )347 348 ntsi_a(0) = ktsi ! Full domain349 ntsj_a(0) = ktsj350 ntei_a(0) = ktei351 ntej_a(0) = ktej352 353 DO jt = 1, nijtile ! Tile domains354 ntsi_a(jt) = Nis0 + nn_ltile_i * MOD(jt - 1, iitile)355 ntsj_a(jt) = Njs0 + nn_ltile_j * ((jt - 1) / iitile)356 ntei_a(jt) = MIN(ntsi_a(jt) + nn_ltile_i - 1, Nie0)357 ntej_a(jt) = MIN(ntsj_a(jt) + nn_ltile_j - 1, Nje0)358 ENDDO359 ENDIF360 361 IF(lwp) THEN ! control print362 WRITE(numout,*)363 WRITE(numout,*) 'dom_tile : Domain tiling decomposition'364 WRITE(numout,*) '~~~~~~~~'365 IF( ln_tile ) THEN366 WRITE(numout,*) iitile, 'tiles in i'367 WRITE(numout,*) ' Starting indices'368 WRITE(numout,*) ' ', (ntsi_a(jt), jt=1, iitile)369 WRITE(numout,*) ' Ending indices'370 WRITE(numout,*) ' ', (ntei_a(jt), jt=1, iitile)371 WRITE(numout,*) ijtile, 'tiles in j'372 WRITE(numout,*) ' Starting indices'373 WRITE(numout,*) ' ', (ntsj_a(jt), jt=1, nijtile, iitile)374 WRITE(numout,*) ' Ending indices'375 WRITE(numout,*) ' ', (ntej_a(jt), jt=1, nijtile, iitile)376 ELSE377 WRITE(numout,*) 'No domain tiling'378 WRITE(numout,*) ' i indices =', ktsi, ':', ktei379 WRITE(numout,*) ' j indices =', ktsj, ':', ktej380 ENDIF381 ENDIF382 ENDIF383 END SUBROUTINE dom_tile384 385 386 302 SUBROUTINE dom_nam 387 303 !!---------------------------------------------------------------------- -
NEMO/trunk/src/OCE/DOM/dtatsd.F90
r14072 r14090 18 18 USE phycst ! physical constants 19 19 USE dom_oce ! ocean space and time domain 20 USE dom ain, ONLY : dom_tile20 USE domtile 21 21 USE fldread ! read input fields 22 22 ! -
NEMO/trunk/src/OCE/TRA/traadv.F90
r14072 r14090 19 19 USE dom_oce ! ocean space and time domain 20 20 ! TEMP: [tiling] This change not necessary after extended haloes development 21 USE dom ain, ONLY : dom_tile21 USE domtile 22 22 USE domvvl ! variable vertical scale factors 23 23 USE sbcwave ! wave module -
NEMO/trunk/src/OCE/TRA/traldf.F90
r14072 r14090 18 18 USE dom_oce ! ocean space and time domain 19 19 ! TEMP: [tiling] This change not necessary after extra haloes development (lbc_lnk removed from tra_ldf_blp, zps_hde*) 20 USE dom ain, ONLY : dom_tile20 USE domtile 21 21 USE phycst ! physical constants 22 22 USE ldftra ! lateral diffusion: eddy diffusivity & EIV coeff. -
NEMO/trunk/src/OCE/TRA/traldf_triad.F90
r14072 r14090 14 14 USE dom_oce ! ocean space and time domain 15 15 ! TEMP: [tiling] This change not necessary if XIOS has subdomain support 16 USE dom ain, ONLY : dom_tile16 USE domtile 17 17 USE domutl, ONLY : is_tile 18 18 USE phycst ! physical constants -
NEMO/trunk/src/OCE/TRA/tranpc.F90
r14072 r14090 18 18 USE dom_oce ! ocean space and time domain 19 19 ! TEMP: [tiling] This change not necessary after extra haloes development (lbc_lnk removed) 20 USE dom ain, ONLY : dom_tile20 USE domtile 21 21 USE phycst ! physical constants 22 22 USE zdf_oce ! ocean vertical physics -
NEMO/trunk/src/OCE/TRA/traqsr.F90
r14072 r14090 22 22 USE phycst ! physical constants 23 23 USE dom_oce ! ocean space and time domain 24 USE dom ain, ONLY : dom_tile24 USE domtile 25 25 USE sbc_oce ! surface boundary condition: ocean 26 26 USE trc_oce ! share SMS/Ocean variables -
NEMO/trunk/src/OCE/TRD/trdini.F90
r14072 r14090 11 11 !!---------------------------------------------------------------------- 12 12 USE dom_oce ! ocean domain 13 USE dom ain, ONLY : dom_tile13 USE domtile 14 14 USE trd_oce ! trends: ocean variables 15 15 USE trdken ! trends: 3D kinetic energy -
NEMO/trunk/src/OCE/step_oce.F90
r14086 r14090 10 10 USE oce ! ocean dynamics and tracers variables 11 11 USE dom_oce ! ocean space and time domain variables 12 USE dom ain , ONLY : dom_tile12 USE domtile 13 13 14 14 USE daymod ! calendar (day routine)
Note: See TracChangeset
for help on using the changeset viewer.