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 518 for trunk/NEMO – NEMO

Changeset 518 for trunk/NEMO


Ignore:
Timestamp:
2006-10-05T18:06:06+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_071 : CT : add iom for restart and reorganization of restart

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/C1D_SRC/icestp1d.F90

    r440 r518  
    44   !!   Sea-Ice model : 1D LIM Sea ice model time-stepping 
    55   !!====================================================================== 
     6   !! History :   9.0  !  04-10  (C. Ethe)  from icestp, 1D configuration 
     7   !!---------------------------------------------------------------------- 
    68#if defined key_cfg_1d && defined key_ice_lim 
    79   !!---------------------------------------------------------------------- 
    8    !!   'key_cfg_1d'                                       1D Configuration 
    9    !!   'key_ice_lim' :                                   Lim sea-ice model 
     10   !!   'key_cfg_1d'  .AND.                                1D Configuration 
     11   !!   'key_ice_lim'                                     Lim sea-ice model 
     12   !!---------------------------------------------------------------------- 
    1013   !!---------------------------------------------------------------------- 
    1114   !!   ice_stp_1d       : sea-ice model time-stepping 
    1215   !!---------------------------------------------------------------------- 
    13    USE dom_oce 
    14    USE oce  ! dynamics and tracers variables 
    15    USE in_out_manager 
     16   USE dom_oce         ! ocean space and time domain 
     17   USE oce             ! dynamics and tracers variables 
     18   USE in_out_manager  ! I/O manager 
    1619   USE ice_oce         ! ice variables 
    1720   USE flx_oce         ! forcings variables 
    18    USE dom_ice 
    19    USE cpl_oce 
    20    USE blk_oce 
    21    USE daymod 
     21   USE dom_ice         ! LIM sea-ice domain 
     22   USE cpl_oce         ! coupled ocean-atmosphere variables 
     23   USE blk_oce         ! bulk variables 
     24   USE daymod          ! calendar 
    2225   USE phycst          ! Define parameters for the routines 
    23    USE taumod 
    24    USE ice 
    25    USE iceini 
    26    USE lbclnk 
    27    USE limdyn 
    28    USE limtrp 
     26   USE taumod          ! surface stress forcing 
     27   USE ice             ! ice variables 
     28   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2929   USE limthd 
    3030   USE limflx 
    31    USE limdia 
    3231   USE limwri 
    3332   USE limrst 
    3433 
    35    USE ocesbc 
    36    USE flxmod 
    37    USE flxrnf 
    38    USE tradmp         ! damping salinity trend 
    39    USE dtatem 
    40    USE dtasal 
    41    USE ocfzpt 
     34   USE ocesbc          ! thermohaline fluxes 
     35   USE flxmod          ! thermohaline forcing 
     36   USE flxrnf          ! runoffs forcing 
     37   USE tradmp          ! damping salinity trend 
     38   USE dtatem          ! ocean temperature data 
     39   USE dtasal          ! ocean salinity data 
     40   USE ocfzpt          ! surface ocean freezing point 
    4241   USE prtctl          ! Print control 
    4342 
     
    4645   PRIVATE 
    4746 
    48    !! * Routine accessibility 
    49    PUBLIC ice_stp_1d  ! called by step.F90 
     47   PUBLIC   ice_stp_1d  ! called by step.F90 
    5048 
    5149   !! * Substitutions 
    5250#  include "domzgr_substitute.h90" 
    5351#  include "vectopt_loop_substitute.h90" 
    54    !!----------------------------------------------------- 
    55    !!   LIM 2.0 , UCL-LOCEAN-IPSL (2005)  
     52   !!---------------------------------------------------------------------- 
     53   !!   LIM 2.0 , UCL-LOCEAN-IPSL (2006)  
    5654   !! $Header$  
    57    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
    58    !!----------------------------------------------------- 
     55   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     56   !!---------------------------------------------------------------------- 
    5957 
    6058CONTAINS 
     
    7371      !!              - save the outputs  
    7472      !!              - save the outputs for restart when necessary 
    75       !! 
    76       !! History : 
    77       !!   1.0  !  99-11  (M. Imbard)  Original code 
    78       !!        !  01-03  (D. Ludicone, E. Durand, G. Madec) free surf. 
    79       !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module 
    80       !!   9.0  !  04-10  (C. Ethe) 1D configuration 
    81       !!---------------------------------------------------------------------- 
    82       !! * Arguments 
    83       INTEGER, INTENT( in ) ::   kt         ! ocean time-step index 
    84  
    85       !! * Local declarations 
    86       INTEGER   ::   ji, jj   ! dummy loop indices 
    87  
    88       REAL(wp) , DIMENSION(jpi,jpj)    :: & 
    89          zsss_io, zsss2_io, zsss3_io          ! tempory workspaces 
    90       REAL(wp)  :: ztair2 
     73      !!---------------------------------------------------------------------- 
     74      INTEGER, INTENT(in) ::   kt         ! ocean time-step index 
     75 
     76      INTEGER                      ::   ji, jj                        ! dummy loop indices 
     77      REAL(wp)                     ::   ztair2                        ! temporary scalar 
     78      REAL(wp), DIMENSION(jpi,jpj) ::   zsss_io, zsss2_io, zsss3_io   ! tempory workspaces 
    9179      !!---------------------------------------------------------------------- 
    9280 
     
    113101      v_io  (:,:) = v_io  (:,:) + vn(:,:,1) 
    114102  
    115  
    116103       
    117104      IF( MOD( kt-1, nfice ) == 0 ) THEN 
     
    150137            CALL prt_ctl(tab2d_1=frld    ,clinfo1=' frld   1 : ', tab2d_2=sist    , clinfo2=' sist      : ') 
    151138         ENDIF 
    152  
    153          ! Ice model call 
    154          numit = numit + nfice                                       ! Friction velocity 
    155139                                                                       
    156140         DO jj = 1, jpj 
     
    163147         END DO 
    164148 
     149         !                                                           !-----------------------! 
     150         CALL lim_rst_opn( kt )                                      ! Open Ice restart file ! 
     151         !                                                           !-----------------------! 
     152 
    165153         !                                                           !--------------------! 
    166          CALL lim_thd                                                ! Ice thermodynamics ! 
     154         CALL lim_thd( kt )                                          ! Ice thermodynamics ! 
    167155         !                                                           !--------------------! 
    168156         IF(ln_ctl) THEN 
     
    186174         ENDIF 
    187175         !                                                           !-------------! 
    188          CALL lim_wri                                                ! Ice outputs ! 
     176         CALL lim_wri( kt )                                          ! Ice outputs ! 
    189177         !                                                           !-------------! 
    190178 
    191          IF( MOD( numit, nstock ) == 0 .OR. numit == nlast ) THEN 
    192             !                                                        !------------------! 
    193             CALL lim_rst_write( numit )                              ! Ice restart file ! 
    194             !                                                        !------------------! 
    195          ENDIF 
     179         !                                                           !------------------------! 
     180         IF( lrst_ice ) CALL lim_rst_write( kt )                     ! Write Ice restart file ! 
     181         !                                                           !------------------------! 
    196182 
    197183         ! Re-initialization of forcings 
     
    222208      !! ** Purpose : - Ocean surface boundary conditions with LIM sea-ice 
    223209      !!        model in forced mode using bulk formulea 
    224       !! 
    225       !! History : 
    226       !!   1.0  !  99-11  (M. Imbard)  Original code 
    227       !!        !  01-03  (D. Ludicone, E. Durand, G. Madec) free surf. 
    228       !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module 
    229       !!   9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
    230       !!---------------------------------------------------------------------- 
    231       !! * arguments 
    232       INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    233  
    234       !! * Local declarations 
     210      !!---------------------------------------------------------------------- 
     211      INTEGER, INTENT(in) ::   kt   ! ocean time step 
     212      ! 
    235213      INTEGER  ::   ji, jj                   ! dummy loop indices 
    236214      REAL(wp) ::   ztxy 
     
    297275      u_io  (:,:) = 0.e0 
    298276      v_io  (:,:) = 0.e0 
    299        
    300        
     277      ! 
    301278   END SUBROUTINE oce_sbc_1d 
    302279    
     
    311288      !! ** Purpose : Computation of internal and evaporation damping terms  
    312289      !!        for ocean surface boundary conditions  
    313       !! 
    314       !! History : 
    315       !!   9.0  !  04-01  (G. Madec, C. Ethe)  Original code 
    316       !!   9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
    317       !!---------------------------------------------------------------------- 
    318       !! * Local declarations 
    319       INTEGER ::   ji, jj                   ! dummy loop indices 
     290      !!---------------------------------------------------------------------- 
     291      INTEGER  ::   ji, jj                   ! dummy loop indices 
    320292      REAL(wp) ::   zerp, zsrp 
    321293#if ! defined key_dynspg_rl 
     
    330302      !!---------------------------------------------------------------------- 
    331303 
    332  
    333304      ! sea ice indicator (1 or 0) 
    334305      DO jj = 1, jpj 
     
    417388   END SUBROUTINE oce_sbc_1d 
    418389#endif    
     390 
    419391   !!====================================================================== 
    420392END MODULE icestp1d 
Note: See TracChangeset for help on using the changeset viewer.