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 6913 – NEMO

Changeset 6913


Ignore:
Timestamp:
2016-09-06T13:00:48+02:00 (8 years ago)
Author:
kuniko
Message:

Made identical twin to dev_r5518_haney_arctic_mask and commited

Location:
branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r5407 r6913  
    4444   LOGICAL , PUBLIC ::   ln_dm2dc       !: Daily mean to Diurnal Cycle short wave (qsr) 
    4545   LOGICAL , PUBLIC ::   ln_rnf         !: runoffs / runoff mouths 
     46   LOGICAL , PUBLIC ::   ln_rnf_arcmsk  !: runoffs / runoff mouths + Arctic mask 
    4647   LOGICAL , PUBLIC ::   ln_ssr         !: Sea Surface restoring on SST and/or SSS       
     48   LOGICAL , PUBLIC ::   ln_flx_adj         !: Sea Surface restoring on SST and/or SSS       
    4749   LOGICAL , PUBLIC ::   ln_apr_dyn     !: Atmospheric pressure forcing used on dynamics (ocean & ice) 
    4850   INTEGER , PUBLIC ::   nn_ice         !: flag for ice in the surface boundary condition (=0/1/2/3) 
  • branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r5501 r6913  
    4141   USE cpl_oasis3       ! OASIS routines for coupling 
    4242   USE sbcssr           ! surface boundary condition: sea surface restoring 
     43   USE sbcflx_adj       ! surface boundary condition: sea surface flux adjustment 
    4344   USE sbcrnf           ! surface boundary condition: runoffs 
     45   USE sbc_arcmsk    ! surface boundary condition: runoffs & Arctic mask 
    4446   USE sbcisf           ! surface boundary condition: ice shelf 
    4547   USE sbcfwb           ! surface boundary condition: freshwater budget 
     
    8991         &             ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc   , ln_rnf   ,   & 
    9092         &             ln_ssr    , nn_isf    , nn_fwb, ln_cdgw    , ln_wave    , ln_sdw   ,   & 
    91          &             nn_lsm    , nn_limflx , nn_components, ln_cpl 
     93         &             nn_lsm    , nn_limflx , nn_components, ln_cpl, ln_flx_adj,ln_rnf_arcmsk 
    9294      INTEGER  ::   ios 
    9395      INTEGER  ::   ierr, ierr0, ierr1, ierr2, ierr3, jpm 
     
    141143         WRITE(numout,*) '              daily mean to diurnal cycle qsr            ln_dm2dc    = ', ln_dm2dc  
    142144         WRITE(numout,*) '              runoff / runoff mouths                     ln_rnf      = ', ln_rnf 
     145         WRITE(numout,*) '              runoff / runoff mouths & Arctic mask       ln_rnf_arcmsk= ', ln_rnf_arcmsk 
    143146         WRITE(numout,*) '              iceshelf formulation                       nn_isf      = ', nn_isf 
    144147         WRITE(numout,*) '              Sea Surface Restoring on SST and/or SSS    ln_ssr      = ', ln_ssr 
     148         WRITE(numout,*) '              Sea Surface Flux adjustment on heat and/or freshwater    ln_flx_adj      = ', ln_flx_adj 
    145149         WRITE(numout,*) '              FreshWater Budget control  (=0/1/2)        nn_fwb      = ', nn_fwb 
    146150         WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea   = ', nn_closea 
     
    297301                               CALL sbc_ssm_init               ! Sea-surface mean fields initialisation 
    298302      ! 
     303      ! KY 12/11/2015 
     304      IF( ln_flx_adj       )   CALL sbc_flx_adj_init           ! Sea-Surface Flux adjustment 
     305      ! 
    299306      IF( ln_ssr           )   CALL sbc_ssr_init               ! Sea-Surface Restoring initialisation 
    300307      ! 
    301308                               CALL sbc_rnf_init               ! Runof initialisation 
     309      ! 
     310      ! KY 16/03/2016 
     311      IF( ln_rnf_arcmsk    )   CALL sbc_rnf_init_arcmsk        ! Runoff & Arctic mask initialisation 
    302312      ! 
    303313      IF( nn_ice == 3      )   CALL sbc_lim_init               ! LIM3 initialisation 
     
    399409      IF( ln_rnf         )   CALL sbc_rnf( kt )                   ! add runoffs to fresh water fluxes 
    400410  
     411      ! KY 12/11/2015 
     412      IF( ln_flx_adj     )   CALL sbc_flx_adj( kt )               ! add flux adjustment term 
     413  
    401414      IF( ln_ssr         )   CALL sbc_ssr( kt )                   ! add SST/SSS damping term 
    402415 
  • branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90

    r4990 r6913  
    1717   USE phycst         ! physical constants 
    1818   USE sbcrnf         ! surface boundary condition : runoffs 
     19   USE sbc_arcmsk     ! surface boundary condition : runoffs & Arctic mask 
    1920   ! 
    2021   USE fldread        ! read input fields 
     
    9798               DO jj = 1, jpj 
    9899                  DO ji = 1, jpi 
    99                      zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) 
     100                     ! K.Y. 16/03/2016 Apply Arctic mask to SST restoring 
     101                     zqrp = rn_dqdt * ( 1. - 2.*only_arcmsk(ji,jj) )  & 
     102                        &           * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) 
     103                     !zqrp = rn_dqdt * ( sst_m(ji,jj) - sf_sst(1)%fnow(ji,jj,1) ) 
    100104                     qns(ji,jj) = qns(ji,jj) + zqrp 
    101105                     qrp(ji,jj) = zqrp 
     
    103107               END DO 
    104108               CALL iom_put( "qrp", qrp )                             ! heat flux damping 
     109               CALL iom_put( "only_arcmsk", only_arcmsk )                             ! arctic mask 
    105110            ENDIF 
    106111            ! 
     
    110115               DO jj = 1, jpj 
    111116                  DO ji = 1, jpi 
    112                      zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
     117                     zerp = zsrp * ( 1. - 2.*rnfmsk_arcmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
    113118                        &        * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) )  
    114119                     sfx(ji,jj) = sfx(ji,jj) + zerp                 ! salt flux 
    115120                     erp(ji,jj) = zerp / MAX( sss_m(ji,jj), 1.e-20 ) ! converted into an equivalent volume flux (diagnostic only) 
    116121                  END DO 
     122                  !!write(numout,*) 'erp(30,',jj,')=',erp(30,jj), & 
     123                  !!   &            'sf_sss(1)%fnow(30,',jj,',1)=',sf_sss(1)%fnow(30,jj,1), & 
     124                  !!   &            'sss_m(30,',jj,')=',sss_m(30,jj),'sst_m(30,',jj,')=',sst_m(30,jj), & 
     125                  !!   &            'rnfmsk_arcmsk(30,',jj,')=',rnfmsk_arcmsk(30,jj) 
    117126               END DO 
    118127               CALL iom_put( "erp", erp )                             ! freshwater flux damping 
     128               CALL iom_put( "rnfmsk_arcmsk", rnfmsk_arcmsk )                         ! river mough & arctic  
    119129               ! 
    120130            ELSEIF( nn_sssr == 2 ) THEN                               !* Salinity damping term (volume flux (emp) and associated heat flux (qns) 
     
    124134               DO jj = 1, jpj 
    125135                  DO ji = 1, jpi                             
    126                      zerp = zsrp * ( 1. - 2.*rnfmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
     136                     zerp = zsrp * ( 1. - 2.*rnfmsk_arcmsk(ji,jj) )   &      ! No damping in vicinity of river mouths 
    127137                        &        * ( sss_m(ji,jj) - sf_sss(1)%fnow(ji,jj,1) )   & 
    128138                        &        / MAX(  sss_m(ji,jj), 1.e-20   ) 
     
    134144               END DO 
    135145               CALL iom_put( "erp", erp )                             ! freshwater flux damping 
     146               CALL iom_put( "rnfmsk_arcmsk", rnfmsk_arcmsk )                         ! river mough & arctic  
    136147            ENDIF 
    137148            ! 
  • branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r5431 r6913  
    2121   USE sbcmod          ! ln_rnf   
    2222   USE sbcrnf          ! River runoff   
     23   USE sbc_arcmsk      ! River runoff & Arctic mask 
    2324   USE sbcisf          ! Ice shelf    
    2425   USE traqsr          ! solar radiation penetration 
  • branches/UKMO/dev_r5518_haney_arctic_mask_for_tests/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r5501 r6913  
    2424   USE sbcmod           ! surface boundary condition       (sbc     routine) 
    2525   USE sbcrnf           ! surface boundary condition: runoff variables 
     26   USE sbc_arcmsk           ! surface boundary condition: runoff variables 
    2627   USE sbccpl           ! surface boundary condition: coupled formulation (call send at end of step) 
    2728   USE sbc_oce          ! surface boundary condition: ocean 
Note: See TracChangeset for help on using the changeset viewer.