Changeset 10366
- Timestamp:
- 2018-12-03T12:26:33+01:00 (6 years ago)
- Location:
- branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90
r10308 r10366 22 22 USE diatmb 23 23 #if defined key_fabm 24 USE trc, ONLY: trn , visib24 USE trc, ONLY: trn 25 25 USE par_fabm 26 26 USE st2d_fabm, ONLY: fabm_st2dn 27 USE fabm, ONLY: fabm_get_ bulk_diagnostic_data, &27 USE fabm, ONLY: fabm_get_interior_diagnostic_data, & 28 28 & fabm_get_horizontal_diagnostic_data 29 29 #endif … … 53 53 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: fabm_bottom_25h 54 54 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: fabm_2d_25h 55 REAL(wp),SAVE, ALLOCATABLE, DIMENSION(:,:,:) :: fabm_visib_25h56 55 #endif 57 56 INTEGER, SAVE :: cnt_25h ! Counter for 25 hour means … … 182 181 CALL ctl_stop( 'dia_25h: unable to allocate fabm_2d_25h' ) ; RETURN 183 182 ENDIF 184 ALLOCATE( fabm_visib_25h(jpi,jpj,jpk), STAT=ierror )185 IF( ierror > 0 ) THEN186 CALL ctl_stop( 'dia_25h: unable to allocate fabm_visib_25h' ) ; RETURN187 ENDIF188 183 #endif 189 184 ! ------------------------- ! … … 216 211 END DO 217 212 DO jn = 1, jp_fabm_3d 218 fabm_3d_25h(:,:,:,jn) = fabm_get_ bulk_diagnostic_data(model, jn)213 fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 219 214 END DO 220 215 DO jn = 1, jp_fabm_surface … … 227 222 fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 228 223 END DO 229 fabm_visib_25h(:,:,:) = visib(:,:,:)230 224 #endif 231 225 #if defined key_lim3 || defined key_lim2 … … 333 327 END DO 334 328 DO jn = 1, jp_fabm_3d 335 fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + fabm_get_ bulk_diagnostic_data(model, jn)329 fabm_3d_25h(:,:,:,jn) = fabm_3d_25h(:,:,:,jn) + fabm_get_interior_diagnostic_data(model, jn) 336 330 END DO 337 331 DO jn = 1, jp_fabm_surface … … 344 338 fabm_2d_25h(:,:,jn) = fabm_2d_25h(:,:,jn) + fabm_get_horizontal_diagnostic_data(model,jn) 345 339 END DO 346 fabm_visib_25h(:,:,:) = fabm_visib_25h(:,:,:) + visib(:,:,:)347 340 #endif 348 341 cnt_25h = cnt_25h + 1 … … 385 378 fabm_bottom_25h(:,:,:) = fabm_bottom_25h(:,:,:) / 25.0_wp 386 379 fabm_2d_25h(:,:,:) = fabm_2d_25h(:,:,:) / 25.0_wp 387 fabm_visib_25h(:,:,:) = fabm_visib_25h(:,:,:) / 25.0_wp388 380 #endif 389 381 … … 427 419 CALL iom_put( TRIM(model%horizontal_diagnostic_variables(jn)%name)//"25h", zw2d ) 428 420 END DO 429 zw3d(:,:,:) = fabm_visib_25h(:,:,:)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:))430 CALL iom_put( "visib25h", zw3d )431 421 #endif 432 422 … … 478 468 END DO 479 469 DO jn = 1, jp_fabm_3d 480 fabm_3d_25h(:,:,:,jn) = fabm_get_ bulk_diagnostic_data(model, jn)470 fabm_3d_25h(:,:,:,jn) = fabm_get_interior_diagnostic_data(model, jn) 481 471 END DO 482 472 DO jn = 1, jp_fabm_surface … … 489 479 fabm_2d_25h(:,:,jn) = fabm_get_horizontal_diagnostic_data(model,jn) 490 480 END DO 491 fabm_visib_25h(:,:,:) = visib(:,:,:)492 481 #endif 493 482 cnt_25h = 1 -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diatmb.F90
r10308 r10366 12 12 USE wrk_nemo ! working arrays 13 13 #if defined key_fabm 14 USE trc, ONLY: trn , visib14 USE trc, ONLY: trn 15 15 USE par_fabm 16 USE fabm, ONLY: fabm_get_ bulk_diagnostic_data16 USE fabm, ONLY: fabm_get_interior_diagnostic_data 17 17 #endif 18 18 … … 177 177 END DO 178 178 DO jn = 1, jp_fabm_3d 179 CALL dia_calctmb( fabm_get_ bulk_diagnostic_data(model, jn), zwtmb )179 CALL dia_calctmb( fabm_get_interior_diagnostic_data(model, jn), zwtmb ) 180 180 CALL iom_put( "top_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,1) ) 181 181 CALL iom_put( "mid_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,2) ) 182 182 CALL iom_put( "bot_"//TRIM(model%diagnostic_variables(jn)%name) , zwtmb(:,:,3) ) 183 183 END DO 184 CALL dia_calctmb( visib(:,:,:), zwtmb )185 CALL iom_put( "top_visib" , zwtmb(:,:,1) )186 CALL iom_put( "mid_visib" , zwtmb(:,:,2) )187 CALL iom_put( "bot_visib" , zwtmb(:,:,3) )188 184 #endif 189 185 ELSE -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/TOP_SRC/FABM/par_fabm.F90
r10308 r10366 28 28 jp_fabm_o2o, jp_fabm_o3c, & 29 29 jp_fabm_o3a, jp_fabm_o3ph, & 30 jp_fabm_o3pc , jp_fabm_xeps30 jp_fabm_o3pc 31 31 32 32 #if defined key_fabm -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/TOP_SRC/FABM/trcini_fabm.F90
r10308 r10366 18 18 USE trcsms_fabm 19 19 USE fabm_config,ONLY: fabm_create_model_from_yaml_file 20 USE fabm,ONLY: type_external_variable, fabm_initialize_library, & 21 fabm_get_bulk_diagnostic_data 20 USE fabm,ONLY: type_external_variable, fabm_initialize_library 22 21 USE inputs_fabm,ONLY: initialize_inputs,link_inputs, & 23 22 type_input_variable,type_input_data,type_river_data, & … … 111 110 jp_fabm_o3ph = fabm_diag_index( 'O3_pH' ) 112 111 jp_fabm_o3pc = fabm_diag_index( 'O3_pCO2' ) 113 jp_fabm_xeps = fabm_diag_index( 'light_xEPS')114 112 115 113 IF (lwp) THEN … … 151 149 CALL write_25hourm_xml(xml_unit,model%horizontal_diagnostic_variables(jn)) 152 150 END DO 153 WRITE (xml_unit,'(A)') ' <field id="visib" long_name="visibility" unit="m" default_value="1.e+20" grid_ref="grid_T_3D" />'154 WRITE (xml_unit,'(A)') ' <field id="visib25h" long_name="visibility 25-hour mean" unit="m" default_value="1.e+20" grid_ref="grid_T_3D" />'155 WRITE (xml_unit,'(A)') ' <field id="top_visib" long_name="Top-level visibility" unit="m" default_value="1.e+20" grid_ref="grid_T_2D" />'156 WRITE (xml_unit,'(A)') ' <field id="mid_visib" long_name="Middle-level visibility" unit="m" default_value="1.e+20" grid_ref="grid_T_2D" />'157 WRITE (xml_unit,'(A)') ' <field id="bot_visib" long_name="Bottom-level visibility" unit="m" default_value="1.e+20" grid_ref="grid_T_2D" />'158 151 WRITE (xml_unit,1000) ' </field_group>' 159 152 … … 403 396 #endif 404 397 405 ! Initialise visibility406 visib(:,:,:) = 1.7 / fabm_get_bulk_diagnostic_data(model, jp_fabm_xeps)407 408 398 ! Log mapping of FABM states: 409 399 IF (lwp) THEN -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90
r10308 r10366 37 37 38 38 USE fabm 39 USE par_fabm40 39 41 40 IMPLICIT NONE … … 119 118 CALL trc_bc_read ( kt ) ! tracers: surface and lateral Boundary Conditions 120 119 CALL trc_rnf_fabm ( kt ) ! River forcings 121 122 visib(:,:,:) = 1.7 / fabm_get_bulk_diagnostic_data(model, jp_fabm_xeps)123 120 124 121 IF( l_trdtrc ) THEN ! Save the trends in the mixed layer -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/TOP_SRC/FABM/trcwri_fabm.F90
r10308 r10366 81 81 INTEGER, INTENT( in ) :: kt 82 82 INTEGER :: jn 83 84 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zw3d85 83 86 84 #if defined key_tracer_budget … … 107 105 CALL iom_put( model%diagnostic_variables(jn)%name, fabm_get_bulk_diagnostic_data(model,jn)) 108 106 END DO 109 zw3d(:,:,:) = visib(:,:,:)*tmask(:,:,:) + 1.e+20*(1.0-tmask(:,:,:))110 CALL iom_put( 'visib', zw3d )111 107 112 108 ! write 2D diagnostics in the file -
branches/UKMO/AMM15_v3_6_STABLE_package_collate_bgc_diagnostics/NEMOGCM/NEMO/TOP_SRC/trc.F90
r10308 r10366 149 149 LOGICAL , PUBLIC :: ln_diatrc !: boolean term for additional diagnostic 150 150 INTEGER , PUBLIC :: nn_writedia !: frequency of additional outputs 151 #if defined key_fabm152 REAL(wp) , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: visib !: visibility153 #endif154 151 155 152 !! Biological trends … … 256 253 ! FABM <<<+++ 257 254 & ln_trc_sbc(jptra) , ln_trc_cbc(jptra) , ln_trc_obc(jptra) , & 258 & visib(jpi,jpj,jpk) , &259 255 #endif 260 256 #if defined key_bdy
Note: See TracChangeset
for help on using the changeset viewer.