Changeset 6731


Ignore:
Timestamp:
2016-06-22T13:43:26+02:00 (4 years ago)
Author:
malcolmroberts
Message:

Merged in the code from v3_6_extra_CMIP6_diagnostics, incorporating some further
changes to field_def.xml, some bug fixes in traadv_eiv from Daley Calvert

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  
    2222       
    2323      <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"/> 
    2525         <field id="e3t_0"        long_name="Initial T-cell thickness"   standard_name="ref_cell_thickness"   unit="m"   grid_ref="grid_T_3D"/> 
    2626 
    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="degC*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="1e-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 > 
    3434         <field id="sstmax"       long_name="max of sea surface temperature"   field_ref="sst"   operation="maximum"                                  /> 
    3535         <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="degC/m"   /> 
    37          <field id="sstgrad2"     long_name="square of module of sst gradient"                                                        unit="degC2/m2" /> 
    38          <field id="sbt"          long_name="sea bottom temperature"                                                                  unit="degC"     /> 
     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"     /> 
    3939     
    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="1e-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 > 
    4242         <field id="sssmax"       long_name="max of sea surface salinity"   field_ref="sss"   operation="maximum"                 /> 
    4343         <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="1e-3" /> 
     44         <field id="sbs"          long_name="sea bottom salinity"                                                     unit="1" /> 
    4545 
    4646         <field id="taubot"       long_name="bottom stress module"                                                    unit="N/m2" />  
     
    5454         <field id="mldr10_1max"  long_name="Max of Mixed Layer Depth (dsigma = 0.01 wrt 10m)"   field_ref="mldr10_1"   operation="maximum"                                                                          /> 
    5555         <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"          /> 
    5657         <field id="mldzint_1"    long_name="Mixed Layer Depth interpolated"                     standard_name="ocean_mixed_layer_thickness"                                                       unit="m"          /> 
    5758         <field id="mldzint_2"    long_name="Mixed Layer Depth interpolated"                     standard_name="ocean_mixed_layer_thickness"                                                       unit="m"          /> 
     
    6566         <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"       /> 
    6667         <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="1e-3*kg/m2" /> 
     68         <field id="saltc"        long_name="Salt content vertically integrated"                                                                                                                   unit="1*kg/m2" /> 
    6869 
    6970         <!-- EOS --> 
    70          <field id="alpha"        long_name="thermal expansion"                                                         unit="degC-1" grid_ref="grid_T_3D" /> 
     71         <field id="alpha"        long_name="thermal expansion"                                                         unit="degree_C-1" grid_ref="grid_T_3D" /> 
    7172         <field id="beta"         long_name="haline contraction"                                                        unit="1e3"    grid_ref="grid_T_3D" /> 
    7273         <field id="rhop"         long_name="potential density (sigma0)"        standard_name="sea_water_sigma_theta"   unit="kg/m3"  grid_ref="grid_T_3D" /> 
     
    8889         <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"                         /> 
    8990         <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="degC"                      /> 
     91         <field id="tinv"         long_name="Max of vertical invertion of temperature"                                                                                                         unit="degree_C"                      /> 
    9192         <field id="depti"        long_name="Depth of max. vert. inv. of temperature"                                                                                                          unit="m"                         /> 
    9293         <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" /> 
     
    9596 
    9697         <!-- 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> 
    98101 
    99102         <!-- variables available with key_vvl --> 
     
    187190         <field id="emp_oce"      long_name="Evap minus Precip over ocean"         standard_name="evap_minus_precip_over_sea_water"                                     unit="kg/m2/s"   /> 
    188191         <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="1e-3/m2/s" /> 
     192         <field id="saltflx"      long_name="Downward salt flux"                                                                                                        unit="1/m2/s" /> 
    190193         <field id="fmmflx"       long_name="Water flux due to freezing/melting"                                                                                        unit="kg/m2/s"   /> 
    191194         <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"   /> 
    193196         <field id="precip"       long_name="Total precipitation"                  standard_name="precipitation_flux"                                                   unit="kg/m2/s"   /> 
    194197  
     
    211214         <field id="isfgammat"    long_name="transfert coefficient for isf (temperature)"   unit="m/s"      /> 
    212215         <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="1e-3"     /> 
    214          <field id="ttbl"         long_name="temperature in the Losh tbl"                   unit="degC"     /> 
     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"     /> 
    215218 
    216219         <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 
     
    230233         <!-- available if key_oasis3 + conservative method --> 
    231234         <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"  /> 
    232236         <field id="evap_ao_cea"   long_name="Evaporation over ice-free ocean (cell average)"           standard_name="water_evaporation_flux"                                                        unit="kg/m2/s"  /> 
    233237         <field id="isnwmlt_cea"   long_name="Snow over Ice melting (cell average)"                     standard_name="surface_snow_melt_flux"                                                        unit="kg/m2/s"  /> 
     
    262266          
    263267         <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="degC"         /> 
    265          <field id="ist_ipa"      long_name="Ice surface temperature (ice presence average)"               standard_name="surface_temperature"                                unit="degC"         />       
     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"         />       
    266270         <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"          />       
    267271         <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"          />       
     
    272276         <field id="u_imasstr"    long_name="Sea-ice mass transport along i-axis"                          standard_name="sea_ice_x_transport"                                unit="kg/s"         /> 
    273277         <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*degC/m2/s" /> 
    275          <field id="emp_x_sss"    long_name="Concentration/Dilution term on SSS"                                                                                              unit="kg*1e-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" />         
    276280        
    277281         <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="degC"         /> 
    279          <field id="isss"         long_name="sea surface salinity"                                         standard_name="sea_surface_salinity"                               unit="1e-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"         />  
    280284         <field id="qt_oce"       long_name="total flux at ocean surface"                                  standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"         /> 
    281285         <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"         /> 
     
    286290         <field id="qtr_ice"      long_name="solar heat flux transmitted through ice: sum over categories"                                                                    unit="W/m2"         /> 
    287291         <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="1e-3"         /> 
     292         <field id="micesalt"     long_name="Mean ice salinity"                                                                                                               unit="1"         /> 
    289293         <field id="miceage"      long_name="Mean ice age"                                                                                                                    unit="years"        /> 
    290294         <field id="alb_ice"      long_name="Mean albedo over sea ice"                                                                                                        unit=""             /> 
     
    297301         <field id="salinity_cat" long_name="Sea-Ice Bulk salinity for categories"                         unit="g/kg"   axis_ref="ncatice" /> 
    298302         <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="degC"   axis_ref="ncatice" /> 
    300          <field id="snwtemp_cat"  long_name="Snow temperature for categories"                              unit="degC"   axis_ref="ncatice" /> 
    301  
    302          <field id="micet"        long_name="Mean ice temperature"                                         unit="degC"     /> 
     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"     /> 
    303307         <field id="icehc"        long_name="ice total heat content"                                       unit="10^9J"    />  
    304308         <field id="isnowhc"      long_name="snow total heat content"                                      unit="10^9J"    /> 
    305          <field id="icest"        long_name="ice surface temperature"                                      unit="degC"     /> 
     309         <field id="icest"        long_name="ice surface temperature"                                      unit="degree_C"     /> 
    306310         <field id="ibrinv"       long_name="brine volume"                                                 unit="%"        /> 
    307311         <field id="icecolf"      long_name="frazil ice collection thickness"                              unit="m"        /> 
     
    315319         <field id="icetrp"       long_name="ice volume transport"                                         unit="m/day"          /> 
    316320         <field id="snwtrp"       long_name="snw volume transport"                                         unit="m/day"          /> 
    317          <field id="saltrp"       long_name="salt content transport"                                       unit="1e-3*kg/m2/day" /> 
     321         <field id="saltrp"       long_name="salt content transport"                                       unit="1*kg/m2/day" /> 
    318322         <field id="deitrp"       long_name="advected ice enthalpy"                                        unit="W/m2"           /> 
    319323         <field id="destrp"       long_name="advected snw enthalpy"                                        unit="W/m2"           /> 
    320324 
    321          <field id="sfxbri"       long_name="brine salt flux"                                              unit="1e-3*kg/m2/day" /> 
    322          <field id="sfxdyn"       long_name="salt flux from ridging rafting"                               unit="1e-3*kg/m2/day" /> 
    323          <field id="sfxres"       long_name="salt flux from lipupdate (resultant)"                         unit="1e-3*kg/m2/day" /> 
    324          <field id="sfxbog"       long_name="salt flux from bot growth"                                    unit="1e-3*kg/m2/day" /> 
    325          <field id="sfxbom"       long_name="salt flux from bot melt"                                      unit="1e-3*kg/m2/day" /> 
    326          <field id="sfxsum"       long_name="salt flux from surf melt"                                     unit="1e-3*kg/m2/day" /> 
    327          <field id="sfxsni"       long_name="salt flux from snow-ice formation"                            unit="1e-3*kg/m2/day" /> 
    328          <field id="sfxopw"       long_name="salt flux from open water ice formation"                      unit="1e-3*kg/m2/day" /> 
    329          <field id="sfxsub"       long_name="salt flux from sublimation"                                   unit="1e-3*kg/m2/day" /> 
    330          <field id="sfx"          long_name="salt flux total"                                              unit="1e-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" /> 
    331335 
    332336         <field id="vfxbog"       long_name="daily bottom thermo ice prod."                                unit="m/day"   /> 
     
    369373         <field id="hfxtur"       long_name="turbulent heat flux at the ice base"                          unit="W/m2" /> 
    370374    <!-- sbcssm variables --> 
    371          <field id="sst_m"    unit="degC" /> 
     375         <field id="sst_m"    unit="degree_C" /> 
    372376         <field id="sss_m"    unit="psu"  /> 
    373377         <field id="ssu_m"    unit="m/s"  /> 
     
    384388         <field id="e3u"          long_name="U-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_U_3D" /> 
    385389         <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" /> 
    388392         <field id="uoce_e3u"     long_name="ocean current along i-axis * e3u"                                                                   unit="m2/s"       grid_ref="grid_U_3D"  > uoce * e3u </field> 
    389393         <field id="ssu"          long_name="ocean surface current along i-axis"                                                                 unit="m/s"                             /> 
     
    391395         <field id="ubar"         long_name="ocean barotropic current along i-axis"                                                              unit="m/s"                             /> 
    392396         <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="degC*m/s"   grid_ref="grid_U_3D" /> 
    394          <field id="uoces"        long_name="ocean transport along i-axis times salinity (CRS)"                                                  unit="1e-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" /> 
    395399 
    396400         <!-- variables available with MLE --> 
     
    399403         <!-- uoce_eiv: available with key_traldf_eiv and key_diaeiv --> 
    400404         <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" /> 
    401406 
    402407         <!-- uoce_eiv: available with key_trabbl --> 
     
    408413 
    409414         <!-- 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"                        /> 
    413420         <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"                                /> 
    414421         <field id="udiff_heattr" long_name="ocean diffusion heat transport along i-axis"   standard_name="ocean_heat_x_transport_due_to_diffusion"         unit="W"                                /> 
     
    420427         <field id="e3v"          long_name="V-cell thickness"                                       standard_name="cell_thickness"              unit="m"          grid_ref="grid_V_3D" /> 
    421428         <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" /> 
    424431         <field id="voce_e3v"     long_name="ocean current along j-axis * e3v"                                                                   unit="m2/s"       grid_ref="grid_V_3D"  > voce * e3v </field> 
    425432         <field id="ssv"          long_name="ocean surface current along j-axis"                                                                 unit="m/s"                             /> 
     
    427434         <field id="vbar"         long_name="ocean barotropic current along j-axis"                                                              unit="m/s"                             /> 
    428435         <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="degC*m/s"   grid_ref="grid_V_3D" /> 
    430          <field id="voces"        long_name="ocean transport along j-axis times salinity (CRS)"                                                  unit="1e-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" /> 
    431438 
    432439         <!-- variables available with MLE --> 
     
    435442         <!-- voce_eiv: available with key_traldf_eiv and key_diaeiv --> 
    436443         <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" /> 
    437445 
    438446         <!-- voce_eiv: available with key_trabbl --> 
     
    444452 
    445453         <!-- 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"                        /> 
    449458         <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"                                /> 
    450459         <field id="vdiff_heattr" long_name="ocean diffusion heat transport along j-axis"   standard_name="ocean_heat_y_transport_due_to_diffusion"         unit="W"                                /> 
     
    460469        <!-- woce_eiv: available with key_traldf_eiv and key_diaeiv --> 
    461470        <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"   /> 
    462472 
    463473        <field id="avt"          long_name="vertical eddy diffusivity"   standard_name="ocean_vertical_heat_diffusivity"       unit="m2/s" /> 
     
    470480 
    471481        <!-- avt_evd and avm_evd: available with ln_zdfevd --> 
     482 
     483 
     484 
    472485        <field id="avt_evd"      long_name="convective enhancement to vertical diffusivity"   standard_name="ocean_vertical_tracer_diffusivity_due_to_convection"     unit="m2/s" /> 
    473486        <field id="avm_evd"      long_name="convective enhancement to vertical viscosity"     standard_name="ocean_vertical_momentum_diffusivity_due_to_convection"   unit="m2/s" /> 
     
    479492        <field id="av_ratio"     long_name="S over T diffusivity ratio"            standard_name="salinity_over_temperature_diffusivity_ratio"                     unit="1"    /> 
    480493        <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"  /> 
    482494        <field id="bflx_tmx"     long_name="wave-induced buoyancy flux"            standard_name="buoyancy_flux_due_to_internal_waves"                             unit="W/kg" /> 
    483495        <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" /> 
     
    485497 
    486498        <!-- 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"   /> 
    488500        <field id="w_masstr2"    long_name="square of vertical mass transport"   standard_name="square_of_upward_ocean_mass_transport"   unit="kg2/s2" /> 
    489501 
     
    495507        <field id="tke"          long_name="Turbulent Kinetic Energy"                  unit="m2/s2"    /> 
    496508        <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"  /> 
    497512      </field_group> 
    498513           
    499514      <!-- product fields --> 
    500515      <field_group id="diaprod"> 
    501    <field id="ut"           long_name="product_of_sea_water_x_velocity_and_potential_temperature"      unit="degC 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="degC 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 > 
    503518   <field id="us"           long_name="product_of_sea_water_x_velocity_and_salinity"                   unit="PSU m/s"       grid_ref="grid_U_3D"   /> 
    504519        <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 > 
    505520   <field id="urhop"        long_name="product_of_sea_water_x_velocity_and_potential_density"          unit="(kg/m3).(m/s)" grid_ref="grid_U_3D"   /> 
    506521        <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="degC 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="degC 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 > 
    509524   <field id="vs"           long_name="product_of_sea_water_y_velocity_and_salinity"                   unit="PSU m/s"       grid_ref="grid_V_3D"   /> 
    510525        <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 > 
    511526   <field id="vrhop"        long_name="product_of_sea_water_y_velocity_and_potential_density"          unit="(kg/m3).(m/s)" grid_ref="grid_V_3D"   /> 
    512527        <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="degC 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"   /> 
    514529   <field id="ws"           long_name="product_of_upward_sea_water_velocity_and_salinity"              unit="PSU m/s"       grid_ref="grid_W_3D"   /> 
    515530   <field id="wrhop"        long_name="product_of_upward_sea_water_velocity_and_potential_density"     unit="(kg/m3).(m/s)" grid_ref="grid_W_3D"   /> 
     
    519534 
    520535      <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"   /> 
    522537         <field id="sshtot"     long_name="global mean ssh"                              standard_name="global_average_sea_level_change"                unit="m"    /> 
    523538         <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"    /> 
    525540         <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" /> 
    528543         <field id="fram_trans" long_name="Sea Ice Mass Transport Through Fram Strait"   standard_name="sea_ice_transport_across_line"                  unit="kg/s" /> 
    529544 
    530545          <!-- 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="degC"     /> 
    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="1e-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"     /> 
    533548       <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="1e-3*m3"  /> 
     549       <field id="bgsaltco"     long_name="drift in global mean salt content wrt timestep 1"                                                                                      unit="1*m3"  /> 
    535550       <field id="bgvolssh"     long_name="drift in global mean ssh volume wrt timestep 1"                                                                                        unit="km3"      /> 
    536551         <field id="bgvole3t"     long_name="drift in global mean volume variation (e3t) wrt timestep 1"                                                                            unit="km3"      /> 
     
    540555       <field id="bgfrcvol"     long_name="drift in global mean volume from forcing wrt timestep 1"                                                                               unit="km3"      /> 
    541556       <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="1e-3*km3" /> 
    543        <field id="bgmistem"     long_name="global mean temperature error due to free surface"                                                                                     unit="degC"     /> 
    544        <field id="bgmissal"     long_name="global mean salinity error due to free surface"                                                                                        unit="1e-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"     /> 
    545560      </field_group> 
    546561 
     
    552567         <field id="sbgvoltot"    long_name="global mean snow volume"                                unit="km3"        /> 
    553568         <field id="ibgarea"      long_name="global mean ice area"                                   unit="km2"        /> 
    554          <field id="ibgsaline"    long_name="global mean ice salinity"                               unit="1e-3"       /> 
    555          <field id="ibgtemper"    long_name="global mean ice temperature"                            unit="degC"       /> 
     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"       /> 
    556571         <field id="ibgheatco"    long_name="global mean ice heat content"                           unit="10^20J"     /> 
    557572         <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="1e-3*km3"   /> 
     573         <field id="ibgsaltco"    long_name="global mean ice salt content"                           unit="1*km3"   /> 
    559574 
    560575         <field id="ibgvfx"       long_name="global mean volume flux (emp)"                          unit="m/day"      /> 
     
    570585         <field id="ibgvfxsub"    long_name="global mean volume flux (snow sublimation)"             unit="m/day"      /> 
    571586 
    572          <field id="ibgsfx"       long_name="global mean salt flux (total)"                          unit="1e-3*m/day" /> 
    573          <field id="ibgsfxbri"    long_name="global mean salt flux (brines)"                         unit="1e-3*m/day" /> 
    574          <field id="ibgsfxdyn"    long_name="global mean salt flux (dynamic)"                        unit="1e-3*m/day" /> 
    575          <field id="ibgsfxres"    long_name="global mean salt flux (resultant)"                      unit="1e-3*m/day" /> 
    576          <field id="ibgsfxbog"    long_name="global mean salt flux (thermo)"                         unit="1e-3*m/day" /> 
    577          <field id="ibgsfxopw"    long_name="global mean salt flux (thermo)"                         unit="1e-3*m/day" /> 
    578          <field id="ibgsfxsni"    long_name="global mean salt flux (thermo)"                         unit="1e-3*m/day" /> 
    579          <field id="ibgsfxbom"    long_name="global mean salt flux (thermo)"                         unit="1e-3*m/day" /> 
    580          <field id="ibgsfxsum"    long_name="global mean salt flux (thermo)"                         unit="1e-3*m/day" /> 
    581          <field id="ibgsfxsub"    long_name="global mean salt flux (thermo)"                         unit="1e-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" /> 
    582597 
    583598         <field id="ibghfxdhc"    long_name="Heat content variation in snow and ice"                 unit="W"          /> 
     
    598613 
    599614         <field id="ibgfrcvol"    long_name="global mean forcing volume (emp)"                       unit="km3"        /> 
    600          <field id="ibgfrcsfx"    long_name="global mean forcing salt   (sfx)"                       unit="1e-3*km3"   /> 
     615         <field id="ibgfrcsfx"    long_name="global mean forcing salt   (sfx)"                       unit="1*km3"   /> 
    601616         <field id="ibgvolgrm"    long_name="global mean ice growth+melt volume"                     unit="km3"        /> 
    602617      </field_group> 
     
    608623        <field id="traj_lat"      long_name="floats latitude"                                                            unit="degrees_north" /> 
    609624        <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="degC"          /> 
    611         <field id="traj_salt"     long_name="floats salinity"          standard_name="sea_water_practical_salinity"      unit="1e-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"          /> 
    612627        <field id="traj_dens"     long_name="floats in-situ density"   standard_name="sea_water_density"                 unit="kg/m3"         /> 
    613628        <field id="traj_group"    long_name="floats group"                                                               unit="1"             /> 
     
    641656        <field id="zomsfind"          long_name="Meridional Stream-Function: Indian"           unit="Sv"       grid_ref="gznl_W_3D" /> 
    642657        <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="degC"     grid_ref="gznl_T_3D" /> 
    644         <field id="zotematl"          long_name="Zonal Mean Temperature : Atlantic"            unit="degC"     grid_ref="gznl_T_3D" /> 
    645         <field id="zotempac"          long_name="Zonal Mean Temperature : Pacific"             unit="degC"     grid_ref="gznl_T_3D" /> 
    646         <field id="zotemind"          long_name="Zonal Mean Temperature : Indian"              unit="degC"     grid_ref="gznl_T_3D" /> 
    647         <field id="zotemipc"          long_name="Zonal Mean Temperature : Pacific+Indian"      unit="degC"     grid_ref="gznl_T_3D" /> 
    648         <field id="zosalglo"          long_name="Zonal Mean Salinity : Global"                 unit="1e-3"     grid_ref="gznl_T_3D" /> 
    649         <field id="zosalatl"          long_name="Zonal Mean Salinity : Atlantic"               unit="1e-3"     grid_ref="gznl_T_3D" /> 
    650         <field id="zosalpac"          long_name="Zonal Mean Salinity : Pacific"                unit="1e-3"     grid_ref="gznl_T_3D" /> 
    651         <field id="zosalind"          long_name="Zonal Mean Salinity : Indian"                 unit="1e-3"     grid_ref="gznl_T_3D" /> 
    652         <field id="zosalipc"          long_name="Zonal Mean Salinity : Pacific+Indian"         unit="1e-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" /> 
    653668        <field id="zosrfglo"          long_name="Zonal Mean Surface"                           unit="m2"       grid_ref="gznl_T_3D" /> 
    654669        <field id="zosrfatl"          long_name="Zonal Mean Surface : Atlantic"                unit="m2"       grid_ref="gznl_T_3D" /> 
     
    657672        <field id="zosrfipc"          long_name="Zonal Mean Surface : Pacific+Indian"          unit="m2"       grid_ref="gznl_T_3D" /> 
    658673        <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" /> 
    659678        <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" /> 
    662713      </field_group> 
    663714 
     
    670721    <field_group id="trendT" grid_ref="grid_T_3D"> 
    671722      <!-- variables available with ln_tra_trd --> 
    672       <field id="ttrd_xad"      long_name="temperature-trend: i-advection"                                                                                          unit="degC/s"                        /> 
    673       <field id="strd_xad"      long_name="salinity   -trend: i-advection"                                                                                          unit="1e-3/s"                        /> 
    674       <field id="ttrd_yad"      long_name="temperature-trend: j-advection"                                                                                          unit="degC/s"                        /> 
    675       <field id="strd_yad"      long_name="salinity   -trend: j-advection"                                                                                          unit="1e-3/s"                        /> 
    676       <field id="ttrd_zad"      long_name="temperature-trend: k-advection"                                                                                          unit="degC/s"                        /> 
    677       <field id="strd_zad"      long_name="salinity   -trend: k-advection"                                                                                          unit="1e-3/s"                        /> 
    678       <field id="ttrd_ad"       long_name="temperature-trend: advection"               standard_name="tendency_of_sea_water_temperature_due_to_advection"           unit="degC/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="1e-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="degC/s"   grid_ref="grid_T_2D" /> 
    681       <field id="strd_sad"      long_name="salinity   -trend: surface adv. (no-vvl)"                                                                                unit="1e-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="degC/s"                        /> 
    683       <field id="strd_ldf"      long_name="salinity   -trend: lateral  diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_horizontal_mixing"      unit="1e-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="degC/s"                        /> 
    685       <field id="strd_zdf"      long_name="salinity   -trend: vertical diffusion"      standard_name="tendency_of_sea_water_salinity_due_to_vertical_mixing"        unit="1e-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"                        /> 
    686737 
    687738      <!-- ln_traldf_iso=T only (iso-neutral diffusion) --> 
    688       <field id="ttrd_zdfp"     long_name="temperature-trend: pure vert. diffusion"   unit="degC/s" /> 
    689       <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-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" /> 
    690741 
    691742      <!-- --> 
    692       <field id="ttrd_dmp"      long_name="temperature-trend: interior restoring"        unit="degC/s" /> 
    693       <field id="strd_dmp"      long_name="salinity   -trend: interior restoring"        unit="1e-3/s" /> 
    694       <field id="ttrd_bbl"      long_name="temperature-trend: bottom boundary layer"     unit="degC/s" /> 
    695       <field id="strd_bbl"      long_name="salinity   -trend: bottom boundary layer"     unit="1e-3/s" /> 
    696       <field id="ttrd_npc"      long_name="temperature-trend: non-penetrative conv."     unit="degC/s" /> 
    697       <field id="strd_npc"      long_name="salinity   -trend: non-penetrative conv."     unit="1e-3/s" /> 
    698       <field id="ttrd_qns"      long_name="temperature-trend: non-solar flux + runoff"   unit="degC/s" /> 
    699       <field id="strd_cdt"      long_name="salinity   -trend: C/D term       + runoff"   unit="degC/s" /> 
    700       <field id="ttrd_qsr"      long_name="temperature-trend: solar penetr. heating"     unit="degC/s" /> 
    701       <field id="ttrd_bbc"      long_name="temperature-trend: geothermal heating"        unit="degC/s" /> 
    702       <field id="ttrd_atf"      long_name="temperature-trend: asselin time filter"       unit="degC/s" /> 
    703       <field id="strd_atf"      long_name="salinity   -trend: asselin time filter"       unit="1e-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" /> 
    704755 
    705756      <!-- variables available with ln_KE_trd --> 
     
    742793      <field id="petrd_atf"     long_name="pe-trend: asselin time filter"        unit="W/m^3"                        /> 
    743794      <field id="PEanom"        long_name="potential energy anomaly"             unit="1"                            />    
    744       <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degC-1"                       />    
     795      <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degree_C-1"                       />    
    745796      <field id="betaPE"        long_name="partial deriv. of PEanom wrt S"       unit="1e3"                          />    
    746797    </field_group> 
     
    9821033       <field id="qintC14b"    long_name="Cumulative air-sea flux of Bomb C14"     unit="mol/m2"     /> 
    9831034       <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" /> 
    9841038     </field_group> 
    9851039 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaar5.F90

    r6486 r6731  
    9595      CALL iom_put( 'voltot', zvol               ) 
    9696      CALL iom_put( 'sshtot', zvolssh / area_tot ) 
     97      CALL iom_put( 'sshdyn', sshn(:,:) - (zvolssh / area_tot) ) 
    9798 
    9899      !                      
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaprod.F90

    r6491 r6731  
    2525   USE timing          ! preformance summary 
    2626   USE wrk_nemo        ! working array 
     27   USE diaptr 
    2728 
    2829   IMPLICIT NONE 
     
    9899      ENDIF 
    99100 
    100       IF( iom_use("vt") ) THEN 
     101      IF( iom_use("vt") .OR. iom_use("sopht_vt") ) THEN 
    101102         z3d(:,:,:) = 0.e0  
    102103         DO jk = 1, jpkm1 
     
    108109         END DO 
    109110         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) 
    110119      ENDIF 
    111120 
     
    139148      ENDIF 
    140149 
    141       IF( iom_use("vs") ) THEN 
     150      IF( iom_use("vs") .OR. iom_use("sopst_vs") ) THEN 
    142151         z3d(:,:,:) = 0.e0  
    143152         DO jk = 1, jpkm1 
     
    149158         END DO 
    150159         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) 
    151168      ENDIF 
    152169 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r6486 r6731  
    2121   USE dom_oce          ! ocean space and time domain 
    2222   USE phycst           ! physical constants 
     23   USE ldftra_oce  
    2324   ! 
    2425   USE iom              ! IOM library 
     
    3839   PUBLIC   dia_ptr_init   ! call in step module 
    3940   PUBLIC   dia_ptr        ! call in step module 
     41   PUBLIC   dia_ptr_ohst_components        ! called from tra_ldf/tra_adv routines 
    4042 
    4143   !                                  !!** 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.) 
    4546 
    4647   LOGICAL, PUBLIC ::   ln_diaptr   !  Poleward transport flag (T) or not (F) 
    4748   LOGICAL, PUBLIC ::   ln_subbas   !  Atlantic/Pacific/Indian basins calculation 
    48    INTEGER        ::   nptr        ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T)  
     49   INTEGER, PUBLIC ::   nptr        ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T)  
    4950 
    5051   REAL(wp) ::   rc_sv    = 1.e-6_wp   ! conversion from m3/s to Sverdrup 
     
    8283      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zmask   ! 3D workspace 
    8384      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) ::  zts   ! 3D workspace 
    84       CHARACTER( len = 10 )  :: cl1 
     85      CHARACTER( len = 12 )  :: cl1 
    8586      !!---------------------------------------------------------------------- 
    8687      ! 
     
    150151         !                                ! Advective and diffusive heat and salt transport 
    151152         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) 
    153154            DO ji = 1, jpi 
    154155               z2d(ji,:) = z2d(1,:) 
     
    156157            cl1 = 'sophtadv'                  
    157158            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) 
    159160            DO ji = 1, jpi 
    160161               z2d(ji,:) = z2d(1,:) 
     
    162163            cl1 = 'sopstadv' 
    163164            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 
    164181         ENDIF 
    165182         ! 
    166183         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)  
    168185            DO ji = 1, jpi 
    169186               z2d(ji,:) = z2d(1,:) 
     
    171188            cl1 = 'sophtldf' 
    172189            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) 
    174191            DO ji = 1, jpi 
    175192               z2d(ji,:) = z2d(1,:) 
     
    177194            cl1 = 'sopstldf' 
    178195            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 
    180279         ! 
    181280      ENDIF 
     
    256355         ! Initialise arrays to zero because diatpr is called before they are first calculated 
    257356         ! 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  
    260361         ! 
    261362      ENDIF  
     
    263364   END SUBROUTINE dia_ptr_init 
    264365 
     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 
    265451 
    266452   FUNCTION dia_ptr_alloc() 
     
    274460      ! 
    275461      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)  ) 
    278466         ! 
    279467      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  
    323323      CALL iom_put( "hdiv", hdivn )                  ! Horizontal divergence 
    324324      ! 
    325       IF( iom_use("u_masstr") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN 
     325      IF( iom_use("u_masstr") .OR. iom_use("u_masstr_vint") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN 
    326326         z3d(:,:,jpk) = 0.e0 
     327         z2d(:,:) = 0.e0 
    327328         DO jk = 1, jpkm1 
    328329            z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 
     330            z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    329331         END DO 
    330332         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 
    331334      ENDIF 
    332335       
     
    391394         CALL iom_put( "v_salttr", 0.5 * z2d )            !  heat transport in j-direction 
    392395      ENDIF 
     396 
     397      CALL iom_put( "bn2", rn2 )  !Brunt-Vaisala buoyancy frequency (N^2) 
    393398      ! 
    394399      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  
    228228      ! automatic definitions of some of the xml attributs 
    229229      CALL set_xmlatt 
     230 
     231      CALL set_1point 
    230232 
    231233      ! end file definition 
     
    15761578      zz=REAL(narea,wp) 
    15771579      CALL iom_set_domain_attr('scalarpoint', lonvalue=zz, latvalue=zz) 
    1578        
     1580 
    15791581   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 
    15801597 
    15811598 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r6700 r6731  
    17191719         zemp_ice(:,:) = frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) 
    17201720#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  
    17221723         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.  
    17241725         IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') )   & 
    17251726            ztmp(:,:) = frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) 
    17261727         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) 
    17281729         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) 
    17301731      CASE( 'oce and ice'   )   ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp 
    17311732         zemp_tot(:,:) = p_frld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + zicefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) 
     
    17891790      ! runoffs and calving (put in emp_tot) 
    17901791      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(:,:) ) 
    17911794      IF( srcv(jpr_cal)%laction ) THEN  
    17921795         zemp_tot(:,:) = zemp_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) 
     
    18061809      ENDIF 
    18071810 
    1808          CALL iom_put( 'snowpre'    , sprecip                                )   ! Snow 
     1811         CALL iom_put( 'snowpre'    , sprecip * tmask(:,:,1)                 )   ! Snow 
    18091812      IF( iom_use('snow_ao_cea') )   & 
    1810          CALL iom_put( 'snow_ao_cea', sprecip(:,:) * p_frld(:,:)             )   ! Snow        over ice-free ocean  (cell average) 
     1813         CALL iom_put( 'snow_ao_cea', sprecip(:,:) * p_frld(:,:) * tmask(:,:,1)       )   ! Snow        over ice-free ocean  (cell average) 
    18111814      IF( iom_use('snow_ai_cea') )   & 
    1812          CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zicefr(:,:)             )   ! Snow        over sea-ice         (cell average) 
     1815         CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zicefr(:,:) * tmask(:,:,1)       )   ! Snow        over sea-ice         (cell average) 
    18131816#endif 
    18141817 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r6498 r6731  
    279279         END IF 
    280280         !                                 ! "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(:,:,:) ) 
    285282         ! 
    286283      END DO 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r6487 r6731  
    2828   USE wrk_nemo        ! Memory Allocation 
    2929   USE timing          ! Timing 
     30   USE diaptr         ! Heat/Salt transport diagnostics 
    3031 
    3132   IMPLICIT NONE 
     
    7879# endif   
    7980      REAL(wp), POINTER, DIMENSION(:,:) :: zu_eiv, zv_eiv, zw_eiv, z2d 
     81      REAL(wp), POINTER, DIMENSION(:,:,:) :: z3d 
    8082      !!---------------------------------------------------------------------- 
    8183      ! 
     
    8486# if defined key_diaeiv  
    8587      CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 
     88      IF( ln_diaptr ) CALL wrk_alloc( jpi, jpj, jpk, z3d ) 
    8689# else 
    8790      CALL wrk_alloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv ) 
     
    160163         CALL iom_put( "voce_eiv", v_eiv )    ! j-eiv current 
    161164         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 
    162182         IF( iom_use('ueiv_heattr') ) THEN 
    163             zztmp = 0.5 * rau0 * rcp  
     183            zztmp = 0.5 * rcp  
    164184            z2d(:,:) = 0.e0  
    165185            DO jk = 1, jpkm1 
    166186               DO jj = 2, jpjm1 
    167187                  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) ) 
    170189                  END DO 
    171190               END DO 
     
    174193            CALL iom_put( "ueiv_heattr", zztmp * z2d )                  ! heat transport in i-direction 
    175194         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 
    176204             
    177205         IF( iom_use('veiv_heattr') ) THEN 
    178             zztmp = 0.5 * rau0 * rcp  
     206            zztmp = 0.5 * rcp  
    179207            z2d(:,:) = 0.e0  
    180208            DO jk = 1, jpkm1 
    181209               DO jj = 2, jpjm1 
    182210                  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) ) 
    185212                  END DO 
    186213               END DO 
     
    190217         ENDIF 
    191218    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 
    192242# endif   
    193       !  
     243 
    194244# if defined key_diaeiv  
    195245      CALL wrk_dealloc( jpi, jpj, zu_eiv, zv_eiv, zw_eiv, z2d ) 
     246      IF( ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, z3d ) 
    196247# else 
    197248      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  
    219219         END IF 
    220220         !                                 ! "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(:,:,:)  ) 
    225222 
    226223         ! II. Vertical advective fluxes 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90

    r6486 r6731  
    200200 
    201201         !                                 ! "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(:,:,:)  ) 
    206203 
    207204         ! II. Vertical advective fluxes 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90

    r6486 r6731  
    355355         IF( l_trd )   CALL trd_tra( kt, cdtype, jn, jptra_yad, zwy, pvn, ptn(:,:,:,jn) ) 
    356356         !                                 ! "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(:,:,:) ) 
    361358         ! 
    362359      END DO 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r6487 r6731  
    3434   USE timing         ! Timing 
    3535   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
     36   USE iom 
    3637 
    3738   IMPLICIT NONE 
     
    4243 
    4344   LOGICAL ::   l_trd   ! flag to compute trends 
     45   LOGICAL ::   l_trans   ! flag to output vertically integrated transports 
    4446 
    4547   !! * Substitutions 
     
    8587      REAL(wp) ::   zfm_ui, zfm_vj, zfm_wk   !   -      - 
    8688      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 
    8891      !!---------------------------------------------------------------------- 
    8992      ! 
     
    98101         ! 
    99102         l_trd = .FALSE. 
     103         l_trans = .FALSE. 
    100104         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. 
    101106      ENDIF 
    102107      ! 
    103       IF( l_trd )  THEN 
     108      IF( l_trd .OR. l_trans )  THEN 
    104109         CALL wrk_alloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 
    105110         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 
    106117      ENDIF 
    107118      ! 
     
    188199 
    189200         !                                 ! trend diagnostics (contribution of upstream fluxes) 
    190          IF( l_trd )  THEN  
     201         IF( l_trd .OR. l_trans )  THEN  
    191202            ! store intermediate advective trends 
    192203            ztrdx(:,:,:) = zwx(:,:,:)   ;    ztrdy(:,:,:) = zwy(:,:,:)  ;   ztrdz(:,:,:) = zwz(:,:,:) 
    193204         END IF 
    194205         !                                 ! "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(:,:,:)  
    199207 
    200208         ! 3. antidiffusive flux : high order minus low order 
     
    254262 
    255263         !                                 ! trend diagnostics (contribution of upstream fluxes) 
    256          IF( l_trd )  THEN  
     264         IF( l_trd .OR. l_trans )  THEN  
    257265            ztrdx(:,:,:) = ztrdx(:,:,:) + zwx(:,:,:)  ! <<< Add to previously computed 
    258266            ztrdy(:,:,:) = ztrdy(:,:,:) + zwy(:,:,:)  ! <<< Add to previously computed 
    259267            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) ) 
    264274         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) 
    266300         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(:,:,:) ) 
    269303         ENDIF 
    270304         ! 
    271305      END DO 
    272306      ! 
    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 ) 
    275313      ! 
    276314      IF( nn_timing == 1 )  CALL timing_stop('tra_adv_tvd') 
     
    319357      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwz, zhdiv, zwz_sav, zwzts 
    320358      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz 
     359      REAL(wp), POINTER, DIMENSION(:,:,:) :: zptry 
    321360      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrs 
    322361      !!---------------------------------------------------------------------- 
     
    340379         CALL wrk_alloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 
    341380         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 
    342386      ENDIF 
    343387      ! 
     
    430474         END IF 
    431475         !                                 ! "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(:,:,:) 
    436477 
    437478         ! 3. antidiffusive flux : high order minus low order 
     
    557598         !                                 ! "Poleward" heat and salt transports (contribution of upstream fluxes) 
    558599         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(:,:,:) ) 
    561602         ENDIF 
    562603         ! 
     
    567608                   CALL wrk_dealloc( jpi, jpj, zwx_sav, zwy_sav ) 
    568609      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 ) 
    569611      ! 
    570612      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  
    177177         END IF 
    178178         !                                 ! "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(:,:,:) ) 
    183180          
    184181         ! 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  
    173173         !                                                 
    174174         ! "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(:,:,:) ) 
    179176         !                                                ! =========== 
    180177      END DO                                              ! tracer loop 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90

    r6486 r6731  
    247247         !                                                ! =============== 
    248248         ! "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(:,:,:) ) 
    254251 
    255252         !                             ! ************ !   ! =============== 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r6486 r6731  
    235235         ! 
    236236         ! "Poleward" diffusive heat or salt transports (T-S case only) 
    237          IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 
    238237            ! 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(:,:,:)  ) 
    242239  
    243240         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  
    386386         ! 
    387387         !                             ! "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(:,:,:) ) 
    392389 
    393390         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  
    154154         ! 
    155155         ! "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(:,:,:) ) 
    160157         !                                                  ! ================== 
    161158      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  
    2525   USE par_c14b   , ONLY : jp_c14b_trd     !: number of tracers in C14 
    2626 
     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 
    2732   IMPLICIT NONE 
    2833 
    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  !: 
    3338 
    3439#if defined key_my_trc 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90

    r6486 r6731  
    6161      ENDIF 
    6262 
     63      IF( lk_age     )   CALL trc_rad_sms( kt, trb, trn, jp_age0 , jp_age1               )  ! AGE tracer 
    6364      IF( lk_cfc     )   CALL trc_rad_sms( kt, trb, trn, jp_cfc0 , jp_cfc1               )  ! CFC model 
    6465      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  
    1414   USE par_c14b      ! C14 bomb tracer 
    1515   USE par_cfc       ! CFC 11 and 12 tracers 
     16   USE par_age       ! AGE  tracer 
    1617   USE par_my_trc    ! user defined passive tracers 
    1718 
     
    2425   ! Passive tracers : Total size 
    2526   ! ---------------               ! 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_trc 
    27    INTEGER, PUBLIC,  PARAMETER ::   jpdia2d  =  jp_pisces_2d  + jp_cfc_2d  + jp_c14b_2d + jp_my_trc_2d 
    28    INTEGER, PUBLIC,  PARAMETER ::   jpdia3d  =  jp_pisces_3d  + jp_cfc_3d  + jp_c14b_3d + jp_my_trc_3d 
     27   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 
    2930   !                     ! total number of sms diagnostic arrays 
    30    INTEGER, PUBLIC,  PARAMETER ::   jpdiabio =  jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_my_trc_trd 
     31   INTEGER, PUBLIC,  PARAMETER ::   jpdiabio =  jp_pisces_trd + jp_cfc_trd + jp_c14b_trd + jp_age_trd + jp_my_trc_trd 
    3132    
    3233   !  1D configuration ("key_c1d") 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r6498 r6731  
    2323   USE trcini_pisces   ! PISCES   initialisation 
    2424   USE trcini_c14b     ! C14 bomb initialisation 
     25   USE trcini_age      ! AGE      initialisation 
    2526   USE trcini_my_trc   ! MY_TRC   initialisation 
    2627   USE trcdta          ! initialisation from files 
     
    9798 
    9899      IF( lk_pisces  )       CALL trc_ini_pisces       ! PISCES  bio-model 
    99       IF( lk_cfc     )       CALL trc_ini_cfc          ! CFC     tracers 
     100      IF( lk_cfc     )       CALL trc_ini_cfc          ! CFC       tracers 
    100101      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 
    102104 
    103105      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  
    2424   USE trcnam_cfc        ! CFC SMS namelist 
    2525   USE trcnam_c14b       ! C14 SMS namelist 
     26   USE trcnam_age        ! AGE SMS namelist 
    2627   USE trcnam_my_trc     ! MY_TRC SMS namelist 
    2728   USE trd_oce        
     
    6162       
    6263      !                                        !  passive tracer informations 
    63       CALL trc_nam_trc 
     64                             CALL trc_nam_trc 
    6465       
    6566      !                                        !   Parameters of additional diagnostics 
    66       CALL trc_nam_dia 
     67      IF( .NOT. lk_iomput)   CALL trc_nam_dia 
    6768 
    6869      !                                        !   namelist of transport 
    69       CALL trc_nam_trp 
     70                             CALL trc_nam_trp 
    7071 
    7172 
     
    161162      ENDIF 
    162163 
    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' 
    169174      ENDIF 
    170175      ! 
     
    359364      ENDIF 
    360365 
    361       IF( ln_diatrc .AND. .NOT. lk_iomput ) THEN  
     366      IF( ln_diatrc ) THEN  
    362367         ALLOCATE( trc2d(jpi,jpj,jpdia2d), trc3d(jpi,jpj,jpk,jpdia3d),  & 
    363368           &       ctrc2d(jpdia2d), ctrc2l(jpdia2d), ctrc2u(jpdia2d) ,  &  
     
    370375      ENDIF 
    371376 
    372       IF( ( ln_diabio .AND. .NOT. lk_iomput ) .OR. l_trdtrc ) THEN 
     377      IF( ln_diabio .OR. l_trdtrc ) THEN 
    373378         ALLOCATE( trbio (jpi,jpj,jpk,jpdiabio) , & 
    374379           &       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  
    1818   USE trcsms_cfc         ! CFC 11 & 12 
    1919   USE trcsms_c14b        ! C14b tracer  
     20   USE trcsms_age         ! AGE tracer  
    2021   USE trcsms_my_trc      ! MY_TRC  tracers 
    2122   USE prtctl_trc         ! Print control for debbuging 
     
    5152      IF( lk_cfc     )   CALL trc_sms_cfc    ( kt )    ! surface fluxes of CFC 
    5253      IF( lk_c14b    )   CALL trc_sms_c14b   ( kt )    ! surface fluxes of C14 
     54      IF( lk_age     )   CALL trc_sms_age    ( kt )    ! AGE tracer 
    5355      IF( lk_my_trc  )   CALL trc_sms_my_trc ( kt )    ! MY_TRC  tracers 
    5456 
  • branches/UKMO/dev_r5518_GO6_package_MEDUSA_extra_CMIP6_diags/NEMOGCM/NEMO/TOP_SRC/trcwri.F90

    r6486 r6731  
    2020   USE trcwri_cfc 
    2121   USE trcwri_c14b 
     22   USE trcwri_age 
    2223   USE trcwri_my_trc 
    2324 
     
    5960      IF( lk_cfc     )   CALL trc_wri_cfc        ! surface fluxes of CFC 
    6061      IF( lk_c14b    )   CALL trc_wri_c14b       ! surface fluxes of C14 
     62      IF( lk_age     )   CALL trc_wri_age        ! AGE tracer 
    6163      IF( lk_my_trc  )   CALL trc_wri_my_trc     ! MY_TRC  tracers 
    6264      ! 
Note: See TracChangeset for help on using the changeset viewer.