Changeset 5360
- Timestamp:
- 2015-06-05T11:21:28+02:00 (9 years ago)
- Location:
- branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 3 added
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r5325 r5360 29 29 PUBLIC trc_sbc ! routine called by step.F90 30 30 31 REAL(wp) , ALLOCATABLE, SAVE, DIMENSION(:) :: r2dt ! vertical profile time-step, = 2 rdttra31 REAL(wp) :: r2dt ! time-step at surface 32 32 33 33 !! * Substitutions … … 88 88 89 89 IF( ln_top_euler) THEN 90 r2dt (:) = rdttrc(:) ! = rdttrc (use Euler time stepping)90 r2dt = rdttrc(1) ! = rdttrc (use Euler time stepping) 91 91 ELSE 92 92 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 93 r2dt (:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping)94 ELSEIF( kt <= nittrc000 + 1) THEN ! at nittrc000 or nittrc000+195 r2dt (:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog)93 r2dt = rdttrc(1) ! = rdttrc (restarting with Euler time stepping) 94 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ! at nittrc000 or nittrc000+1 95 r2dt = 2. * rdttrc(1) ! = 2 rdttrc (leapfrog) 96 96 ENDIF 97 97 ENDIF … … 125 125 DO ji = fs_2, fs_jpim1 ! vector opt. 126 126 zse3t = 1. / fse3t(ji,jj,1) 127 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * r1_rau0 * tr b(ji,jj,1,jn) * zse3t127 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + zsfx(ji,jj) * r1_rau0 * trn(ji,jj,1,jn) * zse3t 128 128 END DO 129 129 END DO … … 144 144 ztfx = zftra + zswitch * zcd ! net tracer flux (+C/D if no ice/ocean mass exchange) 145 145 146 zdtra = r1_rau0 * ( ztfx + zsfx(ji,jj) * tr b(ji,jj,1,jn) ) * zse3t146 zdtra = r1_rau0 * ( ztfx + zsfx(ji,jj) * trn(ji,jj,1,jn) ) * zse3t 147 147 IF ( zdtra < 0. ) THEN 148 zratio = -zdtra * r2dt (1) / ( trb(ji,jj,1,jn) + zrtrn )148 zratio = -zdtra * r2dt / ( trn(ji,jj,1,jn) + zrtrn ) 149 149 zdtra = MIN(1.0, zratio) * zdtra ! avoid negative concentrations to arise 150 150 ENDIF -
branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/trcice.F90
r5325 r5360 15 15 USE oce_trc ! shared variables between ocean and passive tracers 16 16 USE trc ! passive tracers common variables 17 ! USE trcrst ! passive tracers restart 18 ! USE trcice_cfc ! CFC initialisation 17 USE trcice_cfc ! CFC initialisation 19 18 USE trcice_pisces ! PISCES initialisation 20 ! USE trcice_c14b ! C14 bomb initialisation 21 ! USE trcice_my_trc ! MY_TRC initialisation 22 ! USE trcdta ! initialisation form files 23 ! USE daymod ! calendar manager 24 ! USE zpshde ! partial step: hor. derivative (zps_hde routine) 25 ! USE prtctl_trc ! Print control passive tracers (prt_ctl_trc_init routine) 26 ! USE trcsub ! variables to substep passive tracers 27 ! USE in_out_manager 19 USE trcice_c14b ! C14 bomb initialisation 20 USE trcice_my_trc ! MY_TRC initialisation 28 21 29 22 IMPLICIT NONE … … 58 51 59 52 IF ( nn_ice_tr == 1 ) THEN 60 IF( lk_pisces ) CALL trc_ice_ini_pisces ! PISCES bio-model 61 ! to be written 62 !IF( lk_cfc ) CALL trc_ice_ini_cfc ! CFC tracers 63 !IF( lk_c14b ) CALL trc_ice_ini_c14b ! C14 bomb tracer 64 !IF( lk_my_trc ) CALL trc_ice_ini_my_trc ! MY_TRC tracers 53 IF( lk_pisces ) CALL trc_ice_ini_pisces ! PISCES bio-model 54 IF( lk_cfc ) CALL trc_ice_ini_cfc ! CFC tracers 55 IF( lk_c14b ) CALL trc_ice_ini_c14b ! C14 bomb tracer 56 IF( lk_my_trc ) CALL trc_ice_ini_my_trc ! MY_TRC tracers 65 57 ENDIF 66 58 -
branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r5325 r5360 27 27 USE trd_oce 28 28 USE trdtrc_oce 29 USE trcnam_ice ! Ice module for tracers30 29 USE iom ! I/O manager 31 30 … … 220 219 END SUBROUTINE trc_nam_run 221 220 221 SUBROUTINE trc_nam_ice 222 !!--------------------------------------------------------------------- 223 !! *** ROUTINE trc_nam_ice *** 224 !! 225 !! ** Purpose : Read the namelist for the ice effect on tracers 226 !! 227 !! ** Method : - 228 !! 229 !!--------------------------------------------------------------------- 230 ! --- Variable declarations --- ! 231 INTEGER :: jn ! dummy loop indices 232 INTEGER :: ios ! Local integer output status for namelist read 233 234 ! --- Namelist declarations --- ! 235 TYPE(TRC_I_NML), DIMENSION(jptra) :: sn_tri_tracer 236 NAMELIST/namtrc_ice/ nn_ice_tr, sn_tri_tracer 237 238 IF(lwp) THEN 239 WRITE(numout,*) 240 WRITE(numout,*) 'trc_nam_ice : Read the namelist for trc_ice' 241 WRITE(numout,*) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 242 ENDIF 243 244 IF( nn_timing == 1 ) CALL timing_start('trc_nam_ice') 245 246 ! 247 REWIND( numnat_ref ) ! Namelist namtrc_ice in reference namelist : Passive tracer input data 248 READ ( numnat_ref, namtrc_ice, IOSTAT = ios, ERR = 901) 249 901 IF( ios /= 0 ) CALL ctl_nam ( ios , ' namtrc_ice in reference namelist ', lwp ) 250 251 REWIND( numnat_cfg ) ! Namelist namtrc_ice in configuration namelist : Pisces external sources of nutrients 252 READ ( numnat_cfg, namtrc_ice, IOSTAT = ios, ERR = 902 ) 253 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrc_ice in configuration namelist', lwp ) 254 255 WRITE(numout,*) ' ' 256 WRITE(numout,*) ' Sea ice tracers option (nn_ice_tr) : ', nn_ice_tr 257 WRITE(numout,*) ' ' 258 259 ! Assign namelist stuff 260 DO jn = 1, jptra 261 trc_ice_ratio(jn) = sn_tri_tracer(jn)%trc_ratio 262 trc_ice_prescr(jn) = sn_tri_tracer(jn)%trc_prescr 263 cn_trc_o (jn) = sn_tri_tracer(jn)%ctrc_o 264 END DO 265 266 IF( nn_timing == 1 ) CALL timing_stop('trc_nam_ice') 267 ! 268 END SUBROUTINE trc_nam_ice 222 269 223 270 SUBROUTINE trc_nam_trc
Note: See TracChangeset
for help on using the changeset viewer.