New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8884 – NEMO

Changeset 8884


Ignore:
Timestamp:
2017-12-04T10:05:16+01:00 (6 years ago)
Author:
clem
Message:

dev_CNRS_2017: modify outputs for sea-ice

Location:
branches/2017/dev_CNRS_2017/NEMOGCM
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/file_def_nemo-opa.xml

    r8882 r8884  
    3535     <field field_ref="qsr_ice"      name="qsr_ice"  /> 
    3636     <field field_ref="qns_ice"      name="qns_ice"  /> 
    37      <field field_ref="qtr_ice"      name="qtr_ice"  /> 
    3837     <field field_ref="qt_ice"       name="qt_ice"   /> 
    3938     <field field_ref="saltflx"      name="sfx"      /> 
     
    4342     <!-- ice and snow --> 
    4443     <field field_ref="snowpre" /> 
    45      <field field_ref="utau_ice"     name="utau_ice" /> 
    46      <field field_ref="vtau_ice"     name="vtau_ice" /> 
     44     <field field_ref="utau_ai"     name="utau_ai" /> 
     45     <field field_ref="vtau_ai"     name="vtau_ai" /> 
    4746   </file> 
    4847 
  • branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/SHARED/field_def_nemo-lim.xml

    r8881 r8884  
    44    <!--  
    55============================================================================================================ 
    6 =                                  definition of all existing ESIM variables                               = 
     6=                                  definition of all existing ice variables                                = 
    77=                                            DO NOT CHANGE                                                 = 
    88============================================================================================================ 
     
    1212      <field_group id="SBC" grid_ref="grid_T_2D" > <!-- time step automaticaly defined based on nn_fsbc --> 
    1313 
    14     <!-- ================ --> 
    15          <!-- SIMIP ice fields --> 
    16          <!-- ================ --> 
    17     <field id="icepres"      long_name="Fraction of time steps with sea ice"                     standard_name="sea_ice_time_fraction"                      unit=""             /> 
    18          <field id="icethick"     long_name="Sea-ice thickness per area"                              standard_name="sea_ice_thickness"                          unit="m"   /> 
    19          <field id="icethic"      long_name="Sea-ice thickness"                                       standard_name="sea_ice_thickness"                          unit="m"   /> 
    20          <field id="snothic"      long_name="Snow thickness"                                          standard_name="surface_snow_thickness"                     unit="m"            /> 
    21          <field id="icevolu"      long_name="Sea-ice volume per area"                                 standard_name="sea_ice_thickness"                          unit="m"            /> 
    22          <field id="icefb"        long_name="Sea-ice freeboard"                                       standard_name="sea_ice_freeboard"                          unit="m"            /> 
    23          <field id="iceconc"      long_name="Sea-ice area fraction"                                   standard_name="sea_ice_area_fraction"                      unit=""             /> 
    24          <field id="iceconc_pct"  long_name="Sea-ice area fraction in percent"                        standard_name="sea_ice_area_fraction_in_percent"           unit="%"             > iceconc * 100. </field > 
    25          <field id="icemass"      long_name="Sea-ice mass per area"                                   standard_name="sea_ice_amount"                             unit="kg/m2"        /> 
    26          <field id="snomass"      long_name="Snow mass per area"                                      standard_name="liquid_water_content_of_surface_snow"       unit="kg/m2"        /> 
    27          <field id="iceage"       long_name="Age of sea ice"                                          standard_name="age_of_sea_ice"                             unit="s"            /> 
    28          <field id="icealb"       long_name="Sea-ice or snow albedo"                                  standard_name="sea_ice_albedo"                             unit=""             /> 
    29          <field id="icesmass"     long_name="Mass of salt in sea ice per area"                        standard_name="sea_ice_salt_mass"                          unit="kg/m2"        /> 
    30          <field id="icesal"       long_name="Sea ice salinity"                                        standard_name="sea_ice_salinity"                           unit="g/kg"         /> 
    31  
    32     <!-- heat --> 
    33          <field id="icestK"       long_name="Surface temperature of sea ice"                          standard_name="sea_ice_surface_temperature"                unit="K"            />  
    34          <field id="icesntK"      long_name="Temperature at snow-ice interface"                       standard_name="sea_ice_snow_interface_temperature"         unit="K"            /> 
    35          <field id="icebotK"      long_name="Temperature at ice-ocean interface"                      standard_name="sea_ice_bottom_temperature"                 unit="K"            /> 
    36          <field id="icehcneg"     long_name="Sea-ice heat content per unit area"                      standard_name="integral_of_sea_ice_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" > (-icehc) </field> 
    37          <field id="isnhcneg"     long_name="Snow-heat content per unit area"                         standard_name="thermal_energy_content_of_surface_snow"                              unit="J/m2" /> 
    38  
    39     <!-- fluxes (mass, heat, salt) --> 
    40          <field id="wfxsum"       long_name="Freshwater flux from sea-ice surface"                    standard_name="freshwater_flux_from_ice_surface"             unit="kg/m2/s"      /> 
    41          <field id="wfxtot"       long_name="Freshwater flux from sea ice"                            standard_name="freshwater_flux_from_ice"                     unit="kg/m2/s" />  
    42          <field id="hfxsenso"     long_name="Net sensible heat flux under sea ice"                    standard_name="ice_ocean_heat_flux"                          unit="W/m2" /> 
    43          <field id="hfxconsu"     long_name="Net conductive heat flux in ice at the surface"          standard_name="conductive_heat_flux_at_sea_ice_surface"      unit="W/m2" />  
    44          <field id="hfxconbo"     long_name="Net conductive heat fluxes in ice at the bottom"         standard_name="conductive_heat_flux_at_sea_ice_bottom"       unit="W/m2" /> 
    45          <field id="sfx_mv"       long_name="Salt flux from sea ice"                                  standard_name="salt_flux_from_ice"                           unit="kg/m2/s" /> 
    46  
    47     <!-- trends --> 
    48          <field id="afxthd"       long_name="sea-ice area fraction change from thermodynamics"        standard_name="tendency_of_sea_ice_area_fraction_due_to_dynamics"  unit="s-1"   /> 
    49          <field id="afxdyn"       long_name="sea-ice area fraction change from dynamics"              standard_name="tendency_of_sea_ice_area_fraction_due_to_dynamics"  unit="s-1"   /> 
    50  
    51          <field id="dmithd"       long_name="sea-ice mass change from thermodynamics"                 standard_name="tendency_of_sea_ice_amount_due_to_thermodynamics"   unit="kg/m2/s" /> 
    52          <field id="dmidyn"       long_name="sea-ice mass change from dynamics"                       standard_name="tendency_of_sea_ice_amount_due_to_dynamics"         unit="kg/m2/s" /> 
    53          <field id="dmiopw"       long_name="sea-ice mass change through growth in supercooled open water (aka frazil)"   standard_name="tendency_of_sea_ice_amount_due_to_freezing_in_open_water"   unit="kg/m2/s" /> 
    54          <field id="dmibog"       long_name="sea-ice mass change through basal growth"                standard_name="tendency_of_sea_ice_amount_due_to_congelation_ice_accumulation"  unit="kg/m2/s" /> 
    55          <field id="dmisni"       long_name="sea-ice mass change through snow-to-ice conversion"      standard_name="tendency_of_sea_ice_amount_due_to_snow_conversion"               unit="kg/m2/s" /> 
    56          <field id="dmtsub"       long_name="snow and sea ice mass change through sublimation"        standard_name="tendency_of_snow_and_ice_amount_due_to_sublimation"              unit="kg/m2/s" /> 
    57          <field id="dmssub"       long_name="sea-ice mass change through evaporation and sublimation" standard_name="water_evaporation_flux"                                     unit="kg/m2/s" /> 
    58          <field id="dmisub"       long_name="snow mass change through evaporation or sublimation"     standard_name="surface_snow_sublimation_flux"           unit="kg/m2/s" /> 
    59          <field id="dmisum"       long_name="sea-ice mass change through surface melting"             standard_name="tendency_of_sea_ice_amount_due_to_surface_melting"               unit="kg/m2/s" /> 
    60          <field id="dmibom"       long_name="sea-ice mass change through bottom melting"              standard_name="tendency_of_sea_ice_amount_due_to_basal_melting"                 unit="kg/m2/s" /> 
    61  
    62          <field id="dmsspr"       long_name="snow mass change through snow fall"                      standard_name="snowfall_flux"                                                   unit="kg/m2/s" /> 
    63          <field id="dmsmel"       long_name="snow mass change through melt"                           standard_name="surface_snow_melt_flux"                                          unit="kg/m2/s" /> 
    64          <field id="dmsdyn"       long_name="snow mass change through advection by sea-ice dynamics"  standard_name="tendency_of_snow_mass_due_to_sea_ice_dynamics"               unit="kg/m2/s" /> 
    65          <field id="dmsssi"       long_name="snow mass change through snow-to-ice conversion"         standard_name="tendency_of_snow_mass_due_to_snow_to_ice_conversion"             unit="kg/m2/s" /> 
    66  
    67     <!-- momentum (rheology) --> 
    68          <field id="uice_mv"      long_name="X-component of sea ice velocity"                         standard_name="sea_ice_x_velocity"                         unit="m/s" />  
    69          <field id="vice_mv"      long_name="Y-component of sea ice velocity"                         standard_name="sea_ice_y_velocity"                         unit="m/s" />       
    70          <field id="icevel_mv"    long_name="Sea-ice speed"                                           standard_name="sea_ice_speed"                              unit="m/s" />     
    71          <field id="utau_ice"     long_name="X-component of atmospheric stress on sea ice"            standard_name="surface_downward_x_stress"                    unit="N/m2"    /> 
    72          <field id="vtau_ice"     long_name="Y-component of atmospheric stress on sea ice"            standard_name="surface_downward_y_stress"                    unit="N/m2"    /> 
    73          <field id="utau_oi"      long_name="X-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_x_stress"                 unit="N/m2"    /> 
    74          <field id="vtau_oi"      long_name="Y-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_y_stress"                 unit="N/m2"    /> 
    75          <field id="dssh_dx"      long_name="Sea-surface tilt term in force balance (x-component)"    standard_name="sea_surface_tilt_force_on_sea_ice_x"       unit="N/m2"    /> 
    76          <field id="dssh_dy"      long_name="Sea-surface tilt term in force balance (y-component)"    standard_name="sea_surface_tilt_force_on_sea_ice_y"       unit="N/m2"    /> 
    77          <field id="corstrx"      long_name="Coriolis force term in force balance (x-component)"      standard_name="coriolis_force_on_sea_ice_x"               unit="N/m2"    /> 
    78          <field id="corstry"      long_name="Coriolis force term in force balance (y-component)"      standard_name="coriolis_force_on_sea_ice_y"               unit="N/m2"    /> 
    79          <field id="intstrx"      long_name="Internal stress term in force balance (x-component)"     standard_name="internal_stress_in_sea_ice_x"              unit="N/m2"    /> 
    80          <field id="intstry"      long_name="Internal stress term in force balance (y-component)"     standard_name="internal_stress_in_sea_ice_y"              unit="N/m2"    /> 
    81          <field id="icestr"       long_name="Compressive sea ice strength"                            standard_name="compressive_strength_of_sea_ice"              unit="N/m"     /> 
    82          <field id="normstr"      long_name="Average normal stress in sea ice"                        standard_name="average_normal_stress"                        unit="N/m"     /> 
    83          <field id="sheastr"      long_name="Maximum shear stress in sea ice"                         standard_name="maximum_shear_stress"                         unit="N/m"     /> 
    84          <field id="idive"        long_name="Divergence of the sea-ice velocity field"                standard_name="divergence_of_sea_ice_velocity"               unit="s-1"     /> 
    85          <field id="ishear"       long_name="Maximum shear of sea-ice velocity field"                 standard_name="maximum_shear_of_sea_ice_velocity"            unit="s-1"     /> 
    86  
    87     <!-- momentum (advection) --> 
    88     <field id="xmtrpice"     long_name="X-component of ice mass transport"                       standard_name="ice_x_transport"                              unit="kg/s" /> 
    89          <field id="ymtrpice"     long_name="Y-component of ice mass transport"                       standard_name="ice_y_transport"                              unit="kg/s" /> 
    90          <field id="xmtrpsnw"     long_name="X-component of snw mass transport"                       standard_name="snw_x_transport"                              unit="kg/s" /> 
    91          <field id="ymtrpsnw"     long_name="Y-component of snw mass transport"                       standard_name="snw_y_transport"                              unit="kg/s" /> 
    92          <field id="xatrp"        long_name="X-component of ice area transport"                       standard_name="area_x_transport"                             unit="m2/s" /> 
    93          <field id="yatrp"        long_name="Y-component of ice area transport"                       standard_name="area_y_transport"                             unit="m2/s" /> 
    94          <field id="xmtrptot"     long_name="X-component of sea-ice mass transport"                   standard_name="sea_ice_x_transport"                          unit="kg/s" > xmtrpice + xmtrpsnw </field> 
    95          <field id="ymtrptot"     long_name="Y-component of sea-ice mass transport"                   standard_name="sea_ice_y_transport"                          unit="kg/s" > ymtrpice + ymtrpsnw </field> 
    96  
    97     <!-- categories --> 
    98          <field id="iceconc_cat_mv"     long_name="Sea-ice area fractions in thickness categories"    standard_name="sea_ice_area_fraction_over_categories"      unit=""   grid_ref="grid_T_3D_ncatice" /> 
    99          <field id="iceconc_cat_pct_mv" long_name="Sea-ice area fractions in thickness categories"    standard_name="sea_ice_area_fraction_over_categories"      unit="%"  grid_ref="grid_T_3D_ncatice"  > iceconc_cat_mv * 100. </field > 
    100          <field id="icethic_cat_mv"     long_name="Sea-ice thickness in thickness categories"         standard_name="sea_ice_thickness_over_categories"          unit="m"  grid_ref="grid_T_3D_ncatice" /> 
    101          <field id="snowthic_cat_mv"    long_name="Snow thickness in thickness categories"            standard_name="snow_thickness_over_categories"             unit="m"  grid_ref="grid_T_3D_ncatice" /> 
    102  
    10314         <!-- =================== --> 
    10415         <!-- standard ice fields -->   
    10516         <!-- =================== --> 
    106          <field id="ice_cover"    long_name="Ice fraction"                                                 standard_name="sea_ice_area_fraction"                              unit="1"            /> 
    107  
    108     <field id="miceage"      long_name="Age of sea ice"                                               unit="s"        /> 
    109          <field id="micesalt"     long_name="Sea ice salinity"                                             unit="g/kg"     /> 
    110          <field id="ibrinv"       long_name="brine volume"                                                 unit="%"        /> 
    111          <field id="icecolf"      long_name="frazil ice collection thickness"                              unit="m"        /> 
    112          <field id="snowvol"      long_name="snow volume"                                                  unit="m"        /> 
    113          <field id="tau_icebfr"   long_name="ice friction on ocean bottom for landfast ice"                unit="N/2"      /> 
     17    <!-- ice presence masks --> 
     18         <field id="icemask"      long_name="Fraction of time steps with sea ice"                     standard_name="sea_ice_mask"                              unit="" /> 
     19         <field id="icemask05"    long_name="Ice mask (0 if ice conc. lower than  5%, 1 otherwise)"   standard_name="sea_ice_mask05"                            unit="" /> 
     20         <field id="icemask15"    long_name="Ice mask (0 if ice conc. lower than 15%, 1 otherwise)"   standard_name="sea_ice_mask15"                            unit="" /> 
     21    <field id="icepres"      long_name="Fraction of time steps with sea ice"                     standard_name="sea_ice_time_fraction"                     unit="" /> 
     22     
     23    <!-- general fields --> 
     24         <field id="icemass"      long_name="Sea-ice mass per area"                                   standard_name="sea_ice_amount"                            unit="kg/m2"/> 
     25         <field id="snwmass"      long_name="Snow mass per area"                                      standard_name="liquid_water_content_of_surface_snow"      unit="kg/m2"/> 
     26         <field id="iceconc"      long_name="Sea-ice area fraction"                                   standard_name="sea_ice_area_fraction"                     unit=""    /> 
     27         <field id="icevolu"      long_name="Sea-ice volume per area"                                 standard_name="sea_ice_thickness"                         unit="m"   /> 
     28         <field id="icethic"      long_name="Sea-ice thickness per area"                              standard_name="sea_ice_thickness"                         unit="m"   /> 
     29         <field id="snwthic"      long_name="Snow thickness per area"                                 standard_name="snow_thickness"                            unit="m"   /> 
     30         <field id="icebrv"       long_name="brine volume"                                                                                                      unit="%"   /> 
     31         <field id="iceage"       long_name="ice age"                                                                                                           unit="days"/> 
     32         <field id="icehnew"      long_name="frazil ice collection thickness"                                                                                   unit="m"   /> 
     33         <field id="snwvolu"      long_name="snow volume"                                                                                                       unit="m"   /> 
     34         <field id="icefrb"       long_name="Sea-ice freeboard"                                       standard_name="sea_ice_freeboard"                         unit="m"   /> 
     35         <field id="icealb"       long_name="Sea-ice or snow albedo"                                  standard_name="sea_ice_albedo"                            unit=""    /> 
     36         <field id="tau_icebfr"   long_name="ice friction on ocean bottom for landfast ice"                                                                     unit="N/2" /> 
    11437 
    11538    <!-- melt ponds --> 
    116     <field id="iceamp"       long_name="melt pond fraction"                                           standard_name="sea_ice_meltpond_fraction"                          unit="%"            />  
    117          <field id="icevmp"       long_name="melt pond volume"                                             standard_name="sea_ice_meltpond_volume"                            unit="m"            />  
     39    <field id="iceapnd"      long_name="melt pond fraction"                                      standard_name="sea_ice_meltpond_fraction"                 unit="%" />  
     40         <field id="icevpnd"      long_name="melt pond volume"                                        standard_name="sea_ice_meltpond_volume"                   unit="m" />  
     41     
     42    <!-- heat --> 
     43         <field id="icetemp"      long_name="Mean ice temperature"                                                                                              unit="degC" /> 
     44         <field id="icettop"      long_name="temperature at the ice surface"                                                                                    unit="degC" /> 
     45         <field id="icetbot"      long_name="temperature at the ice bottom"                                                                                     unit="degC" /> 
     46         <field id="icetsni"      long_name="temperature at the snow-ice interface"                                                                             unit="degC" /> 
     47         <field id="icehc"        long_name="ice heat content"                                                                                                  unit="J/m2" />  
     48         <field id="snwhc"        long_name="snow heat content"                                                                                                 unit="J/m2" /> 
     49 
     50    <!-- salt --> 
     51         <field id="icesalt"      long_name="Sea ice salinity"                                                                                                  unit="g/kg"  /> 
     52         <field id="icesalm"      long_name="Mass of salt in sea ice per area"                        standard_name="sea_ice_salt_mass"                         unit="kg/m2" /> 
    11853     
    11954    <!-- momentum (rheology) --> 
    120          <field id="uice"         long_name="X-component of sea ice velocity"                              standard_name="sea_ice_x_velocity"                                 unit="m/s"          />  
    121          <field id="vice"         long_name="Y-component of sea ice velocity"                              standard_name="sea_ice_y_velocity"                                 unit="m/s"          />       
    122          <field id="icevel"       long_name="Sea-ice speed"                                                standard_name="sea_ice_speed"                                      unit="m/s"          /> 
    123          <field id="isig1"        long_name="1st principal stress component for EVP rhg"                   unit="unitless" /> 
    124          <field id="isig2"        long_name="2nd principal stress component for EVP rhg"                   unit="unitless" /> 
    125          <field id="isig3"        long_name="convergence measure for EVP rheology (must be =1)"            unit="unitless" /> 
    126  
    127     <!-- heat --> 
    128          <field id="micet"        long_name="Mean ice temperature"                                         unit="degC"     /> 
    129          <field id="icehc"        long_name="ice total heat content"                                       unit="J/m2"     />  
    130          <field id="isnowhc"      long_name="snow total heat content"                                      unit="J/m2"     /> 
    131          <field id="icest"        long_name="ice surface temperature"                                      unit="degC"     /> 
    132      
     55         <field id="uice"         long_name="X-component of sea ice velocity"                         standard_name="sea_ice_x_velocity"                        unit="m/s"  />  
     56         <field id="vice"         long_name="Y-component of sea ice velocity"                         standard_name="sea_ice_y_velocity"                        unit="m/s"  />       
     57         <field id="icevel"       long_name="Sea-ice speed"                                           standard_name="sea_ice_speed"                             unit="m/s"  /> 
     58         <field id="utau_ai"      long_name="X-component of atmospheric stress on sea ice"            standard_name="surface_downward_x_stress"                 unit="N/m2" /> 
     59         <field id="vtau_ai"      long_name="Y-component of atmospheric stress on sea ice"            standard_name="surface_downward_y_stress"                 unit="N/m2" /> 
     60         <field id="utau_oi"      long_name="X-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_x_stress"              unit="N/m2" /> 
     61         <field id="vtau_oi"      long_name="Y-component of ocean stress on sea ice"                  standard_name="sea_ice_base_upward_y_stress"              unit="N/m2" /> 
     62         <field id="isig1"        long_name="1st principal stress component for EVP rhg"                                                                        unit=""     /> 
     63         <field id="isig2"        long_name="2nd principal stress component for EVP rhg"                                                                        unit=""     /> 
     64         <field id="isig3"        long_name="convergence measure for EVP rheology (must be around 1)"                                                           unit=""     /> 
     65         <field id="normstr"      long_name="Average normal stress in sea ice"                        standard_name="average_normal_stress"                     unit="N/m"  /> 
     66         <field id="sheastr"      long_name="Maximum shear stress in sea ice"                         standard_name="maximum_shear_stress"                      unit="N/m"  /> 
     67         <field id="icestr"       long_name="Compressive sea ice strength"                            standard_name="compressive_strength_of_sea_ice"           unit="N/m"  /> 
     68         <field id="icediv"       long_name="Divergence of the sea-ice velocity field"                standard_name="divergence_of_sea_ice_velocity"            unit="s-1"  /> 
     69         <field id="iceshe"       long_name="Maximum shear of sea-ice velocity field"                 standard_name="maximum_shear_of_sea_ice_velocity"         unit="s-1"  /> 
     70 
    13371    <!-- surface heat fluxes --> 
    134          <field id="qt_oce"       long_name="total flux at ocean surface"                                  standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"        /> 
    135          <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"        /> 
    136          <field id="qns_oce"      long_name="non-solar heat flux at ocean surface"                                                                                            unit="W/m2"        /> 
    137          <field id="qt_ice"       long_name="total heat flux at ice surface: sum over categories"          standard_name="surface_downward_heat_flux_in_air"                  unit="W/m2"        /> 
    138          <field id="qsr_ice"      long_name="solar heat flux at ice surface: sum over categories"          standard_name="surface_downwelling_shortwave_flux_in_air"          unit="W/m2"        /> 
    139          <field id="qns_ice"      long_name="non-solar heat flux at ice surface: sum over categories"                                                                         unit="W/m2"        /> 
    140          <field id="qtr_ice"      long_name="solar heat flux transmitted through ice: sum over categories"                                                                    unit="W/m2"        /> 
    141          <field id="qemp_ice"     long_name="Downward Heat Flux from E-P over ice"                                                                                            unit="W/m2"        /> 
    142          <field id="albedo"       long_name="Mean albedo over sea ice and ocean"                                                                                              unit=""             /> 
     72         <field id="qt_ice"       long_name="total heat flux at ice surface"                          standard_name="surface_downward_heat_flux_in_air"         unit="W/m2" /> 
     73         <field id="qsr_ice"      long_name="solar heat flux at ice surface"                          standard_name="surface_downwelling_shortwave_flux_in_air" unit="W/m2" /> 
     74         <field id="qns_ice"      long_name="non-solar heat flux at ice surface (including E-P)"                                                                unit="W/m2" /> 
     75         <field id="qtr_ice_bot"  long_name="solar heat flux transmitted through the ice (to the ocean)"                                                        unit="W/m2" /> 
     76         <field id="qtr_ice_top"  long_name="solar heat flux transmitted through the ice surface"                                                               unit="W/m2" /> 
     77         <field id="qt_oce_ai"    long_name="total heat flux at the ocean   surface: interface oce-(ice+atm)"                                                   unit="W/m2" /> 
     78         <field id="qt_atm_oi"    long_name="total heat flux at the oce-ice surface: interface atm-(ice+oce)"                                                   unit="W/m2" /> 
     79         <field id="qemp_ice"     long_name="Downward Heat Flux from E-P over ice"                                                                              unit="W/m2" /> 
     80         <field id="albedo"       long_name="Mean albedo over sea ice and ocean"                                                                                unit=""     /> 
    14381 
    14482    <!-- trends --> 
    145     <field id="afxtot"       long_name="area tendency (total)"                                        unit="s-1"   /> 
     83         <field id="afxthd"       long_name="sea-ice area fraction change from thermodynamics"  standard_name="tendency_of_sea_ice_area_fraction_due_to_dynamics" unit="s-1" /> 
     84         <field id="afxdyn"       long_name="sea-ice area fraction change from dynamics"        standard_name="tendency_of_sea_ice_area_fraction_due_to_dynamics" unit="s-1" /> 
     85    <field id="afxtot"       long_name="area tendency (total)"                                                                                               unit="s-1" /> 
    14686 
    14787    <!-- momentum (advection) --> 
    148          <field id="icetrp"       long_name="ice mass transport"                                           unit="kg/m2/s"          /> 
    149          <field id="snwtrp"       long_name="snw mass transport"                                           unit="kg/m2/s"          /> 
    150          <field id="saltrp"       long_name="salt     transport"                                           unit="1e-3*kg/m2/s" /> 
    151          <field id="deitrp"       long_name="advected ice enthalpy"                                        unit="W/m2"           /> 
    152          <field id="destrp"       long_name="advected snw enthalpy"                                        unit="W/m2"           /> 
     88         <field id="icemtrp"      long_name="ice  mass transport"                                          unit="kg/m2/s" /> 
     89         <field id="snwmtrp"      long_name="snw  mass transport"                                          unit="kg/m2/s" /> 
     90         <field id="salmtrp"      long_name="salt mass transport"                                          unit="kg/m2/s" /> 
     91         <field id="dihctrp"      long_name="ice heat content transport"                                   unit="W/m2"    /> 
     92         <field id="dshctrp"      long_name="snw heat content transport"                                   unit="W/m2"    /> 
    15393 
    15494    <!-- salt fluxes --> 
    155          <field id="sfxbri"       long_name="salt flux from brines"                                        unit="1e-3*kg/m2/s" /> 
    156          <field id="sfxdyn"       long_name="salt flux from ridging rafting"                               unit="1e-3*kg/m2/s" /> 
    157          <field id="sfxres"       long_name="salt flux from lipupdate (resultant)"                         unit="1e-3*kg/m2/s" /> 
    158          <field id="sfxbog"       long_name="salt flux from bot growth"                                    unit="1e-3*kg/m2/s" /> 
    159          <field id="sfxbom"       long_name="salt flux from bot melt"                                      unit="1e-3*kg/m2/s" /> 
    160          <field id="sfxsum"       long_name="salt flux from surf melt"                                     unit="1e-3*kg/m2/s" /> 
    161          <field id="sfxlam"       long_name="salt flux from lateral melt"                                  unit="1e-3*kg/m2/s" /> 
    162          <field id="sfxsni"       long_name="salt flux from snow-ice formation"                            unit="1e-3*kg/m2/s" /> 
    163          <field id="sfxopw"       long_name="salt flux from open water ice formation"                      unit="1e-3*kg/m2/s" /> 
    164          <field id="sfxsub"       long_name="salt flux from sublimation"                                   unit="1e-3*kg/m2/s" /> 
    165          <field id="sfx"          long_name="Salt flux from sea ice"                                       unit="1e-3*kg/m2/s" /> 
     95         <field id="sfxice"       long_name="ice-ocean salt flux from ice growth/melt (neg = growth)"      unit="kg/m2/s" /> 
     96         <field id="sfxbog"       long_name="ice-ocean salt flux from ice bottom growth"                   unit="kg/m2/s" /> 
     97         <field id="sfxbom"       long_name="ice-ocean salt flux from ice bottom melt"                     unit="kg/m2/s" /> 
     98         <field id="sfxsum"       long_name="ice-ocean salt flux from ice surface melt"                    unit="kg/m2/s" /> 
     99         <field id="sfxlam"       long_name="ice-ocean salt flux from ice lateral melt"                    unit="kg/m2/s" /> 
     100         <field id="sfxsni"       long_name="ice-ocean salt flux from snow-ice formation"                  unit="kg/m2/s" /> 
     101         <field id="sfxopw"       long_name="ice-ocean salt flux from ice formation in open water"         unit="kg/m2/s" /> 
     102         <field id="sfxdyn"       long_name="ice-ocean salt flux from ice dynamics (ridging)"              unit="kg/m2/s" /> 
     103         <field id="sfxbri"       long_name="ice-ocean salt flux from brines"                              unit="kg/m2/s" /> 
     104         <field id="sfxres"       long_name="ice-ocean salt flux from undiagnosed processes"               unit="kg/m2/s" /> 
     105         <field id="sfxsub"       long_name="ice-ocean salt flux from ice sublimation"                     unit="kg/m2/s" /> 
    166106 
    167107    <!-- mass fluxes --> 
    168          <field id="vfxbog"       long_name="bottom thermo ice prod."                                      unit="kg/m2/s"   /> 
    169          <field id="vfxdyn"       long_name="dynamic ice prod."                                            unit="kg/m2/s"   /> 
    170          <field id="vfxopw"       long_name="lateral thermo ice prod."                                     unit="kg/m2/s"   /> 
    171          <field id="vfxsni"       long_name="snowice ice prod."                                            unit="kg/m2/s"   /> 
    172          <field id="vfxsum"       long_name="surface melt"                                                 unit="kg/m2/s"   /> 
    173          <field id="vfxlam"       long_name="lateral melt"                                                 unit="kg/m2/s"   /> 
    174          <field id="vfxbom"       long_name="bottom melt"                                                  unit="kg/m2/s"   /> 
    175          <field id="vfxres"       long_name="resultant ice prod./melting"                                  unit="kg/m2/s"   /> 
    176          <field id="vfxice"       long_name="ice melt/growth"                                              unit="kg/m2/s"   /> 
    177          <field id="vfxsnw"       long_name="snw melt/growth"                                              unit="kg/m2/s"   /> 
    178          <field id="vfxsub"       long_name="snw sublimation"                                              unit="kg/m2/s"   /> 
    179          <field id="vfxsub_err"   long_name="excess of snw sublimation sent to ocean"                      unit="kg/m2/s"   /> 
    180          <field id="vfxspr"       long_name="snw precipitation on ice"                                     unit="kg/m2/s"   /> 
    181          <field id="vfxthin"      long_name="thermo ice prod. for thin ice(20cm) + open water"             unit="kg/m2/s"   /> 
    182          <field id="vfxpnd"       long_name="melt pond water flux to ocean"                                unit="kg/m2/s"   /> 
     108         <field id="vfxice"       long_name="ice-ocean mass flux from ice melt/growth (neg = growth)"      unit="kg/m2/s" /> 
     109         <field id="vfxbog"       long_name="ice-ocean mass flux from ice bottom growth"                   unit="kg/m2/s" /> 
     110         <field id="vfxbom"       long_name="ice-ocean mass flux from ice bottom melt"                     unit="kg/m2/s" /> 
     111         <field id="vfxsum"       long_name="ice-ocean mass flux from ice surface melt"                    unit="kg/m2/s" /> 
     112         <field id="vfxlam"       long_name="ice-ocean mass flux from ice lateral melt"                    unit="kg/m2/s" /> 
     113         <field id="vfxsni"       long_name="ice-ocean mass flux from snow-ice formation"                  unit="kg/m2/s" /> 
     114         <field id="vfxopw"       long_name="ice-ocean mass flux from ice growth in open water"            unit="kg/m2/s" /> 
     115         <field id="vfxdyn"       long_name="ice-ocean mass flux from ice dynamics (ridging)"              unit="kg/m2/s" /> 
     116         <field id="vfxres"       long_name="ice-ocean mass flux from undiagnosed processes"               unit="kg/m2/s" /> 
     117         <field id="vfxpnd"       long_name="ice-ocean mass flux from ice melt ponds"                      unit="kg/m2/s" /> 
     118         <field id="vfxsub"       long_name="ice-atm.  mass flux from ice sublimation"                     unit="kg/m2/s" /> 
     119         <field id="vfxsub_err"   long_name="ice-ocean mass flux from unbalance in sublimation (incl. in qt_oce_ai)" unit="kg/m2/s" /> 
     120         <field id="vfxthin"      long_name="ice-ocean mass flux from ice growth in open water + thin ice(20cm)" unit="kg/m2/s" /> 
     121 
     122         <field id="vfxsnw"       long_name="ice-ocean mass flux from snw melt/growth (neg = growth)"      unit="kg/m2/s" /> 
     123         <field id="vfxsnw_sum"   long_name="ice-ocean mass flux from snw surface melt"                    unit="kg/m2/s" /> 
     124         <field id="vfxsnw_sni"   long_name="ice-ocean mass flux from snow-ice formation"                  unit="kg/m2/s" /> 
     125         <field id="vfxsnw_dyn"   long_name="ice-ocean mass flux from dynamics (ridging)"                  unit="kg/m2/s" /> 
     126         <field id="vfxsnw_sub"   long_name="ice-atm.  mass flux from snw sublimation"                     unit="kg/m2/s" /> 
     127         <field id="vfxsnw_pre"   long_name="snw precipitation on ice"                                     unit="kg/m2/s" /> 
    183128 
    184129    <!-- heat fluxes --> 
    185          <field id="hfxsum"       long_name="heat fluxes causing surface ice melt"                         unit="W/m2"  /> 
    186          <field id="hfxbom"       long_name="heat fluxes causing bottom ice melt"                          unit="W/m2"  /> 
    187          <field id="hfxbog"       long_name="heat fluxes causing bottom ice growth"                        unit="W/m2"  /> 
    188          <field id="hfxdif"       long_name="heat fluxes causing ice temperature change"                   unit="W/m2"  /> 
    189          <field id="hfxopw"       long_name="heat fluxes causing open water ice formation"                 unit="W/m2"  /> 
    190          <field id="hfxsnw"       long_name="heat fluxes causing snow melt"                                unit="W/m2"  /> 
    191          <field id="hfxerr"       long_name="heat fluxes error after heat diffusion"                       unit="W/m2"  /> 
    192          <field id="hfxerr_rem"   long_name="heat fluxes error after remapping"                            unit="W/m2"  /> 
    193          <field id="hfxout"       long_name="total heat fluxes received by the ocean"                      unit="W/m2"  /> 
    194          <field id="hfxin"        long_name="total heat fluxes at the ice/ocean surface"                   unit="W/m2"  /> 
    195  
     130         <field id="hfxbog"       long_name="heat flux used for bottom ice growth (neg.)"                  unit="W/m2" /> 
     131         <field id="hfxbom"       long_name="heat flux used for bottom ice melt (pos.)"                    unit="W/m2" /> 
     132         <field id="hfxsum"       long_name="heat flux used for surface ice melt"                          unit="W/m2" /> 
     133         <field id="hfxopw"       long_name="heat flux used for open water ice formation"                  unit="W/m2" /> 
     134         <field id="hfxdif"       long_name="heat flux used for ice temperature change"                    unit="W/m2" /> 
     135         <field id="hfxsnw"       long_name="heat flux used for snow melt"                                 unit="W/m2" /> 
     136         <field id="hfxerr"       long_name="heat flux error after heat diffusion"                         unit="W/m2" /> 
    196137         <!-- heat fluxes associated with mass exchange --> 
    197          <field id="hfxthd"       long_name="heat fluxes from ice-ocean mass exchange during thermo"       unit="W/m2"  /> 
    198          <field id="hfxdyn"       long_name="heat fluxes from ice-ocean mass exchange during dynamic"      unit="W/m2"  /> 
    199          <field id="hfxres"       long_name="heat fluxes from ice-ocean mass exchange during resultant"    unit="W/m2"  /> 
    200          <field id="hfxsub"       long_name="heat fluxes from ice-atm. mass exchange during sublimation"   unit="W/m2"  /> 
    201          <field id="hfxspr"       long_name="heat fluxes from ice-atm. mass exchange during snow precip"   unit="W/m2"  /> 
     138         <field id="hfxthd"       long_name="heat fluxes from ice-ocean mass exchange during thermo"       unit="W/m2" /> 
     139         <field id="hfxdyn"       long_name="heat fluxes from ice-ocean mass exchange during dynamic"      unit="W/m2" /> 
     140         <field id="hfxres"       long_name="heat fluxes from ice-ocean mass exchange during resultant"    unit="W/m2" /> 
     141         <field id="hfxsub"       long_name="heat fluxes from ice-atm. mass exchange during sublimation"   unit="W/m2" /> 
     142         <field id="hfxspr"       long_name="heat fluxes from ice-atm. mass exchange during snow precip"   unit="W/m2" /> 
     143 
     144         <field id="hfxsensib"    long_name="Net sensible heat flux under sea ice (neg = ice cooling)"         standard_name="ice_ocean_heat_flux"                        unit="W/m2" /> 
     145         <field id="hfxcndtop"    long_name="Net conductive heat flux at the ice surface (neg = ice cooling)"  standard_name="conductive_heat_flux_at_sea_ice_surface"    unit="W/m2" />  
     146         <field id="hfxcndbot"    long_name="Net conductive heat flux at the ice bottom (neg = ice cooling)"   standard_name="conductive_heat_flux_at_sea_ice_bottom"     unit="W/m2" /> 
    202147 
    203148         <!-- diags --> 
    204          <field id="hfxdhc"       long_name="Heat content variation in snow and ice"                       unit="W/m2" /> 
    205          <field id="hfxtur"       long_name="turbulent heat flux at the ice base"                          unit="W/m2" /> 
     149         <field id="hfxdhc"       long_name="Heat content variation in snow and ice (neg = ice cooling)"   unit="W/m2" /> 
    206150 
    207151    <!-- sbcssm variables --> 
     
    215159 
    216160    <!-- categories --> 
    217     <field id="iceconc_cat"  long_name="Sea-ice concentration in thickness categories"                unit=""       grid_ref="grid_T_3D_ncatice" /> 
    218          <field id="icethic_cat"  long_name="Sea-ice thickness in thickness categories"                    unit="m"      grid_ref="grid_T_3D_ncatice" /> 
    219          <field id="snowthic_cat" long_name="Snow thickness in thickness categories"                       unit="m"      grid_ref="grid_T_3D_ncatice" /> 
    220          <field id="iceage_cat"   long_name="Ice age for categories"                                       unit="days"   grid_ref="grid_T_3D_ncatice" /> 
    221          <field id="salinity_cat" long_name="Sea-Ice Bulk salinity for categories"                         unit="g/kg"   grid_ref="grid_T_3D_ncatice" /> 
    222          <field id="brinevol_cat" long_name="Brine volume for categories"                                  unit="%"      grid_ref="grid_T_3D_ncatice" /> 
    223          <field id="icetemp_cat"  long_name="Ice temperature for categories"                               unit="degC"   grid_ref="grid_T_3D_ncatice" /> 
    224          <field id="snwtemp_cat"  long_name="Snow temperature for categories"                              unit="degC"   grid_ref="grid_T_3D_ncatice" /> 
    225          <field id="iceamp_cat"   long_name="Ice melt pond concentration for categories"                   unit="%"      grid_ref="grid_T_3D_ncatice" />  
    226          <field id="icevmp_cat"   long_name="Ice melt pond volume for categories"                          unit="m"      grid_ref="grid_T_3D_ncatice" />  
    227          <field id="icehmp_cat"   long_name="Ice melt pond thickness for categories"                       unit="m"      grid_ref="grid_T_3D_ncatice" />  
    228          <field id="iceafp_cat"   long_name="Ice melt pond fraction for categories"                        unit="m"      grid_ref="grid_T_3D_ncatice" />  
     161    <field id="iceconc_cat"  long_name="Sea-ice concentration per category"                unit=""       grid_ref="grid_T_3D_ncatice" /> 
     162         <field id="icethic_cat"  long_name="Sea-ice thickness per category"                    unit="m"      grid_ref="grid_T_3D_ncatice" /> 
     163         <field id="snwthic_cat"  long_name="Snow thickness per category"                       unit="m"      grid_ref="grid_T_3D_ncatice" /> 
     164         <field id="icesalt_cat"  long_name="Sea-Ice Bulk salinity per category"                unit="g/kg"   grid_ref="grid_T_3D_ncatice" /> 
     165         <field id="icetemp_cat"  long_name="Ice temperature per category"                      unit="degC"   grid_ref="grid_T_3D_ncatice" /> 
     166         <field id="snwtemp_cat"  long_name="Snow temperature per category"                     unit="degC"   grid_ref="grid_T_3D_ncatice" /> 
     167         <field id="iceapnd_cat"  long_name="Ice melt pond concentration per category"          unit="%"      grid_ref="grid_T_3D_ncatice" />  
     168         <field id="icehpnd_cat"  long_name="Ice melt pond thickness per category"              unit="m"      grid_ref="grid_T_3D_ncatice" />  
     169         <field id="iceafpnd_cat" long_name="Ice melt pond fraction per category"               unit="m"      grid_ref="grid_T_3D_ncatice" />  
     170         <field id="icemask_cat"  long_name="Ice mask (0 if no ice, 1 otherwise) per category"  unit=""       grid_ref="grid_T_3D_ncatice" /> 
     171         <field id="iceage_cat"   long_name="Ice age per category"                              unit="days"   grid_ref="grid_T_3D_ncatice" /> 
     172         <field id="icebrv_cat"   long_name="Brine volume per category"                         unit="%"      grid_ref="grid_T_3D_ncatice" /> 
     173 
     174    <!-- ================= --> 
     175         <!-- Add-ons for SIMIP --> 
     176         <!-- ================= --> 
     177         <field id="icemass_cmip" long_name="Sea-ice mass per area"                                   standard_name="sea_ice_amount"                             unit="kg/m2"  > icemass * icemask   + 1.e20 * (1.-icemask  ) </field> 
     178         <field id="icethic_cmip" long_name="Sea-ice thickness"                                       standard_name="sea_ice_thickness"                          unit="m"      > icethic * icemask05 + 1.e20 * (1.-icemask05) </field> 
     179         <field id="snwmass_cmip" long_name="Snow mass per area"                                      standard_name="liquid_water_content_of_surface_snow"       unit="kg/m2"  > snwmass * icemask   + 1.e20 * (1.-icemask  ) </field> 
     180         <field id="snwthic_cmip" long_name="Snow thickness"                                          standard_name="surface_snow_thickness"                     unit="m"      > snwthic * icemask05 + 1.e20 * (1.-icemask05) </field> 
     181         <field id="iceconc_pct"  long_name="Sea-ice area fraction in percent"                        standard_name="sea_ice_area_fraction_in_percent"           unit="%"      > iceconc * 100.                                </field> 
     182         <field id="iceage_cmip"  long_name="Age of sea ice"                                          standard_name="age_of_sea_ice"                             unit="days"   > iceage  * icemask15 + 1.e20 * (1.-icemask15) </field> 
     183         <field id="icesalt_cmip" long_name="Sea ice salinity"                                        standard_name="sea_ice_salinity"                           unit="g/kg"   > icesalt * icemask   + 1.e20 * (1.-icemask)   </field> 
     184         <field id="icefrb_cmip"  long_name="Sea-ice freeboard"                                       standard_name="sea_ice_freeboard"                          unit="m"      > icefrb  * icemask   + 1.e20 * (1.-icemask)   </field> 
     185 
     186    <!-- heat --> 
     187         <field id="icettop_cmip" long_name="Surface temperature of sea ice"                          standard_name="sea_ice_surface_temperature"                unit="K"  > (icettop+273.15) * icemask + 1.e20 * (1.-icemask) </field> 
     188         <field id="icetsni_cmip" long_name="Temperature at snow-ice interface"                       standard_name="sea_ice_snow_interface_temperature"         unit="K"  > (icetsni+273.15) * icemask + 1.e20 * (1.-icemask) </field> 
     189         <field id="icetbot_cmip" long_name="Temperature at ice-ocean interface"                      standard_name="sea_ice_bottom_temperature"                 unit="K"  > (icetbot+273.15) * icemask + 1.e20 * (1.-icemask) </field> 
     190         <field id="icehc_cmip"   long_name="Sea-ice heat content per unit area"                      standard_name="integral_of_sea_ice_temperature_wrt_depth_expressed_as_heat_content" unit="J/m2" > icehc * icemask + 1.e20 * (1.-icemask) </field> 
     191         <field id="snwhc_cmip"   long_name="Snow-heat content per unit area"                         standard_name="thermal_energy_content_of_surface_snow"                              unit="J/m2" > snwhc * icemask + 1.e20 * (1.-icemask) </field> 
     192 
     193    <!-- fluxes (mass, heat, salt) --> 
     194         <field id="vfxsum_cmip"    long_name="Freshwater flux from sea-ice surface"                  standard_name="freshwater_flux_from_ice_surface"           unit="kg/m2/s"  > vfxsum    * icemask + 1.e20 * (1.-icemask) </field> 
     195         <field id="vfxice_cmip"    long_name="Freshwater flux from sea ice"                          standard_name="freshwater_flux_from_ice"                   unit="kg/m2/s"  > vfxice    * icemask + 1.e20 * (1.-icemask) </field> 
     196         <field id="hfxsensib_cmip" long_name="Net sensible heat flux under sea ice"                  standard_name="ice_ocean_heat_flux"                        unit="W/m2"     > hfxsensib * icemask + 1.e20 * (1.-icemask) </field>  
     197         <field id="hfxcndtop_cmip" long_name="Net conductive heat flux at the ice surface"           standard_name="conductive_heat_flux_at_sea_ice_surface"    unit="W/m2"     > hfxcndtop * icemask + 1.e20 * (1.-icemask) </field>  
     198         <field id="hfxcndbot_cmip" long_name="Net conductive heat flux at the ice bottom"            standard_name="conductive_heat_flux_at_sea_ice_bottom"     unit="W/m2"     > hfxcndbot * icemask + 1.e20 * (1.-icemask) </field> 
     199         <field id="sfxice_cmip"    long_name="Salt flux from sea ice"                                standard_name="salt_flux_from_ice"                         unit="kg/m2/s"  > sfxice    * icemask + 1.e20 * (1.-icemask) </field> 
     200 
     201    <!-- trends --> 
     202         <field id="dmithd"       long_name="sea-ice mass change from thermodynamics"                 standard_name="tendency_of_sea_ice_amount_due_to_thermodynamics"                        unit="kg/m2/s" /> 
     203         <field id="dmidyn"       long_name="sea-ice mass change from dynamics"                       standard_name="tendency_of_sea_ice_amount_due_to_dynamics"                              unit="kg/m2/s" /> 
     204         <field id="dmiopw"       long_name="sea-ice mass change through growth in supercooled open water (frazil)" standard_name="tendency_of_sea_ice_amount_due_to_freezing_in_open_water"  unit="kg/m2/s" /> 
     205         <field id="dmibog"       long_name="sea-ice mass change through basal growth"                standard_name="tendency_of_sea_ice_amount_due_to_congelation_ice_accumulation"          unit="kg/m2/s" /> 
     206         <field id="dmisni"       long_name="sea-ice mass change through snow-to-ice conversion"      standard_name="tendency_of_sea_ice_amount_due_to_snow_conversion"                       unit="kg/m2/s" /> 
     207         <field id="dmtsub"       long_name="snow and sea ice mass change through sublimation"        standard_name="tendency_of_snow_and_ice_amount_due_to_sublimation"                      unit="kg/m2/s" /> 
     208         <field id="dmssub"       long_name="sea-ice mass change through evaporation and sublimation" standard_name="water_evaporation_flux"                                                  unit="kg/m2/s" /> 
     209         <field id="dmisub"       long_name="snow mass change through evaporation or sublimation"     standard_name="surface_snow_sublimation_flux"                                           unit="kg/m2/s" /> 
     210         <field id="dmisum"       long_name="sea-ice mass change through surface melting"             standard_name="tendency_of_sea_ice_amount_due_to_surface_melting"                       unit="kg/m2/s" /> 
     211         <field id="dmibom"       long_name="sea-ice mass change through bottom melting"              standard_name="tendency_of_sea_ice_amount_due_to_basal_melting"                         unit="kg/m2/s" /> 
     212         <field id="dmsspr"       long_name="snow mass change through snow fall"                      standard_name="snowfall_flux"                                                           unit="kg/m2/s" /> 
     213         <field id="dmsmel"       long_name="snow mass change through melt"                           standard_name="surface_snow_melt_flux"                                                  unit="kg/m2/s" /> 
     214         <field id="dmsdyn"       long_name="snow mass change through advection by sea-ice dynamics"  standard_name="tendency_of_snow_mass_due_to_sea_ice_dynamics"                           unit="kg/m2/s" /> 
     215         <field id="dmsssi"       long_name="snow mass change through snow-to-ice conversion"         standard_name="tendency_of_snow_mass_due_to_snow_to_ice_conversion"                     unit="kg/m2/s" /> 
     216 
     217    <!-- momentum (rheology) --> 
     218         <field id="uice_cmip"    long_name="X-component of sea ice velocity"                         standard_name="sea_ice_x_velocity"                    unit="m/s"   > uice    * icemask + 1.e20 * (1.-icemask) </field> 
     219         <field id="vice_cmip"    long_name="Y-component of sea ice velocity"                         standard_name="sea_ice_y_velocity"                    unit="m/s"   > vice    * icemask + 1.e20 * (1.-icemask) </field>      
     220         <field id="icevel_cmip"  long_name="Sea-ice speed"                                           standard_name="sea_ice_speed"                         unit="m/s"   > icevel  * icemask + 1.e20 * (1.-icemask) </field>  
     221         <field id="utau_ai_cmip" long_name="X-component of atmospheric stress on sea ice"            standard_name="surface_downward_x_stress"             unit="N/m2"  > utau_ai * icemask + 1.e20 * (1.-icemask) </field> 
     222         <field id="vtau_ai_cmip" long_name="Y-component of atmospheric stress on sea ice"            standard_name="surface_downward_y_stress"             unit="N/m2"  > vtau_ai * icemask + 1.e20 * (1.-icemask) </field> 
     223         <field id="dssh_dx"      long_name="Sea-surface tilt term in force balance (x-component)"    standard_name="sea_surface_tilt_force_on_sea_ice_x"   unit="N/m2" /> 
     224         <field id="dssh_dy"      long_name="Sea-surface tilt term in force balance (y-component)"    standard_name="sea_surface_tilt_force_on_sea_ice_y"   unit="N/m2" /> 
     225         <field id="corstrx"      long_name="Coriolis force term in force balance (x-component)"      standard_name="coriolis_force_on_sea_ice_x"           unit="N/m2" /> 
     226         <field id="corstry"      long_name="Coriolis force term in force balance (y-component)"      standard_name="coriolis_force_on_sea_ice_y"           unit="N/m2" /> 
     227         <field id="intstrx"      long_name="Internal stress term in force balance (x-component)"     standard_name="internal_stress_in_sea_ice_x"          unit="N/m2" /> 
     228         <field id="intstry"      long_name="Internal stress term in force balance (y-component)"     standard_name="internal_stress_in_sea_ice_y"          unit="N/m2" /> 
     229 
     230    <!-- momentum (advection) --> 
     231    <field id="xmtrpice"     long_name="X-component of ice mass transport"                       standard_name="ice_x_transport"                       unit="kg/s" /> 
     232         <field id="ymtrpice"     long_name="Y-component of ice mass transport"                       standard_name="ice_y_transport"                       unit="kg/s" /> 
     233         <field id="xmtrpsnw"     long_name="X-component of snw mass transport"                       standard_name="snw_x_transport"                       unit="kg/s" /> 
     234         <field id="ymtrpsnw"     long_name="Y-component of snw mass transport"                       standard_name="snw_y_transport"                       unit="kg/s" /> 
     235         <field id="xatrp"        long_name="X-component of ice area transport"                       standard_name="area_x_transport"                      unit="m2/s" /> 
     236         <field id="yatrp"        long_name="Y-component of ice area transport"                       standard_name="area_y_transport"                      unit="m2/s" /> 
     237         <field id="xmtrptot"     long_name="X-component of sea-ice mass transport"                   standard_name="sea_ice_x_transport"                   unit="kg/s" > xmtrpice + xmtrpsnw </field> 
     238         <field id="ymtrptot"     long_name="Y-component of sea-ice mass transport"                   standard_name="sea_ice_y_transport"                   unit="kg/s" > ymtrpice + ymtrpsnw </field> 
     239 
     240    <!-- categories --> 
     241         <field id="iceconc_cat_cmip"     long_name="Sea-ice area fractions in thickness categories"  standard_name="sea_ice_area_fraction_over_categories" unit=""   grid_ref="grid_T_3D_ncatice" > iceconc_cat * icemask_cat + 1.e20 * (1.-icemask_cat) </field> 
     242         <field id="icethic_cat_cmip"     long_name="Sea-ice thickness in thickness categories"       standard_name="sea_ice_thickness_over_categories"     unit="m"  grid_ref="grid_T_3D_ncatice" > icethic_cat * icemask_cat + 1.e20 * (1.-icemask_cat) </field> 
     243         <field id="snwthic_cat_cmip"     long_name="Snow thickness in thickness categories"          standard_name="snow_thickness_over_categories"        unit="m"  grid_ref="grid_T_3D_ncatice" > snwthic_cat * icemask_cat + 1.e20 * (1.-icemask_cat) </field> 
     244         <field id="iceconc_cat_pct_cmip" long_name="Sea-ice area fractions in thickness categories"  standard_name="sea_ice_area_fraction_over_categories" unit="%"  grid_ref="grid_T_3D_ncatice" > iceconc_cat*100. * icemask_cat + 1.e20 * (1.-icemask_cat) </field> 
    229245     
    230246      </field_group> 
    231247 
    232       <!-- LIM3 scalar variables --> 
     248      <!-- scalar variables --> 
    233249      <field_group id="SBC_scalar"  grid_ref="grid_T_2D" > 
    234          <!-- available with ln_limdiaout --> 
    235          <field id="ibgfrcvoltop"    long_name="global mean ice/snow forcing at interface ice/snow-atm (volume equivalent ocean volume)"   unit="km3"        /> 
    236          <field id="ibgfrcvolbot"    long_name="global mean ice/snow forcing at interface ice/snow-ocean (volume equivalent ocean volume)" unit="km3"        /> 
    237          <field id="ibgfrctemtop"    long_name="global mean heat on top of ice/snw/ocean-atm "                                             unit="1e20J"      /> 
    238          <field id="ibgfrctembot"    long_name="global mean heat below ice (on top of ocean) "                                             unit="1e20J"      /> 
    239          <field id="ibgfrcsal"       long_name="global mean ice/snow forcing (salt equivalent ocean volume)"                               unit="pss*km3"    /> 
    240          <field id="ibgfrchfxtop"    long_name="global mean heat flux on top of ice/snw/ocean-atm "                                        unit="W/m2"       /> 
    241          <field id="ibgfrchfxbot"    long_name="global mean heat flux below ice (on top of ocean) "                                        unit="W/m2"       /> 
     250         <!-- available with ln_icediaout --> 
     251         <field id="ibgfrcvoltop"    long_name="global mean ice/snow forcing at interface ice/snow-atm (volume equivalent ocean volume)"   unit="km3"      /> 
     252         <field id="ibgfrcvolbot"    long_name="global mean ice/snow forcing at interface ice/snow-ocean (volume equivalent ocean volume)" unit="km3"      /> 
     253         <field id="ibgfrctemtop"    long_name="global mean heat on top of ice/snw/ocean-atm "                                             unit="1e20J"    /> 
     254         <field id="ibgfrctembot"    long_name="global mean heat below ice (on top of ocean) "                                             unit="1e20J"    /> 
     255         <field id="ibgfrcsal"       long_name="global mean ice/snow forcing (salt equivalent ocean volume)"                               unit="pss*km3"  /> 
     256         <field id="ibgfrchfxtop"    long_name="global mean heat flux on top of ice/snw/ocean-atm "                                        unit="W/m2"     /> 
     257         <field id="ibgfrchfxbot"    long_name="global mean heat flux below ice (on top of ocean) "                                        unit="W/m2"     /> 
    242258  
    243          <field id="ibgvolume"       long_name="drift in ice/snow volume (equivalent ocean volume)"                                        unit="km3"        /> 
    244          <field id="ibgsaltco"       long_name="drift in ice salt content (equivalent ocean volume)"                                       unit="pss*km3"    /> 
    245          <field id="ibgheatco"       long_name="drift in ice/snow heat content"                                                            unit="1e20J"      /> 
    246          <field id="ibgheatfx"       long_name="drift in ice/snow heat flux"                                                               unit="W/m2"       /> 
    247  
    248          <field id="ibgvol_tot"      long_name="global mean ice volume"                                                                    unit="km3"        /> 
    249          <field id="sbgvol_tot"      long_name="global mean snow volume"                                                                   unit="km3"        /> 
    250          <field id="ibgarea_tot"     long_name="global mean ice area"                                                                      unit="km2"        /> 
    251          <field id="ibgsalt_tot"     long_name="global mean ice salt content"                                                              unit="1e-3*km3"   /> 
    252          <field id="ibgheat_tot"     long_name="global mean ice heat content"                                                              unit="1e20J"      /> 
    253          <field id="sbgheat_tot"     long_name="global mean snow heat content"                                                             unit="1e20J"      /> 
    254  
    255          <field id="NH_iceextt"      long_name="Sea ice extent North"                            standard_name="sea_ice_extent_n"          unit="1e6_km2"    /> 
    256          <field id="SH_iceextt"      long_name="Sea ice extent South"                            standard_name="sea_ice_extent_s"          unit="1e6_km2"    /> 
    257          <field id="NH_icevolu"      long_name="Sea ice volume North"                            standard_name="sea_ice_volume_n"          unit="1e3_km3"    /> 
    258          <field id="SH_icevolu"      long_name="Sea ice volume South"                            standard_name="sea_ice_volume_s"          unit="1e3_km3"    /> 
    259          <field id="NH_icearea"      long_name="Sea ice area North"                              standard_name="sea_ice_area_n"            unit="1e6_km2"    /> 
    260          <field id="SH_icearea"      long_name="Sea ice area South"                              standard_name="sea_ice_area_s"            unit="1e6_km2"    /> 
    261  
    262          <field id="strait_mifl"     long_name="Sea ice mass flux through straits"      standard_name="sea_ice_mass_transport_across_line" unit="kg/s"  grid_ref="grid_4strait"   /> 
    263          <field id="strait_arfl"     long_name="Sea ice area flux through straits"      standard_name="sea_ice_area_transport_across_line" unit="m2/s"  grid_ref="grid_4strait"   />   
    264          <field id="strait_msfl"     long_name="Sea ice snow flux through straits"      standard_name="snow_mass_transport_across_line"    unit="kg/s"  grid_ref="grid_4strait"   /> 
     259         <field id="ibgvolume"       long_name="drift in ice/snow volume (equivalent ocean volume)"                                        unit="km3"      /> 
     260         <field id="ibgsaltco"       long_name="drift in ice salt content (equivalent ocean volume)"                                       unit="pss*km3"  /> 
     261         <field id="ibgheatco"       long_name="drift in ice/snow heat content"                                                            unit="1e20J"    /> 
     262         <field id="ibgheatfx"       long_name="drift in ice/snow heat flux"                                                               unit="W/m2"     /> 
     263 
     264         <field id="ibgvol_tot"      long_name="global mean ice volume"                                                                    unit="km3"      /> 
     265         <field id="sbgvol_tot"      long_name="global mean snow volume"                                                                   unit="km3"      /> 
     266         <field id="ibgarea_tot"     long_name="global mean ice area"                                                                      unit="km2"      /> 
     267         <field id="ibgsalt_tot"     long_name="global mean ice salt content"                                                              unit="1e-3*km3" /> 
     268         <field id="ibgheat_tot"     long_name="global mean ice heat content"                                                              unit="1e20J"    /> 
     269         <field id="sbgheat_tot"     long_name="global mean snow heat content"                                                             unit="1e20J"    /> 
     270 
     271         <field id="NH_iceextt"      long_name="Sea ice extent North"                   standard_name="sea_ice_extent_n"                   unit="1e6_km2"  /> 
     272         <field id="SH_iceextt"      long_name="Sea ice extent South"                   standard_name="sea_ice_extent_s"                   unit="1e6_km2"  /> 
     273         <field id="NH_icevolu"      long_name="Sea ice volume North"                   standard_name="sea_ice_volume_n"                   unit="1e3_km3"  /> 
     274         <field id="SH_icevolu"      long_name="Sea ice volume South"                   standard_name="sea_ice_volume_s"                   unit="1e3_km3"  /> 
     275         <field id="NH_icearea"      long_name="Sea ice area North"                     standard_name="sea_ice_area_n"                     unit="1e6_km2"  /> 
     276         <field id="SH_icearea"      long_name="Sea ice area South"                     standard_name="sea_ice_area_s"                     unit="1e6_km2"  /> 
     277 
     278         <field id="strait_mifl"     long_name="Sea ice mass flux through straits"      standard_name="sea_ice_mass_transport_across_line" unit="kg/s"  grid_ref="grid_4strait" /> 
     279         <field id="strait_arfl"     long_name="Sea ice area flux through straits"      standard_name="sea_ice_area_transport_across_line" unit="m2/s"  grid_ref="grid_4strait" />   
     280         <field id="strait_msfl"     long_name="Sea ice snow flux through straits"      standard_name="snow_mass_transport_across_line"    unit="kg/s"  grid_ref="grid_4strait" /> 
    265281 
    266282      </field_group> 
     
    272288       
    273289      <field_group id="myvarICE" > 
    274          <field field_ref="icethick"         name="sithic"  /> 
     290         <field field_ref="icethic"          name="sithic"  /> 
    275291         <field field_ref="icevolu"          name="sivolu"  /> 
    276292         <field field_ref="iceconc"          name="siconc"  /> 
     
    304320      <!--============================--> 
    305321      <!-- SIMIP sea ice field groups --> 
    306       <!-- Notz et al 2016            --> 
     322      <!--     Notz et al 2016        --> 
    307323      <!--============================--> 
    308324 
     
    318334      </field_group> 
    319335 
    320       <!-- SIMIP daily fields --> <field_group id="SIday_fields">  
     336      <!-- SIMIP daily fields --> 
     337      <field_group id="SIday_fields">  
    321338          <field field_ref="icepres"          name="sitimefrac"   />  
    322339          <field field_ref="iceconc_pct"      name="siconc"       />  
    323           <field field_ref="icethic"          name="sithick"      default_value="1.0e20" detect_missing_value="true" operation="average" />  
    324           <field field_ref="snothic"          name="sisnthick"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    325           <field field_ref="icestK"           name="sitemptop"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    326           <field field_ref="uice_mv"          name="siu"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    327           <field field_ref="vice_mv"          name="siv"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    328           <field field_ref="icevel_mv"        name="sispeed"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     340          <field field_ref="icethic_cmip"     name="sithick"      default_value="1.0e20" detect_missing_value="true" operation="average" />  
     341          <field field_ref="snwthic_cmip"     name="sisnthick"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     342          <field field_ref="icettop_cmip"     name="sitemptop"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     343          <field field_ref="uice_cmip"        name="siu"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     344          <field field_ref="vice_cmip"        name="siv"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     345          <field field_ref="icevel_cmip"      name="sispeed"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    329346      </field_group> 
    330347 
     
    334351          <field field_ref="icepres"          name="sitimefrac"   /> 
    335352          <field field_ref="iceconc_pct"      name="siconc"       /> 
    336           <field field_ref="icemass"          name="simass"      /> 
    337           <field field_ref="icethic"          name="sithick"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     353          <field field_ref="icemass_cmip"     name="simass"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     354          <field field_ref="icethic_cmip"     name="sithick"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    338355          <field field_ref="icevolu"          name="sivol"        /> 
    339           <field field_ref="snomass"          name="sisnmass"     default_value="1.0e20" detect_missing_value="true" operation="average" />  
    340           <field field_ref="snothic"          name="sisnthick"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     356          <field field_ref="snwmass_cmip"     name="sisnmass"     default_value="1.0e20" detect_missing_value="true" operation="average" />  
     357          <field field_ref="snwthic_cmip"     name="sisnthick"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    341358    
    342359          <!-- category-dependent fields --> 
    343           <field field_ref="iceconc_cat_pct_mv" name="siitdconc"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    344           <field field_ref="icethic_cat_mv"      name="siitdthick"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    345           <field field_ref="snowthic_cat_mv"     name="siitdsnthick" default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     360          <field field_ref="iceconc_cat_pct_cmip" name="siitdconc"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     361          <field field_ref="icethic_cat_cmip"     name="siitdthick"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     362          <field field_ref="snwthic_cat_cmip"     name="siitdsnthick" default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    346363 
    347364          <!-- additional state variables--> 
    348           <field field_ref="icestK"           name="sitemptop"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    349           <field field_ref="icesntK"          name="sitempsnic"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    350           <field field_ref="icebotK"          name="sitempbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    351           <field field_ref="iceage"           name="siage"        default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    352           <field field_ref="icesmass"         name="sisaltmass"   /> 
    353           <field field_ref="icesal"           name="sisali"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    354           <field field_ref="icefb"            name="sifb"         default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    355           <field field_ref="icehcneg"         name="sihc"        /> 
    356           <field field_ref="isnhcneg"         name="sisnhc"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     365          <field field_ref="icettop_cmip"     name="sitemptop"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     366          <field field_ref="icetsni_cmip"     name="sitempsnic"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     367          <field field_ref="icetbot_cmip"     name="sitempbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     368          <field field_ref="iceage_cmip"      name="siage"        default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     369          <field field_ref="icesalm"          name="sisaltmass"   /> 
     370          <field field_ref="icesalt_cmip"     name="sisali"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     371          <field field_ref="icefrb_cmip"      name="sifb"         default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     372          <field field_ref="icehc_cmip"       name="sihc"         default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     373          <field field_ref="snwhc_cmip"       name="sisnhc"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    357374 
    358375          <!-- freshwater fluxes --> 
    359           <field field_ref="wfxtot"           name="siflfwbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    360           <field field_ref="wfxsum"           name="siflfwdrain"  default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     376          <field field_ref="vfxice_cmip"      name="siflfwbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     377          <field field_ref="vfxsum_cmip"      name="siflfwdrain"  default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    361378 
    362379          <!-- area balance --> 
     
    380397 
    381398          <!-- heat balance --> 
    382           <field field_ref="hfxsenso"         name="siflsensupbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    383           <field field_ref="hfxconsu"         name="siflcondtop"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    384           <field field_ref="hfxconbo"         name="siflcondbot"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     399          <field field_ref="hfxsensib"        name="siflsensupbot"    default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     400          <field field_ref="hfxcndtop"        name="siflcondtop"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     401          <field field_ref="hfxcndbot"        name="siflcondbot"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    385402 
    386403          <!-- salt balance --> 
    387           <field field_ref="sfx_mv"           name="siflsaltbot"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     404          <field field_ref="sfxice_cmip"      name="siflsaltbot"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    388405 
    389406          <!-- sea-ice dynamics --> 
    390           <field field_ref="uice_mv"          name="siu"              default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    391           <field field_ref="vice_mv"          name="siv"              default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    392           <field field_ref="icevel_mv"        name="sispeed"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    393  
    394           <field field_ref="utau_ice"         name="sistrxdtop"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    395           <field field_ref="vtau_ice"         name="sistrydtop"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    396  
     407          <field field_ref="uice_cmip"        name="siu"              default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     408          <field field_ref="vice_cmip"        name="siv"              default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     409          <field field_ref="icevel_cmip"      name="sispeed"          default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     410          <field field_ref="utau_ai_cmip"     name="sistrxdtop"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
     411          <field field_ref="vtau_ai_cmip"     name="sistrydtop"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    397412          <field field_ref="utau_oi"          name="sistrxubot"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    398413          <field field_ref="vtau_oi"          name="sistryubot"       default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    399  
    400414          <field field_ref="icestr"           name="sicompstren"      default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    401  
    402415          <field field_ref="dssh_dx"          name="siforcetiltx"     default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    403416          <field field_ref="dssh_dy"          name="siforcetilty"     default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    404  
    405417          <field field_ref="corstrx"          name="siforcecoriolx"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    406418          <field field_ref="corstry"          name="siforcecorioly"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    407  
    408419          <field field_ref="intstrx"          name="siforceintstrx"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    409420          <field field_ref="intstry"          name="siforceintstry"   default_value="1.0e20" detect_missing_value="true" operation="average" /> 
    410  
    411421          <field field_ref="xmtrptot"         name="sidmasstranx"     /> 
    412422          <field field_ref="ymtrptot"         name="sidmasstrany"     /> 
    413  
    414423          <field field_ref="normstr"          name="sistresave"       default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
    415424          <field field_ref="sheastr"          name="sistremax"        default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
    416  
    417           <field field_ref="idive"            name="sidivvel"         default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
    418           <field field_ref="ishear"           name="sishevel"         default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
     425          <field field_ref="icediv"           name="sidivvel"         default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
     426          <field field_ref="iceshe"           name="sishevel"         default_value="1.0e20" detect_missing_value="true" operation="instant" /> 
    419427 
    420428          <!-- sea ice fluxes across straits: 2D arrays to be post-processed  --> 
  • branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/SHARED/field_def_nemo-opa.xml

    r8881 r8884  
    226226 
    227227         <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 
    228          <field id="qlw_oce"      long_name="Longwave Downward Heat Flux over open ocean"  standard_name="surface_net_downward_longwave_flux"   unit="W/m2"  /> 
    229          <field id="qsb_oce"      long_name="Sensible Downward Heat Flux over open ocean"  standard_name="surface_downward_sensible_heat_flux"  unit="W/m2"  /> 
    230          <field id="qla_oce"      long_name="Latent Downward Heat Flux over open ocean"    standard_name="surface_downward_latent_heat_flux"    unit="W/m2"  /> 
    231          <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                       unit="W/m2"  /> 
    232          <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress" unit="N/m2"  /> 
     228         <field id="qlw_oce"      long_name="Longwave Downward Heat Flux over open ocean"  standard_name="surface_net_downward_longwave_flux"                 unit="W/m2"  /> 
     229         <field id="qsb_oce"      long_name="Sensible Downward Heat Flux over open ocean"  standard_name="surface_downward_sensible_heat_flux"                unit="W/m2"  /> 
     230         <field id="qla_oce"      long_name="Latent Downward Heat Flux over open ocean"    standard_name="surface_downward_latent_heat_flux"                  unit="W/m2"  /> 
     231         <field id="qt_oce"       long_name="total flux at ocean surface"                  standard_name="surface_downward_heat_flux_in_sea_water"            unit="W/m2"  /> 
     232         <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"  /> 
     233         <field id="qns_oce"      long_name="non-solar heat flux at ocean surface (including E-P)"                                                            unit="W/m2"  /> 
     234         <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                                     unit="W/m2"  /> 
     235         <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress"               unit="N/m2"  /> 
    233236 
    234237         <!-- available key_oasis3 --> 
  • branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/TEST_CASES/SAS_BIPER/EXP00/file_def_nemo-lim.xml

    r8882 r8884  
    1717   <file id="file1" name_suffix="_icemod" description="ice variables" enabled=".true." > 
    1818 
    19         <field field_ref="snowvol"          name="snvolu" /> 
     19        <field field_ref="snwvolu"          name="snvolu" /> 
    2020        <field field_ref="icethic"          name="sithic" /> 
    2121        <field field_ref="icevolu"          name="sivolu" /> 
    2222        <field field_ref="iceconc"          name="siconc" /> 
    23         <field field_ref="micesalt"         name="sisali" /> 
    24         <field field_ref="micet"            name="sitemp" /> 
    25         <field field_ref="icest"            name="sistem" /> 
     23        <field field_ref="icesalt"          name="sisali" /> 
     24        <field field_ref="icetemp"          name="sitemp" /> 
     25        <field field_ref="icettop"          name="sittop" /> 
    2626        <field field_ref="uice"             name="sivelu" /> 
    2727        <field field_ref="vice"             name="sivelv" /> 
    2828        <field field_ref="icevel"           name="sivelo" /> 
    29         <field field_ref="idive"            name="sidive" /> 
    30         <field field_ref="ishear"           name="sishea" /> 
     29        <field field_ref="icediv"           name="sidive" /> 
     30        <field field_ref="iceshe"           name="sishea" /> 
    3131        <field field_ref="icestr"           name="sistre" /> 
    3232        <!-- categories --> 
    33         <field field_ref="snowthic_cat"     name="snthicat"/> 
     33        <field field_ref="snwthic_cat"      name="snthicat"/> 
    3434        <field field_ref="iceconc_cat"      name="siconcat"/> 
    3535        <field field_ref="icethic_cat"      name="sithicat"/> 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icectl.F90

    r8882 r8884  
    126126 
    127127         zt = ( glob_sum( (  SUM( SUM( e_i(:,:,1:nlay_i,:), dim=4 ), dim=3 )   & 
    128             &                + SUM( SUM( e_s(:,:,1:nlay_s,:), dim=4 ), dim=3 ) ) * e1e2t ) * zconv   & 
     128            &              + SUM( SUM( e_s(:,:,1:nlay_s,:), dim=4 ), dim=3 ) ) * e1e2t ) * zconv   & 
    129129            &   - pdiag_t ) * r1_rdtice + zft 
    130130 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icedyn_adv.F90

    r8882 r8884  
    105105      diag_trp_vi(:,:) = SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice 
    106106      diag_trp_vs(:,:) = SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice 
    107       IF( iom_use('icetrp') )   CALL iom_put( "icetrp" , diag_trp_vi )          ! ice volume transport 
    108       IF( iom_use('snwtrp') )   CALL iom_put( "snwtrp" , diag_trp_vs )          ! snw volume transport 
    109       IF( iom_use('saltrp') )   CALL iom_put( "saltrp" , diag_trp_sv * rhoic )  ! salt content transport 
    110       IF( iom_use('deitrp') )   CALL iom_put( "deitrp" , diag_trp_ei )          ! advected ice enthalpy (W/m2) 
    111       IF( iom_use('destrp') )   CALL iom_put( "destrp" , diag_trp_es )          ! advected snw enthalpy (W/m2) 
     107      IF( iom_use('icemtrp') )   CALL iom_put( "icemtrp" , diag_trp_vi * rhoic          )   ! ice mass transport 
     108      IF( iom_use('snwmtrp') )   CALL iom_put( "snwmtrp" , diag_trp_vs * rhosn          )   ! snw mass transport 
     109      IF( iom_use('salmtrp') )   CALL iom_put( "salmtrp" , diag_trp_sv * rhoic * 1.e-03 )   ! salt mass transport (kg/m2/s) 
     110      IF( iom_use('dihctrp') )   CALL iom_put( "dihctrp" , -diag_trp_ei                 )   ! advected ice heat content (W/m2) 
     111      IF( iom_use('dshctrp') )   CALL iom_put( "dshctrp" , -diag_trp_es                 )   ! advected snw heat content (W/m2) 
    112112 
    113113      ! controls 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icedyn_rhg_evp.F90

    r8882 r8884  
    725725 
    726726      ! --- divergence, shear and strength --- ! 
    727       IF( iom_use('idive')  )   CALL iom_put( "idive"  , pdivu_i(:,:) * zswi(:,:) )   ! divergence 
    728       IF( iom_use('ishear') )   CALL iom_put( "ishear" , pshear_i(:,:) * zswi(:,:) )   ! shear 
     727      IF( iom_use('icediv') )   CALL iom_put( "icediv" , pdivu_i (:,:) * zswi(:,:) )   ! divergence 
     728      IF( iom_use('iceshe') )   CALL iom_put( "iceshe" , pshear_i(:,:) * zswi(:,:) )   ! shear 
    729729      IF( iom_use('icestr') )   CALL iom_put( "icestr" , strength(:,:) * zswi(:,:) )   ! Ice strength 
    730730 
     
    821821            &                  zdiag_ymtrp_snw, 'V', -1., zdiag_yatrp    , 'V', -1.    ) 
    822822          
    823          IF ( iom_use( 'normstr' ) )   CALL iom_put( 'normstr'  ,  zdiag_sig1(:,:)      )   ! Normal stress 
    824          IF ( iom_use( 'sheastr' ) )   CALL iom_put( 'sheastr'  ,  zdiag_sig2(:,:)      )   ! Shear stress 
    825          IF ( iom_use( 'dssh_dx' ) )   CALL iom_put( 'dssh_dx'  ,  zdiag_dssh_dx(:,:)   )   ! Sea-surface tilt term in force balance (x) 
    826          IF ( iom_use( 'dssh_dy' ) )   CALL iom_put( 'dssh_dy'  ,  zdiag_dssh_dy(:,:)   )   ! Sea-surface tilt term in force balance (y) 
    827          IF ( iom_use( 'corstrx' ) )   CALL iom_put( 'corstrx'  ,  zdiag_corstrx(:,:)   )   ! Coriolis force term in force balance (x) 
    828          IF ( iom_use( 'corstry' ) )   CALL iom_put( 'corstry'  ,  zdiag_corstry(:,:)   )   ! Coriolis force term in force balance (y) 
    829          IF ( iom_use( 'intstrx' ) )   CALL iom_put( 'intstrx'  ,  zdiag_intstrx(:,:)   )   ! Internal force term in force balance (x) 
    830          IF ( iom_use( 'intstry' ) )   CALL iom_put( 'intstry'  ,  zdiag_intstry(:,:)   )   ! Internal force term in force balance (y) 
    831          IF ( iom_use( 'utau_oi' ) )   CALL iom_put( 'utau_oi'  ,  zdiag_utau_oi(:,:)   )   ! Ocean stress term in force balance (x) 
    832          IF ( iom_use( 'vtau_oi' ) )   CALL iom_put( 'vtau_oi'  ,  zdiag_vtau_oi(:,:)   )   ! Ocean stress term in force balance (y) 
    833          IF ( iom_use( 'xmtrpice' ) )   CALL iom_put( 'xmtrpice' ,  zdiag_xmtrp_ice(:,:) )   ! X-component of sea-ice mass transport (kg/s) 
    834          IF ( iom_use( 'ymtrpice' ) )   CALL iom_put( 'ymtrpice' ,  zdiag_ymtrp_ice(:,:) )   ! Y-component of sea-ice mass transport  
    835          IF ( iom_use( 'xmtrpsnw' ) )   CALL iom_put( 'xmtrpsnw' ,  zdiag_xmtrp_snw(:,:) )   ! X-component of snow mass transport (kg/s) 
    836          IF ( iom_use( 'ymtrpsnw' ) )   CALL iom_put( 'ymtrpsnw' ,  zdiag_ymtrp_snw(:,:) )   ! Y-component of snow mass transport 
    837          IF ( iom_use( 'xatrp'    ) )   CALL iom_put( 'xatrp'    ,  zdiag_xatrp(:,:)     )   ! X-component of ice area transport 
    838          IF ( iom_use( 'yatrp'    ) )   CALL iom_put( 'yatrp'    ,  zdiag_yatrp(:,:)     )   ! Y-component of ice area transport 
     823         IF( iom_use('normstr' ) )   CALL iom_put( 'normstr'  ,  zdiag_sig1(:,:)      )   ! Normal stress 
     824         IF( iom_use('sheastr' ) )   CALL iom_put( 'sheastr'  ,  zdiag_sig2(:,:)      )   ! Shear stress 
     825         IF( iom_use('dssh_dx' ) )   CALL iom_put( 'dssh_dx'  ,  zdiag_dssh_dx(:,:)   )   ! Sea-surface tilt term in force balance (x) 
     826         IF( iom_use('dssh_dy' ) )   CALL iom_put( 'dssh_dy'  ,  zdiag_dssh_dy(:,:)   )   ! Sea-surface tilt term in force balance (y) 
     827         IF( iom_use('corstrx' ) )   CALL iom_put( 'corstrx'  ,  zdiag_corstrx(:,:)   )   ! Coriolis force term in force balance (x) 
     828         IF( iom_use('corstry' ) )   CALL iom_put( 'corstry'  ,  zdiag_corstry(:,:)   )   ! Coriolis force term in force balance (y) 
     829         IF( iom_use('intstrx' ) )   CALL iom_put( 'intstrx'  ,  zdiag_intstrx(:,:)   )   ! Internal force term in force balance (x) 
     830         IF( iom_use('intstry' ) )   CALL iom_put( 'intstry'  ,  zdiag_intstry(:,:)   )   ! Internal force term in force balance (y) 
     831         IF( iom_use('utau_oi' ) )   CALL iom_put( 'utau_oi'  ,  zdiag_utau_oi(:,:)   )   ! Ocean stress term in force balance (x) 
     832         IF( iom_use('vtau_oi' ) )   CALL iom_put( 'vtau_oi'  ,  zdiag_vtau_oi(:,:)   )   ! Ocean stress term in force balance (y) 
     833         IF( iom_use('xmtrpice') )   CALL iom_put( 'xmtrpice' ,  zdiag_xmtrp_ice(:,:) )   ! X-component of sea-ice mass transport (kg/s) 
     834         IF( iom_use('ymtrpice') )   CALL iom_put( 'ymtrpice' ,  zdiag_ymtrp_ice(:,:) )   ! Y-component of sea-ice mass transport  
     835         IF( iom_use('xmtrpsnw') )   CALL iom_put( 'xmtrpsnw' ,  zdiag_xmtrp_snw(:,:) )   ! X-component of snow mass transport (kg/s) 
     836         IF( iom_use('ymtrpsnw') )   CALL iom_put( 'ymtrpsnw' ,  zdiag_ymtrp_snw(:,:) )   ! Y-component of snow mass transport 
     837         IF( iom_use('xatrp'   ) )   CALL iom_put( 'xatrp'    ,  zdiag_xatrp(:,:)     )   ! X-component of ice area transport 
     838         IF( iom_use('yatrp'   ) )   CALL iom_put( 'yatrp'    ,  zdiag_yatrp(:,:)     )   ! Y-component of ice area transport 
    839839 
    840840         DEALLOCATE( zdiag_sig1      , zdiag_sig2      , zdiag_dssh_dx   , zdiag_dssh_dy   ,  & 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90

    r8882 r8884  
    1818   USE sbcblk         ! Surface boundary condition: bulk 
    1919   USE sbccpl         ! Surface boundary condition: coupled interface 
    20    USE icealb         ! sae-ice: albedo 
     20   USE icealb         ! sea-ice: albedo 
    2121   ! 
    2222   USE in_out_manager ! I/O manager 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90

    r8882 r8884  
    207207      ! output all fluxes 
    208208      !------------------ 
    209       IF( iom_use('qsr_oce') )   CALL iom_put( "qsr_oce" , qsr_oce(:,:) * ( 1._wp - at_i_b(:,:) ) )                      !     solar flux at ocean surface 
    210       IF( iom_use('qns_oce') )   CALL iom_put( "qns_oce" , qns_oce(:,:) * ( 1._wp - at_i_b(:,:) ) + qemp_oce(:,:) )      ! non-solar flux at ocean surface 
    211       IF( iom_use('qsr_ice') )   CALL iom_put( "qsr_ice" , SUM( qsr_ice(:,:,:) * a_i_b(:,:,:), dim=3 ) )                 !     solar flux at ice surface 
    212       IF( iom_use('qns_ice') )   CALL iom_put( "qns_ice" , SUM( qns_ice(:,:,:) * a_i_b(:,:,:), dim=3 ) + qemp_ice(:,:) ) ! non-solar flux at ice surface 
    213       IF( iom_use('qtr_ice') )   CALL iom_put( "qtr_ice" , SUM( ftr_ice(:,:,:) * a_i_b(:,:,:), dim=3 ) )                 !     solar flux transmitted thru ice 
    214       IF( iom_use('qt_oce' ) )   CALL iom_put( "qt_oce"  , ( qsr_oce(:,:) + qns_oce(:,:) ) * ( 1._wp - at_i_b(:,:) ) + qemp_oce(:,:) ) 
    215       IF( iom_use('qt_ice' ) )   CALL iom_put( "qt_ice"  , SUM( ( qns_ice(:,:,:) + qsr_ice(:,:,:) )   & 
    216          &                                                      * a_i_b(:,:,:), dim=3 ) + qemp_ice(:,:) ) 
    217 !!gm I don't understand the variable below.... why not multiplied by a_i_b or (1-a_i_b) ???  
    218       IF( iom_use('qemp_oce') )  CALL iom_put( "qemp_oce" , qemp_oce(:,:) )   
    219       IF( iom_use('qemp_ice') )  CALL iom_put( "qemp_ice" , qemp_ice(:,:) )   
    220       IF( iom_use('emp_oce' ) )  CALL iom_put( "emp_oce"  , emp_oce (:,:) )   ! emp over ocean (taking into account the snow blown away from the ice) 
    221       IF( iom_use('emp_ice' ) )  CALL iom_put( "emp_ice"  , emp_ice (:,:) )   ! emp over ice   (taking into account the snow blown away from the ice) 
    222  
    223       CALL iom_put( "snowpre"     , sprecip * 86400.    )        ! snow precipitation [m/day] 
    224  
    225       CALL iom_put( "sfxbog"      , sfx_bog             )        ! salt flux from bottom growth 
    226       CALL iom_put( "sfxbom"      , sfx_bom             )        ! salt flux from bottom melting 
    227       CALL iom_put( "sfxsum"      , sfx_sum             )        ! salt flux from surface melting 
    228       CALL iom_put( "sfxlam"      , sfx_lam             )        ! salt flux from lateral melting 
    229       CALL iom_put( "sfxsni"      , sfx_sni             )        ! salt flux from snow ice formation 
    230       CALL iom_put( "sfxopw"      , sfx_opw             )        ! salt flux from open water formation 
    231       CALL iom_put( "sfxdyn"      , sfx_dyn             )        ! salt flux from ridging rafting 
    232       CALL iom_put( "sfxres"      , sfx_res             )        ! salt flux from corrections (resultant) 
    233       CALL iom_put( "sfxbri"      , sfx_bri             )        ! salt flux from brines 
    234       CALL iom_put( "sfxsub"      , sfx_sub             )        ! salt flux from sublimation 
    235       CALL iom_put( "sfx"         , sfx                 )        ! total salt flux 
    236  
    237       CALL iom_put( "vfxres"     , wfx_res              )        ! prod./melting due to corrections  
    238       CALL iom_put( "vfxopw"     , wfx_opw              )        ! lateral thermodynamic ice production 
    239       CALL iom_put( "vfxsni"     , wfx_sni              )        ! snowice ice production 
    240       CALL iom_put( "vfxbog"     , wfx_bog              )        ! bottom thermodynamic ice production 
    241       CALL iom_put( "vfxdyn"     , wfx_dyn              )        ! dynamic ice production (rid/raft) 
    242       CALL iom_put( "vfxsum"     , wfx_sum              )        ! surface melt  
    243       CALL iom_put( "vfxbom"     , wfx_bom              )        ! bottom melt  
    244       CALL iom_put( "vfxlam"     , wfx_lam              )        ! lateral melt  
    245       CALL iom_put( "vfxice"     , wfx_ice              )        ! total ice growth/melt  
    246       IF ( ln_pnd_fwb )   CALL iom_put( "vfxpnd", wfx_pnd   )        ! melt pond water flux 
    247  
    248       IF ( iom_use( "vfxthin" ) ) THEN   ! ice production for open water + thin ice (<20cm) => comparable to observations   
     209      ! 
     210      ! --- salt fluxes [kg/m2/s] --- ! 
     211      !                           ! sfxice =  sfxbog + sfxbom + sfxsum + sfxsni + sfxopw + sfxres + sfxdyn + sfxbri + sfxsub + sfxlam 
     212      IF( iom_use('sfxice'  ) )   CALL iom_put( "sfxice", sfx     * 1.e-03 )   ! salt flux from total ice growth/melt 
     213      IF( iom_use('sfxbog'  ) )   CALL iom_put( "sfxbog", sfx_bog * 1.e-03 )   ! salt flux from bottom growth 
     214      IF( iom_use('sfxbom'  ) )   CALL iom_put( "sfxbom", sfx_bom * 1.e-03 )   ! salt flux from bottom melting 
     215      IF( iom_use('sfxsum'  ) )   CALL iom_put( "sfxsum", sfx_sum * 1.e-03 )   ! salt flux from surface melting 
     216      IF( iom_use('sfxlam'  ) )   CALL iom_put( "sfxlam", sfx_lam * 1.e-03 )   ! salt flux from lateral melting 
     217      IF( iom_use('sfxsni'  ) )   CALL iom_put( "sfxsni", sfx_sni * 1.e-03 )   ! salt flux from snow ice formation 
     218      IF( iom_use('sfxopw'  ) )   CALL iom_put( "sfxopw", sfx_opw * 1.e-03 )   ! salt flux from open water formation 
     219      IF( iom_use('sfxdyn'  ) )   CALL iom_put( "sfxdyn", sfx_dyn * 1.e-03 )   ! salt flux from ridging rafting 
     220      IF( iom_use('sfxbri'  ) )   CALL iom_put( "sfxbri", sfx_bri * 1.e-03 )   ! salt flux from brines 
     221      IF( iom_use('sfxres'  ) )   CALL iom_put( "sfxres", sfx_res * 1.e-03 )   ! salt flux from undiagnosed processes 
     222      IF( iom_use('sfxsub'  ) )   CALL iom_put( "sfxsub", sfx_sub * 1.e-03 )   ! salt flux from sublimation 
     223 
     224      ! --- mass fluxes [kg/m2/s] --- ! 
     225      IF( iom_use('emp_oce' ) )   CALL iom_put( "emp_oce", emp_oce )   ! emp over ocean (taking into account the snow blown away from the ice) 
     226      IF( iom_use('emp_ice' ) )   CALL iom_put( "emp_ice", emp_ice )   ! emp over ice   (taking into account the snow blown away from the ice) 
     227 
     228      !                           ! vfxice = vfxbog + vfxbom + vfxsum + vfxsni + vfxopw + vfxdyn + vfxres + vfxlam + vfxpnd 
     229      IF( iom_use('vfxice'  ) )   CALL iom_put( "vfxice" , wfx_ice )   ! mass flux from total ice growth/melt 
     230      IF( iom_use('vfxbog'  ) )   CALL iom_put( "vfxbog" , wfx_bog )   ! mass flux from bottom growth 
     231      IF( iom_use('vfxbom'  ) )   CALL iom_put( "vfxbom" , wfx_bom )   ! mass flux from bottom melt  
     232      IF( iom_use('vfxsum'  ) )   CALL iom_put( "vfxsum" , wfx_sum )   ! mass flux from surface melt  
     233      IF( iom_use('vfxlam'  ) )   CALL iom_put( "vfxlam" , wfx_lam )   ! mass flux from lateral melt  
     234      IF( iom_use('vfxsni'  ) )   CALL iom_put( "vfxsni" , wfx_sni )   ! mass flux from snow-ice formation 
     235      IF( iom_use('vfxopw'  ) )   CALL iom_put( "vfxopw" , wfx_opw )   ! mass flux from growth in open water 
     236      IF( iom_use('vfxdyn'  ) )   CALL iom_put( "vfxdyn" , wfx_dyn )   ! mass flux from dynamics (ridging) 
     237      IF( iom_use('vfxres'  ) )   CALL iom_put( "vfxres" , wfx_res )   ! mass flux from undiagnosed processes  
     238      IF( iom_use('vfxpnd'  ) )   CALL iom_put( "vfxpnd" , wfx_pnd )   ! mass flux from melt ponds 
     239      IF( iom_use('vfxsub'  ) )   CALL iom_put( "vfxsub" , wfx_ice_sub )   ! mass flux from ice sublimation (ice-atm.) 
     240      IF( iom_use('vfxsub_err') ) CALL iom_put( "vfxsub_err", wfx_err_sub )   ! "excess" of sublimation sent to ocean       
     241 
     242      IF ( iom_use( "vfxthin" ) ) THEN   ! mass flux from ice growth in open water + thin ice (<20cm) => comparable to observations   
    249243         WHERE( hm_i(:,:) < 0.2 .AND. hm_i(:,:) > 0. ) ; z2d = wfx_bog 
    250244         ELSEWHERE                                     ; z2d = 0._wp 
    251245         END WHERE 
    252          CALL iom_put( "vfxthin", ( wfx_opw + z2d )     ) 
    253       ENDIF 
    254  
    255       CALL iom_put( "vfxspr"     , wfx_spr              )        ! precip (snow) 
    256       CALL iom_put( "vfxsnw"     , wfx_snw              )        ! total snw growth/melt  
    257       CALL iom_put( "vfxsub"     , wfx_sub              )        ! sublimation (snow/ice)  
    258       CALL iom_put( "vfxsub_err" , wfx_err_sub          )        ! "excess" of sublimation sent to ocean       
    259   
    260       CALL iom_put ('hfxthd'     , hfx_thd(:,:)         )   !   
    261       CALL iom_put ('hfxdyn'     , hfx_dyn(:,:)         )   !   
    262       CALL iom_put ('hfxres'     , hfx_res(:,:)         )   !   
    263       CALL iom_put ('hfxout'     , hfx_out(:,:)         )   !   
    264       CALL iom_put ('hfxin'      , hfx_in(:,:)          )   !   
    265       CALL iom_put ('hfxsnw'     , hfx_snw(:,:)         )   !   
    266       CALL iom_put ('hfxsub'     , hfx_sub(:,:)         )   !   
    267       CALL iom_put ('hfxerr'     , hfx_err_dif(:,:)     )   !   
    268       CALL iom_put ('hfxerr_rem' , hfx_err_rem(:,:)     )   !   
    269        
    270       CALL iom_put ('hfxsum'     , hfx_sum(:,:)         )   !   
    271       CALL iom_put ('hfxbom'     , hfx_bom(:,:)         )   !   
    272       CALL iom_put ('hfxbog'     , hfx_bog(:,:)         )   !   
    273       CALL iom_put ('hfxdif'     , hfx_dif(:,:)         )   !   
    274       CALL iom_put ('hfxopw'     , hfx_opw(:,:)         )   !   
    275       CALL iom_put ('hfxtur'     , fhtur(:,:) * at_i_b(:,:) ) ! turbulent heat flux at ice base  
    276       CALL iom_put ('hfxdhc'     , diag_heat(:,:)       )   ! Heat content variation in snow and ice  
    277       CALL iom_put ('hfxspr'     , hfx_spr(:,:)         )   ! Heat content of snow precip  
     246         CALL iom_put( "vfxthin", wfx_opw + z2d ) 
     247      ENDIF 
     248 
     249      !                              ! vfxsnw = vfxsnw_sni + vfxsnw_dyn + vfxsnw_sum 
     250      IF( iom_use('vfxsnw'     ) )   CALL iom_put( "vfxsnw"     , wfx_snw     )   ! mass flux from total snow growth/melt 
     251      IF( iom_use('vfxsnw_sum' ) )   CALL iom_put( "vfxsnw_sum" , wfx_snw_sum )   ! mass flux from snow melt at the surface 
     252      IF( iom_use('vfxsnw_sni' ) )   CALL iom_put( "vfxsnw_sni" , wfx_snw_sni )   ! mass flux from snow melt during snow-ice formation  
     253      IF( iom_use('vfxsnw_dyn' ) )   CALL iom_put( "vfxsnw_dyn" , wfx_snw_dyn )   ! mass flux from dynamics (ridging)  
     254      IF( iom_use('vfxsnw_sub' ) )   CALL iom_put( "vfxsnw_sub" , wfx_snw_sub )   ! mass flux from snow sublimation (ice-atm.)  
     255      IF( iom_use('vfxsnw_pre' ) )   CALL iom_put( "vfxsnw_pre" , wfx_spr     )   ! snow precip 
     256 
     257      ! --- heat fluxes [W/m2] --- ! 
     258      !                              ! qt_atm_oi - qt_oce_ai = hfxdhc - ( dihctrp + dshctrp ) 
     259      IF( iom_use('qsr_oce'    ) )   CALL iom_put( "qsr_oce"    , qsr_oce * ( 1._wp - at_i_b )                               )   !     solar flux at ocean surface 
     260      IF( iom_use('qns_oce'    ) )   CALL iom_put( "qns_oce"    , qns_oce * ( 1._wp - at_i_b ) + qemp_oce                    )   ! non-solar flux at ocean surface 
     261      IF( iom_use('qsr_ice'    ) )   CALL iom_put( "qsr_ice"    , SUM( qsr_ice * a_i_b, dim=3 )                              )   !     solar flux at ice surface 
     262      IF( iom_use('qns_ice'    ) )   CALL iom_put( "qns_ice"    , SUM( qns_ice * a_i_b, dim=3 ) + qemp_ice                   )   ! non-solar flux at ice surface 
     263      IF( iom_use('qtr_ice_bot') )   CALL iom_put( "qtr_ice_bot", SUM( ftr_ice * a_i_b, dim=3 )                              )   !     solar flux transmitted thru ice 
     264      IF( iom_use('qtr_ice_top') )   CALL iom_put( "qtr_ice_top", SUM( qsr_ice_tr * a_i_b, dim=3 )                           )   !     solar flux transmitted thru ice surface 
     265      IF( iom_use('qt_oce'     ) )   CALL iom_put( "qt_oce"     ,      ( qsr_oce + qns_oce ) * ( 1._wp - at_i_b ) + qemp_oce ) 
     266      IF( iom_use('qt_ice'     ) )   CALL iom_put( "qt_ice"     , SUM( ( qns_ice + qsr_ice ) * a_i_b, dim=3 )     + qemp_ice ) 
     267      IF( iom_use('qt_oce_ai'  ) )   CALL iom_put( "qt_oce_ai"  , hfx_out                                                    )   ! total heat flux at the ocean   surface: interface oce-(ice+atm)  
     268      IF( iom_use('qt_atm_oi'  ) )   CALL iom_put( "qt_atm_oi"  , hfx_in                                                     )   ! total heat flux at the oce-ice surface: interface atm-(ice+oce)  
     269      IF( iom_use('qemp_oce'   ) )   CALL iom_put( "qemp_oce"   , qemp_oce                                                   )   ! Downward Heat Flux from E-P over ocean 
     270      IF( iom_use('qemp_ice'   ) )   CALL iom_put( "qemp_ice"   , qemp_ice                                                   )   ! Downward Heat Flux from E-P over ice 
     271 
     272      ! heat fluxes from ice transformations 
     273      !                              ! hfxdhc = hfxbog + hfxbom + hfxsum + hfxopw + hfxdif + hfxsnw - ( hfxthd + hfxdyn + hfxres + hfxsub + hfxspr ) 
     274      IF( iom_use('hfxbog'     ) )   CALL iom_put ("hfxbog"     , hfx_bog             )   ! heat flux used for ice bottom growth  
     275      IF( iom_use('hfxbom'     ) )   CALL iom_put ("hfxbom"     , hfx_bom             )   ! heat flux used for ice bottom melt 
     276      IF( iom_use('hfxsum'     ) )   CALL iom_put ("hfxsum"     , hfx_sum             )   ! heat flux used for ice surface growth 
     277      IF( iom_use('hfxopw'     ) )   CALL iom_put ("hfxopw"     , hfx_opw             )   ! heat flux used for ice formation in open water 
     278      IF( iom_use('hfxdif'     ) )   CALL iom_put ("hfxdif"     , hfx_dif             )   ! heat flux used for ice temperature change 
     279      IF( iom_use('hfxsnw'     ) )   CALL iom_put ("hfxsnw"     , hfx_snw             )   ! heat flux used for snow melt  
     280      IF( iom_use('hfxerr'     ) )   CALL iom_put ("hfxerr"     , hfx_err_dif         )   ! heat flux error after heat diffusion (included in hfx_out) 
     281 
     282      ! heat fluxes associated with mass exchange (freeze/melt/precip...) 
     283      IF( iom_use('hfxthd'     ) )   CALL iom_put ("hfxthd"     , hfx_thd             )   !   
     284      IF( iom_use('hfxdyn'     ) )   CALL iom_put ("hfxdyn"     , hfx_dyn             )   !   
     285      IF( iom_use('hfxres'     ) )   CALL iom_put ("hfxres"     , hfx_res             )   !   
     286      IF( iom_use('hfxsub'     ) )   CALL iom_put ("hfxsub"     , hfx_sub             )   !   
     287      IF( iom_use('hfxspr'     ) )   CALL iom_put ("hfxspr"     , hfx_spr             )   ! Heat flux from snow precip heat content  
     288 
     289      ! other heat fluxes 
     290      IF( iom_use('hfxsensib'  ) )   CALL iom_put( "hfxsensib"  , -fhtur     * at_i_b )   ! Sensible oceanic heat flux 
     291      IF( iom_use('hfxcndbot'  ) )   CALL iom_put( "hfxcndbot"  , diag_fc_bo * at_i_b )   ! Bottom conduction flux 
     292      IF( iom_use('hfxcndtop'  ) )   CALL iom_put( "hfxcndtop"  , diag_fc_su * at_i_b )   ! Surface conduction flux 
     293 
     294      ! diags 
     295      IF( iom_use('hfxdhc'     ) )   CALL iom_put ("hfxdhc"     , diag_heat           )   ! Heat content variation in snow and ice  
    278296      ! 
    279297      ! controls 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icewri.F90

    r8882 r8884  
    4747      INTEGER, INTENT(in) ::   kt   ! time-step 
    4848      ! 
    49       INTEGER  ::  ji, jj, jk, jl  ! dummy loop indices 
    50       REAL(wp) ::  z2da, z2db, zrho1, zrho2, zmiss_val 
    51       REAL(wp), DIMENSION(jpi,jpj)     ::  z2d, zswi, zmiss !  2D workspace 
    52       REAL(wp), DIMENSION(jpi,jpj)     ::  zfb              ! ice freeboard 
    53       REAL(wp), DIMENSION(jpi,jpj)     ::  zmsk05, zmsk15 ! 15% concentration mask 
    54       REAL(wp), DIMENSION(jpi,jpj,jpl) ::  zswi2, zmiss2 
     49      INTEGER  ::   ji, jj, jk, jl  ! dummy loop indices 
     50      REAL(wp) ::   z2da, z2db, zrho1, zrho2 
     51      REAL(wp), DIMENSION(jpi,jpj)     ::   z2d !  2D workspace 
     52      REAL(wp), DIMENSION(jpi,jpj)     ::   zmsk00, zmsk05, zmsk15 ! O%, 5% and 15% concentration mask 
     53      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zmsk00l        ! cat masks 
    5554      ! 
    5655      ! Global ice diagnostics (SIMIP) 
    57       REAL(wp) ::  zdiag_area_nh, zdiag_extt_nh, zdiag_volu_nh   ! area, extent, volume 
    58       REAL(wp) ::  zdiag_area_sh, zdiag_extt_sh, zdiag_volu_sh  
     56      REAL(wp) ::   zdiag_area_nh, zdiag_extt_nh, zdiag_volu_nh   ! area, extent, volume 
     57      REAL(wp) ::   zdiag_area_sh, zdiag_extt_sh, zdiag_volu_sh  
    5958      !!------------------------------------------------------------------- 
    6059 
     
    7069      DO jj = 1, jpj 
    7170         DO ji = 1, jpi 
    72             zswi(ji,jj)      = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice, 0 if no ice 
    73             zmsk05(ji,jj)    = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.05   ) ) ! 1 if 5% ice, 0 if less - required to mask thickness and snow depth 
    74             zmsk15(ji,jj)  = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15  ) ) ! 1 if 15% ice, 0 if less 
     71            zmsk00(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06  ) ) ! 1 if ice    , 0 if no ice 
     72            zmsk05(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.05_wp ) ) ! 1 if 5% ice , 0 if less 
     73            zmsk15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15_wp ) ) ! 1 if 15% ice, 0 if less 
    7574         END DO 
    7675      END DO 
     
    7877         DO jj = 1, jpj 
    7978            DO ji = 1, jpi 
    80                zswi2(ji,jj,jl)  = MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - epsi06 ) ) 
     79               zmsk00l(ji,jj,jl)  = MAX( 0._wp , SIGN( 1._wp , a_i(ji,jj,jl) - epsi06 ) ) 
    8180            END DO 
    8281         END DO 
    8382      END DO 
    8483 
    85       zmiss_val     = 1.e20_wp 
    86       zmiss (:,:)   = zmiss_val * ( 1._wp - zswi (:,:) ) 
    87       zmiss2(:,:,:) = zmiss_val * ( 1._wp - zswi2(:,:,:) ) 
    88  
    89       !---------------------------------------- 
     84      !----------------- 
    9085      ! Standard outputs 
    91       !---------------------------------------- 
    92       ! velocity 
    93       IF( iom_use('uice') )  CALL iom_put( "uice" , u_ice         )   ! ice velocity u component 
    94       IF( iom_use('vice') )  CALL iom_put( "vice" , v_ice         )   ! ice velocity v component 
    95  
    96       IF( iom_use('icevel') .OR. iom_use('icevel_mv') ) THEN  
     86      !----------------- 
     87      zrho1 = ( rau0 - rhoic ) * r1_rau0; zrho2 = rhosn * r1_rau0 
     88      ! masks 
     89      IF( iom_use('icemask'  ) )   CALL iom_put( "icemask"  , zmsk00              )   ! ice mask 0% 
     90      IF( iom_use('icemask05') )   CALL iom_put( "icemask05", zmsk05              )   ! ice mask 5% 
     91      IF( iom_use('icemask15') )   CALL iom_put( "icemask15", zmsk15              )   ! ice mask 15% 
     92      ! 
     93      ! general fields 
     94      IF( iom_use('icemass'  ) )   CALL iom_put( "icemass", rhoic * vt_i * zmsk00 )   ! Ice mass per cell area  
     95      IF( iom_use('snwmass'  ) )   CALL iom_put( "snwmass", rhosn * vt_s * zmsk00 )   ! Snow mass per cell area 
     96      IF( iom_use('icepres'  ) )   CALL iom_put( "icepres", zmsk00                )   ! Ice presence (1 or 0)  
     97      IF( iom_use('iceconc'  ) )   CALL iom_put( "iceconc", at_i  * zmsk00        )   ! ice concentration 
     98      IF( iom_use('icevolu'  ) )   CALL iom_put( "icevolu", vt_i  * zmsk00        )   ! ice volume = mean ice thickness over the cell 
     99      IF( iom_use('icethic'  ) )   CALL iom_put( "icethic", hm_i  * zmsk00        )   ! ice thickness 
     100      IF( iom_use('snwthic'  ) )   CALL iom_put( "snwthic", hm_s  * zmsk00        )   ! snw thickness 
     101      IF( iom_use('icebrv'   ) )   CALL iom_put( "icebrv" , bvm_i * zmsk00 * 100. )   ! brine volume 
     102      IF( iom_use('iceage'   ) )   CALL iom_put( "iceage" , om_i  * zmsk00 / rday )   ! ice age 
     103      IF( iom_use('icehnew'  ) )   CALL iom_put( "icehnew", ht_i_new              )   ! new ice thickness formed in the leads 
     104      IF( iom_use('snwvolu'  ) )   CALL iom_put( "snwvolu", vt_s  * zmsk00        )   ! snow volume 
     105      IF( iom_use('icefrb') ) THEN 
     106         z2d(:,:) = ( zrho1 * hm_i(:,:) - zrho2 * hm_s(:,:) )                                          
     107         WHERE( z2d < 0._wp )   z2d = 0._wp 
     108                                   CALL iom_put( "icefrb" , z2d * zmsk00          )   ! Ice freeboard 
     109      ENDIF 
     110      ! 
     111      ! melt ponds 
     112      IF( iom_use('iceapnd'  ) )   CALL iom_put( "iceapnd", at_ip  * zmsk00       )   ! melt pond total fraction 
     113      IF( iom_use('icevpnd'  ) )   CALL iom_put( "icevpnd", vt_ip  * zmsk00       )   ! melt pond total volume per unit area 
     114      ! 
     115      ! salt 
     116      IF( iom_use('icesalt'  ) )   CALL iom_put( "icesalt", sm_i  * zmsk00        )   ! mean ice salinity 
     117      IF( iom_use('icesalm'  ) )   CALL iom_put( "icesalm", SUM( sv_i, DIM = 3 ) * rhoic * 1.0e-3 * zmsk00 )   ! Mass of salt in sea ice per cell area 
     118 
     119      ! heat 
     120      IF( iom_use('icetemp'  ) )   CALL iom_put( "icetemp", ( tm_i  - rt0 ) * zmsk00 )   ! ice mean temperature 
     121      IF( iom_use('icettop'  ) )   CALL iom_put( "icettop", ( tm_su - rt0 ) * zmsk00 )   ! temperature at the ice surface 
     122      IF( iom_use('icetbot'  ) )   CALL iom_put( "icetbot", ( t_bo  - rt0 ) * zmsk00 )   ! temperature at the ice bottom 
     123      IF( iom_use('icetsni'  ) )   CALL iom_put( "icetsni", ( tm_si - rt0 ) * zmsk00 )   ! temperature at the snow-ice interface 
     124      IF( iom_use('icehc'    ) )   CALL iom_put( "icehc"  ,  -et_i          * zmsk00 )   ! ice heat content 
     125      IF( iom_use('snwhc'    ) )   CALL iom_put( "snwhc"  ,  -et_s          * zmsk00 )   ! snow heat content 
     126 
     127      ! momentum 
     128      IF( iom_use('uice'     ) )   CALL iom_put( "uice"   , u_ice                 )   ! ice velocity u component 
     129      IF( iom_use('vice'     ) )   CALL iom_put( "vice"   , v_ice                 )   ! ice velocity v component 
     130      IF( iom_use('utau_ai'  ) )   CALL iom_put( "utau_ai", utau_ice * zmsk00     )   ! Wind stress term in force balance (x) 
     131      IF( iom_use('vtau_ai'  ) )   CALL iom_put( "vtau_ai", vtau_ice * zmsk00     )   ! Wind stress term in force balance (y) 
     132 
     133      IF( iom_use('icevel') ) THEN  
    97134         DO jj = 2 , jpjm1 
    98135            DO ji = 2 , jpim1 
     
    103140         END DO 
    104141         CALL lbc_lnk( z2d, 'T', 1. ) 
    105          IF( iom_use('icevel'   ) )   CALL iom_put( "icevel"       , z2d        )                          ! ice velocity module 
    106          IF( iom_use('icevel_mv') )   CALL iom_put( "icevel_mv"    , z2d(:,:) * zswi(:,:) + zmiss(:,:) )   ! ice velocity module (missing value) 
     142         IF( iom_use('icevel') )   CALL iom_put( "icevel" , z2d                   )   ! ice velocity module 
    107143      ENDIF 
    108       ! 
    109       IF( iom_use('miceage')  )       CALL iom_put( "miceage"     , om_i * zswi * zmsk15 )  ! mean ice age 
    110       IF( iom_use('micet')    )       CALL iom_put( "micet"       , ( tm_i  - rt0 ) * zswi )  ! ice mean    temperature 
    111       IF( iom_use('icest')    )       CALL iom_put( "icest"       , ( tm_su - rt0 ) * zswi )  ! ice surface temperature 
    112       IF( iom_use('icecolf')  )       CALL iom_put( "icecolf"     , ht_i_new               )  ! new ice thickness formed in the leads 
    113       ! 
    114       CALL iom_put( "iceconc"     , at_i  * zswi        )        ! ice concentration 
    115       CALL iom_put( "icevolu"     , vt_i  * zswi        )        ! ice volume = mean ice thickness over the cell 
    116       CALL iom_put( "icethick"    , hm_i  * zswi        )        ! ice thickness 
    117       CALL iom_put( "icehc"       , et_i  * zswi        )        ! ice total heat content 
    118       CALL iom_put( "isnowhc"     , et_s  * zswi        )        ! snow total heat content 
    119       CALL iom_put( "ibrinv"      , bvm_i * zswi * 100. )        ! brine volume 
    120       CALL iom_put( "micesalt"    , sm_i  * zswi      )        ! mean ice salinity 
    121       CALL iom_put( "snowvol"     , vt_s  * zswi      )        ! snow volume 
    122        
    123       CALL iom_put( "iceamp"  , at_ip  * zswi        )   ! melt pond total fraction 
    124       CALL iom_put( "icevmp"  , vt_ip  * zswi        )   ! melt pond total volume per unit area 
    125  
    126       !---------------------------------- 
    127       ! Output category-dependent fields 
    128       !---------------------------------- 
    129       IF ( iom_use('iceconc_cat' ) )  CALL iom_put( "iceconc_cat"      , a_i  * zswi2   )        ! area for categories 
    130       IF ( iom_use('icethic_cat' ) )  CALL iom_put( "icethic_cat"      , h_i  * zswi2   )        ! thickness for categories 
    131       IF ( iom_use('snowthic_cat') )  CALL iom_put( "snowthic_cat"     , h_s  * zswi2   )        ! snow depth for categories 
    132       IF ( iom_use('salinity_cat') )  CALL iom_put( "salinity_cat"     , s_i  * zswi2   )        ! salinity for categories 
    133       IF ( iom_use('icetemp_cat' ) )  CALL iom_put( "icetemp_cat", ( SUM( t_i(:,:,:,:), dim=3 ) * r1_nlay_i - rt0 ) * zswi2 )    ! ice temperature 
    134       IF ( iom_use('snwtemp_cat' ) )  CALL iom_put( "snwtemp_cat", ( SUM( t_s(:,:,:,:), dim=3 ) * r1_nlay_s - rt0 ) * zswi2 )    ! snow temperature 
    135       IF ( iom_use('iceage_cat'  ) )  CALL iom_put( "iceage_cat" , o_i * zswi2 )                   ! ice age 
    136       IF ( iom_use('brinevol_cat') )  CALL iom_put( "brinevol_cat", bv_i * 100. * zswi2 )          ! brine volume 
    137  
    138       IF ( iom_use('iceamp_cat') )  CALL iom_put( "iceamp_cat"     , a_ip       * zswi2   )       ! melt pond frac for categories 
    139       IF ( iom_use('icevmp_cat') )  CALL iom_put( "icevmp_cat"     , v_ip       * zswi2   )       ! melt pond frac for categories 
    140       IF ( iom_use('icehmp_cat') )  CALL iom_put( "icehmp_cat"     , h_ip       * zswi2   )       ! melt pond frac for categories 
    141       IF ( iom_use('iceafp_cat') )  CALL iom_put( "iceafp_cat"     , a_ip_frac  * zswi2   )       ! melt pond frac for categories 
    142  
    143       !-------------------------------- 
     144 
     145      ! --- category-dependent fields --- ! 
     146      IF( iom_use('icemask_cat' ) )   CALL iom_put( "icemask_cat" , zmsk00l                                                    )   ! ice mask 0% 
     147      IF( iom_use('iceconc_cat' ) )   CALL iom_put( "iceconc_cat" , a_i * zmsk00l                                              )   ! area for categories 
     148      IF( iom_use('icethic_cat' ) )   CALL iom_put( "icethic_cat" , h_i * zmsk00l                                              )   ! thickness for categories 
     149      IF( iom_use('snwthic_cat' ) )   CALL iom_put( "snwthic_cat" , h_s * zmsk00l                                              )   ! snow depth for categories 
     150      IF( iom_use('icesalt_cat' ) )   CALL iom_put( "icesalt_cat" , s_i * zmsk00l                                              )   ! salinity for categories 
     151      IF( iom_use('iceage_cat'  ) )   CALL iom_put( "iceage_cat"  , o_i * zmsk00l / rday                                       )   ! ice age 
     152      IF( iom_use('icetemp_cat' ) )   CALL iom_put( "icetemp_cat" , ( SUM( t_i(:,:,:,:), dim=3 ) * r1_nlay_i - rt0 ) * zmsk00l )   ! ice temperature 
     153      IF( iom_use('snwtemp_cat' ) )   CALL iom_put( "snwtemp_cat" , ( SUM( t_s(:,:,:,:), dim=3 ) * r1_nlay_s - rt0 ) * zmsk00l )   ! snow temperature 
     154      IF( iom_use('icebrv_cat'  ) )   CALL iom_put( "icebrv_cat"  , bv_i * 100. * zmsk00l                                      )   ! brine volume 
     155      IF( iom_use('iceapnd_cat' ) )   CALL iom_put( "iceapnd_cat" , a_ip        * zmsk00l                                      )   ! melt pond frac for categories 
     156      IF( iom_use('icehpnd_cat' ) )   CALL iom_put( "icehpnd_cat" , h_ip        * zmsk00l                                      )   ! melt pond frac for categories 
     157      IF( iom_use('iceafpnd_cat') )   CALL iom_put( "iceafpnd_cat", a_ip_frac   * zmsk00l                                      )   ! melt pond frac for categories 
     158 
     159      !------------------ 
    144160      ! Add-ons for SIMIP 
    145       !-------------------------------- 
    146       zrho1 = ( rau0 - rhoic ) * r1_rau0; zrho2 = rhosn * r1_rau0 
    147  
    148       IF ( iom_use( "icepres"  ) ) CALL iom_put( "icepres"     , zswi(:,:)                     )                                ! Ice presence (1 or 0)  
    149       IF ( iom_use( "icemass"  ) ) CALL iom_put( "icemass"     , rhoic * vt_i(:,:) * zswi(:,:) )                                ! Ice mass per cell area  
    150       IF ( iom_use( "icethic"  ) ) CALL iom_put( "icethic"     , hm_i(:,:) * zmsk05(:,:)  + ( 1. - zmsk05(:,:) ) * zmiss_val )     ! Ice thickness  
    151       IF ( iom_use( "snomass"  ) ) CALL iom_put( "snomass"     , rhosn * vt_s(:,:)         * zswi(:,:) + zmiss(:,:) )           ! Snow mass per cell area 
    152       IF ( iom_use( "snothic"  ) ) CALL iom_put( "snothic"     , hm_s(:,:) * zmsk05(:,:)  + ( 1. - zmsk05(:,:) ) * zmiss_val )     ! Snow thickness        
    153  
    154       IF ( iom_use( "iceconc_cat_mv"  ) )  CALL iom_put( "iceconc_cat_mv" , a_i(:,:,:)  * zswi2(:,:,:) + zmiss2(:,:,:) )        ! Area for categories 
    155       IF ( iom_use( "icethic_cat_mv"  ) )  CALL iom_put( "icethic_cat_mv" , h_i(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) )        ! Thickness for categories 
    156       IF ( iom_use( "snowthic_cat_mv" ) )  CALL iom_put( "snowthic_cat_mv", h_s(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) )        ! Snow depth for categories 
    157  
    158       IF ( iom_use( "icestK"   ) ) CALL iom_put( "icestK"      , tm_su(:,:)                * zswi(:,:) + zmiss(:,:) )           ! Ice surface temperature 
    159       IF ( iom_use( "icesntK"  ) ) CALL iom_put( "icesntK"     , tm_si(:,:)                * zswi(:,:) + zmiss(:,:) )           ! Snow-ice interface temperature 
    160       IF ( iom_use( "icebotK"  ) ) CALL iom_put( "icebotK"     , t_bo(:,:)                 * zswi(:,:) + zmiss(:,:) )           ! Ice bottom temperature 
    161       IF ( iom_use( "iceage"   ) ) CALL iom_put( "iceage"      , om_i(:,:) * zmsk15(:,:) + ( 1. - zmsk15(:,:) ) * zmiss_val )   ! Ice age 
    162       IF ( iom_use( "icesmass" ) ) CALL iom_put( "icesmass"    , SUM( sv_i, DIM = 3 ) * rhoic * 1.0e-3 * zswi(:,:) )           ! Mass of salt in sea ice per cell area 
    163       IF ( iom_use( "icesal"   ) ) CALL iom_put( "icesal"      , sm_i(:,:)                * zswi(:,:) + zmiss(:,:) )           ! Ice salinity 
    164  
    165       IF ( iom_use( "icefb"    ) ) THEN 
    166          zfb(:,:) = ( zrho1 * hm_i(:,:) - zrho2 * hm_s(:,:) )                                          
    167          WHERE( zfb < 0._wp ) ;   zfb = 0._wp ;   END WHERE 
    168                                    CALL iom_put( "icefb"       , zfb(:,:)                  * zswi(:,:) + zmiss(:,:) )           ! Ice freeboard 
     161      !------------------ 
     162      ! trends 
     163      IF( iom_use('dmithd') )   CALL iom_put( "dmithd", - wfx_bog - wfx_bom - wfx_sum - wfx_sni - wfx_opw - wfx_lam - wfx_res ) ! Sea-ice mass change from thermodynamics 
     164      IF( iom_use('dmidyn') )   CALL iom_put( "dmidyn", - wfx_dyn + rhoic * diag_trp_vi     )   ! Sea-ice mass change from dynamics(kg/m2/s) 
     165      IF( iom_use('dmiopw') )   CALL iom_put( "dmiopw", - wfx_opw                           )   ! Sea-ice mass change through growth in open water 
     166      IF( iom_use('dmibog') )   CALL iom_put( "dmibog", - wfx_bog                           )   ! Sea-ice mass change through basal growth 
     167      IF( iom_use('dmisni') )   CALL iom_put( "dmisni", - wfx_sni                           )   ! Sea-ice mass change through snow-to-ice conversion 
     168      IF( iom_use('dmisum') )   CALL iom_put( "dmisum", - wfx_sum                           )   ! Sea-ice mass change through surface melting 
     169      IF( iom_use('dmibom') )   CALL iom_put( "dmibom", - wfx_bom                           )   ! Sea-ice mass change through bottom melting 
     170      IF( iom_use('dmtsub') )   CALL iom_put( "dmtsub", - wfx_sub                           )   ! Sea-ice mass change through evaporation and sublimation 
     171      IF( iom_use('dmssub') )   CALL iom_put( "dmssub", - wfx_snw_sub                       )   ! Snow mass change through sublimation 
     172      IF( iom_use('dmisub') )   CALL iom_put( "dmisub", - wfx_ice_sub                       )   ! Sea-ice mass change through sublimation 
     173      IF( iom_use('dmsspr') )   CALL iom_put( "dmsspr", - wfx_spr                           )   ! Snow mass change through snow fall 
     174      IF( iom_use('dmsssi') )   CALL iom_put( "dmsssi",   wfx_sni*rhosn*r1_rhoic            )   ! Snow mass change through snow-to-ice conversion 
     175      IF( iom_use('dmsmel') )   CALL iom_put( "dmsmel", - wfx_snw_sum                       )   ! Snow mass change through melt 
     176      IF( iom_use('dmsdyn') )   CALL iom_put( "dmsdyn", - wfx_snw_dyn + rhosn * diag_trp_vs )   ! Snow mass change through dynamics(kg/m2/s) 
     177 
     178      ! Global ice diagnostics 
     179      IF( iom_use('NH_icearea') .OR. iom_use('NH_icevolu') .OR. iom_use('NH_iceextt') )   THEN   ! NH diagnostics 
     180         ! 
     181         WHERE( ff_t > 0._wp )   ;   zmsk00(:,:) = 1.0e-12 
     182         ELSEWHERE               ;   zmsk00(:,:) = 0. 
     183         END WHERE  
     184         zdiag_area_nh = glob_sum( at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     185         zdiag_volu_nh = glob_sum( vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     186         ! 
     187         WHERE( ff_t > 0._wp .AND. at_i > 0.15 )   ; zmsk00(:,:) = 1.0e-12 
     188         ELSEWHERE                                 ; zmsk00(:,:) = 0. 
     189         END WHERE  
     190         zdiag_extt_nh = glob_sum( zmsk00(:,:) * e1e2t(:,:) ) 
     191         ! 
     192         IF( iom_use('NH_icearea') )   CALL iom_put( "NH_icearea" ,  zdiag_area_nh ) 
     193         IF( iom_use('NH_icevolu') )   CALL iom_put( "NH_icevolu" ,  zdiag_volu_nh ) 
     194         IF( iom_use('NH_iceextt') )   CALL iom_put( "NH_iceextt" ,  zdiag_extt_nh ) 
     195         ! 
    169196      ENDIF 
    170  
    171       IF ( iom_use( "isnhcneg" ) ) CALL iom_put( "isnhcneg"    , - et_s(:,:)               * zswi(:,:) + zmiss(:,:) )           ! Snow total heat content 
    172  
    173       IF ( iom_use( "dmithd"   ) ) CALL iom_put( "dmithd"      , - wfx_bog - wfx_bom - wfx_sum   &                       ! Sea-ice mass change from thermodynamics 
    174               &                                                   - wfx_sni - wfx_opw - wfx_res ) 
    175       IF ( iom_use( "dmidyn"   ) ) CALL iom_put( "dmidyn"      , - wfx_dyn(:,:) + rhoic * diag_trp_vi(:,:) )             ! Sea-ice mass change from dynamics(kg/m2/s) 
    176       IF ( iom_use( "dmiopw"   ) ) CALL iom_put( "dmiopw"      , - wfx_opw                  )                            ! Sea-ice mass change through growth in open water 
    177       IF ( iom_use( "dmibog"   ) ) CALL iom_put( "dmibog"      , - wfx_bog                  )                            ! Sea-ice mass change through basal growth 
    178       IF ( iom_use( "dmisni"   ) ) CALL iom_put( "dmisni"      , - wfx_sni                  )                            ! Sea-ice mass change through snow-to-ice conversion 
    179       IF ( iom_use( "dmisum"   ) ) CALL iom_put( "dmisum"      , - wfx_sum                  )                            ! Sea-ice mass change through surface melting 
    180       IF ( iom_use( "dmibom"   ) ) CALL iom_put( "dmibom"      , - wfx_bom                  )                            ! Sea-ice mass change through bottom melting 
    181  
    182       IF ( iom_use( "dmtsub"   ) ) CALL iom_put( "dmtsub"      , - wfx_sub                  )                            ! Sea-ice mass change through evaporation and sublimation 
    183       IF ( iom_use( "dmssub"   ) ) CALL iom_put( "dmssub"      , - wfx_snw_sub              )                            ! Snow mass change through sublimation 
    184       IF ( iom_use( "dmisub"   ) ) CALL iom_put( "dmisub"      , - wfx_ice_sub              )                            ! Sea-ice mass change through sublimation 
    185  
    186       IF ( iom_use( "dmsspr"   ) ) CALL iom_put( "dmsspr"      , - wfx_spr                  )                            ! Snow mass change through snow fall 
    187       IF ( iom_use( "dmsssi"   ) ) CALL iom_put( "dmsssi"      ,   wfx_sni*rhosn*r1_rhoic   )                            ! Snow mass change through snow-to-ice conversion 
    188  
    189       IF ( iom_use( "dmsmel"   ) ) CALL iom_put( "dmsmel"      , - wfx_snw_sum              )                            ! Snow mass change through melt 
    190       IF ( iom_use( "dmsdyn"   ) ) CALL iom_put( "dmsdyn"      , - wfx_snw_dyn(:,:) + rhosn * diag_trp_vs(:,:) )         ! Snow mass change through dynamics(kg/m2/s) 
    191  
    192       IF ( iom_use( "hfxsenso" ) ) CALL iom_put( "hfxsenso"    ,   -fhtur(:,:)              * zswi(:,:) + zmiss(:,:) )   ! Sensible oceanic heat flux 
    193       IF ( iom_use( "hfxconbo" ) ) CALL iom_put( "hfxconbo"    ,   diag_fc_bo               * zswi(:,:) + zmiss(:,:) )   ! Bottom conduction flux 
    194       IF ( iom_use( "hfxconsu" ) ) CALL iom_put( "hfxconsu"    ,   diag_fc_su               * zswi(:,:) + zmiss(:,:) )   ! Surface conduction flux 
    195  
    196       IF ( iom_use( "wfxtot"   ) ) CALL iom_put( "wfxtot"      ,   wfx_ice(:,:)             * zswi(:,:) + zmiss(:,:) )   ! Total freshwater flux from sea ice 
    197       IF ( iom_use( "wfxsum"   ) ) CALL iom_put( "wfxsum"      ,   wfx_sum(:,:)             * zswi(:,:) + zmiss(:,:) )   ! Freshwater flux from sea-ice surface 
    198       IF ( iom_use( "sfx_mv"   ) ) CALL iom_put( "sfx_mv"      ,   sfx(:,:) * 0.001         * zswi(:,:) + zmiss(:,:) )   ! Total salt flux 
    199  
    200       IF ( iom_use( "uice_mv"  ) ) CALL iom_put( "uice_mv"     ,   u_ice(:,:)               * zswi(:,:) + zmiss(:,:) )   ! ice velocity u component 
    201       IF ( iom_use( "vice_mv"  ) ) CALL iom_put( "vice_mv"     ,   v_ice(:,:)               * zswi(:,:) + zmiss(:,:) )   ! ice velocity v component 
    202        
    203       IF ( iom_use( "utau_ice" ) ) CALL iom_put( "utau_ice"     ,  utau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (x) 
    204       IF ( iom_use( "vtau_ice" ) ) CALL iom_put( "vtau_ice"     ,  vtau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (y) 
    205  
    206       !-------------------------------- 
    207       ! Global ice diagnostics (SIMIP) 
    208       !-------------------------------- 
    209       ! 
    210       IF ( iom_use( "NH_icearea" ) .OR. iom_use( "NH_icevolu" ) .OR. iom_use( "NH_iceextt" ) )   THEN   ! NH diagnostics 
    211          ! 
    212          WHERE( ff_t > 0._wp )   ;   zswi(:,:) = 1.0e-12 
    213          ELSEWHERE               ;   zswi(:,:) = 0. 
     197      ! 
     198      IF( iom_use('SH_icearea') .OR. iom_use('SH_icevolu') .OR. iom_use('SH_iceextt') )   THEN   ! SH diagnostics 
     199         ! 
     200         WHERE( ff_t < 0._wp ); zmsk00(:,:) = 1.0e-12;  
     201         ELSEWHERE            ; zmsk00(:,:) = 0. 
    214202         END WHERE  
    215          zdiag_area_nh = glob_sum( at_i(:,:) * zswi(:,:) * e1e2t(:,:) ) 
    216          zdiag_volu_nh = glob_sum( vt_i(:,:) * zswi(:,:) * e1e2t(:,:) ) 
    217          ! 
    218          WHERE( ff_t > 0._wp .AND. at_i > 0.15 )   ; zswi(:,:) = 1.0e-12 
    219          ELSEWHERE                                 ; zswi(:,:) = 0. 
     203         zdiag_area_sh = glob_sum( at_i(:,:) * zmsk00(:,:) * e1e2t(:,:) )  
     204         zdiag_volu_sh = glob_sum( vt_i(:,:) * zmsk00(:,:) * e1e2t(:,:) ) 
     205         ! 
     206         WHERE( ff_t < 0._wp .AND. at_i > 0.15 ); zmsk00(:,:) = 1.0e-12 
     207         ELSEWHERE                              ; zmsk00(:,:) = 0. 
    220208         END WHERE  
    221          zdiag_extt_nh = glob_sum( zswi(:,:) * e1e2t(:,:) ) 
    222          ! 
    223          IF ( iom_use( "NH_icearea" ) )   CALL iom_put( "NH_icearea" ,  zdiag_area_nh  ) 
    224          IF ( iom_use( "NH_icevolu" ) )   CALL iom_put( "NH_icevolu" ,  zdiag_volu_nh  ) 
    225          IF ( iom_use( "NH_iceextt" ) )   CALL iom_put( "NH_iceextt" ,  zdiag_extt_nh  ) 
    226          ! 
    227       ENDIF 
    228       ! 
    229       IF ( iom_use( "SH_icearea" ) .OR. iom_use( "SH_icevolu" ) .OR. iom_use( "SH_iceextt" ) )   THEN   ! SH diagnostics 
    230          ! 
    231          WHERE( ff_t < 0._wp ); zswi(:,:) = 1.0e-12;  
    232          ELSEWHERE            ; zswi(:,:) = 0. 
    233          END WHERE  
    234          zdiag_area_sh = glob_sum( at_i(:,:) * zswi(:,:) * e1e2t(:,:) )  
    235          zdiag_volu_sh = glob_sum( vt_i(:,:) * zswi(:,:) * e1e2t(:,:) ) 
    236          ! 
    237          WHERE( ff_t < 0._wp .AND. at_i > 0.15 ); zswi(:,:) = 1.0e-12 
    238          ELSEWHERE                              ; zswi(:,:) = 0. 
    239          END WHERE  
    240          zdiag_extt_sh = glob_sum( zswi(:,:) * e1e2t(:,:) ) 
    241          ! 
    242          IF ( iom_use( "SH_icearea" ) ) CALL iom_put( "SH_icearea", zdiag_area_sh ) 
    243          IF ( iom_use( "SH_icevolu" ) ) CALL iom_put( "SH_icevolu", zdiag_volu_sh ) 
    244          IF ( iom_use( "SH_iceextt" ) ) CALL iom_put( "SH_iceextt", zdiag_extt_sh ) 
     209         zdiag_extt_sh = glob_sum( zmsk00(:,:) * e1e2t(:,:) ) 
     210         ! 
     211         IF( iom_use('SH_icearea') ) CALL iom_put( "SH_icearea", zdiag_area_sh ) 
     212         IF( iom_use('SH_icevolu') ) CALL iom_put( "SH_icevolu", zdiag_volu_sh ) 
     213         IF( iom_use('SH_iceextt') ) CALL iom_put( "SH_iceextt", zdiag_extt_sh ) 
    245214         ! 
    246215      ENDIF  
     
    267236      !! History :   4.0  !  2013-06  (C. Rousset) 
    268237      !!---------------------------------------------------------------------- 
    269       INTEGER, INTENT( in )   ::   kt               ! ocean time-step index 
    270       INTEGER, INTENT( in )   ::   kid , kh_i 
    271       INTEGER                 ::   nz_i, jl 
    272       REAL(wp), DIMENSION(jpl) :: jcat 
     238      INTEGER, INTENT( in ) ::   kt               ! ocean time-step index 
     239      INTEGER, INTENT( in ) ::   kid , kh_i 
     240      INTEGER               ::   nz_i, jl 
     241      REAL(wp), DIMENSION(jpl) ::   jcat 
    273242      !!---------------------------------------------------------------------- 
    274243      ! 
     
    332301      CALL histdef( kid, "sisalcat", "Ice salinity"           , ""      ,   & 
    333302      &      jpi, jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    334       CALL histdef( kid, "sitemcat", "Ice temperature"       , "C"      ,   & 
    335       &      jpi, jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    336303      CALL histdef( kid, "snthicat", "Snw thickness"         , "m"      ,   & 
    337       &      jpi, jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    338       CALL histdef( kid, "sntemcat", "Snw temperature"       , "C"      ,   & 
    339304      &      jpi, jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 
    340305 
     
    370335      CALL histwrite( kid, "siconcat", kt, a_i         , jpi*jpj*jpl, (/1/) )     
    371336      CALL histwrite( kid, "sisalcat", kt, s_i         , jpi*jpj*jpl, (/1/) )     
    372       CALL histwrite( kid, "sitemcat", kt, tm_i - rt0  , jpi*jpj*jpl, (/1/) )     
    373337      CALL histwrite( kid, "snthicat", kt, h_s         , jpi*jpj*jpl, (/1/) )     
    374       CALL histwrite( kid, "sntemcat", kt, tm_su - rt0 , jpi*jpj*jpl, (/1/) )     
    375338 
    376339      !! The file is closed in dia_wri_state (ocean routine) 
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90

    r8882 r8884  
    556556         tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac   ! output total precipitation [kg/m2/s] 
    557557         sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac   ! output solid precipitation [kg/m2/s] 
    558          CALL iom_put( 'snowpre', sprecip * 86400. )        ! Snow 
    559          CALL iom_put( 'precip' , tprecip * 86400. )        ! Total precipitation 
     558         CALL iom_put( 'snowpre', sprecip )                 ! Snow 
     559         CALL iom_put( 'precip' , tprecip )                 ! Total precipitation 
    560560      ENDIF 
    561561      ! 
     
    913913      tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac      ! total precipitation [kg/m2/s] 
    914914      sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac      ! solid precipitation [kg/m2/s] 
    915       CALL iom_put( 'snowpre', sprecip * 86400. )                  ! Snow precipitation 
    916       CALL iom_put( 'precip' , tprecip * 86400. )                  ! Total precipitation 
     915      CALL iom_put( 'snowpre', sprecip                   ! Snow precipitation 
     916      CALL iom_put( 'precip' , tprecip                   ! Total precipitation 
    917917 
    918918      ! --- evaporation --- ! 
Note: See TracChangeset for help on using the changeset viewer.