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 359 for trunk/NEMO/OPA_SRC/restart.F90 – NEMO

Ignore:
Timestamp:
2005-12-21T11:46:45+01:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_033 : RB + CT : Add new surface pressure gradient algorithms

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/restart.F90

    r352 r359  
    2121   USE blk_oce         ! bulk variables 
    2222   USE flx_oce         ! sea-ice/ocean forcings variables 
    23  
    24    USE dynspg_fsc,      ONLY : lk_dynspg_fsc       ! ( mpp version ) 
    25    USE dynspg_fsc_atsk, ONLY : lk_dynspg_fsc_tsk   !  
     23   USE dynspg          ! choice/control of key cpp for surface pressure gradient 
     24   USE dynspg_ts       ! free surface time splitting scheme variables 
    2625   USE cpl_oce,         ONLY : lk_cpl              ! 
    2726 
     
    3736      crestart = 'initial.nc'   ! restart file name 
    3837   !!---------------------------------------------------------------------- 
     38   !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     39   !! $Header$  
     40   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     41   !!---------------------------------------------------------------------- 
     42 
    3943 
    4044CONTAINS 
     
    6973      !!        !  99-11  (M. Imbard)  Original code 
    7074      !!   8.5  !  02-08  (G. Madec)  F90: Free form 
     75      !!   9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
    7176      !!---------------------------------------------------------------------- 
    7277      !! * Modules used 
     
    8489      REAL(wp), DIMENSION(10) ::   zinfo(10) 
    8590      REAL(wp), DIMENSION(jpi,jpj) :: ztab  
    86       !!---------------------------------------------------------------------- 
    87       !!  OPA 9.0 , LOCEAN-IPSL (2005)  
    88       !! $Header$  
    89       !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    9091      !!---------------------------------------------------------------------- 
    9192 
     
    164165         ztab(:,:) = gcxb(1:jpi,1:jpj) 
    165166         CALL restput( numwrs, 'gcxb'   , jpi, jpj, 1  , 0, ztab    ) 
    166 # if defined key_dynspg_fsc 
    167          CALL restput( numwrs, 'sshb'   , jpi, jpj, 1  , 0, sshb    )   ! free surface formulation (ssh) 
    168          CALL restput( numwrs, 'sshn'   , jpi, jpj, 1  , 0, sshn    ) 
    169 # else 
     167# if defined key_dynspg_rl 
    170168         CALL restput( numwrs, 'bsfb'   , jpi, jpj, 1  , 0, bsfb    )   ! Rigid-lid formulation (bsf) 
    171169         CALL restput( numwrs, 'bsfn'   , jpi, jpj, 1  , 0, bsfn    ) 
    172170         CALL restput( numwrs, 'bsfd'   , jpi, jpj, 1  , 0, bsfd    ) 
     171# else 
     172         CALL restput( numwrs, 'sshb'   , jpi, jpj, 1  , 0, sshb    )   ! free surface formulation (ssh) 
     173         CALL restput( numwrs, 'sshn'   , jpi, jpj, 1  , 0, sshn    ) 
     174#  if defined key_dynspg_ts 
     175         CALL restput( numwrs, 'sshb_b' , jpi, jpj, 1  , 0, sshb_b  )   ! free surface formulation (ssh) 
     176         CALL restput( numwrs, 'sshn_b' , jpi, jpj, 1  , 0, sshn_b  )   ! issued from barotropic loop 
     177         CALL restput( numwrs, 'un_b'   , jpi, jpj, 1  , 0, un_b    )   ! horizontal transports 
     178         CALL restput( numwrs, 'vn_b'   , jpi, jpj, 1  , 0, vn_b    )   ! issued from barotropic loop 
     179#  endif 
    173180# endif 
    174181# if defined key_zdftke   ||   defined key_esopa 
     
    212219      !!      - prognostic variables on the second record 
    213220      !!      - elliptic solver arrays  
    214       !!      - barotropic stream function arrays (default option) 
    215       !!        or free surface arrays ("key_dynspg_fsc" defined) 
     221      !!      - barotropic stream function arrays ("key_dynspg_rl" defined) 
     222      !!        or free surface arrays  
    216223      !!      - tke arrays (lk_zdftke=T) 
    217224      !!      for this last three records,  the previous characteristics  
     
    233240      !!        !  99-05  (M. Imbard)  Original code 
    234241      !!   8.5  !  02-09  (G. Madec)  F90: Free form 
     242      !!   9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
    235243      !!---------------------------------------------------------------------- 
    236244      !! * Modules used 
     
    239247      !! * Local declarations 
    240248      LOGICAL ::   llog 
    241       CHARACTER (len=8 ) ::   clvnames(30) 
     249      CHARACTER (len=8 ) ::   clvnames(50) 
    242250      CHARACTER (len=32) ::   clname = 'restart' 
    243251      INTEGER  ::   & 
     
    354362      CALL restget( inum, 'gcx'    , jpi, jpj, 1  , 0, llog, ztab    ) 
    355363      gcx(1:jpi,1:jpj) = ztab(:,:)  
    356 # if defined key_dynspg_fsc 
    357       CALL restget( inum, 'sshb'   , jpi, jpj, 1  , 0, llog, sshb    )   ! free surface formulation (ssh) 
    358       CALL restget( inum, 'sshn'   , jpi, jpj, 1  , 0, llog, sshn    ) 
    359 # else 
     364# if defined key_dynspg_rl 
    360365      CALL restget( inum, 'bsfb'   , jpi, jpj, 1  , 0, llog, bsfb    )   ! Rigid-lid formulation (bsf) 
    361366      CALL restget( inum, 'bsfn'   , jpi, jpj, 1  , 0, llog, bsfn    ) 
    362367      CALL restget( inum, 'bsfd'   , jpi, jpj, 1  , 0, llog, bsfd    ) 
     368# else 
     369      CALL restget( inum, 'sshb'   , jpi, jpj, 1  , 0, llog, sshb    )   ! free surface formulation (ssh) 
     370      CALL restget( inum, 'sshn'   , jpi, jpj, 1  , 0, llog, sshn    ) 
     371#  if defined key_dynspg_ts 
     372      CALL restget( inum, 'sshb_b' , jpi, jpj, 1  , 0, llog, sshb_b  )   ! free surface formulation (ssh) 
     373      CALL restget( inum, 'sshn_b' , jpi, jpj, 1  , 0, llog, sshn_b  )   ! issued from barotropic loop 
     374      CALL restget( inum, 'un_b'   , jpi, jpj, 1  , 0, llog, un_b    )   ! horizontal transports 
     375      CALL restget( inum, 'vn_b'   , jpi, jpj, 1  , 0, llog, vn_b    )   ! issued from barotropic loop 
     376#  endif 
    363377# endif 
    364378# if defined key_zdftke   ||   defined key_esopa 
     
    436450      rotb(:,:,:)=rotn(:,:,:) 
    437451      hdivb(:,:,:)=hdivn(:,:,:) 
    438 #if defined key_dynspg_fsc 
     452#if defined key_dynspg_rl 
     453    ! rigid lid 
     454      bsfb(:,:)=bsfn(:,:) 
     455#else 
    439456    ! free surface formulation (eta) 
    440457      sshb(:,:)=sshn(:,:) 
    441 #else 
    442     ! rigid lid 
    443       bsfb(:,:)=bsfn(:,:) 
    444458#endif 
    445459    ENDIF 
Note: See TracChangeset for help on using the changeset viewer.