Changeset 763 for branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90
- Timestamp:
- 2007-12-13T14:52:50+01:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_001_GM/NEMO/TOP_SRC/oce_trc.F90
r719 r763 2 2 !!====================================================================== 3 3 !! *** MODULE oce_trc *** 4 !! Ocean passive tracer : share ocean-passive tracers variables4 !! TOP : variables shared between ocean and passive tracers 5 5 !!====================================================================== 6 !! History : 7 !! 9.0 ! 04-03 (C. Ethe) F90: Free form and module 8 !!---------------------------------------------------------------------- 9 !! TOP 1.0, LOCEAN-IPSL (2005) 10 !! $Header: /home/opalod/NEMOCVSROOT/NEMO/TOP_SRC/oce_trc.F90,v 1.17 2007/05/28 02:55:05 opalod Exp $ 11 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 12 !!---------------------------------------------------------------------- 13 !! * Modules used 14 !! Domain characteristics 15 USE par_oce , ONLY : & 16 cp_cfg => cp_cfg, & !: name of the configuration 17 jp_cfg => jp_cfg, & !: resolution of the configuration 18 jpiglo => jpiglo, & !: first dimension of global domain --> i 19 jpjglo => jpjglo, & !: second dimension of global domain --> j 20 jpi => jpi , & !: first dimension of grid --> i 21 jpj => jpj , & !: second dimension of grid --> j 22 jpk => jpk , & !: number of levels 23 jpim1 => jpim1 , & !: jpi - 1 24 jpjm1 => jpjm1 , & !: jpj - 1 25 jpkm1 => jpkm1 , & !: jpk - 1 26 jpij => jpij , & !: jpi x jpj 27 jpidta => jpidta, & !: first horizontal dimension > or = jpi 28 jpjdta => jpjdta, & !: second horizontal dimension > or = jpj 29 jpkdta => jpkdta, & !: number of levels > or = jpk 30 lk_esopa => lk_esopa !: flag to activate the all option 31 32 33 !! run controm 34 35 USE in_out_manager 36 37 USE dom_oce , ONLY : & 38 lzoom => lzoom , & !: zoom flag 39 lzoom_e => lzoom_e , & !: East zoom type flag 40 lzoom_w => lzoom_w , & !: West zoom type flag 41 lzoom_s => lzoom_s , & !: South zoom type flag 42 lzoom_n => lzoom_n , & !: North zoom type flag 43 lzoom_arct => lzoom_arct, & !: ORCA arctic zoom flag 44 lzoom_anta => lzoom_anta !: ORCA antarctic zoom flag 45 46 47 48 USE dom_oce , ONLY : & 49 nperio => nperio, & !: type of lateral boundary condition 50 nimpp => nimpp , & !: i index for mpp-subdomain left bottom 51 njmpp => njmpp , & !: j index for mpp-subdomain left bottom 52 nproc => nproc , & !: number for local processor 53 narea => narea , & !: number for local area 54 mig => mig , & !: local ==> global domain i-indice 55 mjg => mjg , & !: local ==> global domain i-indice 56 mi0 => mi0 , & !: global ==> local domain i-indice 57 mi1 => mi1 , & !: (mi0=1 and mi1=0 if the global indice is not in the local domain) 58 mj0 => mj0 , & !: global ==> local domain j-indice 59 mj1 => mj1 , & !: (mj0=1 and mj1=0 if the global indice is not in the local domain) 60 nidom => nidom 6 !! History : 1.0 ! 2004-03 (C. Ethe) original code 7 !! 2.0 ! 2007-12 (C. Ethe, G. Madec) rewritting 8 !!---------------------------------------------------------------------- 9 !! NEMO/TOP 2.0, LOCEAN-IPSL (2007) 10 !! $Header: $ 11 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 12 !!---------------------------------------------------------------------- 13 #if defined key_passivetrc 14 !!---------------------------------------------------------------------- 15 !! 'key_passivetrc' Passive tracers 16 !!---------------------------------------------------------------------- 17 18 !* Domain size * 19 USE par_oce , ONLY : cp_cfg => cp_cfg !: name of the configuration 20 USE par_oce , ONLY : jp_cfg => jp_cfg !: resolution of the configuration 21 USE par_oce , ONLY : jpiglo => jpiglo !: first dimension of global domain --> i 22 USE par_oce , ONLY : jpjglo => jpjglo !: second dimension of global domain --> j 23 USE par_oce , ONLY : jpi => jpi !: first dimension of grid --> i 24 USE par_oce , ONLY : jpj => jpj !: second dimension of grid --> j 25 USE par_oce , ONLY : jpk => jpk !: number of levels 26 USE par_oce , ONLY : jpim1 => jpim1 !: jpi - 1 27 USE par_oce , ONLY : jpjm1 => jpjm1 !: jpj - 1 28 USE par_oce , ONLY : jpkm1 => jpkm1 !: jpk - 1 29 USE par_oce , ONLY : jpij => jpij !: jpi x jpj 30 USE par_oce , ONLY : jpidta => jpidta !: first horizontal dimension > or = jpi 31 USE par_oce , ONLY : jpjdta => jpjdta !: second horizontal dimension > or = jpj 32 USE par_oce , ONLY : jpkdta => jpkdta !: number of levels > or = jpk 33 USE par_oce , ONLY : lk_esopa => lk_esopa !: flag to activate the all option 34 35 !* IO manager * 36 USE in_out_manager ! use all the variables 37 !* physical constants * 38 USE phycst ! use all the variables 39 40 !* model domain * 41 USE dom_oce , ONLY : lzoom => lzoom !: zoom flag 42 USE dom_oce , ONLY : lzoom_e => lzoom_e !: East zoom type flag 43 USE dom_oce , ONLY : lzoom_w => lzoom_w !: West zoom type flag 44 USE dom_oce , ONLY : lzoom_s => lzoom_s !: South zoom type flag 45 USE dom_oce , ONLY : lzoom_n => lzoom_n !: North zoom type flag 46 USE dom_oce , ONLY : lzoom_arct => lzoom_arct !: ORCA arctic zoom flag 47 USE dom_oce , ONLY : lzoom_anta => lzoom_anta !: ORCA antarctic zoom flag 48 USE dom_oce , ONLY : nperio => nperio !: type of lateral boundary condition 49 USE dom_oce , ONLY : nimpp => nimpp !: i index for mpp-subdomain left bottom 50 USE dom_oce , ONLY : njmpp => njmpp !: j index for mpp-subdomain left bottom 51 USE dom_oce , ONLY : nproc => nproc !: number for local processor 52 USE dom_oce , ONLY : narea => narea !: number for local area 53 USE dom_oce , ONLY : mig => mig !: local ==> global domain i-indice 54 USE dom_oce , ONLY : mjg => mjg !: local ==> global domain i-indice 55 USE dom_oce , ONLY : mi0 => mi0 !: global ==> local domain i-indice 56 USE dom_oce , ONLY : mi1 => mi1 !: (mi0=1 and mi1=0 if the global indice is not in the local one) 57 USE dom_oce , ONLY : mj0 => mj0 !: global ==> local domain j-indice 58 USE dom_oce , ONLY : mj1 => mj1 !: (mj0=1 and mj1=0 if the global indice is not in the local one) 59 USE dom_oce , ONLY : nidom => nidom 60 USE dom_oce , ONLY : nimppt => nimppt !:i-indexes for each processor 61 USE dom_oce , ONLY : njmppt => njmppt !:j-indexes for each processor 62 USE dom_oce , ONLY : ibonit => ibonit !:i-processor neighbour existence 63 USE dom_oce , ONLY : ibonjt => ibonjt !:j- processor neighbour existence 64 USE dom_oce , ONLY : nlci => nlci !:i- & j-dimensions of the local subdomain 65 USE dom_oce , ONLY : nlcj => nlcj !: 66 USE dom_oce , ONLY : nldi => nldi !:first and last indoor i- and j-indexes 67 USE dom_oce , ONLY : nlei => nlei !: 68 USE dom_oce , ONLY : nldj => nldj !: 69 USE dom_oce , ONLY : nlej => nlej !: 70 USE dom_oce , ONLY : nlcit => nlcit !:dimensions of every i-subdomain 71 USE dom_oce , ONLY : nlcjt => nlcjt !:dimensions of every j-subdomain 72 USE dom_oce , ONLY : nldit => nldit !:first indoor index for each i-domain 73 USE dom_oce , ONLY : nleit => nleit !:last indoor index for each i-domain 74 USE dom_oce , ONLY : nldjt => nldjt !:first indoor index for each j-domain 75 USE dom_oce , ONLY : nlejt => nlejt !:last indoor index for each j-domain 61 76 62 USE dom_oce , ONLY : & 63 nimppt => nimppt , & !:i-indexes for each processor 64 njmppt => njmppt , & !:j-indexes for each processor 65 ibonit => ibonit , & !:i-processor neighbour existence 66 ibonjt => ibonjt , & !:j- processor neighbour existence 67 nlci => nlci , & !:i- & j-dimensions of the local subdomain 68 nlcj => nlcj , & !: 69 nldi => nldi , & !:first and last indoor i- and j-indexes 70 nlei => nlei , & !: 71 nldj => nldj , & !: 72 nlej => nlej , & !: 73 nlcit => nlcit , & !:dimensions of every i-subdomain 74 nlcjt => nlcjt , & !:dimensions of every j-subdomain 75 nldit => nldit , & !:first indoor index for each i-domain 76 nleit => nleit , & !:last indoor index for each i-domain 77 nldjt => nldjt , & !:first indoor index for each j-domain 78 nlejt => nlejt !:last indoor index for each j-domain 79 80 81 !! horizontal curvilinear coordinate and scale factors 82 USE dom_oce , ONLY : & 83 glamt => glamt , & !: longitude of t-point (degre) 84 glamu => glamu , & !: longitude of t-point (degre) 85 glamv => glamv , & !: longitude of t-point (degre) 86 glamf => glamf , & !: longitude of t-point (degre) 87 gphit => gphit , & !: latitude of t-point (degre) 88 gphiu => gphiu , & !: latitude of t-point (degre) 89 gphiv => gphiv , & !: latitude of t-point (degre) 90 gphif => gphif , & !: latitude of t-point (degre) 91 e1t => e1t , & !: horizontal scale factors at t-point (m) 92 e2t => e2t , & !: horizontal scale factors at t-point (m) 93 e1u => e1u , & !: horizontal scale factors at u-point (m) 94 e2u => e2u , & !: horizontal scale factors at u-point (m) 95 e1v => e1v , & !: horizontal scale factors at v-point (m) 96 e2v => e2v !: horizontal scale factors at v-point (m) 97 98 !! vertical coordinate and scale factors 99 USE dom_oce , ONLY : & 100 gdept_0 => gdept_0 , & !: reference depth of t-points (m) 101 e3t_0 => e3t_0 , & !: reference depth of t-points (m) 102 e3w_0 => e3w_0 , & !: reference depth of w-points (m) 103 gdepw_0 => gdepw_0 !: reference depth of w-points (m) 104 105 #if ! defined key_zco 106 USE dom_oce , ONLY : & 107 gdep3w => gdep3w , & !: ??? 108 gdept => gdept, & !: depth of t-points (m) 109 gdepw => gdepw, & !: depth of t-points (m) 110 e3t => e3t , & !: vertical scale factors at t- 111 e3u => e3u , & !: vertical scale factors at u- 112 e3v => e3v , & !: vertical scale factors v- 113 e3w => e3w , & !: w-points (m) 114 e3f => e3f , & !: f-points (m) 115 e3uw => e3uw , & !: uw-points (m) 116 e3vw => e3vw !: vw-points (m) 77 !* horizontal mesh * 78 USE dom_oce , ONLY : glamt => glamt !: longitude of t-point (degre) 79 USE dom_oce , ONLY : glamu => glamu !: longitude of t-point (degre) 80 USE dom_oce , ONLY : glamv => glamv !: longitude of t-point (degre) 81 USE dom_oce , ONLY : glamf => glamf !: longitude of t-point (degre) 82 USE dom_oce , ONLY : gphit => gphit !: latitude of t-point (degre) 83 USE dom_oce , ONLY : gphiu => gphiu !: latitude of t-point (degre) 84 USE dom_oce , ONLY : gphiv => gphiv !: latitude of t-point (degre) 85 USE dom_oce , ONLY : gphif => gphif !: latitude of t-point (degre) 86 USE dom_oce , ONLY : e1t => e1t !: horizontal scale factors at t-point (m) 87 USE dom_oce , ONLY : e2t => e2t !: horizontal scale factors at t-point (m) 88 USE dom_oce , ONLY : e1u => e1u !: horizontal scale factors at u-point (m) 89 USE dom_oce , ONLY : e2u => e2u !: horizontal scale factors at u-point (m) 90 USE dom_oce , ONLY : e1v => e1v !: horizontal scale factors at v-point (m) 91 USE dom_oce , ONLY : e2v => e2v !: horizontal scale factors at v-point (m) 92 93 !* vertical mesh * 94 USE dom_oce , ONLY : gdept_0 => gdept_0 !: reference depth of t-points (m) 95 USE dom_oce , ONLY : e3t_0 => e3t_0 !: reference depth of t-points (m) 96 USE dom_oce , ONLY : e3w_0 => e3w_0 !: reference depth of w-points (m) 97 USE dom_oce , ONLY : gdepw_0 => gdepw_0 !: reference depth of w-points (m) 98 # if ! defined key_zco 99 USE dom_oce , ONLY : gdep3w => gdep3w !: ??? 100 USE dom_oce , ONLY : gdept => gdept !: depth of t-points (m) 101 USE dom_oce , ONLY : gdepw => gdepw !: depth of t-points (m) 102 USE dom_oce , ONLY : e3t => e3t !: vertical scale factors at t- 103 USE dom_oce , ONLY : e3u => e3u !: vertical scale factors at u- 104 USE dom_oce , ONLY : e3v => e3v !: vertical scale factors v- 105 USE dom_oce , ONLY : e3w => e3w !: w-points (m) 106 USE dom_oce , ONLY : e3f => e3f !: f-points (m) 107 USE dom_oce , ONLY : e3uw => e3uw !: uw-points (m) 108 USE dom_oce , ONLY : e3vw => e3vw !: vw-points (m) 109 # endif 110 USE dom_oce , ONLY : ln_zps => ln_zps !: partial steps flag 111 USE dom_oce , ONLY : ln_sco => ln_sco !: s-coordinate flag 112 USE dom_oce , ONLY : ln_zco => ln_zco !: z-coordinate flag 113 USE dom_oce , ONLY : lk_zco => lk_zco !: z-coordinate flag (1D or 3D arrays) 114 USE dom_oce , ONLY : hbatt => hbatt !: ocean depth at the vertical of t-point (m) 115 USE dom_oce , ONLY : hbatu => hbatu !: ocean depth at the vertical of u-point (m) 116 USE dom_oce , ONLY : hbatv => hbatv !: ocean depth at the vertical of w-point (m) 117 USE dom_oce , ONLY : gsigt => gsigt !: model level depth coefficient at T-levels 118 USE dom_oce , ONLY : gsigw => gsigw !: model level depth coefficient at W-levels 119 USE dom_oce , ONLY : gsi3w => gsi3w !: model level depth coef at w-levels (defined as the sum of e3w) 120 USE dom_oce , ONLY : esigt => esigt !: vertical scale factor coef. at t-levels 121 USE dom_oce , ONLY : esigw => esigw !: vertical scale factor coef. at w-levels 122 123 !* masks, bathymetry * 124 USE dom_oce , ONLY : mbathy => mbathy !: number of ocean level (=0, & 1, ... , jpk-1) 125 USE dom_oce , ONLY : tmask_i => tmask_i !: Interior mask at t-points 126 USE dom_oce , ONLY : tmask => tmask !: land/ocean mask at t-points 127 USE dom_oce , ONLY : umask => umask !: land/ocean mask at u-points 128 USE dom_oce , ONLY : vmask => vmask !: land/ocean mask at v-points 129 USE dom_oce , ONLY : fmask => fmask !: land/ocean mask at f-points 130 # if defined key_off_degrad 131 USE dom_oce , ONLY : facvol => facvol !: volume factor for degradation 132 # endif 133 134 !* time domain * 135 USE dom_oce , ONLY : neuler => neuler !: restart euler forward option (0=Euler) 136 USE dom_oce , ONLY : rdt => rdt !: time step for the dynamics 137 USE dom_oce , ONLY : atfp => atfp !: asselin time filter parameter 138 USE dom_oce , ONLY : atfp1 => atfp1 !: asselin time filter coeff. (atfp1= 1-2*atfp) 139 USE dom_oce , ONLY : rdttra => rdttra !: vertical profile of tracer time step 140 USE daymod , ONLY : ndastp => ndastp !: time step date in year/month/day aammjj 141 USE daymod , ONLY : nday_year => nday_year !: curent day counted from jan 1st of the current year 142 USE daymod , ONLY : nyear => nyear !: Current year 143 USE daymod , ONLY : nmonth => nmonth !: Current month 144 USE daymod , ONLY : nday => nday !: Current day 145 146 !* ocean fields: here now and after fields * 147 USE oce , ONLY : ua => ua !: i-horizontal velocity (m s-1) 148 USE oce , ONLY : va => va !: j-horizontal velocity (m s-1) 149 USE oce , ONLY : un => un !: i-horizontal velocity (m s-1) 150 USE oce , ONLY : vn => vn !: j-horizontal velocity (m s-1) 151 USE oce , ONLY : wn => wn !: vertical velocity (m s-1) 152 USE oce , ONLY : tn => tn !: pot. temperature (celsius) 153 USE oce , ONLY : sn => sn !: salinity (psu) 154 USE oce , ONLY : rhop => rhop !: potential volumic mass (kg m-3) 155 USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 156 # if defined key_trc_diatrd 157 USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) 158 # endif 159 160 161 USE lib_mpp , ONLY : lk_mpp => lk_mpp !: Mpp flag 162 163 USE dynspg_oce , ONLY : lk_dynspg_rl => lk_dynspg_rl !: rigid lid flag 164 165 USE dom_oce , ONLY : n_cla => n_cla !: flag (0/1) for cross land advection 166 167 168 169 !* surface fluxes * 170 # if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core 171 USE blk_oce, ONLY : vatm => vatm !: wind speed at sea surface (m s-1) 172 # endif 173 USE taumod , ONLY : taux => taux !: i-surface stress component 174 USE taumod , ONLY : tauy => tauy !: j-surface stress component 175 USE ocesbc , ONLY : qt => qt !: total surface heat flux (w m-2) 176 USE ocesbc , ONLY : qsr => qsr !: penetrative solar radiation (w m-2) 177 USE ocesbc , ONLY : emp => emp !: evaporation minus precipitation (kg m-2 s-2) 178 USE ocesbc , ONLY : emps => emps !: evaporation minus precipitation (kg m-2 s-2) 179 USE traqsr , ONLY : xsi1 => xsi1 !: first depth of extinction 180 USE traqsr , ONLY : ln_qsr_sms => ln_qsr_sms !: flag to use or not the biological fluxes for light 181 USE flxrnf , ONLY : upsrnfh => upsrnfh !: mixed adv scheme in runoffs vicinity (hori.) 182 USE flxrnf , ONLY : upsrnfz => upsrnfz !: mixed adv scheme in runoffs vicinity (vert.) 183 USE flxrnf , ONLY : upsadv => upsadv !: mixed adv scheme in straits vicinity (hori.) 184 185 !* freezing area * 186 USE ocfzpt , ONLY : freeze => freeze !: ice mask (0 or 1) 187 USE ocfzpt , ONLY : fzptn => fzptn !: now freezing temperature at ocean surface 188 189 !* bottom boundary layer * 190 # if defined key_trabbl_dif || defined key_trabbl_adv 191 USE trabbl , ONLY : atrbbl => atrbbl !: lateral coeff. for bottom boundary layer scheme (m2/s) 192 # if defined key_off_tra 193 USE trabbl, ONLY : bblx => bblx !: ??? 194 USE trabbl, ONLY : bbly => bbly !: ??? 195 # endif 196 # endif 197 198 !* lateral diffusivity (tracers) * 199 USE ldftra_oce , ONLY : aht0 => aht0 !: horizontal eddy diffusivity for tracers (m2/s) 200 USE ldftra_oce , ONLY : ahtb0 => ahtb0 !: background eddy diffusivity for isopycnal diff. (m2/s) 201 USE ldftra_oce , ONLY : ahtu => ahtu !: lateral diffusivity coef. at u-points 202 USE ldftra_oce , ONLY : ahtv => ahtv !: lateral diffusivity coef. at v-points 203 USE ldftra_oce , ONLY : ahtw => ahtw !: lateral diffusivity coef. at w-points 204 USE ldftra_oce , ONLY : ahtt => ahtt !: lateral diffusivity coef. at t-points 205 USE ldftra_oce , ONLY : aeiv0 => aeiv0 !: eddy induced velocity coefficient (m2/s) 206 USE ldftra_oce , ONLY : aeiu => aeiu !: eddy induced velocity coef. at u-points (m2/s) 207 USE ldftra_oce , ONLY : aeiv => aeiv !: eddy induced velocity coef. at v-points (m2/s) 208 USE ldftra_oce , ONLY : aeiw => aeiw !: eddy induced velocity coef. at w-points (m2/s) 209 210 !* vertical diffusion * 211 USE zdf_oce , ONLY : avt => avt !: vert. diffusivity coef. at w-point for temp 212 USE zdf_oce , ONLY : avt0 => avt0 !: vertical eddy diffusivity for tracers (m2/s) 213 USE zdf_oce , ONLY : ln_zdfnpc => ln_zdfnpc !: convection: non-penetrative convection flag 214 # if defined key_zdfddm 215 USE zdfddm , ONLY : avs => avs !: salinity vertical diffusivity coeff. at w-point 216 # endif 217 218 !* mixing & mixed layer depth * 219 USE zdfmxl , ONLY : hmld => hmld !: mixing layer depth (turbocline) 220 USE zdfmxl , ONLY : hmlp => hmlp !: mixed layer depth (rho=rho0+zdcrit) (m) 221 USE zdfmxl , ONLY : hmlpt => hmlpt !: mixed layer depth at t-points (m) 222 223 !* direction of lateral diffusion * 224 USE ldfslp , ONLY : lk_ldfslp => lk_ldfslp !: slopes flag 225 # if defined key_ldfslp 226 USE ldfslp , ONLY : uslp => uslp !: i-direction slope at u-, w-points 227 USE ldfslp , ONLY : vslp => vslp !: j-direction slope at v-, w-points 228 USE ldfslp , ONLY : wslpi => wslpi !: i-direction slope at u-, w-points 229 USE ldfslp , ONLY : wslpj => wslpj !: j-direction slope at v-, w-points 230 # endif 231 232 #else 233 !!---------------------------------------------------------------------- 234 !! Empty module : No passive tracer 235 !!---------------------------------------------------------------------- 117 236 #endif 118 237 119 USE dom_oce , ONLY : & 120 ln_zps => ln_zps , & !: partial steps flag 121 ln_sco => ln_sco , & !: s-coordinate flag 122 ln_zco => ln_zco , & !: z-coordinate flag 123 lk_zco => lk_zco !: z-coordinate flag (1D or 3D arrays) 124 125 USE lib_mpp , ONLY : & 126 lk_mpp => lk_mpp !: Mpp flag 127 128 USE dynspg_oce , ONLY : & 129 lk_dynspg_rl => lk_dynspg_rl !: rigid lid flag 130 131 132 USE dom_oce , ONLY : & 133 hbatt => hbatt , & !: ocean depth at the vertical of t-point (m) 134 hbatu => hbatu , & !: ocean depth at the vertical of u-point (m) 135 hbatv => hbatv , & !: ocean depth at the vertical of w-point (m) 136 gsigt => gsigt , & !: model level depth coefficient at t-, & w-levelsvertical scale factors at u- 137 gsigw => gsigw , & !: model level depth coefficient at t-, & w-levelsvertical scale factors v- 138 gsi3w => gsi3w , & !: model level depth coef at w-levels (defined as the sum of e3w) 139 esigt => esigt , & !: vertical scale factor coef. at t-levels 140 esigw => esigw !: vertical scale factor coef. at w-levels 141 142 !! masks, bathymetry 143 USE dom_oce , ONLY : & 144 mbathy => mbathy, & !: number of ocean level (=0, & 1, ... , jpk-1) 145 tmask_i => tmask_i, & !: Interior mask at t-points 146 tmask => tmask , & !: land/ocean mask at t-points 147 umask => umask , & !: land/ocean mask at u-points 148 vmask => vmask , & !: land/ocean mask at v-points 149 fmask => fmask !: land/ocean mask at f-points 150 151 #if defined key_off_degrad 152 USE dom_oce , ONLY : & 153 facvol => facvol !: volume factor for degradation 154 #endif 155 156 USE dom_oce , ONLY : & 157 n_cla => n_cla !: flag (0/1) for cross land advection 158 159 !! time domain 160 USE dom_oce , ONLY : & 161 neuler => neuler, & !: restart euler forward option (0=Euler) 162 rdt => rdt , & !: time step for the dynamics 163 atfp => atfp , & !: asselin time filter parameter 164 atfp1 => atfp1 , & !: asselin time filter coeff. (atfp1= 1-2*atfp) 165 rdttra => rdttra !: vertical profile of tracer time step 166 167 USE daymod , ONLY : & 168 ndastp => ndastp, & !: time step date in year/month/day aammjj 169 nday_year => nday_year, & !: curent day counted from jan 1st of the current year 170 nyear => nyear, & !: Current year 171 nmonth => nmonth, & !: Current month 172 nday => nday !: Current day 173 174 !! physical constants 175 USE phycst , ONLY : & 176 ra => ra , & !: earth radius 177 rpi => rpi , & !: pi 178 rday => rday , & !: day 179 rauw => rauw , & !: density of pure water kg/m3 180 ro0cpr => ro0cpr, & !: = 1. / ( rau0 * rcp ) 181 rad => rad , & !: conversion coeff. from degre into radian 182 raass => raass , & !: number of seconds in one year 183 rmoss => rmoss , & !: number of seconds in one month 184 rjjss => rjjss !: number of seconds in one day 185 186 !! present fields (now) 187 USE oce , ONLY : & 188 ua => ua , & !: i-horizontal velocity (m s-1) 189 va => va , & !: j-horizontal velocity (m s-1) 190 un => un , & !: i-horizontal velocity (m s-1) 191 vn => vn , & !: j-horizontal velocity (m s-1) 192 wn => wn , & !: vertical velocity (m s-1) 193 tn => tn , & !: pot. temperature (celsius) 194 sn => sn , & !: salinity (psu) 195 rhop => rhop , & !: potential volumic mass (kg m-3) 196 rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 197 198 #if defined key_trc_diatrd 199 USE oce , ONLY : & 200 hdivn => hdivn !: horizontal divergence (1/s) 201 #endif 202 203 #if defined key_flx_bulk_monthly || defined key_flx_bulk_daily || defined key_flx_core 204 !! wind speed 205 USE blk_oce , ONLY : & 206 vatm => vatm !: wind speed at sea surface (m s-1) 207 #endif 208 209 !! wind speed 210 USE taumod , ONLY : & 211 taux => taux , & !: i-surface stress component 212 tauy => tauy !: j-surface stress component 213 214 #if defined key_trabbl_dif || defined key_trabbl_adv 215 USE trabbl , ONLY : & 216 atrbbl => atrbbl !: lateral coeff. for bottom boundary layer scheme (m2/s) 217 # if defined key_off_tra 218 USE trabbl, ONLY : & 219 bblx => bblx, & 220 bbly => bbly 221 # endif 222 #endif 223 224 !! lateral diffusivity (tracers) 225 USE ldftra_oce , ONLY : & 226 aht0 => aht0 , & !: horizontal eddy diffusivity for tracers (m2/s) 227 ahtb0 => ahtb0 , & !: background eddy diffusivity for isopycnal diff. (m2/s) 228 ahtu => ahtu , & !: lateral diffusivity coef. at u-points 229 ahtv => ahtv , & !: lateral diffusivity coef. at v-points 230 ahtw => ahtw , & !: lateral diffusivity coef. at w-points 231 ahtt => ahtt , & !: lateral diffusivity coef. at t-points 232 aeiv0 => aeiv0 , & !: eddy induced velocity coefficient (m2/s) 233 aeiu => aeiu , & !: eddy induced velocity coef. at u-points (m2/s) 234 aeiv => aeiv , & !: eddy induced velocity coef. at v-points (m2/s) 235 aeiw => aeiw !: eddy induced velocity coef. at w-points (m2/s) 236 237 !! vertical diffusion 238 USE zdf_oce , ONLY : & 239 avt => avt , & !: vert. diffusivity coef. at w-point for temp 240 avt0 => avt0 , & !: vertical eddy diffusivity for tracers (m2/s) 241 ln_zdfnpc => ln_zdfnpc !: convection: non-penetrative convection flag 242 243 244 #if defined key_zdfddm 245 USE zdfddm , ONLY : & 246 avs => avs !: salinity vertical diffusivity coeff. at w-point 247 #endif 248 249 !! penetrative solar radiation 250 USE traqsr , ONLY : & 251 xsi1 => xsi1 , & !: first depth of extinction 252 ln_qsr_sms => ln_qsr_sms !: flag to use or not the biological fluxes for light 253 254 !! surface fluxes 255 USE ocesbc , ONLY : & 256 qt => qt , & !: total surface heat flux (w m-2) 257 qsr => qsr , & !: penetrative solar radiation (w m-2) 258 emp => emp , & !: evaporation minus precipitation (kg m-2 s-2) 259 emps => emps !: evaporation minus precipitation (kg m-2 s-2) 260 261 !! freezing area 262 USE ocfzpt , ONLY : & 263 freeze => freeze, & !: ice mask (0 or 1) 264 fzptn => fzptn !: now freezing temperature at ocean surface 265 266 267 !! mixing layer depth (turbocline) 268 USE zdfmxl , ONLY : & 269 hmld => hmld , & !: mixing layer depth (turbocline) 270 hmlp => hmlp , & !: mixed layer depth (rho=rho0+zdcrit) (m) 271 hmlpt => hmlpt !: mixed layer depth at t-points (m) 272 273 USE ldfslp , ONLY : & 274 lk_ldfslp => lk_ldfslp !: slopes flag 275 #if defined key_ldfslp 276 !! direction of lateral diffusion (momentum tracers) 277 USE ldfslp , ONLY : & 278 uslp => uslp , & !: i-direction slope at u-, w-points 279 vslp => vslp , & !: j-direction slope at v-, w-points 280 wslpi => wslpi , & !: i-direction slope at u-, w-points 281 wslpj => wslpj !: j-direction slope at v-, w-points 282 #endif 283 284 !! ocean forcings runoff 285 USE flxrnf , ONLY : & 286 upsrnfh => upsrnfh , & !: mixed adv scheme in runoffs vicinity (hori.) 287 upsrnfz => upsrnfz , & !: mixed adv scheme in runoffs vicinity (vert.) 288 upsadv => upsadv !: mixed adv scheme in straits vicinity (hori.) 289 238 !!====================================================================== 290 239 END MODULE oce_trc
Note: See TracChangeset
for help on using the changeset viewer.