Changeset 2007 for branches/DEV_r1879_FCM/NEMOGCM/NEMO/TOP_SRC/trcwri.F90
- Timestamp:
- 2010-07-13T17:14:39+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r1879_FCM/NEMOGCM/NEMO/TOP_SRC/trcwri.F90
r1656 r2007 1 1 MODULE trcwri 2 !!====================================================================== 2 !!=================================================================================== 3 3 !! *** MODULE trcwri *** 4 !! TOP : Output of passive tracers 5 !!====================================================================== 6 !! 1.0 !7 !! ! 20 09-05 (C. Ethe )4 !! TOP : Output of passive tracers 5 !!==================================================================================== 6 !! History : 1.0 ! 2009-05 (C. Ethe) Original code 7 !! ! 2010-03 (C. Ethe, R. Seferian ) Add the tracer transport trends 8 8 !!---------------------------------------------------------------------- 9 9 #if defined key_top && defined key_iomput … … 11 11 !! 'key_top' && 'key_iomput' TOP models 12 12 !!---------------------------------------------------------------------- 13 !! trc_wri : outputs of concentration fields 13 !! trc_wri_trc : outputs of concentration fields 14 !! trc_wri_trd : outputs of transport trends 14 15 !!---------------------------------------------------------------------- 16 USE dom_oce ! ocean space and time domain variables 17 USE oce_trc 18 USE trp_trc 15 19 USE trc 20 USE trdmld_trc_oce, ONLY : luttrd 16 21 USE iom 17 22 #if defined key_off_tra … … 35 40 CONTAINS 36 41 37 SUBROUTINE trc_wri( kt ) 42 SUBROUTINE trc_wri( kt ) 38 43 !!--------------------------------------------------------------------- 39 44 !! *** ROUTINE trc_wri *** 45 !! 46 !! ** Purpose : output passive tracers fields and dynamical trends 47 !!--------------------------------------------------------------------- 48 INTEGER, INTENT( in ) :: kt 49 !!--------------------------------------------------------------------- 50 51 ! 52 CALL iom_setkt ( kt + ndttrc - 1 ) ! set the passive tracer time step 53 CALL trc_wri_trc( kt ) ! outputs for tracer concentration 54 CALL trc_wri_trd( kt ) ! outputs for dynamical trends 55 CALL iom_setkt ( kt ) ! set the model time step 56 ! 57 END SUBROUTINE trc_wri 58 59 SUBROUTINE trc_wri_trc( kt ) 60 !!--------------------------------------------------------------------- 61 !! *** ROUTINE trc_wri_trc *** 40 62 !! 41 63 !! ** Purpose : output passive tracers fields … … 43 65 INTEGER, INTENT( in ) :: kt ! ocean time-step 44 66 INTEGER :: jn 45 CHARACTER (len=20) :: cltra 67 CHARACTER (len=20) :: cltra, cltras 46 68 #if defined key_off_tra 47 69 CHARACTER (len=40) :: clhstnam 48 70 INTEGER :: inum = 11 ! temporary logical unit 49 71 #endif 50 51 72 !!--------------------------------------------------------------------- 52 73 53 ! Initialisation54 ! --------------55 56 CALL iom_setkt( kt + ndttrc - 1 ) ! set the passive tracer time step57 58 74 #if defined key_off_tra 59 75 IF( kt == nittrc000 ) THEN … … 67 83 ENDIF 68 84 #endif 69 70 71 85 ! write the tracer concentrations in the file 72 86 ! --------------------------------------- … … 76 90 END DO 77 91 ! 78 CALL iom_setkt( kt ) ! set the model time step92 END SUBROUTINE trc_wri_trc 79 93 94 # if defined key_trc_diatrd 95 96 SUBROUTINE trc_wri_trd( kt ) 97 !!---------------------------------------------------------------------- 98 !! *** ROUTINE trc_wri_trd *** 99 !! 100 !! ** Purpose : output of passive tracer : advection-diffusion trends 101 !! 102 !!---------------------------------------------------------------------- 103 INTEGER, INTENT( in ) :: kt ! ocean time-step 104 !! 105 CHARACTER (len=3) :: cltra 106 INTEGER :: jn, jl, ikn 107 !!---------------------------------------------------------------------- 108 109 DO jn = 1, jptra 110 IF( luttrd(jn) ) THEN 111 ikn = ikeep(jn) 112 DO jl = 1, jpdiatrc 113 IF( jl == jptrc_xad ) WRITE (cltra,"(3a)") 'XAD' ! x advection for tracer 114 IF( jl == jptrc_yad ) WRITE (cltra,"(3a)") 'YAD' ! y advection for tracer 115 IF( jl == jptrc_zad ) WRITE (cltra,"(3a)") 'ZAD' ! z advection for tracer 116 IF( jl == jptrc_xdf ) WRITE (cltra,"(3a)") 'XDF' ! x diffusion for tracer 117 IF( jl == jptrc_ydf ) WRITE (cltra,"(3a)") 'YDF' ! y diffusion for tracer 118 IF( jl == jptrc_zdf ) WRITE (cltra,"(3a)") 'ZDF' ! z diffusion for tracer 119 # if defined key_trcldf_eiv 120 IF( jl == jptrc_xei ) WRITE (cltra,"(3a)") 'XGV' ! x gent velocity for tracer 121 IF( jl == jptrc_yei ) WRITE (cltra,"(3a)") 'YGV' ! y gent velocity for tracer 122 IF( jl == jptrc_zei ) WRITE (cltra,"(3a)") 'ZGV' ! z gent velocity for tracer 123 # endif 124 # if defined key_trcdmp 125 IF( jl == jptrc_dmp ) WRITE (cltra,"(3a)") 'DMP' ! damping 126 # endif 127 IF( jl == jptrc_sbc ) WRITE (cltra,"(3a)") 'SBC' ! surface boundary conditions 128 ! write the trends 129 CALL iom_put( cltra, trtrd(:,:,:,ikn,jl) ) 130 END DO 131 END IF 132 END DO 80 133 ! 81 END SUBROUTINE trc_wri 134 END SUBROUTINE trc_wri_trd 82 135 136 # else 137 SUBROUTINE trc_wri_trd( kt ) ! Dummy routine 138 INTEGER, INTENT ( in ) :: kt 139 END SUBROUTINE trc_wri_trd 140 #endif 83 141 #else 84 142 !!---------------------------------------------------------------------- … … 90 148 INTEGER, INTENT(in) :: kt 91 149 END SUBROUTINE trc_wri 92 93 150 #endif 94 151
Note: See TracChangeset
for help on using the changeset viewer.