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 15075 for NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zbc.F90 – NEMO

Ignore:
Timestamp:
2021-07-02T17:15:57+02:00 (3 years ago)
Author:
aumont
Message:

major update of the sediment module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14383_PISCES_NEWDEV_PISCO/src/TOP/PISCES/P4Z/p4zbc.F90

    r14786 r15075  
    2424   LOGICAL , PUBLIC ::   ln_ironsed   !: boolean for Fe input from sediments 
    2525   LOGICAL , PUBLIC ::   ln_hydrofe   !: boolean for Fe input from hydrothermal vents 
     26   LOGICAL , PUBLIC ::   ln_dust_inp  !: boolean for Fe input from hydrothermal vents 
    2627   REAL(wp), PUBLIC ::   sedfeinput   !: Coastal release of Iron 
    2728   REAL(wp), PUBLIC ::   icefeinput   !: Iron concentration in sea ice 
     
    9798 
    9899         zwdust = 0.03 / ( wdust / rday ) / ( 250. * rday ) 
    99          DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
    100             zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
    101             ! 
    102             tr(ji,jj,jk,jpfer,Krhs) = tr(ji,jj,jk,jpfer,Krhs) + zdustdep * mfrac / mMass_Fe  
    103             tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) + zdustdep * 1.e-3 / mMass_P 
    104             tr(ji,jj,jk,jpsil,Krhs) = tr(ji,jj,jk,jpsil,Krhs) + zdustdep * 0.269 / mMass_Si 
    105          END_3D 
     100 
     101         ! Atmospheric input of Iron dissolves in the water column 
     102         IF ( ln_trc_sbc(jpfer) ) THEN 
     103            DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     104               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
     105               ! 
     106               tr(ji,jj,jk,jpfer,Krhs) = tr(ji,jj,jk,jpfer,Krhs) + zdustdep * mfrac / mMass_Fe  
     107            END_3D 
     108 
     109            IF( lk_iomput ) THEN 
     110                ! surface downward dust depo of iron 
     111                jl = n_trc_indsbc(jpfer) 
     112                CALL iom_put( "Irondep", ( rf_trsfac(jl) * sf_trcsbc(jl)%fnow(:,:,1) / rn_sbc_time ) * 1.e+3 * tmask(:,:,1) ) 
     113 
     114            ENDIF 
     115 
     116         ENDIF 
     117 
     118         ! Atmospheric input of PO4 dissolves in the water column 
     119         IF ( ln_trc_sbc(jppo4) ) THEN 
     120            DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     121               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
     122               ! 
     123               tr(ji,jj,jk,jppo4,Krhs) = tr(ji,jj,jk,jppo4,Krhs) + zdustdep * 1.e-3 / mMass_P 
     124            END_3D 
     125         ENDIF 
     126 
     127         ! Atmospheric input of Si dissolves in the water column 
     128         IF ( ln_trc_sbc(jpsil) ) THEN 
     129            DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 
     130               zdustdep = dust(ji,jj) * zwdust * rfact * EXP( -gdept(ji,jj,jk,Kmm) /( 250. * wdust ) ) 
     131               ! 
     132               tr(ji,jj,jk,jpsil,Krhs) = tr(ji,jj,jk,jpsil,Krhs) + zdustdep * 0.269 / mMass_Si 
     133            END_3D 
     134         ENDIF 
     135 
    106136         ! 
    107137         IF( lk_iomput ) THEN 
    108              ! surface downward dust depo of iron 
    109              jl = n_trc_indsbc(jpfer) 
    110              CALL iom_put( "Irondep", ( rf_trsfac(jl) * sf_trcsbc(jl)%fnow(:,:,1) / rn_sbc_time ) * 1.e+3 * tmask(:,:,1) ) 
    111  
    112138             ! dust concentration at surface 
    113139             CALL iom_put( "pdust"  , dust(:,:) / ( wdust / rday ) * tmask(:,:,1) ) ! dust concentration at surface 
     
    225251      !! 
    226252      NAMELIST/nampisbc/cn_dir, sn_dust, sn_ironsed, sn_hydrofe, & 
    227         &                ln_ironsed, ln_ironice, ln_hydrofe,    & 
    228         &                sedfeinput, distcoast, icefeinput, wdust, mfrac,  & 
     253        &                ln_ironsed, ln_ironice, ln_hydrofe, ln_dust_inp,   & 
     254        &                sedfeinput, distcoast, icefeinput, wdust, mfrac,   & 
    229255        &                hratio, lgw_rath 
    230256      !!---------------------------------------------------------------------- 
     
    267293      END IF 
    268294 
    269       ll_bc    = ( ln_trcbc .AND. lltrcbc )  .OR. ln_hydrofe .OR. ln_ironsed .OR. ln_ironice 
    270       ll_dust  =  ln_trc_sbc(jpfer)    
     295      ll_bc    = ( ln_trcbc .AND. lltrcbc )  .OR. ln_hydrofe .OR. ln_ironsed .OR. ln_ironice .OR. ln_dust_inp 
     296      ll_dust  =  ln_dust_inp 
    271297      ll_ndepo =  ln_trc_sbc(jpno3) .OR. ln_trc_sbc(jpnh4)    
    272298      ll_river =  ln_trc_cbc(jpno3)   
Note: See TracChangeset for help on using the changeset viewer.