Changeset 13451
- Timestamp:
- 2020-09-07T18:50:53+02:00 (4 years ago)
- Location:
- branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90
r13241 r13451 209 209 END DO 210 210 DO jn = 1, jp_fabm_3d 211 fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(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 212 214 END DO 213 215 DO jn = 1, jp_fabm_surface … … 218 220 END DO 219 221 DO jn = 1, jp_fabm_2d 220 fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(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 221 225 END DO 222 226 #endif … … 325 329 END DO 326 330 DO jn = 1, jp_fabm_3d 327 fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + model%get_interior_diagnostic_data(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 328 334 END DO 329 335 DO jn = 1, jp_fabm_surface … … 334 340 END DO 335 341 DO jn = 1, jp_fabm_2d 336 fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + model%get_horizontal_diagnostic_data(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 337 345 END DO 338 346 #endif … … 402 410 END DO 403 411 DO jn = 1, jp_fabm_3d 404 zw3d(:,:,:) = fabm_3d_25h(:,:,:,jn)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 405 CALL iom_put( TRIM(model%interior_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 406 416 END DO 407 417 DO jn = 1, jp_fabm_surface … … 414 424 END DO 415 425 DO jn = 1, jp_fabm_2d 416 zw2d(:,:) = fabm_2d_25h(:,:,jn)*tmask(:,:,1) + zmdi*(1.0-tmask(:,:,1)) 417 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 418 430 END DO 419 431 #endif … … 466 478 END DO 467 479 DO jn = 1, jp_fabm_3d 468 fabm_3d_25h(:,:,:,jn) = model%get_interior_diagnostic_data(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 469 483 END DO 470 484 DO jn = 1, jp_fabm_surface … … 475 489 END DO 476 490 DO jn = 1, jp_fabm_2d 477 fabm_2d_25h(:,:,jn) = model%get_horizontal_diagnostic_data(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 478 494 END DO 479 495 #endif -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/OPA_SRC/DIA/diatmb.F90
r13241 r13451 176 176 END DO 177 177 DO jn = 1, jp_fabm_3d 178 CALL dia_calctmb( model%get_interior_diagnostic_data(jn), zwtmb ) 179 CALL iom_put( "top_"//TRIM(model%interior_diagnostic_variables(jn)%name) , zwtmb(:,:,1) ) 180 CALL iom_put( "mid_"//TRIM(model%interior_diagnostic_variables(jn)%name) , zwtmb(:,:,2) ) 181 CALL iom_put( "bot_"//TRIM(model%interior_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 182 186 END DO 183 187 #endif -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r11277 r13451 493 493 IF( lk_diaobs ) THEN ! Observation & model comparison 494 494 CALL dia_obs_init ! Initialize observational data 495 CALL dia_obs( nit000 - 1 ) ! Observation operator for restart495 !CALL dia_obs( nit000 - 1 ) ! Observation operator for restart 496 496 ENDIF 497 497 … … 505 505 506 506 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 output507 !CALL dia_tmb_init ! TMB outputs 508 !CALL dia_25h_init ! 25h mean outputs 509 !CALL dia_diaopfoam_init ! FOAM operational output 510 510 ! 511 511 END SUBROUTINE nemo_init -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/OPA_SRC/step.F90
r11277 r13451 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 IF ( lk_fabm ) CALL nemo_fabm_start 99 CALL dia_obs( nit000 - 1 ) ! Observation operator for restart 100 CALL dia_tmb_init ! TMB outputs 101 CALL dia_25h_init ! 25h mean outputs 102 CALL dia_diaopfoam_init ! FOAM operational output 98 103 ENDIF 99 104 -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/OPA_SRC/step_oce.F90
r11277 r13451 126 126 USE trcstp ! passive tracer time-stepping (trc_stp routine) 127 127 #endif 128 #if defined key_fabm 129 USE par_fabm, ONLY: lk_fabm 130 USE trcsms_fabm, ONLY: nemo_fabm_start 131 #endif 132 USE diatmb ! Top,middle,bottom output 133 USE dia25h ! 25h mean output 134 USE diaopfoam ! FOAM operational output 128 135 !!---------------------------------------------------------------------- 129 136 !! NEMO/OPA 3.3 , NEMO Consortium (2010) -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/TOP_SRC/FABM/trcini_fabm.F90
r13241 r13451 484 484 IMPLICIT NONE 485 485 486 CHARACTER(LEN= 256), INTENT(IN) :: state_name487 488 INTEGER 486 CHARACTER(LEN=*), INTENT(IN) :: state_name 487 488 INTEGER :: jn 489 489 490 490 !!---------------------------------------------------------------------- … … 516 516 IMPLICIT NONE 517 517 518 CHARACTER(LEN= 256), INTENT(IN) :: diag_name519 520 INTEGER 518 CHARACTER(LEN=*), INTENT(IN) :: diag_name 519 520 INTEGER :: jn 521 521 522 522 !!---------------------------------------------------------------------- -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_utils366_fabmv1/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90
r13241 r13451 52 52 PUBLIC trc_sms_fabm_alloc ! called by trcini_fabm.F90 module 53 53 PUBLIC trc_sms_fabm_check_mass ! called by trcwri_fabm.F90 54 PUBLIC nemo_fabm_start 54 55 55 56 ! Work arrays … … 556 557 fabm_st2Db = fabm_st2Dn 557 558 558 ! Pointer to spectral heating term559 swrad => model%get_data(model%get_interior_variable_id(standard_variables%net_rate_of_absorption_of_shortwave_energy_in_layer))560 561 562 559 END FUNCTION trc_sms_fabm_alloc 563 560 … … 569 566 DO jn=1,size(model%interior_diagnostic_variables) 570 567 model%interior_diagnostic_variables(jn)%save = iom_use(model%interior_diagnostic_variables(jn)%name) & 571 .or. iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'_VINT') 572 END DO 568 .or. iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'_VINT') & 569 .or. iom_use(TRIM(model%interior_diagnostic_variables(jn)%name)//'25h') & 570 .or. iom_use('top_'//TRIM(model%interior_diagnostic_variables(jn)%name)) & 571 .or. iom_use('mid_'//TRIM(model%interior_diagnostic_variables(jn)%name)) & 572 .or. iom_use('bot_'//TRIM(model%interior_diagnostic_variables(jn)%name)) 573 END DO 574 model%interior_diagnostic_variables(jp_fabm_o3ta)%save = .TRUE. 575 model%interior_diagnostic_variables(jp_fabm_o3ph)%save = .TRUE. 576 model%interior_diagnostic_variables(jp_fabm_o3pc)%save = .TRUE. 577 model%interior_diagnostic_variables(jp_fabm_xeps)%save = .TRUE. 578 model%interior_diagnostic_variables(jp_fabm_pgrow)%save = .TRUE. 579 model%interior_diagnostic_variables(jp_fabm_ploss)%save = .TRUE. 573 580 DO jn=1,size(model%horizontal_diagnostic_variables) 574 model%horizontal_diagnostic_variables(jn)%save = iom_use(model%horizontal_diagnostic_variables(jn)%name) 581 model%horizontal_diagnostic_variables(jn)%save = iom_use(model%horizontal_diagnostic_variables(jn)%name) & 582 .or. iom_use(TRIM(model%horizontal_diagnostic_variables(jn)%name)//'25h') 575 583 END DO 576 584 … … 580 588 581 589 started = .TRUE. 590 591 IF( ln_qsr_spec ) THEN 592 ! Pointer to spectral heating term 593 swrad => model%get_data(model%get_interior_variable_id(standard_variables%net_rate_of_absorption_of_shortwave_energy_in_layer)) 594 ENDIF 595 582 596 END SUBROUTINE 583 597
Note: See TracChangeset
for help on using the changeset viewer.