Changes between Initial Version and Version 1 of Ticket #1441, comment 3
- Timestamp:
- 2015-03-23T19:14:12+01:00 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1441, comment 3
initial v1 1 1 A first implementation of BDY structure for the tracers of TOP component is made available 2 in branch [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP dev_r5144_CMCC5_BDY_for_TOP] at r5160 (with a n importrevert of an erroneous change at r5161).2 in branch [https://forge.ipsl.jussieu.fr/nemo/browser/branches/2015/dev_r5040_CMCC5_BDY_for_TOP dev_r5144_CMCC5_BDY_for_TOP] at r5160 (with a revert of an erroneous change at r5161). 3 3 4 In the MY_TRC configuration, the NEMO/TOP_SRC/trc.F90 subroutine was modified such that the general PTRACERS data structure 5 now contains also the logical fields to setup the reading of external data for surface, coastal, and open boundary conditions (see details on trc.F90 changes). 6 In '''MY_TRC case the namtrc''' will have the following structure: 4 In the MY_TRC configuration, the NEMO/TOP_SRC/trc.F90 subroutine was modified such that the general PTRACERS data structure now contains also the logical fields to setup the reading of external data for surface (SBC), coastal (CBC), and open (OBC) boundary conditions (see details on trc.F90 changes). 5 This also enables for a complete linkage of the BCs subroutines within my_trc configuration (see details below). 6 7 In '''MY_TRC case, the namtrc''' will have the following structure: 7 8 {{{ 8 9 !----------------------------------------------------------------------- … … 19 20 / 20 21 }}} 21 ''At the moment these fields are defined troughusing the macro "key_my_trc", but I think they could become a static part of the code.22 ''At the moment these fields are defined using the macro "key_my_trc", but I think they could become a static part of the code. 22 23 '' 23 24 24 The '''BDY for the passive tracers''' chiefly rely to the main BDY information computed within the OPA component 25 (e.g., bey coordinates, damping time scales) and it requires the specification of the following values in '''namtrc_bdy''' (contained in namelist_top_ref): 26 * '''cn_trc_dflt''', it is the default boundary conditions used for all those tracers which are not driven by external data, but are initialised using the initial conditions. 27 * '''cn_trc''' it is the boundary condition to be applied to when external data are provided for a specific tracer by setting the llobc value to true in trcnam 28 *''' nn_trcdmp_bdy''', this integer flag control the use of daping to tracers at the open boundary, the following option are available: 25 The '''BDY for the passive tracers''' chiefly rely to the main BDY information computed within the OPA component (e.g., bdy coordinates, damping time scales, which is relevant for offline coupling!!) and it requires the specification of the following values in '''namtrc_bdy''' (contained in namelist_top_ref): 26 * '''cn_trc_dflt''', it is the default boundary conditions used for all those tracers which are not driven by external data and automatically initialised from initial conditions; 27 * '''cn_trc''' it is the boundary condition to be applied when external data are provided for a specific tracer by setting ''llobc'' value to true in trcnam (see above example); 28 * ''' nn_trcdmp_bdy''', this integer flag control the use of damping for tracers at the open boundary, the following option are available: 29 29 0 = NO damping of tracers at open boundaries 30 30 1 = Only for tracers forced with external data 31 31 2 = Damping applied to all tracers 32 32 33 In addition to the BDY development, it was necessary to revise the structure of the general TOP34 Boundary Conditions subroutine (trcbc.F90), and related namelists, to become a comprehensive function35 to handle the different types of BCs. This also enabled for a complete linkage of the subroutines in the my_trc configuration (see details below).36 33 37 '''GENERAL NOTE ON TOP:''' a revision of the TOP component is likely needed as tracers general settings (number of tracers, diagnostics etc) are still defined in the fortran files and they should be moved into the top namelists, as done in other parts of NEMO. 34 In addition to the BDY development, it was necessary to revise the structure of the '''generalised Boundary Conditions subroutines (trcbc.F90)''', and related namelists, for TOP component to become a comprehensive function for handling the different types of BCs (namely, SBC, CBC and OBC). 35 '''This activity complements the one of Ticket #1143 and once that it is finalised both tickets has to be closed.''' 38 36 39 An overview of the changes and development is given below: 37 ---- 38 39 '''!! GENERAL NOTE ON TOP !! ''' a revision of the TOP component is likely needed as tracers general settings (number of tracers, diagnostics etc) are still defined in the fortran files and they should be moved into the top namelists, as done in other parts of NEMO. 40 41 ---- 42 43 An explanation of the changes and developments performed up to r5161 is given below: 40 44 41 45 '''CONFIG/SHARED/namelist_top_ref (1 diff)''' 42 46 Addition of the namtrc_bdy namelist to control tracers parameterization at OBC 43 As 3 different Boundary dataset are handled in namtrc_bc, 44 it appeared useful to specifically declare the root directories for each one of them. 47 As 3 different Boundary dataset are handled in namtrc_bc, it appeared useful to specifically declare the root directories for each one of them. 45 48 46 49 '''NEMO/OPA_SRC/BDY/bdy_oce.F90 (1 diff)''' 47 In the general data structure OBC_DATA, 4 specific fields for the TOP component were added 48 to keep trace of the type of boundary condition (cn_obc), now field of the tracer value (trc), 49 multiplicative scaling factor (rn_fac), and the use of a damping term at obc (dmp). 50 In the general data structure OBC_DATA, 4 specific fields for the TOP component were added to keep trace of the type of boundary condition (cn_obc), now field value of the tracer (trc), multiplicative scaling factor of external data (rn_fac), and the use of a damping term at obc (dmp). 50 51 51 52 '''NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90 (2 diffs)''' 52 A call to the updated of boundary conditions values was included (trc_bc_read) to partly complete 53 the information flow in the my_trc configuration. 54 A where statement filling values in the tracer array was removed as it seems to be a left over of previous coding. 53 A call to the update subroutine of boundary conditions values was included (trc_bc_read) to partly complete the information flow in the my_trc configuration. 54 A ''WHERE'' statement filling values in the tracer array was removed as it seems to be a left over of previous coding. 55 55 56 56 '''NEMO/TOP_SRC/MY_TRC/trcwri_my_trc.F90 (1 diff)''' 57 The control on the output of the variables was added using the logical array ln_trc_wri 58 that is defined in namtrc. 57 The control on the output of the variables was added using the logical array ''ln_trc_wri'' that is defined in namtrc. 58 59 '''NEMO/TOP_SRC/TRP/trcdmp.F90 (1 diff)''' 60 The logical ''l_tradmp'' was erroneously modified and this change was corrected in r5161, by restoring the original variable. 59 61 60 62 '''NEMO/TOP_SRC/TRP/trcnxt.F90 (2 diffs)''' 61 Added the call to tracers update at open boundaries (trc_bdy_dmp)63 Added the call to apply open boundary conditions to tracers (trc_bdy) 62 64 63 65 '''NEMO/TOP_SRC/TRP/trctrp.F90 (2 diffs)''' 64 Added the call totracers damping at open boundaries (trc_bdy_dmp)66 Added the call for tracers damping at open boundaries (trc_bdy_dmp) 65 67 66 68 '''NEMO/TOP_SRC/trc.F90 (4 diffs)''' 67 69 The values form the namelist namtrc_bdy are declared and allocated. 68 In addition, the logical fields to control the use of the different boundary conditions are included 69 in the structure of PTRACER, namely to control the use of external data for surface (llsbc), coastal (llcbc) 70 and open (llobc) boundary data. 71 These logical are then used to by the trc_bc subroutine. 70 In addition, the logical fields to control the use of the different boundary conditions are included in the structure of PTRACER, namely to control the use of external data for surface (llsbc), coastal (llcbc) and open (llobc) boundary data using the macro key_my_trc. 71 These logical are then used in trc_bc subroutine to initialize the external data reading and BDY conditions. 72 72 73 73 '''NEMO/TOP_SRC/trcbc.F90 (12 diffs)''' 74 74 A general rearrangement of the routine was performed to include also the initialisation and reading of Open Boundary Data. 75 Here all tracers at bdy segments are initialised using initial conditions (IC) if no external data are provided.75 Here tracers at bdy segments are initialised using initial conditions (IC) if no external data are provided, or linked as a pointer to the data structure of that tracer at the boundary (like in original bdy). 76 76 It was revised and updated also the log informations written in ocean.output 77 77 78 78 '''NEMO/TOP_SRC/trcbdy.F90''' 79 This module was derived from the one for active tracers (trabdy), with the exclusion of the ‘’runoff’ case. 80 Note that the user defined scaling factor for external bdy data is performed in trc_bdy subroutine. 79 This module was derived from the one for active tracers (trabdy), with the '''exclusion of the runoff''' case. Note that the user defined scaling factor for external bdy data is performed in trc_bdy subroutine. 81 80 82 81 '''NEMO/TOP_SRC/trcdta.F90 (8 diffs)'''