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/CO6_KD490_amm7_oper_fabm_hem08/NEMOGCM/NEMO/TOP_SRC/FABM/trcsms_fabm.F90 – NEMO

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

Add required diagnostics.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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() 
Note: See TracChangeset for help on using the changeset viewer.