- Timestamp:
- 2020-09-24T20:42:25+02:00 (5 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/ZDF/zdfosm.F90
r13295 r13517 44 44 ! uses ww from previous time step (which is now wb) to calculate hbl 45 45 USE dom_oce ! ocean space and time domain 46 ! TEMP: This change not necessary after trd_tra is tiled 47 USE domain, ONLY : dom_tile 46 48 USE zdf_oce ! ocean vertical physics 47 49 USE sbc_oce ! surface boundary condition: ocean … … 1496 1498 !!----------------------------------------------------------------------------- 1497 1499 IF( TRIM(cdrw) == 'WRITE') THEN !* Write hbli into the restart file, then return 1500 IF( ntile /= 0 .AND. ntile /= nijtile ) RETURN ! Do only on the last tile 1501 1498 1502 IF(lwp) WRITE(numout,*) '---- osm-rst ----' 1499 1503 CALL iom_rstput( kt, nitrst, numrow, 'wn' , ww , ldxios = lwxios ) … … 1541 1545 !! ** Method : ??? 1542 1546 !!---------------------------------------------------------------------- 1543 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrdt, ztrds ! 3D workspace 1547 ! TEMP: This change not necessary after trd_tra is tiled 1548 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, SAVE :: ztrdt, ztrds ! 3D workspace 1544 1549 !!---------------------------------------------------------------------- 1545 1550 INTEGER , INTENT(in) :: kt ! time step index … … 1550 1555 ! 1551 1556 IF( kt == nit000 ) THEN 1552 IF(lwp) WRITE(numout,*) 1553 IF(lwp) WRITE(numout,*) 'tra_osm : OSM non-local tracer fluxes' 1554 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 1557 IF( ntile == 0 .OR. ntile == 1 ) THEN ! Do only on the first tile 1558 IF(lwp) WRITE(numout,*) 1559 IF(lwp) WRITE(numout,*) 'tra_osm : OSM non-local tracer fluxes' 1560 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 1561 ENDIF 1555 1562 ENDIF 1556 1563 1557 1564 IF( l_trdtra ) THEN !* Save ta and sa trends 1558 ALLOCATE( ztrdt(jpi,jpj,jpk) ) ; ztrdt(:,:,:) = pts(:,:,:,jp_tem,Krhs) 1559 ALLOCATE( ztrds(jpi,jpj,jpk) ) ; ztrds(:,:,:) = pts(:,:,:,jp_sal,Krhs) 1565 IF( ntile == 0 .OR. ntile == 1 ) THEN ! Do only on the first tile 1566 ! TEMP: This can be ST_2D(nn_hls) after trd_tra is tiled 1567 ALLOCATE( ztrdt(jpi,jpj,jpk), ztrds(jpi,jpj,jpk) ) 1568 ENDIF 1569 1570 DO_3D( 0, 0, 0, 0, 1, jpk ) 1571 ztrdt(ji,jj,jk) = pts(ji,jj,jk,jp_tem,Krhs) 1572 ztrds(ji,jj,jk) = pts(ji,jj,jk,jp_sal,Krhs) 1573 END_3D 1560 1574 ENDIF 1561 1575 … … 1570 1584 END_3D 1571 1585 1572 1586 ! TEMP: These changes not necessary after trd_tra is tiled 1573 1587 ! save the non-local tracer flux trends for diagnostic 1574 1588 IF( l_trdtra ) THEN 1575 ztrdt(:,:,:) = pts(:,:,:,jp_tem,Krhs) - ztrdt(:,:,:) 1576 ztrds(:,:,:) = pts(:,:,:,jp_sal,Krhs) - ztrds(:,:,:) 1589 DO_3D( 0, 0, 0, 0, 1, jpk ) 1590 ztrdt(ji,jj,jk) = pts(ji,jj,jk,jp_tem,Krhs) - ztrdt(ji,jj,jk) 1591 ztrds(ji,jj,jk) = pts(ji,jj,jk,jp_sal,Krhs) - ztrds(ji,jj,jk) 1592 END_3D 1593 1594 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only for the full domain 1595 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 0 ) ! Use full domain 1596 1577 1597 !!bug gm jpttdzdf ==> jpttosm 1578 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) 1579 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_zdf, ztrds ) 1580 DEALLOCATE( ztrdt ) ; DEALLOCATE( ztrds ) 1598 ! TODO: TO BE TILED- trd_tra 1599 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) 1600 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_zdf, ztrds ) 1601 DEALLOCATE( ztrdt ) ; DEALLOCATE( ztrds ) 1602 1603 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = nijtile ) ! Revert to tile domain 1604 ENDIF 1581 1605 ENDIF 1582 1606
Note: See TracChangeset
for help on using the changeset viewer.