Changeset 8648
- Timestamp:
- 2017-10-20T15:31:59+02:00 (7 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r8645 r8648 750 750 CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) ) 751 751 #endif 752 CALL iom_get( inum, jpdom_autoglo, 'mld_max', mld_max_bkg ) 753 mld_max_bkg(:,:) = mld_max_bkg(:,:) * tmask(:,:,1) 752 754 ENDIF 753 755 … … 761 763 762 764 ALLOCATE( tracer_bkg(jpi,jpj,jpk,jptra) ) 765 ALLOCATE( mld_max_bkg(jpi,jpj) ) 763 766 tracer_bkg(:,:,:,:) = 0.0 767 mld_max_bkg(:,:) = 0.0 764 768 765 769 CALL iom_open( c_asmbkg, inum ) … … 772 776 CALL iom_get( inum, jpdom_autoglo, 'medusa_alk', tracer_bkg(:,:,:,jpalk) ) 773 777 #endif 778 CALL iom_get( inum, jpdom_autoglo, 'mld_max', mld_max_bkg ) 774 779 775 780 CALL iom_close( inum ) … … 778 783 tracer_bkg(:,:,:,jt) = tracer_bkg(:,:,:,jt) * tmask(:,:,:) 779 784 END DO 785 mld_max_bkg(:,:) = mld_max_bkg(:,:) * tmask(:,:,1) 780 786 781 787 ENDIF … … 1428 1434 #if defined key_medusa && defined key_foam_medusa 1429 1435 CALL asm_logchl_bal_medusa( logchl_bkginc, zincper, mld_choice_bgc, & 1430 & rn_maxchlinc, ln_logchlbal, 1436 & rn_maxchlinc, ln_logchlbal, ln_asmdin, & 1431 1437 & pgrow_avg_bkg, ploss_avg_bkg, & 1432 1438 & phyt_avg_bkg, mld_max_bkg, & … … 1434 1440 #elif defined key_hadocc 1435 1441 CALL asm_logchl_bal_hadocc( logchl_bkginc, zincper, mld_choice_bgc, & 1436 & rn_maxchlinc, ln_logchlbal, 1442 & rn_maxchlinc, ln_logchlbal, ln_asmdin, & 1437 1443 & pgrow_avg_bkg, ploss_avg_bkg, & 1438 1444 & phyt_avg_bkg, mld_max_bkg, & … … 1637 1643 1638 1644 ! 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] 1645 1656 #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 1649 1664 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 1663 1675 1664 1676 ! Propagate through mixed layer -
branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM/asmlogchlbal_hadocc.F90
r8495 r8648 69 69 70 70 SUBROUTINE asm_logchl_bal_hadocc( logchl_bkginc, aincper, mld_choice_bgc, & 71 & k_maxchlinc, ld_logchlbal, 71 & k_maxchlinc, ld_logchlbal, ld_asmdin, & 72 72 & pgrow_avg_bkg, ploss_avg_bkg, & 73 73 & phyt_avg_bkg, mld_max_bkg, & … … 93 93 REAL(wp), INTENT(in ) :: k_maxchlinc ! Max chl increment 94 94 LOGICAL, INTENT(in ) :: ld_logchlbal ! Balancing y/n 95 LOGICAL, INTENT(in ) :: ld_asmdin ! Direct initialisation y/n 95 96 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: pgrow_avg_bkg ! Avg phyto growth 96 97 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: ploss_avg_bkg ! Avg phyto loss … … 136 137 137 138 ! Select mixed layer 138 SELECT CASE( mld_choice_bgc ) 139 CASE ( 1 ) ! Turbocline/mixing depth [W points] 140 zmld(:,:) = hmld(:,:) 141 CASE ( 2 ) ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 142 zmld(:,:) = hmlp(:,:) 143 CASE ( 3 ) ! Kara MLD [Interpolated] 139 IF ( ld_asmdin ) THEN 140 CALL ctl_warn( ' Doing direct initialisation of HadOCC with chlorophyll assimilation', & 141 & ' Mixed layer depth taken to be background maximum mld_max_bkg' ) 142 zmld(:,:) = mld_max_bkg(:,:) 143 ELSE 144 SELECT CASE( mld_choice_bgc ) 145 CASE ( 1 ) ! Turbocline/mixing depth [W points] 146 zmld(:,:) = hmld(:,:) 147 CASE ( 2 ) ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 148 zmld(:,:) = hmlp(:,:) 149 CASE ( 3 ) ! Kara MLD [Interpolated] 144 150 #if defined key_karaml 145 IF ( ln_kara ) THEN 146 zmld(:,:) = hmld_kara(:,:) 147 ELSE 151 IF ( ln_kara ) THEN 152 zmld(:,:) = hmld_kara(:,:) 153 ELSE 154 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 155 & ' but ln_kara=.false.' ) 156 ENDIF 157 #else 148 158 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 149 & ' but ln_kara=.false.' ) 150 ENDIF 151 #else 152 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 153 & ' but is not defined' ) 159 & ' but is not defined' ) 154 160 #endif 155 CASE ( 4 ) ! Temperature criterion (0.2 K change from surface) [T points] 156 !zmld(:,:) = hmld_tref(:,:) 157 CALL ctl_stop( ' hmld_tref mixed layer requested for LogChl assimilation,', & 158 & ' but is not available in this version' ) 159 CASE ( 5 ) ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 160 zmld(:,:) = hmlpt(:,:) 161 END SELECT 161 CASE ( 4 ) ! Temperature criterion (0.2 K change from surface) [T points] 162 !zmld(:,:) = hmld_tref(:,:) 163 CALL ctl_stop( ' hmld_tref mixed layer requested for LogChl assimilation,', & 164 & ' but is not available in this version' ) 165 CASE ( 5 ) ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 166 zmld(:,:) = hmlpt(:,:) 167 END SELECT 168 ENDIF 162 169 163 170 IF ( ld_logchlbal ) THEN ! Nitrogen balancing -
branches/UKMO/dev_r5518_GO6_package_asm_surf_bgc_v2/NEMOGCM/NEMO/OPA_SRC/ASM/asmlogchlbal_medusa.F90
r8497 r8648 71 71 72 72 SUBROUTINE asm_logchl_bal_medusa( logchl_bkginc, aincper, mld_choice_bgc, & 73 & k_maxchlinc, ld_logchlbal, 73 & k_maxchlinc, ld_logchlbal, ld_asmdin, & 74 74 & pgrow_avg_bkg, ploss_avg_bkg, & 75 75 & phyt_avg_bkg, mld_max_bkg, & … … 96 96 REAL(wp), INTENT(in ) :: k_maxchlinc ! Max chl increment 97 97 LOGICAL, INTENT(in ) :: ld_logchlbal ! Balancing y/n 98 LOGICAL, INTENT(in ) :: ld_asmdin ! Direct initialisation y/n 98 99 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: pgrow_avg_bkg ! Avg phyto growth 99 100 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: ploss_avg_bkg ! Avg phyto loss … … 153 154 154 155 ! Select mixed layer 155 SELECT CASE( mld_choice_bgc ) 156 CASE ( 1 ) ! Turbocline/mixing depth [W points] 157 zmld(:,:) = hmld(:,:) 158 CASE ( 2 ) ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 159 zmld(:,:) = hmlp(:,:) 160 CASE ( 3 ) ! Kara MLD [Interpolated] 156 IF ( ld_asmdin ) THEN 157 CALL ctl_warn( ' Doing direct initialisation of MEDUSA with chlorophyll assimilation', & 158 & ' Mixed layer depth taken to be background maximum mld_max_bkg' ) 159 zmld(:,:) = mld_max_bkg(:,:) 160 ELSE 161 SELECT CASE( mld_choice_bgc ) 162 CASE ( 1 ) ! Turbocline/mixing depth [W points] 163 zmld(:,:) = hmld(:,:) 164 CASE ( 2 ) ! Density criterion (0.01 kg/m^3 change from 10m) [W points] 165 zmld(:,:) = hmlp(:,:) 166 CASE ( 3 ) ! Kara MLD [Interpolated] 161 167 #if defined key_karaml 162 IF ( ln_kara ) THEN 163 zmld(:,:) = hmld_kara(:,:) 164 ELSE 168 IF ( ln_kara ) THEN 169 zmld(:,:) = hmld_kara(:,:) 170 ELSE 171 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 172 & ' but ln_kara=.false.' ) 173 ENDIF 174 #else 165 175 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 166 & ' but ln_kara=.false.' ) 167 ENDIF 168 #else 169 CALL ctl_stop( ' Kara mixed layer requested for LogChl assimilation,', & 170 & ' but is not defined' ) 176 & ' but is not defined' ) 171 177 #endif 172 CASE ( 4 ) ! Temperature criterion (0.2 K change from surface) [T points] 173 !zmld(:,:) = hmld_tref(:,:) 174 CALL ctl_stop( ' hmld_tref mixed layer requested for LogChl assimilation,', & 175 & ' but is not available in this version' ) 176 CASE ( 5 ) ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 177 zmld(:,:) = hmlpt(:,:) 178 END SELECT 178 CASE ( 4 ) ! Temperature criterion (0.2 K change from surface) [T points] 179 !zmld(:,:) = hmld_tref(:,:) 180 CALL ctl_stop( ' hmld_tref mixed layer requested for LogChl assimilation,', & 181 & ' but is not available in this version' ) 182 CASE ( 5 ) ! Density criterion (0.01 kg/m^3 change from 10m) [T points] 183 zmld(:,:) = hmlpt(:,:) 184 END SELECT 185 ENDIF 179 186 180 187 IF ( ld_logchlbal ) THEN ! Nitrogen balancing
Note: See TracChangeset
for help on using the changeset viewer.