Changeset 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/TRD/trdmod.F90
- Timestamp:
- 2010-12-27T18:33:53+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRD/trdmod.F90
- Property svn:eol-style deleted
r1708 r2528 4 4 !! Ocean diagnostics: ocean tracers and dynamic trends 5 5 !!===================================================================== 6 !! History : 9.0 ! 04-08 (C. Talandier) Original code 7 !! ! 05-04 (C. Deltel) Add Asselin trend in the ML budget 6 !! History : 1.0 ! 2004-08 (C. Talandier) Original code 7 !! - ! 2005-04 (C. Deltel) Add Asselin trend in the ML budget 8 !! 3.3 ! 2010-10 (C. Ethe, G. Madec) reorganisation of initialisation phase 8 9 !!---------------------------------------------------------------------- 9 10 #if defined key_trdtra || defined key_trddyn || defined key_trdmld || defined key_trdvor || defined key_esopa … … 36 37 # include "vectopt_loop_substitute.h90" 37 38 !!---------------------------------------------------------------------- 38 !! OPA 9.0 , LOCEAN-IPSL (2005)39 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 39 40 !! $Id$ 40 !! Software governed by the CeCILL licence ( modipsl/doc/NEMO_CeCILL.txt)41 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 41 42 !!---------------------------------------------------------------------- 42 43 43 44 CONTAINS 44 45 45 SUBROUTINE trd_mod( ptrdx, ptrdy, ktrd, ctype, kt , cnbpas)46 SUBROUTINE trd_mod( ptrdx, ptrdy, ktrd, ctype, kt ) 46 47 !!--------------------------------------------------------------------- 47 48 !! *** ROUTINE trd_mod *** … … 53 54 INTEGER, INTENT( in ) :: ktrd ! tracer trend index 54 55 CHARACTER(len=3), INTENT( in ) :: ctype ! momentum or tracers trends type 'DYN'/'TRA' 55 CHARACTER(len=3), INTENT( in ), OPTIONAL :: cnbpas ! number of passage56 56 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) :: ptrdx ! Temperature or U trend 57 57 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) :: ptrdy ! Salinity or V trend 58 58 !! 59 59 INTEGER :: ji, jj 60 CHARACTER(len=3) :: ccpas ! number of passage61 60 REAL(wp), DIMENSION(jpi,jpj) :: ztswu, ztswv ! 2D workspace 62 61 REAL(wp), DIMENSION(jpi,jpj) :: ztbfu, ztbfv ! 2D workspace … … 65 64 66 65 z2dx(:,:) = 0.e0 ; z2dy(:,:) = 0.e0 ! initialization of workspace arrays 67 68 ! Control of optional arguments69 ccpas = 'fst'70 IF( PRESENT(cnbpas) ) ccpas = cnbpas71 66 72 67 IF( neuler == 0 .AND. kt == nit000 ) THEN ; r2dt = rdt ! = rdtra (restarting with Euler time stepping) … … 95 90 CASE ( jptra_trd_yad ) ; CALL trd_icp( ptrdx, ptrdy, jpicpt_yad, ctype ) ! y- horiz adv 96 91 CASE ( jptra_trd_zad ) ! z- vertical adv 97 CALL trd_icp( ptrdx, ptrdy, jpicpt_zad, ctype , clpas=ccpas)92 CALL trd_icp( ptrdx, ptrdy, jpicpt_zad, ctype ) 98 93 ! compute the surface flux condition wn(:,:,1)*tn(:,:,1) 99 94 z2dx(:,:) = wn(:,:,1)*tn(:,:,1)/fse3t(:,:,1) … … 222 217 223 218 ENDIF 224 219 ! 225 220 END SUBROUTINE trd_mod 226 221 227 # 222 #else 228 223 !!---------------------------------------------------------------------- 229 224 !! Default case : Empty module … … 235 230 236 231 CONTAINS 237 SUBROUTINE trd_mod(ptrd3dx, ptrd3dy, ktrd , ctype, kt, cnbpas) ! Empty routine 238 REAL, DIMENSION(:,:,:), INTENT( in ) :: & 239 ptrd3dx, & ! Temperature or U trend 240 ptrd3dy ! Salinity or V trend 241 INTEGER, INTENT( in ) :: ktrd ! momentum or tracer trend index 242 INTEGER, INTENT( in ) :: kt ! Time step 243 CHARACTER(len=3), INTENT( in ) :: ctype ! momentum or tracers trends type 244 CHARACTER(len=3), INTENT( in ), OPTIONAL :: cnbpas ! number of passage 245 WRITE(*,*) 'trd_3d: You should not have seen this print! error ?', ptrd3dx(1,1,1) 246 WRITE(*,*) ' " ": You should not have seen this print! error ?', ptrd3dy(1,1,1) 247 WRITE(*,*) ' " ": You should not have seen this print! error ?', ktrd 248 WRITE(*,*) ' " ": You should not have seen this print! error ?', ctype 249 WRITE(*,*) ' " ": You should not have seen this print! error ?', kt 250 WRITE(*,*) ' " ": You should not have seen this print! error ?', cnbpas 232 SUBROUTINE trd_mod(ptrd3dx, ptrd3dy, ktrd , ctype, kt ) ! Empty routine 233 REAL :: ptrd3dx(:,:,:), ptrd3dy(:,:,:) 234 INTEGER :: ktrd, kt 235 CHARACTER(len=3) :: ctype 236 WRITE(*,*) 'trd_3d: You should not have seen this print! error ?', ptrd3dx(1,1,1), ptrd3dy(1,1,1) 237 WRITE(*,*) ' " ": You should not have seen this print! error ?', ktrd, ctype, kt 251 238 END SUBROUTINE trd_mod 252 # 239 #endif 253 240 254 241 SUBROUTINE trd_mod_init … … 259 246 !!---------------------------------------------------------------------- 260 247 USE in_out_manager ! I/O manager 261 248 !! 262 249 NAMELIST/namtrd/ nn_trd, nn_ctls, cn_trdrst_in, cn_trdrst_out, ln_trdmld_restart, rn_ucf, ln_trdmld_instant 263 250 !!----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.