Changeset 2528 for trunk/NEMOGCM/NEMO/OPA_SRC/TRD/trdicp.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/trdicp.F90
- Property svn:eol-style deleted
r1708 r2528 4 4 !! Ocean diagnostics: ocean tracers and dynamic trends 5 5 !!===================================================================== 6 !! History : ! 91-12 (G. Madec) 7 !! ! 92-06 (M. Imbard) add time step frequency 8 !! ! 96-01 (G. Madec) terrain following coordinates 9 !! 8.5 ! 02-06 (G. Madec) F90: Free form and module 10 !! 9.0 ! 04-08 (C. Talandier) New trends organization 6 !! History : 1.0 ! 2004-08 (C. Talandier) New trends organization 11 7 !!---------------------------------------------------------------------- 12 8 #if defined key_trdtra || defined key_trddyn || defined key_esopa … … 14 10 !! 'key_trdtra' or active tracers trends diagnostics 15 11 !! 'key_trddyn' momentum trends diagnostics 16 !!----------------------------------------------------------------------17 12 !!---------------------------------------------------------------------- 18 13 !! trd_icp : compute the basin averaged properties for tra/dyn … … 48 43 # include "vectopt_loop_substitute.h90" 49 44 !!---------------------------------------------------------------------- 50 !! OPA 9.0 , LOCEAN-IPSL (2005)51 !! $Id$ 52 !! Software governed by the CeCILL licence ( modipsl/doc/NEMO_CeCILL.txt)45 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 46 !! $Id$ 47 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 53 48 !!---------------------------------------------------------------------- 54 49 55 50 CONTAINS 56 51 57 SUBROUTINE trd_2d( ptrd2dx, ptrd2dy, ktrd , ctype , clpas)52 SUBROUTINE trd_2d( ptrd2dx, ptrd2dy, ktrd , ctype ) 58 53 !!--------------------------------------------------------------------- 59 54 !! *** ROUTINE trd_2d *** … … 66 61 INTEGER , INTENT(in ) :: ktrd ! tracer trend index 67 62 CHARACTER(len=3) , INTENT(in ) :: ctype ! momentum ('DYN') or tracers ('TRA') trends 68 CHARACTER(len=3) , INTENT(in ), OPTIONAL :: clpas ! number of passage69 63 !! 70 64 INTEGER :: ji, jj ! loop indices 71 CHARACTER(len=3) :: cpas ! number of passage72 65 REAL(wp) :: zmsku, zbtu, zbt ! temporary scalars 73 66 REAL(wp) :: zmskv, zbtv ! " " 74 67 !!---------------------------------------------------------------------- 75 68 76 ! Control of optional arguments77 cpas = 'fst'78 IF( PRESENT(clpas) ) cpas = clpas79 69 80 70 ! 1. Mask trends … … 123 113 ! 124 114 CASE( 'TRA' ) ! Tracers 125 IF( cpas == 'fst' ) THEN 126 tmo(ktrd) = 0.e0 127 smo(ktrd) = 0.e0 128 ENDIF 115 tmo(ktrd) = 0.e0 116 smo(ktrd) = 0.e0 129 117 DO jj = 1, jpj 130 118 DO ji = 1, jpi … … 156 144 ! 157 145 CASE( 'TRA' ) ! Tracers 158 IF( cpas == 'fst' ) THEN 159 t2(ktrd) = 0.e0 160 s2(ktrd) = 0.e0 161 ENDIF 146 t2(ktrd) = 0.e0 147 s2(ktrd) = 0.e0 162 148 DO jj = 1, jpj 163 149 DO ji = 1, jpi … … 173 159 174 160 175 SUBROUTINE trd_3d( ptrd3dx, ptrd3dy, ktrd, ctype , clpas)161 SUBROUTINE trd_3d( ptrd3dx, ptrd3dy, ktrd, ctype ) 176 162 !!--------------------------------------------------------------------- 177 163 !! *** ROUTINE trd_3d *** … … 184 170 INTEGER, INTENT(in ) :: ktrd ! momentum or tracer trend index 185 171 CHARACTER(len=3), INTENT(in ) :: ctype ! momentum ('DYN') or tracers ('TRA') trends 186 CHARACTER(len=3), INTENT(in ), OPTIONAL :: clpas ! number of passage187 172 !! 188 173 INTEGER :: ji, jj, jk 189 CHARACTER(len=3) :: cpas ! number of passage190 174 REAL(wp) :: zbt, zbtu, zbtv, zmsku, zmskv ! temporary scalars 191 175 !!---------------------------------------------------------------------- 192 193 ! Control of optional arguments194 cpas = 'fst'195 IF( PRESENT(clpas) ) cpas = clpas196 176 197 177 ! 1. Mask the trends … … 242 222 ! 243 223 CASE( 'TRA' ) ! Tracers 244 IF( cpas == 'fst' ) THEN 245 tmo(ktrd) = 0.e0 246 smo(ktrd) = 0.e0 247 ENDIF 224 tmo(ktrd) = 0.e0 225 smo(ktrd) = 0.e0 248 226 DO jk = 1, jpkm1 249 227 DO jj = 1, jpj … … 279 257 ! 280 258 CASE( 'TRA' ) ! Tracers 281 IF( cpas == 'fst' ) THEN 282 t2(ktrd) = 0.e0 283 s2(ktrd) = 0.e0 284 ENDIF 259 t2(ktrd) = 0.e0 260 s2(ktrd) = 0.e0 285 261 DO jk = 1, jpk 286 262 DO jj = 1, jpj … … 389 365 zkepe(:,:,:) = 0.e0 390 366 391 CALL eos( t n,sn, rhd, rhop ) ! now potential and in situ densities367 CALL eos( tsn, rhd, rhop ) ! now potential and in situ densities 392 368 393 369 ! Density flux at w-point … … 600 576 WRITE (numout,*) 601 577 WRITE (numout,9400) kt 602 WRITE (numout,9401) (tmo(jpicpt_xad)+tmo(jpicpt_yad))/ tvolt, (smo(jpicpt_xad)+smo(jpicpt_yad))/ tvolt 578 WRITE (numout,9401) tmo(jpicpt_xad) / tvolt, smo(jpicpt_xad) / tvolt 579 WRITE (numout,9411) tmo(jpicpt_yad) / tvolt, smo(jpicpt_yad) / tvolt 603 580 WRITE (numout,9402) tmo(jpicpt_zad) / tvolt, smo(jpicpt_zad) / tvolt 604 581 WRITE (numout,9403) tmo(jpicpt_ldf) / tvolt, smo(jpicpt_ldf) / tvolt … … 617 594 9400 FORMAT(' tracer trend at it= ',i6,' : temperature', & 618 595 ' salinity',/' ============================') 619 9401 FORMAT(' horizontal advection ',e20.13,' ',e20.13) 596 9401 FORMAT(' zonal advection ',e20.13,' ',e20.13) 597 9411 FORMAT(' meridional advection ',e20.13,' ',e20.13) 620 598 9402 FORMAT(' vertical advection ',e20.13,' ',e20.13) 621 599 9403 FORMAT(' horizontal diffusion ',e20.13,' ',e20.13) … … 633 611 WRITE (numout,*) 634 612 WRITE (numout,9420) kt 635 WRITE (numout,9421) ( t2(jpicpt_xad)+t2(jpicpt_yad) )/ tvolt, ( s2(jpicpt_xad)+s2(jpicpt_yad) )/ tvolt 613 WRITE (numout,9421) t2(jpicpt_xad) / tvolt, s2(jpicpt_xad) / tvolt 614 WRITE (numout,9431) t2(jpicpt_yad) / tvolt, s2(jpicpt_yad) / tvolt 636 615 WRITE (numout,9422) t2(jpicpt_zad) / tvolt, s2(jpicpt_zad) / tvolt 637 616 WRITE (numout,9423) t2(jpicpt_ldf) / tvolt, s2(jpicpt_ldf) / tvolt … … 650 629 9420 FORMAT(' tracer**2 trend at it= ', i6, ' : temperature', & 651 630 ' salinity', /, ' ===============================') 652 9421 FORMAT(' horizontal advection * t ', e20.13, ' ', e20.13) 631 9421 FORMAT(' zonal advection * t ', e20.13, ' ', e20.13) 632 9431 FORMAT(' meridional advection * t ', e20.13, ' ', e20.13) 653 633 9422 FORMAT(' vertical advection * t ', e20.13, ' ', e20.13) 654 634 9423 FORMAT(' horizontal diffusion * t ', e20.13, ' ', e20.13) … … 705 685 706 686 CONTAINS 707 SUBROUTINE trd_2d( ptrd2dx, ptrd2dy, ktrd , ctype , clpas) ! Empty routine687 SUBROUTINE trd_2d( ptrd2dx, ptrd2dy, ktrd , ctype ) ! Empty routine 708 688 REAL, DIMENSION(:,:) :: ptrd2dx, ptrd2dy 709 689 INTEGER , INTENT(in ) :: ktrd ! tracer trend index 710 690 CHARACTER(len=3) , INTENT(in ) :: ctype ! momentum ('DYN') or tracers ('TRA') trends 711 CHARACTER(len=3), INTENT(in), OPTIONAL :: clpas ! number of passage712 691 WRITE(*,*) 'trd_2d: You should not have seen this print! error ?', & 713 & ptrd2dx(1,1), ptrd2dy(1,1), ktrd, ctype , clpas692 & ptrd2dx(1,1), ptrd2dy(1,1), ktrd, ctype 714 693 END SUBROUTINE trd_2d 715 SUBROUTINE trd_3d( ptrd3dx, ptrd3dy, ktrd , ctype , clpas) ! Empty routine694 SUBROUTINE trd_3d( ptrd3dx, ptrd3dy, ktrd , ctype ) ! Empty routine 716 695 REAL, DIMENSION(:,:,:) :: ptrd3dx, ptrd3dy 717 696 INTEGER , INTENT(in ) :: ktrd ! tracer trend index 718 697 CHARACTER(len=3) , INTENT(in ) :: ctype ! momentum ('DYN') or tracers ('TRA') trends 719 CHARACTER(len=3), INTENT(in), OPTIONAL :: clpas ! number of passage720 698 WRITE(*,*) 'trd_3d: You should not have seen this print! error ?', & 721 & ptrd3dx(1,1,1), ptrd3dy(1,1,1), ktrd, ctype , clpas699 & ptrd3dx(1,1,1), ptrd3dy(1,1,1), ktrd, ctype 722 700 END SUBROUTINE trd_3d 723 701 SUBROUTINE trd_icp_init ! Empty routine
Note: See TracChangeset
for help on using the changeset viewer.