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 2690 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90 – NEMO

Ignore:
Timestamp:
2011-03-15T16:27:46+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; homogeneization of the coding style associated with dyn allocation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90

    r2643 r2690  
    44   !! TOP : CFC main model 
    55   !!====================================================================== 
    6    !! History :    -   !  1999-10  (JC. Dutay)  original code 
    7    !!             1.0  !  2004-03 (C. Ethe) free form + modularity 
    8    !!             2.0  !  2007-12  (C. Ethe, G. Madec)  reorganisation 
     6   !! History :  OPA  !  1999-10  (JC. Dutay)  original code 
     7   !!  NEMO      1.0  !  2004-03 (C. Ethe) free form + modularity 
     8   !!            2.0  !  2007-12  (C. Ethe, G. Madec)  reorganisation 
    99   !!---------------------------------------------------------------------- 
    1010#if defined key_cfc 
     
    1212   !!   'key_cfc'                                               CFC tracers 
    1313   !!---------------------------------------------------------------------- 
    14    !!   trc_sms_cfc     :  compute and add CFC suface forcing to CFC trends 
    15    !!   trc_cfc_cst :  sets constants for CFC surface forcing computation 
    16    !!---------------------------------------------------------------------- 
    17    USE oce_trc      ! Ocean variables 
    18    USE par_trc      ! TOP parameters 
    19    USE trc          ! TOP variables 
     14   !!   trc_sms_cfc  :  compute and add CFC suface forcing to CFC trends 
     15   !!   trc_cfc_cst  :  sets constants for CFC surface forcing computation 
     16   !!---------------------------------------------------------------------- 
     17   USE oce_trc       ! Ocean variables 
     18   USE par_trc       ! TOP parameters 
     19   USE trc           ! TOP variables 
    2020   USE trdmod_oce 
    2121   USE trdmod_trc 
    22    USE iom 
     22   USE iom           ! I/O library 
    2323 
    2424   IMPLICIT NONE 
     
    2626 
    2727   PUBLIC   trc_sms_cfc         ! called in ???     
    28    PUBLIC   trc_sms_cfc_alloc   ! called in nemogcm.F90 
     28   PUBLIC   trc_sms_cfc_alloc   ! called in trcini_cfc.F90 
    2929 
    3030   INTEGER , PUBLIC, PARAMETER ::   jpyear = 150   ! temporal parameter  
     
    5555   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
    5656   !! $Id$  
    57    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    58    !!---------------------------------------------------------------------- 
    59  
     57   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     58   !!---------------------------------------------------------------------- 
    6059CONTAINS 
    61  
    6260 
    6361   SUBROUTINE trc_sms_cfc( kt ) 
     
    7775      !!                CFC concentration in pico-mol/m3 
    7876      !!---------------------------------------------------------------------- 
    79       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    80       USE wrk_nemo, ONLY: ztrcfc => wrk_3d_1        ! use for CFC sms trend 
    81       !! 
    82       INTEGER, INTENT( in ) ::   kt    ! ocean time-step index 
    83       !! 
    84       INTEGER ::   ji, jj, jn, jl, jm, js 
    85       INTEGER ::   iyear_beg, iyear_end 
    86       INTEGER ::   im1, im2 
    87  
     77      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     78      USE wrk_nemo, ONLY:   ztrcfc => wrk_3d_1        ! use for CFC sms trend 
     79      ! 
     80      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     81      ! 
     82      INTEGER  ::   ji, jj, jn, jl, jm, js 
     83      INTEGER  ::   iyear_beg, iyear_end 
     84      INTEGER  ::   im1, im2 
    8885      REAL(wp) ::   ztap, zdtap         
    8986      REAL(wp) ::   zt1, zt2, zt3, zv2 
     
    9390      REAL(wp) ::   zca_cfc   ! concentration at equilibrium 
    9491      REAL(wp) ::   zak_cfc   ! transfert coefficients 
    95  
    96       REAL(wp), DIMENSION(jphem,jp_cfc)   ::   zpatm       ! atmospheric function 
    97       !!---------------------------------------------------------------------- 
    98  
     92      REAL(wp), DIMENSION(jphem,jp_cfc) ::   zpatm   ! atmospheric function 
     93      !!---------------------------------------------------------------------- 
     94      ! 
    9995      IF( wrk_in_use(3, 1) ) THEN 
    100          CALL ctl_stop('trc_sms_cfc : requested workspace array unavailable.') 
    101          RETURN 
    102       END IF 
     96         CALL ctl_stop('trc_sms_cfc: requested workspace array unavailable')   ;   RETURN 
     97      ENDIF 
    10398 
    10499      IF( kt == nit000 )   CALL trc_cfc_cst 
     
    199194          END DO 
    200195      END IF 
    201  
    202       IF( wrk_not_released(3, 1) ) CALL ctl_stop('trc_sms_cfc : failed to release workspace array.') 
    203  
     196      ! 
     197      IF( wrk_not_released(3, 1) )   CALL ctl_stop('trc_sms_cfc: failed to release workspace array') 
     198      ! 
    204199   END SUBROUTINE trc_sms_cfc 
     200 
    205201 
    206202   SUBROUTINE trc_cfc_cst 
     
    211207      !!--------------------------------------------------------------------- 
    212208 
    213  
    214         ! coefficient for CFC11  
    215         !---------------------- 
    216  
    217         ! Solubility 
    218         soa(1,1) = -229.9261  
    219         soa(2,1) =  319.6552 
    220         soa(3,1) =  119.4471 
    221         soa(4,1) =  -1.39165 
    222  
    223         sob(1,1) =  -0.142382 
    224         sob(2,1) =   0.091459 
    225         sob(3,1) =  -0.0157274 
    226  
    227         ! Schmidt number  
    228         sca(1,1) = 3501.8 
    229         sca(2,1) = -210.31 
    230         sca(3,1) =  6.1851 
    231         sca(4,1) = -0.07513 
    232  
    233         ! coefficient for CFC12  
    234         !---------------------- 
    235  
    236         ! Solubility 
    237         soa(1,2) = -218.0971 
    238         soa(2,2) =  298.9702 
    239         soa(3,2) =  113.8049 
    240         soa(4,2) =  -1.39165 
    241  
    242         sob(1,2) =  -0.143566 
    243         sob(2,2) =   0.091015 
    244         sob(3,2) =  -0.0153924 
    245  
    246         ! schmidt number  
    247         sca(1,2) =  3845.4  
    248         sca(2,2) =  -228.95 
    249         sca(3,2) =  6.1908  
    250         sca(4,2) =  -0.067430 
     209      ! coefficient for CFC11  
     210      !---------------------- 
     211 
     212      ! Solubility 
     213      soa(1,1) = -229.9261  
     214      soa(2,1) =  319.6552 
     215      soa(3,1) =  119.4471 
     216      soa(4,1) =  -1.39165 
     217 
     218      sob(1,1) =  -0.142382 
     219      sob(2,1) =   0.091459 
     220      sob(3,1) =  -0.0157274 
     221 
     222      ! Schmidt number  
     223      sca(1,1) = 3501.8 
     224      sca(2,1) = -210.31 
     225      sca(3,1) =  6.1851 
     226      sca(4,1) = -0.07513 
     227 
     228      ! coefficient for CFC12  
     229      !---------------------- 
     230 
     231      ! Solubility 
     232      soa(1,2) = -218.0971 
     233      soa(2,2) =  298.9702 
     234      soa(3,2) =  113.8049 
     235      soa(4,2) =  -1.39165 
     236 
     237      sob(1,2) =  -0.143566 
     238      sob(2,2) =   0.091015 
     239      sob(3,2) =  -0.0153924 
     240 
     241      ! schmidt number  
     242      sca(1,2) =  3845.4  
     243      sca(2,2) =  -228.95 
     244      sca(3,2) =  6.1908  
     245      sca(4,2) =  -0.067430 
    251246 
    252247   END SUBROUTINE trc_cfc_cst 
    253     
     248 
     249 
    254250   INTEGER FUNCTION trc_sms_cfc_alloc() 
    255251      !!---------------------------------------------------------------------- 
    256252      !!                     ***  ROUTINE trc_sms_cfc_alloc  *** 
    257253      !!---------------------------------------------------------------------- 
    258  
    259       ALLOCATE( xphem(jpi,jpj)          ,    & 
    260          &      qtr_cfc(jpi,jpj,jp_cfc) ,    & 
    261          &      qint_cfc(jpi,jpj,jp_cfc),    & 
    262          &                               STAT=trc_sms_cfc_alloc ) 
    263  
     254      ALLOCATE( xphem   (jpi,jpj)        ,     & 
     255         &      qtr_cfc (jpi,jpj,jp_cfc) ,     & 
     256         &      qint_cfc(jpi,jpj,jp_cfc) , STAT=trc_sms_cfc_alloc ) 
     257         ! 
    264258      IF( trc_sms_cfc_alloc /= 0 ) CALL ctl_warn('trc_sms_cfc_alloc : failed to allocate arrays.') 
    265  
     259      ! 
    266260   END FUNCTION trc_sms_cfc_alloc 
    267261 
Note: See TracChangeset for help on using the changeset viewer.