Form 58 (in 2017WP/ENHANCE-05_Gurvan-RK3)

Saved Values

in subcontext 'abstract'

implementation: 'Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) A few things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 • sea-ice restart with iom_put : phasing with dev_rev8689_LIM3_RST (faster and shorter sea-ice restart) ===>>> see revision 8817 • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. OK for linear drag. <<<=== THIS HAS TO BE SOLVED.... *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)' by gm2017-11-29T12:19:21+01:00
manual: 'Using part 1 and 2, define the summary of changes to be done in the NEMO reference manual (tex files), and in the content of web pages.' by gm2017-06-16T09:19:12+02:00
description: 'Describe the goal of development, and the methodology. Add reference documents or publications if relevant. GOAL : introduce an optional RK3 time-stepping scheme as an alternative to the current MLF scheme METHODOLOGY : Part I - Introduction of a Forward-Backward Scheme (FBS) The FB scheme, like the RK3, is a two levels time-stepping scheme but much simpler than a RK3. Its implementation will prepare all the needed environment for the RK3 scheme, while been much easier to develop and test. T Part II - Introduction of a RK3 scheme Compare to FB scheme, the master step routine have to be modified, and all DYN and TRA trend module have to be adapted to the two levels time stepping case. ' by gm2017-11-22T12:34:55+01:00

Change History

Changed on 2017-11-29T12:19:21+01:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 • sea-ice restart with iom_put : phasing with dev_rev8689_LIM3_RST (faster and shorter sea-ice restart) ===>>> see revision 8817 • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) A few things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 • sea-ice restart with iom_put : phasing with dev_rev8689_LIM3_RST (faster and shorter sea-ice restart) ===>>> see revision 8817 • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. OK for linear drag. <<<=== THIS HAS TO BE SOLVED.... *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-11-29T11:59:10+01:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 CAUTION, require nn_fsbc =1 (it blow up after about 10 time-step with nn_fsbc=5) • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 • sea-ice restart with iom_put : phasing with dev_rev8689_LIM3_RST (faster and shorter sea-ice restart) ===>>> see revision 8817 • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-11-24T17:58:20+01:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • sea-ice phasing with ICEMODEL branch (from revision 8626 to 8787) ===>>> see revision 8813 CAUTION, require nn_fsbc =1 (it blow up after about 10 time-step with nn_fsbc=5) • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-11-22T12:34:55+01:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code. List the .F90 files and modules to be changed. Detailed list of new variables (including namelists) to be defined. Give for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| step I.3 —— preliminary changes (finalisation) ===>>> see revision 8637 • numerous changes in configuration namelist to be able to pass the SETTE test • stpctl.F90 : addition of a test on NaN values using (ISNAN function) + check 2D salinity minimum instead of SSS only ===>>> solve an issue with ISOMIP configuration (see rev. 8784) • zdfdrg.F90 : issue in top drag coefficient. ISOMIP is running only without top drag or with a linear top drag. it blow up in non linear or log layer cases. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
  • description changed from
    Describe the goal of development, and the methodology.\n\nAdd reference documents or publications if relevant. GOAL : introduce an optional RK3 time-stepping scheme as an alternative to the current MLF scheme METHODOLOGY : Part I - Introduction of a Forward-Backward Scheme (FBS) The FB scheme, like the RK3, is a two levels time-stepping scheme but much simpler than a RK3. Its implementation will prepare all the needed environment for the RK3 scheme, while been much easier to develop and test. T Part II - Introduction of a RK3 scheme Compare to FB scheme, the master step routine have to be modified, and all DYN and TRA trend module have to be adapted to the two levels time stepping case.
    to
    Describe the goal of development, and the methodology. Add reference documents or publications if relevant. GOAL : introduce an optional RK3 time-stepping scheme as an alternative to the current MLF scheme METHODOLOGY : Part I - Introduction of a Forward-Backward Scheme (FBS) The FB scheme, like the RK3, is a two levels time-stepping scheme but much simpler than a RK3. Its implementation will prepare all the needed environment for the RK3 scheme, while been much easier to develop and test. T Part II - Introduction of a RK3 scheme Compare to FB scheme, the master step routine have to be modified, and all DYN and TRA trend module have to be adapted to the two levels time stepping case.

Changed on 2017-10-19T07:01:32+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 ===>>> DONE by clem in rev 8626, updated in I.3 (ter) • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. step I.3 —— preliminary changes (ter) ===>>> see revision 8637 identical results for GYRE phasing with the updated dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8626) also included, small changes in zdfiwm with some work arrays defined now locally TO BE DONE : • sbcblk : I don't like the way air-ice drag coefficient have been introduce. A massive use of argument instead of in core memory + question about suppression of |Uair - Uice| *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-10-04T09:30:49+02:00 by gm:

Changed on 2017-10-04T09:30:49+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision 8586 identical results for GYRE phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" NB3 : traqsr.F90 introduce ICEMODEL changes but don't agree with them (cf below) NB4 : zdfgls.F90 There is not specific modification of GLS below sea-ice…. This is surely an issue with surface roughness parameterization add the multiplicative coeff when Hs coming from wave model is used ===>>> this should also be added to TKE NB5 : TKE: the default value for nn_mxl SHOULD be = 3 NB6 : default value for ESIM (LIM3) should not be ORCA2 case in order to put in evidence which parameters may be changed with resolution.... NB7 : TRUST : are the namelist to be updated with the changes in reference namelist ? TO BE DONE : • traqsr.F90 I don't agree with the changes associated with the suppression of ln_qsr_ice. I'm OK with the suppression, but : - the calculation should be encapsulated with a l_ice (i.e. done only when sea-ice is used) - averaging a fraction is wrong. All this should be written differently - The is a big conceptual error in Qsr penetration through sea-ice and then in the ocean. Red light is blocked by sea ice, so it is wrong to further block more than 50% of the light in the ocean below…. • albedooce : rename albedooce.F90 as alboce.F90 or better, like in LIM3, use ocealb.F90 • sbc_ice : rewrite it completely splitting clearly LIM3 / CICE and def in all case rather than a spreading of #if def everywhere…. ==>> gm give an example • embedded sea-ice : the mass of snow-ice arrays may be only allocated when embedded is used, no? • dynspg.F90 : change the way the additional terms are added the idea is : in _ts case, linear interpolation at sub-timestep in explicite free surf., juste add 1/2 those terms. in addition create a l_extraterms instead of a long list of test…. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-09-30T10:52:12+02:00 by gm:

Changed on 2017-09-30T10:52:12+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) NB2 : LBC, issue still exists with north fold and iceberg floats .... cf "!!gm ERROR" *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-09-30T09:52:46+02:00 by gm:

Changed on 2017-09-30T09:52:46+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with HPC09 branch (/branches/2017/????? revision 8214) ===>>> see revision 8215 This means that LBC directory is updated so that lbc_lbk_multi is available. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with the dev_r8183_ICEMODEL branch (/branches/2017/dev_r8183_ICEMODEL revision 8575) This means : • simplify work when merging Paris and NOCS branches during the 2017 merge party • remove LIM2 • addition of the new shared ice model • new LBC (see /branches/2017/dev_r8127_AGRIF_LIM3_GHOST) NB : issue with dynspg_ts.F90 : correction of a bug for top drag coefficient (also done in dev_r7881_HPC09_ZDF) *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-09-27T16:31:16+02:00 by gm:

Changed on 2017-09-27T16:31:16+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision XXXX The following changes are motivated by first, allowing a 2 levels time stepping in the RK3_SRC, and second, give benefit to OPA_SRC of some of the associated cleaning, simplification, and new feature. * dynadv.F90, dynzad.F90 (in Both RK3_SRC and OPA_SRC) : - all to use linear dynamics (add ln_lindyn in namdyn_adv) - remove the split-explicit vertical advection option (ln_dynzad_zts) - change reference namelist & all namelist (NB: now, there is no dyn_adv option by default) * traadv.F90, traadv_fct.F90 (in Both RK3_SRC and OPA_SRC) : - remove the split-explicit vertical advection option (np_FCT_zts) from all _ref & _cfg namelist *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision 8568 Commit : common work on OPA_SRC & RK3_SRC (also impact TOP_SRC on some aspects) Three things: (1) remove vertical sub-time-stepping (both dyn & tra and trc) (2) add a NONE case fort dyn/tra/trc logicals on advection and diffusion (ln_...._NONE) (3) remove all work_nemo from DOM, DYN, LDF, and TRA (4) remove time-splitting in the vertical advection of active/passive tracers and dynamics (5) replace nn_timing by ln_timing (in TRA, DYN, DOM and ZDF) (6) CFL criteria re-rewritten a,d now controlled by ln_diacfl logical namelist_ref changes: namtra_adv : add ln_traadv_NONE (No tracer advection) remove nn_fct_zts (vertical sub-timestepping) namtra_ldf : add ln_traldf_NONE (No explicit diffusion) namdyn_adv : add ln_dynadv_NONE (linear dynamics) remove ln_dynzad_zts (vertical sub-timestepping) namdyn_ldf : add ln_dynldf_NONE (No explicit diffusion) namtrc_adv : remove nn_fct_zts (vertical sub-timestepping) namtrc_ldf: add ln_trcldf_NONE (No explicit diffusion) namctl : introduce ln_timing ln_diacfl in place of nn_timing and nn_diactl DOM : remove wrk_nemo from all DOM routines (depth_e3 , domain, dommsk, domngb, domvvl, domzgr, dtatsd, iscplhsb, iscplrst, istate ) DYN : remove wrk_nemo from all DYN routines ((divhor, dynadv(_cen, _ubs), dynhpg, dynkeg, dynldf(_iso, _lap), dynnxt, dynspg, dynvor, dynzad, sshwzv, wet_dry) dynadv : add ln_dynadv_NONE (No momentum advection) dynldf : add ln_traldf_NONE (No momentum advection) dynvor: changes due to the case linear dynamics + trends diag. with Stokes-Coriolis dynzad: remove vertical sub-timestepping (ln_dynzad_zts suppressed) LDF : remove wrk_nemo from all LDF routine (ldfdyn, ldfslp, ldftra) ldfdyn : add ln_dynldf_NONE (No explicit diffusion) ldftra : add ln_traldf_NONE (No explicit diffusion) TRA : remove wrk_nemo from all TRA routines (20 over 21 involved) traadv_fct : remove vertical sub-timestepping traadv : add ln_traadv_NONE (No tracer advection) + removal of nn_fct_zts TOP associated with changes in TRA trcadv.F90: remove nn_fct_zts option (vertical sub-timestepping) + add optional stokes drift + add ln_trcadv_NONE option Introduction of ln_timing in place of nn_timing (in DOM,DYN,LDF TRA, ZDF) Note that nn_timing is temporary kept (to be demoved at the end of the 2017 merge party, see #1941) diacfl.F90 : style + nn_diactl becomes ln_diactl Note that to work, zCu_cfl, zCv_cfl, zCw_cfl arrays have to be allocatable. I don't understand why…. step I.3 —— preliminary changes (bis) ===>>> see revision XXXX phasing the branch with HPC09 branch (/branches/2017/????? revision 8214) ===>>> see revision 8215 This means that LBC directory is updated so that lbc_lbk_multi is available. *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-08-28T11:03:29+02:00 by gm:

Changed on 2017-08-28T11:03:29+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision XXXX * dynadv.F90, dynzad.F90 (in Both RK3_SRC and OPA_SRC) : - all to use linear dynamics (add ln_lindyn in namdyn_adv) - remove the split-explicit vertical advection option (ln_dynzad_zts) - change reference namelist & all namelist (NB: now, there is no dyn_adv option by default) * traadv.F90, traadv_fct.F90 (in Both RK3_SRC and OPA_SRC) : - remove the split-explicit vertical advection option (np_FCT_zts) from all _ref & _cfg namelist *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision XXXX The following changes are motivated by first, allowing a 2 levels time stepping in the RK3_SRC, and second, give benefit to OPA_SRC of some of the associated cleaning, simplification, and new feature. * dynadv.F90, dynzad.F90 (in Both RK3_SRC and OPA_SRC) : - all to use linear dynamics (add ln_lindyn in namdyn_adv) - remove the split-explicit vertical advection option (ln_dynzad_zts) - change reference namelist & all namelist (NB: now, there is no dyn_adv option by default) * traadv.F90, traadv_fct.F90 (in Both RK3_SRC and OPA_SRC) : - remove the split-explicit vertical advection option (np_FCT_zts) from all _ref & _cfg namelist *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-07-25T18:15:49+02:00 by gm:

Changed on 2017-07-25T18:15:49+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— blabla... ===>>> see revision 8367
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— preliminary changes ===>>> see revision XXXX * dynadv.F90, dynzad.F90 (in Both RK3_SRC and OPA_SRC) : - all to use linear dynamics (add ln_lindyn in namdyn_adv) - remove the split-explicit vertical advection option (ln_dynzad_zts) - change reference namelist & all namelist (NB: now, there is no dyn_adv option by default) * traadv.F90, traadv_fct.F90 (in Both RK3_SRC and OPA_SRC) : - remove the split-explicit vertical advection option (np_FCT_zts) from all _ref & _cfg namelist *** *** *** OPA_SRC changes *** *** *** Summarize of changes in OPA_SRC • linear dynamics option (dynadv.F90) and no selection of dyn_adv scheme by default (namlist_ref and all namlist_cfg) • remove split explicit vertical advection option on tracer and dynamics (involved traadv.F90, traadv_fct.F90 and dynzad.F90, dynzad.F90)

Changed on 2017-07-25T10:09:10+02:00 by gm:

Changed on 2017-07-25T10:09:10+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— blabla... ===>>> see revision 8367
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** Introduction of a Forward-Backward Scheme (FBS) step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— blabla... ===>>> see revision 8367

Changed on 2017-07-25T10:05:15+02:00 by gm:

Changed on 2017-07-25T10:05:15+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** step I.1 —— TRA : add all time varying fields as argument
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** starting point phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** step I.1 —— create RK3_SRC from OPA_SRC ===>>> see revision 8367 step I.2 —— blabla... ===>>> see revision 8367
  • description changed from
    Describe the goal of development, and the methodology.\n\nAdd reference documents or publications if relevant. GOAL : introduce an optional RK3 time-stepping scheme as an alternative to the current MLF scheme METHODOLOGY : Part I - code restructuration to prepare the introduction of optional RK3 scheme The RK3 schemes will use the same tendency terms as the Leap-Frog scheme, but it calls them several times by time step, with different input variables. Therefore, the time dependent variables have to be add as argument of all DYN and TRA subroutines • STEP I.1 : TRA - add all time varying fields as argument • STEP I.2 : DYN - add all time varying fields as argument Part II - Addition of the optional RK3 scheme • STEP II.1 : introduce a stpRK3.F90 time-stepping module (which will contain a stp_RK3 routine) • STEP II.2 : move the existing Modified Leap-Frog time stepping (step.F90) in stpMLF.F90 module (containing stp routine renamed stp_MLF) • STEP II.3 : change the CALL to stp routine in memogcm.F90 by a CALL to either stp_MLF or stp_RK3 depending of namelist parameters
    to
    Describe the goal of development, and the methodology.\n\nAdd reference documents or publications if relevant. GOAL : introduce an optional RK3 time-stepping scheme as an alternative to the current MLF scheme METHODOLOGY : Part I - Introduction of a Forward-Backward Scheme (FBS) The FB scheme, like the RK3, is a two levels time-stepping scheme but much simpler than a RK3. Its implementation will prepare all the needed environment for the RK3 scheme, while been much easier to develop and test. T Part II - Introduction of a RK3 scheme Compare to FB scheme, the master step routine have to be modified, and all DYN and TRA trend module have to be adapted to the two levels time stepping case.

Changed on 2017-06-25T12:27:03+02:00 by gm:

Changed on 2017-06-25T12:27:03+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** phase the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF) ===>>> see revision 7904 *** PART I *** step I.1 —— TRA : add all time varying fields as argument
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** phasing the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF revision 8214) ===>>> see revision 8215 *** PART I *** step I.1 —— TRA : add all time varying fields as argument

Changed on 2017-06-24T09:45:00+02:00 by gm:

Changed on 2017-06-24T09:45:00+02:00 by gm:

  • implementation changed from
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART I *** step I.1 —— TRA : add all time varying fields as argument
    to
    Describe flow chart of the changes in the code.\n\nList the .F90 files and modules to be changed.\n\nDetailed list of new variables (including namelists) to be defined.\nGive for each the chosen name (following coding rules) and definition. *** PART 0 *** phase the branch with HPC09 branch (/branches/2017/dev_r7881_HPC09_ZDF) ===>>> see revision 7904 *** PART I *** step I.1 —— TRA : add all time varying fields as argument

Changed on 2017-06-16T09:19:12+02:00 by gm: