Changeset 14072 for NEMO/trunk/src/OCE/DOM/dtatsd.F90
- Timestamp:
- 2020-12-04T08:48:38+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/DOM/dtatsd.F90
r13982 r14072 6 6 !! History : OPA ! 1991-03 () Original code 7 7 !! - ! 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 10 10 !! 3.3 ! 2010-10 (C. Bricaud, S. Masson) use of fldread 11 11 !! 3.4 ! 2010-11 (G. Madec, C. Ethe) Merge of dtatem and dtasal + remove CPP keys … … 40 40 !!---------------------------------------------------------------------- 41 41 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 42 !! $Id$ 42 !! $Id$ 43 43 !! Software governed by the CeCILL license (see ./LICENSE) 44 44 !!---------------------------------------------------------------------- … … 48 48 !!---------------------------------------------------------------------- 49 49 !! *** ROUTINE dta_tsd_init *** 50 !! 51 !! ** Purpose : initialisation of T & S input data 52 !! 50 !! 51 !! ** Purpose : initialisation of T & S input data 52 !! 53 53 !! ** Method : - Read namtsd namelist 54 !! - allocates T & S data structure 54 !! - allocates T & S data structure 55 55 !!---------------------------------------------------------------------- 56 56 LOGICAL, INTENT(in), OPTIONAL :: ld_tradmp ! force the initialization when tradp is used … … 75 75 76 76 IF( PRESENT( ld_tradmp ) ) ln_tsd_dmp = .TRUE. ! forces the initialization when tradmp is used 77 77 78 78 IF(lwp) THEN ! control print 79 79 WRITE(numout,*) … … 124 124 !!---------------------------------------------------------------------- 125 125 !! *** ROUTINE dta_tsd *** 126 !! 126 !! 127 127 !! ** Purpose : provides T and S data at kt 128 !! 128 !! 129 129 !! ** 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 131 131 !! - 'key_orca_lev10' interpolates on 10 times more levels 132 132 !! - s- or mixed z-s coordinate: vertical interpolation on model mesh … … 211 211 IF( (zl-gdept_1d(jkk)) * (zl-gdept_1d(jkk+1)) <= 0._wp ) THEN 212 212 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 214 214 zsp(jk) = ptsd(ji,jj,jkk,jp_sal) + ( ptsd(ji,jj,jkk+1,jp_sal) - ptsd(ji,jj,jkk,jp_sal) ) * zi 215 215 ENDIF … … 224 224 ptsd(ji,jj,jpk,jp_sal) = 0._wp 225 225 END_2D 226 ! 226 ! 227 227 ELSE !== z- or zps- coordinate ==! 228 ! 228 ! 229 229 DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 230 230 ptsd(ji,jj,jk,jp_tem) = ptsd(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) ! Mask … … 235 235 ! NOTE: [tiling-comms-merge] This fix was necessary to take out tra_adv lbc_lnk statements in the zps case 236 236 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) 237 ik = mbkt(ji,jj) 237 ik = mbkt(ji,jj) 238 238 IF( ik > 1 ) THEN 239 239 zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) ) … … 243 243 ik = mikt(ji,jj) 244 244 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) ) 246 246 ptsd(ji,jj,ik,jp_tem) = (1.-zl) * ptsd(ji,jj,ik,jp_tem) + zl * ptsd(ji,jj,ik+1,jp_tem) 247 247 ptsd(ji,jj,ik,jp_sal) = (1.-zl) * ptsd(ji,jj,ik,jp_sal) + zl * ptsd(ji,jj,ik+1,jp_sal) … … 252 252 ENDIF 253 253 ! 254 IF( .NOT.ln_tsd_dmp ) THEN !== deallocate T & S structure ==! 254 IF( .NOT.ln_tsd_dmp ) THEN !== deallocate T & S structure ==! 255 255 ! (data used only for initialisation) 256 256 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.