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 8648 for branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90 – NEMO

Ignore:
Timestamp:
2017-10-20T15:31:59+02:00 (7 years ago)
Author:
dford
Message:

Change source of MLD for direct initialisation of logchl and pCO2 to work.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r8645 r8648  
    750750            CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) ) 
    751751#endif 
     752            CALL iom_get( inum, jpdom_autoglo, 'mld_max',   mld_max_bkg   ) 
     753            mld_max_bkg(:,:) = mld_max_bkg(:,:) * tmask(:,:,1) 
    752754         ENDIF 
    753755 
     
    761763 
    762764         ALLOCATE( tracer_bkg(jpi,jpj,jpk,jptra) ) 
     765         ALLOCATE( mld_max_bkg(jpi,jpj)          ) 
    763766         tracer_bkg(:,:,:,:) = 0.0 
     767         mld_max_bkg(:,:)    = 0.0 
    764768 
    765769         CALL iom_open( c_asmbkg, inum ) 
     
    772776         CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) ) 
    773777#endif 
     778         CALL iom_get( inum, jpdom_autoglo, 'mld_max',   mld_max_bkg   ) 
    774779 
    775780         CALL iom_close( inum ) 
     
    778783            tracer_bkg(:,:,:,jt) = tracer_bkg(:,:,:,jt) * tmask(:,:,:) 
    779784         END DO 
     785         mld_max_bkg(:,:) = mld_max_bkg(:,:) * tmask(:,:,1) 
    780786       
    781787      ENDIF 
     
    14281434#if defined key_medusa && defined key_foam_medusa 
    14291435         CALL asm_logchl_bal_medusa( logchl_bkginc, zincper, mld_choice_bgc, & 
    1430             &                        rn_maxchlinc, ln_logchlbal,             & 
     1436            &                        rn_maxchlinc, ln_logchlbal, ln_asmdin,  & 
    14311437            &                        pgrow_avg_bkg, ploss_avg_bkg,           & 
    14321438            &                        phyt_avg_bkg, mld_max_bkg,              & 
     
    14341440#elif defined key_hadocc 
    14351441         CALL asm_logchl_bal_hadocc( logchl_bkginc, zincper, mld_choice_bgc, & 
    1436             &                        rn_maxchlinc, ln_logchlbal,             & 
     1442            &                        rn_maxchlinc, ln_logchlbal, ln_asmdin,  & 
    14371443            &                        pgrow_avg_bkg, ploss_avg_bkg,           & 
    14381444            &                        phyt_avg_bkg, mld_max_bkg,              & 
     
    16371643 
    16381644         ! Select mixed layer 
    1639          SELECT CASE( mld_choice_bgc ) 
    1640          CASE ( 1 )                   ! Turbocline/mixing depth [W points] 
    1641             zmld(:,:) = hmld(:,:) 
    1642          CASE ( 2 )                   ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 
    1643             zmld(:,:) = hmlp(:,:) 
    1644          CASE ( 3 )                   ! Kara MLD [Interpolated] 
     1645         IF ( ln_asmdin ) THEN 
     1646            CALL ctl_warn( ' Doing direct initialisation with pCO2 assimilation', & 
     1647               &           ' Mixed layer depth taken to be background maximum mld_max_bkg' ) 
     1648            zmld(:,:) = mld_max_bkg(:,:) 
     1649         ELSE 
     1650            SELECT CASE( mld_choice_bgc ) 
     1651            CASE ( 1 )                   ! Turbocline/mixing depth [W points] 
     1652               zmld(:,:) = hmld(:,:) 
     1653            CASE ( 2 )                   ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 
     1654               zmld(:,:) = hmlp(:,:) 
     1655            CASE ( 3 )                   ! Kara MLD [Interpolated] 
    16451656#if defined key_karaml 
    1646             IF ( ln_kara ) THEN 
    1647                zmld(:,:) = hmld_kara(:,:) 
    1648             ELSE 
     1657               IF ( ln_kara ) THEN 
     1658                  zmld(:,:) = hmld_kara(:,:) 
     1659               ELSE 
     1660                  CALL ctl_stop( ' Kara mixed layer requested for pCO2 assimilation,', & 
     1661                     &           ' but ln_kara=.false.' ) 
     1662               ENDIF 
     1663#else 
    16491664               CALL ctl_stop( ' Kara mixed layer requested for pCO2 assimilation,', & 
    1650                   &           ' but ln_kara=.false.' ) 
    1651             ENDIF 
    1652 #else 
    1653             CALL ctl_stop( ' Kara mixed layer requested for pCO2 assimilation,', & 
    1654                &           ' but is not defined' ) 
    1655 #endif 
    1656          CASE ( 4 )                   ! Temperature criterion (0.2 K change from surface) [T points] 
    1657             !zmld(:,:) = hmld_tref(:,:) 
    1658             CALL ctl_stop( ' hmld_tref mixed layer requested for pCO2 assimilation,', & 
    1659                &           ' but is not available in this version' ) 
    1660          CASE ( 5 )                   ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 
    1661             zmld(:,:) = hmlpt(:,:) 
    1662          END SELECT 
     1665                  &           ' but is not defined' ) 
     1666#endif 
     1667            CASE ( 4 )                   ! Temperature criterion (0.2 K change from surface) [T points] 
     1668               !zmld(:,:) = hmld_tref(:,:) 
     1669               CALL ctl_stop( ' hmld_tref mixed layer requested for pCO2 assimilation,', & 
     1670                  &           ' but is not available in this version' ) 
     1671            CASE ( 5 )                   ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 
     1672               zmld(:,:) = hmlpt(:,:) 
     1673            END SELECT 
     1674         ENDIF 
    16631675 
    16641676         ! Propagate through mixed layer 
Note: See TracChangeset for help on using the changeset viewer.