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.
ticket/0663_MLF (diff) – NEMO

Changes between Version 7 and Version 8 of ticket/0663_MLF


Ignore:
Timestamp:
2010-04-24T15:39:29+02:00 (14 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0663_MLF

    v7 v8  
     1[[PageOutline]] 
     2 
    13Last edited [[Timestamp]] 
    24 
    3 [[PageOutline]] 
    4  
    5 === Author === 
    6  Matthieu Leclair & Gurvan Madec  
    7  
     5=== '''Author  :''' Matthieu Leclair & Gurvan Madec  === 
    86---- 
    9 === Branch === 
    10 DEV_r1837_MLF 
     7=== '''Branch :'''  DEV_r1837_MLF === 
    118---- 
    129 
     
    2623The 3 main modifications concern :  
    2724 
    28 '''(1) The forcing terms'''. They are defined as a mean between time step n-1/2 and n+1/2 (sbcmod.F90, sbc.F90, trasbc.F90, dynzdf....F90) 
     25   [[BR]] 
     26 
     27'''(1) The forcing terms'''. They are defined as a mean between time step n-1/2 and n+1/2  
     28 
     29   modules involved : sbc_oce.F90, sbcmod.F90, trasbc.F90, traqsr.F90, dynzdf....F90 
    2930  
    30 [[Image(NEW_LF_RA.jpg, 50%)]][[BR]] 
    31 Illustration of forcing integration methods. Old formulation (top) and new formulation (bottom). 
     31   [[Image(NEW_LF_RA.jpg, 50%)]][[BR]] 
     32   Illustration of forcing integration methods. Old formulation (top) and new formulation (bottom). 
    3233 
    3334   At each time a forcing term appears in the 3 time evolution equations solved in NEMO/OPA (ssh, dynamics and tracer). The mean of kt+1/2 and kt+1/2 has to be used in order to remove the largest source of divergence of two consecutive time step. Therefore, the surface module (including the sea-ice!) must now provide both kt+1/2 and kt-1/2 forcing fields, and all the module involving a forcing term have to be modified. 
    3435   Note that TKE equation is solved with a two level time stepping scheme : no need of a before field for its forcing term (i.e. taum) 
    3536 
    36    '''sbc_oce.F90 :''' add "before" forcing fields (denoted by a '_b' sufix) for all ocean forcing components (utau_b, vtau_b, qns_b, qsr_b, emp_b, emps_b) 
     37   [[BR]] 
     38 
     39   '''sbc_oce.F90 :''' add "before" forcing fields (denoted by a '_b' sufix)  
     40      All ocean forcing components are involved, i.e.  utau_b, vtau_b, qns_b, qsr_b, emp_b,and  emps_b 
     41 
     42   [[BR]] 
    3743    
    3844   '''sbcmod.F90 :''' add the swap of surface fields and the read/write in the restart file. 
     
    4248      CAUTION : here the swap must be done at each kt, what ever the nn_fsbc value is. Otherwise the ocean forcing will be wrong. 
    4349 
    44    '''trasbc.F90''' : applied heat and freshwater/salt fluxes (qns, emp, emps) as the mean of 2 consecutive time-steps (kt+1/2 and kt-1/2) 
    4550 
    46       This involes the following changes : (1) incorporate the time mean of the forcing ; (2) put the IF-ELSE-ENDIF outside the DO-loop for vector optimisation ; (3) remove the key_zco optimisation (increase readability) as zco is less and less used ; (4) correct a bug in vvl case, where salt flux associated with freezing/melting were not taken into account. 
     51   [[BR]] 
     52   '''trasbc.F90''' : change in the heat and freshwater/salt fluxes  
     53      The thermohalin fluxes (qns, emp, emps) are now applied as the mean of 2 consecutive time-steps (kt+1/2 and kt-1/2). This involes the following changes : (1) incorporate the time mean of the forcing ; (2) put the IF-ELSE-ENDIF outside the DO-loop for vector optimisation ; (3) remove the key_zco optimisation (increase readability) as zco is less and less used ; (4) correct a bug in vvl case, where salt flux associated with freezing/melting were not taken into account. 
    4754 
    4855      CAUTION 1 : bug in the salt flux in key_vvl ===> modif in limsbc_2.F90 (emps becomes a salt flux in vvl,limsbc, limsbc_2 and CICE interface must be modified) 
     
    5057      CAUTION 2 : bug in with no solar light penetration (ln_traqsr=.false.) ==> modif in trasbc : qns = qns + qsr. 
    5158 
     59   [[BR]] 
     60 
     61 
     62   '''traqsr.F90 : ''' applied the solar heat flux (qsr) as the mean of 2 consecutive time-steps (kt+1/2 and kt-1/2) 
     63 
     64      CAUTION 1 : the case where the light penetration is provided by the bio-model ( i.e. lk_qsr_bio = ln_qsr_bio =.true. is not yet treated. It probably requires changes in p4zopt.F90 and trcopt.F90. Not completely obvious since this depends on the TOP time-stepping strategy. 
     65 
     66   [[BR]] 
     67 
     68 
     69   '''dynzdf_exp.F90 : ''' applied the stress (utau, vtau) as the mean of 2 consecutive time-steps (kt+1/2 and kt-1/2) 
     70 
     71   [[BR]] 
     72 
     73 
     74   '''dynzdf_imp.F90 : ''' applied the stress (utau, vtau) as the mean of 2 consecutive time-steps (kt+1/2 and kt-1/2) 
     75 
     76   [[BR]] 
     77 
     78 
    5279 
    5380'''(2) The Asselin filter''' remove the forcing from the filter (dynnxt (?), tranxt, traqsr) 
     81 
     82[[BR]] 
     83 
     84 
    5485 
    5586'''(3) The semi-implicit hpg'''. 
     
    6495   The change extend further the stability limit of the time stepping scheme when ln_dynhpg_imp = T 
    6596 
     97   [[BR]] 
     98 
     99 
    66100'''N.B.''' : Three key elements of the LF-RA scheme have already been implemented in former version of NEMO (v3.0 and v3.1). As a remainder, there are: 
    67101 
     
    73107 
    74108 
     109---- 
    75110=== Pending issues === 
    76111 
     
    106141 
    107142 * Processor configurations tested 
    108  * etc---- 
     143 * etc 
    109144 
     145---- 
    110146=== Bit Comparability === 
    111147||Does this change preserve answers in your tested standard configurations (to the last bit) ?||!'''YES/NO !'''||