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 2104 for branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zprod.F90 – NEMO

Ignore:
Timestamp:
2010-09-17T14:35:46+02:00 (14 years ago)
Author:
cetlod
Message:

update DEV_r2006_merge_TRA_TRC according to review

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r2082 r2104  
    2727   PRIVATE 
    2828 
    29    PUBLIC   p4z_prod    ! called in p4zbio.F90 
     29   PUBLIC   p4z_prod         ! called in p4zbio.F90 
     30   PUBLIC   p4z_prod_init    ! called in trcsms_pisces.F90 
    3031 
    3132   !! * Shared module variables 
     
    4748      texcret                    ,  &  !: 1 - excret  
    4849      texcret2                   ,  &  !: 1 - excret2         
    49       rpis180                    ,  &  !: rpi / 180 
    5050      tpp                              !: Total primary production 
    5151 
     
    7878      REAL(wp) ::   zmxltst, zmxlday, zlim1 
    7979      REAL(wp) ::   zpislopen  , zpislope2n 
    80       REAL(wp) ::   zrum, zcodel, zargu, zvol 
     80      REAL(wp) ::   zrum, zcodel, zargu, zval, zvol 
    8181#if defined key_diatrc 
    8282      REAL(wp) ::   zrfact2 
     
    9191      !!--------------------------------------------------------------------- 
    9292 
    93  
    94       IF( ( kt * jnt ) == nittrc000  )   CALL p4z_prod_init      ! Initialization (first time-step only) 
    95  
    96  
    9793      zprorca (:,:,:) = 0.0 
    9894      zprorcad(:,:,:) = 0.0 
     
    125121         zrum = FLOAT( nday_year - 80 ) / 365. 
    126122      ENDIF 
    127       zcodel = ASIN(  SIN( zrum * rpi * 2. ) * SIN( rpis180 * 23.5 )  ) 
     123      zcodel = ASIN(  SIN( zrum * rpi * 2. ) * SIN( rad * 23.5 )  ) 
    128124 
    129125      ! day length in hours 
     
    131127      DO jj = 1, jpj 
    132128         DO ji = 1, jpi 
    133             zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rpis180 ) 
     129            zargu = TAN( zcodel ) * TAN( gphit(ji,jj) * rad ) 
    134130            zargu = MAX( -1., MIN(  1., zargu ) ) 
    135             zstrn(ji,jj) = MAX( 0.0, 24. - 2. * ACOS( zargu ) / rpis180 / 15. ) 
     131            zval  = MAX( 0.0, 24. - 2. * ACOS( zargu ) / rad / 15. ) 
     132            IF( zval < 1.e0 )   zval = 24. 
     133            zstrn(ji,jj) = 24. / zval 
    136134         END DO 
    137135      END DO 
     
    227225      END DO 
    228226 
    229  
    230       WHERE( zstrn(:,:) < 1.e0 ) zstrn(:,:) = 24. 
    231       zstrn(:,:) = 24. / zstrn(:,:) 
    232227 
    233228!CDIR NOVERRCHK 
     
    396391      !! 
    397392      !! ** Method  :   Read the nampisprod namelist and check the parameters 
    398       !!      called at the first timestep (nittrc000) 
     393      !!      called at the first timestep (nit000) 
    399394      !! 
    400395      !! ** input   :   Namelist nampisprod 
     
    426421      nspyr  = INT( nyear_len(1) * rday / rdt ) 
    427422 
    428       rpis180   = rpi / 180. 
    429423      texcret   = 1.0 - excret 
    430424      texcret2  = 1.0 - excret2 
Note: See TracChangeset for help on using the changeset viewer.