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 3402 for branches/2012/dev_r3385_NOCS04_HAMF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2012-05-25T18:43:49+02:00 (12 years ago)
Author:
acc
Message:

Branch: dev_r3385_NOCS04_HAMF; #665. Stage 2 of 2012 development: suppression of emps array and introduction of sfx (salt flux) array with associated code to setup the options for embedding the seaice into the ocean

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_r3385_NOCS04_HAMF/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r3396 r3402  
    8282      INTEGER ::   icpt   ! local integer 
    8383      !! 
    84       NAMELIST/namsbc/ nn_fsbc   , ln_ana , ln_flx  , ln_blk_clio, ln_blk_core, ln_cpl,   & 
    85          &             ln_blk_mfs, ln_apr_dyn, nn_ice , ln_dm2dc, ln_rnf, ln_ssr     , nn_fwb, ln_cdgw 
     84      NAMELIST/namsbc/ nn_fsbc   , ln_ana    , ln_flx,  ln_blk_clio, ln_blk_core, ln_cpl,   & 
     85         &             ln_blk_mfs, ln_apr_dyn, nn_ice,  nn_ice_embd, ln_dm2dc   , ln_rnf,   & 
     86         &             ln_ssr    , nn_fwb    , ln_cdgw 
    8687      !!---------------------------------------------------------------------- 
    8788 
     
    119120         WRITE(numout,*) '              Patm gradient added in ocean & ice Eqs.    ln_apr_dyn  = ', ln_apr_dyn 
    120121         WRITE(numout,*) '              ice management in the sbc (=0/1/2/3)       nn_ice      = ', nn_ice  
     122         WRITE(numout,*) '              ice-ocean embedded/levitating (=0/1/2)     nn_ice_embd = ', nn_ice_embd 
    121123         WRITE(numout,*) '              daily mean to diurnal cycle qsr            ln_dm2dc    = ', ln_dm2dc  
    122124         WRITE(numout,*) '              runoff / runoff mouths                     ln_rnf      = ', ln_rnf 
     
    134136         IF( sbc_rnf_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_rnf arrays' ) 
    135137         nkrnf         = 0 
    136          rnf     (:,:) = 0.e0 
    137          rnfmsk  (:,:) = 0.e0 
    138          rnfmsk_z(:)   = 0.e0 
     138         rnf     (:,:) = 0.0_wp 
     139         rnfmsk  (:,:) = 0.0_wp 
     140         rnfmsk_z(:)   = 0.0_wp 
    139141      ENDIF 
    140142      IF( nn_ice == 0  )   fr_i(:,:) = 0.e0        ! no ice in the domain, ice fraction is always zero 
    141143 
    142       emps(:,:) = 0.e0                             ! the salt flux will be computed (i.e. will be non-zero) only if  
    143       !                                            ! sea-ice is present, or lk_vvl=F, or surface salt restoring is used. 
     144      sfx(:,:) = 0.0_wp                            ! the salt flux due to freezing/melting will be computed (i.e. will be non-zero)  
     145                                                   ! only if sea-ice is present 
    144146 
    145147      !                                            ! restartability    
     
    221223      !!                time step, i.e.   
    222224      !!                utau_b, vtau_b, qns_b, qsr_b, emp_n, emps_b, qrp_b, erp_b 
    223       !!                utau  , vtau  , qns  , qsr  , emp  , emps  , qrp  , erp 
     225      !!                utau  , vtau  , qns  , qsr  , emp  , sfx   , qrp  , erp 
    224226      !!              - updte the ice fraction : fr_i 
    225227      !!---------------------------------------------------------------------- 
     
    238240         ! qsr_b (:,:) = qsr (:,:) 
    239241         emp_b (:,:) = emp (:,:) 
    240          emps_b(:,:) = emps(:,:) 
     242         emps_b(:,:) = sfx(:,:) 
    241243      ENDIF 
    242244      !                                            ! ---------------------------------------- ! 
     
    256258                                                             
    257259      SELECT CASE( nsbc )                                ! Compute ocean surface boundary condition 
    258       !                                                  ! (i.e. utau,vtau, qns, qsr, emp, emps) 
     260      !                                                  ! (i.e. utau,vtau, qns, qsr, emp, sfx) 
    259261      CASE(  0 )   ;   CALL sbc_gyre    ( kt )                    ! analytical formulation : GYRE configuration 
    260262      CASE(  1 )   ;   CALL sbc_ana     ( kt )                    ! analytical formulation : uniform sbc 
     
    316318            ! qsr_b (:,:) = qsr (:,:) 
    317319            emp_b (:,:) = emp (:,:) 
    318             emps_b(:,:) = emps(:,:) 
     320            emps_b(:,:) = sfx(:,:) 
    319321         ENDIF 
    320322      ENDIF 
     
    332334         ! CALL iom_rstput( kt, nitrst, numrow, 'qsr_b'  , qsr  ) 
    333335         CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp  ) 
    334          CALL iom_rstput( kt, nitrst, numrow, 'emps_b' , emps ) 
     336         CALL iom_rstput( kt, nitrst, numrow, 'emps_b' , sfx ) 
    335337      ENDIF 
    336338 
     
    340342      IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 
    341343         CALL iom_put( "empmr" , emp  - rnf )                   ! upward water flux 
    342          CALL iom_put( "empsmr", emps - rnf )                   ! c/d water flux 
     344         CALL iom_put( "empsmr", sfx - rnf )                    ! c/d water flux 
    343345         CALL iom_put( "qt"    , qns  + qsr )                   ! total heat flux  
    344346         CALL iom_put( "qns"   , qns        )                   ! solar heat flux 
     
    357359         CALL prt_ctl(tab2d_1=fr_i             , clinfo1=' fr_i     - : ', mask1=tmask, ovlap=1 ) 
    358360         CALL prt_ctl(tab2d_1=(emp-rnf)        , clinfo1=' emp-rnf  - : ', mask1=tmask, ovlap=1 ) 
    359          CALL prt_ctl(tab2d_1=(emps-rnf)       , clinfo1=' emps-rnf - : ', mask1=tmask, ovlap=1 ) 
     361         CALL prt_ctl(tab2d_1=(sfx-rnf)        , clinfo1=' sfx-rnf - : ', mask1=tmask, ovlap=1 ) 
    360362         CALL prt_ctl(tab2d_1=qns              , clinfo1=' qns      - : ', mask1=tmask, ovlap=1 ) 
    361363         CALL prt_ctl(tab2d_1=qsr              , clinfo1=' qsr      - : ', mask1=tmask, ovlap=1 ) 
Note: See TracChangeset for help on using the changeset viewer.