New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14072 for NEMO/trunk/src/OCE/DIA/diaptr.F90 – NEMO

Ignore:
Timestamp:
2020-12-04T08:48:38+01:00 (3 years ago)
Author:
laurent
Message:

Merging branch "2020/dev_r13648_ASINTER-04_laurent_bulk_ice", ticket #2369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DIA/diaptr.F90

    r13982 r14072  
    6666   !!---------------------------------------------------------------------- 
    6767   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    68    !! $Id$  
     68   !! $Id$ 
    6969   !! Software governed by the CeCILL license (see ./LICENSE) 
    7070   !!---------------------------------------------------------------------- 
     
    7575      !!                  ***  ROUTINE dia_ptr  *** 
    7676      !!---------------------------------------------------------------------- 
    77       INTEGER                         , INTENT(in)           ::   kt     ! ocean time-step index      
     77      INTEGER                         , INTENT(in)           ::   kt     ! ocean time-step index 
    7878      INTEGER                         , INTENT(in)           ::   Kmm    ! time level index 
    7979      REAL(wp), DIMENSION(A2D(nn_hls),jpk)    , INTENT(in), OPTIONAL ::   pvtr   ! j-effective transport 
     
    177177 
    178178         IF( iom_use( 'sopstbtr' ) .OR. iom_use( 'sophtbtr' ) ) THEN 
    179             ! Calculate barotropic heat and salt transport here  
     179            ! Calculate barotropic heat and salt transport here 
    180180            ALLOCATE( sjk(jpj,1,nbasin), r1_sjk(jpj,1,nbasin) ) 
    181181            ! 
     
    245245         ! 
    246246         !                                ! Advective and diffusive heat and salt transport 
    247          IF( iom_use( 'sophtadv' ) .OR. iom_use( 'sopstadv' ) ) THEN   
    248             !  
     247         IF( iom_use( 'sophtadv' ) .OR. iom_use( 'sopstadv' ) ) THEN 
     248            ! 
    249249            DO jn = 1, nbasin 
    250250               z3dtr(1,:,jn) = hstr_adv(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     
    263263         ENDIF 
    264264         ! 
    265          IF( iom_use( 'sophtldf' ) .OR. iom_use( 'sopstldf' ) ) THEN   
    266             !  
     265         IF( iom_use( 'sophtldf' ) .OR. iom_use( 'sopstldf' ) ) THEN 
     266            ! 
    267267            DO jn = 1, nbasin 
    268268               z3dtr(1,:,jn) = hstr_ldf(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     
    281281         ENDIF 
    282282         ! 
    283          IF( iom_use( 'sophteiv' ) .OR. iom_use( 'sopsteiv' ) ) THEN   
    284             !  
     283         IF( iom_use( 'sophteiv' ) .OR. iom_use( 'sopsteiv' ) ) THEN 
     284            ! 
    285285            DO jn = 1, nbasin 
    286286               z3dtr(1,:,jn) = hstr_eiv(:,jp_tem,jn) * rc_pwatt  !  (conversion in PW) 
     
    319319            IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 0 )         ! Use full domain 
    320320            CALL iom_get_var(  'uocetr_vsum_op', z2d ) ! get uocetr_vsum_op from xml 
    321             z2d(:,:) = ptr_ci_2d( z2d(:,:) )   
     321            z2d(:,:) = ptr_ci_2d( z2d(:,:) ) 
    322322            CALL iom_put( 'uocetr_vsum_cumul', z2d ) 
    323323            IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = nijtile )   ! Revert to tile domain 
     
    455455      !!---------------------------------------------------------------------- 
    456456      !!                  ***  ROUTINE dia_ptr_init  *** 
    457       !!                    
     457      !! 
    458458      !! ** Purpose :   Initialization 
    459459      !!---------------------------------------------------------------------- 
     
    472472         &       iom_use( 'sophteiv' ) .OR. iom_use( 'sopsteiv' ) .OR. iom_use( 'sopstvtr' ) .OR.  & 
    473473         &       iom_use( 'sophtvtr' ) .OR. iom_use( 'uocetr_vsum_cumul' ) 
    474        
     474 
    475475      IF(lwp) THEN                     ! Control print 
    476476         WRITE(numout,*) 
     
    480480      ENDIF 
    481481 
    482       IF( l_diaptr ) THEN   
     482      IF( l_diaptr ) THEN 
    483483         ! 
    484484         IF( dia_ptr_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_ptr_init : unable to allocate arrays' ) 
     
    489489         IF( lk_mpp )   CALL mpp_ini_znl( numout )     ! Define MPI communicator for zonal sum 
    490490 
    491          btmsk(:,:,1) = tmask_i(:,:)                  
     491         btmsk(:,:,1) = tmask_i(:,:) 
    492492         IF( nbasin == 5 ) THEN   ! nbasin has been initialized in iom_init to define the axis "basin" 
    493493            CALL iom_open( 'subbasins', inum ) 
     
    504504         WHERE( gphit(:,:)*tmask_i(:,:) < -34._wp) 
    505505           zmsk(:,:) = 0._wp      ! mask out Southern Ocean 
    506          ELSE WHERE                   
     506         ELSE WHERE 
    507507           zmsk(:,:) = ssmask(:,:) 
    508508         END WHERE 
    509          btmsk34(:,:,1) = btmsk(:,:,1)                  
     509         btmsk34(:,:,1) = btmsk(:,:,1) 
    510510         DO jn = 2, nbasin 
    511511            btmsk34(:,:,jn) = btmsk(:,:,jn) * zmsk(:,:)                  ! interior domain only 
     
    514514         ! Initialise arrays to zero because diatpr is called before they are first calculated 
    515515         ! Note that this means diagnostics will not be exactly correct when model run is restarted. 
    516          hstr_adv(:,:,:) = 0._wp            
    517          hstr_ldf(:,:,:) = 0._wp            
    518          hstr_eiv(:,:,:) = 0._wp            
    519          hstr_ove(:,:,:) = 0._wp            
     516         hstr_adv(:,:,:) = 0._wp 
     517         hstr_ldf(:,:,:) = 0._wp 
     518         hstr_eiv(:,:,:) = 0._wp 
     519         hstr_ove(:,:,:) = 0._wp 
    520520         hstr_btr(:,:,:) = 0._wp           ! 
    521521         hstr_vtr(:,:,:) = 0._wp           ! 
     
    525525         ll_init = .FALSE. 
    526526         ! 
    527       ENDIF  
    528       !  
     527      ENDIF 
     528      ! 
    529529   END SUBROUTINE dia_ptr_init 
    530530 
    531531 
    532    SUBROUTINE dia_ptr_hst( ktra, cptr, pvflx )  
     532   SUBROUTINE dia_ptr_hst( ktra, cptr, pvflx ) 
    533533      !!---------------------------------------------------------------------- 
    534534      !!                    ***  ROUTINE dia_ptr_hst *** 
     
    727727      ! 
    728728      INTEGER                  ::   ji,jj,jc       ! dummy loop arguments 
    729       INTEGER                  ::   ijpj        ! ???  
     729      INTEGER                  ::   ijpj        ! ??? 
    730730      REAL(wp), DIMENSION(jpi,jpj) :: p_fval ! function value 
    731731      !!-------------------------------------------------------------------- 
    732       !  
     732      ! 
    733733      ijpj = jpj  ! ??? 
    734734      p_fval(:,:) = 0._wp 
     
    738738         END_2D 
    739739      END DO 
    740       !  
     740      ! 
    741741   END FUNCTION ptr_ci_2d 
    742742 
Note: See TracChangeset for help on using the changeset viewer.