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 3653 for branches/2012/dev_LOCEAN_UKMO_2012/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90 – NEMO

Ignore:
Timestamp:
2012-11-26T11:58:31+01:00 (11 years ago)
Author:
cetlod
Message:

commit the changes from LOCEAN & UKMO merge, see ticket #1021

File:
1 edited

Legend:

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

    r3294 r3653  
    2424   USE trdmld_oce      ! ocean active mixed layer tracers trends variables 
    2525   USE domvvl          ! variable volume 
     26   USE divcur          ! hor. divergence and curl      (div & cur routines) 
    2627 
    2728   IMPLICIT NONE 
     
    3132   PUBLIC   rst_write  ! routine called by step module 
    3233   PUBLIC   rst_read   ! routine called by opa  module 
    33  
    34    LOGICAL, PUBLIC ::   lrst_oce =  .FALSE.   !: logical to control the oce restart write  
    35    INTEGER, PUBLIC ::   numror, numrow        !: logical unit for cean restart (read and write) 
    3634 
    3735   !! * Substitutions 
     
    183181      ENDIF 
    184182      !  
    185                      CALL iom_get( numror, jpdom_autoglo, 'ub'     , ub      )   ! before fields 
    186                      CALL iom_get( numror, jpdom_autoglo, 'vb'     , vb      ) 
    187                      CALL iom_get( numror, jpdom_autoglo, 'tb'     , tsb(:,:,:,jp_tem) ) 
    188                      CALL iom_get( numror, jpdom_autoglo, 'sb'     , tsb(:,:,:,jp_sal) ) 
    189                      CALL iom_get( numror, jpdom_autoglo, 'rotb'   , rotb    ) 
    190                      CALL iom_get( numror, jpdom_autoglo, 'hdivb'  , hdivb   ) 
    191                      CALL iom_get( numror, jpdom_autoglo, 'sshb'   , sshb    ) 
    192       IF( lk_vvl )   CALL iom_get( numror, jpdom_autoglo, 'fse3t_b', fse3t_b(:,:,:) ) 
    193                      ! 
    194                      CALL iom_get( numror, jpdom_autoglo, 'un'     , un      )   ! now    fields 
    195                      CALL iom_get( numror, jpdom_autoglo, 'vn'     , vn      ) 
    196                      CALL iom_get( numror, jpdom_autoglo, 'tn'     , tsn(:,:,:,jp_tem) ) 
    197                      CALL iom_get( numror, jpdom_autoglo, 'sn'     , tsn(:,:,:,jp_sal) ) 
    198                      CALL iom_get( numror, jpdom_autoglo, 'rotn'   , rotn    ) 
    199                      CALL iom_get( numror, jpdom_autoglo, 'hdivn'  , hdivn   ) 
    200                      CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    ) 
    201                      CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop    )   ! now    potential density 
     183      IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 
     184         CALL iom_get( numror, jpdom_autoglo, 'ub'     , ub      )   ! before fields 
     185         CALL iom_get( numror, jpdom_autoglo, 'vb'     , vb      ) 
     186         CALL iom_get( numror, jpdom_autoglo, 'tb'     , tsb(:,:,:,jp_tem) ) 
     187         CALL iom_get( numror, jpdom_autoglo, 'sb'     , tsb(:,:,:,jp_sal) ) 
     188         CALL iom_get( numror, jpdom_autoglo, 'rotb'   , rotb    ) 
     189         CALL iom_get( numror, jpdom_autoglo, 'hdivb'  , hdivb   ) 
     190         CALL iom_get( numror, jpdom_autoglo, 'sshb'   , sshb    ) 
     191         IF( lk_vvl )   CALL iom_get( numror, jpdom_autoglo, 'fse3t_b', fse3t_b(:,:,:) ) 
     192      ELSE 
     193         neuler = 0 
     194      ENDIF 
     195      ! 
     196      CALL iom_get( numror, jpdom_autoglo, 'un'     , un      )   ! now    fields 
     197      CALL iom_get( numror, jpdom_autoglo, 'vn'     , vn      ) 
     198      CALL iom_get( numror, jpdom_autoglo, 'tn'     , tsn(:,:,:,jp_tem) ) 
     199      CALL iom_get( numror, jpdom_autoglo, 'sn'     , tsn(:,:,:,jp_sal) ) 
     200      CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    ) 
     201      IF( iom_varid( numror, 'rotn', ldstop = .FALSE. ) > 0 ) THEN 
     202         CALL iom_get( numror, jpdom_autoglo, 'rotn'   , rotn    ) 
     203         CALL iom_get( numror, jpdom_autoglo, 'hdivn'  , hdivn   ) 
     204      ELSE 
     205         CALL div_cur( 0 )                              ! Horizontal divergence & Relative vorticity 
     206      ENDIF 
     207      IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 
     208         CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop    )   ! now    potential density 
     209      ELSE 
     210         CALL eos    ( tsn, rhd, rhop )    
     211      ENDIF 
    202212#if defined key_zdfkpp 
    203213      IF( iom_varid( numror, 'rhd', ldstop = .FALSE. ) > 0 ) THEN 
    204                      CALL iom_get( numror, jpdom_autoglo, 'rhd'    , rhd     )   ! now    in situ density anomaly 
    205       ELSE 
    206                      CALL eos( tsn, rhd )   ! compute rhd 
     214         CALL iom_get( numror, jpdom_autoglo, 'rhd'    , rhd     )   ! now    in situ density anomaly 
     215      ELSE 
     216         CALL eos( tsn, rhd )   ! compute rhd 
    207217      ENDIF 
    208218#endif 
Note: See TracChangeset for help on using the changeset viewer.