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 4569 for trunk/NEMOGCM/NEMO – NEMO

Changeset 4569 for trunk/NEMOGCM/NEMO


Ignore:
Timestamp:
2014-03-25T18:43:26+01:00 (10 years ago)
Author:
vichi
Message:

Correct problem with reading mesh_mask in OFF_SRC, Ticket #1253

The reading of mesh mask information is now compliant with the
grid variables written in mesh_mask.nc.
Be aware that if one is using a mesh_mask generated with a previous
version of NEMO (<3.6) variable e3t must be renamed to e3t_0.
This commit also adds information on the date which may be needed
by other biogeochemical models.

Location:
trunk/NEMOGCM/NEMO/OFF_SRC
Files:
2 edited

Legend:

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

    r4322 r4569  
    107107            CALL iom_open( 'mesh_zgr', inum4 ) ! create 'mesh_zgr.nc' 
    108108            CALL iom_open( 'mask'    , inum2 ) ! create 'mask.nc' 
     109 
     110            !                                  ! =========================== 
     111         CASE DEFAULT                          ! return error  
     112            !                                  ! mesh has to be provided 
     113            !                                  ! =========================== 
     114            CALL ctl_stop( ' OFFLINE mode requires the input mesh mask(s). ',   & 
     115            &                                 ' Invalid nn_msh value in the namelist (0 is not allowed)' ) 
    109116 
    110117         END SELECT 
     
    173180            CALL iom_get( inum4, jpdom_unknown, 'esigw', esigw ) 
    174181 
    175             CALL iom_get( inum4, jpdom_data, 'e3t', fse3t_n(:,:,:) ) ! scale factors 
    176             CALL iom_get( inum4, jpdom_data, 'e3u', fse3u_n(:,:,:) ) 
    177             CALL iom_get( inum4, jpdom_data, 'e3v', fse3v_n(:,:,:) ) 
    178             CALL iom_get( inum4, jpdom_data, 'e3w', fse3w_n(:,:,:) ) 
     182            CALL iom_get( inum4, jpdom_data, 'e3t_0', fse3t_n(:,:,:) ) ! scale factors 
     183            CALL iom_get( inum4, jpdom_data, 'e3u_0', fse3u_n(:,:,:) ) 
     184            CALL iom_get( inum4, jpdom_data, 'e3v_0', fse3v_n(:,:,:) ) 
     185            CALL iom_get( inum4, jpdom_data, 'e3w_0', fse3w_n(:,:,:) ) 
    179186 
    180187            CALL iom_get( inum4, jpdom_unknown, 'gdept_1d', gdept_1d ) ! depth 
     
    190197            ! 
    191198            IF( nmsh <= 6 ) THEN                                        ! 3D vertical scale factors 
    192                CALL iom_get( inum4, jpdom_data, 'e3t', fse3t_n(:,:,:) ) 
    193                CALL iom_get( inum4, jpdom_data, 'e3u', fse3u_n(:,:,:) ) 
    194                CALL iom_get( inum4, jpdom_data, 'e3v', fse3v_n(:,:,:) ) 
    195                CALL iom_get( inum4, jpdom_data, 'e3w', fse3w_n(:,:,:) ) 
     199               CALL iom_get( inum4, jpdom_data, 'e3t_0', fse3t_n(:,:,:) ) 
     200               CALL iom_get( inum4, jpdom_data, 'e3u_0', fse3u_n(:,:,:) ) 
     201               CALL iom_get( inum4, jpdom_data, 'e3v_0', fse3v_n(:,:,:) ) 
     202               CALL iom_get( inum4, jpdom_data, 'e3w_0', fse3w_n(:,:,:) ) 
    196203            ELSE                                                        ! 2D bottom scale factors 
    197204               CALL iom_get( inum4, jpdom_data, 'e3t_ps', e3tp ) 
     
    228235            END IF 
    229236 
    230             IF( iom_varid( inum4, 'gdept', ldstop = .FALSE. ) > 0 ) THEN   ! 3D depth of t- and w-level 
    231                CALL iom_get( inum4, jpdom_data, 'gdept', fsdept_n(:,:,:) ) 
    232                CALL iom_get( inum4, jpdom_data, 'gdepw', fsdepw_n(:,:,:) ) 
     237            IF( iom_varid( inum4, 'gdept_0', ldstop = .FALSE. ) > 0 ) THEN   ! 3D depth of t- and w-level 
     238               CALL iom_get( inum4, jpdom_data, 'gdept_0', fsdept_n(:,:,:) ) 
     239               CALL iom_get( inum4, jpdom_data, 'gdepw_0', fsdepw_n(:,:,:) ) 
    233240            ELSE                                                           ! 2D bottom depth 
    234241               CALL iom_get( inum4, jpdom_data, 'hdept', zprt ) 
     
    347354      !! ** Method  :   computes from mbathy with a minimum value of 1 over land 
    348355      !! 
    349       !! ** Action  : - update mbathy: level bathymetry (in level index) 
     356      !! ** Action  :   mbkt, mbku, mbkv :   vertical indices of the deeptest 
     357      !!                                     ocean level at t-, u- & v-points 
     358      !!                                     (min value = 1 over land) 
    350359      !!---------------------------------------------------------------------- 
    351360      ! 
     
    362371      ! 
    363372      mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land) 
    364       ! 
     373      !                                     ! bottom k-index of W-level = mbkt+1 
    365374      DO jj = 1, jpjm1                      ! bottom k-index of u- (v-) level 
    366375         DO ji = 1, jpim1 
  • trunk/NEMOGCM/NEMO/OFF_SRC/istate.F90

    r2528 r4569  
    1212   USE oce             ! ocean dynamics and active tracers  
    1313   USE dom_oce         ! ocean space and time domain  
     14   USE daymod          ! calendar 
    1415 
    1516   IMPLICIT NONE 
     
    4647      rn2  (:,:,:) = 0.e0  
    4748      ! 
     49      CALL day_init                           ! model calendar (using both namelist and restart infos) 
     50 
    4851   END SUBROUTINE istate_init 
    4952 
Note: See TracChangeset for help on using the changeset viewer.