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

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

Changeset 8265 for branches


Ignore:
Timestamp:
2017-06-30T16:43:13+02:00 (7 years ago)
Author:
vancop
Message:

time averaging second session

Location:
branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/CONFIG/SHARED/field_def.xml

    r8238 r8265  
    2727 
    2828         <!-- SIMIP LIM fields --> 
    29          <field id="icethic"      long_name="Sea-ice thickness"                                    standard_name="sea_ice_thickness"                          unit="m"            /> 
    30          <field id="icevel"       long_name="Sea-ice speed"                                        standard_name="sea_ice_speed"                              unit="m/s"          /> 
    31  
     29         <field id="icethic"      long_name="Sea-ice thickness"                                    standard_name="sea_ice_thickness"                          unit="m"   /> 
     30         <field id="uice_mv"      long_name="X-component of sea ice velocity"                      standard_name="sea_ice_x_velocity"                         unit="m/s" />  
     31         <field id="vice_mv"      long_name="Y-component of sea ice velocity"                      standard_name="sea_ice_y_velocity"                         unit="m/s" />       
     32         <field id="icevel_mv"    long_name="Sea-ice speed"                                        standard_name="sea_ice_speed"                              unit="m/s" /> 
    3233         <field id="icepres"      long_name="Fraction of time steps with sea ice"                  standard_name="sea_ice_time_fraction"                      unit=""             /> 
    3334         <field id="iceconc"      long_name="Sea-ice area fraction"                                standard_name="sea_ice_area_fraction"                      unit=""             /> 
    3435         <field id="iceconc_pct"  long_name="Sea-ice area fraction in percent"                     standard_name="sea_ice_area_fraction_in_percent"           unit="%"             > iceconc * 100. </field > 
    3536         <field id="icemass"      long_name="Sea-ice mass per area"                                standard_name="sea_ice_amount"                             unit="kg/m2"        /> 
    36          <field id="icevolu"      long_name="Sea-ice volume per area"                              standard_name="sea_ice_volume"                             unit="m"            /> 
     37         <field id="icevolu"      long_name="Sea-ice volume per area"                              standard_name="sea_ice_thickness"                          unit="m"            /> 
    3738         <field id="snomass"      long_name="Snow mass per area"                                   standard_name="liquid_water_content_of_surface_snow"       unit="kg/m2"        /> 
    38          <field id="snowthic"     long_name="Snow thickness"                                       standard_name="surface_snow_thickness"                     unit="m"            /> 
    39  
    40          <field id="iceconc_cat"  long_name="Sea-ice area fractions in thickness categories"      standard_name="sea_ice_area_fraction_over_categories"      unit=""   grid_ref="grid_T_3D_ncatice" /> 
    41          <field id="icethic_cat"  long_name="Sea-ice thickness in thickness categories"            standard_name="sea_ice_thickness_over_categories"          unit="m"  grid_ref="grid_T_3D_ncatice" /> 
    42          <field id="snowthic_cat" long_name="Snow thickness in thickness categories"               standard_name="snow_thickness_over_categories"             unit="m"  grid_ref="grid_T_3D_ncatice" /> 
    43  
    44          <field id="icestK"       long_name="ice surface temperature"                              standard_name="sea_ice_surface_temperature        "        unit="C"     > icest + 273.15  </field > 
    45          <field id="icesntK"      long_name="Temperature at snow-ice interface"                    standard_name="sea_ice_snow_interface_temperature"         unit="degC"  > icesnt + 273.15 </field > 
    46          <field id="icebotK"      long_name="Temperature at ice-ocean interface"                   standard_name="sea_ice_bottom_temperature"                 unit="degC"  > icebot + 273.15 </field > 
    47          <field id="icebotK"      long_name="Temperature at ice-ocean interface"                   standard_name="sea_ice_bottom_temperature"                 unit="degC"  > icebot + 273.15 </field > 
    48  
    49          <field id="miceage"      long_name="Age of sea ice"                                       standard_name="age_of_sea_ice"                             unit="s"            /> 
    50          <field id="alb_ice"      long_name="Sea-ice or snow albedo"                               standard_name="sea_ice_albedo"                             unit=""             /> 
     39         <field id="snothic"      long_name="Snow thickness"                                       standard_name="surface_snow_thickness"                     unit="m"            /> 
     40 
     41         <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" /> 
     42         <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 > 
     43         <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" /> 
     44         <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" /> 
     45 
     46         <field id="icestK"       long_name="Surface temperature of sea ice"                       standard_name="sea_ice_surface_temperature"                unit="K"            />  
     47         <field id="icesntK"      long_name="Temperature at snow-ice interface"                    standard_name="sea_ice_snow_interface_temperature"         unit="K"            /> 
     48         <field id="icebotK"      long_name="Temperature at ice-ocean interface"                   standard_name="sea_ice_bottom_temperature"                 unit="K"            /> 
     49 
     50         <field id="iceage"       long_name="Age of sea ice"                                       standard_name="age_of_sea_ice"                             unit="s"            /> 
     51         <field id="icealb"       long_name="Sea-ice or snow albedo"                               standard_name="sea_ice_albedo"                             unit=""             /> 
    5152         <field id="icesmass"     long_name="Mass of salt in sea ice per area"                     standard_name="sea_ice_salt_mass"                          unit="kg/m2"        /> 
    52  
    53          <field id="micesalt"     long_name="Sea ice salinity"                                     standard_name="sea_ice_salinity"                           unit="g/kg"         /> 
     53         <field id="icesal"       long_name="Sea ice salinity"                                     standard_name="sea_ice_salinity"                           unit="g/kg"         /> 
    5454         <field id="icefb"        long_name="Sea-ice freeboard"                                    standard_name="sea_ice_freeboard"                          unit="m"            /> 
    5555 
    5656         <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" > (-1.0)*icehc </field> 
    57          <field id="isnhcneg"     long_name="Snow-heat content per unit area"     standard_name="thermal_energy_content_of_surface_snow"                              unit="J/m2" > (-1.0)*isnowhc      </field> 
     57         <field id="isnhcneg"     long_name="Snow-heat content per unit area"     standard_name="thermal_energy_content_of_surface_snow"                              unit="J/m2" > </field> 
    5858 
    5959         <field id="wfxsum"       long_name="Freshwater flux from sea-ice surface"               standard_name="freshwater_flux_from_ice_surface"                   unit="kg/m2/s"      /> 
     
    7878         <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" /> 
    7979 
    80          <field id="hfxturneg"    long_name="Net sensible heat flux under sea ice"               standard_name="ice_ocean_heat_flux"                          unit="W/m2" > (-1.0)*hfxtur </field> 
     80         <field id="hfxsenso"     long_name="Net sensible heat flux under sea ice"               standard_name="ice_ocean_heat_flux"                          unit="W/m2" /> 
    8181         <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" />  
    8282         <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" /> 
    8383 
    84          <field id="msfx"         long_name="Salt flux from sea ice"                             standard_name="salt_flux_from_ice"                           unit="kg/m2/s" > sfx/86400000. </field> 
     84         <field id="sfx_mv"       long_name="Salt flux from sea ice"                             standard_name="salt_flux_from_ice"                           unit="kg/m2/s" /> 
    8585         <field id="wfxtot"       long_name="Freshwater flux from sea ice"                       standard_name="freshwater_flux_from_ice"                     unit="kg/m2/s" />  
    8686 
     
    130130         <field id="uice_ipa"     long_name="X-component of sea ice velocity"                              standard_name="sea_ice_x_velocity"                                 unit="m/s"          />  
    131131         <field id="vice_ipa"     long_name="Y-component of sea ice velocity"                              standard_name="sea_ice_y_velocity"                                 unit="m/s"          />       
     132         <field id="icevel"       long_name="Sea-ice speed"                                                standard_name="sea_ice_speed"                                      unit="m/s"          /> 
    132133          <field id="isst"         long_name="sea surface temperature"                                      standard_name="sea_surface_temperature"                            unit="degC"         /> 
    133134         <field id="isss"         long_name="sea surface salinity"                                         standard_name="sea_surface_salinity"                               unit="1e-3"         />  
     
    142143         <field id="albedo"       long_name="Mean albedo over sea ice and ocean"                                                                                              unit=""             /> 
    143144 
     145         <field id="iceconc_cat"  long_name="Sea-ice area fractions in thickness categories"               unit=""   grid_ref="grid_T_3D_ncatice" /> 
     146         <field id="icethic_cat"  long_name="Sea-ice thickness in thickness categories"                    unit="m"  grid_ref="grid_T_3D_ncatice" /> 
     147         <field id="snowthic_cat" long_name="Snow thickness in thickness categories"                       unit="m"  grid_ref="grid_T_3D_ncatice" /> 
    144148         <field id="iceage_cat"   long_name="Ice age for categories"                                       unit="days"   grid_ref="grid_T_3D_ncatice" /> 
    145149         <field id="salinity_cat" long_name="Sea-Ice Bulk salinity for categories"                         unit="g/kg"   grid_ref="grid_T_3D_ncatice" /> 
     
    149153 
    150154         <field id="micet"        long_name="Mean ice temperature"                                         unit="degC"     /> 
     155         <field id="miceage"      long_name="Age of sea ice"                                               unit="s"        /> 
     156         <field id="micesalt"     long_name="Sea ice salinity"                                             unit="g/kg"     /> 
    151157         <field id="icehc"        long_name="ice total heat content"                                       unit="J/m2"     />  
    152158         <field id="isnowhc"      long_name="snow total heat content"                                      unit="J/m2"     /> 
    153159         <field id="icest"        long_name="ice surface temperature"                                      unit="degC"     /> 
    154          <field id="icesnt"       long_name="Temperature at snow-ice interface"                            unit="degC"     /> 
    155          <field id="icebot"       long_name="Temperature at ice-ocean interface"                           unit="degC"     /> 
    156160         <field id="ibrinv"       long_name="brine volume"                                                 unit="%"        /> 
    157161         <field id="icecolf"      long_name="frazil ice collection thickness"                              unit="m"        /> 
     
    300304      </field_group> 
    301305 
    302       <!-- SIMIP daily fields --> 
    303       <field_group id="SIday_fields"> 
    304           <field field_ref="iceconc_pct"      name="siconc"       /> 
    305           <field field_ref="snowthic"         name="sisnthick"    /> 
    306           <field field_ref="icevel"           name="sispeed" /> 
    307           <field field_ref="icestK"           name="sitemptop"    /> 
    308           <field field_ref="icethic"          name="sithick"      /> 
    309           <field field_ref="icepres"          name="sitimefrac"   /> 
    310           <field field_ref="uice_ipa"         name="siu"              /> 
    311           <field field_ref="vice_ipa"         name="siv"              /> 
     306      <!-- SIMIP daily fields --> <field_group id="SIday_fields">  
     307          <field field_ref="icepres"          name="sitimefrac"   />  
     308          <field field_ref="iceconc_pct"      name="siconc"       />  
     309          <field field_ref="icethic"          name="sithick"      default_value="-1.0e20" detect_missing_value="true" operation="average" />  
     310          <field field_ref="snothic"          name="sisnthick"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     311          <field field_ref="icestK"           name="sitemptop"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     312          <field field_ref="uice_mv"          name="siu"          default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     313          <field field_ref="vice_mv"          name="siv"          default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     314          <field field_ref="icevel_mv"        name="sispeed"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    312315      </field_group> 
    313316 
     
    318321          <field field_ref="iceconc_pct"      name="siconc"       /> 
    319322          <field field_ref="icemass"          name="simass"       /> 
     323          <field field_ref="icethic"          name="sithick"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    320324          <field field_ref="icevolu"          name="sivol"        /> 
    321           <field field_ref="snomass"          name="sisnmass"     /> 
    322           <field field_ref="snowthic"         name="sisnthick"    /> 
    323           <field field_ref="icethic"          name="sithick"      /> 
    324           <field field_ref="icevel"           name="sispeed" /> 
    325  
     325          <field field_ref="snomass"          name="sisnmass"     default_value="-1.0e20" detect_missing_value="true" operation="average" />  
     326          <field field_ref="snothic"          name="sisnthick"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     327    
    326328          <!-- category-dependent fields --> 
    327           <field field_ref="iceconc_cat"      name="siitdconc"    /> 
    328           <field field_ref="icethic_cat"      name="siitdthick"  /> 
    329           <field field_ref="snowthic_cat"     name="siitdsnthick" /> 
     329          <field field_ref="iceconc_cat_pct_mv"  name="siitdconc"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     330          <field field_ref="icethic_cat_mv"      name="siitdthick"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     331          <field field_ref="snowthic_cat_mv"     name="siitdsnthick" default_value="-1.0e20" detect_missing_value="true" operation="average"/> 
    330332 
    331333          <!-- additional state variables--> 
    332           <field field_ref="icestK"           name="sitemptop"    /> 
    333           <field field_ref="icesntK"          name="sitempsnic"   /> 
    334           <field field_ref="icebotK"          name="sitempbot"    /> 
    335           <field field_ref="miceage"          name="siage"        /> 
    336           <field field_ref="alb_ice"          name="sialb"        /> 
     334          <field field_ref="icestK"           name="sitemptop"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     335          <field field_ref="icesntK"          name="sitempsnic"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     336          <field field_ref="icebotK"          name="sitempbot"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     337          <field field_ref="iceage"           name="siage"        default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    337338          <field field_ref="icesmass"         name="sisaltmass"   /> 
    338           <field field_ref="micesalt"         name="sisali"      /> 
    339           <field field_ref="icefb"            name="sifb"         /> 
     339          <field field_ref="icesal"           name="sisali"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     340          <field field_ref="icefb"            name="sifb"         default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    340341          <field field_ref="icehcneg"         name="sihc"         /> 
    341           <field field_ref="isnhcneg"         name="sisnhc"       /> 
     342          <field field_ref="isnhcneg"         name="sisnhc"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    342343 
    343344          <!-- freshwater fluxes --> 
    344345          <field field_ref="wfxtot"           name="siflfwbot"    /> 
    345           <field field_ref="wfxsum"           name="siflfwdrain"  /> 
     346          <field field_ref="wfxsum"           name="siflfwdrain"  default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    346347 
    347348          <!-- area balance --> 
     
    365366 
    366367          <!-- heat balance --> 
    367           <field field_ref="hfxturneg"        name="siflsensupbot"    /> 
    368           <field field_ref="hfxconsu"         name="siflcondtop"      /> 
    369           <field field_ref="hfxconbo"         name="siflcondbot"      /> 
     368          <field field_ref="hfxsenso"         name="siflsensupbot"    default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     369          <field field_ref="hfxconsu"         name="siflcondtop"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     370          <field field_ref="hfxconbo"         name="siflcondbot"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    370371 
    371372          <!-- salt balance --> 
    372           <field field_ref="msfx"             name="siflsaltbot"      /> 
     373          <field field_ref="sfx_mv"           name="siflsaltbot"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    373374 
    374375          <!-- sea-ice dynamics --> 
    375           <field field_ref="uice_ipa"         name="siu"              /> 
    376           <field field_ref="vice_ipa"         name="siv"              /> 
    377  
    378           <field field_ref="utau_ice"         name="sistrxdtop"       /> 
    379           <field field_ref="vtau_ice"         name="sistrydtop"       /> 
    380  
    381           <field field_ref="utau_oi"          name="sistrxubot"       /> 
    382           <field field_ref="vtau_oi"          name="sistryubot"       /> 
    383  
    384           <field field_ref="icestr"           name="sicompstren"      /> 
    385  
    386           <field field_ref="dssh_dx"          name="siforcetiltx"     /> 
    387           <field field_ref="dssh_dy"          name="siforcetilty"     /> 
    388  
    389           <field field_ref="corstrx"          name="siforcecoriolx"   /> 
    390           <field field_ref="corstry"          name="siforcecorioly"   /> 
    391  
    392           <field field_ref="intstrx"          name="siforceintstrx"   /> 
    393           <field field_ref="intstry"          name="siforceintstry"   /> 
     376          <field field_ref="uice_mv"          name="siu"              default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     377          <field field_ref="vice_mv"          name="siv"              default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     378          <field field_ref="icevel_mv"        name="sispeed"          default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     379 
     380          <field field_ref="utau_ice"         name="sistrxdtop"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     381          <field field_ref="vtau_ice"         name="sistrydtop"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     382 
     383          <field field_ref="utau_oi"          name="sistrxubot"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     384          <field field_ref="vtau_oi"          name="sistryubot"       default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     385 
     386          <field field_ref="icestr"           name="sicompstren"      default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     387 
     388          <field field_ref="dssh_dx"          name="siforcetiltx"     default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     389          <field field_ref="dssh_dy"          name="siforcetilty"     default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     390 
     391          <field field_ref="corstrx"          name="siforcecoriolx"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     392          <field field_ref="corstry"          name="siforcecorioly"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     393 
     394          <field field_ref="intstrx"          name="siforceintstrx"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
     395          <field field_ref="intstry"          name="siforceintstry"   default_value="-1.0e20" detect_missing_value="true" operation="average" /> 
    394396 
    395397          <field field_ref="xmtrptot"         name="sidmasstranx"     /> 
  • branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90

    r8183 r8265  
    117117      ELSEWHERE                                    ;  zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) / SUM( a_i_b, dim=3 ) 
    118118      END WHERE 
    119       IF( iom_use('alb_ice' ) )  CALL iom_put( "alb_ice"  , zalb(:,:) )           ! ice albedo output 
     119      IF( iom_use('icealb'  ) )  CALL iom_put( "icealb"   , zalb(:,:) )          ! ice albedo output 
    120120 
    121121      zalb(:,:) = SUM( alb_ice * a_i_b, dim=3 ) + 0.066_wp * ( 1._wp - SUM( a_i_b, dim=3 ) )       
  • branches/2016/v3_6_CMIP6_ice_diagnostics/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r8258 r8265  
    5555      INTEGER  ::  ii, ji, jj, jk, jl  ! dummy loop indices 
    5656      REAL(wp) ::  z2da, z2db, ztmp, zrho1, zrho2, zmiss_val 
    57       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zswi2 
    58       REAL(wp), POINTER, DIMENSION(:,:)   ::  z2d, zswi    ! 2D workspace 
    59       REAL(wp), POINTER, DIMENSION(:,:)   ::  zfb          ! ice freeboard 
     57      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zswi2, zmiss2 
     58      REAL(wp), POINTER, DIMENSION(:,:)   ::  z2d, zswi, zmiss ! 2D workspace 
     59      REAL(wp), POINTER, DIMENSION(:,:)   ::  zfb              ! ice freeboard 
    6060      REAL(wp), POINTER, DIMENSION(:,:)   ::  zamask, zamask15 ! 15% concentration mask 
    61       REAL(wp), POINTER, DIMENSION(:,:)   ::  zmiss        ! missing value array 
    6261 
    6362      ! Global ice diagnostics (SIMIP) 
     
    7372      IF( nn_timing == 1 )  CALL timing_start('limwri') 
    7473 
    75       CALL wrk_alloc( jpi, jpj, jpl, zswi2 ) 
    76       CALL wrk_alloc( jpi, jpj     , z2d, zswi ) 
     74      CALL wrk_alloc( jpi, jpj, jpl, zswi2, zmiss2 ) 
     75      CALL wrk_alloc( jpi, jpj     , z2d, zswi, zmiss ) 
    7776      CALL wrk_alloc( jpi, jpj     , zfb, zamask, zamask15 ) 
    78       CALL wrk_alloc( jpi, jpj     , zmiss                 ) 
    79  
    80       !----------------------------- 
    81       ! Missing value array  
    82       !----------------------------- 
    83       zmiss_val  = -1.0e20 
    84       zmiss(:,:) = zmiss_val * ( 1. - zswi(:,:) ) 
    85  
    86       !----------------------------- 
    87       ! Mean category values 
    88       !----------------------------- 
     77 
     78      !---------------------------------------- 
     79      ! Brine volume, switches, missing values 
     80      !---------------------------------------- 
    8981 
    9082      ! brine volume 
     
    110102         END DO 
    111103      END DO 
    112       ! 
     104 
     105      zmiss_val     = -1.0e20 
     106      zmiss(:,:)    = zmiss_val * ( 1. - zswi(:,:) ) 
     107      zmiss2(:,:,:) = zmiss_val * ( 1. - zswi2(:,:,:) ) 
     108 
     109      !---------------------------------------- 
     110      ! Standard outputs 
     111      !---------------------------------------- 
    113112      ! fluxes  
    114113      ! pfrld is the lead fraction at the previous time step (actually between TRP and THD) 
     
    130129      IF ( iom_use('vice_ipa') ) CALL iom_put( "vice_ipa"     , v_ice      )       ! ice velocity v component 
    131130 
    132       IF ( ( iom_use( "icevel" ) .OR. ( iom_use( "icevel_mv" ) ) ) THEN  
     131      IF ( ( iom_use( "icevel" ) ) .OR. ( iom_use( "icevel_mv" ) ) ) THEN  
    133132         DO jj = 2 , jpjm1 
    134133            DO ji = 2 , jpim1 
     
    139138         END DO 
    140139         CALL lbc_lnk( z2d, 'T', 1. ) 
    141          IF ( iom_use( "icevel" )    CALL iom_put( "icevel"       , z2d        )                                            ! ice velocity module 
    142          IF ( iom_use( "icevel_mv" ) CALL iom_put( "icevel_mv"    , z2d(:,:) * zswi(:,:) + zmiss(:,:)                       ! ice velocity module (missing value) 
     140         IF ( iom_use( "icevel" )  )   CALL iom_put( "icevel"       , z2d        )                                            ! ice velocity module 
     141         IF ( iom_use( "icevel_mv" ) ) CALL iom_put( "icevel_mv"    , z2d(:,:) * zswi(:,:) + zmiss(:,:) )                     ! ice velocity module (missing value) 
    143142      ENDIF 
    144       ! 
     143 
     144      ! other variables 
    145145      IF ( iom_use( "miceage" ) )       CALL iom_put( "miceage"     , om_i * zswi * zamask15 )  ! mean ice age 
    146146      IF ( iom_use( "micet" ) )         CALL iom_put( "micet"       , ( tm_i  - rt0 ) * zswi )  ! ice mean    temperature 
     
    155155      CALL iom_put( "isnowhc"     , et_s  * zswi        )        ! snow total heat content 
    156156      CALL iom_put( "ibrinv"      , bvm_i * zswi * 100. )        ! brine volume 
    157       CALL iom_put( "utau_ice"    , utau_ice*zswi       )        ! wind stress over ice along i-axis at I-point 
    158       CALL iom_put( "vtau_ice"    , vtau_ice*zswi       )        ! wind stress over ice along j-axis at I-point 
    159157      CALL iom_put( "snowpre"     , sprecip * 86400.    )        ! snow precipitation  
    160158      CALL iom_put( "micesalt"    , smt_i   * zswi      )        ! mean ice salinity 
    161159 
    162       CALL iom_put( "icestr"      , strength * zswi )            ! ice strength 
    163160      CALL iom_put( "idive"       , divu_i              )        ! divergence 
    164161      CALL iom_put( "ishear"      , shear_i             )        ! shear 
     
    253250      IF  ( iom_use( "icethic"  ) ) CALL iom_put( "icethic"     , htm_i(:,:) * zamask(:,:)  * zswi(:,:) + zmiss(:,:) )    ! Ice thickness  
    254251      IF  ( iom_use( "snomass"  ) ) CALL iom_put( "snomass"     , rhosn * vt_s(:,:)         * zswi(:,:) + zmiss(:,:) )    ! Snow mass per cell area 
    255       IF  ( iom_use( "snowthic" ) ) CALL iom_put( "snowthic"    , htm_s(:,:) * zamask(:,:)  * zswi(:,:) + zmiss(:,:) )    ! Snow thickness        
    256       IF  ( iom_use( "icesnt"   ) ) CALL iom_put( "icesnt"      , ( tm_si(:,:) - rt0 )      * zswi(:,:) + zmiss(:,:) )    ! Snow-ice interface temperature 
    257       IF  ( iom_use( "icebot"   ) ) CALL iom_put( "icebot"      , ( t_bo(:,:)  - rt0 )      * zswi(:,:) + zmiss(:,:) )    ! Ice bottom temperature 
    258       IF  ( iom_use( "iceage_mv") ) CALL iom_put( "iceage_mv"   , om_i(:,:) * zamask15(:,:) * zswi(:,:) + zmiss(:,:) )    ! Ice age 
     252      IF  ( iom_use( "snothic"  ) ) CALL iom_put( "snothic"     , htm_s(:,:) * zamask(:,:)  * zswi(:,:) + zmiss(:,:) )    ! Snow thickness        
     253 
     254      IF  ( iom_use( "iceconc_cat_mv"  ) )  CALL iom_put( "iceconc_cat_mv" , a_i(:,:,:)  * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Area for categories 
     255      IF  ( iom_use( "icethic_cat_mv"  ) )  CALL iom_put( "icethic_cat_mv" , ht_i(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Thickness for categories 
     256      IF  ( iom_use( "snowthic_cat_mv" ) )  CALL iom_put( "snowthic_cat_mv", ht_s(:,:,:) * zswi2(:,:,:) + zmiss2(:,:,:) ) ! Snow depth for categories 
     257 
     258      IF  ( iom_use( "icestK"   ) ) CALL iom_put( "icestK"      , tm_su(:,:)                * zswi(:,:) + zmiss(:,:) )    ! Ice surface temperature 
     259      IF  ( iom_use( "icesntK"  ) ) CALL iom_put( "icesntK"     , tm_si(:,:)                * zswi(:,:) + zmiss(:,:) )    ! Snow-ice interface temperature 
     260      IF  ( iom_use( "icebotK"  ) ) CALL iom_put( "icebotK"     , t_bo(:,:)                 * zswi(:,:) + zmiss(:,:) )    ! Ice bottom temperature 
     261      IF  ( iom_use( "iceage"   ) ) CALL iom_put( "iceage"      , om_i(:,:) * zamask15(:,:) * zswi(:,:) + zmiss(:,:) )    ! Ice age 
    259262      IF  ( iom_use( "icesmass" ) ) CALL iom_put( "icesmass"    , SUM( smv_i, DIM = 3 ) * rhoic * 1.0e-3 * zswi(:,:) )    ! Mass of salt in sea ice per cell area 
    260       IF  ( iom_use( "icesal_mv") ) CALL iom_put( "icesal_mv"   , smt_i(:,:)                * zswi(:,:) + zmiss(:,:) )    ! Ice salinity 
     263      IF  ( iom_use( "icesal"   ) ) CALL iom_put( "icesal"      , smt_i(:,:)                * zswi(:,:) + zmiss(:,:) )    ! Ice salinity 
    261264 
    262265      IF  ( iom_use( "icefb"    ) ) THEN 
     
    266269      ENDIF 
    267270 
    268       IF  ( iom_use( "snhc_mv"  ) ) CALL iom_put( "snhc_mv"     , et_s(:,:)                 * zswi(:,:) + zmiss(:,:) )    ! Snow total heat content 
     271      IF  ( iom_use( "isnhcneg" ) ) CALL iom_put( "isnhcneg"    , - et_s(:,:)               * zswi(:,:) + zmiss(:,:) )    ! Snow total heat content 
    269272 
    270273      IF  ( iom_use( "dmithd"   ) ) CALL iom_put( "dmithd"      , - wfx_bog - wfx_bom - wfx_sum   &                       ! Sea-ice mass change from thermodynamics 
     
    287290      IF  ( iom_use( "dmsdyn"   ) ) CALL iom_put( "dmsdyn"      ,   diag_dms_dyn             )                            ! Snow mass change through dynamics 
    288291 
    289       IF  ( iom_use( "hfxconsu" ) ) CALL iom_put( "hfxsenso"    ,   -fhtur(:,:)              * zswi(:,:) + zmiss(:,:) )   ! Sensible oceanic heat flux 
     292      IF  ( iom_use( "hfxsenso" ) ) CALL iom_put( "hfxsenso"    ,   -fhtur(:,:)              * zswi(:,:) + zmiss(:,:) )   ! Sensible oceanic heat flux 
    290293      IF  ( iom_use( "hfxconbo" ) ) CALL iom_put( "hfxconbo"    ,   diag_fc_bo               * zswi(:,:) + zmiss(:,:) )   ! Bottom conduction flux 
    291294      IF  ( iom_use( "hfxconsu" ) ) CALL iom_put( "hfxconsu"    ,   diag_fc_su               * zswi(:,:) + zmiss(:,:) )   ! Surface conduction flux 
     
    293296      IF  ( iom_use( "wfxtot"   ) ) CALL iom_put( "wfxtot"      ,   wfx_ice(:,:)             * zswi(:,:) + zmiss(:,:) )   ! Total freshwater flux from sea ice 
    294297      IF  ( iom_use( "wfxsum"   ) ) CALL iom_put( "wfxsum"      ,   wfx_sum(:,:)             * zswi(:,:) + zmiss(:,:) )   ! Freshwater flux from sea-ice surface 
    295       IF  ( iom_use( "sfx_mv"   ) ) CALL iom_put( "sfx_mv"      ,   sfx(:,:)                 * zswi(:,:) + zmiss(:,:) )   ! Total salt flux 
     298      IF  ( iom_use( "sfx_mv"   ) ) CALL iom_put( "sfx_mv"      ,   sfx(:,:) * 0.001         * zswi(:,:) + zmiss(:,:) )   ! Total salt flux 
    296299 
    297300      IF  ( iom_use( "uice_mv"  ) ) CALL iom_put( "uice_mv"     ,   u_ice(:,:)               * zswi(:,:) + zmiss(:,:) )   ! ice velocity u component 
     
    307310      IF  ( iom_use( "yatrp"    ) ) CALL iom_put( "yatrp"        ,  diag_yatrp(:,:)              )                        ! Y-component of ice area transport 
    308311 
    309       IF  ( iom_use("utau_ai_mv") ) CALL iom_put( "utau_ai_mv"   ,  utau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (x) 
    310       IF  ( iom_use("vtau_ai_mv") ) CALL iom_put( "vtau_ai_mv"   ,  vtau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (y) 
     312      IF  ( iom_use( "utau_ice" ) ) CALL iom_put( "utau_ice"     ,  utau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (x) 
     313      IF  ( iom_use( "vtau_ice" ) ) CALL iom_put( "vtau_ice"     ,  vtau_ice(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Wind stress term in force balance (y) 
    311314 
    312315      IF  ( iom_use( "utau_oi"  ) ) CALL iom_put( "utau_oi"     ,   diag_utau_oi(:,:)        * zswi(:,:) + zmiss(:,:) )   ! Ocean stress term in force balance (x) 
    313316      IF  ( iom_use( "vtau_oi"  ) ) CALL iom_put( "vtau_oi"     ,   diag_vtau_oi(:,:)        * zswi(:,:) + zmiss(:,:) )   ! Ocean stress term in force balance (y) 
    314317 
    315       IF  ( iom_use( "icestr_mv") ) CALL iom_put( "icestr_mv"   ,   strength(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Ice strength 
     318      IF  ( iom_use( "icestr"   ) ) CALL iom_put( "icestr"      ,   strength(:,:)            * zswi(:,:) + zmiss(:,:) )   ! Ice strength 
    316319 
    317320      IF  ( iom_use( "dssh_dx"  ) ) CALL iom_put( "dssh_dx"     ,   diag_dssh_dx(:,:)        * zswi(:,:) + zmiss(:,:) )   ! Sea-surface tilt term in force balance (x) 
     
    377380      !     not yet implemented 
    378381       
    379       CALL wrk_dealloc( jpi, jpj, jpl, zswi2 ) 
    380       CALL wrk_dealloc( jpi, jpj     , z2d, zswi ) 
     382      CALL wrk_dealloc( jpi, jpj, jpl, zswi2, zmiss2 ) 
     383      CALL wrk_dealloc( jpi, jpj     , z2d, zswi, zmiss ) 
    381384      CALL wrk_dealloc( jpi, jpj     , zfb, zamask, zamask15 ) 
    382       CALL wrk_dealloc( jpi, jpj     , zmiss                 ) 
    383385 
    384386      IF( nn_timing == 1 )  CALL timing_stop('limwri') 
Note: See TracChangeset for help on using the changeset viewer.