New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
ticket/0927_Energy_diag (diff) – NEMO

Changes between Version 58 and Version 59 of ticket/0927_Energy_diag


Ignore:
Timestamp:
2012-06-23T11:34:40+02:00 (12 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ticket/0927_Energy_diag

    v58 v59  
    11[[PageOutline]] Last edited [[Timestamp]] 
    22 
    3 '''Author''' : Gurvan Madec 
     3'''Author''' : Gurvan Madec & Fabien Roquet 
    44 
    55'''Ticket ''' : #927 
     
    1212'''     Motivation: '''    output 3D trends of tracers, momentum, kinetic energy and potential energy.[[BR]] '''     Status :''' the extraction of trends terms exists, but not the 3D output of the trends   [[BR]] '''     Main tasks :'''         [[BR]] 
    1313 
    14   (1) implement the 3D output of tracers and momentum trends using iom_put [[BR]]                                 (2) compute and output the 3D trends of PE and KE [[BR]]                                      (3) validatation + documentation  [[BR]] 
    15  
    16 '''     Science Reviewer:''' NOCS guy?     [[BR]]     '''     System Reviewer:'''  NOCS guy?     [[BR]]    '''     Deadline:'''   spring 2012   [[BR]] '''     Priority:'''      high    [[BR]] '''     Depends on:'''    gurvan disponibilities   [[BR]] '''     Principal Investigator : '''      Gurvan Madec and Simona Flavoni (simona.flavoni@locean-ipsl.upmc.fr)  [[BR]] [[BR]] 
     14  (1) implement the 3D output of tracers and momentum trends using iom_put [[BR]]                                  (2) compute and output the 3D trends of PE and KE [[BR]]                                       (3) validatation + documentation  [[BR]] 
     15 
     16'''     Science Reviewer:''' NOCS guy?     [[BR]]     '''     System Reviewer:'''  NOCS guy?     [[BR]]    '''     Deadline:'''   spring 2012   [[BR]] '''     Priority:'''      high    [[BR]] '''     Depends on:'''    gurvan disponibilities   [[BR]] '''     Principal Investigator : '''      Gurvan Madec and Fabien Roquet (gurvan.madec@locean-ipsl.upmc.fr)  [[BR]] [[BR]] 
    1717 
    1818---- 
     
    2424see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3316 revision 3316] 
    2525 
    26   '''                                 trdmod_oce'''                                  module and '''                                 namtrd namelist'''                                  [[BR]] 
     26  '''                                  trdmod_oce'''                                   module and '''                                  namtrd namelist'''                                   [[BR]] 
    2727 
    2828logical flags added in namlist namtrd which now controls what is done with the trends. [[BR]] All the types of treatment of a given trend are available at the same time. The memory requirement will only increase due to the time averaged arrays defined in IOM. 
    2929 
    30 LOGICAL , PUBLIC  ::   ln_dyn_trd   = .FALSE.        !: (T) 3D momentum             trends or (F) not    LOGICAL , PUBLIC  ::   ln_tra_trd   = .FALSE.        !: (T) 3D tracer               trends or (F) not    LOGICAL , PUBLIC  ::   ln_PE_trd    = .FALSE.        !: (T) 3D Potential Energy     trends or (F) not    LOGICAL , PUBLIC  ::   ln_KE_trd    = .FALSE.        !: (T) 3D Kinetic   Energy     trends or (F) not    LOGICAL , PUBLIC  ::   ln_vor_trd   = .FALSE.        !: (T) 3D barotropic vorticity trends or (F) not    LOGICAL , PUBLIC  ::   ln_glo_trd   = .FALSE.        !: (T) global domain averaged diag for T, T!^2, KE, and PE    LOGICAL , PUBLIC  ::   ln_dyn_mld   = .FALSE.        !: (T) 2D tracer   trends averaged over the mixed layer     LOGICAL , PUBLIC  ::   ln_tra_mld   = .FALSE.        !: (T) 2D momentum trends averaged over the mixed layer 
    31  
     30{{{ 
     31LOGICAL , PUBLIC  ::   ln_dyn_trd   = .FALSE.        !: (T) 3D momentum             trends or (F) not     
     32LOGICAL , PUBLIC  ::   ln_tra_trd   = .FALSE.        !: (T) 3D tracer               trends or (F) not     
     33LOGICAL , PUBLIC  ::   ln_PE_trd    = .FALSE.        !: (T) 3D Potential Energy     trends or (F) not     
     34LOGICAL , PUBLIC  ::   ln_KE_trd    = .FALSE.        !: (T) 3D Kinetic   Energy     trends or (F) not     
     35LOGICAL , PUBLIC  ::   ln_vor_trd   = .FALSE.        !: (T) 3D barotropic vorticity trends or (F) not     
     36LOGICAL , PUBLIC  ::   ln_glo_trd   = .FALSE.        !: (T) global domain averaged diag for T, T!^2, KE, and PE     
     37LOGICAL , PUBLIC  ::   ln_dyn_mld   = .FALSE.        !: (T) 2D tracer   trends averaged over the mixed layer      
     38LOGICAL , PUBLIC  ::   ln_tra_mld   = .FALSE.        !: (T) 2D momentum trends averaged over the mixed layer 
     39}}} 
    3240Add these new logical in the namelist. '''==>>> CAUTION only in the ORCA2_LIM directory''' [[BR]] NB: here is the new name set in revision number 3318[[BR]] 
    3341 
    34   '''                                 trdtra'''                                  module[[BR]] 
     42  '''                                  trdtra'''                                   module[[BR]] 
    3543 
    3644Add a systematic mask of the trend.[[BR]] Change the comments to better describe the purpose of this module. Its purpose is: [[BR]] 
    3745 
    38   'TRA' case:  to regroup T & S trends and send them to trd_mod, with, in case of advection, transform the incoming advective fluxes into advctive trend (U.grad[T])[[BR]]                                 'TRC' case:  send trend to ted_mod_trc, with,  in case of advection,  transform the incoming advective fluxes into advective trend [[BR]]                                 all cases  : mask the trend    ('''                                 ===>>>   PROBABLY add in the module a lbc_lnk so that the trend is defined everywhere'''                                 ) 
    39  
    40   '''                                 dynadv_cen2 and _ubs'''                                  modules[[BR]] 
     46  'TRA' case:  to regroup T & S trends and send them to trd_mod, with, in case of advection, transform the incoming advective fluxes into advctive trend (U.grad[T])[[BR]]                                  'TRC' case:  send trend to ted_mod_trc, with,  in case of advection,  transform the incoming advective fluxes into advective trend [[BR]]                                  all cases  : mask the trend    ('''                                  ===>>>   PROBABLY add in the module a lbc_lnk so that the trend is defined everywhere'''                                  ) 
     47 
     48  '''                                  dynadv_cen2 and _ubs'''                                   modules[[BR]] 
    4149 
    4250change jpdyn_trd_had  into jpdyn_trd_keg. Now in flux form _keg corresponds to the horizontal advection trends and _rvo to the metric terms[[BR]] [[BR]] 
    4351 
    44   '''                                 dynnxt'''                                  module[[BR]] 
     52  '''                                  dynnxt'''                                   module[[BR]] 
    4553 
    4654add the output using mom of the total den trend (except asselin time filter) ("utrd_tot", "vtrd_tot") and of the asselin time filter trend ("utrd_atf", "vtrd_atf") but with a shift by one time step[[BR]] [[BR]] 
    4755 
    48   '''                                 dynvor, trdvor and trdmod_oce'''                                  modules[[BR]] 
     56  '''                                  dynvor, trdvor and trdmod_oce'''                                   modules[[BR]] 
    4957 
    5058suppress the call to trd_mod in the jpdyn_trd_dat case (computation of beta.V) add add the calculation of beta.V term in 'trdvor' in jpvor_pvo case. And obviously suppress jpdyn_trd_dat from trdmod_oce [[BR]] Also suppress the jpdyn_trd_had case  horizontal advection for the dynamics is 'keg' + 'vor'  ; in case of flux form,  'had' is put in 'keg' and the metric terms is put in 'vor' [[BR]] there is now only 10 trends on the dynamics instead of 12[[BR]] [[BR]] 
    5159 
    52   '''                                 trdmod'''                                  module[[BR]] 
     60  '''                                  trdmod'''                                   module[[BR]] 
    5361 
    54621- introduce the new logical namelist parameters[[BR]] 2- introduce new subroutines : '''trd_budget''' : computation of the domain averaged T,T^2^, PE, KE trends formerly computes in trd_mod routine)[[BR]] ''' trd_3Diom''': output of the 3D trends using IOM [[BR]] [[BR]] 
    5563 
    56   '''                                 trdicp'''                                  module[[BR]] 
     64  '''                                  trdicp'''                                   module[[BR]] 
    5765 
    5866add in trd_twr routine the computation of the vertical diffusive trend on T & S in case of iso-neutral diffusion (ln_traldf_iso=T). These trends ("ttrd_zdfp", "strd_zdfp")  name zdfp for "PURE" vertical diffusion trends are output so that by difference with "zdf" trends we can access to the vertical contribution of the iso-neutral operator [[BR]] [[BR]] 
    5967 
    60   '''                                 iodef.xml'''                                  file[[BR]] 
     68  '''                                  iodef.xml'''                                   file[[BR]] 
    6169 
    6270add all the trends nick name : '''==>>> CAUTION only in the ORCA2_LIM directory''' [[BR]] [[BR]] 
     
    6573''' Step II : simplification of the structure ''' 
    6674 
    67   '''                                 trdicp and trdicp_oce'''                                  modules[[BR]] 
     75  '''                                  trdicp and trdicp_oce'''                                   modules[[BR]] 
    6876 
    6977see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3317 revision 3317] 
     
    71791- suppress trdicp_oce module (put required variables in trdmod_oce parameters)[[BR]] 2- use the jptra_trd_...  instead of jpicp_...  3- move trd_budget subroutine from trdmod to trdicp.F90. Suppress trd_icp routine (i.e. trd_2d, trd_3d) as the work is now simply done in trd_budget.[[BR]] 4- rescan all dyn/tra trend indices. add jptra_trd_zdfp for "PURE Kz dissusive trend when ln_traldf_iso=T (see also changes in tranxt where a call to trd_tra is done just before the swap, so that PURE Kz trends can be diagnosed in tra_trd. See also xml file).  5- jptra_trd_nsr and jptra_trd_cdt are 3D trends as their incorporate both surface forcing AND runoff, the later being possibly spread in depth ('''==>>> probably to be changed''')[[BR]] 6- suppress the key_trddyn key trdtra  from trdicp[[BR]] 
    7280 
    73   '''                                 trdtra - trddyn - trdmod - trdvor'''                                  modules : impact on '''                                 TRA'''                                 , '''                                 DYN'''                                 , '''                                 TRD'''                                  and almost all '''                                 TOP_SRC'''                                  modules[[BR]] 
     81  '''                                  trdtra - trddyn - trdmod - trdvor'''                                   modules : impact on '''                                  TRA'''                                  , '''                                  DYN'''                                  , '''                                  TRD'''                                   and almost all '''                                  TOP_SRC'''                                   modules[[BR]] 
    7482 
    7583see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3318 revision 3318] 
     
    8694''' Step III : addition of 3D KE diagnostics ''' 
    8795 
    88   '''                                 trdken'''                                  module[[BR]] 
     96  '''                                  trdken'''                                   module[[BR]] 
    8997 
    9098see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3325 revision 3325] 
     
    101109''' Step IV : addition of 3D PE diagnostics ''' 
    102110 
    103   '''                                 trdpen'''                                  module[[BR]] 
     111  '''                                  trdpen'''                                   module[[BR]] 
    104112 
    105113see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3326 revision 3326] and [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3327 revision 3327] 0- correct a bug in trdtra and trdken 
     
    117125[[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] '''Pending issues''' : 
    118126 
    119   atmospheric pressure gradient trend not taken into account (see dynspg.F90  '''                                 To be done !!!!'''                                 [[BR]]                                ''' 
    120  
    121   kpp non-local trend put in zdf trends !!!  this will not work ! a additional trend term should be add '''                                 To be done !!!!'''                                 [[BR]]                                ''' 
     127  atmospheric pressure gradient trend not taken into account (see dynspg.F90  '''                                  To be done !!!!'''                                  [[BR]]                                 ''' 
     128 
     129  kpp non-local trend put in zdf trends !!!  this will not work ! a additional trend term should be add '''                                  To be done !!!!'''                                  [[BR]]                                 ''' 
    122130 
    123131  problems to be solved: vvl case for tracer sad trends ; flux form case for had (keg) and zad momentum trends[[BR]] 
     
    128136 
    129137  reshape trdtra so that T and S are treated separately in all ted routine (including mld diag...) 
     138  create umask_i and vmask_i (2D) fields that mirror task_i field but for the velocity points 
    130139 
    131140'''Changes done by Fabien R.'''