Changeset 8319 for branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO
- Timestamp:
- 2017-07-11T17:00:44+02:00 (7 years ago)
- 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 285 285 286 286 ! !!** 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 291 288 REAL(wp), PUBLIC :: rdt_ice !: ice time step 292 289 REAL(wp), PUBLIC :: r1_rdtice !: = 1. / rdt_ice -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limctl.F90
r8313 r8319 297 297 WRITE(numout,*) ' masks s,u,v : ', tmask(ji,jj,1), umask(ji,jj,1), vmask(ji,jj,1) 298 298 WRITE(numout,*) ' lat - long : ', gphit(ji,jj), glamt(ji,jj) 299 WRITE(numout,*) ' Time step : ', numit300 299 WRITE(numout,*) ' - Ice drift ' 301 300 WRITE(numout,*) ' ~~~~~~~~~~~ ' … … 348 347 WRITE(numout,*) ' Exhaustive state ' 349 348 WRITE(numout,*) ' lat - long ', gphit(ji,jj), glamt(ji,jj) 350 WRITE(numout,*) ' Time step ', numit351 349 WRITE(numout,*) 352 350 WRITE(numout,*) ' - Cell values ' … … 412 410 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~ ' 413 411 WRITE(numout,*) ' lat - long ', gphit(ji,jj), glamt(ji,jj) 414 WRITE(numout,*) ' Time step ', numit415 412 WRITE(numout,*) 416 413 WRITE(numout,*) ' - Heat fluxes at bottom interface ***' -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limdiahsb.F90
r8316 r8319 130 130 IF( iom_use('sbgheat_tot') ) CALL iom_put( 'sbgheat_tot' , zbg_stem ) ! snow heat content (1.e20 J) 131 131 ! 132 IF( lrst_ice ) CALL lim_diahsb_rst( numit, 'WRITE')132 IF( lrst_ice ) CALL lim_diahsb_rst( 'WRITE', kt_ice ) 133 133 ! 134 134 IF( nn_timing == 1 ) CALL timing_stop('lim_diahsb') … … 169 169 ENDIF 170 170 171 CALL lim_diahsb_rst( nstart,'READ' ) !* read or initialize all required files171 CALL lim_diahsb_rst( 'READ' ) !* read or initialize all required files 172 172 ! 173 173 END SUBROUTINE lim_diahsb_init 174 174 175 SUBROUTINE lim_diahsb_rst( kt, cdrw)175 SUBROUTINE lim_diahsb_rst( cdrw, kt ) 176 176 !!--------------------------------------------------------------------- 177 177 !! *** ROUTINE limdia_rst *** … … 181 181 !! ** Method : use of IOM library 182 182 !!---------------------------------------------------------------------- 183 INTEGER , INTENT(in) :: kt ! ice time-step184 183 CHARACTER(len=*), INTENT(in) :: cdrw ! "READ"/"WRITE" flag 184 INTEGER , INTENT(in), OPTIONAL :: kt ! ice time-step 185 REAL(wp) :: ziter 186 INTEGER :: iter 185 187 ! 186 188 !!---------------------------------------------------------------------- … … 189 191 IF( ln_rstart ) THEN !* Read the restart file 190 192 ! 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 193 196 IF(lwp) WRITE(numout,*) '~~~~~~~' 194 197 CALL iom_get( numrir, 'frc_voltop' , frc_voltop ) … … 201 204 CALL iom_get( numrir, jpdom_autoglo, 'sal_loc_ini', sal_loc_ini ) 202 205 ELSE 203 IF(lwp) WRITE(numout,*) '~~~~~~~'206 IF(lwp) WRITE(numout,*) 204 207 IF(lwp) WRITE(numout,*) ' lim_diahsb at initial state ' 205 208 IF(lwp) WRITE(numout,*) '~~~~~~~' … … 219 222 ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN ! Create restart file 220 223 ! ! ------------------- 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 ) 232 242 ! 233 243 ENDIF -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
r8316 r8319 945 945 IF ( ksmooth == 2 ) THEN 946 946 947 IF ( numit == nit000 + nn_fsbc - 1) THEN947 IF ( kt_ice == nit000 ) THEN 948 948 zstrp1(:,:) = 0._wp 949 949 zstrp2(:,:) = 0._wp -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90
r8316 r8319 746 746 ! lie on the charge ellipse. See Bouillon et al. 08 for more details 747 747 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. ' 753 750 CALL prt_ctl_info(charout) 754 751 DO jj = 2, jpjm1 … … 762 759 END DO 763 760 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. ' 765 762 CALL prt_ctl_info(charout) 766 763 ENDIF -
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
r8316 r8319 123 123 !-----------------------! 124 124 IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 125 126 ! Ice model time step 127 kt_ice = kt 125 128 126 129 # if defined key_agrif … … 165 168 ! --- ice dynamics and transport (except in 1D case) ---! 166 169 !-------------------------------------------------------! 167 numit = numit + nn_fsbc ! Ice model time step168 !169 170 CALL sbc_lim_diag0 ! set diag of mass, heat and salt fluxes to 0 170 171 CALL lim_rst_opn( kt ) ! Open Ice restart file … … 325 326 ! ! Initial sea-ice state 326 327 IF( .NOT. ln_rstart ) THEN ! start from rest: sea-ice deduced from sst 327 numit = 0328 numit = nit000 - 1329 328 CALL lim_istate 330 329 ELSE ! start from a restart file 331 330 CALL lim_rst_read 332 numit = nit000 - 1333 331 ENDIF 334 332 CALL lim_var_agg(2) … … 349 347 END DO 350 348 END DO 351 !352 nstart = numit + nn_fsbc353 nitrun = nitend - nit000 + 1354 nlast = numit + nitrun355 !356 IF( nstock == 0 ) nstock = nlast + 1357 349 ! 358 350 END SUBROUTINE sbc_lim_init
Note: See TracChangeset
for help on using the changeset viewer.