- Timestamp:
- 2017-12-26T17:32:56+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90
r9168 r9169 126 126 !!---------------------------------------------------------------------- 127 127 ! 128 ! Choice of lateral tracer physics129 ! =================================130 !131 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers132 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901)133 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist', lwp )134 !135 REWIND( numnam_cfg ) ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers136 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 )137 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwp )138 IF(lwm) WRITE ( numond, namtra_ldf )139 !140 128 IF(lwp) THEN ! control print 141 129 WRITE(numout,*) 142 130 WRITE(numout,*) 'ldf_tra_init : lateral tracer physics' 143 131 WRITE(numout,*) '~~~~~~~~~~~~ ' 144 WRITE(numout,*) ' Namelist namtra_ldf : lateral mixing parameters (type, direction, coefficients)' 132 ENDIF 133 ! 134 ! Choice of lateral tracer physics 135 ! ================================= 136 ! 137 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers 138 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901) 139 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist', lwp ) 140 REWIND( numnam_cfg ) ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers 141 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 142 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwp ) 143 IF(lwm) WRITE( numond, namtra_ldf ) 144 ! 145 IF(lwp) THEN ! control print 146 WRITE(numout,*) ' Namelist : namtra_ldf --- lateral mixing parameters (type, direction, coefficients)' 145 147 WRITE(numout,*) ' type :' 146 148 WRITE(numout,*) ' no explicit diffusion ln_traldf_NONE = ', ln_traldf_NONE … … 166 168 ! 167 169 IF( ln_traldf_NONE ) THEN 168 IF(lwp) WRITE(numout,*) ' No diffusive operator selected. ahtu and ahtv are not allocated'170 IF(lwp) WRITE(numout,*) ' ==>>> No diffusive operator selected. ahtu and ahtv are not allocated' 169 171 l_ldftra_time = .FALSE. 170 172 RETURN … … 196 198 ! 197 199 CASE( 0 ) !== constant ==! 198 IF(lwp) WRITE(numout,*) ' 200 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = constant = ', rn_aht_0 199 201 ahtu(:,:,:) = zah0 * umask(:,:,:) 200 202 ahtv(:,:,:) = zah0 * vmask(:,:,:) 201 203 ! 202 204 CASE( 10 ) !== fixed profile ==! 203 IF(lwp) WRITE(numout,*) ' 205 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( depth )' 204 206 ahtu(:,:,1) = zah0 * umask(:,:,1) ! constant surface value 205 207 ahtv(:,:,1) = zah0 * vmask(:,:,1) … … 207 209 ! 208 210 CASE ( -20 ) !== fixed horizontal shape read in file ==! 209 IF(lwp) WRITE(numout,*) ' 211 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F(i,j) read in eddy_diffusivity.nc file' 210 212 CALL iom_open( 'eddy_diffusivity_2D.nc', inum ) 211 213 CALL iom_get ( inum, jpdom_data, 'ahtu_2D', ahtu(:,:,1) ) … … 218 220 ! 219 221 CASE( 20 ) !== fixed horizontal shape ==! 220 IF(lwp) WRITE(numout,*) ' 222 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( e1, e2 ) or F( e1^3, e2^3 ) (lap or blp case)' 221 223 IF( ln_traldf_lap ) CALL ldf_c2d( 'TRA', 'LAP', zah0, ahtu, ahtv ) ! surface value proportional to scale factor 222 224 IF( ln_traldf_blp ) CALL ldf_c2d( 'TRA', 'BLP', zah0, ahtu, ahtv ) ! surface value proportional to scale factor 223 225 ! 224 226 CASE( 21 ) !== time varying 2D field ==! 225 IF(lwp) WRITE(numout,*) ' 226 IF(lwp) WRITE(numout,*) ' = F( growth rate of baroclinic instability )'227 IF(lwp) WRITE(numout,*) ' min value = 0.1 * rn_aht_0'228 IF(lwp) WRITE(numout,*) ' max value = rn_aht_0 (rn_aeiv_0 if nn_aei_ijk_t=21)'229 IF(lwp) WRITE(numout,*) ' increased to rn_aht_0 within 20N-20S'227 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( latitude, longitude, time )' 228 IF(lwp) WRITE(numout,*) ' = F( growth rate of baroclinic instability )' 229 IF(lwp) WRITE(numout,*) ' min value = 0.1 * rn_aht_0' 230 IF(lwp) WRITE(numout,*) ' max value = rn_aht_0 (rn_aeiv_0 if nn_aei_ijk_t=21)' 231 IF(lwp) WRITE(numout,*) ' increased to rn_aht_0 within 20N-20S' 230 232 ! 231 233 l_ldftra_time = .TRUE. ! will be calculated by call to ldf_tra routine in step.F90 … … 236 238 ! 237 239 CASE( -30 ) !== fixed 3D shape read in file ==! 238 IF(lwp) WRITE(numout,*) ' 240 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F(i,j,k) read in eddy_diffusivity.nc file' 239 241 CALL iom_open( 'eddy_diffusivity_3D.nc', inum ) 240 242 CALL iom_get ( inum, jpdom_data, 'ahtu_3D', ahtu ) … … 247 249 ! 248 250 CASE( 30 ) !== fixed 3D shape ==! 249 IF(lwp) WRITE(numout,*) ' 251 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( latitude, longitude, depth )' 250 252 IF( ln_traldf_lap ) CALL ldf_c2d( 'TRA', 'LAP', zah0, ahtu, ahtv ) ! surface value proportional to scale factor 251 253 IF( ln_traldf_blp ) CALL ldf_c2d( 'TRA', 'BLP', zah0, ahtu, ahtv ) ! surface value proportional to scale factor … … 254 256 ! 255 257 CASE( 31 ) !== time varying 3D field ==! 256 IF(lwp) WRITE(numout,*) ' 257 IF(lwp) WRITE(numout,*) ' proportional to the velocity : |u|e/12 or |u|e^3/12'258 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( latitude, longitude, depth , time )' 259 IF(lwp) WRITE(numout,*) ' proportional to the velocity : |u|e/12 or |u|e^3/12' 258 260 ! 259 261 l_ldftra_time = .TRUE. ! will be calculated by call to ldf_tra routine in step.F90 … … 382 384 !!---------------------------------------------------------------------- 383 385 ! 386 IF(lwp) THEN ! control print 387 WRITE(numout,*) 388 WRITE(numout,*) 'ldf_eiv_init : eddy induced velocity parametrization' 389 WRITE(numout,*) '~~~~~~~~~~~~ ' 390 ENDIF 391 ! 384 392 REWIND( numnam_ref ) ! Namelist namtra_ldfeiv in reference namelist : eddy induced velocity param. 385 393 READ ( numnam_ref, namtra_ldfeiv, IOSTAT = ios, ERR = 901) … … 392 400 393 401 IF(lwp) THEN ! control print 394 WRITE(numout,*)395 WRITE(numout,*) 'ldf_eiv_init : eddy induced velocity parametrization'396 WRITE(numout,*) '~~~~~~~~~~~~ '397 402 WRITE(numout,*) ' Namelist namtra_ldfeiv : ' 398 403 WRITE(numout,*) ' Eddy Induced Velocity (eiv) param. ln_ldfeiv = ', ln_ldfeiv … … 415 420 ! 416 421 CASE( 0 ) !== constant ==! 417 IF(lwp) WRITE(numout,*) ' 422 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = constant = ', rn_aeiv_0 418 423 aeiu(:,:,:) = rn_aeiv_0 419 424 aeiv(:,:,:) = rn_aeiv_0 420 425 ! 421 426 CASE( 10 ) !== fixed profile ==! 422 IF(lwp) WRITE(numout,*) ' 427 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = F( depth )' 423 428 aeiu(:,:,1) = rn_aeiv_0 ! constant surface value 424 429 aeiv(:,:,1) = rn_aeiv_0 … … 426 431 ! 427 432 CASE ( -20 ) !== fixed horizontal shape read in file ==! 428 IF(lwp) WRITE(numout,*) ' 433 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F(i,j) read in eddy_diffusivity_2D.nc file' 429 434 CALL iom_open ( 'eddy_induced_velocity_2D.nc', inum ) 430 435 CALL iom_get ( inum, jpdom_data, 'aeiu', aeiu(:,:,1) ) … … 437 442 ! 438 443 CASE( 20 ) !== fixed horizontal shape ==! 439 IF(lwp) WRITE(numout,*) ' 444 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( e1, e2 ) or F( e1^3, e2^3 ) (lap or bilap case)' 440 445 CALL ldf_c2d( 'TRA', 'LAP', rn_aeiv_0, aeiu, aeiv ) ! surface value proportional to scale factor 441 446 ! 442 447 CASE( 21 ) !== time varying 2D field ==! 443 IF(lwp) WRITE(numout,*) ' 444 IF(lwp) WRITE(numout,*) ' = F( growth rate of baroclinic instability )'448 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( latitude, longitude, time )' 449 IF(lwp) WRITE(numout,*) ' = F( growth rate of baroclinic instability )' 445 450 ! 446 451 l_ldfeiv_time = .TRUE. ! will be calculated by call to ldf_tra routine in step.F90 447 452 ! 448 453 CASE( -30 ) !== fixed 3D shape read in file ==! 449 IF(lwp) WRITE(numout,*) ' 454 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F(i,j,k) read in eddy_diffusivity_3D.nc file' 450 455 CALL iom_open ( 'eddy_induced_velocity_3D.nc', inum ) 451 456 CALL iom_get ( inum, jpdom_data, 'aeiu', aeiu ) … … 454 459 ! 455 460 CASE( 30 ) !== fixed 3D shape ==! 456 IF(lwp) WRITE(numout,*) ' 461 IF(lwp) WRITE(numout,*) ' ==>>> tracer mixing coef. = F( latitude, longitude, depth )' 457 462 CALL ldf_c2d( 'TRA', 'LAP', rn_aeiv_0, aeiu, aeiv ) ! surface value proportional to scale factor 458 463 ! ! reduction with depth … … 464 469 ! 465 470 ELSE 466 IF(lwp) WRITE(numout,*) ' eddy induced velocity param is NOT used neither diagnosed'471 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity param is NOT used neither diagnosed' 467 472 ln_ldfeiv_dia = .FALSE. 468 473 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.