Changeset 8884
- Timestamp:
- 2017-12-04T10:05:16+01:00 (6 years ago)
- 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 35 35 <field field_ref="qsr_ice" name="qsr_ice" /> 36 36 <field field_ref="qns_ice" name="qns_ice" /> 37 <field field_ref="qtr_ice" name="qtr_ice" />38 37 <field field_ref="qt_ice" name="qt_ice" /> 39 38 <field field_ref="saltflx" name="sfx" /> … … 43 42 <!-- ice and snow --> 44 43 <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" /> 47 46 </file> 48 47 -
branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/SHARED/field_def_nemo-lim.xml
r8881 r8884 4 4 <!-- 5 5 ============================================================================================================ 6 = definition of all existing ESIM variables=6 = definition of all existing ice variables = 7 7 = DO NOT CHANGE = 8 8 ============================================================================================================ … … 12 12 <field_group id="SBC" grid_ref="grid_T_2D" > <!-- time step automaticaly defined based on nn_fsbc --> 13 13 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 103 14 <!-- =================== --> 104 15 <!-- standard ice fields --> 105 16 <!-- =================== --> 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" /> 114 37 115 38 <!-- 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" /> 118 53 119 54 <!-- 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 133 71 <!-- 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="q sr_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="q ns_ice" long_name="non-solar heat flux at ice surface: sum over categories" unit="W/m2"/>140 <field id="qt r_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="" /> 143 81 144 82 <!-- 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" /> 146 86 147 87 <!-- momentum (advection) --> 148 <field id="ice trp" long_name="ice mass transport" unit="kg/m2/s"/>149 <field id="snw trp" long_name="snw mass transport" unit="kg/m2/s"/>150 <field id="sal trp" long_name="salt transport" unit="1e-3*kg/m2/s" />151 <field id="d eitrp" long_name="advected ice enthalpy" unit="W/m2"/>152 <field id="d estrp" 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" /> 153 93 154 94 <!-- salt fluxes --> 155 <field id="sfx bri" long_name="salt flux from brines" unit="1e-3*kg/m2/s" />156 <field id="sfx dyn" long_name="salt flux from ridging rafting" unit="1e-3*kg/m2/s" />157 <field id="sfx res" long_name="salt flux from lipupdate (resultant)" unit="1e-3*kg/m2/s" />158 <field id="sfx bog" long_name="salt flux from bot growth" unit="1e-3*kg/m2/s" />159 <field id="sfx bom" long_name="salt flux from bot melt" unit="1e-3*kg/m2/s" />160 <field id="sfxs um" long_name="salt flux from surf melt" unit="1e-3*kg/m2/s" />161 <field id="sfx lam" long_name="salt flux from lateral melt" unit="1e-3*kg/m2/s" />162 <field id="sfx sni" long_name="salt flux from snow-ice formation" unit="1e-3*kg/m2/s" />163 <field id="sfx opw" long_name="salt flux from open water ice formation" unit="1e-3*kg/m2/s" />164 <field id="sfx sub" 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" /> 166 106 167 107 <!-- 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" /> 183 128 184 129 <!-- 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" /> 196 137 <!-- 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" /> 202 147 203 148 <!-- 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" /> 206 150 207 151 <!-- sbcssm variables --> … … 215 159 216 160 <!-- 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> 229 245 230 246 </field_group> 231 247 232 <!-- LIM3scalar variables -->248 <!-- scalar variables --> 233 249 <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" /> 242 258 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" /> 265 281 266 282 </field_group> … … 272 288 273 289 <field_group id="myvarICE" > 274 <field field_ref="icethic k"name="sithic" />290 <field field_ref="icethic" name="sithic" /> 275 291 <field field_ref="icevolu" name="sivolu" /> 276 292 <field field_ref="iceconc" name="siconc" /> … … 304 320 <!--============================--> 305 321 <!-- SIMIP sea ice field groups --> 306 <!-- Notz et al 2016-->322 <!-- Notz et al 2016 --> 307 323 <!--============================--> 308 324 … … 318 334 </field_group> 319 335 320 <!-- SIMIP daily fields --> <field_group id="SIday_fields"> 336 <!-- SIMIP daily fields --> 337 <field_group id="SIday_fields"> 321 338 <field field_ref="icepres" name="sitimefrac" /> 322 339 <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="sn othic"name="sisnthick" default_value="1.0e20" detect_missing_value="true" operation="average" />325 <field field_ref="ice stK"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" /> 329 346 </field_group> 330 347 … … 334 351 <field field_ref="icepres" name="sitimefrac" /> 335 352 <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" /> 338 355 <field field_ref="icevolu" name="sivol" /> 339 <field field_ref="sn omass"name="sisnmass" default_value="1.0e20" detect_missing_value="true" operation="average" />340 <field field_ref="sn othic"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" /> 341 358 342 359 <!-- 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="sn owthic_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" /> 346 363 347 364 <!-- additional state variables--> 348 <field field_ref="ice stK"name="sitemptop" default_value="1.0e20" detect_missing_value="true" operation="average" />349 <field field_ref="ice sntK"name="sitempsnic" default_value="1.0e20" detect_missing_value="true" operation="average" />350 <field field_ref="ice botK"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="ices mass"name="sisaltmass" />353 <field field_ref="icesal "name="sisali" default_value="1.0e20" detect_missing_value="true" operation="average" />354 <field field_ref="icef b"name="sifb" default_value="1.0e20" detect_missing_value="true" operation="average" />355 <field field_ref="icehc neg" 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" /> 357 374 358 375 <!-- 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" /> 361 378 362 379 <!-- area balance --> … … 380 397 381 398 <!-- heat balance --> 382 <field field_ref="hfxsens o"name="siflsensupbot" default_value="1.0e20" detect_missing_value="true" operation="average" />383 <field field_ref="hfxc onsu"name="siflcondtop" default_value="1.0e20" detect_missing_value="true" operation="average" />384 <field field_ref="hfxc onbo"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" /> 385 402 386 403 <!-- 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" /> 388 405 389 406 <!-- 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" /> 397 412 <field field_ref="utau_oi" name="sistrxubot" default_value="1.0e20" detect_missing_value="true" operation="average" /> 398 413 <field field_ref="vtau_oi" name="sistryubot" default_value="1.0e20" detect_missing_value="true" operation="average" /> 399 400 414 <field field_ref="icestr" name="sicompstren" default_value="1.0e20" detect_missing_value="true" operation="average" /> 401 402 415 <field field_ref="dssh_dx" name="siforcetiltx" default_value="1.0e20" detect_missing_value="true" operation="average" /> 403 416 <field field_ref="dssh_dy" name="siforcetilty" default_value="1.0e20" detect_missing_value="true" operation="average" /> 404 405 417 <field field_ref="corstrx" name="siforcecoriolx" default_value="1.0e20" detect_missing_value="true" operation="average" /> 406 418 <field field_ref="corstry" name="siforcecorioly" default_value="1.0e20" detect_missing_value="true" operation="average" /> 407 408 419 <field field_ref="intstrx" name="siforceintstrx" default_value="1.0e20" detect_missing_value="true" operation="average" /> 409 420 <field field_ref="intstry" name="siforceintstry" default_value="1.0e20" detect_missing_value="true" operation="average" /> 410 411 421 <field field_ref="xmtrptot" name="sidmasstranx" /> 412 422 <field field_ref="ymtrptot" name="sidmasstrany" /> 413 414 423 <field field_ref="normstr" name="sistresave" default_value="1.0e20" detect_missing_value="true" operation="instant" /> 415 424 <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" /> 419 427 420 428 <!-- 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 226 226 227 227 <!-- *_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" /> 233 236 234 237 <!-- available key_oasis3 --> -
branches/2017/dev_CNRS_2017/NEMOGCM/CONFIG/TEST_CASES/SAS_BIPER/EXP00/file_def_nemo-lim.xml
r8882 r8884 17 17 <file id="file1" name_suffix="_icemod" description="ice variables" enabled=".true." > 18 18 19 <field field_ref="sn owvol" name="snvolu" />19 <field field_ref="snwvolu" name="snvolu" /> 20 20 <field field_ref="icethic" name="sithic" /> 21 21 <field field_ref="icevolu" name="sivolu" /> 22 22 <field field_ref="iceconc" name="siconc" /> 23 <field field_ref=" micesalt"name="sisali" />24 <field field_ref=" micet"name="sitemp" />25 <field field_ref="ice st" name="sistem" />23 <field field_ref="icesalt" name="sisali" /> 24 <field field_ref="icetemp" name="sitemp" /> 25 <field field_ref="icettop" name="sittop" /> 26 26 <field field_ref="uice" name="sivelu" /> 27 27 <field field_ref="vice" name="sivelv" /> 28 28 <field field_ref="icevel" name="sivelo" /> 29 <field field_ref="i dive"name="sidive" />30 <field field_ref="i shear" name="sishea" />29 <field field_ref="icediv" name="sidive" /> 30 <field field_ref="iceshe" name="sishea" /> 31 31 <field field_ref="icestr" name="sistre" /> 32 32 <!-- categories --> 33 <field field_ref="sn owthic_cat"name="snthicat"/>33 <field field_ref="snwthic_cat" name="snthicat"/> 34 34 <field field_ref="iceconc_cat" name="siconcat"/> 35 35 <field field_ref="icethic_cat" name="sithicat"/> -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icectl.F90
r8882 r8884 126 126 127 127 zt = ( glob_sum( ( SUM( SUM( e_i(:,:,1:nlay_i,:), dim=4 ), dim=3 ) & 128 & 128 & + SUM( SUM( e_s(:,:,1:nlay_s,:), dim=4 ), dim=3 ) ) * e1e2t ) * zconv & 129 129 & - pdiag_t ) * r1_rdtice + zft 130 130 -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icedyn_adv.F90
r8882 r8884 105 105 diag_trp_vi(:,:) = SUM( v_i (:,:,:) - v_i_b (:,:,:) , dim=3 ) * r1_rdtice 106 106 diag_trp_vs(:,:) = SUM( v_s (:,:,:) - v_s_b (:,:,:) , dim=3 ) * r1_rdtice 107 IF( iom_use('ice trp') ) CALL iom_put( "icetrp" , diag_trp_vi ) ! ice volumetransport108 IF( iom_use('snw trp') ) CALL iom_put( "snwtrp" , diag_trp_vs ) ! snw volumetransport109 IF( iom_use('sal trp') ) CALL iom_put( "saltrp" , diag_trp_sv * rhoic ) ! salt content transport110 IF( iom_use('d eitrp') ) CALL iom_put( "deitrp" , diag_trp_ei ) ! advected ice enthalpy(W/m2)111 IF( iom_use('d estrp') ) 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) 112 112 113 113 ! controls -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icedyn_rhg_evp.F90
r8882 r8884 725 725 726 726 ! --- divergence, shear and strength --- ! 727 IF( iom_use('i dive') ) CALL iom_put( "idive" , pdivu_i(:,:)* zswi(:,:) ) ! divergence728 IF( iom_use('i shear') ) CALL iom_put( "ishear" , pshear_i(:,:) * zswi(:,:) ) ! shear727 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 729 729 IF( iom_use('icestr') ) CALL iom_put( "icestr" , strength(:,:) * zswi(:,:) ) ! Ice strength 730 730 … … 821 821 & zdiag_ymtrp_snw, 'V', -1., zdiag_yatrp , 'V', -1. ) 822 822 823 IF ( iom_use( 'normstr') ) CALL iom_put( 'normstr' , zdiag_sig1(:,:) ) ! Normal stress824 IF ( iom_use( 'sheastr') ) CALL iom_put( 'sheastr' , zdiag_sig2(:,:) ) ! Shear stress825 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 transport835 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 transport837 IF ( iom_use( 'xatrp') ) CALL iom_put( 'xatrp' , zdiag_xatrp(:,:) ) ! X-component of ice area transport838 IF ( iom_use( 'yatrp') ) CALL iom_put( 'yatrp' , zdiag_yatrp(:,:) ) ! Y-component of ice area transport823 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 839 839 840 840 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 18 18 USE sbcblk ! Surface boundary condition: bulk 19 19 USE sbccpl ! Surface boundary condition: coupled interface 20 USE icealb ! s ae-ice: albedo20 USE icealb ! sea-ice: albedo 21 21 ! 22 22 USE in_out_manager ! I/O manager -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90
r8882 r8884 207 207 ! output all fluxes 208 208 !------------------ 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 249 243 WHERE( hm_i(:,:) < 0.2 .AND. hm_i(:,:) > 0. ) ; z2d = wfx_bog 250 244 ELSEWHERE ; z2d = 0._wp 251 245 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 278 296 ! 279 297 ! controls -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/LIM_SRC_3/icewri.F90
r8882 r8884 47 47 INTEGER, INTENT(in) :: kt ! time-step 48 48 ! 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 55 54 ! 56 55 ! Global ice diagnostics (SIMIP) 57 REAL(wp) :: zdiag_area_nh, zdiag_extt_nh, zdiag_volu_nh ! area, extent, volume58 REAL(wp) :: zdiag_area_sh, zdiag_extt_sh, zdiag_volu_sh56 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 59 58 !!------------------------------------------------------------------- 60 59 … … 70 69 DO jj = 1, jpj 71 70 DO ji = 1, jpi 72 z swi(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi06 ) ) ! 1 if ice, 0 if no ice73 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 depth74 zmsk15(ji,jj) = MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - 0.15) ) ! 1 if 15% ice, 0 if less71 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 75 74 END DO 76 75 END DO … … 78 77 DO jj = 1, jpj 79 78 DO ji = 1, jpi 80 z swi2(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 ) ) 81 80 END DO 82 81 END DO 83 82 END DO 84 83 85 zmiss_val = 1.e20_wp 86 zmiss (:,:) = zmiss_val * ( 1._wp - zswi (:,:) ) 87 zmiss2(:,:,:) = zmiss_val * ( 1._wp - zswi2(:,:,:) ) 88 89 !---------------------------------------- 84 !----------------- 90 85 ! 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 97 134 DO jj = 2 , jpjm1 98 135 DO ji = 2 , jpim1 … … 103 140 END DO 104 141 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 107 143 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 !------------------ 144 160 ! 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 ! 169 196 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. 214 202 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-12219 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. 220 208 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 ) 245 214 ! 246 215 ENDIF … … 267 236 !! History : 4.0 ! 2013-06 (C. Rousset) 268 237 !!---------------------------------------------------------------------- 269 INTEGER, INTENT( in ) 270 INTEGER, INTENT( in ) 271 INTEGER 272 REAL(wp), DIMENSION(jpl) :: jcat238 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 273 242 !!---------------------------------------------------------------------- 274 243 ! … … 332 301 CALL histdef( kid, "sisalcat", "Ice salinity" , "" , & 333 302 & 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 )336 303 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" , &339 304 & jpi, jpj, kh_i, jpl, 1, jpl, nz_i, 32, "inst(x)", rdt, rdt ) 340 305 … … 370 335 CALL histwrite( kid, "siconcat", kt, a_i , jpi*jpj*jpl, (/1/) ) 371 336 CALL histwrite( kid, "sisalcat", kt, s_i , jpi*jpj*jpl, (/1/) ) 372 CALL histwrite( kid, "sitemcat", kt, tm_i - rt0 , jpi*jpj*jpl, (/1/) )373 337 CALL histwrite( kid, "snthicat", kt, h_s , jpi*jpj*jpl, (/1/) ) 374 CALL histwrite( kid, "sntemcat", kt, tm_su - rt0 , jpi*jpj*jpl, (/1/) )375 338 376 339 !! The file is closed in dia_wri_state (ocean routine) -
branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk.F90
r8882 r8884 556 556 tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac ! output total precipitation [kg/m2/s] 557 557 sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac ! output solid precipitation [kg/m2/s] 558 CALL iom_put( 'snowpre', sprecip * 86400. )! Snow559 CALL iom_put( 'precip' , tprecip * 86400. )! Total precipitation558 CALL iom_put( 'snowpre', sprecip ) ! Snow 559 CALL iom_put( 'precip' , tprecip ) ! Total precipitation 560 560 ENDIF 561 561 ! … … 913 913 tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac ! total precipitation [kg/m2/s] 914 914 sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac ! solid precipitation [kg/m2/s] 915 CALL iom_put( 'snowpre', sprecip * 86400. )! Snow precipitation916 CALL iom_put( 'precip' , tprecip * 86400. )! Total precipitation915 CALL iom_put( 'snowpre', sprecip ) ! Snow precipitation 916 CALL iom_put( 'precip' , tprecip ) ! Total precipitation 917 917 918 918 ! --- evaporation --- !
Note: See TracChangeset
for help on using the changeset viewer.