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/OPA_SRC/SBC/sbcblk_mfs.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 copied

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90

    r3292 r3294  
    2020   USE in_out_manager  ! I/O manager 
    2121   USE lib_mpp         ! distribued memory computing library 
     22   USE wrk_nemo        ! work arrays 
     23   USE timing          ! Timing 
    2224   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2325   USE prtctl          ! Print control 
     
    119121         &                  sn_tair , sn_rhm , sn_prec  
    120122      !!--------------------------------------------------------------------- 
    121  
     123      ! 
     124      IF( nn_timing == 1 )  CALL timing_start('sbc_blk_mfs') 
     125      ! 
    122126      !                                         ! ====================== ! 
    123127      IF( kt == nit000 ) THEN                   !  First call kt=nit000  ! 
     
    262266 
    263267      ENDIF 
    264  
     268      ! 
     269      IF( nn_timing == 1 )  CALL timing_stop('sbc_blk_mfs') 
     270      ! 
    265271   END SUBROUTINE sbc_blk_mfs 
    266272   
     
    283289      !! 
    284290      !!---------------------------------------------------------------------- 
    285       !! 
    286  
    287291      USE sbcblk_core, ONLY: turb_core_2z ! For wave coupling and Tair/rh from 2 to 10m 
    288       USE wrk_nemo, ONLY:  wrk_in_use, wrk_not_released 
    289       USE wrk_nemo, ONLY:  rspeed     => wrk_2d_1 
    290       USE wrk_nemo, ONLY:  sh10now    => wrk_2d_2 
    291       USE wrk_nemo, ONLY:  t10now     => wrk_2d_3 
    292       USE wrk_nemo, ONLY:  cdx        => wrk_2d_4   ! --- drag coeff. 
    293       USE wrk_nemo, ONLY:  ce         => wrk_2d_5   ! --- turbulent exchange coefficients 
    294       USE wrk_nemo, ONLY:  shms       => wrk_2d_6 
    295       USE wrk_nemo, ONLY:  rhom       => wrk_2d_7 
    296       USE wrk_nemo, ONLY:  sstk       => wrk_2d_8 
    297       USE wrk_nemo, ONLY:  ch         => wrk_2d_10 
    298       USE wrk_nemo, ONLY:  rel_windu  => wrk_2d_11 
    299       USE wrk_nemo, ONLY:  rel_windv  => wrk_2d_12 
    300292 
    301293      REAL(wp), INTENT(in   ) :: hour 
     
    310302      REAL(wp)  :: esre, cseep 
    311303 
     304      REAL(wp), DIMENSION (:,:), POINTER ::   rspeed, sh10now, t10now, cdx, ce, shms 
     305      REAL(wp), DIMENSION (:,:), POINTER ::   rhom, sstk, ch, rel_windu, rel_windv 
    312306      !!---------------------------------------------------------------------- 
    313307      !!     coefficients ( in MKS )  : 
     
    335329      REAL(wp), DIMENSION(5) :: p_e = (/-0.16,1.0,1.0,1.0,1.0/) 
    336330      INTEGER :: kku                        !index varing with wind speed 
    337  
    338       ! Set-up access to workspace arrays 
    339       IF( wrk_in_use(2, 1,2,3,4,5,6,7,8,10,11,12) ) THEN 
    340          CALL ctl_stop('blk_mfs: requested workspace arrays unavailable')   ;   RETURN 
    341       END IF 
     331      ! 
     332      IF( nn_timing == 1 )  CALL timing_start('fluxes_mfs') 
     333      ! 
     334      CALL wrk_alloc( jpi,jpj, rspeed, sh10now, t10now, cdx, ce, shms ) 
     335      CALL wrk_alloc( jpi,jpj, rhom, sstk, ch, rel_windu, rel_windv ) 
    342336 
    343337      !!---------------------------------------------------------------------- 
     
    501495       tauy(:,:)= rhom(:,:) * cdx(:,:) * rspeed(:,:) * rel_windv(:,:) 
    502496 
    503  
    504       IF( wrk_not_released(2, 1,2,3,4,5,6,7,8,10,11,12) )    & 
    505          CALL ctl_stop('fluxes_mfs: failed to release workspace arrays') 
    506  
    507  
     497      CALL wrk_dealloc( jpi,jpj, rspeed, sh10now, t10now, cdx, ce, shms ) 
     498      CALL wrk_dealloc( jpi,jpj, rhom, sstk, ch, rel_windu, rel_windv ) 
     499      ! 
     500      IF( nn_timing == 1 )  CALL timing_stop('fluxes_mfs') 
     501      ! 
    508502   END SUBROUTINE fluxes_mfs 
    509503 
Note: See TracChangeset for help on using the changeset viewer.