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 5282 for branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM – NEMO

Ignore:
Timestamp:
2015-05-18T17:19:50+02:00 (9 years ago)
Author:
diovino
Message:

Dev. branch CMCC4_simplification ticket #1456

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  
    2020   !! 
    2121   !!   we suppose that the time step is deviding the number of second of in a day 
    22    !!             ---> MOD( rday, rdttra(1) ) == 0 
     22   !!             ---> MOD( rday, rdt ) == 0 
    2323   !! 
    2424   !!           ----------- WARNING ----------- 
     
    7373      !!---------------------------------------------------------------------- 
    7474      ! 
    75       ! all calendar staff is based on the fact that MOD( rday, rdttra(1) ) == 0 
    76       IF( MOD( rday     , rdttra(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' ) 
    7777      IF( MOD( rday     , 2.        ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    ) 
    78       IF( MOD( rdttra(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'           ) 
    7979      nsecd   = NINT(rday           ) 
    8080      nsecd05 = NINT(0.5 * rday     ) 
    81       ndt     = NINT(      rdttra(1)) 
    82       ndt05   = NINT(0.5 * rdttra(1)) 
     81      ndt     = NINT(      rdt) 
     82      ndt05   = NINT(0.5 * rdt) 
    8383 
    8484      IF( .NOT. lk_offline ) CALL day_rst( nit000, 'READ' ) 
     
    218218      nsec_week  = nsec_week  + ndt 
    219219      nsec_day   = nsec_day   + ndt 
    220       adatrj  = adatrj  + rdttra(1) / rday 
    221       fjulday = fjulday + rdttra(1) / rday 
     220      adatrj  = adatrj  + rdt / rday 
     221      fjulday = fjulday + rdt / rday 
    222222      IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec )   fjulday = REAL(NINT(fjulday),wp)   ! avoid truncation error 
    223223      IF( ABS(adatrj  - REAL(NINT(adatrj ),wp)) < zprec )   adatrj  = REAL(NINT(adatrj ),wp)   ! avoid truncation error 
     
    334334               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    335335               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 ) * rdttra(1) ) / rday 
     336               adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    337337               ! note this is wrong if time step has changed during run 
    338338            ENDIF 
     
    340340            ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
    341341            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 ) * rdttra(1) ) / rday 
     342            adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
    343343         ENDIF 
    344344         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  
    3535   REAL(wp), PUBLIC ::   rn_e3zps_rat    !: minimum thickness ration for partial steps 
    3636   INTEGER , PUBLIC ::   nn_msh          !: = 1 create a mesh-mask file 
    37    INTEGER , PUBLIC ::   nn_acc          !: = 0/1 use of the acceleration of convergence technique 
    3837   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 
    4339   INTEGER , PUBLIC ::   nn_closea       !: =0 suppress closed sea/lake from the ORCA domain or not (=1) 
    4440   INTEGER , PUBLIC ::   nn_euler        !: =0 start with forward time step or not (=1) 
     
    9490   REAL(wp), PUBLIC ::   e3zps_rat       !: minimum thickness ration for partial steps 
    9591   INTEGER , PUBLIC ::   nmsh            !: = 1 create a mesh-mask file 
    96    INTEGER , PUBLIC ::   nacc            !: = 0/1 use of the acceleration of convergence technique 
    9792   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 
    10294 
    10395   !                                                  !!! associated variables 
    10496   INTEGER , PUBLIC                 ::   neuler        !: restart euler forward option (0=Euler) 
    10597   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 
    11199 
    112100   !!---------------------------------------------------------------------- 
     
    336324      ierr(:) = 0 
    337325      ! 
    338       ALLOCATE( rdttra(jpk), r2dtra(jpk), mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj),  & 
     326      ALLOCATE( mig(jpi), mjg(jpj), nfiimpp(jpni,jpnj),  & 
    339327         &      nfipproc(jpni,jpnj), nfilcit(jpni,jpnj), STAT=ierr(1) ) 
    340          ! 
     328        ! 
    341329      ALLOCATE( nimppt(jpnij) , ibonit(jpnij) , nlcit(jpnij) , nlcjt(jpnij) ,     & 
    342330         &      njmppt(jpnij) , ibonjt(jpnij) , nldit(jpnij) , nldjt(jpnij) ,     & 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r4990 r5282  
    8181      ENDIF 
    8282      ! 
    83                              CALL dom_nam      ! read namelist ( namrun, namdom, namcla ) 
     83                             CALL dom_nam      ! read namelist ( namrun, namdom ) 
    8484                             CALL dom_clo      ! Closed seas and lake 
    8585                             CALL dom_hgr      ! Horizontal mesh 
     
    131131      !! ** input   : - namrun namelist 
    132132      !!              - namdom namelist 
    133       !!              - namcla namelist 
    134133      !!              - namnc4 namelist   ! "key_netcdf4" only 
    135134      !!---------------------------------------------------------------------- 
     
    137136      NAMELIST/namrun/ nn_no   , cn_exp    , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl,   & 
    138137         &             nn_it000, nn_itend  , nn_date0    , nn_leapy     , nn_istate , nn_stock ,   & 
    139          &             nn_write, ln_dimgnnn, ln_mskland  , ln_clobber   , nn_chunksz, nn_euler 
     138         &             nn_write, ln_mskland  , ln_clobber   , nn_chunksz, nn_euler 
    140139      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,       & 
    144141         &             ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 
    145142         &             ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 
    146143         &             ppa2, ppkth2, ppacr2 
    147       NAMELIST/namcla/ nn_cla 
     144 
    148145#if defined key_netcdf4 
    149146      NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip 
     
    180177         WRITE(numout,*) '      frequency of restart file       nn_stock   = ', nn_stock 
    181178         WRITE(numout,*) '      frequency of output file        nn_write   = ', nn_write 
    182          WRITE(numout,*) '      multi file dimgout              ln_dimgnnn = ', ln_dimgnnn 
    183179         WRITE(numout,*) '      mask land points                ln_mskland = ', ln_mskland 
    184180         WRITE(numout,*) '      overwrite an existing file      ln_clobber = ', ln_clobber 
     
    259255         WRITE(numout,*) '      ocean time step                       rn_rdt    = ', rn_rdt 
    260256         WRITE(numout,*) '      asselin time filter parameter         rn_atfp   = ', rn_atfp 
    261          WRITE(numout,*) '      acceleration of converge              nn_acc    = ', nn_acc 
    262          WRITE(numout,*) '        nn_acc=1: surface tracer rdt        rn_rdtmin = ', rn_rdtmin 
    263          WRITE(numout,*) '                  bottom  tracer rdt        rdtmax    = ', rn_rdtmax 
    264          WRITE(numout,*) '                  depth of transition       rn_rdth   = ', rn_rdth 
    265257         WRITE(numout,*) '      suppression of closed seas (=0)       nn_closea = ', nn_closea 
    266258         WRITE(numout,*) '      online coarsening of dynamical fields ln_crs    = ', ln_crs 
     
    289281      e3zps_rat = rn_e3zps_rat 
    290282      nmsh      = nn_msh 
    291       nacc      = nn_acc 
    292283      atfp      = rn_atfp 
    293284      rdt       = rn_rdt 
    294       rdtmin    = rn_rdtmin 
    295       rdtmax    = rn_rdtmin 
    296       rdth      = rn_rdth 
    297  
    298       REWIND( numnam_ref )              ! Namelist namcla in reference namelist : Cross land advection 
    299       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 advection 
    303       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) THEN 
    308          WRITE(numout,*) 
    309          WRITE(numout,*) '   Namelist namcla' 
    310          WRITE(numout,*) '      cross land advection                 nn_cla    = ', nn_cla 
    311       ENDIF 
    312       IF ( nn_cla .EQ. 1 ) THEN 
    313          IF  ( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN   ! ORCA R2  
    314             CONTINUE 
    315          ELSE 
    316             CALL ctl_stop( 'STOP', 'Cross land advation iplemented only for ORCA2 configuration: cp_cfg = "orca" and jp_cfg = 2 ' ) 
    317          ENDIF 
    318       ENDIF 
    319285 
    320286#if defined key_netcdf4 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90

    r4990 r5282  
    134134         IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN    ! ORCA R2 configuration 
    135135            !                                             ! ===================== 
    136             IF( nn_cla == 0 ) THEN 
    137                ! 
    138136               ii0 = 139   ;   ii1 = 140        ! Gibraltar Strait (e2u = 20 km) 
    139137               ij0 = 102   ;   ij1 = 102   ;   e2u( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  20.e3 
     
    147145               IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb: e2u reduced to 30 km' 
    148146               IF(lwp) WRITE(numout,*) '                                     e1v reduced to 18 km' 
    149             ENDIF 
    150147 
    151148            ii0 = 145   ;   ii1 = 146        ! Danish Straits (e2u = 10 km) 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r4990 r5282  
    366366      IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN   ! ORCA_R2 configuration 
    367367         !                                                 ! Increased lateral friction near of some straits 
    368          IF( nn_cla == 0 ) THEN 
    369368            !                                ! Gibraltar strait  : partial slip (fmask=0.5) 
    370369            ij0 = 101   ;   ij1 = 101 
     
    379378            ii0 = 159   ;   ii1 = 159   ;   fmask( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 1:jpk ) =  1._wp 
    380379            ! 
    381          ENDIF 
    382380         !                                ! Danish straits  : strong slip (fmask > 2) 
    383381! 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  
    4141      !!      filter parameter read in namelist 
    4242      !!              - 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 
    5446      !! 
    55       !! ** Action  : - rdttra   : vertical profile of tracer time step 
     47      !! ** Action  : [REMOVED - rdttra: vertical profile of tracer time step] 
    5648      !!              - atfp1    : = 1 - 2*atfp 
    5749      !! 
     
    7264      atfp1 = 1. - 2. * atfp 
    7365 
    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' 
    7568 
    76          CASE ( 0 )                ! Synchronous time stepping 
    77             IF(lwp) WRITE(numout,*)'               synchronous time stepping' 
    78             IF(lwp) WRITE(numout,*)'               dynamics and tracer time step = ', rdt/3600., ' hours' 
    79  
    80             rdttra(:) = rdt 
    81  
    82          CASE ( 1 )                ! Accelerating the convergence 
    83             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, jpk 
    92                IF( gdept_1d(jk) <= rdth ) rdttra(jk) = rdtmin 
    93                IF( gdept_1d(jk) >  rdth ) THEN 
    94                   rdttra(jk) = rdtmin + ( rdtmax - rdtmin )   & 
    95                                       * ( EXP( ( gdept_1d(jk ) - rdth ) / rdth ) - 1. )   & 
    96                                       / ( EXP( ( gdept_1d(jpk) - rdth ) / rdth ) - 1. ) 
    97                ENDIF 
    98                IF(lwp) WRITE(numout,"(36x,f5.2,5x,i3)") rdttra(jk)/3600., jk 
    99             END DO   
    100  
    101          CASE DEFAULT              ! E R R O R  
    102  
    103             WRITE(ctmp1,*) ' nacc value e r r o r, nacc= ',nacc 
    104             CALL ctl_stop( ctmp1 ) 
    105  
    106       END SELECT 
    10769 
    10870   END SUBROUTINE dom_stp 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r4998 r5282  
    156156      ! Vertical scale factor interpolations 
    157157      ! ------------------------------------ 
    158       CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W'  ) 
     158      CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n(:,:,:), 'W'  ) 
    159159      CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 
    160160      CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 
    161       CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b (:,:,:), 'W'  ) 
     161      CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b(:,:,:), 'W'  ) 
    162162      CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 
    163163      CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) 
     
    627627      ! - ML - fse3u_b and fse3v_b are allready computed in dynnxt 
    628628      ! - JC - hu_b, hv_b, hur_b, hvr_b also 
    629       CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n (:,:,:), 'F'  ) 
     629      CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F'  ) 
    630630      ! Vertical scale factor interpolations 
    631631      ! ------------------------------------ 
    632       CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W'  ) 
     632      CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n(:,:,:), 'W'  ) 
    633633      CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 
    634634      CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 
    635       CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b (:,:,:), 'W'  ) 
     635      CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3w_b(:,:,:), 'W'  ) 
    636636      CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 
    637637      CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) 
     
    663663      ! Local depth and Inverse of the local depth of the water column at u- and v- points 
    664664      ! ---------------------------------------------------------------------------------- 
    665       hu (:,:) = hu_a (:,:) 
    666       hv (:,:) = hv_a (:,:) 
     665      hu(:,:) = hu_a(:,:) 
     666      hv(:,:) = hv_a(:,:) 
    667667 
    668668      ! Inverse of the local depth 
     
    680680      ! ============= 
    681681      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(:,:,:) ) 
    684684      CALL iom_put( "e3tdef"  , z_e3t_def(:,:,:) ) 
    685685 
     
    10571057         !                                             ! ===================== 
    10581058      !! acc 
    1059          IF( nn_cla == 0 ) THEN 
    1060             ! 
    10611059            ii0 = 139   ;   ii1 = 140        ! Gibraltar Strait (e2u was modified) 
    10621060            ij0 = 102   ;   ij1 = 102 
     
    11051103               END DO 
    11061104            END DO 
    1107          ENDIF 
    11081105 
    11091106         ii0 = 145   ;   ii1 = 146        ! Danish Straits (e2u was modified) 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r5040 r5282  
    507507            IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN    ! ORCA R2 configuration 
    508508               !                                             ! ===================== 
    509                IF( nn_cla == 0 ) THEN 
    510                   ii0 = 140   ;   ii1 = 140                  ! Gibraltar Strait open  
     509                  ii0 = 140   ;   ii1 = 140                  ! Gibraltar Strait open 
    511510                  ij0 = 102   ;   ij1 = 102                  ! (Thomson, Ocean Modelling, 1995) 
    512511                  DO ji = mi0(ii0), mi1(ii1) 
     
    527526                  IF(lwp) WRITE(numout,*) 
    528527                  IF(lwp) WRITE(numout,*) '      orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 
    529                ENDIF 
    530528               ! 
    531529            ENDIF 
     
    548546            IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN    ! ORCA R2 configuration 
    549547               ! 
    550               IF( nn_cla == 0 ) THEN 
    551                  ii0 = 140   ;   ii1 = 140                   ! Gibraltar Strait open  
     548                 ii0 = 140   ;   ii1 = 140                   ! Gibraltar Strait open 
    552549                 ij0 = 102   ;   ij1 = 102                   ! (Thomson, Ocean Modelling, 1995) 
    553550                 DO ji = mi0(ii0), mi1(ii1) 
     
    568565                 IF(lwp) WRITE(numout,*) 
    569566                 IF(lwp) WRITE(numout,*) '             orca_r2: Bab el Mandeb strait open at i=',ii0,' j=',ij0 
    570               ENDIF 
    571567              ! 
    572568           ENDIF 
     
    19951991 
    19961992      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(:,:) ) 
    20011997         WRITE(numout,*) ' MAX val hbat  t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ),  & 
    20021998            &                        ' u ',   MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) 
     
    20682064#endif 
    20692065 
    2070       fsdept(:,:,:) = gdept_0 (:,:,:) 
    2071       fsdepw(:,:,:) = gdepw_0 (:,:,:) 
     2066      fsdept(:,:,:) = gdept_0(:,:,:) 
     2067      fsdepw(:,:,:) = gdepw_0(:,:,:) 
    20722068      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(:,:,:) 
    20802076!! 
    20812077      ! HYBRID :  
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90

    r4990 r5282  
    174174            END DO 
    175175         END DO 
    176          IF( nn_cla == 1 ) THEN                          ! Cross Land advection 
    177             il0 = 138   ;   il1 = 138                          ! set T & S profile at Gibraltar Strait 
    178             ij0 = 101   ;   ij1 = 102 
    179             ii0 = 139   ;   ii1 = 139 
    180             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 DO 
    186                END DO 
    187             END DO 
    188             il0 = 164   ;   il1 = 164                          ! set T & S profile at Bab el Mandeb Strait 
    189             ij0 =  87   ;   ij1 =  88 
    190             ii0 = 161   ;   ii1 = 163 
    191             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 DO 
    197                END DO 
    198             END DO 
    199          ELSE                                            ! No Cross Land advection 
    200176            ij0 =  87   ;   ij1 =  96                          ! Reduced temperature in Red Sea 
    201177            ii0 = 148   ;   ii1 = 160 
     
    203179            sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 11:13 ) = 6.5_wp 
    204180            sf_tsd(jp_tem)%fnow( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) , 14:20 ) = 6.0_wp 
    205          ENDIF 
    206181      ENDIF 
    207182      ! 
Note: See TracChangeset for help on using the changeset viewer.