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 2452 for branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/IOM – NEMO

Ignore:
Timestamp:
2010-12-05T12:53:44+01:00 (14 years ago)
Author:
gm
Message:

v3.3beta: move GLS restart write entirely in zdfgls.F90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r2364 r2452  
    1616   !!   rst_read   : read the ocean restart file 
    1717   !!---------------------------------------------------------------------- 
     18   USE oce             ! ocean dynamics and tracers  
    1819   USE dom_oce         ! ocean space and time domain 
    19    USE oce             ! ocean dynamics and tracers  
    2020   USE phycst          ! physical constants 
    2121   USE in_out_manager  ! I/O manager 
    2222   USE iom             ! I/O module 
    23    USE zpshde          ! partial step: hor. derivative (zps_hde routine) 
    2423   USE eosbn2          ! equation of state            (eos bn2 routine) 
    25    USE zdfddm          ! double diffusion mixing  
    26    USE zdfmxl          ! mixed layer depth 
    2724   USE trdmld_oce      ! ocean active mixed layer tracers trends variables 
    2825   USE domvvl          ! variable volume 
    2926   USE traswp          ! swap from 4D T-S to 3D T & S and vice versa 
    30 #if defined key_zdfgls 
    31    USE zdfbfr, ONLY : wbotu, wbotv ! bottom stresses 
    32    USE zdf_oce 
    33 #endif 
    3427 
    3528   IMPLICIT NONE 
     
    4942   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    5043   !! $Id$ 
    51    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    52    !!---------------------------------------------------------------------- 
    53  
     44   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     45   !!---------------------------------------------------------------------- 
    5446CONTAINS 
    5547 
     
    10092            ENDIF 
    10193         ENDIF 
    102  
     94         ! 
    10395         CALL iom_open( clname, numrow, ldwrt = .TRUE., kiolib = jprstlib ) 
    10496         lrst_oce = .TRUE. 
     
    120112      !!---------------------------------------------------------------------- 
    121113 
    122       CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
    123       CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
    124  
    125       CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub      )     ! before fields 
    126       CALL iom_rstput( kt, nitrst, numrow, 'vb'     , vb      ) 
    127       CALL iom_rstput( kt, nitrst, numrow, 'tb'     , tb      ) 
    128       CALL iom_rstput( kt, nitrst, numrow, 'sb'     , sb      ) 
    129       CALL iom_rstput( kt, nitrst, numrow, 'rotb'   , rotb    ) 
    130       CALL iom_rstput( kt, nitrst, numrow, 'hdivb'  , hdivb   ) 
    131       CALL iom_rstput( kt, nitrst, numrow, 'sshb'   , sshb    ) 
    132       IF( lk_vvl ) & 
    133       CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) ) 
    134       ! 
    135       CALL iom_rstput( kt, nitrst, numrow, 'un'     , un      )     ! now fields 
    136       CALL iom_rstput( kt, nitrst, numrow, 'vn'     , vn      ) 
    137       CALL iom_rstput( kt, nitrst, numrow, 'tn'     , tn      ) 
    138       CALL iom_rstput( kt, nitrst, numrow, 'sn'     , sn      ) 
    139       CALL iom_rstput( kt, nitrst, numrow, 'rotn'   , rotn    ) 
    140       CALL iom_rstput( kt, nitrst, numrow, 'hdivn'  , hdivn   ) 
    141       CALL iom_rstput( kt, nitrst, numrow, 'sshn'   , sshn    ) 
    142  
    143       CALL iom_rstput( kt, nitrst, numrow, 'rhop'   , rhop    ) 
     114                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
     115                     CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
     116 
     117                     CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub        )     ! before fields 
     118                     CALL iom_rstput( kt, nitrst, numrow, 'vb'     , vb        ) 
     119                     CALL iom_rstput( kt, nitrst, numrow, 'tb'     , tb        ) 
     120                     CALL iom_rstput( kt, nitrst, numrow, 'sb'     , sb        ) 
     121                     CALL iom_rstput( kt, nitrst, numrow, 'rotb'   , rotb      ) 
     122                     CALL iom_rstput( kt, nitrst, numrow, 'hdivb'  , hdivb     ) 
     123                     CALL iom_rstput( kt, nitrst, numrow, 'sshb'   , sshb      ) 
     124      IF( lk_vvl )   CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) ) 
     125                     ! 
     126                     CALL iom_rstput( kt, nitrst, numrow, 'un'     , un        )     ! now fields 
     127                     CALL iom_rstput( kt, nitrst, numrow, 'vn'     , vn        ) 
     128                     CALL iom_rstput( kt, nitrst, numrow, 'tn'     , tn        ) 
     129                     CALL iom_rstput( kt, nitrst, numrow, 'sn'     , sn        ) 
     130                     CALL iom_rstput( kt, nitrst, numrow, 'rotn'   , rotn      ) 
     131                     CALL iom_rstput( kt, nitrst, numrow, 'hdivn'  , hdivn     ) 
     132                     CALL iom_rstput( kt, nitrst, numrow, 'sshn'   , sshn      ) 
     133                     CALL iom_rstput( kt, nitrst, numrow, 'rhop'   , rhop      ) 
    144134#if defined key_zdfkpp 
    145       CALL iom_rstput( kt, nitrst, numrow, 'rhd'    , rhd     ) 
     135                     CALL iom_rstput( kt, nitrst, numrow, 'rhd'    , rhd       ) 
    146136#endif 
    147  
    148 #if defined key_zdfgls 
    149       ! Save bottom stresses 
    150       CALL iom_rstput( kt, nitrst, numrow, 'wbotu' , wbotu ) 
    151       CALL iom_rstput( kt, nitrst, numrow, 'wbotv' , wbotv ) 
    152 #endif 
    153  
    154137      IF( kt == nitrst ) THEN 
    155138         CALL iom_close( numrow )     ! close the restart file (only at last time step) 
     
    201184      ENDIF 
    202185      !  
    203       CALL iom_get( numror, jpdom_autoglo, 'ub'   , ub    )        ! before fields 
    204       CALL iom_get( numror, jpdom_autoglo, 'vb'   , vb    ) 
    205       CALL iom_get( numror, jpdom_autoglo, 'tb'   , tb    ) 
    206       CALL iom_get( numror, jpdom_autoglo, 'sb'   , sb    ) 
    207       CALL iom_get( numror, jpdom_autoglo, 'rotb' , rotb  ) 
    208       CALL iom_get( numror, jpdom_autoglo, 'hdivb', hdivb ) 
    209       CALL iom_get( numror, jpdom_autoglo, 'sshb' , sshb  ) 
    210       IF( lk_vvl )  & 
    211       CALL iom_get( numror, jpdom_autoglo, 'fse3t_b', fse3t_b(:,:,:) ) 
    212       ! 
    213       CALL iom_get( numror, jpdom_autoglo, 'un'   , un    )        ! now    fields 
    214       CALL iom_get( numror, jpdom_autoglo, 'vn'   , vn    ) 
    215       CALL iom_get( numror, jpdom_autoglo, 'tn'   , tn    ) 
    216       CALL iom_get( numror, jpdom_autoglo, 'sn'   , sn    ) 
    217       CALL iom_get( numror, jpdom_autoglo, 'rotn' , rotn  ) 
    218       CALL iom_get( numror, jpdom_autoglo, 'hdivn', hdivn ) 
    219       CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn  ) 
    220  
    221       CALL iom_get( numror, jpdom_autoglo, 'rhop' , rhop  )        ! now    potential density 
     186                     CALL iom_get( numror, jpdom_autoglo, 'ub'     , ub      )   ! before fields 
     187                     CALL iom_get( numror, jpdom_autoglo, 'vb'     , vb      ) 
     188                     CALL iom_get( numror, jpdom_autoglo, 'tb'     , tb      ) 
     189                     CALL iom_get( numror, jpdom_autoglo, 'sb'     , sb      ) 
     190                     CALL iom_get( numror, jpdom_autoglo, 'rotb'   , rotb    ) 
     191                     CALL iom_get( numror, jpdom_autoglo, 'hdivb'  , hdivb   ) 
     192                     CALL iom_get( numror, jpdom_autoglo, 'sshb'   , sshb    ) 
     193      IF( lk_vvl )   CALL iom_get( numror, jpdom_autoglo, 'fse3t_b', fse3t_b(:,:,:) ) 
     194                     ! 
     195                     CALL iom_get( numror, jpdom_autoglo, 'un'     , un      )   ! now    fields 
     196                     CALL iom_get( numror, jpdom_autoglo, 'vn'     , vn      ) 
     197                     CALL iom_get( numror, jpdom_autoglo, 'tn'     , tn      ) 
     198                     CALL iom_get( numror, jpdom_autoglo, 'sn'     , sn      ) 
     199                     CALL iom_get( numror, jpdom_autoglo, 'rotn'   , rotn    ) 
     200                     CALL iom_get( numror, jpdom_autoglo, 'hdivn'  , hdivn   ) 
     201                     CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    ) 
     202                     CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop    )   ! now    potential density 
    222203#if defined key_zdfkpp 
    223204      IF( iom_varid( numror, 'rhd', ldstop = .FALSE. ) > 0 ) THEN 
    224          CALL iom_get( numror, jpdom_autoglo, 'rhd' , rhd  )       ! now    in situ density anomaly 
     205                     CALL iom_get( numror, jpdom_autoglo, 'rhd'    , rhd     )   ! now    in situ density anomaly 
    225206      ELSE 
    226          CALL tra_swap 
    227          CALL eos( tsn, rhd )   ! compute rhd 
     207                     CALL tra_swap 
     208                     CALL eos( tsn, rhd )   ! compute rhd 
    228209      ENDIF 
    229210#endif 
    230  
     211      ! 
    231212      IF( neuler == 0 ) THEN                                  ! Euler restart (neuler=0) 
    232213         tb   (:,:,:) = tn   (:,:,:)                             ! all before fields set to now values 
     
    240221            DO jk = 1, jpk 
    241222               fse3t_b(:,:,jk) = fse3t_n(:,:,jk) 
    242             ENDDO 
     223            END DO 
    243224         ENDIF 
    244225      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.