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 8319 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO – NEMO

Ignore:
Timestamp:
2017-07-11T17:00:44+02:00 (7 years ago)
Author:
clem
Message:

STEP2 (4): remove obsolete features (change time step for the ice => remove numit, nstart, nlast, nitrun and create kt_ice which follows kt)

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r8313 r8319  
    285285 
    286286   !                                     !!** some other parameters  
    287    INTEGER , PUBLIC ::   nstart           !: iteration number of the begining of the run  
    288    INTEGER , PUBLIC ::   nlast            !: iteration number of the end of the run  
    289    INTEGER , PUBLIC ::   nitrun           !: number of iteration 
    290    INTEGER , PUBLIC ::   numit            !: iteration number 
     287   INTEGER , PUBLIC ::   kt_ice           !: iteration number 
    291288   REAL(wp), PUBLIC ::   rdt_ice          !: ice time step 
    292289   REAL(wp), PUBLIC ::   r1_rdtice        !: = 1. / rdt_ice 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limctl.F90

    r8313 r8319  
    297297               WRITE(numout,*) ' masks s,u,v   : ', tmask(ji,jj,1), umask(ji,jj,1), vmask(ji,jj,1) 
    298298               WRITE(numout,*) ' lat - long    : ', gphit(ji,jj), glamt(ji,jj) 
    299                WRITE(numout,*) ' Time step     : ', numit 
    300299               WRITE(numout,*) ' - Ice drift   ' 
    301300               WRITE(numout,*) '   ~~~~~~~~~~~ ' 
     
    348347               WRITE(numout,*) ' Exhaustive state ' 
    349348               WRITE(numout,*) ' lat - long ', gphit(ji,jj), glamt(ji,jj) 
    350                WRITE(numout,*) ' Time step ', numit 
    351349               WRITE(numout,*)  
    352350               WRITE(numout,*) ' - Cell values ' 
     
    412410               WRITE(numout,*) '   ~~~~~~~~~~~~~~~~ ' 
    413411               WRITE(numout,*) ' lat - long ', gphit(ji,jj), glamt(ji,jj) 
    414                WRITE(numout,*) ' Time step ', numit 
    415412               WRITE(numout,*) 
    416413               WRITE(numout,*) ' - Heat fluxes at bottom interface ***' 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdiahsb.F90

    r8316 r8319  
    130130      IF( iom_use('sbgheat_tot') )  CALL iom_put( 'sbgheat_tot' , zbg_stem     )   ! snow heat content                 (1.e20 J) 
    131131      ! 
    132       IF( lrst_ice )   CALL lim_diahsb_rst( numit, 'WRITE' ) 
     132      IF( lrst_ice )   CALL lim_diahsb_rst( 'WRITE', kt_ice ) 
    133133      ! 
    134134      IF( nn_timing == 1 )   CALL timing_stop('lim_diahsb') 
     
    169169      ENDIF 
    170170 
    171       CALL lim_diahsb_rst( nstart, 'READ' )  !* read or initialize all required files 
     171      CALL lim_diahsb_rst( 'READ' )  !* read or initialize all required files 
    172172      ! 
    173173   END SUBROUTINE lim_diahsb_init 
    174174 
    175    SUBROUTINE lim_diahsb_rst( kt, cdrw ) 
     175   SUBROUTINE lim_diahsb_rst( cdrw, kt ) 
    176176     !!--------------------------------------------------------------------- 
    177177     !!                   ***  ROUTINE limdia_rst  *** 
     
    181181     !! ** Method  :   use of IOM library 
    182182     !!---------------------------------------------------------------------- 
    183      INTEGER         , INTENT(in) ::   kt     ! ice time-step 
    184183     CHARACTER(len=*), INTENT(in) ::   cdrw   ! "READ"/"WRITE" flag 
     184     INTEGER         , INTENT(in), OPTIONAL ::   kt     ! ice time-step 
     185     REAL(wp)                     ::   ziter 
     186     INTEGER                      ::   iter 
    185187     ! 
    186188     !!---------------------------------------------------------------------- 
     
    189191        IF( ln_rstart ) THEN                   !* Read the restart file 
    190192           ! 
    191            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    192            IF(lwp) WRITE(numout,*) ' lim_diahsb_rst read at it= ', kt,' date= ', ndastp 
     193           CALL iom_get( numrir, 'kt_ice' , ziter ) 
     194           IF(lwp) WRITE(numout,*) 
     195           IF(lwp) WRITE(numout,*) ' lim_diahsb_rst read at time step = ', ziter 
    193196           IF(lwp) WRITE(numout,*) '~~~~~~~' 
    194197           CALL iom_get( numrir, 'frc_voltop' , frc_voltop  ) 
     
    201204           CALL iom_get( numrir, jpdom_autoglo, 'sal_loc_ini', sal_loc_ini ) 
    202205        ELSE 
    203            IF(lwp) WRITE(numout,*) '~~~~~~~' 
     206           IF(lwp) WRITE(numout,*) 
    204207           IF(lwp) WRITE(numout,*) ' lim_diahsb at initial state ' 
    205208           IF(lwp) WRITE(numout,*) '~~~~~~~' 
     
    219222     ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN   ! Create restart file 
    220223        !                                   ! ------------------- 
    221         IF(lwp) WRITE(numout,*) '~~~~~~~' 
    222         IF(lwp) WRITE(numout,*) ' lim_diahsb_rst write at it= ', kt,' date= ', ndastp 
    223         IF(lwp) WRITE(numout,*) '~~~~~~~' 
    224         CALL iom_rstput( kt, nitrst, numriw, 'frc_voltop' , frc_voltop  ) 
    225         CALL iom_rstput( kt, nitrst, numriw, 'frc_volbot' , frc_volbot  ) 
    226         CALL iom_rstput( kt, nitrst, numriw, 'frc_temtop' , frc_temtop  ) 
    227         CALL iom_rstput( kt, nitrst, numriw, 'frc_tembot' , frc_tembot  ) 
    228         CALL iom_rstput( kt, nitrst, numriw, 'frc_sal'    , frc_sal     ) 
    229         CALL iom_rstput( kt, nitrst, numriw, 'vol_loc_ini', vol_loc_ini ) 
    230         CALL iom_rstput( kt, nitrst, numriw, 'tem_loc_ini', tem_loc_ini ) 
    231         CALL iom_rstput( kt, nitrst, numriw, 'sal_loc_ini', sal_loc_ini ) 
     224        iter = kt + nn_fsbc - 1   ! ice restarts are written at kt == nitrst - nn_fsbc + 1 
     225 
     226        IF( iter == nitrst ) THEN 
     227           IF(lwp) WRITE(numout,*) 
     228           IF(lwp) WRITE(numout,*) ' lim_diahsb_rst write at time step = ', kt 
     229           IF(lwp) WRITE(numout,*) '~~~~~~~' 
     230        ENDIF 
     231 
     232        ! Write in numriw (if iter == nitrst) 
     233        ! ------------------  
     234        CALL iom_rstput( iter, nitrst, numriw, 'frc_voltop' , frc_voltop  ) 
     235        CALL iom_rstput( iter, nitrst, numriw, 'frc_volbot' , frc_volbot  ) 
     236        CALL iom_rstput( iter, nitrst, numriw, 'frc_temtop' , frc_temtop  ) 
     237        CALL iom_rstput( iter, nitrst, numriw, 'frc_tembot' , frc_tembot  ) 
     238        CALL iom_rstput( iter, nitrst, numriw, 'frc_sal'    , frc_sal     ) 
     239        CALL iom_rstput( iter, nitrst, numriw, 'vol_loc_ini', vol_loc_ini ) 
     240        CALL iom_rstput( iter, nitrst, numriw, 'tem_loc_ini', tem_loc_ini ) 
     241        CALL iom_rstput( iter, nitrst, numriw, 'sal_loc_ini', sal_loc_ini ) 
    232242        ! 
    233243     ENDIF 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r8316 r8319  
    945945      IF ( ksmooth == 2 ) THEN 
    946946 
    947          IF ( numit == nit000 + nn_fsbc - 1 ) THEN 
     947         IF ( kt_ice == nit000 ) THEN 
    948948            zstrp1(:,:) = 0._wp 
    949949            zstrp2(:,:) = 0._wp 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90

    r8316 r8319  
    746746      ! lie on the charge ellipse. See Bouillon et al. 08 for more details 
    747747      IF(ln_ctl) THEN 
    748          CALL prt_ctl_info('lim_rhg  : numit  :',ivar1=numit) 
    749          CALL prt_ctl_info('lim_rhg  : nwrite :',ivar1=nwrite) 
    750          CALL prt_ctl_info('lim_rhg  : MOD    :',ivar1=MOD(numit,nwrite)) 
    751          IF( MOD(numit,nwrite) .EQ. 0 ) THEN 
    752             WRITE(charout,FMT="('lim_rhg  :', I4, I6, I1, I1, A10)") 1000, numit, 0, 0, ' ch. ell. ' 
     748         IF( MOD(kt_ice+nn_fsbc-1,nwrite) == 0 ) THEN 
     749            WRITE(charout,FMT="('lim_rhg  :', I4, I6, I1, I1, A10)") 1000, kt_ice, 0, 0, ' ch. ell. ' 
    753750            CALL prt_ctl_info(charout) 
    754751            DO jj = 2, jpjm1 
     
    762759               END DO 
    763760            END DO 
    764             WRITE(charout,FMT="('lim_rhg  :', I4, I6, I1, I1, A10)") 2000, numit, 0, 0, ' ch. ell. ' 
     761            WRITE(charout,FMT="('lim_rhg  :', I4, I6, I1, I1, A10)") 2000, kt_ice, 0, 0, ' ch. ell. ' 
    765762            CALL prt_ctl_info(charout) 
    766763         ENDIF 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r8316 r8319  
    123123      !-----------------------! 
    124124      IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 
     125          
     126         ! Ice model time step 
     127         kt_ice = kt 
    125128 
    126129# if defined key_agrif 
     
    165168         ! --- ice dynamics and transport (except in 1D case) ---! 
    166169         !-------------------------------------------------------! 
    167          numit = numit + nn_fsbc                  ! Ice model time step 
    168          ! 
    169170                                      CALL sbc_lim_diag0       ! set diag of mass, heat and salt fluxes to 0 
    170171                                      CALL lim_rst_opn( kt )   ! Open Ice restart file 
     
    325326      !                                ! Initial sea-ice state 
    326327      IF( .NOT. ln_rstart ) THEN              ! start from rest: sea-ice deduced from sst 
    327          numit = 0 
    328          numit = nit000 - 1 
    329328         CALL lim_istate 
    330329      ELSE                                    ! start from a restart file 
    331330         CALL lim_rst_read 
    332          numit = nit000 - 1 
    333331      ENDIF 
    334332      CALL lim_var_agg(2) 
     
    349347         END DO 
    350348      END DO 
    351       ! 
    352       nstart = numit  + nn_fsbc 
    353       nitrun = nitend - nit000 + 1 
    354       nlast  = numit  + nitrun 
    355       ! 
    356       IF( nstock == 0 )   nstock = nlast + 1 
    357349      ! 
    358350   END SUBROUTINE sbc_lim_init 
Note: See TracChangeset for help on using the changeset viewer.