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 454 for trunk/NEMO/OPA_SRC/DOM/domwri.F90 – NEMO

Ignore:
Timestamp:
2006-05-10T18:47:31+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_047:RB: re-organization of coordinate definition, scale factors are now 3d by default, include file for partial steps has been removed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domwri.F90

    r392 r454  
    9898       IF(lwp) WRITE(numout,*) '~~~~~~~' 
    9999 
    100          clnam0 = 'mesh_mask'  ! filename (mesh and mask informations) 
    101          clnam1 = 'mesh'       ! filename (mesh informations) 
    102          clnam2 = 'mask'       ! filename (mask informations) 
    103          clnam3 = 'mesh_hgr'   ! filename (horizontal mesh informations) 
    104          clnam4 = 'mesh_zgr'   ! filename (vertical   mesh informations) 
     100       clnam0 = 'mesh_mask'  ! filename (mesh and mask informations) 
     101       clnam1 = 'mesh'       ! filename (mesh informations) 
     102       clnam2 = 'mask'       ! filename (mask informations) 
     103       clnam3 = 'mesh_hgr'   ! filename (horizontal mesh informations) 
     104       clnam4 = 'mesh_zgr'   ! filename (vertical   mesh informations) 
    105105 
    106106#if defined key_agrif 
    107       if ( .NOT. Agrif_Root() ) then 
    108         clnam0 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam0) 
    109         clnam1 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam1) 
    110         clnam2 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam2) 
    111         clnam3 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam3) 
    112         clnam4 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam4) 
    113       endif 
     107      IF ( .NOT. Agrif_Root() ) THEN 
     108         clnam0 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam0) 
     109         clnam1 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam1) 
     110         clnam2 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam2) 
     111         clnam3 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam3) 
     112         clnam4 = TRIM(Agrif_CFixed())//'_'//TRIM(clnam4) 
     113      ENDIF 
    114114#endif 
    115115 
     
    130130            IF(lwp) WRITE(numout,*) '          one file in "mesh_mask.nc" ' 
    131131            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mesh_mask.nc' file 
    132             &             jpk   , gdept , trim(clnam0)        ,  &   ! in unit inum0 
     132            &             jpk   , gdept_0 , trim(clnam0)        ,  &   ! in unit inum0 
    133133            &             itime , zdate0, rdt   , inum0 , domain_id=nidom ) 
    134134            inum2 = inum0                                            ! put all the informations 
     
    143143            IF(lwp) WRITE(numout,*) '          two files in "mesh.nc" and "mask.nc" ' 
    144144            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mesh.nc' file  
    145             &             jpk   , gdept , trim(clnam1)        ,  &   ! in unit inum1  
     145            &             jpk   , gdept_0 , trim(clnam1)        ,  &   ! in unit inum1  
    146146            &             itime , zdate0, rdt   , inum1, domain_id=nidom ) 
    147147            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mask.nc' file  
    148             &             jpk   , gdept , trim(clnam2)        ,  &   ! in unit inum2  
     148            &             jpk   , gdept_0 , trim(clnam2)        ,  &   ! in unit inum2  
    149149            &             itime , zdate0, rdt   , inum2, domain_id=nidom ) 
    150150            inum3 = inum1                                            ! put mesh informations  
     
    159159            IF(lwp) WRITE(numout,*) '          three files in "mesh_hgr.nc" , mesh_zgr.nc" and "mask.nc" ' 
    160160            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mesh_hgr.nc' file 
    161             &             jpk   , gdept , trim(clnam3)        ,  &   ! in unit inum3 
     161            &             jpk   , gdept_0 , trim(clnam3)        ,  &   ! in unit inum3 
    162162            &             itime , zdate0, rdt   , inum3, domain_id=nidom ) 
    163163            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mesh_zgr.nc' file 
    164             &             jpk   , gdept , trim(clnam4)        ,  &   ! in unit inum4 
     164            &             jpk   , gdept_0 , trim(clnam4)        ,  &   ! in unit inum4 
    165165            &             itime , zdate0, rdt   , inum4, domain_id=nidom ) 
    166166            CALL restini( 'NONE', jpi   , jpj   , glamt, gphit,  &   ! create 'mask.nc' file 
    167             &             jpk   , gdept , trim(clnam2)        ,  &   ! in unit inum2 
     167            &             jpk   , gdept_0 , trim(clnam2)        ,  &   ! in unit inum2 
    168168            &             itime , zdate0, rdt   , inum2, domain_id=nidom ) 
    169169 
     
    201201         CALL restput( inum4, 'mbathy', jpi, jpj, 1, 0, zprt ) 
    202202 
    203 # if defined key_s_coord 
    204          !                                                         ! s-coordinate 
    205          CALL restput( inum4, 'hbatt', jpi, jpj, 1, 0, hbatt )      !    ! depth 
    206          CALL restput( inum4, 'hbatu', jpi, jpj, 1, 0, hbatu )  
    207          CALL restput( inum4, 'hbatv', jpi, jpj, 1, 0, hbatv ) 
    208          CALL restput( inum4, 'hbatf', jpi, jpj, 1, 0, hbatf ) 
    209  
    210          CALL restput( inum4, 'gsigt', 1, 1, jpk, 0, gsigt )        !    ! scaling coef. 
    211          CALL restput( inum4, 'gsigw', 1, 1, jpk, 0, gsigw )   
    212          CALL restput( inum4, 'gsi3w', 1, 1, jpk, 0, gsi3w ) 
    213          CALL restput( inum4, 'esigt', 1, 1, jpk, 0, esigt ) 
    214          CALL restput( inum4, 'esigw', 1, 1, jpk, 0, esigw ) 
    215  
    216 # elif defined key_partial_steps 
    217          !                                                          ! z-coordinate with partial steps 
    218          CALL restput( inum4, 'hdept' , jpi, jpj, 1, 0, hdept  )    !    ! depth 
    219          CALL restput( inum4, 'hdepw' , jpi, jpj, 1, 0, hdepw  )  
    220  
    221          CALL restput( inum4, 'e3t_ps', jpi, jpj, jpk, 0, e3t_ps )  !    ! scale factors 
    222          CALL restput( inum4, 'e3u_ps', jpi, jpj, jpk, 0, e3u_ps ) 
    223          CALL restput( inum4, 'e3v_ps', jpi, jpj, jpk, 0, e3v_ps ) 
    224          CALL restput( inum4, 'e3w_ps', jpi, jpj, jpk, 0, e3w_ps ) 
    225  
    226          CALL restput( inum4, 'gdept' , 1, 1, jpk, 0, gdept )       !    ! reference z-coord. 
    227          CALL restput( inum4, 'gdepw' , 1, 1, jpk, 0, gdepw ) 
    228          CALL restput( inum4, 'e3t'   , 1, 1, jpk, 0, e3t   ) 
    229          CALL restput( inum4, 'e3w'   , 1, 1, jpk, 0, e3w   ) 
    230  
    231 # else 
    232          !                                                          ! z-coordinate  
    233          CALL restput( inum4, 'gdept', 1, 1, jpk, 0, gdept )        !    ! depth 
    234          CALL restput( inum4, 'gdepw', 1, 1, jpk, 0, gdepw ) 
    235          CALL restput( inum4, 'e3t'  , 1, 1, jpk, 0, e3t   )        !    ! scale factors 
    236          CALL restput( inum4, 'e3w'  , 1, 1, jpk, 0, e3w   ) 
    237 # endif 
     203#if ! defined key_zco 
     204         IF( ln_sco ) THEN                                         ! s-coordinate 
     205            CALL restput( inum4, 'hbatt', jpi, jpj, 1, 0, hbatt )      !    ! depth 
     206            CALL restput( inum4, 'hbatu', jpi, jpj, 1, 0, hbatu )  
     207            CALL restput( inum4, 'hbatv', jpi, jpj, 1, 0, hbatv ) 
     208            CALL restput( inum4, 'hbatf', jpi, jpj, 1, 0, hbatf ) 
     209    
     210            CALL restput( inum4, 'gsigt', 1, 1, jpk, 0, gsigt )        !    ! scaling coef. 
     211            CALL restput( inum4, 'gsigw', 1, 1, jpk, 0, gsigw )   
     212            CALL restput( inum4, 'gsi3w', 1, 1, jpk, 0, gsi3w ) 
     213            CALL restput( inum4, 'esigt', 1, 1, jpk, 0, esigt ) 
     214            CALL restput( inum4, 'esigw', 1, 1, jpk, 0, esigw ) 
     215 
     216            CALL restput( inum4, 'e3t', jpi, jpj, jpk, 0, e3t )       !    ! scale factors 
     217            CALL restput( inum4, 'e3u', jpi, jpj, jpk, 0, e3u ) 
     218            CALL restput( inum4, 'e3v', jpi, jpj, jpk, 0, e3v ) 
     219            CALL restput( inum4, 'e3w', jpi, jpj, jpk, 0, e3w ) 
     220 
     221            CALL restput( inum4, 'gdept_0' , jpi, jpj, jpk, 0, gdept_0 )  !    ! stretched system 
     222            CALL restput( inum4, 'gdepw_0' , jpi, jpj, jpk, 0, gdepw_0 ) 
     223         ENDIF 
     224 
     225         IF( ln_zps ) THEN                                         ! z-coordinate - partial steps 
     226            CALL restput( inum4, 'hdept' , jpi, jpj, 1, 0, hdept  )    !    ! depth 
     227            CALL restput( inum4, 'hdepw' , jpi, jpj, 1, 0, hdepw  )  
     228 
     229            CALL restput( inum4, 'e3t' , jpi, jpj, jpk, 0, e3t )      !    ! scale factors 
     230            CALL restput( inum4, 'e3u' , jpi, jpj, jpk, 0, e3u ) 
     231            CALL restput( inum4, 'e3v' , jpi, jpj, jpk, 0, e3v ) 
     232            CALL restput( inum4, 'e3w' , jpi, jpj, jpk, 0, e3w ) 
     233 
     234            CALL restput( inum4, 'gdept_0', 1, 1, jpk, 0, gdept_0 )   !    ! reference z-coord. 
     235            CALL restput( inum4, 'gdepw_0', 1, 1, jpk, 0, gdepw_0 ) 
     236            CALL restput( inum4, 'e3t_0'  , 1, 1, jpk, 0, e3t_0   ) 
     237            CALL restput( inum4, 'e3w_0'  , 1, 1, jpk, 0, e3w_0   ) 
     238         ENDIF 
     239 
     240#endif 
     241 
     242         IF( ln_zco ) THEN 
     243         !                                                         ! z-coordinate - full steps 
     244            CALL restput( inum4, 'gdept_0', 1, 1, jpk, 0, gdept_0 )   !    ! depth 
     245            CALL restput( inum4, 'gdepw_0', 1, 1, jpk, 0, gdepw_0 ) 
     246            CALL restput( inum4, 'e3t_0'  , 1, 1, jpk, 0, e3t_0   )   !    ! scale factors 
     247            CALL restput( inum4, 'e3w_0'  , 1, 1, jpk, 0, e3w_0   ) 
     248         ENDIF 
    238249 
    239250         !                                     ! ============================ 
Note: See TracChangeset for help on using the changeset viewer.