Changeset 6731
- Timestamp:
- 2016-06-22T13:43:26+02:00 (9 years ago)
- Location:
- branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/CONFIG/SHARED/field_def.xml
r6533 r6731 22 22 23 23 <field_group id="grid_T" grid_ref="grid_T_2D" > 24 <field id="e3t" long_name=" T-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_T_3D"/>24 <field id="e3t" long_name="Ocean Model cell Thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_T_3D"/> 25 25 <field id="e3t_0" long_name="Initial T-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_T_3D"/> 26 26 27 <field id="toce" long_name=" temperature" standard_name="sea_water_potential_temperature" unit="degC" grid_ref="grid_T_3D"/>28 <field id="toce_e3t" long_name="temperature * e3t" unit="deg C*m" grid_ref="grid_T_3D" > toce * e3t </field >29 <field id="soce" long_name=" salinity" standard_name="sea_water_practical_salinity" unit="1e-3" grid_ref="grid_T_3D"/>30 <field id="soce_e3t" long_name="salinity * e3t" unit="1 e-3*m" grid_ref="grid_T_3D" > soce * e3t </field >31 32 <field id="sst" long_name=" sea surface temperature" standard_name="sea_surface_temperature" unit="degC" />33 <field id="sst2" long_name=" square of sea surface temperature" standard_name="square_of_sea_surface_temperature" unit="degC2" > sst * sst </field >27 <field id="toce" long_name="Sea Water Potential Temperature" standard_name="sea_water_potential_temperature" unit="degree_C" grid_ref="grid_T_3D"/> 28 <field id="toce_e3t" long_name="temperature * e3t" unit="degree_C*m" grid_ref="grid_T_3D" > toce * e3t </field > 29 <field id="soce" long_name="Sea Water Salinity" standard_name="sea_water_salinity" unit="1" grid_ref="grid_T_3D"/> 30 <field id="soce_e3t" long_name="salinity * e3t" unit="1*m" grid_ref="grid_T_3D" > soce * e3t </field > 31 32 <field id="sst" long_name="Sea Surface Temperature" standard_name="sea_surface_temperature" unit="degree_C" /> 33 <field id="sst2" long_name="Square of Sea Surface Temperature" standard_name="square_of_sea_surface_temperature" unit="degree_C2" > sst * sst </field > 34 34 <field id="sstmax" long_name="max of sea surface temperature" field_ref="sst" operation="maximum" /> 35 35 <field id="sstmin" long_name="min of sea surface temperature" field_ref="sst" operation="minimum" /> 36 <field id="sstgrad" long_name="module of sst gradient" unit="deg C/m" />37 <field id="sstgrad2" long_name="square of module of sst gradient" unit="deg C2/m2" />38 <field id="sbt" long_name="sea bottom temperature" unit="deg C" />36 <field id="sstgrad" long_name="module of sst gradient" unit="degree_C/m" /> 37 <field id="sstgrad2" long_name="square of module of sst gradient" unit="degree_C2/m2" /> 38 <field id="sbt" long_name="sea bottom temperature" unit="degree_C" /> 39 39 40 <field id="sss" long_name=" sea surface salinity" standard_name="sea_surface_salinity" unit="1e-3" />41 <field id="sss2" long_name="square of sea surface salinity" unit="1 e-6" > sss * sss </field >40 <field id="sss" long_name="Sea Surface Salinity" standard_name="sea_surface_salinity" unit="1" /> 41 <field id="sss2" long_name="square of sea surface salinity" unit="1" > sss * sss </field > 42 42 <field id="sssmax" long_name="max of sea surface salinity" field_ref="sss" operation="maximum" /> 43 43 <field id="sssmin" long_name="min of sea surface salinity" field_ref="sss" operation="minimum" /> 44 <field id="sbs" long_name="sea bottom salinity" unit="1 e-3" />44 <field id="sbs" long_name="sea bottom salinity" unit="1" /> 45 45 46 46 <field id="taubot" long_name="bottom stress module" unit="N/m2" /> … … 54 54 <field id="mldr10_1max" long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="maximum" /> 55 55 <field id="mldr10_1min" long_name="Min of Mixed Layer Depth (dsigma = 0.01 wrt 10m)" field_ref="mldr10_1" operation="minimum" /> 56 <field id="mldzint" long_name="Mixed Layer Depth interpolated" standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta" unit="m" /> 56 57 <field id="mldzint_1" long_name="Mixed Layer Depth interpolated" standard_name="ocean_mixed_layer_thickness" unit="m" /> 57 58 <field id="mldzint_2" long_name="Mixed Layer Depth interpolated" standard_name="ocean_mixed_layer_thickness" unit="m" /> … … 65 66 <field id="mldhtc_5" long_name="Mixed Layer Depth integrated heat content" standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" /> 66 67 <field id="heatc" long_name="Heat content vertically integrated" standard_name="integral_of_sea_water_potential_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" /> 67 <field id="saltc" long_name="Salt content vertically integrated" unit="1 e-3*kg/m2" />68 <field id="saltc" long_name="Salt content vertically integrated" unit="1*kg/m2" /> 68 69 69 70 <!-- EOS --> 70 <field id="alpha" long_name="thermal expansion" unit="deg C-1" grid_ref="grid_T_3D" />71 <field id="alpha" long_name="thermal expansion" unit="degree_C-1" grid_ref="grid_T_3D" /> 71 72 <field id="beta" long_name="haline contraction" unit="1e3" grid_ref="grid_T_3D" /> 72 73 <field id="rhop" long_name="potential density (sigma0)" standard_name="sea_water_sigma_theta" unit="kg/m3" grid_ref="grid_T_3D" /> … … 88 89 <field id="pycndep" long_name="Pycnocline Depth (dsigma[dT=-0.2] wrt 10m)" standard_name="ocean_mixed_layer_thickness_defined_by_sigma_theta" unit="m" /> 89 90 <field id="BLT" long_name="Barrier Layer Thickness" unit="m" > topthdep - pycndep </field> 90 <field id="tinv" long_name="Max of vertical invertion of temperature" unit="deg C" />91 <field id="tinv" long_name="Max of vertical invertion of temperature" unit="degree_C" /> 91 92 <field id="depti" long_name="Depth of max. vert. inv. of temperature" unit="m" /> 92 93 <field id="20d" long_name="Depth of 20C isotherm" standard_name="depth_of_isosurface_of_sea_water_potential_temperature" unit="m" axis_ref="iax_20C" /> … … 95 96 96 97 <!-- variables available with key_diaar5 --> 97 <field id="botpres" long_name="Pressure at sea floor" standard_name="sea_water_pressure_at_sea_floor" unit="dbar" /> 98 <field id="botpres" long_name="Sea Water Pressure at Sea Floor" standard_name="sea_water_pressure_at_sea_floor" unit="dbar" /> 99 <field id="sshdyn" long_name="dynamic sea surface height" standard_name="dynamic_sea_surface_height_above_geoid" unit="m" /> 100 <field id="sshdyn2" long_name="square of dynamic sea surface height" standard_name="dynamic_sea_surface_height_above_geoid_squared" unit="m2" > sshdyn * sshdyn </field> 98 101 99 102 <!-- variables available with key_vvl --> … … 187 190 <field id="emp_oce" long_name="Evap minus Precip over ocean" standard_name="evap_minus_precip_over_sea_water" unit="kg/m2/s" /> 188 191 <field id="emp_ice" long_name="Evap minus Precip over ice" standard_name="evap_minus_precip_over_sea_ice" unit="kg/m2/s" /> 189 <field id="saltflx" long_name="Downward salt flux" unit="1 e-3/m2/s" />192 <field id="saltflx" long_name="Downward salt flux" unit="1/m2/s" /> 190 193 <field id="fmmflx" long_name="Water flux due to freezing/melting" unit="kg/m2/s" /> 191 194 <field id="snowpre" long_name="Snow precipitation" standard_name="snowfall_flux" unit="kg/m2/s" /> 192 <field id="runoffs" long_name=" River Runoffs"standard_name="water_flux_into_sea_water_from_rivers" unit="kg/m2/s" />195 <field id="runoffs" long_name="Water Flux into Sea Water From Rivers" standard_name="water_flux_into_sea_water_from_rivers" unit="kg/m2/s" /> 193 196 <field id="precip" long_name="Total precipitation" standard_name="precipitation_flux" unit="kg/m2/s" /> 194 197 … … 211 214 <field id="isfgammat" long_name="transfert coefficient for isf (temperature)" unit="m/s" /> 212 215 <field id="isfgammas" long_name="transfert coefficient for isf (salinity)" unit="m/s" /> 213 <field id="stbl" long_name="salinity in the Losh tbl" unit="1 e-3" />214 <field id="ttbl" long_name="temperature in the Losh tbl" unit="deg C" />216 <field id="stbl" long_name="salinity in the Losh tbl" unit="1" /> 217 <field id="ttbl" long_name="temperature in the Losh tbl" unit="degree_C" /> 215 218 216 219 <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> … … 230 233 <!-- available if key_oasis3 + conservative method --> 231 234 <field id="rain" long_name="Liquid precipitation" standard_name="rainfall_flux" unit="kg/m2/s" /> 235 <field id="rain_ao_cea" long_name="Liquid precipitation over ice-free ocean (cell average)" standard_name="rainfall_flux" unit="kg/m2/s" /> 232 236 <field id="evap_ao_cea" long_name="Evaporation over ice-free ocean (cell average)" standard_name="water_evaporation_flux" unit="kg/m2/s" /> 233 237 <field id="isnwmlt_cea" long_name="Snow over Ice melting (cell average)" standard_name="surface_snow_melt_flux" unit="kg/m2/s" /> … … 262 266 263 267 <field id="ice_pres" long_name="Ice presence" unit="" /> 264 <field id="ist_cea" long_name="Ice surface temperature (cell average)" standard_name="surface_temperature" unit="deg C" />265 <field id="ist_ipa" long_name="Ice surface temperature (ice presence average)" standard_name="surface_temperature" unit="deg C" />268 <field id="ist_cea" long_name="Ice surface temperature (cell average)" standard_name="surface_temperature" unit="degree_C" /> 269 <field id="ist_ipa" long_name="Ice surface temperature (ice presence average)" standard_name="surface_temperature" unit="degree_C" /> 266 270 <field id="uice_ipa" long_name="Ice velocity along i-axis at I-point (ice presence average)" standard_name="sea_ice_x_velocity" unit="m/s" /> 267 271 <field id="vice_ipa" long_name="Ice velocity along j-axis at I-point (ice presence average)" standard_name="sea_ice_y_velocity" unit="m/s" /> … … 272 276 <field id="u_imasstr" long_name="Sea-ice mass transport along i-axis" standard_name="sea_ice_x_transport" unit="kg/s" /> 273 277 <field id="v_imasstr" long_name="Sea-ice mass transport along j-axis" standard_name="sea_ice_y_transport" unit="kg/s" /> 274 <field id="emp_x_sst" long_name="Concentration/Dilution term on SST" unit="kg*deg C/m2/s" />275 <field id="emp_x_sss" long_name="Concentration/Dilution term on SSS" unit="kg*1 e-3/m2/s" />278 <field id="emp_x_sst" long_name="Concentration/Dilution term on SST" unit="kg*degree_C/m2/s" /> 279 <field id="emp_x_sss" long_name="Concentration/Dilution term on SSS" unit="kg*1/m2/s" /> 276 280 277 281 <field id="iceconc" long_name="ice concentration" standard_name="sea_ice_area_fraction" unit="%" /> 278 <field id="isst" long_name="sea surface temperature" standard_name="sea_surface_temperature" unit="deg C" />279 <field id="isss" long_name="sea surface salinity" standard_name="sea_surface_salinity" unit="1 e-3" />282 <field id="isst" long_name="sea surface temperature" standard_name="sea_surface_temperature" unit="degree_C" /> 283 <field id="isss" long_name="sea surface salinity" standard_name="sea_surface_salinity" unit="1" /> 280 284 <field id="qt_oce" long_name="total flux at ocean surface" standard_name="surface_downward_heat_flux_in_sea_water" unit="W/m2" /> 281 285 <field id="qsr_oce" long_name="solar heat flux at ocean surface" standard_name="net_downward_shortwave_flux_at_sea_water_surface" unit="W/m2" /> … … 286 290 <field id="qtr_ice" long_name="solar heat flux transmitted through ice: sum over categories" unit="W/m2" /> 287 291 <field id="qemp_ice" long_name="Downward Heat Flux from E-P over ice" unit="W/m2" /> 288 <field id="micesalt" long_name="Mean ice salinity" unit="1 e-3" />292 <field id="micesalt" long_name="Mean ice salinity" unit="1" /> 289 293 <field id="miceage" long_name="Mean ice age" unit="years" /> 290 294 <field id="alb_ice" long_name="Mean albedo over sea ice" unit="" /> … … 297 301 <field id="salinity_cat" long_name="Sea-Ice Bulk salinity for categories" unit="g/kg" axis_ref="ncatice" /> 298 302 <field id="brinevol_cat" long_name="Brine volume for categories" unit="%" axis_ref="ncatice" /> 299 <field id="icetemp_cat" long_name="Ice temperature for categories" unit="deg C" axis_ref="ncatice" />300 <field id="snwtemp_cat" long_name="Snow temperature for categories" unit="deg C" axis_ref="ncatice" />301 302 <field id="micet" long_name="Mean ice temperature" unit="deg C" />303 <field id="icetemp_cat" long_name="Ice temperature for categories" unit="degree_C" axis_ref="ncatice" /> 304 <field id="snwtemp_cat" long_name="Snow temperature for categories" unit="degree_C" axis_ref="ncatice" /> 305 306 <field id="micet" long_name="Mean ice temperature" unit="degree_C" /> 303 307 <field id="icehc" long_name="ice total heat content" unit="10^9J" /> 304 308 <field id="isnowhc" long_name="snow total heat content" unit="10^9J" /> 305 <field id="icest" long_name="ice surface temperature" unit="deg C" />309 <field id="icest" long_name="ice surface temperature" unit="degree_C" /> 306 310 <field id="ibrinv" long_name="brine volume" unit="%" /> 307 311 <field id="icecolf" long_name="frazil ice collection thickness" unit="m" /> … … 315 319 <field id="icetrp" long_name="ice volume transport" unit="m/day" /> 316 320 <field id="snwtrp" long_name="snw volume transport" unit="m/day" /> 317 <field id="saltrp" long_name="salt content transport" unit="1 e-3*kg/m2/day" />321 <field id="saltrp" long_name="salt content transport" unit="1*kg/m2/day" /> 318 322 <field id="deitrp" long_name="advected ice enthalpy" unit="W/m2" /> 319 323 <field id="destrp" long_name="advected snw enthalpy" unit="W/m2" /> 320 324 321 <field id="sfxbri" long_name="brine salt flux" unit="1 e-3*kg/m2/day" />322 <field id="sfxdyn" long_name="salt flux from ridging rafting" unit="1 e-3*kg/m2/day" />323 <field id="sfxres" long_name="salt flux from lipupdate (resultant)" unit="1 e-3*kg/m2/day" />324 <field id="sfxbog" long_name="salt flux from bot growth" unit="1 e-3*kg/m2/day" />325 <field id="sfxbom" long_name="salt flux from bot melt" unit="1 e-3*kg/m2/day" />326 <field id="sfxsum" long_name="salt flux from surf melt" unit="1 e-3*kg/m2/day" />327 <field id="sfxsni" long_name="salt flux from snow-ice formation" unit="1 e-3*kg/m2/day" />328 <field id="sfxopw" long_name="salt flux from open water ice formation" unit="1 e-3*kg/m2/day" />329 <field id="sfxsub" long_name="salt flux from sublimation" unit="1 e-3*kg/m2/day" />330 <field id="sfx" long_name="salt flux total" unit="1 e-3*kg/m2/day" />325 <field id="sfxbri" long_name="brine salt flux" unit="1*kg/m2/day" /> 326 <field id="sfxdyn" long_name="salt flux from ridging rafting" unit="1*kg/m2/day" /> 327 <field id="sfxres" long_name="salt flux from lipupdate (resultant)" unit="1*kg/m2/day" /> 328 <field id="sfxbog" long_name="salt flux from bot growth" unit="1*kg/m2/day" /> 329 <field id="sfxbom" long_name="salt flux from bot melt" unit="1*kg/m2/day" /> 330 <field id="sfxsum" long_name="salt flux from surf melt" unit="1*kg/m2/day" /> 331 <field id="sfxsni" long_name="salt flux from snow-ice formation" unit="1*kg/m2/day" /> 332 <field id="sfxopw" long_name="salt flux from open water ice formation" unit="1*kg/m2/day" /> 333 <field id="sfxsub" long_name="salt flux from sublimation" unit="1*kg/m2/day" /> 334 <field id="sfx" long_name="salt flux total" unit="1*kg/m2/day" /> 331 335 332 336 <field id="vfxbog" long_name="daily bottom thermo ice prod." unit="m/day" /> … … 369 373 <field id="hfxtur" long_name="turbulent heat flux at the ice base" unit="W/m2" /> 370 374 <!-- sbcssm variables --> 371 <field id="sst_m" unit="deg C" />375 <field id="sst_m" unit="degree_C" /> 372 376 <field id="sss_m" unit="psu" /> 373 377 <field id="ssu_m" unit="m/s" /> … … 384 388 <field id="e3u" long_name="U-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_U_3D" /> 385 389 <field id="e3u_0" long_name="Initial U-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_U_3D"/> 386 <field id="utau" long_name=" Wind Stress along i-axis" standard_name="surface_downward_x_stress" unit="N/m2" />387 <field id="uoce" long_name=" ocean current along i-axis" standard_name="sea_water_x_velocity" unit="m/s" grid_ref="grid_U_3D" />390 <field id="utau" long_name="Surface Downward X Stress" standard_name="surface_downward_x_stress" unit="N/m2" /> 391 <field id="uoce" long_name="Sea Water X Velocity" standard_name="sea_water_x_velocity" unit="m/s" grid_ref="grid_U_3D" /> 388 392 <field id="uoce_e3u" long_name="ocean current along i-axis * e3u" unit="m2/s" grid_ref="grid_U_3D" > uoce * e3u </field> 389 393 <field id="ssu" long_name="ocean surface current along i-axis" unit="m/s" /> … … 391 395 <field id="ubar" long_name="ocean barotropic current along i-axis" unit="m/s" /> 392 396 <field id="uocetr_eff" long_name="Effective ocean transport along i-axis" standard_name="ocean_volume_x_transport" unit="m3/s" grid_ref="grid_U_3D" /> 393 <field id="uocet" long_name="ocean transport along i-axis times temperature (CRS)" unit="deg C*m/s" grid_ref="grid_U_3D" />394 <field id="uoces" long_name="ocean transport along i-axis times salinity (CRS)" unit="1 e-3*m/s" grid_ref="grid_U_3D" />397 <field id="uocet" long_name="ocean transport along i-axis times temperature (CRS)" unit="degree_C*m/s" grid_ref="grid_U_3D" /> 398 <field id="uoces" long_name="ocean transport along i-axis times salinity (CRS)" unit="1*m/s" grid_ref="grid_U_3D" /> 395 399 396 400 <!-- variables available with MLE --> … … 399 403 <!-- uoce_eiv: available with key_traldf_eiv and key_diaeiv --> 400 404 <field id="uoce_eiv" long_name="EIV ocean current along i-axis" standard_name="bolus_sea_water_x_velocity" unit="m/s" grid_ref="grid_U_3D" /> 405 <field id="ueiv_masstr" long_name="EIV Ocean Mass X Transport" standard_name="bolus_ocean_mass_x_transport" unit="kg/s" grid_ref="grid_U_3D" /> 401 406 402 407 <!-- uoce_eiv: available with key_trabbl --> … … 408 413 409 414 <!-- variables available with key_diaar5 --> 410 <field id="u_masstr" long_name="ocean eulerian mass transport along i-axis" standard_name="ocean_mass_x_transport" unit="kg/s" grid_ref="grid_U_3D" /> 411 <field id="u_heattr" long_name="ocean eulerian heat transport along i-axis" standard_name="ocean_heat_x_transport" unit="W" /> 412 <field id="u_salttr" long_name="ocean eulerian salt transport along i-axis" standard_name="ocean_salt_x_transport" unit="1e-3*kg/s" /> 415 <field id="u_masstr" long_name="Ocean Mass X Transport" standard_name="ocean_mass_x_transport" unit="kg/s" grid_ref="grid_U_3D" /> 416 <field id="u_masstr_vint" long_name="vertical integral of ocean eulerian mass transport along i-axis" standard_name="vertical_integral_of_ocean_mass_x_transport" unit="kg/s" /> 417 <field id="u_heattr" long_name="Ocean Heat X Transport" standard_name="ocean_heat_x_transport" unit="W" /> 418 <field id="uadv_heattr" long_name="ocean advective heat transport along i-axis" standard_name="advective_ocean_heat_x_transport" unit="W" /> 419 <field id="u_salttr" long_name="ocean eulerian salt transport along i-axis" standard_name="ocean_salt_x_transport" unit="1*kg/s" /> 413 420 <field id="ueiv_heattr" long_name="ocean bolus heat transport along i-axis" standard_name="ocean_heat_x_transport_due_to_bolus_advection" unit="W" /> 414 421 <field id="udiff_heattr" long_name="ocean diffusion heat transport along i-axis" standard_name="ocean_heat_x_transport_due_to_diffusion" unit="W" /> … … 420 427 <field id="e3v" long_name="V-cell thickness" standard_name="cell_thickness" unit="m" grid_ref="grid_V_3D" /> 421 428 <field id="e3v_0" long_name="Initial V-cell thickness" standard_name="ref_cell_thickness" unit="m" grid_ref="grid_V_3D"/> 422 <field id="vtau" long_name=" Wind Stress along j-axis" standard_name="surface_downward_y_stress" unit="N/m2" />423 <field id="voce" long_name=" ocean current along j-axis" standard_name="sea_water_y_velocity" unit="m/s" grid_ref="grid_V_3D" />429 <field id="vtau" long_name="Surface Downward Y Stress" standard_name="surface_downward_y_stress" unit="N/m2" /> 430 <field id="voce" long_name="Sea Water Y Velocity" standard_name="sea_water_y_velocity" unit="m/s" grid_ref="grid_V_3D" /> 424 431 <field id="voce_e3v" long_name="ocean current along j-axis * e3v" unit="m2/s" grid_ref="grid_V_3D" > voce * e3v </field> 425 432 <field id="ssv" long_name="ocean surface current along j-axis" unit="m/s" /> … … 427 434 <field id="vbar" long_name="ocean barotropic current along j-axis" unit="m/s" /> 428 435 <field id="vocetr_eff" long_name="Effective ocean transport along j-axis" standard_name="ocean_volume_y_transport" unit="m3/s" grid_ref="grid_V_3D" /> 429 <field id="vocet" long_name="ocean transport along j-axis times temperature (CRS)" unit="deg C*m/s" grid_ref="grid_V_3D" />430 <field id="voces" long_name="ocean transport along j-axis times salinity (CRS)" unit="1 e-3*m/s" grid_ref="grid_V_3D" />436 <field id="vocet" long_name="ocean transport along j-axis times temperature (CRS)" unit="degree_C*m/s" grid_ref="grid_V_3D" /> 437 <field id="voces" long_name="ocean transport along j-axis times salinity (CRS)" unit="1*m/s" grid_ref="grid_V_3D" /> 431 438 432 439 <!-- variables available with MLE --> … … 435 442 <!-- voce_eiv: available with key_traldf_eiv and key_diaeiv --> 436 443 <field id="voce_eiv" long_name="EIV ocean current along j-axis" standard_name="bolus_sea_water_y_velocity" unit="m/s" grid_ref="grid_V_3D" /> 444 <field id="veiv_masstr" long_name="EIV Ocean Mass Y Transport" standard_name="bolus_ocean_mass_y_transport" unit="kg/s" grid_ref="grid_V_3D" /> 437 445 438 446 <!-- voce_eiv: available with key_trabbl --> … … 444 452 445 453 <!-- variables available with key_diaar5 --> 446 <field id="v_masstr" long_name="ocean eulerian mass transport along j-axis" standard_name="ocean_mass_y_transport" unit="kg/s" grid_ref="grid_V_3D" /> 447 <field id="v_heattr" long_name="ocean eulerian heat transport along j-axis" standard_name="ocean_heat_y_transport" unit="W" /> 448 <field id="v_salttr" long_name="ocean eulerian salt transport along i-axis" standard_name="ocean_salt_y_transport" unit="1e-3*kg/s" /> 454 <field id="v_masstr" long_name="Ocean Mass Y Transport" standard_name="ocean_mass_y_transport" unit="kg/s" grid_ref="grid_V_3D" /> 455 <field id="v_heattr" long_name="Ocean Heat Y Transport" standard_name="ocean_heat_y_transport" unit="W" /> 456 <field id="vadv_heattr" long_name="ocean advective heat transport along j-axis" standard_name="advective_ocean_heat_y_transport" unit="W" /> 457 <field id="v_salttr" long_name="ocean eulerian salt transport along i-axis" standard_name="ocean_salt_y_transport" unit="1*kg/s" /> 449 458 <field id="veiv_heattr" long_name="ocean bolus heat transport along j-axis" standard_name="ocean_heat_y_transport_due_to_bolus_advection" unit="W" /> 450 459 <field id="vdiff_heattr" long_name="ocean diffusion heat transport along j-axis" standard_name="ocean_heat_y_transport_due_to_diffusion" unit="W" /> … … 460 469 <!-- woce_eiv: available with key_traldf_eiv and key_diaeiv --> 461 470 <field id="woce_eiv" long_name="EIV ocean vertical velocity" standard_name="bolus_upward_sea_water_velocity" unit="m/s" /> 471 <field id="weiv_masstr" long_name="EIV Upward Ocean Mass Transport" standard_name="bolus_upward_ocean_mass_transport" unit="kg/s" /> 462 472 463 473 <field id="avt" long_name="vertical eddy diffusivity" standard_name="ocean_vertical_heat_diffusivity" unit="m2/s" /> … … 470 480 471 481 <!-- avt_evd and avm_evd: available with ln_zdfevd --> 482 483 484 472 485 <field id="avt_evd" long_name="convective enhancement to vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_convection" unit="m2/s" /> 473 486 <field id="avm_evd" long_name="convective enhancement to vertical viscosity" standard_name="ocean_vertical_momentum_diffusivity_due_to_convection" unit="m2/s" /> … … 479 492 <field id="av_ratio" long_name="S over T diffusivity ratio" standard_name="salinity_over_temperature_diffusivity_ratio" unit="1" /> 480 493 <field id="av_wave" long_name="wave-induced vertical diffusivity" standard_name="ocean_vertical_tracer_diffusivity_due_to_internal_waves" unit="m2/s" /> 481 <field id="bn2" long_name="squared Brunt-Vaisala frequency" standard_name="squared_brunt_vaisala_frequency" unit="s-1" />482 494 <field id="bflx_tmx" long_name="wave-induced buoyancy flux" standard_name="buoyancy_flux_due_to_internal_waves" unit="W/kg" /> 483 495 <field id="pcmap_tmx" long_name="power consumed by wave-driven mixing" standard_name="vertically_integrated_power_consumption_by_wave_driven_mixing" unit="W/m2" grid_ref="grid_W_2D" /> … … 485 497 486 498 <!-- variables available with key_diaar5 --> 487 <field id="w_masstr" long_name=" vertical mass transport" standard_name="upward_ocean_mass_transport" unit="kg/s" />499 <field id="w_masstr" long_name="Upward Ocean Mass Transport" standard_name="upward_ocean_mass_transport" unit="kg/s" /> 488 500 <field id="w_masstr2" long_name="square of vertical mass transport" standard_name="square_of_upward_ocean_mass_transport" unit="kg2/s2" /> 489 501 … … 495 507 <field id="tke" long_name="Turbulent Kinetic Energy" unit="m2/s2" /> 496 508 <field id="tke_niw" long_name="Turbulent Kinetic Energy due to near-inertial wave breaking" unit="m2/s2" /> 509 510 <!-- Variable from eosbn2 --> 511 <field id="bn2" long_name="Squared buoyancy frequency measuring ocean vertical stratification" standard_name="square_of_brunt_vaisala_frequency_in_sea_water" unit="1/s^2" /> 497 512 </field_group> 498 513 499 514 <!-- product fields --> 500 515 <field_group id="diaprod"> 501 <field id="ut" long_name="product_of_sea_water_x_velocity_and_potential_temperature" unit="deg C m/s" grid_ref="grid_U_3D" />502 <field id="ut_e3u" long_name="product_of_sea_water_x_velocity_and_potential_temperature * e3u" unit="deg C m2/s" grid_ref="grid_U_3D" > ut * e3u </field >516 <field id="ut" long_name="product_of_sea_water_x_velocity_and_potential_temperature" unit="degree_C m/s" grid_ref="grid_U_3D" /> 517 <field id="ut_e3u" long_name="product_of_sea_water_x_velocity_and_potential_temperature * e3u" unit="degree_C m2/s" grid_ref="grid_U_3D" > ut * e3u </field > 503 518 <field id="us" long_name="product_of_sea_water_x_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_U_3D" /> 504 519 <field id="us_e3u" long_name="product_of_sea_water_x_velocity_and_salinity * e3u" unit="PSU m2/s" grid_ref="grid_U_3D" > us * e3u </field > 505 520 <field id="urhop" long_name="product_of_sea_water_x_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_U_3D" /> 506 521 <field id="urhop_e3u" long_name="product_of_sea_water_x_velocity_and_potential_density * e3u" unit="(kg/m3).(m2/s)" grid_ref="grid_U_3D" > urhop * e3u </field > 507 <field id="vt" long_name="product_of_sea_water_y_velocity_and_potential_temperature" unit="deg C m/s" grid_ref="grid_V_3D" />508 <field id="vt_e3v" long_name="product_of_sea_water_y_velocity_and_potential_temperature * e3v" unit="deg C m2/s" grid_ref="grid_V_3D" > vt * e3v </field >522 <field id="vt" long_name="product_of_sea_water_y_velocity_and_potential_temperature" unit="degree_C m/s" grid_ref="grid_V_3D" /> 523 <field id="vt_e3v" long_name="product_of_sea_water_y_velocity_and_potential_temperature * e3v" unit="degree_C m2/s" grid_ref="grid_V_3D" > vt * e3v </field > 509 524 <field id="vs" long_name="product_of_sea_water_y_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_V_3D" /> 510 525 <field id="vs_e3v" long_name="product_of_sea_water_y_velocity_and_salinity * e3t" unit="PSU m2/s" grid_ref="grid_V_3D" > vs * e3v </field > 511 526 <field id="vrhop" long_name="product_of_sea_water_y_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_V_3D" /> 512 527 <field id="vrhop_e3v" long_name="product_of_sea_water_y_velocity_and_potential_density * e3t" unit="(kg/m3).(m2/s)" grid_ref="grid_V_3D" > vrhop * e3v </field > 513 <field id="wt" long_name="product_of_upward_sea_water_velocity_and_potential_temperature" unit="deg C m/s" grid_ref="grid_W_3D" />528 <field id="wt" long_name="product_of_upward_sea_water_velocity_and_potential_temperature" unit="degree_C m/s" grid_ref="grid_W_3D" /> 514 529 <field id="ws" long_name="product_of_upward_sea_water_velocity_and_salinity" unit="PSU m/s" grid_ref="grid_W_3D" /> 515 530 <field id="wrhop" long_name="product_of_upward_sea_water_velocity_and_potential_density" unit="(kg/m3).(m/s)" grid_ref="grid_W_3D" /> … … 519 534 520 535 <field_group id="scalar" domain_ref="1point" > 521 <field id="voltot" long_name=" global total volume"standard_name="sea_water_volume" unit="m3" />536 <field id="voltot" long_name="Sea Water Volume" standard_name="sea_water_volume" unit="m3" /> 522 537 <field id="sshtot" long_name="global mean ssh" standard_name="global_average_sea_level_change" unit="m" /> 523 538 <field id="sshsteric" long_name="global mean ssh steric" standard_name="global_average_steric_sea_level_change" unit="m" /> 524 <field id="sshthster" long_name=" global mean ssh thermosteric"standard_name="global_average_thermosteric_sea_level_change" unit="m" />539 <field id="sshthster" long_name="Global Average Thermosteric Sea Level Change" standard_name="global_average_thermosteric_sea_level_change" unit="m" /> 525 540 <field id="masstot" long_name="global total mass" standard_name="sea_water_mass" unit="kg" /> 526 <field id="temptot" long_name=" global mean temperature" standard_name="sea_water_potential_temperature" unit="degC" />527 <field id="saltot" long_name=" global mean salinity" standard_name="sea_water_salinity" unit="1e-3" />541 <field id="temptot" long_name="Global Average Sea Water Potential Temperature" standard_name="sea_water_potential_temperature" unit="degree_C" /> 542 <field id="saltot" long_name="Global Average Sea Water Salinity" standard_name="sea_water_salinity" unit="1" /> 528 543 <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait" standard_name="sea_ice_transport_across_line" unit="kg/s" /> 529 544 530 545 <!-- available with ln_diahsb --> 531 <field id="bgtemper" long_name="drift in global mean temperature wrt timestep 1" standard_name="change_over_time_in_sea_water_potential_temperature" unit="deg C" />532 <field id="bgsaline" long_name="drift in global mean salinity wrt timestep 1" standard_name="change_over_time_in_sea_water_practical_salinity" unit="1 e-3" />546 <field id="bgtemper" long_name="drift in global mean temperature wrt timestep 1" standard_name="change_over_time_in_sea_water_potential_temperature" unit="degree_C" /> 547 <field id="bgsaline" long_name="drift in global mean salinity wrt timestep 1" standard_name="change_over_time_in_sea_water_practical_salinity" unit="1" /> 533 548 <field id="bgheatco" long_name="drift in global mean heat content wrt timestep 1" unit="10^9J" /> 534 <field id="bgsaltco" long_name="drift in global mean salt content wrt timestep 1" unit="1 e-3*m3" />549 <field id="bgsaltco" long_name="drift in global mean salt content wrt timestep 1" unit="1*m3" /> 535 550 <field id="bgvolssh" long_name="drift in global mean ssh volume wrt timestep 1" unit="km3" /> 536 551 <field id="bgvole3t" long_name="drift in global mean volume variation (e3t) wrt timestep 1" unit="km3" /> … … 540 555 <field id="bgfrcvol" long_name="drift in global mean volume from forcing wrt timestep 1" unit="km3" /> 541 556 <field id="bgfrctem" long_name="drift in global mean heat content from forcing wrt timestep 1" unit="10^9J" /> 542 <field id="bgfrcsal" long_name="drift in global mean salt content from forcing wrt timestep 1" unit="1 e-3*km3" />543 <field id="bgmistem" long_name="global mean temperature error due to free surface" unit="deg C" />544 <field id="bgmissal" long_name="global mean salinity error due to free surface" unit="1 e-3" />557 <field id="bgfrcsal" long_name="drift in global mean salt content from forcing wrt timestep 1" unit="1*km3" /> 558 <field id="bgmistem" long_name="global mean temperature error due to free surface" unit="degree_C" /> 559 <field id="bgmissal" long_name="global mean salinity error due to free surface" unit="1" /> 545 560 </field_group> 546 561 … … 552 567 <field id="sbgvoltot" long_name="global mean snow volume" unit="km3" /> 553 568 <field id="ibgarea" long_name="global mean ice area" unit="km2" /> 554 <field id="ibgsaline" long_name="global mean ice salinity" unit="1 e-3" />555 <field id="ibgtemper" long_name="global mean ice temperature" unit="deg C" />569 <field id="ibgsaline" long_name="global mean ice salinity" unit="1" /> 570 <field id="ibgtemper" long_name="global mean ice temperature" unit="degree_C" /> 556 571 <field id="ibgheatco" long_name="global mean ice heat content" unit="10^20J" /> 557 572 <field id="sbgheatco" long_name="global mean snow heat content" unit="10^20J" /> 558 <field id="ibgsaltco" long_name="global mean ice salt content" unit="1 e-3*km3" />573 <field id="ibgsaltco" long_name="global mean ice salt content" unit="1*km3" /> 559 574 560 575 <field id="ibgvfx" long_name="global mean volume flux (emp)" unit="m/day" /> … … 570 585 <field id="ibgvfxsub" long_name="global mean volume flux (snow sublimation)" unit="m/day" /> 571 586 572 <field id="ibgsfx" long_name="global mean salt flux (total)" unit="1 e-3*m/day" />573 <field id="ibgsfxbri" long_name="global mean salt flux (brines)" unit="1 e-3*m/day" />574 <field id="ibgsfxdyn" long_name="global mean salt flux (dynamic)" unit="1 e-3*m/day" />575 <field id="ibgsfxres" long_name="global mean salt flux (resultant)" unit="1 e-3*m/day" />576 <field id="ibgsfxbog" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />577 <field id="ibgsfxopw" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />578 <field id="ibgsfxsni" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />579 <field id="ibgsfxbom" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />580 <field id="ibgsfxsum" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />581 <field id="ibgsfxsub" long_name="global mean salt flux (thermo)" unit="1 e-3*m/day" />587 <field id="ibgsfx" long_name="global mean salt flux (total)" unit="1*m/day" /> 588 <field id="ibgsfxbri" long_name="global mean salt flux (brines)" unit="1*m/day" /> 589 <field id="ibgsfxdyn" long_name="global mean salt flux (dynamic)" unit="1*m/day" /> 590 <field id="ibgsfxres" long_name="global mean salt flux (resultant)" unit="1*m/day" /> 591 <field id="ibgsfxbog" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 592 <field id="ibgsfxopw" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 593 <field id="ibgsfxsni" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 594 <field id="ibgsfxbom" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 595 <field id="ibgsfxsum" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 596 <field id="ibgsfxsub" long_name="global mean salt flux (thermo)" unit="1*m/day" /> 582 597 583 598 <field id="ibghfxdhc" long_name="Heat content variation in snow and ice" unit="W" /> … … 598 613 599 614 <field id="ibgfrcvol" long_name="global mean forcing volume (emp)" unit="km3" /> 600 <field id="ibgfrcsfx" long_name="global mean forcing salt (sfx)" unit="1 e-3*km3" />615 <field id="ibgfrcsfx" long_name="global mean forcing salt (sfx)" unit="1*km3" /> 601 616 <field id="ibgvolgrm" long_name="global mean ice growth+melt volume" unit="km3" /> 602 617 </field_group> … … 608 623 <field id="traj_lat" long_name="floats latitude" unit="degrees_north" /> 609 624 <field id="traj_dep" long_name="floats depth" unit="m" /> 610 <field id="traj_temp" long_name="floats temperature" standard_name="sea_water_potential_temperature" unit="deg C" />611 <field id="traj_salt" long_name="floats salinity" standard_name="sea_water_practical_salinity" unit="1 e-3" />625 <field id="traj_temp" long_name="floats temperature" standard_name="sea_water_potential_temperature" unit="degree_C" /> 626 <field id="traj_salt" long_name="floats salinity" standard_name="sea_water_practical_salinity" unit="1" /> 612 627 <field id="traj_dens" long_name="floats in-situ density" standard_name="sea_water_density" unit="kg/m3" /> 613 628 <field id="traj_group" long_name="floats group" unit="1" /> … … 641 656 <field id="zomsfind" long_name="Meridional Stream-Function: Indian" unit="Sv" grid_ref="gznl_W_3D" /> 642 657 <field id="zomsfipc" long_name="Meridional Stream-Function: Pacific+Indian" unit="Sv" grid_ref="gznl_W_3D" /> 643 <field id="zotemglo" long_name="Zonal Mean Temperature : Global" unit="deg C" grid_ref="gznl_T_3D" />644 <field id="zotematl" long_name="Zonal Mean Temperature : Atlantic" unit="deg C" grid_ref="gznl_T_3D" />645 <field id="zotempac" long_name="Zonal Mean Temperature : Pacific" unit="deg C" grid_ref="gznl_T_3D" />646 <field id="zotemind" long_name="Zonal Mean Temperature : Indian" unit="deg C" grid_ref="gznl_T_3D" />647 <field id="zotemipc" long_name="Zonal Mean Temperature : Pacific+Indian" unit="deg C" grid_ref="gznl_T_3D" />648 <field id="zosalglo" long_name="Zonal Mean Salinity : Global" unit="1 e-3" grid_ref="gznl_T_3D" />649 <field id="zosalatl" long_name="Zonal Mean Salinity : Atlantic" unit="1 e-3" grid_ref="gznl_T_3D" />650 <field id="zosalpac" long_name="Zonal Mean Salinity : Pacific" unit="1 e-3" grid_ref="gznl_T_3D" />651 <field id="zosalind" long_name="Zonal Mean Salinity : Indian" unit="1 e-3" grid_ref="gznl_T_3D" />652 <field id="zosalipc" long_name="Zonal Mean Salinity : Pacific+Indian" unit="1 e-3" grid_ref="gznl_T_3D" />658 <field id="zotemglo" long_name="Zonal Mean Temperature : Global" unit="degree_C" grid_ref="gznl_T_3D" /> 659 <field id="zotematl" long_name="Zonal Mean Temperature : Atlantic" unit="degree_C" grid_ref="gznl_T_3D" /> 660 <field id="zotempac" long_name="Zonal Mean Temperature : Pacific" unit="degree_C" grid_ref="gznl_T_3D" /> 661 <field id="zotemind" long_name="Zonal Mean Temperature : Indian" unit="degree_C" grid_ref="gznl_T_3D" /> 662 <field id="zotemipc" long_name="Zonal Mean Temperature : Pacific+Indian" unit="degree_C" grid_ref="gznl_T_3D" /> 663 <field id="zosalglo" long_name="Zonal Mean Salinity : Global" unit="1" grid_ref="gznl_T_3D" /> 664 <field id="zosalatl" long_name="Zonal Mean Salinity : Atlantic" unit="1" grid_ref="gznl_T_3D" /> 665 <field id="zosalpac" long_name="Zonal Mean Salinity : Pacific" unit="1" grid_ref="gznl_T_3D" /> 666 <field id="zosalind" long_name="Zonal Mean Salinity : Indian" unit="1" grid_ref="gznl_T_3D" /> 667 <field id="zosalipc" long_name="Zonal Mean Salinity : Pacific+Indian" unit="1" grid_ref="gznl_T_3D" /> 653 668 <field id="zosrfglo" long_name="Zonal Mean Surface" unit="m2" grid_ref="gznl_T_3D" /> 654 669 <field id="zosrfatl" long_name="Zonal Mean Surface : Atlantic" unit="m2" grid_ref="gznl_T_3D" /> … … 657 672 <field id="zosrfipc" long_name="Zonal Mean Surface : Pacific+Indian" unit="m2" grid_ref="gznl_T_3D" /> 658 673 <field id="sophtadv" long_name="Advective Heat Transport" unit="PW" grid_ref="gznl_T_2D" /> 674 <field id="sophtadv_atl" long_name="Advective Heat Transport: Atlantic" unit="PW" grid_ref="gznl_T_2D" /> 675 <field id="sophtadv_pac" long_name="Advective Heat Transport: Pacific" unit="PW" grid_ref="gznl_T_2D" /> 676 <field id="sophtadv_ind" long_name="Advective Heat Transport: Indian" unit="PW" grid_ref="gznl_T_2D" /> 677 <field id="sophtadv_ipc" long_name="Advective Heat Transport: Pacific+Indian" unit="PW" grid_ref="gznl_T_2D" /> 659 678 <field id="sophtldf" long_name="Diffusive Heat Transport" unit="PW" grid_ref="gznl_T_2D" /> 660 <field id="sopstadv" long_name="Advective Salt Transport" unit="Giga g/s" grid_ref="gznl_T_2D" /> 661 <field id="sopstldf" long_name="Diffusive Salt Transport" unit="Giga g/s" grid_ref="gznl_T_2D" /> 679 <field id="sophtldf_atl" long_name="Diffusive Heat Transport: Atlantic" unit="PW" grid_ref="gznl_T_2D" /> 680 <field id="sophtldf_pac" long_name="Diffusive Heat Transport: Pacific" unit="PW" grid_ref="gznl_T_2D" /> 681 <field id="sophtldf_ind" long_name="Diffusive Heat Transport: Indian" unit="PW" grid_ref="gznl_T_2D" /> 682 <field id="sophtldf_ipc" long_name="Diffusive Heat Transport: Pacific+Indian" unit="PW" grid_ref="gznl_T_2D" /> 683 <field id="sophteiv" long_name="Heat Transport from mesoscale eddy advection" unit="PW" grid_ref="gznl_T_2D" /> 684 <field id="sophteiv_atl" long_name="Heat Transport from mesoscale eddy advection: Atlantic" unit="PW" grid_ref="gznl_T_2D" /> 685 <field id="sophteiv_pac" long_name="Heat Transport from mesoscale eddy advection: Pacific" unit="PW" grid_ref="gznl_T_2D" /> 686 <field id="sophteiv_ind" long_name="Heat Transport from mesoscale eddy advection: Indian" unit="PW" grid_ref="gznl_T_2D" /> 687 <field id="sophteiv_ipc" long_name="Heat Transport from mesoscale eddy advection: Pacific+Indian" unit="PW" grid_ref="gznl_T_2D" /> 688 <field id="sopstadv" long_name="Advective Salt Transport" unit="giga g/s" grid_ref="gznl_T_2D" /> 689 <field id="sopstadv_atl" long_name="Advective Salt Transport: Atlantic" unit="giga g/s" grid_ref="gznl_T_2D" /> 690 <field id="sopstadv_pac" long_name="Advective Salt Transport: Pacific" unit="giga g/s" grid_ref="gznl_T_2D" /> 691 <field id="sopstadv_ind" long_name="Advective Salt Transport: Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 692 <field id="sopstadv_ipc" long_name="Advective Salt Transport: Pacific+Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 693 <field id="sopstldf" long_name="Diffusive Salt Transport" unit="giga g/s" grid_ref="gznl_T_2D" /> 694 <field id="sopstldf_atl" long_name="Diffusive Salt Transport: Atlantic" unit="giga g/s" grid_ref="gznl_T_2D" /> 695 <field id="sopstldf_pac" long_name="Diffusive Salt Transport: Pacific" unit="giga g/s" grid_ref="gznl_T_2D" /> 696 <field id="sopstldf_ind" long_name="Diffusive Salt Transport: Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 697 <field id="sopstldf_ipc" long_name="Diffusive Salt Transport: Pacific+Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 698 <field id="sopsteiv" long_name="Salt Transport from mesoscale eddy advection" unit="giga g/s" grid_ref="gznl_T_2D" /> 699 <field id="sopsteiv_atl" long_name="Salt Transport from mesoscale eddy advection: Atlantic" unit="giga g/s" grid_ref="gznl_T_2D" /> 700 <field id="sopsteiv_pac" long_name="Salt Transport from mesoscale eddy advection: Pacific" unit="giga g/s" grid_ref="gznl_T_2D" /> 701 <field id="sopsteiv_ind" long_name="Salt Transport from mesoscale eddy advection: Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 702 <field id="sopsteiv_ipc" long_name="Salt Transport from mesoscale eddy advection: Pacific+Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 703 <field id="sopht_vt" long_name="Heat Transport" unit="PW" grid_ref="gznl_T_2D" /> 704 <field id="sopht_vt_atl" long_name="Heat Transport: Atlantic" unit="PW" grid_ref="gznl_T_2D" /> 705 <field id="sopht_vt_ind" long_name="Heat Transport: Indian" unit="PW" grid_ref="gznl_T_2D" /> 706 <field id="sopht_vt_pac" long_name="Heat Transport: Pacific" unit="PW" grid_ref="gznl_T_2D" /> 707 <field id="sopht_vt_ipc" long_name="Heat Transport: Indo-Pacific" unit="PW" grid_ref="gznl_T_2D" /> 708 <field id="sopst_vs" long_name="Salt Transport" unit="giga g/s" grid_ref="gznl_T_2D" /> 709 <field id="sopst_vs_atl" long_name="Salt Transport: Atlantic" unit="giga g/s" grid_ref="gznl_T_2D" /> 710 <field id="sopst_vs_ind" long_name="Salt Transport: Indian" unit="giga g/s" grid_ref="gznl_T_2D" /> 711 <field id="sopst_vs_pac" long_name="Salt Transport: Pacific" unit="giga g/s" grid_ref="gznl_T_2D" /> 712 <field id="sopst_vs_ipc" long_name="Salt Transport: Indo-Pacific" unit="giga g/s" grid_ref="gznl_T_2D" /> 662 713 </field_group> 663 714 … … 670 721 <field_group id="trendT" grid_ref="grid_T_3D"> 671 722 <!-- variables available with ln_tra_trd --> 672 <field id="ttrd_xad" long_name="temperature-trend: i-advection" unit="deg C/s" />673 <field id="strd_xad" long_name="salinity -trend: i-advection" unit="1 e-3/s" />674 <field id="ttrd_yad" long_name="temperature-trend: j-advection" unit="deg C/s" />675 <field id="strd_yad" long_name="salinity -trend: j-advection" unit="1 e-3/s" />676 <field id="ttrd_zad" long_name="temperature-trend: k-advection" unit="deg C/s" />677 <field id="strd_zad" long_name="salinity -trend: k-advection" unit="1 e-3/s" />678 <field id="ttrd_ad" long_name="temperature-trend: advection" standard_name="tendency_of_sea_water_temperature_due_to_advection" unit="deg C/s" > sqrt( ttrd_xad^2 + ttrd_yad^2 + ttrd_zad^2 ) </field>679 <field id="strd_ad" long_name="salinity -trend: advection" standard_name="tendency_of_sea_water_salinity_due_to_advection" unit="1 e-3/s" > sqrt( strd_xad^2 + strd_yad^2 + strd_zad^2 ) </field>680 <field id="ttrd_sad" long_name="temperature-trend: surface adv. (no-vvl)" unit="deg C/s" grid_ref="grid_T_2D" />681 <field id="strd_sad" long_name="salinity -trend: surface adv. (no-vvl)" unit="1 e-3/s" grid_ref="grid_T_2D" />682 <field id="ttrd_ldf" long_name="temperature-trend: lateral diffusion" standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing" unit="deg C/s" />683 <field id="strd_ldf" long_name="salinity -trend: lateral diffusion" standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing" unit="1 e-3/s" />684 <field id="ttrd_zdf" long_name="temperature-trend: vertical diffusion" standard_name="tendency_of_sea_water_temperature_due_to_vertical_mixing" unit="deg C/s" />685 <field id="strd_zdf" long_name="salinity -trend: vertical diffusion" standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing" unit="1 e-3/s" />723 <field id="ttrd_xad" long_name="temperature-trend: i-advection" unit="degree_C/s" /> 724 <field id="strd_xad" long_name="salinity -trend: i-advection" unit="1/s" /> 725 <field id="ttrd_yad" long_name="temperature-trend: j-advection" unit="degree_C/s" /> 726 <field id="strd_yad" long_name="salinity -trend: j-advection" unit="1/s" /> 727 <field id="ttrd_zad" long_name="temperature-trend: k-advection" unit="degree_C/s" /> 728 <field id="strd_zad" long_name="salinity -trend: k-advection" unit="1/s" /> 729 <field id="ttrd_ad" long_name="temperature-trend: advection" standard_name="tendency_of_sea_water_temperature_due_to_advection" unit="degree_C/s" > sqrt( ttrd_xad^2 + ttrd_yad^2 + ttrd_zad^2 ) </field> 730 <field id="strd_ad" long_name="salinity -trend: advection" standard_name="tendency_of_sea_water_salinity_due_to_advection" unit="1/s" > sqrt( strd_xad^2 + strd_yad^2 + strd_zad^2 ) </field> 731 <field id="ttrd_sad" long_name="temperature-trend: surface adv. (no-vvl)" unit="degree_C/s" grid_ref="grid_T_2D" /> 732 <field id="strd_sad" long_name="salinity -trend: surface adv. (no-vvl)" unit="1/s" grid_ref="grid_T_2D" /> 733 <field id="ttrd_ldf" long_name="temperature-trend: lateral diffusion" standard_name="tendency_of_sea_water_temperature_due_to_horizontal_mixing" unit="degree_C/s" /> 734 <field id="strd_ldf" long_name="salinity -trend: lateral diffusion" standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing" unit="1/s" /> 735 <field id="ttrd_zdf" long_name="temperature-trend: vertical diffusion" standard_name="tendency_of_sea_water_temperature_due_to_vertical_mixing" unit="degree_C/s" /> 736 <field id="strd_zdf" long_name="salinity -trend: vertical diffusion" standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing" unit="1/s" /> 686 737 687 738 <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 688 <field id="ttrd_zdfp" long_name="temperature-trend: pure vert. diffusion" unit="deg C/s" />689 <field id="strd_zdfp" long_name="salinity -trend: pure vert. diffusion" unit="1 e-3/s" />739 <field id="ttrd_zdfp" long_name="temperature-trend: pure vert. diffusion" unit="degree_C/s" /> 740 <field id="strd_zdfp" long_name="salinity -trend: pure vert. diffusion" unit="1/s" /> 690 741 691 742 <!-- --> 692 <field id="ttrd_dmp" long_name="temperature-trend: interior restoring" unit="deg C/s" />693 <field id="strd_dmp" long_name="salinity -trend: interior restoring" unit="1 e-3/s" />694 <field id="ttrd_bbl" long_name="temperature-trend: bottom boundary layer" unit="deg C/s" />695 <field id="strd_bbl" long_name="salinity -trend: bottom boundary layer" unit="1 e-3/s" />696 <field id="ttrd_npc" long_name="temperature-trend: non-penetrative conv." unit="deg C/s" />697 <field id="strd_npc" long_name="salinity -trend: non-penetrative conv." unit="1 e-3/s" />698 <field id="ttrd_qns" long_name="temperature-trend: non-solar flux + runoff" unit="deg C/s" />699 <field id="strd_cdt" long_name="salinity -trend: C/D term + runoff" unit="deg C/s" />700 <field id="ttrd_qsr" long_name="temperature-trend: solar penetr. heating" unit="deg C/s" />701 <field id="ttrd_bbc" long_name="temperature-trend: geothermal heating" unit="deg C/s" />702 <field id="ttrd_atf" long_name="temperature-trend: asselin time filter" unit="deg C/s" />703 <field id="strd_atf" long_name="salinity -trend: asselin time filter" unit="1 e-3/s" />743 <field id="ttrd_dmp" long_name="temperature-trend: interior restoring" unit="degree_C/s" /> 744 <field id="strd_dmp" long_name="salinity -trend: interior restoring" unit="1/s" /> 745 <field id="ttrd_bbl" long_name="temperature-trend: bottom boundary layer" unit="degree_C/s" /> 746 <field id="strd_bbl" long_name="salinity -trend: bottom boundary layer" unit="1/s" /> 747 <field id="ttrd_npc" long_name="temperature-trend: non-penetrative conv." unit="degree_C/s" /> 748 <field id="strd_npc" long_name="salinity -trend: non-penetrative conv." unit="1/s" /> 749 <field id="ttrd_qns" long_name="temperature-trend: non-solar flux + runoff" unit="degree_C/s" /> 750 <field id="strd_cdt" long_name="salinity -trend: C/D term + runoff" unit="degree_C/s" /> 751 <field id="ttrd_qsr" long_name="temperature-trend: solar penetr. heating" unit="degree_C/s" /> 752 <field id="ttrd_bbc" long_name="temperature-trend: geothermal heating" unit="degree_C/s" /> 753 <field id="ttrd_atf" long_name="temperature-trend: asselin time filter" unit="degree_C/s" /> 754 <field id="strd_atf" long_name="salinity -trend: asselin time filter" unit="1/s" /> 704 755 705 756 <!-- variables available with ln_KE_trd --> … … 742 793 <field id="petrd_atf" long_name="pe-trend: asselin time filter" unit="W/m^3" /> 743 794 <field id="PEanom" long_name="potential energy anomaly" unit="1" /> 744 <field id="alphaPE" long_name="partial deriv. of PEanom wrt T" unit="deg C-1" />795 <field id="alphaPE" long_name="partial deriv. of PEanom wrt T" unit="degree_C-1" /> 745 796 <field id="betaPE" long_name="partial deriv. of PEanom wrt S" unit="1e3" /> 746 797 </field_group> … … 982 1033 <field id="qintC14b" long_name="Cumulative air-sea flux of Bomb C14" unit="mol/m2" /> 983 1034 <field id="fdecay" long_name="Radiactive decay of Bomb C14" unit="mol/m3" grid_ref="grid_T_3D" /> 1035 1036 <!-- Ideal Age tracer (added using MY_TRC for now) --> 1037 <field id="Age" long_name="Sea Water Age Since Surface Contact" standard_name="sea_water_age_since_first_contact" unit="yr" grid_ref="grid_T_3D" /> 984 1038 </field_group> 985 1039 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaar5.F90
r6486 r6731 95 95 CALL iom_put( 'voltot', zvol ) 96 96 CALL iom_put( 'sshtot', zvolssh / area_tot ) 97 CALL iom_put( 'sshdyn', sshn(:,:) - (zvolssh / area_tot) ) 97 98 98 99 ! -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaprod.F90
r6491 r6731 25 25 USE timing ! preformance summary 26 26 USE wrk_nemo ! working array 27 USE diaptr 27 28 28 29 IMPLICIT NONE … … 98 99 ENDIF 99 100 100 IF( iom_use("vt") ) THEN101 IF( iom_use("vt") .OR. iom_use("sopht_vt") ) THEN 101 102 z3d(:,:,:) = 0.e0 102 103 DO jk = 1, jpkm1 … … 108 109 END DO 109 110 CALL iom_put( "vt", z3d ) ! product of temperature and meridional velocity at V points 111 DO jk = 1, jpkm1 112 DO jj = 2, jpjm1 113 DO ji = fs_2, fs_jpim1 ! vector opt. 114 z3d(ji,jj,jk) = z3d(ji,jj,jk) * fse3v(ji,jj,jk) * e1v(ji,jj) 115 END DO 116 END DO 117 END DO 118 CALL dia_ptr_ohst_components( jp_tem, 'vts', z3d) 110 119 ENDIF 111 120 … … 139 148 ENDIF 140 149 141 IF( iom_use("vs") ) THEN150 IF( iom_use("vs") .OR. iom_use("sopst_vs") ) THEN 142 151 z3d(:,:,:) = 0.e0 143 152 DO jk = 1, jpkm1 … … 149 158 END DO 150 159 CALL iom_put( "vs", z3d ) ! product of salinity and meridional velocity at V points 160 DO jk = 1, jpkm1 161 DO jj = 2, jpjm1 162 DO ji = fs_2, fs_jpim1 ! vector opt. 163 z3d(ji,jj,jk) = z3d(ji,jj,jk) * fse3v(ji,jj,jk) * e1v(ji,jj) 164 END DO 165 END DO 166 END DO 167 CALL dia_ptr_ohst_components( jp_sal, 'vts', z3d) 151 168 ENDIF 152 169 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r6486 r6731 21 21 USE dom_oce ! ocean space and time domain 22 22 USE phycst ! physical constants 23 USE ldftra_oce 23 24 ! 24 25 USE iom ! IOM library … … 38 39 PUBLIC dia_ptr_init ! call in step module 39 40 PUBLIC dia_ptr ! call in step module 41 PUBLIC dia_ptr_ohst_components ! called from tra_ldf/tra_adv routines 40 42 41 43 ! !!** namelist namptr ** 42 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:) :: htr_adv, htr_ldf !: Heat TRansports (adv, diff, overturn.) 43 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:) :: str_adv, str_ldf !: Salt TRansports (adv, diff, overturn.) 44 44 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: htr_adv, htr_ldf, htr_eiv, htr_vt !: Heat TRansports (adv, diff, Bolus.) 45 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: str_adv, str_ldf, str_eiv, str_vs !: Salt TRansports (adv, diff, Bolus.) 45 46 46 47 LOGICAL, PUBLIC :: ln_diaptr ! Poleward transport flag (T) or not (F) 47 48 LOGICAL, PUBLIC :: ln_subbas ! Atlantic/Pacific/Indian basins calculation 48 INTEGER 49 INTEGER, PUBLIC :: nptr ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T) 49 50 50 51 REAL(wp) :: rc_sv = 1.e-6_wp ! conversion from m3/s to Sverdrup … … 82 83 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask ! 3D workspace 83 84 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) :: zts ! 3D workspace 84 CHARACTER( len = 1 0) :: cl185 CHARACTER( len = 12 ) :: cl1 85 86 !!---------------------------------------------------------------------- 86 87 ! … … 150 151 ! ! Advective and diffusive heat and salt transport 151 152 IF( iom_use("sophtadv") .OR. iom_use("sopstadv") ) THEN 152 z2d(1,:) = htr_adv(: ) * rc_pwatt ! (conversion in PW)153 z2d(1,:) = htr_adv(:,1) * rc_pwatt ! (conversion in PW) 153 154 DO ji = 1, jpi 154 155 z2d(ji,:) = z2d(1,:) … … 156 157 cl1 = 'sophtadv' 157 158 CALL iom_put( TRIM(cl1), z2d ) 158 z2d(1,:) = str_adv(: ) * rc_ggram ! (conversion in Gg)159 z2d(1,:) = str_adv(:,1) * rc_ggram ! (conversion in Gg) 159 160 DO ji = 1, jpi 160 161 z2d(ji,:) = z2d(1,:) … … 162 163 cl1 = 'sopstadv' 163 164 CALL iom_put( TRIM(cl1), z2d ) 165 IF( ln_subbas ) THEN 166 DO jn=2,nptr 167 z2d(1,:) = htr_adv(:,jn) * rc_pwatt ! (conversion in PW) 168 DO ji = 1, jpi 169 z2d(ji,:) = z2d(1,:) 170 ENDDO 171 cl1 = TRIM('sophtadv_'//clsubb(jn)) 172 CALL iom_put( cl1, z2d ) 173 z2d(1,:) = str_adv(:,jn) * rc_ggram ! (conversion in Gg) 174 DO ji = 1, jpi 175 z2d(ji,:) = z2d(1,:) 176 ENDDO 177 cl1 = TRIM('sopstadv_'//clsubb(jn)) 178 CALL iom_put( cl1, z2d ) 179 ENDDO 180 ENDIF 164 181 ENDIF 165 182 ! 166 183 IF( iom_use("sophtldf") .OR. iom_use("sopstldf") ) THEN 167 z2d(1,:) = htr_ldf(: ) * rc_pwatt ! (conversion in PW)184 z2d(1,:) = htr_ldf(:,1) * rc_pwatt ! (conversion in PW) 168 185 DO ji = 1, jpi 169 186 z2d(ji,:) = z2d(1,:) … … 171 188 cl1 = 'sophtldf' 172 189 CALL iom_put( TRIM(cl1), z2d ) 173 z2d(1,:) = str_ldf(: ) * rc_ggram ! (conversion in Gg)190 z2d(1,:) = str_ldf(:,1) * rc_ggram ! (conversion in Gg) 174 191 DO ji = 1, jpi 175 192 z2d(ji,:) = z2d(1,:) … … 177 194 cl1 = 'sopstldf' 178 195 CALL iom_put( TRIM(cl1), z2d ) 179 ENDIF 196 IF( ln_subbas ) THEN 197 DO jn=2,nptr 198 z2d(1,:) = htr_ldf(:,jn) * rc_pwatt ! (conversion in PW) 199 DO ji = 1, jpi 200 z2d(ji,:) = z2d(1,:) 201 ENDDO 202 cl1 = TRIM('sophtldf_'//clsubb(jn)) 203 CALL iom_put( cl1, z2d ) 204 z2d(1,:) = str_ldf(:,jn) * rc_ggram ! (conversion in Gg) 205 DO ji = 1, jpi 206 z2d(ji,:) = z2d(1,:) 207 ENDDO 208 cl1 = TRIM('sopstldf_'//clsubb(jn)) 209 CALL iom_put( cl1, z2d ) 210 ENDDO 211 ENDIF 212 ENDIF 213 214 IF( iom_use("sopht_vt") .OR. iom_use("sopst_vs") ) THEN 215 z2d(1,:) = htr_vt(:,1) * rc_pwatt ! (conversion in PW) 216 DO ji = 1, jpi 217 z2d(ji,:) = z2d(1,:) 218 ENDDO 219 cl1 = 'sopht_vt' 220 CALL iom_put( TRIM(cl1), z2d ) 221 z2d(1,:) = str_vs(:,1) * rc_ggram ! (conversion in Gg) 222 DO ji = 1, jpi 223 z2d(ji,:) = z2d(1,:) 224 ENDDO 225 cl1 = 'sopst_vs' 226 CALL iom_put( TRIM(cl1), z2d ) 227 IF( ln_subbas ) THEN 228 DO jn=2,nptr 229 z2d(1,:) = htr_vt(:,jn) * rc_pwatt ! (conversion in PW) 230 DO ji = 1, jpi 231 z2d(ji,:) = z2d(1,:) 232 ENDDO 233 cl1 = TRIM('sopht_vt_'//clsubb(jn)) 234 CALL iom_put( cl1, z2d ) 235 z2d(1,:) = str_vs(:,jn) * rc_ggram ! (conversion in Gg) 236 DO ji = 1, jpi 237 z2d(ji,:) = z2d(1,:) 238 ENDDO 239 cl1 = TRIM('sopst_vs_'//clsubb(jn)) 240 CALL iom_put( cl1, z2d ) 241 ENDDO 242 ENDIF 243 ENDIF 244 245 #ifdef key_diaeiv 246 IF(lk_traldf_eiv) THEN 247 IF( iom_use("sophteiv") .OR. iom_use("sopsteiv") ) THEN 248 z2d(1,:) = htr_eiv(:,1) * rc_pwatt ! (conversion in PW) 249 DO ji = 1, jpi 250 z2d(ji,:) = z2d(1,:) 251 ENDDO 252 cl1 = 'sophteiv' 253 CALL iom_put( TRIM(cl1), z2d ) 254 z2d(1,:) = str_eiv(:,1) * rc_ggram ! (conversion in Gg) 255 DO ji = 1, jpi 256 z2d(ji,:) = z2d(1,:) 257 ENDDO 258 cl1 = 'sopsteiv' 259 CALL iom_put( TRIM(cl1), z2d ) 260 IF( ln_subbas ) THEN 261 DO jn=2,nptr 262 z2d(1,:) = htr_eiv(:,jn) * rc_pwatt ! (conversion in PW) 263 DO ji = 1, jpi 264 z2d(ji,:) = z2d(1,:) 265 ENDDO 266 cl1 = TRIM('sophteiv_'//clsubb(jn)) 267 CALL iom_put( cl1, z2d ) 268 z2d(1,:) = str_eiv(:,jn) * rc_ggram ! (conversion in Gg) 269 DO ji = 1, jpi 270 z2d(ji,:) = z2d(1,:) 271 ENDDO 272 cl1 = TRIM('sopsteiv_'//clsubb(jn)) 273 CALL iom_put( cl1, z2d ) 274 ENDDO 275 ENDIF 276 ENDIF 277 ENDIF 278 #endif 180 279 ! 181 280 ENDIF … … 256 355 ! Initialise arrays to zero because diatpr is called before they are first calculated 257 356 ! Note that this means diagnostics will not be exactly correct when model run is restarted. 258 htr_adv(:) = 0._wp ; str_adv(:) = 0._wp 259 htr_ldf(:) = 0._wp ; str_ldf(:) = 0._wp 357 htr_adv(:,:) = 0._wp ; str_adv(:,:) = 0._wp 358 htr_ldf(:,:) = 0._wp ; str_ldf(:,:) = 0._wp 359 htr_eiv(:,:) = 0._wp ; str_eiv(:,:) = 0._wp 360 htr_vt(:,:) = 0._wp ; str_vs(:,:) = 0._wp 260 361 ! 261 362 ENDIF … … 263 364 END SUBROUTINE dia_ptr_init 264 365 366 SUBROUTINE dia_ptr_ohst_components( ktra, cptr, pva ) 367 !!---------------------------------------------------------------------- 368 !! *** ROUTINE dia_ptr_ohst_components *** 369 !!---------------------------------------------------------------------- 370 !! Wrapper for heat and salt transport calculations to calculate them for each basin 371 !! Called from all advection and/or diffusion routines 372 !!---------------------------------------------------------------------- 373 INTEGER , INTENT(in ) :: ktra ! tracer index 374 CHARACTER(len=3) , INTENT(in) :: cptr ! transport type 'adv'/'ldf'/'eiv' 375 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: pva ! 3D input array of advection/diffusion 376 INTEGER :: jn ! 377 378 379 IF( cptr == 'adv' ) THEN 380 IF( ktra == jp_tem ) htr_adv(:,1) = ptr_sj( pva(:,:,:) ) 381 IF( ktra == jp_sal ) str_adv(:,1) = ptr_sj( pva(:,:,:) ) 382 ENDIF 383 IF( cptr == 'ldf' ) THEN 384 IF( ktra == jp_tem ) htr_ldf(:,1) = ptr_sj( pva(:,:,:) ) 385 IF( ktra == jp_sal ) str_ldf(:,1) = ptr_sj( pva(:,:,:) ) 386 ENDIF 387 IF( cptr == 'eiv' ) THEN 388 IF( ktra == jp_tem ) htr_eiv(:,1) = ptr_sj( pva(:,:,:) ) 389 IF( ktra == jp_sal ) str_eiv(:,1) = ptr_sj( pva(:,:,:) ) 390 ENDIF 391 IF( cptr == 'vts' ) THEN 392 IF( ktra == jp_tem ) htr_vt(:,1) = ptr_sj( pva(:,:,:) ) 393 IF( ktra == jp_sal ) str_vs(:,1) = ptr_sj( pva(:,:,:) ) 394 ENDIF 395 ! 396 IF( ln_subbas ) THEN 397 ! 398 IF( cptr == 'adv' ) THEN 399 IF( ktra == jp_tem ) THEN 400 DO jn = 2, nptr 401 htr_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 402 END DO 403 ENDIF 404 IF( ktra == jp_sal ) THEN 405 DO jn = 2, nptr 406 str_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 407 END DO 408 ENDIF 409 ENDIF 410 IF( cptr == 'ldf' ) THEN 411 IF( ktra == jp_tem ) THEN 412 DO jn = 2, nptr 413 htr_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 414 END DO 415 ENDIF 416 IF( ktra == jp_sal ) THEN 417 DO jn = 2, nptr 418 str_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 419 END DO 420 ENDIF 421 ENDIF 422 IF( cptr == 'eiv' ) THEN 423 IF( ktra == jp_tem ) THEN 424 DO jn = 2, nptr 425 htr_eiv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 426 END DO 427 ENDIF 428 IF( ktra == jp_sal ) THEN 429 DO jn = 2, nptr 430 str_eiv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 431 END DO 432 ENDIF 433 ENDIF 434 IF( cptr == 'vts' ) THEN 435 IF( ktra == jp_tem ) THEN 436 DO jn = 2, nptr 437 htr_vt(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 438 END DO 439 ENDIF 440 IF( ktra == jp_sal ) THEN 441 DO jn = 2, nptr 442 str_vs(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 443 END DO 444 ENDIF 445 ENDIF 446 ! 447 ENDIF 448 449 END SUBROUTINE 450 265 451 266 452 FUNCTION dia_ptr_alloc() … … 274 460 ! 275 461 ALLOCATE( btmsk(jpi,jpj,nptr) , & 276 & htr_adv(jpj) , str_adv(jpj) , & 277 & htr_ldf(jpj) , str_ldf(jpj) , STAT=ierr(1) ) 462 & htr_adv(jpj,nptr) , str_adv(jpj,nptr) , & 463 & htr_eiv(jpj,nptr) , str_eiv(jpj,nptr) , & 464 & htr_vt(jpj,nptr) , str_vs(jpj,nptr) , & 465 & htr_ldf(jpj,nptr) , str_ldf(jpj,nptr) , STAT=ierr(1) ) 278 466 ! 279 467 ALLOCATE( p_fval1d(jpj), p_fval2d(jpj,jpk), Stat=ierr(2)) -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90
r6498 r6731 323 323 CALL iom_put( "hdiv", hdivn ) ! Horizontal divergence 324 324 ! 325 IF( iom_use("u_masstr") .OR. iom_use("u_ heattr") .OR. iom_use("u_salttr") ) THEN325 IF( iom_use("u_masstr") .OR. iom_use("u_masstr_vint") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN 326 326 z3d(:,:,jpk) = 0.e0 327 z2d(:,:) = 0.e0 327 328 DO jk = 1, jpkm1 328 329 z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 330 z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 329 331 END DO 330 332 CALL iom_put( "u_masstr", z3d ) ! mass transport in i-direction 333 CALL iom_put( "u_masstr_vint", z2d ) ! mass transport in i-direction vertical sum 331 334 ENDIF 332 335 … … 391 394 CALL iom_put( "v_salttr", 0.5 * z2d ) ! heat transport in j-direction 392 395 ENDIF 396 397 CALL iom_put( "bn2", rn2 ) !Brunt-Vaisala buoyancy frequency (N^2) 393 398 ! 394 399 CALL wrk_dealloc( jpi , jpj , z2d ) -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r6498 r6731 228 228 ! automatic definitions of some of the xml attributs 229 229 CALL set_xmlatt 230 231 CALL set_1point 230 232 231 233 ! end file definition … … 1576 1578 zz=REAL(narea,wp) 1577 1579 CALL iom_set_domain_attr('scalarpoint', lonvalue=zz, latvalue=zz) 1578 1580 1579 1581 END SUBROUTINE set_scalar 1582 1583 SUBROUTINE set_1point 1584 !!---------------------------------------------------------------------- 1585 !! *** ROUTINE set_1point *** 1586 !! 1587 !! ** Purpose : define zoom grid for scalar fields 1588 !! 1589 !!---------------------------------------------------------------------- 1590 REAL(wp), DIMENSION(1) :: zz = 1. 1591 INTEGER :: ix, iy 1592 !!---------------------------------------------------------------------- 1593 CALL dom_ngb( 180., 90., ix, iy, 'T' ) ! Nearest point to north pole should be ocean 1594 CALL iom_set_domain_attr('1point', zoom_ibegin=ix, zoom_jbegin=iy) 1595 1596 END SUBROUTINE set_1point 1580 1597 1581 1598 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r6700 r6731 1719 1719 zemp_ice(:,:) = frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) 1720 1720 #endif 1721 CALL iom_put( 'rain' , frcv(jpr_rain)%z3(:,:,1) ) ! liquid precipitation 1721 CALL iom_put( 'rain' , frcv(jpr_rain)%z3(:,:,1) * tmask(:,:,1) ) ! liquid precipitation 1722 CALL iom_put( 'rain_ao_cea' , frcv(jpr_rain)%z3(:,:,1)* p_frld(:,:) * tmask(:,:,1) ) ! liquid precipitation 1722 1723 IF( iom_use('hflx_rain_cea') ) & 1723 CALL iom_put( 'hflx_rain_cea', frcv(jpr_rain)%z3(:,:,1) * zcptn(:,:) ) ! heat flux from liq. precip.1724 CALL iom_put( 'hflx_rain_cea', frcv(jpr_rain)%z3(:,:,1) * zcptn(:,:) * tmask(:,:,1)) ! heat flux from liq. precip. 1724 1725 IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') ) & 1725 1726 ztmp(:,:) = frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) 1726 1727 IF( iom_use('evap_ao_cea' ) ) & 1727 CALL iom_put( 'evap_ao_cea' , ztmp ) ! ice-free oce evap (cell average)1728 CALL iom_put( 'evap_ao_cea' , ztmp * tmask(:,:,1) ) ! ice-free oce evap (cell average) 1728 1729 IF( iom_use('hflx_evap_cea') ) & 1729 CALL iom_put( 'hflx_evap_cea', ztmp(:,:) * zcptn(:,:) ) ! heat flux from from evap (cell average)1730 CALL iom_put( 'hflx_evap_cea', ztmp(:,:) * zcptn(:,:) * tmask(:,:,1) ) ! heat flux from from evap (cell average) 1730 1731 CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp 1731 1732 zemp_tot(:,:) = p_frld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + zicefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) … … 1789 1790 ! runoffs and calving (put in emp_tot) 1790 1791 IF( srcv(jpr_rnf)%laction ) rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) 1792 IF( iom_use('hflx_rnf_cea') ) & 1793 CALL iom_put( 'hflx_rnf_cea' , rnf(:,:) * zcptn(:,:) ) 1791 1794 IF( srcv(jpr_cal)%laction ) THEN 1792 1795 zemp_tot(:,:) = zemp_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) … … 1806 1809 ENDIF 1807 1810 1808 CALL iom_put( 'snowpre' , sprecip 1811 CALL iom_put( 'snowpre' , sprecip * tmask(:,:,1) ) ! Snow 1809 1812 IF( iom_use('snow_ao_cea') ) & 1810 CALL iom_put( 'snow_ao_cea', sprecip(:,:) * p_frld(:,:) 1813 CALL iom_put( 'snow_ao_cea', sprecip(:,:) * p_frld(:,:) * tmask(:,:,1) ) ! Snow over ice-free ocean (cell average) 1811 1814 IF( iom_use('snow_ai_cea') ) & 1812 CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zicefr(:,:) 1815 CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zicefr(:,:) * tmask(:,:,1) ) ! Snow over sea-ice (cell average) 1813 1816 #endif 1814 1817 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
r6498 r6731 279 279 END IF 280 280 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 281 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 282 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 283 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 284 ENDIF 281 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'adv', zwy(:,:,:) ) 285 282 ! 286 283 END DO -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90
r6487 r6731 28 28 USE wrk_nemo ! Memory Allocation 29 29 USE timing ! Timing 30 USE diaptr ! Heat/Salt transport diagnostics 30 31 31 32 IMPLICIT NONE … … 78 79 # endif 79 80 REAL(wp), POINTER, DIMENSION(:,:) :: zu_eiv, zv_eiv, zw_eiv, z2d 81 REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d 80 82 !!---------------------------------------------------------------------- 81 83 ! … … 84 86 # if defined key_diaeiv 85 87 CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 88 IF( ln_diaptr ) CALL wrk_alloc( jpi, jpj, jpk, z3d ) 86 89 # else 87 90 CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) … … 160 163 CALL iom_put( "voce_eiv", v_eiv ) ! j-eiv current 161 164 CALL iom_put( "woce_eiv", w_eiv ) ! vert. eiv current 165 IF( iom_use('weiv_masstr') ) THEN ! vertical mass transport & its square value 166 z2d(:,:) = rau0 * e12t(:,:) 167 DO jk = 1, jpk 168 z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 169 END DO 170 CALL iom_put( "weiv_masstr" , z3d ) 171 ENDIF 172 IF( iom_use("ueiv_masstr") .OR. iom_use("ueiv_heattr") ) THEN 173 z3d(:,:,jpk) = 0.e0 174 z2d(:,:) = 0.e0 175 DO jk = 1, jpkm1 176 z3d(:,:,jk) = rau0 * u_eiv(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 177 z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 178 END DO 179 CALL iom_put( "ueiv_masstr", z3d ) ! mass transport in i-direction 180 ENDIF 181 162 182 IF( iom_use('ueiv_heattr') ) THEN 163 zztmp = 0.5 * r au0 * rcp183 zztmp = 0.5 * rcp 164 184 z2d(:,:) = 0.e0 165 185 DO jk = 1, jpkm1 166 186 DO jj = 2, jpjm1 167 187 DO ji = fs_2, fs_jpim1 ! vector opt. 168 z2d(ji,jj) = z2d(ji,jj) + u_eiv(ji,jj,jk) & 169 & * (tsn(ji,jj,jk,jp_tem)+tsn(ji+1,jj,jk,jp_tem)) * e2u(ji,jj) * fse3u(ji,jj,jk) 188 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) ) 170 189 END DO 171 190 END DO … … 174 193 CALL iom_put( "ueiv_heattr", zztmp * z2d ) ! heat transport in i-direction 175 194 ENDIF 195 196 IF( iom_use("veiv_masstr") .OR. iom_use("veiv_heattr") ) THEN 197 z3d(:,:,jpk) = 0.e0 198 z2d(:,:) = 0.e0 199 DO jk = 1, jpkm1 200 z3d(:,:,jk) = rau0 * v_eiv(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 201 END DO 202 CALL iom_put( "veiv_masstr", z3d ) ! mass transport in j-direction 203 ENDIF 176 204 177 205 IF( iom_use('veiv_heattr') ) THEN 178 zztmp = 0.5 * r au0 * rcp206 zztmp = 0.5 * rcp 179 207 z2d(:,:) = 0.e0 180 208 DO jk = 1, jpkm1 181 209 DO jj = 2, jpjm1 182 210 DO ji = fs_2, fs_jpim1 ! vector opt. 183 z2d(ji,jj) = z2d(ji,jj) + v_eiv(ji,jj,jk) & 184 & * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) * e1v(ji,jj) * fse3v(ji,jj,jk) 211 z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) ) 185 212 END DO 186 213 END DO … … 190 217 ENDIF 191 218 END IF 219 ! 220 IF( ln_diaptr .AND. cdtype == 'TRA' ) THEN 221 z3d(:,:,:) = 0._wp 222 DO jk = 1, jpkm1 223 DO jj = 2, jpjm1 224 DO ji = fs_2, fs_jpim1 ! vector opt. 225 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) & 226 & * e1v(ji,jj) * fse3v(ji,jj,jk) 227 END DO 228 END DO 229 END DO 230 CALL dia_ptr_ohst_components( jp_tem, 'eiv', z3d ) 231 z3d(:,:,:) = 0._wp 232 DO jk = 1, jpkm1 233 DO jj = 2, jpjm1 234 DO ji = fs_2, fs_jpim1 ! vector opt. 235 z3d(ji,jj,jk) = v_eiv(ji,jj,jk) * 0.5 * (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) & 236 & * e1v(ji,jj) * fse3v(ji,jj,jk) 237 END DO 238 END DO 239 END DO 240 CALL dia_ptr_ohst_components( jp_sal, 'eiv', z3d ) 241 ENDIF 192 242 # endif 193 ! 243 194 244 # if defined key_diaeiv 195 245 CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 246 IF( ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, z3d ) 196 247 # else 197 248 CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
r6486 r6731 219 219 END IF 220 220 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 221 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 222 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 223 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 224 ENDIF 221 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'adv', zwy(:,:,:) ) 225 222 226 223 ! II. Vertical advective fluxes -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
r6486 r6731 200 200 201 201 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 202 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 203 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 204 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 205 ENDIF 202 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'adv', zwy(:,:,:) ) 206 203 207 204 ! II. Vertical advective fluxes -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r6486 r6731 355 355 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_yad, zwy, pvn, ptn(:,:,:,jn) ) 356 356 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 357 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 358 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 359 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 360 ENDIF 357 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'adv', zwy(:,:,:) ) 361 358 ! 362 359 END DO -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r6487 r6731 34 34 USE timing ! Timing 35 35 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 36 USE iom 36 37 37 38 IMPLICIT NONE … … 42 43 43 44 LOGICAL :: l_trd ! flag to compute trends 45 LOGICAL :: l_trans ! flag to output vertically integrated transports 44 46 45 47 !! * Substitutions … … 85 87 REAL(wp) :: zfm_ui, zfm_vj, zfm_wk ! - - 86 88 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwz 87 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz 89 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz, zptry 90 REAL(wp), POINTER, DIMENSION(:,:) :: z2d 88 91 !!---------------------------------------------------------------------- 89 92 ! … … 98 101 ! 99 102 l_trd = .FALSE. 103 l_trans = .FALSE. 100 104 IF( ( cdtype == 'TRA' .AND. l_trdtra ) .OR. ( cdtype == 'TRC' .AND. l_trdtrc ) ) l_trd = .TRUE. 105 IF( cdtype == 'TRA' .AND. (iom_use("uadv_heattr") .OR. iom_use("vadv_heattr") ) ) l_trans = .TRUE. 101 106 ENDIF 102 107 ! 103 IF( l_trd ) THEN108 IF( l_trd .OR. l_trans ) THEN 104 109 CALL wrk_alloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 105 110 ztrdx(:,:,:) = 0.e0 ; ztrdy(:,:,:) = 0.e0 ; ztrdz(:,:,:) = 0.e0 111 CALL wrk_alloc( jpi, jpj, z2d ) 112 ENDIF 113 ! 114 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 115 CALL wrk_alloc( jpi, jpj, jpk, zptry ) 116 zptry(:,:,:) = 0._wp 106 117 ENDIF 107 118 ! … … 188 199 189 200 ! ! trend diagnostics (contribution of upstream fluxes) 190 IF( l_trd ) THEN201 IF( l_trd .OR. l_trans ) THEN 191 202 ! store intermediate advective trends 192 203 ztrdx(:,:,:) = zwx(:,:,:) ; ztrdy(:,:,:) = zwy(:,:,:) ; ztrdz(:,:,:) = zwz(:,:,:) 193 204 END IF 194 205 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 195 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 196 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 197 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 198 ENDIF 206 IF( cdtype == 'TRA' .AND. ln_diaptr ) zptry(:,:,:) = zwy(:,:,:) 199 207 200 208 ! 3. antidiffusive flux : high order minus low order … … 254 262 255 263 ! ! trend diagnostics (contribution of upstream fluxes) 256 IF( l_trd ) THEN264 IF( l_trd .OR. l_trans ) THEN 257 265 ztrdx(:,:,:) = ztrdx(:,:,:) + zwx(:,:,:) ! <<< Add to previously computed 258 266 ztrdy(:,:,:) = ztrdy(:,:,:) + zwy(:,:,:) ! <<< Add to previously computed 259 267 ztrdz(:,:,:) = ztrdz(:,:,:) + zwz(:,:,:) ! <<< Add to previously computed 260 261 CALL trd_tra( kt, cdtype, jn, jptra_xad, ztrdx, pun, ptn(:,:,:,jn) ) 262 CALL trd_tra( kt, cdtype, jn, jptra_yad, ztrdy, pvn, ptn(:,:,:,jn) ) 263 CALL trd_tra( kt, cdtype, jn, jptra_zad, ztrdz, pwn, ptn(:,:,:,jn) ) 268 ENDIF 269 270 IF( l_trd ) THEN 271 CALL trd_tra( kt, cdtype, jn, jptra_xad, ztrdx, pun, ptn(:,:,:,jn) ) 272 CALL trd_tra( kt, cdtype, jn, jptra_yad, ztrdy, pvn, ptn(:,:,:,jn) ) 273 CALL trd_tra( kt, cdtype, jn, jptra_zad, ztrdz, pwn, ptn(:,:,:,jn) ) 264 274 END IF 265 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 275 276 IF( l_trans .AND. jn==jp_tem ) THEN 277 z2d(:,:) = 0._wp 278 DO jk = 1, jpkm1 279 DO jj = 2, jpjm1 280 DO ji = fs_2, fs_jpim1 ! vector opt. 281 z2d(ji,jj) = z2d(ji,jj) + ztrdx(ji,jj,jk) 282 END DO 283 END DO 284 END DO 285 CALL lbc_lnk( z2d, 'U', -1. ) 286 CALL iom_put( "uadv_heattr", rau0_rcp * z2d ) ! heat transport in i-direction 287 ! 288 z2d(:,:) = 0._wp 289 DO jk = 1, jpkm1 290 DO jj = 2, jpjm1 291 DO ji = fs_2, fs_jpim1 ! vector opt. 292 z2d(ji,jj) = z2d(ji,jj) + ztrdy(ji,jj,jk) 293 END DO 294 END DO 295 END DO 296 CALL lbc_lnk( z2d, 'V', -1. ) 297 CALL iom_put( "vadv_heattr", rau0_rcp * z2d ) ! heat transport in j-direction 298 ENDIF 299 ! "Poleward" heat and salt transports (contribution of upstream fluxes) 266 300 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 267 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) + htr_adv(:)268 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) + str_adv(:)301 zptry(:,:,:) = zptry(:,:,:) + zwy(:,:,:) ! <<< Add to previously computed 302 CALL dia_ptr_ohst_components( jn, 'adv', zptry(:,:,:) ) 269 303 ENDIF 270 304 ! 271 305 END DO 272 306 ! 273 CALL wrk_dealloc( jpi, jpj, jpk, zwi, zwz ) 274 IF( l_trd ) CALL wrk_dealloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 307 CALL wrk_dealloc( jpi, jpj, jpk, zwi, zwz ) 308 IF( l_trd .OR. l_trans ) THEN 309 CALL wrk_dealloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 310 CALL wrk_dealloc( jpi, jpj, z2d ) 311 ENDIF 312 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, zptry ) 275 313 ! 276 314 IF( nn_timing == 1 ) CALL timing_stop('tra_adv_tvd') … … 319 357 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwz, zhdiv, zwz_sav, zwzts 320 358 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz 359 REAL(wp), POINTER, DIMENSION(:,:,:) :: zptry 321 360 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrs 322 361 !!---------------------------------------------------------------------- … … 340 379 CALL wrk_alloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 341 380 ztrdx(:,:,:) = 0._wp ; ztrdy(:,:,:) = 0._wp ; ztrdz(:,:,:) = 0._wp 381 ENDIF 382 ! 383 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 384 CALL wrk_alloc( jpi, jpj,jpk, zptry ) 385 zptry(:,:,:) = 0._wp 342 386 ENDIF 343 387 ! … … 430 474 END IF 431 475 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 432 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 433 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 434 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) 435 ENDIF 476 IF( cdtype == 'TRA' .AND. ln_diaptr ) zptry(:,:,:) = zwy(:,:,:) 436 477 437 478 ! 3. antidiffusive flux : high order minus low order … … 557 598 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 558 599 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 559 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) + htr_adv(:)560 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) + str_adv(:)600 zptry(:,:,:) = zptry(:,:,:) + zwy(:,:,:) 601 CALL dia_ptr_ohst_components( jn, 'adv', zptry(:,:,:) ) 561 602 ENDIF 562 603 ! … … 567 608 CALL wrk_dealloc( jpi, jpj, zwx_sav, zwy_sav ) 568 609 IF( l_trd ) CALL wrk_dealloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 610 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, zptry ) 569 611 ! 570 612 IF( nn_timing == 1 ) CALL timing_stop('tra_adv_tvd_zts') -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r6486 r6731 177 177 END IF 178 178 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 179 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 180 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( ztv(:,:,:) ) 181 IF( jn == jp_sal ) str_adv(:) = ptr_sj( ztv(:,:,:) ) 182 ENDIF 179 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'adv', ztv(:,:,:) ) 183 180 184 181 ! TVD scheme for the vertical direction -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
r6486 r6731 173 173 ! 174 174 ! "zonal" mean lateral diffusive heat and salt transport 175 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 176 IF( jn == jp_tem ) htr_ldf(:) = ptr_sj( ztv(:,:,:) ) 177 IF( jn == jp_sal ) str_ldf(:) = ptr_sj( ztv(:,:,:) ) 178 ENDIF 175 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'ldf', ztv(:,:,:) ) 179 176 ! ! =========== 180 177 END DO ! tracer loop -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90
r6486 r6731 247 247 ! ! =============== 248 248 ! "Poleward" diffusive heat or salt transport 249 IF( cdtype == 'TRA' .AND. ln_diaptr .AND. ( kaht == 2 ) ) THEN 250 ! note sign is reversed to give down-gradient diffusive transports (#1043) 251 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( -zftv(:,:,:) ) 252 IF( jn == jp_sal) str_ldf(:) = ptr_sj( -zftv(:,:,:) ) 253 ENDIF 249 ! note sign is reversed to give down-gradient diffusive transports (#1043) 250 IF( cdtype == 'TRA' .AND. ln_diaptr .AND. ( kaht == 2 ) ) CALL dia_ptr_ohst_components( jn, 'ldf', -zftv(:,:,:) ) 254 251 255 252 ! ! ************ ! ! =============== -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r6486 r6731 235 235 ! 236 236 ! "Poleward" diffusive heat or salt transports (T-S case only) 237 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN238 237 ! note sign is reversed to give down-gradient diffusive transports (#1043) 239 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( -zftv(:,:,:) ) 240 IF( jn == jp_sal) str_ldf(:) = ptr_sj( -zftv(:,:,:) ) 241 ENDIF 238 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'ldf', -zftv(:,:,:) ) 242 239 243 240 IF( iom_use("udiff_heattr") .OR. iom_use("vdiff_heattr") ) THEN -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
r6486 r6731 386 386 ! 387 387 ! ! "Poleward" diffusive heat or salt transports (T-S case only) 388 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 389 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( zftv(:,:,:) ) ! 3.3 names 390 IF( jn == jp_sal) str_ldf(:) = ptr_sj( zftv(:,:,:) ) 391 ENDIF 388 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'ldf', zftv(:,:,:) ) 392 389 393 390 IF( iom_use("udiff_heattr") .OR. iom_use("vdiff_heattr") ) THEN -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90
r6486 r6731 154 154 ! 155 155 ! "Poleward" diffusive heat or salt transports 156 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 157 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( ztv(:,:,:) ) 158 IF( jn == jp_sal) str_ldf(:) = ptr_sj( ztv(:,:,:) ) 159 ENDIF 156 IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL dia_ptr_ohst_components( jn, 'ldf', ztv(:,:,:) ) 160 157 ! ! ================== 161 158 END DO ! end of tracer loop -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/MY_TRC/par_my_trc.F90
r6486 r6731 25 25 USE par_c14b , ONLY : jp_c14b_trd !: number of tracers in C14 26 26 27 USE par_age , ONLY : jp_age !: number of tracers in AGE 28 USE par_age , ONLY : jp_age_2d !: number of tracers in AGE 29 USE par_age , ONLY : jp_age_3d !: number of tracers in AGE 30 USE par_age , ONLY : jp_age_trd !: number of tracers in AGE 31 27 32 IMPLICIT NONE 28 33 29 INTEGER, PARAMETER :: jp_lm = jp_pisces + jp_cfc + jp_c14b !:30 INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d + jp_cfc_2d + jp_c14b_2d !:31 INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d + jp_cfc_3d + jp_c14b_3d !:32 INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd + jp_cfc_trd + jp_c14b_trd !:34 INTEGER, PARAMETER :: jp_lm = jp_pisces + jp_cfc + jp_c14b + jp_age !: 35 INTEGER, PARAMETER :: jp_lm_2d = jp_pisces_2d + jp_cfc_2d + jp_c14b_2d + jp_age_2d !: 36 INTEGER, PARAMETER :: jp_lm_3d = jp_pisces_3d + jp_cfc_3d + jp_c14b_3d + jp_age_3d !: 37 INTEGER, PARAMETER :: jp_lm_trd = jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_age_trd !: 33 38 34 39 #if defined key_my_trc -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90
r6486 r6731 61 61 ENDIF 62 62 63 IF( lk_age ) CALL trc_rad_sms( kt, trb, trn, jp_age0 , jp_age1 ) ! AGE tracer 63 64 IF( lk_cfc ) CALL trc_rad_sms( kt, trb, trn, jp_cfc0 , jp_cfc1 ) ! CFC model 64 65 IF( lk_c14b ) CALL trc_rad_sms( kt, trb, trn, jp_c14b0, jp_c14b1 ) ! bomb C14 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/par_trc.F90
r6486 r6731 14 14 USE par_c14b ! C14 bomb tracer 15 15 USE par_cfc ! CFC 11 and 12 tracers 16 USE par_age ! AGE tracer 16 17 USE par_my_trc ! user defined passive tracers 17 18 … … 24 25 ! Passive tracers : Total size 25 26 ! --------------- ! total number of passive tracers, of 2d and 3d output and trend arrays 26 INTEGER, PUBLIC, PARAMETER :: jptra = jp_pisces + jp_cfc + jp_c14b + jp_ my_trc27 INTEGER, PUBLIC, PARAMETER :: jpdia2d = jp_pisces_2d + jp_cfc_2d + jp_c14b_2d + jp_ my_trc_2d28 INTEGER, PUBLIC, PARAMETER :: jpdia3d = jp_pisces_3d + jp_cfc_3d + jp_c14b_3d + jp_ my_trc_3d27 INTEGER, PUBLIC, PARAMETER :: jptra = jp_pisces + jp_cfc + jp_c14b + jp_age + jp_my_trc 28 INTEGER, PUBLIC, PARAMETER :: jpdia2d = jp_pisces_2d + jp_cfc_2d + jp_c14b_2d + jp_age_2d + jp_my_trc_2d 29 INTEGER, PUBLIC, PARAMETER :: jpdia3d = jp_pisces_3d + jp_cfc_3d + jp_c14b_3d + jp_age_3d + jp_my_trc_3d 29 30 ! ! total number of sms diagnostic arrays 30 INTEGER, PUBLIC, PARAMETER :: jpdiabio = jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_ my_trc_trd31 INTEGER, PUBLIC, PARAMETER :: jpdiabio = jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_age_trd + jp_my_trc_trd 31 32 32 33 ! 1D configuration ("key_c1d") -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r6498 r6731 23 23 USE trcini_pisces ! PISCES initialisation 24 24 USE trcini_c14b ! C14 bomb initialisation 25 USE trcini_age ! AGE initialisation 25 26 USE trcini_my_trc ! MY_TRC initialisation 26 27 USE trcdta ! initialisation from files … … 97 98 98 99 IF( lk_pisces ) CALL trc_ini_pisces ! PISCES bio-model 99 IF( lk_cfc ) CALL trc_ini_cfc ! CFC tracers100 IF( lk_cfc ) CALL trc_ini_cfc ! CFC tracers 100 101 IF( lk_c14b ) CALL trc_ini_c14b ! C14 bomb tracer 101 IF( lk_my_trc ) CALL trc_ini_my_trc ! MY_TRC tracers 102 IF( lk_age ) CALL trc_ini_age ! AGE tracer 103 IF( lk_my_trc ) CALL trc_ini_my_trc ! MY_TRC tracers 102 104 103 105 CALL trc_ice_ini ! Tracers in sea ice -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r6487 r6731 24 24 USE trcnam_cfc ! CFC SMS namelist 25 25 USE trcnam_c14b ! C14 SMS namelist 26 USE trcnam_age ! AGE SMS namelist 26 27 USE trcnam_my_trc ! MY_TRC SMS namelist 27 28 USE trd_oce … … 61 62 62 63 ! ! passive tracer informations 63 CALL trc_nam_trc64 CALL trc_nam_trc 64 65 65 66 ! ! Parameters of additional diagnostics 66 CALL trc_nam_dia67 IF( .NOT. lk_iomput) CALL trc_nam_dia 67 68 68 69 ! ! namelist of transport 69 CALL trc_nam_trp70 CALL trc_nam_trp 70 71 71 72 … … 161 162 ENDIF 162 163 163 IF( lk_c14b ) THEN ; CALL trc_nam_c14b ! C14 bomb tracers 164 ELSE ; IF(lwp) WRITE(numout,*) ' C14 not used' 165 ENDIF 166 167 IF( lk_my_trc ) THEN ; CALL trc_nam_my_trc ! MY_TRC tracers 168 ELSE ; IF(lwp) WRITE(numout,*) ' MY_TRC not used' 164 IF( lk_c14b ) THEN ; CALL trc_nam_c14b ! C14 bomb tracers 165 ELSE ; IF(lwp) WRITE(numout,*) ' C14 not used' 166 ENDIF 167 168 IF( lk_age ) THEN ; CALL trc_nam_age ! AGE tracer 169 ELSE ; IF(lwp) WRITE(numout,*) ' AGE not used' 170 ENDIF 171 172 IF( lk_my_trc ) THEN ; CALL trc_nam_my_trc ! MY_TRC tracers 173 ELSE ; IF(lwp) WRITE(numout,*) ' MY_TRC not used' 169 174 ENDIF 170 175 ! … … 359 364 ENDIF 360 365 361 IF( ln_diatrc .AND. .NOT. lk_iomput) THEN366 IF( ln_diatrc ) THEN 362 367 ALLOCATE( trc2d(jpi,jpj,jpdia2d), trc3d(jpi,jpj,jpk,jpdia3d), & 363 368 & ctrc2d(jpdia2d), ctrc2l(jpdia2d), ctrc2u(jpdia2d) , & … … 370 375 ENDIF 371 376 372 IF( ( ln_diabio .AND. .NOT. lk_iomput ).OR. l_trdtrc ) THEN377 IF( ln_diabio .OR. l_trdtrc ) THEN 373 378 ALLOCATE( trbio (jpi,jpj,jpk,jpdiabio) , & 374 379 & ctrbio(jpdiabio), ctrbil(jpdiabio), ctrbiu(jpdiabio), STAT = ierr ) -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcsms.F90
r6487 r6731 18 18 USE trcsms_cfc ! CFC 11 & 12 19 19 USE trcsms_c14b ! C14b tracer 20 USE trcsms_age ! AGE tracer 20 21 USE trcsms_my_trc ! MY_TRC tracers 21 22 USE prtctl_trc ! Print control for debbuging … … 51 52 IF( lk_cfc ) CALL trc_sms_cfc ( kt ) ! surface fluxes of CFC 52 53 IF( lk_c14b ) CALL trc_sms_c14b ( kt ) ! surface fluxes of C14 54 IF( lk_age ) CALL trc_sms_age ( kt ) ! AGE tracer 53 55 IF( lk_my_trc ) CALL trc_sms_my_trc ( kt ) ! MY_TRC tracers 54 56 -
branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcwri.F90
r6486 r6731 20 20 USE trcwri_cfc 21 21 USE trcwri_c14b 22 USE trcwri_age 22 23 USE trcwri_my_trc 23 24 … … 59 60 IF( lk_cfc ) CALL trc_wri_cfc ! surface fluxes of CFC 60 61 IF( lk_c14b ) CALL trc_wri_c14b ! surface fluxes of C14 62 IF( lk_age ) CALL trc_wri_age ! AGE tracer 61 63 IF( lk_my_trc ) CALL trc_wri_my_trc ! MY_TRC tracers 62 64 !
Note: See TracChangeset
for help on using the changeset viewer.