Changeset 4401


Ignore:
Timestamp:
2014-02-04T13:11:35+01:00 (7 years ago)
Author:
trackstand2
Message:

Put jpkf into traldf_iso and traadv_tvd (inc nonosc)

Location:
branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r3432 r4401  
    130130      END IF 
    131131      ! 
    132       zwi(:,:,:) = 0.e0 
     132      zwi(:,:,1:jpkf) = 0.e0 
    133133      ! 
    134134      !                                                          ! =========== 
     
    137137         ! 1. Bottom value : flux set to zero 
    138138         ! ---------------------------------- 
    139          zwx(:,:,jpk) = 0.e0    ;    zwz(:,:,jpk) = 0.e0 
    140          zwy(:,:,jpk) = 0.e0    ;    zwi(:,:,jpk) = 0.e0 
     139         ! ARPDBG: FINISS was using jpk correct here given that it can be  
     140         ! below the ocean floor?? 
     141         zwx(:,:,jpkf) = 0.e0    ;    zwz(:,:,jpkf) = 0.e0 
     142         zwy(:,:,jpkf) = 0.e0    ;    zwi(:,:,jpkf) = 0.e0 
    141143 
    142144         ! 2. upstream advection with initial mass fluxes & intermediate update 
     
    147149         DO jj = 1, jpjm1 
    148150            DO ji = 1, jpim1 
    149                DO jk = 1, jpkm1 
    150 #else 
    151          DO jk = 1, jpkm1 
     151               DO jk = 1, jpkfm1 
     152#else 
     153         DO jk = 1, jpkfm1 
    152154            DO jj = 1, jpjm1 
    153155               DO ji = 1, fs_jpim1   ! vector opt. 
     
    175177         DO jj = 1, jpj 
    176178            DO ji = 1, jpi 
    177                DO jk = 2, jpkm1 
    178 #else 
    179          DO jk = 2, jpkm1 
     179               DO jk = 2, jpkfm1 
     180#else 
     181         DO jk = 2, jpkfm1 
    180182            DO jj = 1, jpj 
    181183               DO ji = 1, jpi 
     
    194196         DO jj = 2, jpjm1 
    195197            DO ji = 2, jpim1 
    196                DO jk = 1, jpkm1 
     198               DO jk = 1, jpkfm1 
    197199                  z2dtt = p2dt(jk) 
    198200#else 
    199          DO jk = 1, jpkm1 
     201         DO jk = 1, jpkfm1 
    200202            z2dtt = p2dt(jk) 
    201203            DO jj = 2, jpjm1 
     
    223225         IF( l_trd )  THEN  
    224226            ! store intermediate advective trends 
    225             ztrdx(:,:,:) = zwx(:,:,:)   ;    ztrdy(:,:,:) = zwy(:,:,:)  ;   ztrdz(:,:,:) = zwz(:,:,:) 
     227            ztrdx(:,:,1:jpkf) = zwx(:,:,1:jpkf)   ;    ztrdy(:,:,1:jpkf) = zwy(:,:,1:jpkf)  ;   ztrdz(:,:,1:jpkf) = zwz(:,:,1:jpkf) 
    226228         END IF 
    227229         !                                 ! "Poleward" heat and salt transports (contribution of upstream fluxes) 
     
    238240         DO jj = 1, jpjm1 
    239241            DO ji = 1, jpim1 
    240                DO jk = 1, jpkm1 
    241 #else 
    242          DO jk = 1, jpkm1 
     242               DO jk = 1, jpkfm1 
     243#else 
     244         DO jk = 1, jpkfm1 
    243245            DO jj = 1, jpjm1 
    244246               DO ji = 1, fs_jpim1   ! vector opt. 
     
    257259            DO ji = 1, jpi 
    258260               zwz(ji,jj,1) = 0.e0   ! Surface value 
    259                DO jk = 2, jpkm1 
     261               DO jk = 2, jpkfm1 
    260262#else 
    261263         zwz(:,:,1) = 0.e0           ! Surface value 
    262264         ! 
    263          DO jk = 2, jpkm1            ! Interior value 
     265         DO jk = 2, jpkfm1            ! Interior value 
    264266            DO jj = 1, jpj 
    265267               DO ji = 1, jpi 
     
    289291         DO jj = 2, jpjm1 
    290292            DO ji = 2, jpim1 
    291                DO jk = 1, jpkm1 
    292 #else 
    293          DO jk = 1, jpkm1 
     293               DO jk = 1, jpkfm1 
     294#else 
     295         DO jk = 1, jpkfm1 
    294296            DO jj = 2, jpjm1 
    295297               DO ji = fs_2, fs_jpim1   ! vector opt.   
     
    390392      zbig  = 1.e+40_wp 
    391393      zrtrn = 1.e-15_wp 
    392       zbetup(:,:,jpk) = 0._wp   ;   zbetdo(:,:,jpk) = 0._wp 
     394      zbetup(:,:,jpkf) = 0._wp   ;   zbetdo(:,:,jpkf) = 0._wp 
    393395 
    394396 
     
    404406      DO jj = 2, jpjm1 
    405407         DO ji = 2, jpim1 
    406             DO jk = 1, jpkm1 
     408            DO jk = 1, jpkfm1 
    407409               ikm1 = MAX(jk-1,1) 
    408410               z2dtt = p2dt(jk) 
    409411#else 
    410       DO jk = 1, jpkm1 
     412      DO jk = 1, jpkfm1 
    411413         ikm1 = MAX(jk-1,1) 
    412414         z2dtt = p2dt(jk) 
     
    455457      DO jj = 2, jpjm1 
    456458         DO ji = 2, jpim1 
    457             DO jk = 1, jpkm1 
    458 #else 
    459       DO jk = 1, jpkm1 
     459            DO jk = 1, jpkfm1 
     460#else 
     461      DO jk = 1, jpkfm1 
    460462         DO jj = 2, jpjm1 
    461463            DO ji = fs_2, fs_jpim1   ! vector opt. 
  • branches/2011/DEV_r2739_STFC_dCSE/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r3837 r4401  
    168168         !!   I - masked horizontal derivative  
    169169         !!---------------------------------------------------------------------- 
    170          CALL timing_start('traldf_iso_I') 
     170         !CALL timing_start('traldf_iso_I') 
    171171         !!bug ajout.... why?   ( 1,jpj,:) and (jpi,1,:) should be sufficient.... 
    172172#if defined key_z_first 
    173173         DO jj=1,jpj,1 
    174             DO jk=1,jpk,1 
     174            DO jk=1,jpkf,1 
    175175               zdit(1  ,jj,jk) = 0.0_wp 
    176176               zdit(jpi,jj,jk) = 0.0_wp 
     
    180180         END DO 
    181181#else 
    182          zdit (1,:,:) = 0.e0     ;     zdit (jpi,:,:) = 0.e0 
    183          zdjt (1,:,:) = 0.e0     ;     zdjt (jpi,:,:) = 0.e0 
     182         zdit (1,:,1:jpkf) = 0.e0     ;     zdit (jpi,:,1:jpkf) = 0.e0 
     183         zdjt (1,:,1:jpkf) = 0.e0     ;     zdjt (jpi,:,1:jpkf) = 0.e0 
    184184#endif 
    185185         !!end 
     
    189189         DO jj = 1, jpjm1 
    190190            DO ji = 1, jpim1 
    191                DO jk = 1, jpkm1 
    192 #else 
    193          DO jk = 1, jpkm1 
     191               DO jk = 1, jpkfm1 ! jpkm1 
     192#else 
     193         DO jk = 1, jpkfm1 ! jpkm1 
    194194            DO jj = 1, jpjm1 
    195195               DO ji = 1, fs_jpim1   ! vector opt. 
     
    209209         ENDIF 
    210210         ! 
    211          CALL timing_stop('traldf_iso_I','section') 
     211         !CALL timing_stop('traldf_iso_I','section') 
    212212 
    213213         !!---------------------------------------------------------------------- 
    214214         !!   II - horizontal trend  (full) 
    215215         !!---------------------------------------------------------------------- 
    216          CALL timing_start('traldf_iso_II') 
     216         !CALL timing_start('traldf_iso_II') 
    217217#if defined key_z_first 
    218218            ! 1. Vertical tracer gradient at level jk and jk+1 
     
    257257         DO jj = 2 , jpjm1 
    258258            DO ji = 2, jpim1 
    259                DO jk = 1, jpkm1 
     259               DO jk = 1, jpkfm1 ! jpkm1 
    260260 
    261261                  ! 1. Vertical tracer gradient at level jk and jk+1 
     
    325325!CDIR PARALLEL DO PRIVATE( zdk1t )  
    326326         !                                                ! =============== 
    327          DO jk = 1, jpkm1                                 ! Horizontal slab 
     327         DO jk = 1, jpkfm1 ! jpkm1                        ! Horizontal slab 
    328328            !                                             ! =============== 
    329329            ! 1. Vertical tracer gradient at level jk and jk+1 
     
    392392            DO jj = 2, jpjm1 
    393393               DO ji = 2, jpim1 
    394                   DO jk = 1, jpkm1 
    395 #else 
    396             DO jk = 1, jpkm1 
     394                  DO jk = 1, jpkfm1 ! jpkm1 
     395#else 
     396            DO jk = 1, jpkfm1 ! jpkm1 
    397397               DO jj = 2, jpjm1 
    398398                  DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    409409            DO jj = 2, jpjm1 
    410410               DO ji = 2, jpim1 
    411                   DO jk = 1, jpkm1 
    412 #else 
    413             DO jk = 1, jpkm1 
     411                  DO jk = 1, jpkfm1 ! jpkm1 
     412#else 
     413            DO jk = 1, jpkfm1 ! jpkm1 
    414414               DO jj = 2, jpjm1 
    415415                  DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    424424         END IF 
    425425#endif 
    426          CALL timing_stop('traldf_iso_II','section') 
    427  
    428          !!---------------------------------------------------------------------- 
     426         !CALL timing_stop('traldf_iso_II','section') 
     427 
     428         !!-------------------------------------------------------------------- 
    429429         !!   III - vertical trend of T & S (extra diagonal terms only) 
    430          !!---------------------------------------------------------------------- 
    431          CALL timing_start('traldf_iso_III') 
     430         !!-------------------------------------------------------------------- 
     431         !CALL timing_start('traldf_iso_III') 
    432432          
    433433         ! Local constant initialization 
     
    435435#if defined key_z_first 
    436436         DO jj=1,jpj,1 
    437             DO jk=1,jpk,1 
     437            DO jk=1,jpkf,1 
    438438               ztfw(1  ,jj,jk) = 0.0_wp 
    439439               ztfw(jpi,jj,jk) = 0.0_wp 
     
    441441         END DO 
    442442#else 
    443          ztfw(1,:,:) = 0.e0     ;     ztfw(jpi,:,:) = 0.e0 
     443         ztfw(1,:,1:jpkf) = 0.e0     ;     ztfw(jpi,:,1:jpkf) = 0.e0 
    444444#endif 
    445445         ! Vertical fluxes 
     
    451451            DO jj=1,jpj,1 
    452452               ztfw(ji,jj,1  ) = 0.0_wp 
    453                ztfw(ji,jj,jpk) = 0.0_wp 
    454             END DO 
    455          END DO 
    456 #else 
    457          ztfw(:,:, 1 ) = 0.e0      ;      ztfw(:,:,jpk) = 0.e0 
     453               ztfw(ji,jj,jpkf) = 0.0_wp ! ARPDBG - should this be jpk anyway 
     454                                         ! since may be below ocean floor? 
     455            END DO 
     456         END DO 
     457#else 
     458         ztfw(:,:, 1 ) = 0.e0      ;      ztfw(:,:,jpkf) = 0.e0 
    458459#endif 
    459460 
     
    462463         DO jj = 2, jpjm1 
    463464            DO ji = 2, jpim1 
    464                DO jk = 2, jpkm1 
    465 #else 
    466          DO jk = 2, jpkm1 
     465               DO jk = 2, jpkfm1 
     466#else 
     467         DO jk = 2, jpkfm1 
    467468            DO jj = 2, jpjm1 
    468469               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    492493         DO jj = 2, jpjm1 
    493494            DO ji = 2, jpim1 
    494                DO jk = 1, jpkm1 
    495 #else 
    496          DO jk = 1, jpkm1 
     495               DO jk = 1, jpkfm1 
     496#else 
     497         DO jk = 1, jpkfm1 
    497498            DO jj = 2, jpjm1 
    498499               DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    506507         ! 
    507508 
    508          CALL timing_stop('traldf_iso_III','section') 
     509         !CALL timing_stop('traldf_iso_III','section') 
    509510 
    510511      END DO 
Note: See TracChangeset for help on using the changeset viewer.