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 3294 for trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

    r2715 r3294  
    1717   !!---------------------------------------------------------------------- 
    1818   USE par_trc         ! TOP parameters 
    19    USE sms_pisces      ! Source Minus Sink variables 
    20    USE trc 
    21    USE oce_trc         ! ocean variables 
    22    USE p4zche  
    23    USE p4zche          !  
    24    USE p4zsink         !  
    25    USE p4zopt          !  
    26    USE p4zprod         ! 
    27    USE p4zrem          !  
    28    USE p4zsed          !  
    29    USE p4zflx          !  
     19   USE oce_trc         !  shared variables between ocean and passive tracers 
     20   USE trc             !  passive tracers common variables  
     21   USE sms_pisces      !  PISCES Source Minus Sink variables 
     22   USE p4zche          !  Chemical model 
     23   USE p4zsink         !  vertical flux of particulate matter due to sinking 
     24   USE p4zopt          !  optical model 
     25   USE p4zrem          !  Remineralisation of organic matter 
     26   USE p4zflx          !  Gas exchange 
     27   USE p4zsed          !  Sedimentation 
     28   USE p4zlim          !  Co-limitations of differents nutrients 
     29   USE p4zprod         !  Growth rate of the 2 phyto groups 
     30   USE p4zmicro        !  Sources and sinks of microzooplankton 
     31   USE p4zmeso         !  Sources and sinks of mesozooplankton 
     32   USE p4zmort         !  Mortality terms for phytoplankton 
     33   USE p4zlys          !  Calcite saturation 
     34   USE p4zsed          !  Sedimentation 
    3035 
    3136   IMPLICIT NONE 
     
    4045   REAL(wp) :: bioma0 =  1.000e-8_wp   
    4146   REAL(wp) :: silic1 =  91.65e-6_wp   
    42    REAL(wp) :: no3    =  31.04e-6_wp * 7.6_wp 
     47   REAL(wp) :: no3    =  31.04e-6_wp * 7.625_wp 
    4348 
    4449#  include "top_substitute.h90" 
     
    5762      !!---------------------------------------------------------------------- 
    5863      ! 
     64      INTEGER  ::  ji, jj, jk 
     65      REAL(wp) ::  zcaralk, zbicarb, zco3 
     66      REAL(wp) ::  ztmas, ztmas1 
     67      !!---------------------------------------------------------------------- 
    5968      IF(lwp) WRITE(numout,*) 
    6069      IF(lwp) WRITE(numout,*) ' trc_ini_pisces :   PISCES biochemical model initialisation' 
     
    7685      ! Set biological ratios 
    7786      ! --------------------- 
    78       rno3   = (16.+2.) / 122. 
    79       po4r   =   1.e0   / 122. 
    80       o2nit  =  32.     / 122. 
    81       rdenit =  97.6    /  16. 
    82       o2ut   = 140.     / 122. 
     87      rno3    =  16._wp / 122._wp 
     88      po4r    =   1._wp / 122._wp 
     89      o2nit   =  32._wp / 122._wp 
     90      rdenit  = 105._wp /  16._wp 
     91      rdenita =   3._wp /  5._wp 
     92      o2ut    = 131._wp / 122._wp 
    8393 
    8494      CALL p4z_che        ! initialize the chemical constants 
     
    124134      ENDIF 
    125135 
     136      IF( .NOT. ln_rsttr ) THEN 
     137         ! Initialization of chemical variables of the carbon cycle 
     138         ! -------------------------------------------------------- 
     139         DO jk = 1, jpk 
     140            DO jj = 1, jpj 
     141               DO ji = 1, jpi 
     142                  ztmas   = tmask(ji,jj,jk) 
     143                  ztmas1  = 1. - tmask(ji,jj,jk) 
     144                  zcaralk = trn(ji,jj,jk,jptal) - borat(ji,jj,jk) / (  1. + 1.E-8 / ( rtrn + akb3(ji,jj,jk) )  ) 
     145                  zco3    = ( zcaralk - trn(ji,jj,jk,jpdic) ) * ztmas + 0.5e-3 * ztmas1 
     146                  zbicarb = ( 2. * trn(ji,jj,jk,jpdic) - zcaralk ) 
     147                  hi(ji,jj,jk) = ( ak23(ji,jj,jk) * zbicarb / zco3 ) * ztmas + 1.e-9 * ztmas1 
     148               END DO 
     149            END DO 
     150         END DO 
     151         ! 
     152      END IF 
     153 
     154      ! Time step duration for biology 
     155      xstep = rfact2 / rday 
     156 
     157      CALL p4z_sink_init      !  vertical flux of particulate organic matter 
     158      CALL p4z_opt_init       !  Optic: PAR in the water column 
     159      CALL p4z_lim_init       !  co-limitations by the various nutrients 
     160      CALL p4z_prod_init      !  phytoplankton growth rate over the global ocean. 
     161      CALL p4z_rem_init       !  remineralisation 
     162      CALL p4z_mort_init      !  phytoplankton mortality  
     163      CALL p4z_micro_init     !  microzooplankton 
     164      CALL p4z_meso_init      !  mesozooplankton 
     165      CALL p4z_sed_init       !  sedimentation  
     166      CALL p4z_lys_init       !  calcite saturation 
     167      CALL p4z_flx_init       !  gas exchange  
     168 
     169      ndayflxtr = 0 
     170 
     171      IF(lwp) WRITE(numout,*)  
    126172      IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done' 
    127       IF(lwp) WRITE(numout,*) ' ' 
     173      IF(lwp) WRITE(numout,*)  
    128174      ! 
    129175   END SUBROUTINE trc_ini_pisces 
     
    136182      !! ** Purpose :   Allocate all the dynamic arrays of PISCES  
    137183      !!---------------------------------------------------------------------- 
    138       USE p4zint , ONLY : p4z_int_alloc       
    139       USE p4zsink, ONLY : p4z_sink_alloc       
    140       USE p4zopt , ONLY : p4z_opt_alloc            
    141       USE p4zprod, ONLY : p4z_prod_alloc          
    142       USE p4zrem , ONLY : p4z_rem_alloc            
    143       USE p4zsed , ONLY : p4z_sed_alloc           
    144       USE p4zflx , ONLY : p4z_flx_alloc 
    145184      ! 
    146185      INTEGER :: ierr 
     
    148187      ! 
    149188      ierr =         sms_pisces_alloc()          ! Start of PISCES-related alloc routines... 
    150       ierr = ierr +     p4z_che_alloc() 
    151       ierr = ierr +     p4z_int_alloc() 
    152       ierr = ierr +    p4z_sink_alloc() 
    153       ierr = ierr +     p4z_opt_alloc() 
    154       ierr = ierr +    p4z_prod_alloc() 
    155       ierr = ierr +     p4z_rem_alloc() 
    156       ierr = ierr +     p4z_sed_alloc() 
    157       ierr = ierr +     p4z_flx_alloc() 
     189      ierr = ierr +  p4z_che_alloc() 
     190      ierr = ierr +  p4z_sink_alloc() 
     191      ierr = ierr +  p4z_opt_alloc() 
     192      ierr = ierr +  p4z_prod_alloc() 
     193      ierr = ierr +  p4z_rem_alloc() 
     194      ierr = ierr +  p4z_sed_alloc() 
     195      ierr = ierr +  p4z_flx_alloc() 
    158196      ! 
    159197      IF( lk_mpp    )   CALL mpp_sum( ierr ) 
Note: See TracChangeset for help on using the changeset viewer.