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 711 for trunk/NEMO/OPA_SRC – NEMO

Changeset 711 for trunk/NEMO/OPA_SRC


Ignore:
Timestamp:
2007-10-10T17:40:18+02:00 (17 years ago)
Author:
smasson
Message:

remove aminus aplus, see ticket:8

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DIA/diafwb.F90

    r708 r711  
    44   !! Ocean diagnostics: freshwater budget 
    55   !!====================================================================== 
     6   !! History :  8.2  !  01-02  (E. Durand)  Original code 
     7   !!            8.5  !  02-06  (G. Madec)  F90: Free form and module 
     8   !!            9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
     9   !!---------------------------------------------------------------------- 
    610#if ( defined key_orca_r2 || defined  key_orca_r4 ) && ! defined key_dynspg_rl && ! defined key_coupled 
    711   !!---------------------------------------------------------------------- 
    812   !!   NOT "key_dynspg_rl" and "key_orca_r2 or 4" 
    913   !!---------------------------------------------------------------------- 
     14   !!---------------------------------------------------------------------- 
    1015   !!   dia_fwb     : freshwater budget for global ocean configurations 
    1116   !!---------------------------------------------------------------------- 
    12    !! * Modules used 
    1317   USE oce             ! ocean dynamics and tracers 
    1418   USE dom_oce         ! ocean space and time domain 
    15    USE sbc_oce         ! surface boundary condition: ocean 
     19   USE phycst          ! physical constants 
     20   USE sbc_oce         ! ??? 
    1621   USE zdf_oce         ! ocean vertical physics 
    17    USE phycst          ! physical constants 
    1822   USE in_out_manager  ! I/O manager 
    1923   USE lib_mpp         ! distributed memory computing library 
     
    2226   PRIVATE 
    2327 
    24    !! * Routine accessibility 
    2528   PUBLIC dia_fwb    ! routine called by step.F90 
    2629 
    27    !! * Shared module variables 
    2830   LOGICAL, PUBLIC, PARAMETER ::   lk_diafwb = .TRUE.    !: fresh water budget flag 
    2931 
    30    !! * Module variables 
    31    REAL(wp) ::   & 
    32       a_emp , a_precip, a_rnf,   & 
    33       a_sshb, a_sshn, a_salb, a_saln,   & 
    34       a_aminus, a_aplus 
    35    REAL(wp), DIMENSION(4) ::   & 
    36       a_flxi, a_flxo, a_temi, a_temo, a_sali, a_salo 
     32   REAL(wp)               ::   a_emp ,          & 
     33      &                        a_sshb, a_sshn, a_salb, a_saln 
     34   REAL(wp), DIMENSION(4) ::   a_flxi, a_flxo, a_temi, a_temo, a_sali, a_salo 
    3735 
    3836   !! * Substitutions 
     
    4038#  include "vectopt_loop_substitute.h90" 
    4139   !!---------------------------------------------------------------------- 
    42    !!   OPA 9.0 , LOCEAN-IPSL (2005)  
    43    !! $Id$ 
    44    !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt  
     40   !!   OPA 9.0 , LOCEAN-IPSL (2006)  
     41   !! $Header: $ 
     42   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    4543   !!---------------------------------------------------------------------- 
    4644 
     
    5250      !!      
    5351      !! ** Purpose : 
    54       !!  
    55       !! ** Method : 
    56       !!  
    57       !! History : 
    58       !!   8.2  !  01-02  (E. Durand)  Original code 
    59       !!   8.5  !  02-06  (G. Madec)  F90: Free form and module 
    60       !!   9.0  !  05-11  (V. Garnier) Surface pressure gradient organization 
    6152      !!---------------------------------------------------------------------- 
    62       !! * Arguments 
    6353      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
    64  
    65       !! * Local declarations 
    66       CHARACTER (len=32) ::  clname 
     54      !! 
    6755      INTEGER :: inum             ! temporary logical unit 
    6856      INTEGER :: ji, jj, jk, jt   ! dummy loop indices 
     
    8270 
    8371         a_emp    = 0.e0 
    84          a_precip = 0.e0 
    85          a_rnf    = 0.e0 
    8672         a_sshb   = 0.e0 ! valeur de ssh au debut de la simulation 
    8773         a_salb   = 0.e0 ! valeur de sal au debut de la simulation 
    88          a_aminus = 0.e0 
    89          a_aplus  = 0.e0 
    9074         ! sshb used because diafwb called after tranxt (i.e. after the swap) 
    9175         a_sshb = SUM( e1t(:,:) * e2t(:,:) * sshb(:,:) * tmask_i(:,:) ) 
     
    10589      a_emp    = SUM( e1t(:,:) * e2t(:,:) * emp   (:,:) * tmask_i(:,:) ) 
    10690      IF( lk_mpp )   CALL mpp_sum( a_emp    )       ! sum over the global domain 
    107 #if defined key_flx_bulk_monthly || defined key_flx_bulk_daily 
    108       a_precip = SUM( e1t(:,:) * e2t(:,:) * watm  (:,:) * tmask_i(:,:) ) 
    109       IF( lk_mpp )   CALL mpp_sum( a_precip )       ! sum over the global domain 
    110 #endif 
    111       a_rnf    = SUM( e1t(:,:) * e2t(:,:) * runoff(:,:) * tmask_i(:,:) ) 
    112       IF( lk_mpp )   CALL mpp_sum( a_rnf    )       ! sum over the global domain 
    113  
    114       IF( aminus /= 0.e0 ) a_aminus = a_aminus + ( MIN( aplus, aminus ) / aminus ) 
    115       IF( aplus  /= 0.e0 ) a_aplus  = a_aplus  + ( MIN( aplus, aminus ) / aplus  ) 
    11691 
    11792      IF( kt == nitend ) THEN 
     
    139114         IF( lk_mpp )   CALL mpp_sum( zvol )      ! sum over the global domain 
    140115          
    141          a_aminus = a_aminus / ( nitend - nit000 + 1 ) 
    142          a_aplus  = a_aplus  / ( nitend - nit000 + 1 ) 
    143  
    144116         ! Conversion in m3 
    145117         a_emp    = a_emp * rdttra(1) * 1.e-3  
    146          a_precip = a_precip * rdttra(1) * 1.e-3 / rday 
    147          a_rnf    = a_rnf * rdttra(1) * 1.e-3 
    148118          
    149          ! Alpha1=Alpha0-Rest/(Precip+runoff) 
    150          !  C A U T I O N : precipitations are negative !!      
    151           
     119         ! emp correction to bring back the mean ssh to zero 
    152120         zempnew = a_sshn / ( ( nitend - nit000 + 1 ) * rdt ) * 1.e3 / zarea 
    153121 
     
    386354      IF ( kt == nitend .AND. cp_cfg == "orca" ) THEN 
    387355 
    388          clname = 'STRAIT.dat' 
    389          CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     356         CALL ctlopn( inum, 'STRAIT.dat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    390357            &         1, numout, lwp, 1 ) 
    391358         WRITE(inum,*) 
    392359         WRITE(inum,*)    'Net freshwater budget ' 
    393360         WRITE(inum,9010) '  emp    = ',a_emp,   ' m3 =', a_emp   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    394          WRITE(inum,9010) '  precip = ',a_precip,' m3 =', a_precip/(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    395          WRITE(inum,9010) '  a_rnf  = ',a_rnf,   ' m3 =', a_rnf   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    396361         WRITE(inum,*) 
    397362         WRITE(inum,9010) '  zarea =',zarea 
     
    414379         WRITE(inum,9020) '  diff      =',(a_saln-a_salb)/zvol,' psu' 
    415380         WRITE(inum,9020) '  S-SLevitus=',a_saln/zvol,' psu' 
    416          WRITE(inum,*) 
    417          WRITE(inum,*)    'Coeff : ' 
    418          WRITE(inum,9030) '  Alpha+   =  ', a_aplus 
    419          WRITE(inum,9030) '  Alpha-   =  ', a_aminus 
    420          WRITE(inum,*) 
    421381         WRITE(inum,*) 
    422382         WRITE(inum,*)    'Gibraltar : ' 
Note: See TracChangeset for help on using the changeset viewer.