Changeset 3294 for trunk/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
- Timestamp:
- 2012-01-28T17:44:18+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r2528 r3294 22 22 USE iom 23 23 USE in_out_manager 24 USE trcsub 24 25 25 26 IMPLICIT NONE … … 27 28 28 29 PUBLIC trc_stp ! called by step 29 30 31 !! * Substitutions 32 # include "domzgr_substitute.h90" 30 33 !!---------------------------------------------------------------------- 31 34 !! NEMO/TOP 3.3 , NEMO Consortium (2010) … … 45 48 !! Update the passive tracers 46 49 !!------------------------------------------------------------------- 47 INTEGER, INTENT( in ) :: kt ! ocean time-step index 50 INTEGER, INTENT( in ) :: kt ! ocean time-step index 51 INTEGER :: jk, jn ! dummy loop indices 52 REAL(wp) :: ztrai 48 53 CHARACTER (len=25) :: charout 49 54 !!------------------------------------------------------------------- 55 ! 56 IF( nn_timing == 1 ) CALL timing_start('trc_stp') 57 ! 58 IF( kt == nittrc000 ) THEN 59 CALL iom_close( numrtr ) ! close input passive tracers restart file 60 IF( lk_trdmld_trc ) CALL trd_mld_trc_init ! trends: Mixed-layer 61 ENDIF 62 ! 63 IF( lk_vvl ) THEN ! update ocean volume due to ssh temporal evolution 64 DO jk = 1, jpk 65 cvol(:,:,jk) = e1e2t(:,:) * fse3t(:,:,jk) * tmask(:,:,jk) 66 END DO 67 IF( lk_degrad ) cvol(:,:,:) = cvol(:,:,:) * facvol(:,:,:) ! degrad option: reduction by facvol 68 areatot = glob_sum( cvol(:,:,:) ) 69 ENDIF 70 ! 71 IF( nn_dttrc /= 1 ) CALL trc_sub_stp( kt ) ! averaging physical variables for sub-stepping 50 72 51 IF( MOD( kt - 1, nn_dttrc ) == 0 ) THEN ! only every nn_dttrc time step73 IF( MOD( kt , nn_dttrc ) == 0 ) THEN ! only every nn_dttrc time step 52 74 ! 53 75 IF(ln_ctl) THEN … … 58 80 tra(:,:,:,:) = 0.e0 59 81 ! 60 IF( kt == nit000 .AND. lk_trdmld_trc ) & 61 & CALL trd_mld_trc_init ! trends: Mixed-layer 62 CALL trc_rst_opn( kt ) ! Open tracer restart file 63 IF( lk_iomput ) THEN ; CALL trc_wri( kt ) ! output of passive tracers 64 ELSE ; CALL trc_dia( kt ) 82 CALL trc_rst_opn ( kt ) ! Open tracer restart file 83 IF( lk_iomput ) THEN ; CALL trc_wri ( kt ) ! output of passive tracers with iom I/O manager 84 ELSE ; CALL trc_dia ( kt ) ! output of passive tracers with old I/O manager 65 85 ENDIF 66 CALL trc_sms( kt ) ! tracers: sink and source 67 CALL trc_trp( kt ) ! transport of passive tracers 68 IF( kt == nit000 ) CALL iom_close( numrtr ) ! close input passive tracers restart file 69 IF( lrst_trc ) CALL trc_rst_wri( kt ) ! write tracer restart file 70 IF( lk_trdmld_trc ) CALL trd_mld_trc( kt ) ! trends: Mixed-layer 86 CALL trc_sms ( kt ) ! tracers: sinks and sources 87 CALL trc_trp ( kt ) ! transport of passive tracers 88 IF( lrst_trc ) CALL trc_rst_wri ( kt ) ! write tracer restart file 89 IF( lk_trdmld_trc ) CALL trd_mld_trc ( kt ) ! trends: Mixed-layer 90 ! 91 IF( nn_dttrc /= 1 ) CALL trc_sub_reset( kt ) ! resetting physical variables when sub-stepping 71 92 ! 72 93 ENDIF 73 94 ! 95 ztrai = 0._wp ! content of all tracers 96 DO jn = 1, jptra 97 ztrai = ztrai + glob_sum( trn(:,:,:,jn) * cvol(:,:,:) ) 98 END DO 99 IF( lwp ) WRITE(numstr,9300) kt, ztrai / areatot 100 9300 FORMAT(i10,e18.10) 101 ! 102 IF( nn_timing == 1 ) CALL timing_stop('trc_stp') 103 ! 74 104 END SUBROUTINE trc_stp 75 105
Note: See TracChangeset
for help on using the changeset viewer.