Changeset 5141


Ignore:
Timestamp:
2015-03-11T12:44:11+01:00 (6 years ago)
Author:
cetlod
Message:

dev_r5020_CNRS_DIAPTR : minor corrections on diaptr module, see ticket #1435

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r5137 r5141  
    2020   USE oce              ! ocean dynamics and active tracers 
    2121   USE dom_oce          ! ocean space and time domain 
    22    USE domngb 
    2322   USE phycst           ! physical constants 
    2423   ! 
     
    4847   LOGICAL, PUBLIC ::   ln_subbas   !  Atlantic/Pacific/Indian basins calculation 
    4948   INTEGER         ::   nptr        ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T)  
    50    INTEGER         ::   nx, ny  
    5149 
    5250   REAL(wp) ::   rc_sv    = 1.e-6_wp   ! conversion from m3/s to Sverdrup 
     
    9290      IF( PRESENT( pvtr ) ) THEN 
    9391         IF( iom_use("zomsfglo") ) THEN    ! effective MSF 
    94             z3d(nx,:,:) = ptr_sjk( pvtr(:,:,:) )  ! zonal cumulative effective transport 
     92            z3d(1,:,:) = ptr_sjk( pvtr(:,:,:) )  ! zonal cumulative effective transport 
    9593            DO jk = 2, jpkm1  
    96               z3d(nx,:,jk) = z3d(nx,:,jk-1) + z3d(nx,:,jk)   ! effective j-Stream-Function (MSF) 
    97            END DO 
     94              z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     95            END DO 
     96            DO ji = 1, jpi 
     97               z3d(ji,:,:) = z3d(1,:,:) 
     98            ENDDO 
    9899            cl1 = TRIM('zomsf'//clsubb(1) ) 
    99100            CALL iom_put( cl1, z3d * rc_sv ) 
    100101            DO jn = 2, nptr                                    ! by sub-basins 
    101                z3d(nx,:,:) =  ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn)*btm30(:,:) )  
     102               z3d(1,:,:) =  ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn)*btm30(:,:) )  
    102103               DO jk = 2, jpkm1  
    103                   z3d(nx,:,jk) = z3d(nx,:,jk-1) + z3d(nx,:,jk)    ! effective j-Stream-Function (MSF) 
     104                  z3d(1,:,jk) = z3d(1,:,jk-1) + z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
    104105               END DO 
     106               DO ji = 1, jpi 
     107                  z3d(ji,:,:) = z3d(1,:,:) 
     108               ENDDO 
    105109               cl1 = TRIM('zomsf'//clsubb(jn) ) 
    106110               CALL iom_put( cl1, z3d * rc_sv ) 
     
    126130               CALL iom_put( cl1, zmask ) 
    127131               ! 
    128                z3d(nx,:,:) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) & 
     132               z3d(1,:,:) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) & 
    129133                  &            / MAX( zmask(1,:,:), 10.e-15 ) 
     134               DO ji = 1, jpi 
     135                  z3d(ji,:,:) = z3d(1,:,:) 
     136               ENDDO 
    130137               cl1 = TRIM('zotem'//clsubb(jn) ) 
    131138               CALL iom_put( cl1, z3d ) 
    132139               ! 
    133                z3d(nx,:,:) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) & 
     140               z3d(1,:,:) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) & 
    134141                  &            / MAX( zmask(1,:,:), 10.e-15 ) 
     142               DO ji = 1, jpi 
     143                  z3d(ji,:,:) = z3d(1,:,:) 
     144               ENDDO 
    135145               cl1 = TRIM('zosal'//clsubb(jn) ) 
    136146               CALL iom_put( cl1, z3d ) 
     
    140150         !                                ! Advective and diffusive heat and salt transport 
    141151         IF( iom_use("sophtadv") .OR. iom_use("sopstadv") ) THEN    
    142             z2d(nx,:) = htr_adv(:) * rc_pwatt        !  (conversion in PW) 
     152            z2d(1,:) = htr_adv(:) * rc_pwatt        !  (conversion in PW) 
     153            DO ji = 1, jpi 
     154               z2d(ji,:) = z2d(1,:) 
     155            ENDDO 
    143156            cl1 = 'sophtadv'                  
    144             !IF(lwp) write(numout,*) ' sophtadv : ',(z2d(nx,jj), jj=1,jpj) 
    145157            CALL iom_put( TRIM(cl1), z2d ) 
    146             z2d(nx,:) = str_adv(:) * rc_ggram        ! (conversion in Gg) 
     158            z2d(1,:) = str_adv(:) * rc_ggram        ! (conversion in Gg) 
     159            DO ji = 1, jpi 
     160               z2d(ji,:) = z2d(1,:) 
     161            ENDDO 
    147162            cl1 = 'sopstadv' 
    148163            CALL iom_put( TRIM(cl1), z2d ) 
     
    150165         ! 
    151166         IF( iom_use("sophtldf") .OR. iom_use("sopstldf") ) THEN    
    152             z2d(nx,:) = htr_ldf(:) * rc_pwatt        !  (conversion in PW)  
     167            z2d(1,:) = htr_ldf(:) * rc_pwatt        !  (conversion in PW)  
     168            DO ji = 1, jpi 
     169               z2d(ji,:) = z2d(1,:) 
     170            ENDDO 
    153171            cl1 = 'sophtldf' 
    154172            CALL iom_put( TRIM(cl1), z2d ) 
    155             z2d(nx,:) = str_ldf(:) * rc_ggram        !  (conversion in Gg) 
     173            z2d(1,:) = str_ldf(:) * rc_ggram        !  (conversion in Gg) 
     174            DO ji = 1, jpi 
     175               z2d(ji,:) = z2d(1,:) 
     176            ENDDO 
    156177            cl1 = 'sopstldf' 
    157178            CALL iom_put( TRIM(cl1), z2d ) 
     
    197218 
    198219      IF( ln_diaptr ) THEN   
    199          ! 
    200          CALL dom_ngb( 180., 90., nx, ny, 'T' ) !  i-line that passes near the North Pole : Reference latitude (used in plots) 
    201220         ! 
    202221         IF( ln_subbas ) THEN  
Note: See TracChangeset for help on using the changeset viewer.