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 1859 for branches/DEV_r1837_mass_heat_salt_fluxes/NEMO/OPA_SRC/SBC/sbcflx.F90 – NEMO

Ignore:
Timestamp:
2010-05-06T10:40:07+02:00 (14 years ago)
Author:
gm
Message:

ticket:#665 step 2 & 3: heat content in qns & new forcing terms

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r1837_mass_heat_salt_fluxes/NEMO/OPA_SRC/SBC/sbcflx.F90

    r1730 r1859  
    44   !! Ocean forcing:  momentum, heat and freshwater flux formulation 
    55   !!===================================================================== 
    6    !! History :  9.0   !  06-06  (G. Madec)  Original code 
     6   !! History :  1.0  !  2006-06  (G. Madec)  Original code 
     7   !!            3.3  !  2010-05  (Y. Aksenov G. Madec) salt flux + heat associated with emp 
    78   !!---------------------------------------------------------------------- 
    89 
     
    5253#  include "vectopt_loop_substitute.h90" 
    5354   !!---------------------------------------------------------------------- 
    54    !!   OPA 9.0 , LOCEAN-IPSL (2006)  
     55   !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010) 
    5556   !! $Id$ 
    5657   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     
    7475      !! 
    7576      !!      CAUTION :  - never mask the surface stress fields 
    76       !!                 - the stress is assumed to be in the mesh referential 
    77       !!                   i.e. the (i,j) referential 
     77      !!                 - the stress is assumed to be in the (i,j) mesh referential 
    7878      !! 
    7979      !! ** Action  :   update at each time-step 
     
    8181      !!              - taum        wind stress module at T-point 
    8282      !!              - wndm        10m wind module at T-point 
    83       !!              - qns, qsr    non-slor and solar heat flux 
    84       !!              - emp, emps   evaporation minus precipitation 
     83      !!              - qns         non solar heat flux including heat flux due to emp 
     84      !!              - qsr         solar heat flux 
     85      !!              - emp         upward mass flux (evap. - precip.) 
    8586      !!---------------------------------------------------------------------- 
    8687      INTEGER, INTENT(in) ::   kt   ! ocean time step 
     
    136137      ENDIF 
    137138 
    138       CALL fld_read( kt, nn_fsbc, sf )           ! Read input fields and provides the 
    139       !                                          ! input fields at the current time-step 
     139      CALL fld_read( kt, nn_fsbc, sf )           ! input fields at the current time-step 
    140140 
    141       IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 
    142          ! 
    143          ! set the ocean fluxes from read fields 
     141      IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN       ! set the ocean fluxes from read fields 
    144142!CDIR COLLAPSE 
    145143         DO jj = 1, jpj 
     
    151149               emp (ji,jj) = sf(jp_emp )%fnow(ji,jj) 
    152150            END DO 
    153          END DO 
    154           
    155          ! module of wind stress and wind speed at T-point 
    156          zcoef = 1. / ( zrhoa * zcdrag )  
     151         END DO          
     152         !                                       ! add to qns the heat due to e-p 
     153         qns(:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp      ! mass flux are at SST 
     154 
     155         zcoef = 1. / ( zrhoa * zcdrag )         ! module of wind stress and wind speed at T-point 
    157156!CDIR NOVERRCHK 
    158157         DO jj = 2, jpjm1 
     
    167166         END DO 
    168167         CALL lbc_lnk( taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( wndm(:,:), 'T', 1. ) 
    169  
    170          ! Initialization of emps (when no ice model) 
    171          emps(:,:) = emp (:,:)  
    172168                   
    173          ! control print (if less than 100 time-step asked) 
    174          IF( nitend-nit000 <= 100 .AND. lwp ) THEN 
     169         IF( nitend-nit000 <= 100 .AND. lwp ) THEN      ! control print (if less than 100 time-step asked) 
    175170            WRITE(numout,*)  
    176171            WRITE(numout,*) '        read daily momentum, heat and freshwater fluxes OK' 
Note: See TracChangeset for help on using the changeset viewer.