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/sbcrnf.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/sbcrnf.F90

    r1730 r1859  
    88   !!            3.0  !  2006-07  (G. Madec)  Surface module  
    99   !!            3.2  !  2009-04  (B. Lemaire)  Introduce iom_put 
     10   !!             -   !  2010-05  (Y. Aksenov G. Madec) salt flux + heat associated with emp 
    1011   !!---------------------------------------------------------------------- 
    1112 
     
    4142   REAL(wp), PUBLIC, DIMENSION(jpk)     ::   rnfmsk_z    !: river mouth mask (vert.) 
    4243 
     44   REAL(wp) ::   rfact_rcp   ! = rn_rfact * rcp 
    4345   TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_rnf   ! structure of input SST (file information, fields read) 
    4446 
    4547   !!---------------------------------------------------------------------- 
    46    !! NEMO/OPA 3.2 , LOCEAN-IPSL (2009)  
     48   !! NEMO/OPA 3.3 , LOCEAN-IPSL (2010)  
    4749   !! $Id$ 
    4850   !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
     
    6466      !!---------------------------------------------------------------------- 
    6567      INTEGER, INTENT(in) ::   kt          ! ocean time step 
    66       !! 
     68      ! 
    6769      INTEGER  ::   ji, jj   ! dummy loop indices 
    6870      INTEGER  ::   ierror   ! temporary integer 
     
    7880            ALLOCATE( sf_rnf(1)%fdta(jpi,jpj,2) ) 
    7981         ENDIF 
    80          CALL sbc_rnf_init(sf_rnf) 
     82         CALL sbc_rnf_init( sf_rnf ) 
     83         ! 
     84         rfact_rcp = rn_rfact * rcp 
    8185      ENDIF 
    8286 
     
    8589         !                                                !-------------------! 
    8690         ! 
    87          CALL fld_read( kt, nn_fsbc, sf_rnf )   ! Read Runoffs data and provides it 
    88          !                                      ! at the current time-step 
    89  
    90          ! Runoff reduction only associated to the ORCA2_LIM configuration 
    91          ! when reading the NetCDF file runoff_1m_nomask.nc 
    92          IF( cp_cfg == 'orca' .AND. jp_cfg == 2 )   THEN 
    93             DO jj = 1, jpj 
     91         CALL fld_read( kt, nn_fsbc, sf_rnf )                    ! Read Runoffs data at the current time-step 
     92         ! 
     93!!gm CAUTION this is ugly  ===>>> to be removed! 
     94         IF( cp_cfg == 'orca' .AND. jp_cfg == 2 )   THEN         ! Runoff reduction only associated to the ORCA2_LIM configuration 
     95            DO jj = 1, jpj                                       ! when reading the NetCDF file runoff_1m_nomask.nc 
    9496               DO ji = 1, jpi 
    9597                  IF( gphit(ji,jj) > 40 .AND. gphit(ji,jj) < 65 )   sf_rnf(1)%fnow(ji,jj) = 0.85 * sf_rnf(1)%fnow(ji,jj) 
     
    9799            END DO 
    98100         ENDIF 
    99  
    100          ! C a u t i o n : runoff is negative and in kg/m2/s  
    101  
    102          IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 
    103             emp (:,:) = emp (:,:) - rn_rfact * ABS( sf_rnf(1)%fnow(:,:) ) 
    104             emps(:,:) = emps(:,:) - rn_rfact * ABS( sf_rnf(1)%fnow(:,:) ) 
     101         ! 
     102         IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN                    ! C a u t i o n : runoff is negative and in kg/m2/s  
     103            emp(:,:) = emp(:,:) - rn_rfact  * ABS( sf_rnf(1)%fnow(:,:) )                ! mass flux 
     104            qns(:,:) = qns(:,:) + rfact_rcp * ABS( sf_rnf(1)%fnow(:,:) ) * sst_m(:,:)   ! its associated heat content (at SST) 
     105            ! 
    105106            CALL iom_put( "runoffs", sf_rnf(1)%fnow )         ! runoffs 
    106107         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.