Changes between Version 39 and Version 40 of ticket/0927_Energy_diag
- Timestamp:
- 2012-03-22T17:26:59+01:00 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ticket/0927_Energy_diag
v39 v40 15 15 ''' 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]] 16 16 17 (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]]17 (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]] 18 18 19 19 ''' 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]] … … 25 25 see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3316 revision 3316] 26 26 27 ''' trdmod_oce''' module and ''' namtrd namelist'''[[BR]]27 ''' trdmod_oce''' module and ''' namtrd namelist''' [[BR]] 28 28 29 29 logical 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. … … 41 41 Add 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]] 42 42 43 ''' trdtra'''module[[BR]]43 ''' trdtra''' module[[BR]] 44 44 45 45 Add a systematic mask of the trend.[[BR]] Change the comments to better describe the purpose of this module. Its purpose is: [[BR]] 46 46 47 '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''')48 49 ''' dynadv_cen2 and _ubs'''modules[[BR]]47 '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''' ) 48 49 ''' dynadv_cen2 and _ubs''' modules[[BR]] 50 50 51 51 change 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]] 52 52 53 ''' dynnxt'''module[[BR]]53 ''' dynnxt''' module[[BR]] 54 54 55 55 add 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]] 56 56 57 ''' dynvor, trdvor and trdmod_oce'''modules[[BR]]57 ''' dynvor, trdvor and trdmod_oce''' modules[[BR]] 58 58 59 59 suppress 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]] 60 60 61 ''' trdmod'''module[[BR]]61 ''' trdmod''' module[[BR]] 62 62 63 63 1- 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]] 64 64 65 ''' trdicp'''module[[BR]]65 ''' trdicp''' module[[BR]] 66 66 67 67 add 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]] 68 68 69 ''' iodef.xml'''file[[BR]]69 ''' iodef.xml''' file[[BR]] 70 70 71 71 add all the trends nick name : '''==>>> CAUTION only in the ORCA2_LIM directory''' [[BR]] [[BR]] … … 73 73 ---- 74 74 === ''' Step II : simplification of the structure ''' === 75 ''' trdicp and trdicp_oce'''modules[[BR]]75 ''' trdicp and trdicp_oce''' modules[[BR]] 76 76 77 77 see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3317 revision 3317] … … 79 79 1- 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]] 80 80 81 ''' 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]] 82 82 83 83 see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3318 revision 3318] … … 93 93 ---- 94 94 === ''' Step III : addition of 3D KE diagnostics ''' === 95 ''' trdken'''module[[BR]]95 ''' trdken''' module[[BR]] 96 96 97 97 see [https://forge.ipsl.jussieu.fr/nemo/log/branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC?rev=3325 revision 3325] … … 107 107 ---- 108 108 === ''' Step IV : addition of 3D PE diagnostics ''' === 109 ''' trdpen'''module[[BR]]109 ''' trdpen''' module[[BR]] 110 110 111 111 see [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 … … 123 123 [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] [[BR]] '''Pending issues''' : 124 124 125 atmospheric pressure gradient trend not taken into account (see dynspg.F90 ''' To be done !!!!''' [[BR]]'''126 127 kpp non-local trend put in zdf trends !!! this will not work ! a additional trend term should be add ''' To be done !!!!''' [[BR]]'''125 atmospheric pressure gradient trend not taken into account (see dynspg.F90 ''' To be done !!!!''' [[BR]] ''' 126 127 kpp non-local trend put in zdf trends !!! this will not work ! a additional trend term should be add ''' To be done !!!!''' [[BR]] ''' 128 128 129 129 problems to be solved: vvl case for tracer sad trends ; flux form case for had (keg) and zad momentum trends[[BR]] … … 191 191 * Same in l133, l152 and l178. 192 192 * In l183, replaced "ketrd_bfr" by "ketrd_bfri" to avoid confusion with "ketrd_bfr". 193 * Important: contribution from atf is calculated with un and vn, after they have been updated.[[BR]] 193 * Important: contribution from atf is calculated with un and vn, after they have been updated.[[BR]] A small error is made: the contribution of ATF term at time t is recorded with trends taken at t-1. 194 194 * In trd_ken_init, the 3 variables fse3x_n were replaced by their constant value fse3x for the non-vvl case. 195 * Definition of KE at time t+1/2: KE(t+1/2)=u(t)*u(t+1)/2, calculated during dynnxt.F90, using ktrd=jpdyn_ken.195 * Definition of KE (kinetic_energy in xml) at time t+1/2: KE(t+1/2)=u(t)*u(t+1)/2, calculated during dynnxt.F90, using ktrd=jpdyn_ken. 196 196 197 197 In dynnxt.F90