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/DOM/dtatsd.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/DOM/dtatsd.F90

    r13982 r14072  
    66   !! History :  OPA  ! 1991-03  ()  Original code 
    77   !!             -   ! 1992-07  (M. Imbard) 
    8    !!            8.0  ! 1999-10  (M.A. Foujols, M. Imbard)  NetCDF FORMAT  
    9    !!   NEMO     1.0  ! 2002-06  (G. Madec)  F90: Free form and module  
     8   !!            8.0  ! 1999-10  (M.A. Foujols, M. Imbard)  NetCDF FORMAT 
     9   !!   NEMO     1.0  ! 2002-06  (G. Madec)  F90: Free form and module 
    1010   !!            3.3  ! 2010-10  (C. Bricaud, S. Masson)  use of fldread 
    1111   !!            3.4  ! 2010-11  (G. Madec, C. Ethe) Merge of dtatem and dtasal + remove CPP keys 
     
    4040   !!---------------------------------------------------------------------- 
    4141   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    42    !! $Id$  
     42   !! $Id$ 
    4343   !! Software governed by the CeCILL license (see ./LICENSE) 
    4444   !!---------------------------------------------------------------------- 
     
    4848      !!---------------------------------------------------------------------- 
    4949      !!                   ***  ROUTINE dta_tsd_init  *** 
    50       !!                     
    51       !! ** Purpose :   initialisation of T & S input data  
    52       !!  
     50      !! 
     51      !! ** Purpose :   initialisation of T & S input data 
     52      !! 
    5353      !! ** Method  : - Read namtsd namelist 
    54       !!              - allocates T & S data structure  
     54      !!              - allocates T & S data structure 
    5555      !!---------------------------------------------------------------------- 
    5656      LOGICAL, INTENT(in), OPTIONAL ::   ld_tradmp   ! force the initialization when tradp is used 
     
    7575 
    7676      IF( PRESENT( ld_tradmp ) )   ln_tsd_dmp = .TRUE.     ! forces the initialization when tradmp is used 
    77        
     77 
    7878      IF(lwp) THEN                  ! control print 
    7979         WRITE(numout,*) 
     
    124124      !!---------------------------------------------------------------------- 
    125125      !!                   ***  ROUTINE dta_tsd  *** 
    126       !!                     
     126      !! 
    127127      !! ** Purpose :   provides T and S data at kt 
    128       !!  
     128      !! 
    129129      !! ** Method  : - call fldread routine 
    130       !!              - ORCA_R2: add some hand made alteration to read data   
     130      !!              - ORCA_R2: add some hand made alteration to read data 
    131131      !!              - 'key_orca_lev10' interpolates on 10 times more levels 
    132132      !!              - s- or mixed z-s coordinate: vertical interpolation on model mesh 
     
    211211                     IF( (zl-gdept_1d(jkk)) * (zl-gdept_1d(jkk+1)) <= 0._wp ) THEN 
    212212                        zi = ( zl - gdept_1d(jkk) ) / (gdept_1d(jkk+1)-gdept_1d(jkk)) 
    213                         ztp(jk) = ptsd(ji,jj,jkk,jp_tem) + ( ptsd(ji,jj,jkk+1,jp_tem) - ptsd(ji,jj,jkk,jp_tem) ) * zi  
     213                        ztp(jk) = ptsd(ji,jj,jkk,jp_tem) + ( ptsd(ji,jj,jkk+1,jp_tem) - ptsd(ji,jj,jkk,jp_tem) ) * zi 
    214214                        zsp(jk) = ptsd(ji,jj,jkk,jp_sal) + ( ptsd(ji,jj,jkk+1,jp_sal) - ptsd(ji,jj,jkk,jp_sal) ) * zi 
    215215                     ENDIF 
     
    224224            ptsd(ji,jj,jpk,jp_sal) = 0._wp 
    225225         END_2D 
    226          !  
     226         ! 
    227227      ELSE                                !==   z- or zps- coordinate   ==! 
    228          !                              
     228         ! 
    229229         DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
    230230            ptsd(ji,jj,jk,jp_tem) = ptsd(ji,jj,jk,jp_tem) * tmask(ji,jj,jk)    ! Mask 
     
    235235            ! NOTE: [tiling-comms-merge] This fix was necessary to take out tra_adv lbc_lnk statements in the zps case 
    236236            DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 
    237                ik = mbkt(ji,jj)  
     237               ik = mbkt(ji,jj) 
    238238               IF( ik > 1 ) THEN 
    239239                  zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) 
     
    243243               ik = mikt(ji,jj) 
    244244               IF( ik > 1 ) THEN 
    245                   zl = ( gdept_0(ji,jj,ik) - gdept_1d(ik) ) / ( gdept_1d(ik+1) - gdept_1d(ik) )  
     245                  zl = ( gdept_0(ji,jj,ik) - gdept_1d(ik) ) / ( gdept_1d(ik+1) - gdept_1d(ik) ) 
    246246                  ptsd(ji,jj,ik,jp_tem) = (1.-zl) * ptsd(ji,jj,ik,jp_tem) + zl * ptsd(ji,jj,ik+1,jp_tem) 
    247247                  ptsd(ji,jj,ik,jp_sal) = (1.-zl) * ptsd(ji,jj,ik,jp_sal) + zl * ptsd(ji,jj,ik+1,jp_sal) 
     
    252252      ENDIF 
    253253      ! 
    254       IF( .NOT.ln_tsd_dmp ) THEN                   !==   deallocate T & S structure   ==!  
     254      IF( .NOT.ln_tsd_dmp ) THEN                   !==   deallocate T & S structure   ==! 
    255255         !                                              (data used only for initialisation) 
    256256         IF(lwp) WRITE(numout,*) 'dta_tsd: deallocte T & S arrays as they are only use to initialize the run' 
Note: See TracChangeset for help on using the changeset viewer.