New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9330 for branches/UKMO – NEMO

Changeset 9330 for branches/UKMO


Ignore:
Timestamp:
2018-02-16T18:29:04+01:00 (6 years ago)
Author:
dford
Message:

Add required diagnostics.

Location:
branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/OPA_SRC/DIA/dia25h.F90

    r8173 r9330  
    392392            zw3d(:,:,:) = fabm3d_25h(:,:,:,11)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
    393393            CALL iom_put( "PhytoC25h", zw3d  )   ! total phytoplankton 
    394             zw3d(:,:,:) = fabm3d_25h(:,:,:,11)*tmask(:,:,:)*0.0832590939745 + zmdi*(1.0-tmask(:,:,:)) 
    395             CALL iom_put( "PhyCMol25h", zw3d  )   ! total phytoplankton in mmol 
    396             zw3d(:,:,:) = fabm3d_25h(:,:,:,12)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
    397             CALL iom_put( "ZooC25h", zw3d  )   ! total zooplankton 
    398             zw3d(:,:,:) = fabm3d_25h(:,:,:,12)*tmask(:,:,:)*0.0832590939745 + zmdi*(1.0-tmask(:,:,:)) 
    399             CALL iom_put( "ZooCMol25h", zw3d  )   ! total zooplankton in mmol 
     394            !zw3d(:,:,:) = fabm3d_25h(:,:,:,11)*tmask(:,:,:)*0.0832590939745 + zmdi*(1.0-tmask(:,:,:)) 
     395            !CALL iom_put( "PhyCMol25h", zw3d  )   ! total phytoplankton in mmol 
     396            !zw3d(:,:,:) = fabm3d_25h(:,:,:,12)*tmask(:,:,:) + zmdi*(1.0-tmask(:,:,:)) 
     397            !CALL iom_put( "ZooC25h", zw3d  )   ! total zooplankton 
     398            !zw3d(:,:,:) = fabm3d_25h(:,:,:,12)*tmask(:,:,:)*0.0832590939745 + zmdi*(1.0-tmask(:,:,:)) 
     399            !CALL iom_put( "ZooCMol25h", zw3d  )   ! total zooplankton in mmol 
    400400#endif 
    401401 
  • branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/TOP_SRC/FABM/par_fabm.F90

    r8049 r9330  
    2828                      jp_fabm_netp2,jp_fabm_netp3, & 
    2929                      jp_fabm_netp4,jp_fabm_o3ph,  & 
    30                       jp_fabm_o3pc, jp_fabm_xeps 
     30                      jp_fabm_o3pc, jp_fabm_xeps,  & 
     31                      jp_fabm_o3c,  jp_fabm_o3a,  & 
     32                      jp_fabm_r4n,  jp_fabm_r6n,  & 
     33                      jp_fabm_r8n 
    3134 
    3235   INTEGER, PUBLIC :: jp_fabmdia_3dout = 12 
  • branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/TOP_SRC/FABM/trcini_fabm.F90

    r8050 r9330  
    104104      jp_fabm_n5s  = fabm_state_index( 'N5_s' ) 
    105105      jp_fabm_o2o  = fabm_state_index( 'O2_o' ) 
     106      jp_fabm_o3c  = fabm_state_index( 'O3_c' ) 
     107      jp_fabm_o3a  = fabm_state_index( 'O3_bioalk' ) 
     108      jp_fabm_r4n  = fabm_state_index( 'R4_n' ) 
     109      jp_fabm_r6n  = fabm_state_index( 'R6_n' ) 
     110      jp_fabm_r8n  = fabm_state_index( 'R8_n' ) 
    106111      !jp_fabm_netp1= fabm_diag_index( 'P1_netP' ) 
    107112      !jp_fabm_netp2= fabm_diag_index( 'P2_netP' ) 
     
    181186      END IF 
    182187      IF( lk_mpp )   CALL mppsync !Ensure field_def_fabm is ready. 
     188       
     189      MLD_MAX(:,:) = 0.0 
     190      PGROW_AVG(:,:) = 0.0 
     191      PLOSS_AVG(:,:) = 0.0 
     192      PHYT_AVG(:,:) = 0.0 
    183193 
    1841941000 FORMAT (A) 
  • branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90

    r7835 r9330  
    3333   USE inputs_fabm 
    3434   USE vertical_movement_fabm 
     35   USE zdfmxl 
    3536 
    3637   !USE fldread         !  time interpolation 
     
    113114 
    114115      CALL st2d_fabm_nxt( kt ) 
     116       
     117      CALL asmdiags_fabm 
    115118 
    116119      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrfabm ) 
     
    130133 
    131134   END SUBROUTINE trc_sms_fabm 
     135    
     136   SUBROUTINE asmdiags_fabm 
     137      INTEGER :: ji,jj,jk,jkmax 
     138    
     139      PGROW_AVG(:,:) = 1.0 
     140      PLOSS_AVG(:,:) = 1.0 
     141      PHYT_AVG(:,:)  = 0.0 
     142 
     143      DO jj = 1, jpj 
     144         DO ji = 1, jpi 
     145            ! 
     146            jkmax = jpk-1 
     147            DO jk = jpk-1, 1, -1 
     148               IF ( ( hmld_tref(ji,jj) >  gdepw_n(ji,jj,jk)   ) .AND. & 
     149                  & ( hmld_tref(ji,jj) <= gdepw_n(ji,jj,jk+1) ) ) THEN 
     150                  hmld_tref(ji,jj) = gdepw_n(ji,jj,jk+1) 
     151                  jkmax = jk 
     152               ENDIF 
     153            END DO 
     154            ! 
     155            DO jk = 1, jkmax 
     156               PHYT_AVG(ji,jj) = PHYT_AVG(ji,jj) + & 
     157                  &              trn(ji,jj,jk,jp_fabm_p1n) + & 
     158                  &              trn(ji,jj,jk,jp_fabm_p2n) + & 
     159                  &              trn(ji,jj,jk,jp_fabm_p3n) + & 
     160                  &              trn(ji,jj,jk,jp_fabm_p4n) 
     161            END DO 
     162             
     163            PHYT_AVG(ji,jj) = PHYT_AVG(ji,jj) / REAL(jkmax) 
     164 
     165            IF ( hmld_tref(ji,jj) .GT. MLD_MAX(ji,jj) ) THEN 
     166               MLD_MAX(ji,jj) = hmld_tref(ji,jj) 
     167            ENDIF 
     168            ! 
     169         END DO 
     170      END DO 
     171    
     172   END SUBROUTINE asmdiags_fabm 
    132173 
    133174   SUBROUTINE compute_fabm() 
  • branches/UKMO/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r8049 r9330  
    225225#endif 
    226226 
     227#if defined key_fabm 
     228   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  PGROW_AVG                  ! Phytoplankton growth for use in ASM code 
     229   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  PLOSS_AVG                  ! Phytoplankton loss   for use in ASM code 
     230   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  PHYT_AVG                   ! Phytoplankton        for use in ASM code 
     231   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::  MLD_MAX                    ! Maximum MLD          for use in ASM code 
     232#endif 
     233 
    227234   !!---------------------------------------------------------------------- 
    228235   !! NEMO/TOP 3.3.1 , NEMO Consortium (2010) 
     
    253260! FABM <<<+++ 
    254261         &      ln_trc_sbc(jptra)     , ln_trc_cbc(jptra)     , ln_trc_obc(jptra)     ,       & 
     262         &      PGROW_AVG(jpi,jpj)    , PLOSS_AVG(jpi,jpj)    , PHYT_AVG(jpi,jpj)     ,       & 
     263         &      MLD_MAX(jpi,jpj)                                                      ,       & 
    255264#endif 
    256265#if defined key_bdy 
Note: See TracChangeset for help on using the changeset viewer.