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

Ignore:
Timestamp:
2008-04-11T19:05:03+02:00 (16 years ago)
Author:
ctlod
Message:

merge dev_001_SBC branche with the trunk to include the New Surface Module package, see ticket: #113

File:
1 edited

Legend:

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

    r833 r888  
    1919   USE phycst          ! physical constants 
    2020   USE daymod          ! calendar 
    21    USE ice_oce         ! ice variables 
    22    USE blk_oce         ! bulk variables 
    2321   USE cpl_oce, ONLY : lk_cpl              ! 
    2422   USE in_out_manager  ! I/O manager 
     
    4341   !!---------------------------------------------------------------------- 
    4442   !!  OPA 9.0 , LOCEAN-IPSL (2006)  
    45    !! $Header: /home/opalod/NEMOCVSROOT/NEMO/OPA_SRC/restart.F90,v 1.27 2007/06/05 10:35:19 opalod Exp $  
     43   !! $Id$ 
    4644   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    4745   !!---------------------------------------------------------------------- 
     
    143141      CALL iom_rstput( kt, nitrst, numrow, 'rotn'   , rotn    ) 
    144142      CALL iom_rstput( kt, nitrst, numrow, 'hdivn'  , hdivn   ) 
    145  
    146 #if defined key_lim3 || defined key_lim2 
    147       CALL iom_rstput( kt, nitrst, numrow, 'nfice'  , REAL( nfice, wp) )   !  ice computation frequency 
    148       CALL iom_rstput( kt, nitrst, numrow, 'sst_io' , sst_io  ) 
    149       CALL iom_rstput( kt, nitrst, numrow, 'sss_io' , sss_io  ) 
    150       CALL iom_rstput( kt, nitrst, numrow, 'u_io'   , u_io    ) 
    151       CALL iom_rstput( kt, nitrst, numrow, 'v_io'   , v_io    ) 
    152 # if defined key_coupled 
    153       CALL iom_rstput( kt, nitrst, numrow, 'alb_ice', alb_ice ) 
    154 # endif 
    155 #endif 
    156 #if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core  
    157       CALL iom_rstput( kt, nitrst, numrow, 'nfbulk' , REAL( nfbulk, wp) )   !  bulk computation frequency 
    158       CALL iom_rstput( kt, nitrst, numrow, 'gsst'   , gsst    ) 
    159 #endif 
    160143 
    161144      IF( nn_dynhpg_rst == 1 .OR. lk_vvl ) THEN 
     
    209192      !!                    has been stored in the restart file. 
    210193      !!---------------------------------------------------------------------- 
    211       REAL(wp) ::   zcoef, zkt, zrdt, zrdttra1, zndastp, znfice, znfbulk 
    212 #if defined key_lim3 || defined key_lim2 
    213       INTEGER  ::   ji, jj 
    214 #endif 
     194      REAL(wp) ::   zkt, zrdt, zrdttra1, zndastp 
    215195      !!---------------------------------------------------------------------- 
    216196 
     
    304284      ENDIF 
    305285 
    306       !!sm: TO BE MOVED IN NEW SURFACE MODULE... 
    307  
    308 #if defined key_lim3 || defined key_lim2 
    309       ! Louvain La Neuve Sea Ice Model 
    310       IF( iom_varid( numror, 'nfice', ldstop = .FALSE. ) > 0 ) then  
    311          CALL iom_get( numror             , 'nfice'  , znfice  )   ! ice computation frequency 
    312          CALL iom_get( numror, jpdom_autoglo, 'sst_io' , sst_io  ) 
    313          CALL iom_get( numror, jpdom_autoglo, 'sss_io' , sss_io  ) 
    314          CALL iom_get( numror, jpdom_autoglo, 'u_io'   , u_io    ) 
    315          CALL iom_get( numror, jpdom_autoglo, 'v_io'   , v_io    ) 
    316 # if defined key_coupled 
    317          CALL iom_get( numror, jpdom_autoglo, 'alb_ice', alb_ice ) 
    318 # endif 
    319          IF( znfice /= REAL( nfice, wp ) ) THEN      ! if nfice changed between 2 runs 
    320             zcoef = REAL( nfice-1, wp ) / znfice 
    321             sst_io(:,:) = zcoef * sst_io(:,:) 
    322             sss_io(:,:) = zcoef * sss_io(:,:) 
    323             u_io  (:,:) = zcoef * u_io  (:,:) 
    324             v_io  (:,:) = zcoef * v_io  (:,:) 
    325          ENDIF 
    326       ELSE 
    327          IF(lwp) WRITE(numout,*) 
    328          IF(lwp) WRITE(numout,*) 'rst_read :  LLN sea Ice Model => Ice initialization' 
    329          IF(lwp) WRITE(numout,*) 
    330          zcoef = REAL( nfice-1, wp ) 
    331          sst_io(:,:) = zcoef *( tn(:,:,1) + rt0 )          !!bug a explanation is needed here! 
    332          sss_io(:,:) = zcoef *  sn(:,:,1) 
    333          zcoef = 0.5 * REAL( nfice-1, wp ) 
    334          DO jj = 2, jpj 
    335             DO ji = fs_2, jpi   ! vector opt. 
    336                u_io(ji,jj) = zcoef * ( un(ji-1,jj  ,1) + un(ji-1,jj-1,1) ) 
    337                v_io(ji,jj) = zcoef * ( vn(ji  ,jj-1,1) + vn(ji-1,jj-1,1) ) 
    338             END DO 
    339          END DO 
    340 # if defined key_coupled 
    341          alb_ice(:,:) = 0.8 * tmask(:,:,1) 
    342 # endif 
    343       ENDIF 
    344 #endif 
    345 #if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core  
    346       ! Louvain La Neuve Sea Ice Model 
    347       IF( iom_varid( numror, 'nfbulk', ldstop = .FALSE. ) > 0 ) THEN  
    348          CALL iom_get( numror             , 'nfbulk', znfbulk )   ! bulk computation frequency 
    349          CALL iom_get( numror, jpdom_autoglo, 'gsst'  , gsst    ) 
    350          IF( znfbulk /= REAL(nfbulk, wp) ) THEN      ! if you change nfbulk between 2 runs 
    351             zcoef = REAL( nfbulk-1, wp ) / znfbulk 
    352             gsst(:,:) = zcoef * gsst(:,:) 
    353          ENDIF 
    354       ELSE 
    355          IF(lwp) WRITE(numout,*) 
    356          IF(lwp) WRITE(numout,*) 'rst_read :  LLN sea Ice Model => Ice initialization' 
    357          IF(lwp) WRITE(numout,*) 
    358          gsst(:,:) = REAL( nfbulk - 1, wp )*( tn(:,:,1) + rt0 ) 
    359       ENDIF 
    360 #endif 
    361  
    362       !!sm: end of TO BE MOVED IN NEW SURFACE MODULE... 
    363  
    364286      IF( iom_varid( numror, 'rhd', ldstop = .FALSE. ) > 0 ) THEN 
    365287         CALL iom_get( numror, jpdom_autoglo, 'rhd' , rhd  ) 
Note: See TracChangeset for help on using the changeset viewer.