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 613 for trunk/NEMO/OFF_SRC – NEMO

Changeset 613 for trunk/NEMO/OFF_SRC


Ignore:
Timestamp:
2007-02-21T13:52:34+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_021:CE:taking into account the 3D array of vertical scale factors in case of partial steps

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OFF_SRC/DOM/domrea.F90

    r495 r613  
    9696      REAL(wp), DIMENSION(1,1,jpk) :: & 
    9797         zt1d 
     98#if ! defined key_zco 
     99      INTEGER :: ik 
     100#endif 
    98101      !!---------------------------------------------------------------------- 
    99102 
     
    185188         mbathy(:,:) = zprt(:,:) * tmask(:,:,1) + 1 
    186189 
     190 
     191         ! Vertical coordinates and scales factors 
     192         ! 
     193         CALL iom_get( inum4, jpdom_unknown, 'gdept_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) ! depth 
     194         gdept_0(:) = zt1d(1,1,:)  
     195         CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
     196         gdepw_0(:) = zt1d(1,1,:)  
     197         CALL iom_get( inum4, jpdom_unknown, 'e3t_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
     198         e3t_0(:) = zt1d(1,1,:)  
     199         CALL iom_get( inum4, jpdom_unknown, 'e3w_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
     200         e3w_0(:) = zt1d(1,1,:)  
     201 
    187202#if ! defined key_zco 
     203 
     204         CALL iom_get( inum4, jpdom_data, 'e3t', e3t ) ! scale factors 
     205         CALL iom_get( inum4, jpdom_data, 'e3u', e3u ) 
     206         CALL iom_get( inum4, jpdom_data, 'e3v', e3v ) 
     207         CALL iom_get( inum4, jpdom_data, 'e3w', e3w ) 
     208  
     209         DO jk = 1,jpk 
     210            gdept(:,:,jk) = gdept_0(jk) 
     211            gdepw(:,:,jk) = gdepw_0(jk) 
     212         END DO 
     213          
    188214         IF( ln_sco ) THEN                                         ! s-coordinate 
     215 
    189216            CALL iom_get( inum4, jpdom_data, 'hbatt', hbatt ) 
    190217            CALL iom_get( inum4, jpdom_data, 'hbatu', hbatu ) 
     
    203230            esigw(:) = zt1d(1,1,:)  
    204231 
    205             CALL iom_get( inum4, jpdom_data, 'e3t', e3t ) ! scale factors 
    206             CALL iom_get( inum4, jpdom_data, 'e3u', e3u ) 
    207             CALL iom_get( inum4, jpdom_data, 'e3v', e3v ) 
    208             CALL iom_get( inum4, jpdom_data, 'e3w', e3w ) 
    209  
    210             CALL iom_get( inum4, jpdom_unknown, 'gdept_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) ! depth 
    211             gdept_0(:) = zt1d(1,1,:)  
    212             CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    213             gdepw_0(:) = zt1d(1,1,:)  
    214232         ENDIF 
    215233 
    216          IF( ln_zps ) THEN                                         ! z-coordinate - partial steps 
     234         IF( ln_zps ) THEN    
     235                                      ! z-coordinate - partial steps 
    217236            CALL iom_get( inum4, jpdom_data, 'hdept', hdept )   ! depth 
    218237            CALL iom_get( inum4, jpdom_data, 'hdepw', hdepw ) 
    219  
    220             CALL iom_get( inum4, jpdom_data, 'e3t', e3t ) ! scale factors 
    221             CALL iom_get( inum4, jpdom_data, 'e3u', e3u ) 
    222             CALL iom_get( inum4, jpdom_data, 'e3v', e3v ) 
    223             CALL iom_get( inum4, jpdom_data, 'e3w', e3w ) 
    224             !                                                          ! reference z-coord. 
    225             CALL iom_get( inum4, jpdom_unknown, 'gdept_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) )  
    226             gdept_0(:) = zt1d(1,1,:)  
    227             CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    228             gdepw_0(:) = zt1d(1,1,:)  
    229             CALL iom_get( inum4, jpdom_unknown, 'e3t_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    230             e3t_0(:) = zt1d(1,1,:)  
    231             CALL iom_get( inum4, jpdom_unknown, 'e3w_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    232             e3w_0(:) = zt1d(1,1,:)  
    233   
    234             DO jk = 1,jpk 
    235                gdept(:,:,jk) = gdept(jk) 
    236                gdepw(:,:,jk) = gdepw(jk) 
    237             END DO 
    238238          
    239239            DO jj = 1, jpj 
     
    249249               END DO 
    250250            END DO 
     251 
    251252         ENDIF 
    252253             
    253  
    254 # else 
    255          !                                                                     !  z-coord. 
    256          CALL iom_get( inum4, jpdom_unknown, 'gdept_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) ! depth   
    257          gdept_0(:) = zt1d(1,1,:)  
    258          CALL iom_get( inum4, jpdom_unknown, 'gdepw_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    259          gdepw_0(:) = zt1d(1,1,:)  
    260          CALL iom_get( inum4, jpdom_unknown, 'e3t_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) ! scale factors 
    261          e3t_0(:) = zt1d(1,1,:)  
    262          CALL iom_get( inum4, jpdom_unknown, 'e3w_0', zt1d, kstart=(/1,1,1/), kcount=(/1,1,jpk/) ) 
    263          e3w_0(:) = zt1d(1,1,:)  
    264  
    265254# endif 
    266255 
Note: See TracChangeset for help on using the changeset viewer.