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 2831 for branches/2011/UKMO_MERCATOR_obc_bdy_merge/NEMOGCM/NEMO/OPA_SRC/OBC/obcini.F90 – NEMO

Ignore:
Timestamp:
2011-08-25T18:24:45+02:00 (13 years ago)
Author:
davestorkey
Message:

Change to allow the choice of initial fields as boundary data for
each group of variables (TRA, U2D, U3D) independently.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/UKMO_MERCATOR_obc_bdy_merge/NEMOGCM/NEMO/OPA_SRC/OBC/obcini.F90

    r2818 r2831  
    6767      !! 
    6868      NAMELIST/namobc/ nb_obc, ln_coords_file, cn_coords_file,             & 
    69          &             ln_mask_file, cn_mask_file, nn_dyn2d, nn_dyn3d,    & 
    70          &             nn_tra,                                             & 
     69         &             ln_mask_file, cn_mask_file, nn_dyn2d, nn_dyn2d_dta, & 
     70         &             nn_dyn3d, nn_dyn3d_dta, nn_tra, nn_tra_dta,         &   
    7171#if defined key_lim2 
    72          &             nn_ice_lim2,                                        & 
     72         &             nn_ice_lim2, nn_ice_lim2_dta,                       & 
    7373#endif 
    74          &             nn_tides, ln_vol, ln_clim, nn_dtactl, nn_volctl,    & 
     74         &             nn_tides, ln_vol, ln_clim, nn_volctl,               & 
    7575         &             nn_rimwidth, nn_dmp2d_in, nn_dmp2d_out,             & 
    7676         &             nn_dmp3d_in, nn_dmp3d_out 
     
    8787         &                               ' and general open boundary condition are not compatible' ) 
    8888 
    89       cgrid= (/'T','U','V'/) 
     89      cgrid= (/'t','u','v'/) 
    9090 
    9191      ! ----------------------------------------- 
     
    9999      cn_mask_file(:)   = '' 
    100100      nn_dyn2d(:)       = 0 
     101      nn_dyn2d_dta(:)   = -1  ! uninitialised flag 
    101102      nn_dyn3d(:)       = 0 
     103      nn_dyn3d_dta(:)   = -1  ! uninitialised flag 
    102104      nn_tra(:)         = 0 
     105      nn_tra_dta(:)     = -1  ! uninitialised flag 
    103106#if defined key_lim2 
    104107      nn_ice_lim2(:)    = 0 
     108      nn_ice_lim2_dta(:)= -1  ! uninitialised flag 
    105109#endif 
    106110      ln_vol            = .false. 
    107111      ln_clim(:)        = .false. 
    108       nn_dtactl(:)      = -1  ! uninitialised flag 
    109112      nn_tides(:)       =  0  ! default to no tidal forcing 
    110113      nn_volctl         = -1  ! uninitialised flag 
     
    135138        IF(lwp) WRITE(numout,*) '------ Open boundary data set ',ib_obc,'------'  
    136139 
    137         !                                         ! check type of data used (nn_dtactl value) 
    138         SELECT CASE( nn_dtactl(ib_obc) )                   !  
    139           CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for obc data'         
    140           CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file' 
    141           CASE DEFAULT   ;   CALL ctl_stop( 'nn_dtactl must be 0 or 1' ) 
    142         END SELECT 
    143         IF(lwp) WRITE(numout,*) 
    144  
    145140        IF(lwp) WRITE(numout,*) 'Boundary conditions for barotropic solution:  ' 
    146141        SELECT CASE( nn_dyn2d(ib_obc) )                   
     
    150145          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for nn_dyn2d' ) 
    151146        END SELECT 
     147        IF( nn_dyn2d(ib_obc) .gt. 0 ) THEN 
     148           SELECT CASE( nn_dyn2d_dta(ib_obc) )                   !  
     149              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for obc data'         
     150              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file' 
     151              CASE DEFAULT   ;   CALL ctl_stop( 'nn_dyn2d_dta must be 0 or 1' ) 
     152           END SELECT 
     153        ENDIF 
    152154        IF(lwp) WRITE(numout,*) 
    153155 
     
    158160          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for nn_dyn3d' ) 
    159161        END SELECT 
     162        IF( nn_dyn3d(ib_obc) .gt. 0 ) THEN 
     163           SELECT CASE( nn_dyn3d_dta(ib_obc) )                   !  
     164              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for obc data'         
     165              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file' 
     166              CASE DEFAULT   ;   CALL ctl_stop( 'nn_dyn3d_dta must be 0 or 1' ) 
     167           END SELECT 
     168        ENDIF 
    160169        IF(lwp) WRITE(numout,*) 
    161170 
     
    166175          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for nn_tra' ) 
    167176        END SELECT 
     177        IF( nn_tra(ib_obc) .gt. 0 ) THEN 
     178           SELECT CASE( nn_tra_dta(ib_obc) )                   !  
     179              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for obc data'         
     180              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file' 
     181              CASE DEFAULT   ;   CALL ctl_stop( 'nn_tra_dta must be 0 or 1' ) 
     182           END SELECT 
     183        ENDIF 
    168184        IF(lwp) WRITE(numout,*) 
    169185 
    170186#if defined key_lim2 
    171187        IF(lwp) WRITE(numout,*) 'Boundary conditions for sea ice:  ' 
    172         SELECT CASE( nn_tra(ib_obc) )                   
     188        SELECT CASE( nn_ice_lim2(ib_obc) )                   
    173189          CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      no open boundary condition'         
    174190          CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      Flow Relaxation Scheme' 
    175191          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for nn_tra' ) 
    176192        END SELECT 
     193        IF( nn_ice_lim2(ib_obc) .gt. 0 ) THEN  
     194           SELECT CASE( nn_ice_lim2_dta(ib_obc) )                   !  
     195              CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '      initial state used for obc data'         
     196              CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '      boundary data taken from file' 
     197              CASE DEFAULT   ;   CALL ctl_stop( 'nn_ice_lim2_dta must be 0 or 1' ) 
     198           END SELECT 
     199        ENDIF 
    177200        IF(lwp) WRITE(numout,*) 
    178201#endif 
     
    255278         IF( .NOT. ln_coords_file(ib_obc) ) THEN ! Calculate global index arrays from namelist parameters 
    256279 
    257            !! Calculate global index arrays from namelist parameters 
     280            !! Calculate global index arrays from namelist parameters 
    258281 
    259282         ELSE            ! Read global index arrays from boundary coordinates file. 
Note: See TracChangeset for help on using the changeset viewer.