- Timestamp:
- 2020-10-09T12:35:11+02:00 (4 years ago)
- Location:
- branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/ASM/asmbgc.F90
r13318 r13576 1122 1122 #elif defined key_fabm 1123 1123 totalk_tavg(:,:,:) = totalk_tavg(:,:,:) + & 1124 & fabm_get_interior_diagnostic_data(model,jp_fabm_o3ta) / pnumtimes_tavg1124 & model%get_interior_diagnostic_data(jp_fabm_o3ta) / pnumtimes_tavg 1125 1125 totalk_tavg(:,:,:) = totalk_tavg(:,:,:) * tmask(:,:,:) 1126 1126 #endif … … 1167 1167 cchl_p_tavg(:,:,:) = cchl_p(:,:,:) 1168 1168 #elif defined key_fabm 1169 totalk_tavg(:,:,:) = fabm_get_interior_diagnostic_data(model,jp_fabm_o3ta)1169 totalk_tavg(:,:,:) = model%get_interior_diagnostic_data(jp_fabm_o3ta) 1170 1170 totalk_tavg(:,:,:) = totalk_tavg(:,:,:) * tmask(:,:,:) 1171 1171 #endif -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90
r10390 r13576 25 25 USE par_fabm 26 26 USE st2d_fabm, ONLY: fabm_st2dn 27 USE fabm, ONLY: fabm_get_interior_diagnostic_data, &28 & fabm_get_horizontal_diagnostic_data29 27 #endif 30 28 … … 211 209 END DO 212 210 DO jn = 1, jp_fabm_3d 213 fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 211 IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 212 fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(jn) 213 ENDIF 214 214 END DO 215 215 DO jn = 1, jp_fabm_surface … … 220 220 END DO 221 221 DO jn = 1, jp_fabm_2d 222 fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 222 IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 223 fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(jn) 224 ENDIF 223 225 END DO 224 226 #endif … … 327 329 END DO 328 330 DO jn = 1, jp_fabm_3d 329 fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + fabm_get_interior_diagnostic_data(model, jn) 331 IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 332 fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + model%get_interior_diagnostic_data(jn) 333 ENDIF 330 334 END DO 331 335 DO jn = 1, jp_fabm_surface … … 336 340 END DO 337 341 DO jn = 1, jp_fabm_2d 338 fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + fabm_get_horizontal_diagnostic_data(model,jn) 342 IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 343 fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + model%get_horizontal_diagnostic_data(jn) 344 ENDIF 339 345 END DO 340 346 #endif … … 401 407 DO jn = 1, jp_fabm 402 408 zw3d(:,:,:) = fabm_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 403 CALL iom_put( TRIM(model% state_variables(jn)%name)//"25h", zw3d )409 CALL iom_put( TRIM(model%interior_state_variables(jn)%name)//"25h", zw3d ) 404 410 END DO 405 411 DO jn = 1, jp_fabm_3d 406 zw3d(:,:,:) = fabm_3d_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 407 CALL iom_put( TRIM(model%diagnostic_variables(jn)%name)//"25h", zw3d ) 412 IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 413 zw3d(:,:,:) = fabm_3d_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 414 CALL iom_put( TRIM(model%interior_diagnostic_variables(jn)%name)//"25h", zw3d ) 415 ENDIF 408 416 END DO 409 417 DO jn = 1, jp_fabm_surface … … 416 424 END DO 417 425 DO jn = 1, jp_fabm_2d 418 zw2d(:,:) = fabm_2d_25h(:,:,jn)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 419 CALL iom_put( TRIM(model%horizontal_diagnostic_variables(jn)%name)//"25h", zw2d ) 426 IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 427 zw2d(:,:) = fabm_2d_25h(:,:,jn)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 428 CALL iom_put( TRIM(model%horizontal_diagnostic_variables(jn)%name)//"25h", zw2d ) 429 ENDIF 420 430 END DO 421 431 #endif … … 468 478 END DO 469 479 DO jn = 1, jp_fabm_3d 470 fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 480 IF (iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h')) THEN 481 fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(jn) 482 ENDIF 471 483 END DO 472 484 DO jn = 1, jp_fabm_surface … … 477 489 END DO 478 490 DO jn = 1, jp_fabm_2d 479 fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 491 IF (iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h')) THEN 492 fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(jn) 493 ENDIF 480 494 END DO 481 495 #endif -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/DIA/diatmb.F90
r10390 r13576 14 14 USE trc, ONLY: trn 15 15 USE par_fabm 16 USE fabm, ONLY: fabm_get_interior_diagnostic_data17 16 #endif 18 17 … … 172 171 DO jn = 1, jp_fabm 173 172 CALL dia_calctmb( trn(:,:,:,jp_fabm_m1+jn), zwtmb ) 174 CALL iom_put( "top_"//TRIM(model% state_variables(jn)%name) , zwtmb(:,:,1) )175 CALL iom_put( "mid_"//TRIM(model% state_variables(jn)%name) , zwtmb(:,:,2) )176 CALL iom_put( "bot_"//TRIM(model% state_variables(jn)%name) , zwtmb(:,:,3) )173 CALL iom_put( "top_"//TRIM(model%interior_state_variables(jn)%name) , zwtmb(:,:,1) ) 174 CALL iom_put( "mid_"//TRIM(model%interior_state_variables(jn)%name) , zwtmb(:,:,2) ) 175 CALL iom_put( "bot_"//TRIM(model%interior_state_variables(jn)%name) , zwtmb(:,:,3) ) 177 176 END DO 178 177 DO jn = 1, jp_fabm_3d 179 CALL dia_calctmb( fabm_get_interior_diagnostic_data(model, jn), zwtmb ) 180 CALL iom_put( "top_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,1) ) 181 CALL iom_put( "mid_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,2) ) 182 CALL iom_put( "bot_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,3) ) 178 IF ( iom_use('top_'//TRIM(model%interior_diagnostic_variables(jn)%name)) .OR. & 179 & iom_use('mid_'//TRIM(model%interior_diagnostic_variables(jn)%name)) .OR. & 180 & iom_use('bot_'//TRIM(model%interior_diagnostic_variables(jn)%name)) ) THEN 181 CALL dia_calctmb( model%get_interior_diagnostic_data(jn), zwtmb ) 182 CALL iom_put( "top_"//TRIM(model%interior_diagnostic_variables(jn)%name) , zwtmb(:,:,1) ) 183 CALL iom_put( "mid_"//TRIM(model%interior_diagnostic_variables(jn)%name) , zwtmb(:,:,2) ) 184 CALL iom_put( "bot_"//TRIM(model%interior_diagnostic_variables(jn)%name) , zwtmb(:,:,3) ) 185 ENDIF 183 186 END DO 184 187 #endif -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r8059 r13576 32 32 USE wrk_nemo ! Memory Allocation 33 33 USE timing ! Timing 34 #if defined key_fabm 35 USE trc, ONLY: trn ! FABM variables 36 USE par_fabm ! FABM parameters 37 #endif 34 38 35 39 IMPLICIT NONE … … 45 49 LOGICAL , PUBLIC :: ln_qsr_bio !: bio-model light absorption flag 46 50 LOGICAL , PUBLIC :: ln_qsr_ice !: light penetration for ice-model LIM3 (clem) 51 LOGICAL , PUBLIC :: ln_qsr_spec !: spectral model heating from ERSEM 47 52 INTEGER , PUBLIC :: nn_chldta !: use Chlorophyll data (=1) or not (=0) 48 53 INTEGER , PUBLIC :: nn_kd490dta !: use kd490dta data (=1) or not (=0) … … 106 111 REAL(wp) :: zz0, zz1, z1_e3t ! - - 107 112 REAL(wp), POINTER, DIMENSION(:,: ) :: zekb, zekg, zekr 113 REAL(wp), POINTER, DIMENSION(:,:,:) :: zekb_3d, zekg_3d, zekr_3d 108 114 REAL(wp), POINTER, DIMENSION(:,:,:) :: ze0, ze1, ze2, ze3, zea, ztrdt 109 115 !!---------------------------------------------------------------------- … … 113 119 CALL wrk_alloc( jpi, jpj, zekb, zekg, zekr ) 114 120 CALL wrk_alloc( jpi, jpj, jpk, ze0, ze1, ze2, ze3, zea ) 121 CALL wrk_alloc( jpi, jpj, jpk, zekb_3d, zekg_3d, zekr_3d ) 115 122 ! 116 123 IF( kt == nit000 ) THEN … … 150 157 151 158 ! ! ============================================== ! 152 IF( lk_qsr_bio .AND. ln_qsr_bio ) THEN ! bio-model fluxes : all vertical coordinates ! 159 IF( ln_qsr_spec ) THEN ! ERSEM spectral heating ! 160 ! ! ============================================== ! 161 DO jk = 1, jpkm1 162 qsr_hc(:,:,jk) = r1_rau0_rcp * ( etot3(:,:,jk) ) 163 END DO 164 ! Add to the general trend 165 DO jk = 1, jpkm1 166 DO jj = 2, jpjm1 167 DO ji = fs_2, fs_jpim1 ! vector opt. 168 z1_e3t = zfact / fse3t(ji,jj,jk) 169 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + ( qsr_hc_b(ji,jj,jk) + qsr_hc(ji,jj,jk) ) * z1_e3t 170 END DO 171 END DO 172 END DO 173 zea(:,:,:) = etot3(:,:,:) * tmask(:,:,:) 174 DO jk = jpkm1, 1, -1 175 zea(:,:,jk) = zea(:,:,jk) + zea(:,:,jk+1) 176 END DO 177 CALL iom_put( 'qsr3d', zea ) ! Shortwave Radiation 3D distribution 178 IF ( ln_qsr_ice ) THEN 179 DO jj = 1, jpj 180 DO ji = 1, jpi 181 IF ( qsr(ji,jj) /= 0._wp ) THEN 182 fraqsr_1lev(ji,jj) = ( qsr_hc(ji,jj,1) / ( r1_rau0_rcp * qsr(ji,jj) ) ) 183 ELSE 184 fraqsr_1lev(ji,jj) = 1. 185 ENDIF 186 END DO 187 END DO 188 ENDIF 189 ! 190 191 ! ! ============================================== ! 192 ELSEIF( lk_qsr_bio .AND. ln_qsr_bio ) THEN ! bio-model fluxes : all vertical coordinates ! 153 193 ! ! ============================================== ! 154 194 DO jk = 1, jpkm1 … … 185 225 ! ! ------------------------- ! 186 226 ! Set chlorophyl concentration 187 IF( nn_chldta == 1 .OR. lk_vvl ) THEN !* Variable Chlorophyll or ocean volume 188 ! 189 IF( nn_chldta == 1 ) THEN !* Variable Chlorophyll 227 IF( nn_chldta == 2 .OR. nn_chldta == 1 .OR. lk_vvl ) THEN !* Variable Chlorophyll or ocean volume 228 ! 229 IF( nn_chldta == 2 ) THEN 230 DO jk = 1, nksr+1 231 DO jj = 1, jpj 232 DO ji = 1, jpi 233 #if defined key_fabm 234 zchl = trn(ji,jj,jk,jp_fabm_m1+jp_fabm_chl1) + trn(ji,jj,jk,jp_fabm_m1+jp_fabm_chl2) + & 235 & trn(ji,jj,jk,jp_fabm_m1+jp_fabm_chl3) + trn(ji,jj,jk,jp_fabm_m1+jp_fabm_chl4) 236 #endif 237 zchl = MIN( 10. , MAX( 0.03, zchl ) ) 238 irgb = NINT( 41 + 20.*LOG10(zchl) + 1.e-15 ) 239 ! 240 zekb_3d(ji,jj,jk) = rkrgb(1,irgb) 241 zekg_3d(ji,jj,jk) = rkrgb(2,irgb) 242 zekr_3d(ji,jj,jk) = rkrgb(3,irgb) 243 END DO 244 END DO 245 END DO 246 ! 247 ELSEIF( nn_chldta == 1 ) THEN !* Variable Chlorophyll 190 248 ! 191 249 CALL fld_read( kt, 1, sf_chl ) ! Read Chl data and provides it at the current time step … … 219 277 ! 220 278 DO jk = 2, nksr+1 279 IF( nn_chldta == 2 ) THEN 280 zekb(:,:) = zekb_3d(:,:,jk) 281 zekg(:,:) = zekg_3d(:,:,jk) 282 zekr(:,:) = zekr_3d(:,:,jk) 283 ENDIF 221 284 !CDIR NOVERRCHK 222 285 DO jj = 1, jpj … … 237 300 ! clem: store attenuation coefficient of the first ocean level 238 301 IF ( ln_qsr_ice ) THEN 302 IF( nn_chldta == 2 ) THEN 303 zekb(:,:) = zekb_3d(:,:,1) 304 zekg(:,:) = zekg_3d(:,:,1) 305 zekr(:,:) = zekr_3d(:,:,1) 306 ENDIF 239 307 DO jj = 1, jpj 240 308 DO ji = 1, jpi … … 386 454 CALL wrk_dealloc( jpi, jpj, zekb, zekg, zekr ) 387 455 CALL wrk_dealloc( jpi, jpj, jpk, ze0, ze1, ze2, ze3, zea ) 456 CALL wrk_dealloc( jpi, jpj, jpk, zekb_3d, zekg_3d, zekr_3d ) 388 457 ! 389 458 IF( nn_timing == 1 ) CALL timing_stop('tra_qsr') … … 423 492 !! 424 493 NAMELIST/namtra_qsr/ sn_chl, sn_kd490, cn_dir, ln_traqsr, ln_qsr_rgb, ln_qsr_2bd, ln_qsr_bio, ln_qsr_ice, & 425 & nn_chldta, rn_abs, rn_si0, rn_si1, nn_kd490dta494 & ln_qsr_spec, nn_chldta, rn_abs, rn_si0, rn_si1, nn_kd490dta 426 495 !!---------------------------------------------------------------------- 427 496 … … 451 520 WRITE(numout,*) ' 2 band light penetration ln_qsr_2bd = ', ln_qsr_2bd 452 521 WRITE(numout,*) ' bio-model light penetration ln_qsr_bio = ', ln_qsr_bio 522 WRITE(numout,*) ' ERSEM spectral heating model ln_qsr_spec= ', ln_qsr_spec 453 523 WRITE(numout,*) ' light penetration for ice-model LIM3 ln_qsr_ice = ', ln_qsr_ice 454 WRITE(numout,*) ' RGB : Chl data (=1) or cst value (=0) nn_chldta= ', nn_chldta524 WRITE(numout,*) ' RGB: model (2), file (1) or cst (0) chl nn_chldta = ', nn_chldta 455 525 WRITE(numout,*) ' RGB & 2 bands: fraction of light (rn_si1) rn_abs = ', rn_abs 456 526 WRITE(numout,*) ' RGB & 2 bands: shortess depth of extinction rn_si0 = ', rn_si0 … … 470 540 IF( ln_qsr_2bd ) ioptio = ioptio + 1 471 541 IF( ln_qsr_bio ) ioptio = ioptio + 1 542 IF( ln_qsr_spec ) ioptio = ioptio + 1 472 543 IF( nn_kd490dta == 1 ) ioptio = ioptio + 1 473 544 ! … … 478 549 IF( ln_qsr_rgb .AND. nn_chldta == 0 ) nqsr = 1 479 550 IF( ln_qsr_rgb .AND. nn_chldta == 1 ) nqsr = 2 480 IF( ln_qsr_2bd ) nqsr = 3 481 IF( ln_qsr_bio ) nqsr = 4 482 IF( nn_kd490dta == 1 ) nqsr = 5 551 IF( ln_qsr_rgb .AND. nn_chldta == 2 ) nqsr = 3 552 IF( ln_qsr_2bd ) nqsr = 4 553 IF( ln_qsr_bio ) nqsr = 5 554 IF( nn_kd490dta == 1 ) nqsr = 6 555 IF( ln_qsr_spec ) nqsr = 7 483 556 ! 484 557 IF(lwp) THEN ! Print the choice 485 558 WRITE(numout,*) 486 559 IF( nqsr == 1 ) WRITE(numout,*) ' R-G-B light penetration - Constant Chlorophyll' 487 IF( nqsr == 2 ) WRITE(numout,*) ' R-G-B light penetration - Chl data ' 488 IF( nqsr == 3 ) WRITE(numout,*) ' 2 bands light penetration' 489 IF( nqsr == 4 ) WRITE(numout,*) ' bio-model light penetration' 490 IF( nqsr == 5 ) WRITE(numout,*) ' KD490 light penetration' 491 ENDIF 560 IF( nqsr == 2 ) WRITE(numout,*) ' R-G-B light penetration - Chl data from file' 561 IF( nqsr == 3 ) WRITE(numout,*) ' R-G-B light penetration - Chl data from model' 562 IF( nqsr == 4 ) WRITE(numout,*) ' 2 bands light penetration' 563 IF( nqsr == 5 ) WRITE(numout,*) ' bio-model light penetration' 564 IF( nqsr == 6 ) WRITE(numout,*) ' KD490 light penetration' 565 IF( nqsr == 7 ) WRITE(numout,*) ' ERSEM spectral light penetration' 566 ENDIF 567 #if ! defined key_fabm 568 ! 569 IF( nqsr == 2 ) THEN 570 CALL ctl_stop( 'nn_chldta=2 so trying to use ERSEM chlorophyll for light penetration', & 571 & 'but not running with ERSEM' ) 572 ELSEIF( nqsr == 7 ) THEN 573 CALL ctl_stop( 'ln_qsr_spec=.true. so trying to use ERSEM spectral light penetration', & 574 & 'but not running with ERSEM' ) 575 ENDIF 576 #endif 492 577 ! 493 578 ENDIF … … 536 621 & 'Solar penetration function of read chlorophyll', 'namtra_qsr' ) 537 622 ! 623 ELSEIF( nn_chldta == 2 ) THEN !* Chl data will be got from model at each time step 624 IF(lwp) WRITE(numout,*) 625 IF(lwp) WRITE(numout,*) ' Chlorophyll will be taken from model at each time step' 538 626 ELSE !* constant Chl : compute once for all the distribution of light (etot3) 539 627 IF(lwp) WRITE(numout,*) -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r11277 r13576 158 158 END DO 159 159 #else 160 IF( lk_asminc ) THEN 161 IF( ln_bkgwri ) CALL asm_bkg_wri( nit000 - 1 ) ! Output background fields 162 IF( ln_asmdin ) THEN ! Direct initialization 163 IF( ln_trainc ) CALL tra_asm_inc( nit000 - 1 ) ! Tracers 164 IF( ln_dyninc ) CALL dyn_asm_inc( nit000 - 1 ) ! Dynamics 165 IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 ) ! SSH 166 IF( lk_bgcinc ) CALL bgc_asm_inc( nit000 - 1 ) ! BGC 167 ENDIF 168 ENDIF 160 ! Initial call to assimilation routines moved to stp 169 161 170 162 #if defined key_agrif … … 493 485 IF( lk_diaobs ) THEN ! Observation & model comparison 494 486 CALL dia_obs_init ! Initialize observational data 495 CALL dia_obs( nit000 - 1 ) ! Observation operator for restart 496 ENDIF 497 498 ! ! Assimilation increments 499 IF( lk_asminc ) THEN 500 #if defined key_shelf 501 CALL zdf_mxl_tref() ! Initialization of hmld_tref 502 #endif 503 CALL asm_inc_init ! Initialize assimilation increments 504 ENDIF 487 ! Initial call to dia_obs moved to stp 488 ENDIF 489 490 ! Initialisation of assimilation moved to stp 505 491 506 492 IF(lwp) WRITE(numout,*) 'Euler time step switch is ', neuler 507 CALL dia_tmb_init ! TMB outputs508 CALL dia_25h_init ! 25h mean outputs509 CALL dia_diaopfoam_init ! FOAM operational output493 494 ! Initialisation of tmb/25h/diaopfoam outputs moved to stp 495 510 496 ! 511 497 END SUBROUTINE nemo_init -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/step.F90
r11277 r13576 96 96 CALL iom_init( cxios_context ) ! iom_put initialization 97 97 IF( ln_crs ) CALL iom_init( TRIM(cxios_context)//"_crs" ) ! initialize context for coarse grid 98 99 #if defined key_fabm 100 ! FABM can only finish initialising once IOM has 101 IF ( lk_fabm ) CALL nemo_fabm_start 102 #endif 103 104 ! First call to dia_* and asm_inc_init must wait for FABM to be initialised 105 ! (if running with FABM, but no harm moving the calls to here from nemo_init either way) 106 CALL dia_obs( nit000 - 1 ) ! Observation operator for restart 107 108 IF( lk_asminc ) THEN 109 #if defined key_shelf 110 CALL zdf_mxl_tref() ! Initialization of hmld_tref 111 #endif 112 CALL asm_inc_init ! Initialize assimilation increments 113 IF( ln_bkgwri ) CALL asm_bkg_wri( nit000 - 1 ) ! Output background fields 114 IF( ln_asmdin ) THEN ! Direct initialization 115 IF( ln_trainc ) CALL tra_asm_inc( nit000 - 1 ) ! Tracers 116 IF( ln_dyninc ) CALL dyn_asm_inc( nit000 - 1 ) ! Dynamics 117 IF( ln_sshinc ) CALL ssh_asm_inc( nit000 - 1 ) ! SSH 118 IF( lk_bgcinc ) CALL bgc_asm_inc( nit000 - 1 ) ! BGC 119 ENDIF 120 ENDIF 121 122 CALL dia_tmb_init ! TMB outputs 123 CALL dia_25h_init ! 25h mean outputs 124 CALL dia_diaopfoam_init ! FOAM operational output 98 125 ENDIF 99 126 -
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/step_oce.F90
r11277 r13576 126 126 USE trcstp ! passive tracer time-stepping (trc_stp routine) 127 127 #endif 128 #if defined key_fabm 129 USE par_fabm, ONLY: & ! FABM parameters 130 & lk_fabm 131 USE trcsms_fabm, ONLY: & ! FABM routines 132 & nemo_fabm_start 133 #endif 134 USE diatmb ! Top,middle,bottom output 135 USE dia25h ! 25h mean output 136 USE diaopfoam ! FOAM operational output 128 137 !!---------------------------------------------------------------------- 129 138 !! NEMO/OPA 3.3 , NEMO Consortium (2010)
Note: See TracChangeset
for help on using the changeset viewer.