- Timestamp:
- 2015-05-18T17:19:50+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90
r5002 r5282 20 20 !! 21 21 !! we suppose that the time step is deviding the number of second of in a day 22 !! ---> MOD( rday, rdt tra(1)) == 022 !! ---> MOD( rday, rdt ) == 0 23 23 !! 24 24 !! ----------- WARNING ----------- … … 73 73 !!---------------------------------------------------------------------- 74 74 ! 75 ! all calendar staff is based on the fact that MOD( rday, rdt tra(1)) == 076 IF( MOD( rday , rdt tra(1)) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' )75 ! all calendar staff is based on the fact that MOD( rday, rdt ) == 0 76 IF( MOD( rday , rdt ) /= 0. ) CALL ctl_stop( 'the time step must devide the number of second of in a day' ) 77 77 IF( MOD( rday , 2. ) /= 0. ) CALL ctl_stop( 'the number of second of in a day must be an even number' ) 78 IF( MOD( rdt tra(1), 2. ) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' )78 IF( MOD( rdt, 2. ) /= 0. ) CALL ctl_stop( 'the time step (in second) must be an even number' ) 79 79 nsecd = NINT(rday ) 80 80 nsecd05 = NINT(0.5 * rday ) 81 ndt = NINT( rdt tra(1))82 ndt05 = NINT(0.5 * rdt tra(1))81 ndt = NINT( rdt) 82 ndt05 = NINT(0.5 * rdt) 83 83 84 84 IF( .NOT. lk_offline ) CALL day_rst( nit000, 'READ' ) … … 218 218 nsec_week = nsec_week + ndt 219 219 nsec_day = nsec_day + ndt 220 adatrj = adatrj + rdt tra(1)/ rday221 fjulday = fjulday + rdt tra(1)/ rday220 adatrj = adatrj + rdt / rday 221 fjulday = fjulday + rdt / rday 222 222 IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec ) fjulday = REAL(NINT(fjulday),wp) ! avoid truncation error 223 223 IF( ABS(adatrj - REAL(NINT(adatrj ),wp)) < zprec ) adatrj = REAL(NINT(adatrj ),wp) ! avoid truncation error … … 334 334 ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 335 335 ndastp = ndate0 - 1 ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 336 adatrj = ( REAL( nit000-1, wp ) * rdt tra(1)) / rday336 adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 337 337 ! note this is wrong if time step has changed during run 338 338 ENDIF … … 340 340 ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 341 341 ndastp = ndate0 - 1 ! ndate0 read in the namelist in dom_nam, we assume that we start run at 00:00 342 adatrj = ( REAL( nit000-1, wp ) * rdt tra(1)) / rday342 adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 343 343 ENDIF 344 344 IF( ABS(adatrj - REAL(NINT(adatrj),wp)) < 0.1 / rday ) adatrj = REAL(NINT(adatrj),wp) ! avoid truncation error -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90
r4990 r5282 35 35 REAL(wp), PUBLIC :: rn_e3zps_rat !: minimum thickness ration for partial steps 36 36 INTEGER , PUBLIC :: nn_msh !: = 1 create a mesh-mask file 37 INTEGER , PUBLIC :: nn_acc !: = 0/1 use of the acceleration of convergence technique38 37 REAL(wp), PUBLIC :: rn_atfp !: asselin time filter parameter 39 REAL(wp), PUBLIC :: rn_rdt !: time step for the dynamics (and tracer if nacc=0) 40 REAL(wp), PUBLIC :: rn_rdtmin !: minimum time step on tracers 41 REAL(wp), PUBLIC :: rn_rdtmax !: maximum time step on tracers 42 REAL(wp), PUBLIC :: rn_rdth !: depth variation of tracer step 38 REAL(wp), PUBLIC :: rn_rdt !: time step for the dynamics and tracer 43 39 INTEGER , PUBLIC :: nn_closea !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 44 40 INTEGER , PUBLIC :: nn_euler !: =0 start with forward time step or not (=1) … … 94 90 REAL(wp), PUBLIC :: e3zps_rat !: minimum thickness ration for partial steps 95 91 INTEGER , PUBLIC :: nmsh !: = 1 create a mesh-mask file 96 INTEGER , PUBLIC :: nacc !: = 0/1 use of the acceleration of convergence technique97 92 REAL(wp), PUBLIC :: atfp !: asselin time filter parameter 98 REAL(wp), PUBLIC :: rdt !: time step for the dynamics (and tracer if nacc=0) 99 REAL(wp), PUBLIC :: rdtmin !: minimum time step on tracers 100 REAL(wp), PUBLIC :: rdtmax !: maximum time step on tracers 101 REAL(wp), PUBLIC :: rdth !: depth variation of tracer step 93 REAL(wp), PUBLIC :: rdt !: time step for the dynamics and tracer 102 94 103 95 ! !!! associated variables 104 96 INTEGER , PUBLIC :: neuler !: restart euler forward option (0=Euler) 105 97 REAL(wp), PUBLIC :: atfp1 !: asselin time filter coeff. (atfp1= 1-2*atfp) 106 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: rdttra !: vertical profile of tracer time step 107 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:) :: r2dtra !: = 2*rdttra except at nit000 (=rdttra) if neuler=0 108 109 ! !!* Namelist namcla : cross land advection 110 INTEGER, PUBLIC :: nn_cla !: =1 cross land advection for exchanges through some straits (ORCA2) 98 REAL(wp), PUBLIC :: r2dt !: = 2*rdt except at nit000 (=rdt) if neuler=0 111 99 112 100 !!---------------------------------------------------------------------- … … 336 324 ierr(:) = 0 337 325 ! 338 ALLOCATE( rdttra(jpk), r2dtra(jpk),mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj), &326 ALLOCATE( mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj), & 339 327 & nfipproc(jpni,jpnj), nfilcit(jpni,jpnj), STAT=ierr(1) ) 340 328 ! 341 329 ALLOCATE( nimppt(jpnij) , ibonit(jpnij) , nlcit(jpnij) , nlcjt(jpnij) , & 342 330 & njmppt(jpnij) , ibonjt(jpnij) , nldit(jpnij) , nldjt(jpnij) , & -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r4990 r5282 81 81 ENDIF 82 82 ! 83 CALL dom_nam ! read namelist ( namrun, namdom , namcla)83 CALL dom_nam ! read namelist ( namrun, namdom ) 84 84 CALL dom_clo ! Closed seas and lake 85 85 CALL dom_hgr ! Horizontal mesh … … 131 131 !! ** input : - namrun namelist 132 132 !! - namdom namelist 133 !! - namcla namelist134 133 !! - namnc4 namelist ! "key_netcdf4" only 135 134 !!---------------------------------------------------------------------- … … 137 136 NAMELIST/namrun/ nn_no , cn_exp , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl, & 138 137 & nn_it000, nn_itend , nn_date0 , nn_leapy , nn_istate , nn_stock , & 139 & nn_write, ln_ dimgnnn, ln_mskland , ln_clobber , nn_chunksz, nn_euler138 & nn_write, ln_mskland , ln_clobber , nn_chunksz, nn_euler 140 139 NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin, & 141 & nn_acc , rn_atfp , rn_rdt , rn_rdtmin , & 142 & rn_rdtmax, rn_rdth , nn_closea , ln_crs, & 143 & jphgr_msh, & 140 & rn_atfp, rn_rdt , nn_closea , ln_crs, jphgr_msh, & 144 141 & ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 145 142 & ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 146 143 & ppa2, ppkth2, ppacr2 147 NAMELIST/namcla/ nn_cla 144 148 145 #if defined key_netcdf4 149 146 NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip … … 180 177 WRITE(numout,*) ' frequency of restart file nn_stock = ', nn_stock 181 178 WRITE(numout,*) ' frequency of output file nn_write = ', nn_write 182 WRITE(numout,*) ' multi file dimgout ln_dimgnnn = ', ln_dimgnnn183 179 WRITE(numout,*) ' mask land points ln_mskland = ', ln_mskland 184 180 WRITE(numout,*) ' overwrite an existing file ln_clobber = ', ln_clobber … … 259 255 WRITE(numout,*) ' ocean time step rn_rdt = ', rn_rdt 260 256 WRITE(numout,*) ' asselin time filter parameter rn_atfp = ', rn_atfp 261 WRITE(numout,*) ' acceleration of converge nn_acc = ', nn_acc262 WRITE(numout,*) ' nn_acc=1: surface tracer rdt rn_rdtmin = ', rn_rdtmin263 WRITE(numout,*) ' bottom tracer rdt rdtmax = ', rn_rdtmax264 WRITE(numout,*) ' depth of transition rn_rdth = ', rn_rdth265 257 WRITE(numout,*) ' suppression of closed seas (=0) nn_closea = ', nn_closea 266 258 WRITE(numout,*) ' online coarsening of dynamical fields ln_crs = ', ln_crs … … 289 281 e3zps_rat = rn_e3zps_rat 290 282 nmsh = nn_msh 291 nacc = nn_acc292 283 atfp = rn_atfp 293 284 rdt = rn_rdt 294 rdtmin = rn_rdtmin295 rdtmax = rn_rdtmin296 rdth = rn_rdth297 298 REWIND( numnam_ref ) ! Namelist namcla in reference namelist : Cross land advection299 READ ( numnam_ref, namcla, IOSTAT = ios, ERR = 905)300 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in reference namelist', lwp )301 302 REWIND( numnam_cfg ) ! Namelist namcla in configuration namelist : Cross land advection303 READ ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 )304 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp )305 IF(lwm) WRITE( numond, namcla )306 307 IF(lwp) THEN308 WRITE(numout,*)309 WRITE(numout,*) ' Namelist namcla'310 WRITE(numout,*) ' cross land advection nn_cla = ', nn_cla311 ENDIF312 IF ( nn_cla .EQ. 1 ) THEN313 IF ( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2314 CONTINUE315 ELSE316 CALL ctl_stop( 'STOP', 'Cross land advation iplemented only for ORCA2 configuration: cp_cfg = "orca" and jp_cfg = 2 ' )317 ENDIF318 ENDIF319 285 320 286 #if defined key_netcdf4 -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90
r4990 r5282 134 134 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration 135 135 ! ! ===================== 136 IF( nn_cla == 0 ) THEN137 !138 136 ii0 = 139 ; ii1 = 140 ! Gibraltar Strait (e2u = 20 km) 139 137 ij0 = 102 ; ij1 = 102 ; e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) = 20.e3 … … 147 145 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb: e2u reduced to 30 km' 148 146 IF(lwp) WRITE(numout,*) ' e1v reduced to 18 km' 149 ENDIF150 147 151 148 ii0 = 145 ; ii1 = 146 ! Danish Straits (e2u = 10 km) -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r4990 r5282 366 366 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA_R2 configuration 367 367 ! ! Increased lateral friction near of some straits 368 IF( nn_cla == 0 ) THEN369 368 ! ! Gibraltar strait : partial slip (fmask=0.5) 370 369 ij0 = 101 ; ij1 = 101 … … 379 378 ii0 = 159 ; ii1 = 159 ; fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) = 1._wp 380 379 ! 381 ENDIF382 380 ! ! Danish straits : strong slip (fmask > 2) 383 381 ! We keep this as an example but it is instable in this case -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domstp.F90
r4292 r5282 41 41 !! filter parameter read in namelist 42 42 !! - Model time step: 43 !! nacc = 0 : synchronous time intergration. 44 !! There is one time step only, defined by: rdt, rdttra(k)=rdt 45 !! nacc = 1 : accelerating the convergence. There is 2 different 46 !! time steps for dynamics and tracers: 47 !! rdt : dynamical part 48 !! rdttra(k): temperature and salinity 49 !! The tracer time step is a function of vertical level. the model 50 !! reference time step ( i.e. for wind stress, surface heat and 51 !! salt fluxes) is the surface tracer time step is rdttra(1). 52 !! N.B. depth dependent acceleration of convergence is not im- 53 !! plemented for s-coordinate. 43 !! synchronous time intergration. 44 !! There is one time step only, defined by: rdt for dynamics and 45 !! tracer,wind stress, surface heat and salt fluxes 54 46 !! 55 !! ** Action : - rdttra : vertical profile of tracer time step47 !! ** Action : [REMOVED - rdttra: vertical profile of tracer time step] 56 48 !! - atfp1 : = 1 - 2*atfp 57 49 !! … … 72 64 atfp1 = 1. - 2. * atfp 73 65 74 SELECT CASE ( nacc ) 66 IF(lwp) WRITE(numout,*)' synchronous time stepping' 67 IF(lwp) WRITE(numout,*)' dynamics and tracer time step = ', rdt/3600., ' hours' 75 68 76 CASE ( 0 ) ! Synchronous time stepping77 IF(lwp) WRITE(numout,*)' synchronous time stepping'78 IF(lwp) WRITE(numout,*)' dynamics and tracer time step = ', rdt/3600., ' hours'79 80 rdttra(:) = rdt81 82 CASE ( 1 ) ! Accelerating the convergence83 IF(lwp) WRITE(numout,*) ' no tracer damping in the turbocline'84 IF(lwp) WRITE(numout,*)' accelerating the convergence'85 IF(lwp) WRITE(numout,*)' dynamics time step = ', rdt/3600., ' hours'86 IF( ln_sco .AND. rdtmin /= rdtmax .AND. lk_vvl ) &87 & CALL ctl_stop ( ' depth dependent acceleration of convergence not implemented in s-coordinates &88 & nor in variable volume' )89 IF(lwp) WRITE(numout,*)' tracers time step : dt (hours) level'90 91 DO jk = 1, jpk92 IF( gdept_1d(jk) <= rdth ) rdttra(jk) = rdtmin93 IF( gdept_1d(jk) > rdth ) THEN94 rdttra(jk) = rdtmin + ( rdtmax - rdtmin ) &95 * ( EXP( ( gdept_1d(jk ) - rdth ) / rdth ) - 1. ) &96 / ( EXP( ( gdept_1d(jpk) - rdth ) / rdth ) - 1. )97 ENDIF98 IF(lwp) WRITE(numout,"(36x,f5.2,5x,i3)") rdttra(jk)/3600., jk99 END DO100 101 CASE DEFAULT ! E R R O R102 103 WRITE(ctmp1,*) ' nacc value e r r o r, nacc= ',nacc104 CALL ctl_stop( ctmp1 )105 106 END SELECT107 69 108 70 END SUBROUTINE dom_stp -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r4998 r5282 156 156 ! Vertical scale factor interpolations 157 157 ! ------------------------------------ 158 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n 158 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n(:,:,:), 'W' ) 159 159 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 160 160 CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 161 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b 161 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b(:,:,:), 'W' ) 162 162 CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 163 163 CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) … … 627 627 ! - ML - fse3u_b and fse3v_b are allready computed in dynnxt 628 628 ! - JC - hu_b, hv_b, hur_b, hvr_b also 629 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n 629 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F' ) 630 630 ! Vertical scale factor interpolations 631 631 ! ------------------------------------ 632 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n 632 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n(:,:,:), 'W' ) 633 633 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 634 634 CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 635 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b 635 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b(:,:,:), 'W' ) 636 636 CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 637 637 CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) … … 663 663 ! Local depth and Inverse of the local depth of the water column at u- and v- points 664 664 ! ---------------------------------------------------------------------------------- 665 hu (:,:) = hu_a(:,:)666 hv (:,:) = hv_a(:,:)665 hu(:,:) = hu_a(:,:) 666 hv(:,:) = hv_a(:,:) 667 667 668 668 ! Inverse of the local depth … … 680 680 ! ============= 681 681 z_e3t_def(:,:,:) = ( ( fse3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 682 CALL iom_put( "cellthc" , fse3t_n 683 CALL iom_put( "tpt_dep" , fsde3w_n 682 CALL iom_put( "cellthc" , fse3t_n(:,:,:) ) 683 CALL iom_put( "tpt_dep" , fsde3w_n(:,:,:) ) 684 684 CALL iom_put( "e3tdef" , z_e3t_def(:,:,:) ) 685 685 … … 1057 1057 ! ! ===================== 1058 1058 !! acc 1059 IF( nn_cla == 0 ) THEN1060 !1061 1059 ii0 = 139 ; ii1 = 140 ! Gibraltar Strait (e2u was modified) 1062 1060 ij0 = 102 ; ij1 = 102 … … 1105 1103 END DO 1106 1104 END DO 1107 ENDIF1108 1105 1109 1106 ii0 = 145 ; ii1 = 146 ! Danish Straits (e2u was modified) -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r5040 r5282 507 507 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration 508 508 ! ! ===================== 509 IF( nn_cla == 0 ) THEN 510 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 509 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 511 510 ij0 = 102 ; ij1 = 102 ! (Thomson, Ocean Modelling, 1995) 512 511 DO ji = mi0(ii0), mi1(ii1) … … 527 526 IF(lwp) WRITE(numout,*) 528 527 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 529 ENDIF530 528 ! 531 529 ENDIF … … 548 546 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration 549 547 ! 550 IF( nn_cla == 0 ) THEN 551 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 548 ii0 = 140 ; ii1 = 140 ! Gibraltar Strait open 552 549 ij0 = 102 ; ij1 = 102 ! (Thomson, Ocean Modelling, 1995) 553 550 DO ji = mi0(ii0), mi1(ii1) … … 568 565 IF(lwp) WRITE(numout,*) 569 566 IF(lwp) WRITE(numout,*) ' orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 570 ENDIF571 567 ! 572 568 ENDIF … … 1995 1991 1996 1992 IF( nprint == 1 .AND. lwp ) THEN 1997 WRITE(numout,*) ' MAX val hif t ', MAXVAL( hift (:,:) ), ' f ', MAXVAL( hiff(:,:) ), &1998 & ' u ', MAXVAL( hifu (:,:) ), ' v ', MAXVAL( hifv(:,:) )1999 WRITE(numout,*) ' MIN val hif t ', MINVAL( hift (:,:) ), ' f ', MINVAL( hiff(:,:) ), &2000 & ' u ', MINVAL( hifu (:,:) ), ' v ', MINVAL( hifv(:,:) )1993 WRITE(numout,*) ' MAX val hif t ', MAXVAL( hift(:,:) ), ' f ', MAXVAL( hiff(:,:) ), & 1994 & ' u ', MAXVAL( hifu(:,:) ), ' v ', MAXVAL( hifv(:,:) ) 1995 WRITE(numout,*) ' MIN val hif t ', MINVAL( hift(:,:) ), ' f ', MINVAL( hiff(:,:) ), & 1996 & ' u ', MINVAL( hifu(:,:) ), ' v ', MINVAL( hifv(:,:) ) 2001 1997 WRITE(numout,*) ' MAX val hbat t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ), & 2002 1998 & ' u ', MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) … … 2068 2064 #endif 2069 2065 2070 fsdept(:,:,:) = gdept_0 2071 fsdepw(:,:,:) = gdepw_0 2066 fsdept(:,:,:) = gdept_0(:,:,:) 2067 fsdepw(:,:,:) = gdepw_0(:,:,:) 2072 2068 fsde3w(:,:,:) = gdep3w_0(:,:,:) 2073 fse3t (:,:,:) = e3t_0(:,:,:)2074 fse3u (:,:,:) = e3u_0(:,:,:)2075 fse3v (:,:,:) = e3v_0(:,:,:)2076 fse3f (:,:,:) = e3f_0(:,:,:)2077 fse3w (:,:,:) = e3w_0(:,:,:)2078 fse3uw(:,:,:) = e3uw_0 2079 fse3vw(:,:,:) = e3vw_0 2069 fse3t(:,:,:) = e3t_0(:,:,:) 2070 fse3u(:,:,:) = e3u_0(:,:,:) 2071 fse3v(:,:,:) = e3v_0(:,:,:) 2072 fse3f(:,:,:) = e3f_0(:,:,:) 2073 fse3w(:,:,:) = e3w_0(:,:,:) 2074 fse3uw(:,:,:) = e3uw_0(:,:,:) 2075 fse3vw(:,:,:) = e3vw_0(:,:,:) 2080 2076 !! 2081 2077 ! HYBRID : -
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
r4990 r5282 174 174 END DO 175 175 END DO 176 IF( nn_cla == 1 ) THEN ! Cross Land advection177 il0 = 138 ; il1 = 138 ! set T & S profile at Gibraltar Strait178 ij0 = 101 ; ij1 = 102179 ii0 = 139 ; ii1 = 139180 DO jl = mi0(il0), mi1(il1)181 DO jj = mj0(ij0), mj1(ij1)182 DO ji = mi0(ii0), mi1(ii1)183 sf_tsd(jp_tem)%fnow(ji,jj,:) = sf_tsd(jp_tem)%fnow(jl,jj,:)184 sf_tsd(jp_sal)%fnow(ji,jj,:) = sf_tsd(jp_sal)%fnow(jl,jj,:)185 END DO186 END DO187 END DO188 il0 = 164 ; il1 = 164 ! set T & S profile at Bab el Mandeb Strait189 ij0 = 87 ; ij1 = 88190 ii0 = 161 ; ii1 = 163191 DO jl = mi0(il0), mi1(il1)192 DO jj = mj0(ij0), mj1(ij1)193 DO ji = mi0(ii0), mi1(ii1)194 sf_tsd(jp_tem)%fnow(ji,jj,:) = sf_tsd(jp_tem)%fnow(jl,jj,:)195 sf_tsd(jp_sal)%fnow(ji,jj,:) = sf_tsd(jp_sal)%fnow(jl,jj,:)196 END DO197 END DO198 END DO199 ELSE ! No Cross Land advection200 176 ij0 = 87 ; ij1 = 96 ! Reduced temperature in Red Sea 201 177 ii0 = 148 ; ii1 = 160 … … 203 179 sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 11:13 ) = 6.5_wp 204 180 sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 ) = 6.0_wp 205 ENDIF206 181 ENDIF 207 182 !
Note: See TracChangeset
for help on using the changeset viewer.