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 3839 for branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OFF_SRC – NEMO

Ignore:
Timestamp:
2013-03-14T19:00:38+01:00 (11 years ago)
Author:
gm
Message:

dev_r2739_LOCEAN8_ZTC (z-tilde): #863 correct bugs and rename some variables

Location:
branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OFF_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OFF_SRC/domain.F90

    r2574 r3839  
    247247      !!      vertical scale factors. 
    248248      !! 
    249       !! ** Method  : - reference 1D vertical coordinate (gdep._0, e3._0) 
     249      !! ** Method  : - reference 1D vertical coordinate (gdep._1d, e3._1d) 
    250250      !!              - read/set ocean depth and ocean levels (bathy, mbathy) 
    251251      !!              - vertical coordinate (gdep., e3.) depending on the  
  • branches/2011/dev_r2739_LOCEAN8_ZTC/NEMOGCM/NEMO/OFF_SRC/domrea.F90

    r2715 r3839  
    174174            CALL iom_get( inum4, jpdom_data, 'e3w', e3w ) 
    175175 
    176             CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 ) ! depth 
    177             CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', gdepw_0 ) 
     176            CALL iom_get( inum4, jpdom_unknown, 'gdept_1d', gdept_1d ) ! depth 
     177            CALL iom_get( inum4, jpdom_unknown, 'gdepw_1d', gdepw_1d ) 
    178178         ENDIF 
    179179 
    180180  
    181181         IF( ln_zps ) THEN                                           ! z-coordinate - partial steps 
    182             CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 )    ! reference depth 
    183             CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', gdepw_0 ) 
    184             CALL iom_get( inum4, jpdom_unknown, 'e3t_0'  , e3t_0   )    ! reference scale factors 
    185             CALL iom_get( inum4, jpdom_unknown, 'e3w_0'  , e3w_0   ) 
     182            CALL iom_get( inum4, jpdom_unknown, 'gdept_1d', gdept_1d )    ! reference depth 
     183            CALL iom_get( inum4, jpdom_unknown, 'gdepw_1d', gdepw_1d ) 
     184            CALL iom_get( inum4, jpdom_unknown, 'e3t_1d'  , e3t_1d   )    ! reference scale factors 
     185            CALL iom_get( inum4, jpdom_unknown, 'e3w_1d'  , e3w_1d   ) 
    186186            ! 
    187187            IF( nmsh <= 6 ) THEN                                        ! 3D vertical scale factors 
     
    195195               !                                                        ! deduces the 3D scale factors 
    196196               DO jk = 1, jpk 
    197                   e3t(:,:,jk) = e3t_0(jk)                                     ! set to the ref. factors 
    198                   e3u(:,:,jk) = e3t_0(jk) 
    199                   e3v(:,:,jk) = e3t_0(jk) 
    200                   e3w(:,:,jk) = e3w_0(jk) 
     197                  e3t(:,:,jk) = e3t_1d(jk)                                    ! set to the ref. factors 
     198                  e3u(:,:,jk) = e3t_1d(jk) 
     199                  e3v(:,:,jk) = e3t_1d(jk) 
     200                  e3w(:,:,jk) = e3w_1d(jk) 
    201201               END DO 
    202202               DO jj = 1,jpj                                                  ! adjust the deepest values 
    203203                  DO ji = 1,jpi 
    204204                     ik = mbkt(ji,jj) 
    205                      e3t(ji,jj,ik) = e3tp(ji,jj) * tmask(ji,jj,1) + e3t_0(1) * ( 1._wp - tmask(ji,jj,1) ) 
    206                      e3w(ji,jj,ik) = e3wp(ji,jj) * tmask(ji,jj,1) + e3w_0(1) * ( 1._wp - tmask(ji,jj,1) ) 
     205                     e3t(ji,jj,ik) = e3tp(ji,jj) * tmask(ji,jj,1) + e3t_1d(1) * ( 1._wp - tmask(ji,jj,1) ) 
     206                     e3w(ji,jj,ik) = e3wp(ji,jj) * tmask(ji,jj,1) + e3w_1d(1) * ( 1._wp - tmask(ji,jj,1) ) 
    207207                  END DO 
    208208               END DO 
     
    219219               ! 
    220220               DO jk = 1, jpk                        ! set to z-scale factor if zero (i.e. along closed boundaries) 
    221                   WHERE( e3u(:,:,jk) == 0._wp )   e3u(:,:,jk) = e3t_0(jk) 
    222                   WHERE( e3v(:,:,jk) == 0._wp )   e3v(:,:,jk) = e3t_0(jk) 
     221                  WHERE( e3u(:,:,jk) == 0._wp )   e3u(:,:,jk) = e3t_1d(jk) 
     222                  WHERE( e3v(:,:,jk) == 0._wp )   e3v(:,:,jk) = e3t_1d(jk) 
    223223               END DO 
    224224            END IF 
     
    232232               ! 
    233233               DO jk = 1, jpk                                              ! deduces the 3D depth 
    234                   gdept(:,:,jk) = gdept_0(jk) 
    235                   gdepw(:,:,jk) = gdepw_0(jk) 
     234                  gdept(:,:,jk) = gdept_1d(jk) 
     235                  gdepw(:,:,jk) = gdepw_1d(jk) 
    236236               END DO 
    237237               DO jj = 1, jpj 
     
    250250 
    251251         IF( ln_zco ) THEN           ! Vertical coordinates and scales factors 
    252             CALL iom_get( inum4, jpdom_unknown, 'gdept_0', gdept_0 ) ! depth 
    253             CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', gdepw_0 ) 
    254             CALL iom_get( inum4, jpdom_unknown, 'e3t_0'  , e3t_0   ) 
    255             CALL iom_get( inum4, jpdom_unknown, 'e3w_0'  , e3w_0   ) 
     252            CALL iom_get( inum4, jpdom_unknown, 'gdept_1d', gdept_1d ) ! depth 
     253            CALL iom_get( inum4, jpdom_unknown, 'gdepw_1d', gdepw_1d ) 
     254            CALL iom_get( inum4, jpdom_unknown, 'e3t_1d'  , e3t_1d   ) 
     255            CALL iom_get( inum4, jpdom_unknown, 'e3w_1d'  , e3w_1d   ) 
    256256         ENDIF 
    257257 
    258258!!gm BUG in s-coordinate this does not work! 
    259259      ! deepest/shallowest W level Above/Below ~10m 
    260       zrefdep = 10._wp - ( 0.1_wp * MINVAL(e3w_0) )                  ! ref. depth with tolerance (10% of minimum layer thickness) 
    261       nlb10 = MINLOC( gdepw_0, mask = gdepw_0 > zrefdep, dim = 1 )   ! shallowest W level Below ~10m 
     260      zrefdep = 10._wp - ( 0.1_wp * MINVAL(e3w_1d) )                  ! ref. depth with tolerance (10% of minimum layer thickness) 
     261      nlb10 = MINLOC( gdepw_1d, mask = gdepw_1d > zrefdep, dim = 1 )   ! shallowest W level Below ~10m 
    262262      nla10 = nlb10 - 1                                              ! deepest    W level Above ~10m 
    263263!!gm end bug 
     
    300300         WRITE(numout,*) '              Reference z-coordinate depth and scale factors:' 
    301301         WRITE(numout, "(9x,' level   gdept    gdepw     e3t      e3w  ')" ) 
    302          WRITE(numout, "(10x, i4, 4f9.2)" ) ( jk, gdept_0(jk), gdepw_0(jk), e3t_0(jk), e3w_0(jk), jk = 1, jpk ) 
     302         WRITE(numout, "(10x, i4, 4f9.2)" ) ( jk, gdept_1d(jk), gdepw_1d(jk), e3t_1d(jk), e3w_1d(jk), jk = 1, jpk ) 
    303303      ENDIF 
    304304 
    305305      DO jk = 1, jpk 
    306          IF( e3w_0  (jk) <= 0._wp .OR. e3t_0  (jk) <= 0._wp )   CALL ctl_stop( ' e3w_0 or e3t_0 =< 0 ' ) 
    307          IF( gdepw_0(jk) <  0._wp .OR. gdept_0(jk) <  0._wp )   CALL ctl_stop( ' gdepw_0 or gdept_0 < 0 ' ) 
     306         IF( e3w_1d  (jk) <= 0._wp .OR. e3t_1d  (jk) <= 0._wp )   CALL ctl_stop( ' e3w_1d or e3t_1d =< 0 ' ) 
     307         IF( gdepw_1d(jk) <  0._wp .OR. gdept_1d(jk) <  0._wp )   CALL ctl_stop( ' gdepw_1d or gdept_1d < 0 ' ) 
    308308      END DO 
    309309      !                                     ! ============================ 
Note: See TracChangeset for help on using the changeset viewer.