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.
2014WP/2014_SystemSimplification_hard_coding (diff) – NEMO

Changes between Version 2 and Version 3 of 2014WP/2014_SystemSimplification_hard_coding


Ignore:
Timestamp:
2015-10-10T12:18:13+02:00 (9 years ago)
Author:
gm
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2014WP/2014_SystemSimplification_hard_coding

    v2 v3  
    1 = '''disappearance of “configuration hard coding”''''''' = 
     1= '''disappearance of “configuration hard coding”''' = 
    22Last edited [[Timestamp]] 
    33 
     
    66---- 
    77---- 
    8 == User interface  == 
     8== User interface == 
     9The idea here is to introduce in the code a few number of user routine with a clear interface that the user can fill up rolling his desires. This strategy will be applied for the standard configurations (GYRE, ORCA2, AMM, ...)   For example, the analytical forcing of gyre configuration instead of being part of the inner part of the code (sbc_gyre) it will put put in a my_sbc.F90 module given in the MY_SRC directory of the GYRE configuration. 
    910 
    10 The idea here is to introduce in the code a few number of user routine with a clear interface that the user can fill up rolling his desires. 
    11 This strategy will be applied for the standard configurations (GYRE, ORCA2, AMM, ...)   
    12 For example, the analytical forcing of gyre configuration instead of being part of the inner part of the code (sbc_gyre) it will put put in a my_sbc.F90 module given in the MY_SRC directory of the GYRE configuration. 
    13  
    14 Typically, the my_...  will be related to forcing, horizontal mesh, vertical grid.  
    15 In each cases what should come out of those routine will be pass as arguments, so the user will know exactly what they have to define.  
     11Typically, the my_...  will be related to forcing, horizontal mesh, vertical grid.  In each cases what should come out of those routine will be pass as arguments, so the user will know exactly what they have to define. 
    1612 
    1713---- 
    18  
    19  
    2014== Inside the ocean code (OPA) == 
    21   
    22  
    2315Here follows a brief description of "hard coding" associated to build in configuration (mostly ORCA configuration) and suggestion about what we plan to done with them 
    24  
    2516 
    2617[[BR]] '''cla.F90, domzgr.F90, dynspg_flt.F90'''         :  cross land advection only defined in ORCA2 case (gibraltar and Bad el Mendeb straits) and no more used 
    2718 
    28   '''  ===>>>  module to be suppress''' 
     19  ===>>>  module to be suppress'''       DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    2920 
    3021'''closea.F90'''        :  suppress closed seas in forced mode (typically Caspian Sea, Azov Sea…) or balance their fresh water budget in coupled mode … 
    3122 
    32   '''  ===>>>  How to deal with that ? ''' 
     23  '''   ===>>>  How to deal with that ?''' idea user_defined module for close.F90 
    3324 
    3425[[BR]] '''diafwb.F90'''        :  only diagnostics of the global fresh water budget and of transport of mass salt and heat in some straits (Gibraltar, Red Sea, Baltic Sea etc. for ORCA 4°, 2° & 1°) 
    3526 
    36   '''   ===>>>  module to be suppress''' 
     27  '''    ===>>>  module to be suppress  ''' idea user_defined module for that 
    3728 
    3829[[BR]] '''diaptr.F90'''        :  Computes meridional transports and zonal means (of heat salt velocities). Inefficient on MPP as require global communication. Better to compute off line. Suppress the module and add the output of the vertical average of u.T , v.T , u.S, v.S from which exact poleward heat transport can be computed… 
    3930 
    40   '''  ===>>>  module to be suppress (?)''' 
     31  '''   ===>>>  module to be suppress (?)''' 
    4132 
    4233[[BR]] '''domhgr.F90'''        :  hard coded reduction of scale factors in some straits in ORCA configurations (typically straits of Gibraltar, Bab el Mandeb, Danish, Lombok, Sumba, etc).  The input coordinates.nc file have to contain the information (+ add in TOOLS a fortran program as an example of how to modify a coordinates.nc file) 
    4334 
    44   '''  ===>>>  remove hard coded part ''' 
     35  ===>>>  remove hard coded part  '''     DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    4536 
    4637[[BR]] '''dommsk.F90'''        :  hard coded increase of lateral friction at the coast in some straits. Add a external file to be read that contains the specification of lateral friction (+ add in TOOLS a fortran program as an example of how to specify the input file) 
    4738 
    48   '''  ===>>>  remove hard coded part ''' 
     39  '''   ===>>>  remove hard coded part ''' 
    4940 
    5041[[BR]] '''domvvl.F90'''        :  modifications associated with the reduction of scale factors in some straits. No more necessary (addition of unaltered surface (e1e2u, e1e2v) in coordinates.nc when scale factors are reduced in some straits. 
    5142 
    52   '''  ===>>>  remove hard coded part, modify coordinates.nc ''' 
     43  ===>>>  remove hard coded part, modify coordinates.nc   '''    DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    5344 
    5445[[BR]] '''dtatsd, dtauvd.F90'''        :  in ORCA_R2 case, some hand made alterations in Red and Med Seas as well as changes associated with cross-land advection. Can be removed. If someone wants similar things, he has to modify the T-S data file. 
    5546 
    56   '''  ===>>>  remove hard coded part ''' 
     47  '''   ===>>>  remove hard coded part ''' 
    5748 
    5849[[BR]] '''istate.F90'''        :  analytical initial state for EEL and GYRE 
    5950 
    60   '''  ===>>> to be kept''' 
     51  '''   ===>>> to be kept''' 
    6152 
    6253[[BR]] '''ldfslp.F90'''        :  alteration of the slope for ORCA 4° only. No more necessary 
    6354 
    64   '''  ===>>>  remove hard coded part ''' 
     55  ===>>>  remove hard coded part   '''    DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    6556 
    6657[[BR]] '''ldftra.F90 (ldf_eiv)''' :  hard coded alteration of the eiv coef. in orca2 case. Now the eiv coef.  can be provided in a file 
    6758 
    68   '''  ===>>>  remove hard coded part ''' 
     59  ===>>>  remove hard coded part   '''    DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    6960 
    7061[[BR]] '''p4zsbc.F90'''        :  hard coded enhance coastal supply of iron for ORCA2. Since a file is provided that can contains the specificity of ORCA 2° 
    7162 
    72   '''  ===>>>  remove hard coded part ''' 
     63  '''   ===>>>  remove hard coded part ''' 
    7364 
    7465[[BR]] '''sbcrnf.F90'''        :  hard coded uunoff reduction only associated to the ORCA2_LIM. It is associated with an old runoff file may lead to bug! 
    7566 
    76   '''  ===>>>  remove hard coded part ''' 
     67  '''   ===>>>  remove hard coded part ''' 
    7768 
    7869[[BR]] '''traadv_cen2.F90''' :  hard coded upstream in vicinity of river mouth and freezing point. As cen2 is no more used in ORCA configuration, juste remove everything and keep a standard 2nd order centered scheme. 
    7970 
    80   '''  ===>>>  remove hard coded part ''' 
     71  ===>>>  remove hard coded part   '''    DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] (now traadv_cen.F90) 
    8172 
    8273[[BR]] trabbl.F90        :  ORCA 4° & 2°, regional enhancement of ah_bbl 
    8374 
    84   '''  ===>>>  to be suppress ''' 
     75  '''   ===>>>  to be suppress ''' 
    8576 
    8677'''ldfdyn.F90''' :  specific viscosity in ORCA 2° and ORCA 1°. Read them in an input file (+ add in TOOLS a fortran program as an example of how generate the input file) 
    8778 
    88   '''  ===>>>  remove hard coded part  ''' 
     79  ===>>>  remove hard coded part   '''    DONE in ''' [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5721_CNRS9_NOC3_LDF 2015/dev_r5721_CNRS9_NOC3_LDF] 
    8980 
    9081[[BR]] '''tradmp.F90 ; trcdmp.F90''' :   hard coded definition of damping area for ORCA 2°, 1°, 0.5°. Read them in an input file (+ add in TOOLS a fortran program as an example of how generate the input file) 
    9182 
    92   '''  ===>>>  remove hard coded part ''' 
     83  '''   ===>>>  remove hard coded part ''' 
    9384 
    9485----