Changes between Version 7 and Version 8 of ticket/0663_MLF
- Timestamp:
- 2010-04-24T15:39:29+02:00 (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ticket/0663_MLF
v7 v8 1 [[PageOutline]] 2 1 3 Last edited [[Timestamp]] 2 4 3 [[PageOutline]] 4 5 === Author === 6 Matthieu Leclair & Gurvan Madec 7 5 === '''Author :''' Matthieu Leclair & Gurvan Madec === 8 6 ---- 9 === Branch === 10 DEV_r1837_MLF 7 === '''Branch :''' DEV_r1837_MLF === 11 8 ---- 12 9 … … 26 23 The 3 main modifications concern : 27 24 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 29 30 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). 32 33 33 34 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. 34 35 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) 35 36 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]] 37 43 38 44 '''sbcmod.F90 :''' add the swap of surface fields and the read/write in the restart file. … … 42 48 CAUTION : here the swap must be done at each kt, what ever the nn_fsbc value is. Otherwise the ocean forcing will be wrong. 43 49 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)45 50 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. 47 54 48 55 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) … … 50 57 CAUTION 2 : bug in with no solar light penetration (ln_traqsr=.false.) ==> modif in trasbc : qns = qns + qsr. 51 58 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 52 79 53 80 '''(2) The Asselin filter''' remove the forcing from the filter (dynnxt (?), tranxt, traqsr) 81 82 [[BR]] 83 84 54 85 55 86 '''(3) The semi-implicit hpg'''. … … 64 95 The change extend further the stability limit of the time stepping scheme when ln_dynhpg_imp = T 65 96 97 [[BR]] 98 99 66 100 '''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: 67 101 … … 73 107 74 108 109 ---- 75 110 === Pending issues === 76 111 … … 106 141 107 142 * Processor configurations tested 108 * etc ----143 * etc 109 144 145 ---- 110 146 === Bit Comparability === 111 147 ||Does this change preserve answers in your tested standard configurations (to the last bit) ?||!'''YES/NO !'''||