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 6060 for branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90 – NEMO

Ignore:
Timestamp:
2015-12-16T10:25:22+01:00 (8 years ago)
Author:
timgraham
Message:

Merged dev_r5836_noc2_VVL_BY_DEFAULT into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/DOM/istate.F90

    r5930 r6060  
    4949 
    5050   !! * Substitutions 
    51 #  include "domzgr_substitute.h90" 
    5251#  include "vectopt_loop_substitute.h90" 
    5352   !!---------------------------------------------------------------------- 
     
    120119            ENDIF 
    121120         ENDIF 
    122          !    
    123          ! - ML - sshn could be modified by istate_eel, so that initialization of fse3t_b is done here 
    124          IF( lk_vvl ) THEN 
     121         ! 
     122!!gm This is to be changed !!!! 
     123         ! - ML - sshn could be modified by istate_eel, so that initialization of e3t_b is done here 
     124         IF( .NOT.ln_linssh ) THEN 
    125125            DO jk = 1, jpk 
    126                fse3t_b(:,:,jk) = fse3t_n(:,:,jk) 
     126               e3t_b(:,:,jk) = e3t_n(:,:,jk) 
    127127            END DO 
    128128         ENDIF 
     129!!gm  
    129130         !  
    130131      ENDIF 
    131       ! 
    132132      !  
    133133      ! Initialize "now" and "before" barotropic velocities: 
    134       ! Do it whatever the free surface method, these arrays 
    135       ! being eventually used 
    136       ! 
     134      ! Do it whatever the free surface method, these arrays being eventually used 
    137135      ! 
    138136      un_b(:,:) = 0._wp   ;   vn_b(:,:) = 0._wp 
    139137      ub_b(:,:) = 0._wp   ;   vb_b(:,:) = 0._wp 
    140138      ! 
     139!!gm  the use of umsak & vmask is not necessary belox as un, vn, ub, vb are always masked 
    141140      DO jk = 1, jpkm1 
    142141         DO jj = 1, jpj 
    143142            DO ji = 1, jpi 
    144                un_b(ji,jj) = un_b(ji,jj) + fse3u_n(ji,jj,jk) * un(ji,jj,jk) * umask(ji,jj,jk) 
    145                vn_b(ji,jj) = vn_b(ji,jj) + fse3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 
     143               un_b(ji,jj) = un_b(ji,jj) + e3u_n(ji,jj,jk) * un(ji,jj,jk) * umask(ji,jj,jk) 
     144               vn_b(ji,jj) = vn_b(ji,jj) + e3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 
    146145               ! 
    147                ub_b(ji,jj) = ub_b(ji,jj) + fse3u_b(ji,jj,jk) * ub(ji,jj,jk) * umask(ji,jj,jk) 
    148                vb_b(ji,jj) = vb_b(ji,jj) + fse3v_b(ji,jj,jk) * vb(ji,jj,jk) * vmask(ji,jj,jk) 
     146               ub_b(ji,jj) = ub_b(ji,jj) + e3u_b(ji,jj,jk) * ub(ji,jj,jk) * umask(ji,jj,jk) 
     147               vb_b(ji,jj) = vb_b(ji,jj) + e3v_b(ji,jj,jk) * vb(ji,jj,jk) * vmask(ji,jj,jk) 
    149148            END DO 
    150149         END DO 
    151150      END DO 
    152151      ! 
    153       un_b(:,:) = un_b(:,:) * hur  (:,:) 
    154       vn_b(:,:) = vn_b(:,:) * hvr  (:,:) 
    155       ! 
    156       ub_b(:,:) = ub_b(:,:) * hur_b(:,:) 
    157       vb_b(:,:) = vb_b(:,:) * hvr_b(:,:) 
    158       ! 
     152      un_b(:,:) = un_b(:,:) * r1_hu_n(:,:) 
     153      vn_b(:,:) = vn_b(:,:) * r1_hv_n(:,:) 
     154      ! 
     155      ub_b(:,:) = ub_b(:,:) * r1_hu_b(:,:) 
     156      vb_b(:,:) = vb_b(:,:) * r1_hv_b(:,:) 
    159157      ! 
    160158      IF( nn_timing == 1 )   CALL timing_stop('istate_init') 
     
    184182      ! 
    185183      DO jk = 1, jpk 
    186          tsn(:,:,jk,jp_tem) = (  ( ( 7.5 - 0. * ABS( gphit(:,:) )/30. ) * ( 1.-TANH((fsdept(:,:,jk)-80.)/30.) )   & 
    187             &                + 10. * ( 5000. - fsdept(:,:,jk) ) /5000.)  ) * tmask(:,:,jk) 
     184         tsn(:,:,jk,jp_tem) = (  ( ( 7.5 - 0. * ABS( gphit(:,:) )/30. ) * ( 1.-TANH((gdept_n(:,:,jk)-80.)/30.) )   & 
     185            &                + 10. * ( 5000. - gdept_n(:,:,jk) ) /5000.)  ) * tmask(:,:,jk) 
    188186         tsb(:,:,jk,jp_tem) = tsn(:,:,jk,jp_tem) 
    189187      END DO 
     
    238236            ! 
    239237            DO jk = 1, jpk 
    240                tsn(:,:,jk,jp_tem) = ( zt2 + zt1 * exp( - fsdept(:,:,jk) / 1000 ) ) * tmask(:,:,jk) 
     238               tsn(:,:,jk,jp_tem) = ( zt2 + zt1 * exp( - gdept_n(:,:,jk) / 1000 ) ) * tmask(:,:,jk) 
    241239               tsb(:,:,jk,jp_tem) = tsn(:,:,jk,jp_tem) 
    242240            END DO 
    243             ! 
    244             IF(lwp) CALL prizre( tsn(:,:,:,jp_tem), jpi   , jpj   , jpk   , jpj/2 ,   & 
    245                &                             1     , jpi   , 5     , 1     , jpk   ,   & 
    246                &                             1     , 1.    , numout                  ) 
    247241            ! 
    248242            ! set salinity field to a constant value 
     
    314308            tsn(:,:,:,jp_tem) = tsb(:,:,:,jp_tem)                            ! set nox temperature to tb 
    315309            ! 
    316             IF(lwp) CALL prizre( tsn(:,:,:,jp_tem), jpi   , jpj   , jpk   , jpj/2 ,   & 
    317                &                            1     , jpi   , 5     , 1     , jpk   ,   & 
    318                &                            1     , 1.    , numout                  ) 
    319             ! 
    320310            ! set salinity field to a constant value 
    321311            ! -------------------------------------- 
     
    363353            DO jj = 1, jpj 
    364354               DO ji = 1, jpi 
    365                   tsn(ji,jj,jk,jp_tem) = (  16. - 12. * TANH( (fsdept(ji,jj,jk) - 400) / 700 )         )   & 
    366                        &           * (-TANH( (500-fsdept(ji,jj,jk)) / 150 ) + 1) / 2               & 
    367                        &       + (      15. * ( 1. - TANH( (fsdept(ji,jj,jk)-50.) / 1500.) )       & 
    368                        &                - 1.4 * TANH((fsdept(ji,jj,jk)-100.) / 100.)               &     
    369                        &                + 7.  * (1500. - fsdept(ji,jj,jk)) / 1500.             )   &  
    370                        &           * (-TANH( (fsdept(ji,jj,jk) - 500) / 150) + 1) / 2 
     355                  tsn(ji,jj,jk,jp_tem) = (  16. - 12. * TANH( (gdept_n(ji,jj,jk) - 400) / 700 )         )   & 
     356                       &           * (-TANH( (500-gdept_n(ji,jj,jk)) / 150 ) + 1) / 2               & 
     357                       &       + (      15. * ( 1. - TANH( (gdept_n(ji,jj,jk)-50.) / 1500.) )       & 
     358                       &                - 1.4 * TANH((gdept_n(ji,jj,jk)-100.) / 100.)               &     
     359                       &                + 7.  * (1500. - gdept_n(ji,jj,jk)) / 1500.             )   &  
     360                       &           * (-TANH( (gdept_n(ji,jj,jk) - 500) / 150) + 1) / 2 
    371361                  tsn(ji,jj,jk,jp_tem) = tsn(ji,jj,jk,jp_tem) * tmask(ji,jj,jk) 
    372362                  tsb(ji,jj,jk,jp_tem) = tsn(ji,jj,jk,jp_tem) 
    373363 
    374                   tsn(ji,jj,jk,jp_sal) =  (  36.25 - 1.13 * TANH( (fsdept(ji,jj,jk) - 305) / 460 )  )  & 
    375                      &              * (-TANH((500 - fsdept(ji,jj,jk)) / 150) + 1) / 2          & 
    376                      &          + (  35.55 + 1.25 * (5000. - fsdept(ji,jj,jk)) / 5000.         & 
    377                      &                - 1.62 * TANH( (fsdept(ji,jj,jk) - 60.  ) / 650. )       & 
    378                      &                + 0.2  * TANH( (fsdept(ji,jj,jk) - 35.  ) / 100. )       & 
    379                      &                + 0.2  * TANH( (fsdept(ji,jj,jk) - 1000.) / 5000.)    )  & 
    380                      &              * (-TANH((fsdept(ji,jj,jk) - 500) / 150) + 1) / 2  
     364                  tsn(ji,jj,jk,jp_sal) =  (  36.25 - 1.13 * TANH( (gdept_n(ji,jj,jk) - 305) / 460 )  )  & 
     365                     &              * (-TANH((500 - gdept_n(ji,jj,jk)) / 150) + 1) / 2          & 
     366                     &          + (  35.55 + 1.25 * (5000. - gdept_n(ji,jj,jk)) / 5000.         & 
     367                     &                - 1.62 * TANH( (gdept_n(ji,jj,jk) - 60.  ) / 650. )       & 
     368                     &                + 0.2  * TANH( (gdept_n(ji,jj,jk) - 35.  ) / 100. )       & 
     369                     &                + 0.2  * TANH( (gdept_n(ji,jj,jk) - 1000.) / 5000.)    )  & 
     370                     &              * (-TANH((gdept_n(ji,jj,jk) - 500) / 150) + 1) / 2  
    381371                  tsn(ji,jj,jk,jp_sal) = tsn(ji,jj,jk,jp_sal) * tmask(ji,jj,jk) 
    382372                  tsb(ji,jj,jk,jp_sal) = tsn(ji,jj,jk,jp_sal) 
     
    451441      zalfg = 0.5 * grav * rau0 
    452442       
    453       zprn(:,:,1) = zalfg * fse3w(:,:,1) * ( 1 + rhd(:,:,1) )       ! Surface value 
     443      zprn(:,:,1) = zalfg * e3w_n(:,:,1) * ( 1 + rhd(:,:,1) )       ! Surface value 
    454444 
    455445      DO jk = 2, jpkm1                                              ! Vertical integration from the surface 
    456446         zprn(:,:,jk) = zprn(:,:,jk-1)   & 
    457             &         + zalfg * fse3w(:,:,jk) * ( 2. + rhd(:,:,jk) + rhd(:,:,jk-1) ) 
     447            &         + zalfg * e3w_n(:,:,jk) * ( 2. + rhd(:,:,jk) + rhd(:,:,jk-1) ) 
    458448      END DO   
    459449 
Note: See TracChangeset for help on using the changeset viewer.