{5} Assigned, Active Tickets by Owner (Full Description) (61 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

aumont (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1516 New CNRS branch for PISCES quota model TOP Unscheduled cetlod Task 2015-05-13

cetlod

cbricaud (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2023 PUB-01_cbricaud_CRS doc 2020 WP cbricaud Task 2018-02-20

Summary : complete table

Abstract = finish the coarsening reference publication Description= write a reference paper on the coarsening methodology Progress = submitted in 12/2019; waiting for review


cbricaud

cetlod (4 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2057 ROBUST-03_cethe_TOP_doc TOP Documentation clevy Task 2018-02-26

Context

Implementation plan


clevy
#2055 ENHANCE-14_cethe_PISCES_LBC OCE Unscheduled clevy Task 2018-02-26

Context

Implementation plan


clevy
#1933 passive tracers trends TOP jpalmier Bug 2017-08-23

Context


Working with the UKMO version of NEMO, i got some difficulties to get the trends working proprely.

  • one reason for this is that new trends have been added by UKMO people that are not expected by the final/"outputing" part of trdtrc. the way this final part is written, if an non expected trend arrives here to be written out by XIOS, breaks the model:
          IF( lk_trdtrc .AND. ln_trdtrc( kjn ) ) THEN
             !
             SELECT CASE( ktrd )
             CASE( jptra_xad  )       ;    WRITE (cltra,'("XAD_",4a)')
             CASE( jptra_yad  )       ;    WRITE (cltra,'("YAD_",4a)')
             CASE( jptra_zad  )       ;    WRITE (cltra,'("ZAD_",4a)')
             CASE( jptra_ldf  )       ;    WRITE (cltra,'("LDF_",4a)')
             CASE( jptra_bbl  )       ;    WRITE (cltra,'("BBL_",4a)')
             CASE( jptra_nsr  )       ;    WRITE (cltra,'("FOR_",4a)')
             CASE( jptra_zdf  )       ;    WRITE (cltra,'("ZDF_",4a)')
             CASE( jptra_dmp  )       ;    WRITE (cltra,'("DMP_",4a)')
             CASE( jptra_sms  )       ;    WRITE (cltra,'("SMS_",4a)')
             CASE( jptra_atf  )       ;    WRITE (cltra,'("ATF_",4a)')
             CASE( jptra_radb )       ;    WRITE (cltra,'("RDB_",4a)')
             CASE( jptra_radn )       ;    WRITE (cltra,'("RDN_",4a)')
             END SELECT
                                              cltra = TRIM(cltra)//TRIM(ctrcnm(kjn))
                                              CALL iom_put( cltra,  ptrtrd(:,:,:) )
             !
          END IF
    
    
    For example, the JPTRA_TOTAD case has been added by the UKMO team. with a call to trd_trc(…, jptra_totad,…)
    This call will arrive in the foreseen piece of code, cltra will not be defined, and the iom_put call will fail without variable name to look after.
  • A second problem is that these trends still do not take into account the vvl correction from ticket 1877.
  • Some trends we might need for CMIP6 are missing from the list above.
  • the namtrc_trd namelist is looking for ln_trdmxl_trc_restart and ln_trdmxl_trc_instant when namelist_top_ref has ln_trdmld_trc_restart, ln_trdmld_trc_instant instead.
  • the place where namtrc_trd is read in namtrc starts to be problematic as namtrc_dia includes mainly the namelists read if XIOS is not available.
  • Finally the trends are not defined in the field_def.xml file.


Analysis


  • The output problem, once seen is easy to fix, it needs to move the cltra = TRIM(cltra)//TRIM(ctrcnm(kjn)); CALL iom_put( cltra, ptrtrd(:,:,:) ) sentences inside each CASE.
  • I went to talk to George for the vvl problem. the solution is to copy what have been done for the dynamic.
  • I am not sure about the full list of trends we want for the passive tracers, but at least we want the JPTRA_SMS and the total trend. Is there a definitive list of the passive tracer trends required for CMIP6 ? in the while i have added all the dynamical trends that were missing in the passive tracers, and have added a iom_use call before iom_put.
  • namtrc_dia should be protected under a IF( .NOT. lk_iomput ) test, and move the namtrc_trd namelist reading in the main routine (might be better to move it in a specific trd routine as for the ice with trc_nam_ice)
  • the field_def file needs to be completed.


Fix


A NEMO_3.6 branch has been created: nemo_v3_6_STABLE_trdtrc first changes can be seen here

Still missing:


  • Some of the trends are still not working on my MEDUSA testing branch. Once corrected, i'll import the changes.
  • i am looking for adding the trends vertical inventory through XIOS. It is feasible, i kind of see how, but would be better with an example It would avoid writing tons of 3D fields when we really want 2D.
  • Need to be tested from outside Met Office? branch version. I removed everything from MEDUSA in this branch, but i cannot test it yet. have to check with Andrew how to test this.

jpalmier
#1463 CNRS-13(2015WP) - Subduction diagnostics OCE Unscheduled cetlod Task 2015-02-04

Add useful diagnostics of subduction of water masses Already coded/tested in v3.4 ; adapt to the current version


cetlod

clem (3 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2036 SEAICE-05_crousset_coupled_interface OCE Unscheduled clevy Task 2018-02-23

Context

Implementation plan


clevy
#1894 mass and heat budgets in NEMO OCE clem Task 2017-04-28

Context

Mass and heat fluxes in NEMO are a bit messy and should be cleaned at some point. Therefore this ticket is a reminder for what should be done (or discussed) for the next NEMO release

As far as I understand, the mass budget of the ocean+ice/snow is written:

$Doce + Dice + Dsnow = - emp_oce - emp_ice + rnf - fwfisf$

  • emp_ice is E-P over sea ice
  • emp_oce includes calving ("calving_cea") in addition to E-P over ocean
  • runoffs include icerbergs ("iceberg_cea") in addition to river runoff
  • fwfisf is the ice-shelf melting (<0 = melting)

This interleaving of variables makes things complicated when it comes to define a heat budget.

  • calving ⇒ we suppose Tcal = 0degC (i.e. no sensible flux) and latent heat is removed from qns to take into account the ocean heat uptake to melt the ice (in sbccpl.F90)
  • river runoff ⇒ we suppose Trnf = SST (in sbcrnf.F90)
  • iceberg ⇒ latent heat is removed from qns (in sbccpl.F90) but since we treat iceberg as a runoff, its temperature is also at the SST (in sbcrnf.F90)
  • ice-shelf ⇒ latent heat is removed from the ocean directly as a temperature change and the sensible flux is taken into account with a melting temperature fixed at -1.9 degC (in sbcisf.F90)

Note that in coupled mode you generally have:

  • iceberg = half of the Antarctic fresh water flux is distributed in the ocean according to a climatology of icebergs distribution
  • iceshelf = half of the Antarctic fresh water flux is distributed along the coast where there is iceshelf
  • calving = Greenland fresh water is uniformly distributed

Fix

  • separate calving from emp_oce?
  • separate river runoff from icerbegs?
  • change temperature of the ice-shelf when melting?
  • change temperature for calving?
  • fwfisf does not follow the convention for runoff (>0 = input for the ocean)
  • other things?

clem
#2054 ENHANCE-07_crousset_LIM3adv_valorisation OCE Unscheduled clevy Task 2018-02-26

Context

Implementation plan


clevy

clevy (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1971 with new equation of state (TEOS10) input files in T and S need to be changed, according to the new equation of state (TEOS10) OCE Unscheduled flavoni Defect 2017-11-06

Context

If we want to use the new equation of state (TES10) input files are needed to be re-generated; to use conservative temperature and absolute salinity.

Fix


flavoni

davestorkey (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2355 KERNEL-03_Storkey_Coward_RK3_stage3 DYN IMMERSE 2020 acc Task 2019-12-20

Workplan action

Wikipage: wiki:2020WP/KERNEL-03_Storkey_Coward_RK3_stage3?


acc

deazer (2 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2135 Memory Bug requries compilation flag to zero all arrays to overcome in AMM15 LDF deazer Bug 2018-10-04

Context

AMM15 cannot be run in NEMO4 Beta on a large number of nodes without the use of a flag to initialize all arrays to 0. e.g. -ez on cray

Analysis

AMM15 will not restart if using a certain number of nodes. Below tis number it will run but wil not be reproducible across different domain decompositions without the -ez flag.

Initial analysis isolated the arrays ahmt, ahmf in ldfdyn.F90

these can be set directly to zero, e.g.

ahmt(:,:,:) = 0._wp
ahmf(:,:,:) = 0._wp

and the model will at least run but remains not reproducible

Further analysis is required to isolate remaining uninitialized data that is causing the reproducibility problem in AMM15

Note the default configurations do not appear to be affected by this bug.

Fix


deazer
#1646 pit falls of choosing parameters in the F-S sigma code OCE jamesharle Defect 2015-12-03

Having had a look at the NOCL set up of a high resolution AMM60 configuraton I've come across a possible pit fall concerning the choice of parameters in the Furner-Siddorn vertical coordinates. See the attached figures of the top grid box depth (e3t) using the Siddorn-Furner sigma coords for hc=150 and hc=50 (50 being the default shipped with NEMO for the AMM12 domain). Spot the discontinuity!

From reading the code - it looks like the fixed surface grid box depth (rn_zs=1m in AMM60) and stretched coordinates come into play at depths > hc. Anything less than the hc depth and we're in pure sigma - so as AMM60 has only 50 wet vertical levels - top grid box (e3t) is going to just under 3m at depths approaching 150m (i.e. hc=150). And that's why hc = 50 looks as it should!

If hc < jpk you'd have the reverse scenario: a very sudden shallowing of the depth of the top grid box.

So I guess the guidance for this is to make hc = jpk (for rn_zs=1m)!

Or more generally hc = jpk * rn_zs

To avoid users selecting inappropriate combinations of these parameters, perhaps 'hc' should be set in the furner-siddorn subroutine and a WARNING issued if it differs from the one in the namelist?


jamesharle

djlea (2 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2269 OBSTOOLS/sla2fb: old altimetry format TOP cbricaud Defect 2019-04-05

Context

OBSTOOLS/sla2fb is used to convert aviso sla netfiles to feedback format, read by the Observation operator in NEMO

obssla_io.h90 read the aviso files, but it needs to read aviso sla files with "old format" ( Tracks, Cycles, Data dimensions)

Analysis

Someone should have the good routine

Recommendation


cbricaud
#2297 Updates to ASM and OBS documentation OBS djlea Enhancement 2019-06-14

Context

The documentation for OBS and ASM needs reviewing as it is likely out of date with respect to NEMO release 4.

Proposal

  • I propose to review the OBS and ASM chapters for errors and anything out of date.
  • I will also test the examples given to ensure the instructions are correct

There will be an associated ticket which will include any (small) bug fixes which are found to be necessary.


djlea

flavoni (2 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2049 VALID-04_SFlavoni_Overflow_Lock OCE Unscheduled flavoni Task 2018-02-26

Context

Implementation plan


flavoni
#2046 PUBLI-03_SFlavoni-advectionscheme-analysis OCE Unscheduled flavoni Task 2018-02-26

Context

Implementation plan


flavoni

francesca (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2277 Problem in the trend routine for UBS+VVL option TRD blaizotac Defect 2019-05-03

Context

For the release 3.6 (and 4.0)

In the file traadv_ubs.F90: In the routine tra_adv_ubs for vertical advective trends, there are 5 arguments

CALL trd_tra( kt, cdtype, jn, jptra_zad, zltv)

But in the file trdtra.F90, the routine trd_tra uses 7 arguments

SUBROUTINE trd_tra( kt, ctype, ktra, ktrd, ptrd, pun, ptra )

The last 2 are written like optional

      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   pun     ! now velocity 
      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in), OPTIONAL ::   ptra    ! now tracer variable

But they do not appear like that in the rest of the code …

CASE( jptra_zad )   ;   CALL trd_tra_adv( ptrd, pun, ptra, 'Z', trdt  )
   SUBROUTINE trd_tra_adv( pf, pun, ptn, cdir, ptrd )
      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) ::   pun     ! now velocity   in one direction
      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in   ) ::   ptn     ! now or before tracer

Recommendation

Is the following change correct? Change routine tra_adv_ubs and add the 2 missing arguments ?

CALL trd_tra( kt, cdtype, jn, jptra_zad, zltv, pwn, ptn(:,:,:,jn))

blaizotac

gm (10 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1584 utrd_zdf and vtrd_zdf are velocities minus momentum trends TRD chrenkl Bug 2015-07-28

In the subroutine for vertical diffusion using a implicit time-stepping (dyn_zdf_imp in dynzdf_imp.F90), the momentum trends ua and va are integrated in time and become the after velocities (lines 122-136). Thus, in lines 90-95 of dynzdf.F90, when the momentum trend diagnostics are supposed to be computed, momentum trends (ztrdu, ztrdv) are subtracted from velocities (ua, va).

Therefore,

90   IF( l_trddyn )   THEN                      ! save the vertical diffusive trends for further diagnostics
91      ztrdu(:,:,:) = ua(:,:,:) - ztrdu(:,:,:)
92      ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:)
93      CALL trd_dyn( ztrdu, ztrdv, jpdyn_zdf, kt )
94      CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv ) 
95   ENDIF

should be changed to

90   IF( l_trddyn )   THEN                      ! save the vertical diffusive trends for further diagnostics
91      ztrdu(:,:,:) = ( ua(:,:,:) - ub(:,:,:) ) / r2dt - ztrdu(:,:,:)
92      ztrdv(:,:,:) = ( va(:,:,:) - vb(:,:,:) ) / r2dt - ztrdu(:,:,:)
93      CALL trd_dyn( ztrdu, ztrdv, jpdyn_zdf, kt )
94      CALL wrk_dealloc( jpi, jpj, jpk, ztrdu, ztrdv ) 
95   ENDIF

as it is done in dynspg.F90. I have not checked whether this is also the case for vertical diffusion with explicit time-stepping.


chrenkl
#1723 diags KE with time_splitting TRD julienjouanno Bug 2016-05-02

The computation of the momentum or KE trends (key_trddyn or key_trdken) does not return a closed balance in the current stable version (rev 6478) when using time_splitted free surface and implicit diffusion.

Please find a few suggestions to close the balance in the specific case with "ln_bt_fw=False" and "explicit bottom friction":

  • Calculation of zdf trend should be moved in dynzdf_imp.F90 (instead of dynzdf.F90) after iteration "ua = ub + 2dt * ua". [In rev6478, the trend calculated in dynzdf.F90 when using implicit ZDF returns the difference between a velocity and a trend]
  • In dynspg_ts, instead of sending the total barotropic trend (ua_b-ub_b) / 2dt in ua, the surface and bottom stress contributions are subtracted. We also impose a constant bottom stress during the barotropic integration, which is calculated with a drag coefficient limited by the constraint on the CFL as in the 3d mode. By doing so, the bottom and wind stress experienced by the barotropic and baroclinic mode are strictly the same and enter only once in the 3d mode (in dynbfr and dynzdf_imp). It also results that the barotropic correction performed at the beginning of dynxt.F90 becomes null (facilitating the interpretation of the balance)

Julien (with J.C. help)

PS : I attached a tar file with the routines that have been modified


julienjouanno
#1911 ENHANCE-04(2017WP) — MLF and RK3 time stepping OCE Unscheduled gm Task 2017-06-15

Context


Introduce an optional RK3 time-stepping scheme. The scheme will:

  1. be a valuable alternative to the current Modified Leap-Frog (MLF, Leclair and Madec OM2009) scheme,
  2. prepare the futur introduction of a compensated time-space scheme,
  3. allow AGRIF to be exactly conservative, and
  4. make much more easier to use time coarsening of TRC and OFF-line variable volume calculation


Implementation


Chosen strategy : keep both MLF and RK3 time-stepping in the code. This means : first transform the LF scheme to be consistent with a 2-level time-stepping environment, and then introduce the RK3 scheme.


gm
#2043 ENHANCE-06(2017WP)_Gurvan-Bulk_improvements OCE Unscheduled gm Task 2018-02-26

Context

add cool skin and warm layer in the bulk package so they are used in fluxes computation. NB: these options exist in the aerobulk package (https://sourceforge.net/p/aerobulk)

Implementation plan


gm
#1984 Error in the online momentum trend diagnostic TRD Robin_Waldman Bug 2017-11-28

Context

I am using the online 3D momentum trend diagnostic (ln_dyn_trd = .true.) to compute offline vorticity budgets. The model version is NEMO v3.6, downloaded a few months ago from NEMO website. I am working on a Mediterranean configuration (NEMOMED12).

Analysis

I have first checked on 1 month of simulation that the total trend stored (utrd_tot and vtrd_tot) corresponded to the sum of individual trend terms (which is the case) and was equal to the actual trend deduced from restart files (un, vn in the restart of the end minus beginning of month). This latter point is not verified. The error is typically low (a few percents) but it can reach very high No image "Ztrend_tot_test_LION.png" attached to Ticket #1984values at localized points on the map, especially at intermediate depths (~70-300m). The error is even larger when computing the curl of the momentum trend in order to retreive the vertical relative vorticity trend.

Fix

Changeset r8102 (by Dave Storkey) has recently debugued the online tracer trend diagnostic, in particular by separating between trend contributions in even and odd timesteps. I am thinking that maybe the error on the momentum trend diagnostic also comes from that.


Robin_Waldman
#1967 Noise on vertical velocities when using UBS momemtum advection scheme OCE Unscheduled ctlod Defect 2017-10-18

Context

Under few circumstances, that have to be clarified, noise on vertical velocities arises when using the UBS momentum advection scheme. It has been observed in several configurations with various horizontal resolution (¼°, 1/12°). This noise seems to develop close to sharp shelves and then expands offshore along either i or/and j grid direction. The attached figure illustrates this behavior in a regional configuration over the Arctic basin. It represents a monthly mean vertical velocity field around 700m depth. The noise emerges clearly in the Arctic area and is less visible within the north Atlantic region.

Analysis

The origin of this noise is not yet identified and may also not be systematic. It looks like the implicit viscosity associated to this scheme is not working or is not strong enough; yet the algorithm itself may not be the source of the problem since 2 configurations using exactly the same module dynadv_ubs.F90 have different behavior: one with noise while the other without. Below, a list of options that may not be responsible for this noise (deduced from an inter-comparison of 4 configurations namelist and CPP keys) :

  • the non linear free surface (VVL) or linear free surface
  • Partial or full steps
  • ln_logyer
  • ln_bfrimp
  • advective and/or diffusve BBL
  • GLS or TKE
  • Non Penetrative Convection (NPC) or Enhenced Vertical Diffusion (EVD)

Fix

No fix for the moment.


ctlod
#2044 ENHANCE-09_Gurvan-GEOMETRIC OCE Unscheduled gm Task 2018-02-26

Context

introduction of the GEOMETRIC parameterization of unresolved eddies (Marshall al. 2017, Mak et al. 2017)

Implementation plan


gm
#2068 Wrong namelist double diffusion mixing parameter name OCE Robin_Waldman Defect 2018-03-26

Context

I am currently checking the activation of the EVD scheme in the case of differential T-S mixing, either due to the double-diffusion mixing parametrization or to the new De Lavergne tidal mixing parametrization. Tests are done with NEMOMED12 configuration in the Mediterranean Sea.

Analysis

  • The double diffusion mixing parametrization has 2 namelist parameters, one of which is wrongly named. rn_hsbfr is actually not the buoyancy flux ratio (constant=0.7 in zdfddm.F90) but the critical density ratio Rc, above which double diffusion rapidly decays.
  • Also, the activation of key_zdftmx_new imposes the activation of the double diffusion mixing parametrization, which is not necessarily desired.

Recommendation

  • Rename rn_hsbfr as rn_cdr for critical density ratio, and if useful introduce a new namelist parameter rn_hsbfr with default value 0.7.
  • Introduce a logical in the namzdf_ddm section to activate or not double diffusion mixing when key_zdfddm is activated.


Robin_Waldman
#1900 Considering ocean column properties in NEMO-ICB module OCE nacho Enhancement 2017-05-12

Proposed modifications consists in considering the ocean column properties in the dynamics and thermodynamics parametrizations of the NEMO-ICB module: 1- In the computation of the ocean drag term for the iceberg dynamics equation we propose the use of the depth-integrated ocean velocity as described in equation 2.1 of Merino et al 2016, instead of considering the ocean surface velocity. In the situation where the submerged part of an iceberg is greater than the ocean bathymetry, the integrated velocity considers zero velocity for the part of the iceberg which is deeper than the ocean bathymetry. This parametrization has the effect of reducing the iceberg velocity when icebergs transit through shallow regions of the ocean. We have chosen not to stop or stuck icebergs in such situation since this has a strong impact in the iceberg distribution and it would require a representation of subgrid bathymetry.  2- For the computation of the basal turbulence melt rate term, we propose to consider the ocean temperature at the iceberg depth (equation 2.2 in Merino et al 2016) instead of the sea surface temperature. In cases where the submerged part of the iceberg is greater than the ocean bathymetry we propose to consider the ocean temperature at the ocean bathymetry depth.  3- For the buoyant convection term, we propose to integrate this term along the submerged part of the iceberg (equation 2.3 of Merino et al 2016), instead of only consider the ocean surface temperature. In cases where the submerged part of the iceberg is greater than the ocean bathymetry, the ocean temperature considered in the integral for the part of the iceberg which is found deeper than the ocean bathymetry (no temperature is defined deeper than the ocean bathymetry) is the temperature of the ocean at the bathymetry depth.


nacho
#1918 ENHANCE-17(2017WP) — Multi-Column Ocean scheme (MCO) OCE Unscheduled gm Task 2017-07-03

Context


Introduction of the Multi-Column Ocean scheme (MCO) developed by Barthélemy et al. (Ocean Modelling 2016), i.e. a subgrid-scale representation of ice-ocean interactions.

Implementation


LIM3 includes an ice thickness distribution, which provides heterogeneous surface buoyancy fluxes and stresses. The MCO scheme take them explicitly into account, by computing convection and turbulent vertical mixing separately in the open water/lead fraction of grid cells and below each ice thickness category. The resulting distinct temperature and salinity profiles of the ocean columns are allowed to be maintained over several time steps.


gm

greffray (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1791 Vertical scale factor interpolation with key_vvl DOM jchanut Defect 2016-11-07

Context

With time varying vertical coordinate (e.g. z-s star or tilde), it seems that the horizontal interpolation of vertical scale factors is wrong. Attached an example of top interface anomaly at velocity points (on expect something like the sea level anomaly) defined as the vertical sum of scale factors minus total depth at rest.

Analysis

Gurvan's aware.

Fix

One should at least ensure that top interface matches sea-level anomaly at u and v points. Correct definition ot the bottom most interface is more tricky across steps.


jchanut

jamesharle (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1579 Assumption initial conditions are on z-levels when ln_sco = .true. OCE jamesharle Enhancement 2015-07-17

The initial conditions for runs ln_sco = .true. are assumed to be on z-levels based on gdept_1d. This is not immediately apparent from reading the manual.

A few options would be to either:

  • modify code such that depth information is required in the initial condition file. This would allow an initial condition file, comprising a different number of levels and/or gird type, to be read in and interpolated onto gdept_0.
  • remove the interpolation loop completely (bearing in mind the on-going simplification process) and impose that the initial conditions read in have to be on gdept_0, requiring a pre-processing step.

jamesharle

jchanut (5 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1959 ENHANCE-09_Jerome_freesurface(2017WP) OCE Unscheduled cbricaud Task 2017-10-12

Summary

Action ENHANCE-09_Jerome_freesurface
PI(S) Jérôme Chanut

Digest

Improve split-explicit free surface:
1) Tracer conservation issues (all time splitting options do not ensure global and local tracer conservation): DONE
2) Missing correction terms in the barotropic equations relative to internal pressure gradients. This would reduce mode splitting error, hence improve stability
3) Work on the stability of barotropic time stepping (based on INRIA's work) to possibly remove time filtering of barotropic variables. This would limit the temporal dissipation and greatly ease online coupling of nested domains at barotropic level (with AGRIF). DONE

Dependencies
Target 2019 WP
Trac Ticket #1959
SVN branch branches/2019/dev_r10951_ENHANCE-09_Jerome_freesurface
Previewer(s) Gurvan Madec
Reviewer(s) Gurvan Madec
Link "wiki:2019WP/ENHANCE-09_Jerome_freesurface"

cbricaud
#2018 AGRIF-04_jchanut_tstepping AGRIF IMMERSE 2020 jchanut Task 2018-02-20

Context

Implementation plan


jchanut
#1902 Agrif with timing control AGRIF 2020 WP clem Bug 2017-05-17

Context


when timing control (nn_timing=1) is activated with AGRIF (for both parent and child domains), simulations crash with segmentation fault message during initialization. I guess it is somewhat related to ticket #1836 but I haven't checked this out.


clem
#2051 Implementation of fresh water budget control for AGRIF configurations (here nn_fwb = 3 only) AGRIF 2020 WP fschwarzkopf Defect 2018-02-26

Context

In AGRIF configurations (TWO-WAY), fresh water budget control does not work correctly:

If nn_fwb /= 0 in host and nn_fwb = 0 in nest —> corrections applied to the host within the nested region are "reversed" by AGRIF-update. If nn_fwb /= 0 in host and nn_fwb /= 0 in nest —> for nest, fwb from nest itself is used for correction instead of global budget.

Both versions do not correctly close the fresh water budget.

Proposal

Idea: Correct fwb in nest based on global budget.

Changes in sbcmod.F90: Apply fwb correction in nest at every host-nn_fsbc-time-step coinciding with Agrif_Update-time-step. NO consistency-check implemented yet. (in test case: host: nn_fsbc = 6; nest: rhot = nn_fsbc = nn_cln_update = 3)

Changes in sbcfwb.F90: Transfer global budget from host to nest. Apply portion of budget correction to nest depending on erp-fraction (relative to global erp) done in nest.

These changes (marked by FUS) seem to technically work (the correct numbers are transferred from the host to the nest and used by the nest at the correct timing), however, closing the budget still fails.

  • sbcmod.F90

     
    5454   USE sbcwave          ! Wave module 
    5555   USE bdy_par          ! Require lk_bdy 
    5656 
     57   USE agrif_oce        ! FUS: get nbcline and nbclineupdate for fwb-call timing 
     58   USE agrif_util       ! FUS: get Agrif_Parent*  for fwb-call timing 
     59 
    5760   IMPLICIT NONE 
    5861   PRIVATE 
    5962 
     
    411414 
    412415      IF( ln_ssr         )   CALL sbc_ssr( kt )                   ! add SST/SSS damping term 
    413416 
     417! FUS: start control fwb timing in AGRIF case - here for nn_fwb=3 only 
     418#if defined key_agrif                   
     419 
     420      IF( nn_fwb    /= 0  .AND. nn_fwb /= 3 )   CALL sbc_fwb( kt, nn_fwb, nn_fsbc )  ! control the freshwater budget 
     421 
     422      IF( nn_fwb == 3 ) THEN 
     423         IF(Agrif_Root()) THEN 
     424           CALL sbc_fwb( kt, nn_fwb, nn_fsbc )  ! control the freshwater budget 
     425         ELSE 
     426!FUS: do fwb correction in nest at nn_fsbc in host and Update time-step (make sure, nn_fsbc (nest and host) and nn_cln_update choice is suitable - NO consistency-check implemented yet) 
     427           IF ( MOD(nbcline,nbclineupdate) == 0 .AND. MOD( Agrif_Parent_Nb_Step()-1, Agrif_Parent(nn_fsbc) ) == 0  ) THEN 
     428             CALL sbc_fwb( kt, nn_fwb, nn_fsbc )  ! control the freshwater budget 
     429           ENDIF 
     430         ENDIF 
     431      ENDIF 
     432#else 
    414433      IF( nn_fwb    /= 0 )   CALL sbc_fwb( kt, nn_fwb, nn_fsbc )  ! control the freshwater budget 
     434#endif 
     435! FUS: end control fwb timing in AGRIF case - here for nn_fwb=3 only 
    415436 
    416437      IF( nn_closea == 1 )   CALL sbc_clo( kt )                   ! treatment of closed sea in the model domain 
    417438      !                                                           ! (update freshwater fluxes) 
  • sbcfwb.F90

     
    2727   USE timing          ! Timing 
    2828   USE lbclnk          ! ocean lateral boundary conditions 
    2929   USE lib_fortran 
    30  
     30   USE Agrif_Util      ! FUS: get Agrif_Parent 
     31   USE agrif_types     ! FUS: needed for POINTER to Agrif_Parent (?) 
    3132   IMPLICIT NONE 
    3233   PRIVATE 
    3334 
     
    3738   REAL(wp) ::   a_fwb     ! for 2 year before (_b) and before year. 
    3839   REAL(wp) ::   fwfold    ! fwfold to be suppressed 
    3940   REAL(wp) ::   area      ! global mean ocean surface (interior domain) 
    40  
     41   REAL(wp),PUBLIC ::   z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp, zsurf_tospread  ! FUS: variables transfered from the parent to child via Agrif_Parent need to be PUBLIC! 
     42                                                                              ! FUS: variable names are still in local nomenclature - adjustments needed 
    4143   !! * Substitutions 
    4244#  include "domzgr_substitute.h90" 
    4345#  include "vectopt_loop_substitute.h90" 
     
    6769      INTEGER, INTENT( in ) ::   kn_fwb   ! ocean time-step index 
    6870      ! 
    6971      INTEGER  ::   inum, ikty, iyear     ! local integers 
    70       REAL(wp) ::   z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp                ! local scalars 
    71       REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread, zcoef          !   -      - 
     72!      REAL(wp) ::   z_fwf, z_fwf_nsrf, zsum_fwf, zsum_erp                ! local scalars ! FUS: now defined public 
     73!      REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread, zcoef          !   -      -    ! FUS: zsurf_tospread now defined public 
     74      REAL(wp) ::   zsurf_neg, zsurf_pos, zcoef                          !   -      -    ! FUS: zsurf_tospread now defined public 
    7275      REAL(wp), POINTER, DIMENSION(:,:) ::   ztmsk_neg, ztmsk_pos, z_wgt ! 2D workspaces 
    7376      REAL(wp), POINTER, DIMENSION(:,:) ::   ztmsk_tospread, zerp_cor    !   -      - 
     77! FUS: define pointer for parent-variables transfered through Agrif_Parent 
     78#if defined key_agrif 
     79      REAL(wp),POINTER :: parent_z_fwf, parent_z_fwf_nsrf, parent_zsum_erp, parent_zsum_fwf, parent_zsurf_tospread 
     80#endif 
     81 
    7482      !!---------------------------------------------------------------------- 
    7583      ! 
    7684      IF( nn_timing == 1 )  CALL timing_start('sbc_fwb') 
     
    160168            ! 
    161169            zsurf_neg = glob_sum( e1e2t(:,:)*ztmsk_neg(:,:) )  ! Area filled by <0 and >0 erp 
    162170            zsurf_pos = glob_sum( e1e2t(:,:)*ztmsk_pos(:,:) ) 
     171 
     172! FUS: differentiate between host and nest in AGRIF case 
     173#if defined key_agrif 
     174IF ( Agrif_Root() ) THEN 
     175#endif 
     176 
    163177            !                                                  ! fwf global mean (excluding ocean to ice/snow exchanges) 
    164178            z_fwf     = glob_sum( e1e2t(:,:) * ( emp(:,:) - rnf(:,:) + fwfisf(:,:) - snwice_fmass(:,:) ) ) / area 
    165179            !            
     
    171185                ztmsk_tospread(:,:) = ztmsk_neg(:,:) 
    172186            ENDIF 
    173187            ! 
    174             zsum_fwf   = glob_sum( e1e2t(:,:) * z_fwf )         ! fwf global mean over <0 or >0 erp area 
     188            zsum_fwf   = glob_sum( e1e2t(:,:) * z_fwf )         ! fwf global mean over <0 or >0 erp area ! FUS: this is erp-independent global mean! 
    175189!!gm :  zsum_fwf   = z_fwf * area   ???  it is right?  I think so.... 
    176             z_fwf_nsrf =  zsum_fwf / ( zsurf_tospread + rsmall ) 
     190            z_fwf_nsrf =  zsum_fwf / ( zsurf_tospread + rsmall )       ! FUS: is this necessary? could use zsum_fwf for zerp_cor instead 
    177191            !                                                  ! weight to respect erp field 2D structure 
    178192            zsum_erp   = glob_sum( ztmsk_tospread(:,:) * erp(:,:) * e1e2t(:,:) ) 
    179193            z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( zsum_erp + rsmall ) 
     
    187201            qns(:,:) = qns(:,:) - zerp_cor(:,:) * rcp * sst_m(:,:)  ! account for change to the heat budget due to fw correction 
    188202            erp(:,:) = erp(:,:) + zerp_cor(:,:) 
    189203            ! 
     204 
     205! FUS: differentiate between host and nest in AGRIF case 
     206#if defined key_agrif 
     207ELSE                                                          ! FUS: start special treatment for nest 
     208       parent_z_fwf             => Agrif_Parent(z_fwf)                 ! FUS: add pointer to Parent value 
     209       parent_zsum_fwf          => Agrif_Parent(zsum_fwf)               ! FUS: add pointer to Parent value - might replace parent_z_fwf_nsrf and parent_zsurf_tospread 
     210       parent_z_fwf_nsrf        => Agrif_Parent(z_fwf_nsrf)             ! FUS: add pointer to Parent value 
     211       parent_zsum_erp          => Agrif_Parent(zsum_erp)               ! FUS: add pointer to Parent value 
     212       parent_zsurf_tospread          => Agrif_Parent(zsurf_tospread)   ! FUS: add pointer to Parent value 
     213 
     214            IF( parent_z_fwf < 0._wp ) THEN         ! FUS: keep fwf-sign from parent (nest might differ) 
     215                zsurf_tospread      = zsurf_pos 
     216                ztmsk_tospread(:,:) = ztmsk_pos(:,:) 
     217            ELSE                                    
     218                zsurf_tospread      = zsurf_neg 
     219                ztmsk_tospread(:,:) = ztmsk_neg(:,:) 
     220            ENDIF 
     221 
     222            !                                                  ! weight to respect erp field 2D structure 
     223            !                                                 ! FUS: scale by zsum_erp in parent 
     224            z_wgt(:,:) = ztmsk_tospread(:,:) * erp(:,:) / ( parent_zsum_erp + rsmall ) 
     225            !                                                  ! final correction term to apply 
     226            !                                                 ! FUS: spread parent_zsum_fwf = parent_z_fwf_nsrf * parent_zsurf_tospread 
     227            zerp_cor(:,:) = -1. * parent_z_fwf_nsrf * parent_zsurf_tospread *  z_wgt(:,:) 
     228            ! 
     229            CALL lbc_lnk( zerp_cor, 'T', 1. ) 
     230            ! 
     231            emp(:,:) = emp(:,:) + zerp_cor(:,:) 
     232            qns(:,:) = qns(:,:) - zerp_cor(:,:) * rcp * sst_m(:,:)  ! account for change to the heat budget due to fw correction 
     233            erp(:,:) = erp(:,:) + zerp_cor(:,:) 
     234            ! 
     235ENDIF                                                          ! FUS: end special treatment for nest 
     236#endif 
     237 
    190238            IF( nprint == 1 .AND. lwp ) THEN                   ! control print 
     239 
     240! FUS: nest specific prints 
     241#if defined key_agrif 
     242IF ( Agrif_Root()) THEN 
    191243               IF( z_fwf < 0._wp ) THEN 
    192244                  WRITE(numout,*)'   z_fwf < 0' 
    193245                  WRITE(numout,*)'   SUM(erp+)     = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' 
     
    198250               WRITE(numout,*)'   SUM(empG)     = ', SUM( z_fwf*e1e2t(:,:) )*1.e-9,' Sv' 
    199251               WRITE(numout,*)'   z_fwf         = ', z_fwf      ,' Kg/m2/s' 
    200252               WRITE(numout,*)'   z_fwf_nsrf    = ', z_fwf_nsrf ,' Kg/m2/s' 
    201                WRITE(numout,*)'   MIN(zerp_cor) = ', MINVAL(zerp_cor) 
    202                WRITE(numout,*)'   MAX(zerp_cor) = ', MAXVAL(zerp_cor) 
     253ELSE 
     254               IF( parent_z_fwf < 0._wp ) THEN 
     255                  WRITE(numout,*)'   z_fwf < 0' 
     256                  WRITE(numout,*)'   SUM(erp+)     = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' 
     257               ELSE 
     258                  WRITE(numout,*)'   z_fwf >= 0' 
     259                  WRITE(numout,*)'   SUM(erp-)     = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' 
     260               ENDIF 
     261               WRITE(numout,*)'   SUM(empG)     = ', SUM( z_fwf*e1e2t(:,:) )*1.e-9,' Sv' 
     262               WRITE(numout,*)'   z_fwf         = ', z_fwf      ,' Kg/m2/s' 
     263               WRITE(numout,*)'   z_fwf_nsrf    = ', z_fwf_nsrf ,' Kg/m2/s' 
     264               WRITE(numout,*)'   parent_z_fwf_nsrf        = ', parent_z_fwf_nsrf ,' Kg/m2/s' 
     265               WRITE(numout,*)'   parent_zsurf_tospread          = ', parent_zsurf_tospread ,' Kg/m2/s' 
     266               WRITE(numout,*)'   parent_zsum_fwf        = ', parent_zsum_fwf ,' Kg/m2/s' 
     267               WRITE(numout,*)'   parent_z_fwf_nsrf * parent_zsurf_tospread should be parent_zsum_fwf = ', parent_z_fwf_nsrf * parent_zsurf_tospread 
     268               WRITE(numout,*)'   parent_zsum_erp          = ', parent_zsum_erp ,' Kg/m2/s' 
     269ENDIF 
     270#else 
     271               IF( z_fwf < 0._wp ) THEN 
     272                  WRITE(numout,*)'   z_fwf < 0' 
     273                  WRITE(numout,*)'   SUM(erp+)     = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' 
     274               ELSE 
     275                  WRITE(numout,*)'   z_fwf >= 0' 
     276                  WRITE(numout,*)'   SUM(erp-)     = ', SUM( ztmsk_tospread(:,:)*erp(:,:)*e1e2t(:,:) )*1.e-9,' Sv' 
     277               ENDIF 
     278               WRITE(numout,*)'   SUM(empG)     = ', SUM( z_fwf*e1e2t(:,:) )*1.e-9,' Sv' 
     279               WRITE(numout,*)'   z_fwf         = ', z_fwf      ,' Kg/m2/s' 
     280               WRITE(numout,*)'   z_fwf_nsrf    = ', z_fwf_nsrf ,' Kg/m2/s' 
     281               WRITE(numout,*)'   MIN(zerp_cor) = ', MINVAL(zerp_cor)  ! FUS: in mpp-case, this is not the expected value glob_min fails 
     282               WRITE(numout,*)'   MAX(zerp_cor) = ', MAXVAL(zerp_cor)   ! FUS: in mpp-case, this is not the expected value glob_max fails 
     283#endif 
    203284            ENDIF 
    204285         ENDIF 
    205286         ! 

fschwarzkopf
#2350 PHYPRO-03_jchanut_IWdrag DYN 2020 WP jchanut Task 2019-12-19

Workplan action

Wikipage: wiki:2020WP/PHYPRO-03_jchanut_IWdrag

Add drag due to unresolved internal waves for explicit tidal modelling. This development is part of CMEMS open call on improving barotropic tides in NEMO (joint effort of CLS, LEGOS and MOI).


jchanut

laurent (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2369 ASINTER-04_laurent_bulk_ice SBC IMMERSE 2020 laurent Task 2020-01-15

Workplan action

Wikipage: wiki:20XXWP/STREAM-NB_pi(s)_keyword(s?)


laurent

mathiot (5 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2109 Changes to allow NEMO4-LIM3 (SI^3) to be used in UK Met Office coupled model OCE jamrae Enhancement 2018-07-05

Context

The new NEMO4-LIM3 (SI3) sea ice model is being implemented in the UK Met Office coupled model. To do this, some NEMO code changes are needed. This ticket documents these changes.

Proposal


jamrae
#2298 Bug fixes to OBS and ASM found when reviewing the documentation OBS djlea Bug 2019-06-14

BE CAREFUL !!! Due to dynamic behaviour of this ticket creation page, it is highly recommend to set first all other fields before writing the ticket description below. If you have lost your draft after an unwanted reload, you can click on the link 'Restore Form' in the contextual menu upper right to recover it. Remove these lines after reading.

Context

The OBS and ASM documentation will be updated as discussed in ticket #2297. This is likely to highlight some bugs to fix. These will be detailed in this ticket.

Analysis

One change I would like to make is that the OBS grid search outputs some debugging values histx etc. These are confusing and not useful. I propose removing this output.

Fix


djlea
#1927 Name pattern of icebergs restarts doesn't follow usual NEMO conventions OCE nicolasmartin Defect 2017-07-25

Context & analysis


Trusting script doesn't manage the new type of restarts for icebergs as it is intended to work with the initial pattern "{cn_exp}_{nn_it}_restart*". But the new filename is a bit awkward with "{cn_exp}_icebergs_{nn_it}_restart*".

Recommendation


Replace 'icebergs' string by 'icb' and put it at the end of the filename like the other restarts: '*_restart.nc' , '*_restart_ice.nc', '*_restart_trc.nc' and so '*restart_icb.nc'


nicolasmartin
#1601 Add code for flux adjustment runs OCE Unscheduled kuniko Task 2015-09-24

Met Office internal work (not in workplan but may go back to trunk at some point)

Add a module to SBC to read in flux adjustment fields and add to surface fluxes

branch: https://forge.ipsl.jussieu.fr/nemo/browser/branches/UKMO/dev_r5518_flux_adjust


kuniko
#2336 AGRIF-01_mathiot_multigrid_load_balancing AGRIF IMMERSE 2020 mathiot Task 2019-11-21

Context

Proposal


mathiot

mikebell (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1908 ROMS wetting and drying scheme OCE Unscheduled mikebell Task 2017-06-05

Context

Implement ROMS wetting and drying scheme as an alternative to the NOC scheme

Implementation

Involves changes only to dyn_spg_ts


mikebell

nicolasmartin (6 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2016 ENHANCE-11 Trusting-SETTE cooperation (previously 2018WP) env Unscheduled nicolasmartin Task 2018-02-19

Context

The SETTE and Trusting tools are more or less doing the same kind of things so it is clear that at some point the two will become one.
With Trusting as a building block, the most likely is that SETTE evolve to a kind of Trusting manager that will launch several Trusting instances to validate a development branch.

Implementation plan

This action should be a first step towards the tools merge by sharing some files/scripts to ease further development.


nicolasmartin
#1644 Few bugs in Trusting process env nicolasmartin Defect 2015-12-02

No automatic conflict resolution when updating the working copy of NEMO ⇒ Add option '—accept=theirs-conflict' or '—accept=theirs-full' in the only case of updating to the head of the trunk

Simple gzip command not fitting all possibles cases when uncompressing forcing archive ⇒ Restore find command with exec option to descend in the directory hierarchy of the forcing folder


nicolasmartin
#1640 Wiki page for Trusting env Documentation nicolasmartin Enhancement 2015-11-27

nicolasmartin
#2104 The mathlab utility for viewing and analyzing data in netcdf files tools Pysh Enhancement 2018-06-18

New matlab (2016b) utilities with the ability to view and analyze data in a group of consecutive netсdf files. Features: viewing fields, vertical sections, vertical profiles, time graphs, calculation of statistics, Fourier analysis, EOF analysis for arbitrary areas. Synchronous output of fields for various variables, vertical sections and other types of graphs. View in the paging mode records of time, animations with the ability to write to the animated gif-files. Various tuning parameters and auxiliary utilitites. Constructed with the help of GUI-forms. Approved in Windows 10


Pysh
#2105 Phasing FCM version in vendors with a tag release from metomi Github repository env nicolasmartin Enhancement 2018-06-19

Context

The FCM source code included with NEMO looks quite outdated. The last commit by Seb goes back 5 years ago and the last overall import has 8 eight years old: browser:/vendors/FCM@9621

Few weeks ago, I ran a basic and simple test by replacing the content of the FCM directory with a import of the last release from the official repository and I did not encounter any issue at compilation.

Proposal

Actually, the upgrade seems to be straightforward by replacing the current release (labelled as 1-5 release) with the last one (2017.10.0) but the Met Office staff would certainly have more information and an informed opinion on what it is safe to do here.


nicolasmartin
#2015 ENHANCE-06 Repository cleaning (previously 2018WP) env Unscheduled nicolasmartin Task 2018-02-19

Context

The way we use the repository has getting worse over years as we have stopped to follow the best practices. A repository should constantly evolved and would just reflect the ongoing work, then it should be easy to find inside the official releases without difficulties. Instead we have one which is full of all developments done since the code has been put under version control, even the official releases are hidden in the middle of the development branches.

In addition to not deleting dev branches after merging, we have lost in particularly a clever organisation of the repository. Each branch newly created add 1 Go to the repository and the vast majority of the duplicate code will not be modified (outside CONFIG and NEMO). As a result, the repository has grown to a huge size (~130 Go !) that prevents the developers to be able to work with a entire working copy (~ 1 hour for downloading and endless updates).

Implementation plan

The goal is to recover a proper state of the repository along with a new trunk structure, that tends to minimize the unnecessary copies by taking out the dependencies development. It will not delete the history of the repository but the tree structure of the repository for further revisions starting from this cleaning. Each item could be recovered by updating/downloading selected revision.

The first part of the action could be lead quickly, it is mainly a cleaning of '/branches' and '/tags' repository paths with a move of the official releases to '/tags' and several additions of files at the trunk root.

The second part is much more intrusive with a vast reorganisation of the trunk which includes many moves to /vendors path, mergers and renaming of directories. The best moment for doing this would be between the release of 4.0 and the beginning of the new developments in order to have the same organisation in every development branch.


nicolasmartin

rbourdal (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2052 ENHANCE-09(2018WP)_rbourdal_massfluxconvection OCE 2020 WP rbourdal Task 2018-02-26

Context

Implementation of a mass flux scheme for convection. Resolution of the convection as in atmospheric model. Improvement of the deep convection and vertical velocity associated (up and down). Alternative at evd or npc formulation.

Proposal

implementation in NEMO1D (January-June) Then test in 3D


rbourdal

sciliberti (2 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2111 CMCC-01_sciliberti_BDYModel BDY 2019 WP sciliberti Task 2018-07-05

Context

Adding new schemes for open boundaries options

Implementation plan

  1. Implementation of the generalised Flather’s condition for the barotropic component (Oddo & Pinardi, 2008);
  2. Interpolation Constraint applied to total velocity field for preserving the transport conservation across open boundaries
  3. The spectral nudging technique for managing multi-scale processes, controlling model drift and bias (von Storch et al., 2000; Stacey et al., 2006; Thompson et al., 2006)


sciliberti
#2112 CMCC-02_sciliberti_BDYTool tools IMMERSE 2019 sciliberti Task 2018-07-05

Context

Implementation of numerical procedures for defining open boundary conditions and geometry in regional configurations (ie., Mediterranean Sea, Black Sea)

Implementation plan

  1. Geometry
  2. Ocean fields processing
  3. BDY dataset for NEMO configuration (regional configuration, on regular grid)

sciliberti

smasson (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2138 key_nemocice_decomp still needed? LBC 2018 release-4.0 smasson Enhancement 2018-10-14

Context

Do we still need key_nemocice_decomp in v4.0?

Proposal


smasson

smueller (3 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2175 ENHANCE-05_SimonM-Harmonic_Analysis DIA 2019 WP acc Task 2018-12-04

Summary

Action ENHANCE-05_SimonM-Harmonic_Analysis
PI(S) Simon Müller, Nicolas Bruneau
Digest This action will enhance the tidal harmonic-analysis diagnostics available in the NEMO framework: the replacement of the current implementation by a facility for generic multiple linear regression will enable tidal harmonic analyses of three-dimensional fields, make harmonic analyses across model restarts possible, and improve the computational efficiency of the analysis, as well as facilitate a wide range of non-tidal regression analyses.
Dependencies
Branch NEMO/branches/2019/dev_r11879_ENHANCE-05_SimonM-Harmonic_Analysis/, utils/tools_dev_r11751_ENHANCE-05_SimonM-Harmonic_Analysis/
Previewer(s) Jérôme Chanut
Reviewer(s) Jérôme Chanut
Wiki wiki:2019WP/ENHANCE-05_SimonM-Harmonic_Analysis

Abstract

This action will enhance the tidal harmonic-analysis diagnostics available in the NEMO framework: the replacement of the current implementation by a facility for generic multiple linear regression will enable tidal harmonic analyses of three-dimensional fields, make harmonic analyses across model restarts possible, and improve the computational efficiency of the analysis, as well as facilitate a wide range of non-tidal regression analyses.

Description

The harmonic-analysis diagnostics available in the current reference code is limited to two-dimensional fields (surface only), is activated via a preprocessor key, uses unconventional namelist parameter names, uses a mixture of dynamic and static allocation for large arrays, and appears to be computationally inefficient. Further, while being based on multiple linear regression, the current implementation does not provide for regressions on harmonic components other than tidal constituents.

This action will replace the current tidal harmonic-analysis diagnostics with a generic implementation for multiple linear regression analysis that can be utilised for both tidal harmonic and non-tidal regression analyses. This implementation will provide harmonic-analysis diagnostics enhancements previously tested in a pre-4.0beta NEMO version by N. Bruneau: the analysis of three-dimensional fields, analysis across model restarts, and improved computational efficiency.

In contrast to both the existing harmonic analysis diagnostics in the reference NEMO code and the enhanced pre-4.0beta version by N. Bruneau, the new implementation will make extensive use of XIOS and an off-line tool. This approach should make it possible to simplify the regression analysis-related Fortran module in the core NEMO code, to relocate the regression-analysis configuration to XIOS configuration files, and to enable the selection of any model field handled by XIOS for analysis.

Implementation

See 2019WP/ENHANCE-05_SimonM-Harmonic_Analysis

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


acc
#2194 ENHANCE-12_SimonM-Tides SBC 2019 WP smueller Task 2018-12-20

Summary

Action ENHANCE-12_SimonM-Tides
PI(S) Simon Müller, Nicolas Bruneau
Digest This action aims to enhance the implementation of tidal forcing with the addition of an optional, alternative parameter set for the harmonic expansion of the tide potential, by somewhat simplifying the existing code, and by converting a currently fixed coefficient into a namelist parameter.
Dependencies
Branch NEMO/branches/2019/dev_r11879_ENHANCE-05_SimonM-Harmonic_Analysis, has superseded NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides
Previewer(s) Jérôme Chanut
Reviewer(s) Jérôme Chanut
Wiki 2019WP/ENHANCE-12_SimonM-Tides

Abstract

This action aims to enhance the implementation of tidal forcing with the addition of an optional, alternative parameter set for the harmonic expansion of the tide potential, by somewhat simplifying the existing code, and by converting a currently fixed coefficient into a namelist parameter.

Description

This action aims to enhance the implementation of tidal forcing with the addition of an optional, alternative parameter set for the harmonic expansion of the tide potential and by converting a currently fixed coefficient into a configurable namelist parameter; this work has previously been implemented and tested by Nicolas Bruneau in a pre-4.0beta version of NEMO.

Further, this action aims to reduce the total number of modules related to tides (the current implementation comprises the modules sbctide, tideini, tide_mod, updtide, and bdytide) and to thereby somewhat simplify the current implementation of tidal forcing.

Implementation

See 2019WP/ENHANCE-12_SimonM-Tides

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


smueller
#2353 ENHANCE-14_smueller_OSMOSIS_streamlining DYN IMMERSE 2020 acc Task 2019-12-20

Workplan action

Wikipage: wiki:2020WP/ENHANCE-14_smueller_OSMOSIS_streamlining


acc

timgraham (1 match)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#1796 CICE interface modification for initial CICE output OCE dupontf Bug 2016-11-18

Context

the NEMO-CICE interface (tag 5516) is missing a correct initialization for the CICE initial output. Some impact as well on the initial ice temperature profile. Some cleanup and consistency between CICE4 and CICE5

Analysis

CICE does an initialization based on default fields (exception: CICE5 is passed the correct sst) which could be based on NEMO fields. This can impact the initial ice temperature profile and the initial CICE output. CICE4.0 takes default values for sss,sst,potT,Tair fields. CICE5 takes values for sss,potT,Tair fields (sst is passed before the start of CICE init phase)

Fix

add a second init and CICE output after the correct sss,sst,Tf,potT,Tair fields are passed. (See attached file) some other minor cosmetic changes such as:

  1. the array ztmp is useless between 396 and 416

Linebranches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
390         ENDDO
391
392      ELSE IF (ksbc == jp_core) THEN
393
394! Pass CORE forcing fields to CICE (which will calculate heat fluxes etc itself)
395! x comp and y comp of atmosphere surface wind (CICE expects on T points)
396         ztmp(:,:) = wndi_ice(:,:)
397         CALL nemo2cice(ztmp,uatm,'T', -1. )
398         ztmp(:,:) = wndj_ice(:,:)
399         CALL nemo2cice(ztmp,vatm,'T', -1. )
400         ztmp(:,:) = SQRT ( wndi_ice(:,:)**2 + wndj_ice(:,:)**2 )
401         CALL nemo2cice(ztmp,wind,'T', 1. )    ! Wind speed (m/s)
402         ztmp(:,:) = qsr_ice(:,:,1)
403         CALL nemo2cice(ztmp,fsw,'T', 1. )     ! Incoming short-wave (W/m^2)
404         ztmp(:,:) = qlw_ice(:,:,1)
405         CALL nemo2cice(ztmp,flw,'T', 1. )     ! Incoming long-wave (W/m^2)
406         ztmp(:,:) = tatm_ice(:,:)
407         CALL nemo2cice(ztmp,Tair,'T', 1. )    ! Air temperature (K)
408         CALL nemo2cice(ztmp,potT,'T', 1. )    ! Potential temp (K)
409! Following line uses MAX(....) to avoid problems if tatm_ice has unset halo rows 
410         ztmp(:,:) = 101000. / ( 287.04 * MAX(1.0,tatm_ice(:,:)) )   
411                                               ! Constant (101000.) atm pressure assumed
412         CALL nemo2cice(ztmp,rhoa,'T', 1. )    ! Air density (kg/m^3)
413         ztmp(:,:) = qatm_ice(:,:)
414         CALL nemo2cice(ztmp,Qa,'T', 1. )      ! Specific humidity (kg/kg)
415         ztmp(:,:)=10.0
416         CALL nemo2cice(ztmp,zlvl,'T', 1. )    ! Atmos level height (m)
417
418! May want to check all values are physically realistic (as in CICE routine
419! prepare_forcing)?

  1. mass ice embedding has lines redundant with dom_vvl_init. Since those could useful as well in case of hot initialization, I suggest moving them in a distinct routine in domvvl.F90 so that they can be called anytime needed. The only difference is dom_vll_init has
fse3t_a(:,:,jpk) = e3t_0(:,:,jpk)

whereas sbcice_cice has

fse3t_a(:,:,:) = fse3t_b(:,:,:)

the latter being more consistent to my opinion and has no impact when ssh=0 (which is assumed when calling dom_vvl_init)

additional comment: could be merged with #1428 of Tim Graham, since I also believe that a consistent calculation of the freezing temperature is needed in NEMO and CICE.


dupontf

vancop (5 matches)

Ticket Summary Component Milestone Reporter Type Created
Description
Reporter
#2186 SI3-03_VP_rheology SI3 2020 WP vancop Task 2018-12-20

BE CAREFUL !!! Due to dynamic behaviour of this ticket creation page, it is highly recommend to set first all other fields before writing the ticket description below. If you have lost your draft after an unwanted reload, you can click on the link 'Restore Form' in the contextual menu upper right to recover it. Remove these lines after reading.

Summary

Action ${ACTION_NAME} Subject
PI(S) M. Vancoppenolle
Digest Brief description with motivations and main tasks
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:${YEAR}WP/...

Abstract

Reintroduce a C-Grid VP Rheology

Description

Reintroduce a C-Grid VP Rheology. Code available from MITgcm should form the basis (Zhang and Hilber 1997).

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.

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


vancop
#2187 SI3-04_lagrangian_drifters TOP 2020 WP vancop Task 2018-12-20

Implement lagrangian drifters in sea ice for immerse

Summary

Action ${ACTION_NAME} Subject
PI(S) M. Vancoppenolle
Digest Brief description with motivations and main tasks
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:${YEAR}WP/...

Abstract

Introduce lagrangian drifters in sea ice for IMMERSE sea ice evaluation.

Description

Lagrangian drifters should be introduced to be able to compare with lagrangian sea ice deformation. There are two options. Either follow icebergs. Or use the corresponding ocean package.

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.

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


vancop
#2189 PUB-05_SI3_documentation SI3 2020 WP vancop Task 2018-12-20

SI3 documentation must be continued and reviewed

Summary

Action ${ACTION_NAME} Subject
PI(S) M. Vancoppenolle
Digest Brief description with motivations and main tasks
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:${YEAR}WP/...

Abstract

Write and revise documentation.

Description

Progress should be made on the documentation. There are a few missing chapters left, and progress should be done.

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.

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


vancop
#2191 PUB-03_NDS_CHAPTER SI3 2020 WP vancop Task 2018-12-20

BE CAREFUL !!! Due to dynamic behaviour of this ticket creation page, it is highly recommend to set first all other fields before writing the ticket description below. If you have lost your draft after an unwanted reload, you can click on the link 'Restore Form' in the contextual menu upper right to recover it. Remove these lines after reading.

Summary

Action ${ACTION_NAME} Subject
PI(S) M. Vancoppenolle, Ed Blockley
Digest Brief description with motivations and main tasks
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:${YEAR}WP/...

Abstract

NDS Ice chapter must be rewritten.

Description

NDS ice chapter is dragging behind other NDS chapters. THis is because the sea ice unified model has become a bit late when writing the previous NDS document. This year, there is a scheduled workshop to provide elements to start rewriting this document.

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.

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


vancop
#2190 SI3-09_TEOS_PHASE_DIAGRAM SI3 Documentation vancop Task 2018-12-20

Publish the future possible TEOS10_phase diagram.

Summary

Action ${ACTION_NAME} Subject
PI(S) Principal investigator(s)
Digest Brief description with motivations and main tasks
Dependencies
Branch NEMO/branches/$YEAR/dev_r{REV}_{ACTION_NAME}
Previewer(s)
Reviewer(s)
Wiki wiki:${YEAR}WP/...

Abstract

This section should be completed before starting to develop the code, in order to find agreement with the previewer(s) on the method beforehand.

Description

Describe the goal of development, and the methodology.
Add reference documents or publications if relevant.

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.

Reference manual and web pages updates

Using part 1 and 2, define the summary of changes to be done in reference manuals (tex files), guide (rst files) and in the content of web pages.

Once the PI has completed this section, he should send a mail to the previewer(s) asking them to preview the work within two weeks.


vancop
Note: See TracReports for help on using and creating reports.